NOR Flash 与NAND Flash(转载他人https://blog.csdn.net/tigerjibo/article/details/9322035)

一、 前言
  目前,各类DDR,SDRAM或者RDRAM都属于 都属于挥发性内存,只要停止电流供应内存中的数据便无法保持。Flash是一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。
  NOR Flash 技术由Intel于1988年首先开发出,其彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。
  NAND Flash 技术由东芝公司于1989年首先开发出来强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级。
  Flash编程原理都是只能将1写为0,而不能将0写成1.所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是将所有位都写为1的过程,块内的所有字节变为0xFF.因此可以说,编程是将相应位写0的过程,而擦除是将相应位写1的过程,两者的执行过程完全相反。

二、NorFlash和NandFlash启动方式
(1)NorFlash有自己的数据和地址总线,因此可采用类似RAM的随机访问。NorFlash的特点是芯片内执行(XIP: eXecute In Place),这样应用程序应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。如果uboot中的ro段就可以直接在NorFlash上运行,只需要把rw段和zi段拷贝到RAM中运行即可。
(2)Nand Flash器件使用复杂的I/O口来串行的存取数据,8个引脚用来传送控制,地址和数据信息。由于时序较为复杂,所以一般CPU最好集成NAND控制器。另外由于NandFlash没有挂接在地址总线上,所以如果想用NandFlash作为系统的启动盘,就需要CPU具备特殊的功能。如s3c2410具有一个stepping stone。

三、NorFlash与NandFlash读写的基本单位不同
  NandFlash和NorFlash的共性首先表现在向芯片中写数据必须先将芯片中对应的内容清空,然后再写入,也就是通常说的“先檫后写”。只不过NorFlash只用檫写一个字,而NandFlash需要擦写整个块
(1)应用程序对NorFlash操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。读写时需要同时逻辑块号和块内偏移。
(2)应用程序对NandFlash操作是以“块”为基本单位。NandFlash的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节。要修改NandFlash中一个字节,必须重写整个数据块。

四、NorFlash和NandFlash容量与成本对比
(1)NorFlash的容量相对要小,且成本较高。
(2)NandFlash的容量比较大,目前最大容量已经达到8G字节。为了方便管理,NandFlash的存储空间使用了块和页两级存储体。由于对NandFlash的操作都是以块和页为单位的,所以在向NandFlash进行大量数据读写时,NandFlash的速度要快于NorFlash闪存。并且NandFlash成本较低。

五、NorFlash和NandFlash可靠性对比
(1)NorFlash的可靠性要高于NandFlash,这主要是因为)NorFlash的接口简单,数据操作少,因此可靠性高,极少出现块区块,因而一般用在对可靠性要求高的地方。
(2)NandFlash接口和操作均相对复杂,位交换操作也很多,关键性数据更是需安错误探测/错误更正算法来确保数据的完整性,因此出现问题的几率要大的多,坏区块也是不可避免的,而且由于坏区块是随机分布的,连纠错也无法做到。
因此:建议在使用NandFlash时,要采用EDC/ECC等校验算法。

六、NorFlash和NandFlash寿命对比
  Flash檫写的次数都是有限的,当Flash的使用接近使用寿命的时候,经常会出现些操作失败;到达使用寿命时,Flash内部存放的数据虽然可以读,但是不能再进行写操作,所以为了防止上面问题的发生,不能对某个特定的区域反复进行写操作。
  通常NandFlash的可檫写次数高于NorFlash,但是由于NandFlash通常是整块檫写,块内的页面中如果有一位失效整个快就会失效,而且由于檫写过程复杂,失败的概率相对较高,所以从整体上来说NorFlash的寿命较长。

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

七、使用上差异
  在使用性上体现出的差异也是与NOR和NAND自身的架构设计分不开的。
(1)接口方面:NOR的设计有明显的传统闪存的特征,因此实际应用起来相对于NAND全新的复杂I/O设计要容易的多。而且,在使用NAND闪存时,必须先写入驱动程序,才能继续执行其他操作
(2)NAND在使用中还存在者坏块管理的问题,在NAND闪存中,由于坏块是随机分布的,因此需要进行扫描并将坏块打上标记。坏块的存在使得向NAND闪存写入信息需要相当的技巧,因为绝不能向坏块写入,这意味着在NAND闪存上自始自终都必须进行虚拟映射。
(3)在NOR闪存上运行代码不需要任何的软件支持,在NAND闪存上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD), NAND和NOR闪存在进行写入和檫除操作时都需要MTD。
(4)使用NOR闪存时所需要的MTD要相对少一些,许多厂商都提供用于NOR闪存的更高及软件,这其中包括M-System的TrueFFS驱动。

八、NOR Flash 与NAND Flash 使用原则
  一般的原则是:在大容量的多媒体应用中选用NAND型闪存,而在数据/程序存贮应用中选用NOR型闪存。根据这一原则,设计人员也可以把两种闪存芯片结合起来使用,用NOR芯片存储程序,用NAND芯片存储数据,使两种闪存的优势互补。事实上,这种聪明的设计早已普遍应用于手机、PocketPC、PDA及电子词典等设备中了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值