前言:
在嵌入式开发中,如uboot的移植,kernel的移植都须要对Flash 有基本的了解。下面细说一下标题中的中Flash中的关系
一,Flash的内存存储结构
flash按照内部存储结构不一样,分为两种:nor flash和nand flash。
NorFLASH使用方便,易于链接,能够在芯片上直接运行代码,稳定性出色,传输速率高,在小容量时有很高的性价比,这使其很适合应于嵌入式系统中做为 FLASH ROM。
相对于NorFLASH,NandFLASH强调更高的性能,更低的成本,更小的体积,更长的使用寿命。这使NandFLASH很擅于存储纯资料或数据等,在嵌入式系统中用来支持文件系统。
1,Nand Flash
在工艺制程方面分NAND flash有两种类型:MLC和SLC。MLC和SLC属于两种不一样类型的NAND FLASH存储器。
SLC全称是Single-Level Cell,即单层单元闪存,而MLC全称则是Multi-Level Cell,即为多层单元闪存。
它们之间的区别,在于SLC每个单元,只能存储一位数据,MLC每个单元能够存储两位数据,MLC的数据密度要比SLC 大一倍。在页面容量方面分NAND也有两种类型:大页面NAND flash(如:HY27UF082G2B)和小页面NAND flash(如:K9F1G08U0A)。
这两种类型在页面容量,命令序列、地址序列、页内访问、坏块标识方面都有很大的不一样,并遵循不一样的约定因此在移植驱动时要特别注意。
2,Nor Flash
在通讯方式上Nor Flash 分为两种类型:CFI Flash和 SPI Flash。
a,CFI Flash
英文全称是common flash interface,也就是公共闪存接口,是由存储芯片工业界定义的一种获取闪存芯片物理参数和结构参数的操做规程和标准。CFI有许多关于闪存芯片的规定,有利于嵌入式对FLASH的编程。如今的不少NOR FLASH 都支持CFI,但并非全部的都支持。 html
CFI接口,相对于串口的SPI来讲,也被称为parallel接口,并行接口;另外,CFI接口是JEDEC定义的,因此,有的又成CFI接口为JEDEC接口。因此,能够简单理解为:对于Nor Flash来讲,CFI接口=JEDEC接口=Parallel接口 = 并行接口编程
b,SPI Flash
serial peripheral interface串行外围设备接口,是一种常见的时钟同步串行通讯接口。
c,CFI Flash 和 SPI Flash 比较
SPI flash和 CFI Flash 的介质都是Norflash ,可是SPI 是经过串行接口来实现数据操做,而 CFI Flash 则以并行接口进行数据操做,SPI容量都不是很大,市场上 CFI Flash 作大能够作到128Mbit,并且读写速度慢,可是价格便宜,操做简单。而parallel接口速度快,容量上市场上已经有1Gbit的容量,价格昂贵
二,参考文件
1,http://wenku.baidu.com/link?url=1aJIonw_7X-veCCTXhOYAxQ-KT07CWE5bcfl5pNLRuXE9xRaAjrH7GeJ72i8Ule2jbjham76rFlwBQHfuIJbbuMfUUBbFHR8-_8Vd-9SNFO
2,http://www.btdcw.com/btd-b8f73b523c1ec5da51e27004-1.html性能