现在的位置: 首页 > 综合 > 正文

NOR Flash与NAND Flash

2013年03月12日 ⁄ 综合 ⁄ 共 1694字 ⁄ 字号 评论关闭

接口

NOR Flash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NOR Flash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在Flash内运行,不必再把代码读到系统RAM中。如uboot中的ro段可以直接在NorFlash上运行,只需要把rw和zi段拷贝到RAM中运行即可。

NAND Flash器件使用复杂的I/O端口来串行地存取数据,8个引脚用来传送控制、地址和数据信息。由于时序较为复杂,所以一般CPU都集成NAND控制器。另外由于NAND Flash没有挂接在地址总线上,所以如果想用NAND Flash作为系统的启动盘,就需要CPU具备特殊的功能,如s3c2410在选择NAND Flash启动方式时会在上电时自动读取NAND Flash的前4k数据到地址0x0的SRAM中。如果CPU不具备这种特殊功能,用户不能直接运行NAND Flash上的代码,那可以采取其他方式,比如使用NAND Flash的开发板除了使用NAND Flash以外,还用上了一块小的NOR Flash来运行启动代码。

容量和成本

相比起NAND Flash来说,NOR Flash的容量要小,一般在1~16MByte左右,一些新工艺采用了芯片叠加技术可以把NOR Flash的容量做得大一些。在价格方面,NOR Flash相比NAND Flash来说较高,如目前市场上一片4Mbyte的AM29LV320 NOR Flash零售价在20元左右,而一片128MByte的K9F1G08 NAND Flash零售价在30元左右。NAND Flash生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,这样也就相应地降低了它的价格。

可靠性

NAND Flash器件中的坏块是随机分布的,以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。NAND Flash器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。而坏块问题在NOR Flash上是不存在的。 在Flash的位翻转(一个bit位发生翻转)现象上,NAND Flash的出现几率要比NOR Flash大得多。这个问题在Flash存储关键文件时是致命的,所以在使用NAND Flash时建议同时使用EDC/ECC等校验算法

寿命

在NAND Flash中每个块的最大擦写次数是一百万次,而NOR Flash的擦写次数是十万次。闪存的使用寿命同时和文件系统的机制也有关,要求文件系统具有损耗平衡功能。

升级

NOR Flash的升级较为麻烦,因为不同容量的NOR Flash的地址线需求不一样,所以在更换不同容量的NOR Flash芯片时不方便。通常我们会通过在电路板的地址线上做一些跳接电阻来解决这样的问题,针对不同容量的NOR Flash。而不同容量的NAND Flash的接口是固定的,所以升级简单。

读写性能

写操作:任何Flash器件的写入操作都只能在空或已擦除的单元内进行。NAND Flash器件执行擦除操作是十分简单的,而NOR Flash则要求在进行擦除前先要将目标块内所有的位都写为1。擦除NOR Flash器件时是以64~128KB的块进行的,执行一个擦除/写入操作的时间约为5s。擦除NAND Flash器件是以8~32KB的块进行的,执行一个擦除/写入操作最多只需要4ms。

读操作:NOR Flash的读速度比NAND Flash稍快一些。

文件系统

Linux系统中采用MTD来管理不同类型的Flash芯片,包括NAND Flash和NOR Flash。支持在Flash上运行的常用文件系统有cramfs、jffs、jffs2、yaffs、yaffs2等。cramfs文件系统是只读文件系统。如果想在Flash上实现读写操作,通常在NOR Flash上我们会选取jffs及jffs2文件系统,在NAND Flash上选用yaffs或yaffs2文件系统。yaffs2文件系统支持大页(大于512字节/页)的NAND Flash存储器。

 

抱歉!评论已关闭.