目前,Nor flash有两种标准JEDEC和CFI。
JEDEC:全称是Joint Electron Device Engineering Council 即电子元件工业联合会。JEDEC是由生产厂商们制定的国际性协议,主要为内存制定。JEDEC用来帮助程序读取Flash的制造商ID和设备ID,以确定Flash的大小和算法,如果芯片不支持CFI,就需使用JEDEC了。工业标准的内存通常指的是符合JEDEC标准的一组内存。
比如
W25Q128BV |
查看数据手册有
7.2.1 Manufacturer and Device Identification
MANUFACTURER ID | (MF7-MF0) | |
Winbond Serial Flash | EFh | |
Device ID | (ID7-ID0) | (ID15-ID0) |
Instruction | ABh, 90h, 92h, 94h | 9Fh |
W25Q128BV | 17h | 4018h |
JEDEC ID | 9Fh | (MF7-MF0) Manufacturer | (ID15-ID8) Memory Type | (ID7-ID0) Capacity |
CFI:即公共闪存接口(Common Flash Interface)。CFI是一个公开的标准的从Flash Memory器件中读取数据的接口。它可以使系统软件查询已安装的Flash Memory器件的各种参数,包括器件阵列结构参数、电气和时间参数以及器件支持的功能等。CFI标准的应用解决了各个FLASH厂商操作命令集和电气参数千差万别的难题,目前市面上的Nor flash大多支持CFI校准。
CFI标准规定先往FLASH数据总线写入55H,再写入98H,然后从地址10H处读取3个数据,如果这3个数据是'Q'、'R'、'Y',那么遵循CFI标准。在其它地址,保存了FLASH的其它信息,如生产厂商ID,设备ID,FLASH总线宽度,BLOCK总数据,BLOCK大小等所有FLASH有关的信息。