Common Flash Memory Interface
The Common Flash memory Interface (CFI) is an open standard jointly developed by AMD, Intel, Sharp and Fujitsu. (AMD has since sold its flash memory products division to Spansion.) It is an open standard, which means it is freely implementable by all flash memory vendors, and has been approved by the non-volatile memory subcommittee of JEDEC. The idea behind was the interchangeability of current and future flash memory devices offered by different vendors. The developer is able to use one driver for different flash products by reading identifying information out of the flash chip itself.
That information contains:
- Memory size
- Byte and word configuration
- Block configuration
- Voltages and timings
Benefits of this concept are:
- Basically no or little information about flash device has to be stored in tables within system software
- Possible to use lower cost flash memory devices as they become available, without rewriting code
- Adapting current software systems shall be done more easily and quickly than before
Support for CFI is implemented in FreeBSD.
JEDEC - free documents require registration
- JEDEC - Common Flash Interface (CFI) Specification, JESD68.01, September 2003.
- JEDEC - CFI ID Codes, JEP137B, May 2004
- JEDEC - Standard Manufacturers ID Code, JEP106AC, August 2010
- Common Flash Interface Publication 100 (CFI Vendor & Device ID Code Assignments), 2001. (Original link)
- Spansion - App Note - CFI Spec, 2008. (Original link)
- Spansion - App Note - Using CFI to Read and Debug Systems, 2007. (Original link)
- Spansion - Quick Guide to Common Flash Interface, 2008.