通用闪存接口

科技工作者之家 2020-11-17

通用闪存接口是JEDEC(Joint Electron Device Engineering Council,电子器件工程联合委员会)制定的一个接口,用来帮助程序读取Flash的制造商ID和设备ID,确定Flash的大小,获得flash的各个物理特性,比如block块的擦除时间等等。

简介CFI的作用是把 NOR Flash 的信息通过统一的方法读出来。不同公司产的NOR Flash在 erase,program,lock,unlock等操作上有差别,即command set不一样。本来产品中用这种NOR Flash,后来升级又换了其他牌子的了,command set不一样,就要改代码。NOR Flash要是支持CFI就好办多了,就不用改代码。通过CFI可以读出片子的manufacturer id,vendorid等等,在程序中就可以通过以上信息来选择正确的erase,program等操作方式。NOR Flash的数据线和地址线都可能为32/16/8条。为了统一起见,通过CFI接口查询时,CFI接口描述的地址均为Flash芯片的地址,CFI接口查询到的数据,以低字节D7-D0上为准,高字节数据线无视就好了。1

CFI标准,其实也就是一系列的表格,包含了5个部分:
1.“CFI Query Identification String”,CFI查询识别码字符串。
2.“System Interface String”,系统接口字符串。
3. “Device Geometry Definition”,设备物理结构信息定义。
4. “Primary Vendor-Specific Extended Query”,原始设备提供商相关的扩展查询信息。
5.“Alternate Vendor-Specific Extended Query”,可选/备用提供商相关的扩展查询信息。

为什么需要CFI在应用CFI之前,Flash器件的有关信息都储存在系统软件的表格中。当有新的器件发布时,一般必须修改软件来添加该器件的描述信息。CFI出现后,工程师们正在利用CFI来构建代码,它不仅能够运行在Flash存储器上,而且随时准备着应用在下一代的低成本版本上。这使得原始设备制造商能够在低成本Flash存储器设备可用时使用它而不必重写代码。

由于生产Flash Memory的半导体制造商众多,不同厂商Flash Memory产品的操作命令集和电气参数又千差万别,这些人在设计硬件的时候,已经在阵脚的兼容性等方面,做了足够多的文章,做得很好了,但是与此对应的软件方面,由于硬件升级,软件都要改动很大,这给Flash Memory的开发设计人员和OEM制造商带来许多不便。
为了对现有的Flash Memory的产品进行升级或使用其它公司的Flash Memory产品替换,必须对原有的程序代码和硬件结构进行修改。

CFI的好处它可以使系统软件查询已安装的Flash Memory器件的各种参数,包括器件阵列结构参数、电气和时间参数以及器件支持的功能等。利用CFI可以不用修改系统软件就可以用新型的和改进的产品代替旧版本的产品。例如:如果新型的Flash Memory的擦除时间只有旧版本的一半,系统软件只要通过CFI读取新器件的擦除时间等参数,修改一下定时器的时间参数即可。
简单说就是:
1.使得软件和硬件升级更加方便。
2.使得不同厂商之间的硬件兼容性更好,也就是如果都支持了CFI,很多时候,可以实现底层硬件的互换。
比如,软件是基于CFI的,那么底层硬件的flash,换了另一厂商的,,而上层软件就不需要改动,也可以工作。

CFI与SPI flash的区别SPI:serial peripheral interface串行外围设备接口,是一种常见的时钟同步串行通信接口。CFI是公共闪存接口,是由存储芯片工业界定义的一种获取闪存芯片物理参数和结构参数的操作规程和标准。CFI有许多关于闪存芯片的规定,有利于嵌入式对FLASH的编程。很多NOR FLASH 都支持CFI,但并不是所有的都支持。普通的parallel/CFI/JEDEC接口的的Nor Flash的针脚比较多,芯片比较大。之所有会有SPI接口的,主要是相对CFI/Parallel的Nor,可以减少针脚数目,减少芯片封装大小,采用了SPI后的Nor Flash,针脚只有8个。SPI flash和parallel的介质都是Norflash ,但是SPI 是通过串行接口来实现数据操作,而parallel则以并行接口进行数据操作,SPI容量都不是很大,市场上Numonyx做大可以做到128mbit,而且读写速度慢,但是价格便宜,操作简单。而parallel接口速度快,容量上市场上已经有1Gmbit的容量,价格昂贵。

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学