Common Flash Memory Interface

The Common Flash Memory Interface (CFI) is an open standard jointly developed by AMD, Intel, Sharp and Fujitsu. It is implementable by all flash memory vendors, and has been approved by the non-volatile-memory subcommittee of JEDEC.[1][2] The goal of the specification is the interchangeability of flash memory devices offered by different vendors. The developer is able to use one driver for different flash products by reading identifying information from the flash chip.

Each flash memory device contains the following information: memory size, byte and word configuration, block configuration, and voltage and timing data.

The specification provides several benefits. No or very little information about flash devices has to be stored in tables within system software. It is possible to use lower cost flash memory devices as they become available without rewriting system software. Adapting current software systems shall be done more easily and quickly than previously.

History

The specification originated as a July 1996 draft jointly authored by AMD, Intel, Fujitsu and Sharp, and was formalised as Release 1.1 on 30 May 1997.[3] The non-volatile-memory subcommittee of JEDEC later adopted the interface and published it as standard JESD68-01 in September 2003. A companion document, Publication 100, assigns the manufacturer and device identification codes that CFI uses to recognise individual vendors.[4]

Operation

A host reads CFI data by issuing a query command to the flash device, which returns the ASCII string QRY followed by a structured table.[5] The table is divided into several parts: an identification string, the system interface information, the device geometry definition, and primary and alternate vendor-specific extended query sections.[6] Two bytes within the identification string record the primary vendor command set, which tells the driver how to issue program and erase operations. Common values are 0001h and 0003h for the Intel command set and 0002h for the AMD and Spansion command set, so that a single driver can support an entire family of compatible chips.[5]

Support for CFI is implemented in many different operating systems, including FreeBSD[7] and the Linux Kernel through its Memory Technology Device (MTD) subsystem, which can automatically detect compatible flash chips using CFI identification data.[8] Bootloaders such as U-Boot provide an equivalent CFI driver for directly addressable parallel NOR flash.[9]

See also

References

  1. ^ "JEDEC Standard: Common Flash Interface" (PDF). JEDEC. September 2003. Archived from the original (PDF) on 6 March 2009.
  2. ^ "m30l0r7000t0 datasheet - Internet Archive". Internet Archive. 29 April 2006.
  3. ^ Advanced Micro Devices; Intel; Fujitsu; Sharp (30 May 1997). Common Flash Memory Interface Specification, Release 1.1 (PDF) (Technical report). Retrieved 2 June 2026.
  4. ^ "Common Flash Interface Publication 100: Vendor & Device ID Code Assignments" (PDF). 2001. Retrieved 2 June 2026.
  5. ^ a b AP-646: Common Flash Interface (CFI) and Command Sets (PDF) (Technical report). 1998. Retrieved 2 June 2026.
  6. ^ "Quick Guide to Common Flash Interface" (PDF). June 2008. Retrieved 2 June 2026.
  7. ^ "cfi(4)". FreeBSD Manual Pages.
  8. ^ "Memory Technology Device (MTD) — The Linux Kernel documentation". www.kernel.org. Retrieved 9 March 2026.
  9. ^ "drivers/mtd/cfi_flash.c". U-Boot Project. Retrieved 2 June 2026.

JEDEC - free documents require registration

Infineon/Cypress (formerly Spansion)

AMD

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.