NOR和NAND是现在市场上两种主要的非易失闪存技术。 
  Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。 
  大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。 
  NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能.。 
  NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。 
性能比较 
  flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程,任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。 
  NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。 
由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。
执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素: 
  1) NOR的读速度比NAND稍快一些;
  2) NAND的写入速度比NOR快很多;
  3) NAND的4ms擦除速度远比NOR的5s快;
  4) 大多数写入操作需要先进行擦除操作;
  5) NAND的擦除单元更小,相应的擦除电路更少。 
接口差别 
  NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。 
  NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同,8个引脚用来传送控制、地址和数据信息。 
  NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。 
容量和成本 
  NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。 
  NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。 
可靠性和耐用性  
  采用flash介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。 
  1) 寿命(耐用性) 
  在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。 
  2) 位交换 
  所有flash器件都受位交换现象的困扰。在某些情况下,一个比特位会发生反转或被报告反转了。很少见NAND发生的次数要比NOR多。 
  一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。 
  当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。 
  位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。 
  这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。 
  3) 坏块处理 
  NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。 
  NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。 
易于使用 
  可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。 
  由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。 
  在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。 
  向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。 
软件支持 
  当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。 
  在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。 
  使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。

  驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。

  • 2009-12-05

    注:源自原百度博客“至美心"

NAND和NOR Flash的区别相关推荐

  1. EEPROM,NAND,NOR,QSPI FLASH的区别

    一,常见存储器        RAM -- 特点:可以存储数据,掉电丢失,速度快        SRAM:静态存储器 .访问之前无需进行复杂的初始化工作 直接访问        DRAM:动态存储器特 ...

  2. Nand Flash,Nor Flash,BPI Flash,SPI Flash 的区别?

    转载:CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系 简单说就是,Flash,按照内部访问接 ...

  3. CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系

    CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系 简单说就是,Flash,按照内部访问接口不同 ...

  4. 搞清楚nand flash和 nor flash 以及 spi flash 和cfi flash 的区别

    前言:     在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解.下面细说一下标题中的中Flash中的关系. Flash Memory(闪存)是非易失性的存储器. ...

  5. nor Nand and Onenand flash区别总结

    [什么是OneNand Flash] OneNand是针对消费类电子和下一代移动手机市场而设计的,一种高可靠性嵌入式存储设备. 随着过去几十年的Nand技术的发展,一些公司,基于原先的NAND的架构, ...

  6. SPI NAND Flash和SPI NOR Flash的区别

    我们在购买电子产品时,常常听到FLASH闪存这个词.但对于基础小白来说,可能常常搞不清楚SPI Flash.Nand Flash.Nor Flash等都是指什么,今天宏旺半导体就跟大家通俗易懂地讲解一 ...

  7. NAND Flash系列之NAND与NOR Flash

    Nand Flash与Nor Flash 起始 1988年,Intel于首先开发出NOR flash技术,一经推出很快蚕食掉EPROM和EEPROM的市场.因此可实现程序在片内执行. 1989年,东芝 ...

  8. 计算机flash ram是什么意思,ROM、RAM、CPU、CACHE、FLASH的区别

    内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE).只不过因为RAM是其中最重要的存储器,所以通常所说的内存即指电脑系统中的RAM. RAM要求每时 ...

  9. F2812 DSP程序运行在片内RAM和FLASH的区别

    F2812 DSP程序运行在片内RAM和片内FLASH的区别 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:F2812是带有内部Flash的DSP,与 ...

  10. Flex和Flash的区别和联系

    本文和大家重点讨论一下Flex和Flash的区别和联系,Flex也继承了Flash在表示层上先天性的美感.除了视觉上的舒适感外,还天生具备方便的矢量图形.动画和媒体处理接口.虽然Flex和Flash有 ...

最新文章

  1. 中国互联网+固体饮料行业商业模式创新与投资机会深度研究报告
  2. 我发现了个Python黑魔法,执行任意代码都会自动念上一段「平安经」
  3. python第一个公开发行版_Python基础篇【第一篇】:python入门
  4. idea从git上拉取并管理项目
  5. oschina代码仓库远程push,pull免密实操总结
  6. springboot进行图片上传并访问资源
  7. 大型程序是如何开发的_小程序开发好之后如何引流
  8. 一文搞懂Oracle 0 至 6 级锁(附案例详解)
  9. Java中继承和面向接口的编程
  10. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(二)数据库初始化、基本登录页面以及授权逻辑的建立...
  11. axure rp pro 8.0 中文+破解补丁 v8.0.0.3333专业版
  12. 给十二星座女生送礼物的技巧
  13. jeecgboot开发经验过程
  14. 仿写天猫tmall首页
  15. QCustomPlot图例
  16. 南京银行之八,风险提示
  17. 如何设置SOCKS5代理?最全方法汇总!
  18. USB数据线厂家加工生产流程
  19. 万字长文解读DeepMind与谷歌的AI拉锯战
  20. 关联规则R语言实战(Apriori算法)

热门文章

  1. 16位CRC校验算法
  2. c语言 字符串转整型
  3. 天勤数据结构顺序表算法操作含完整测试
  4. 02怎么学数据结构?
  5. 如何用PS把背景完全扣掉,变成透明
  6. 【对抗攻击代码实战】对抗样本的生成——FGSM
  7. HttpUtils调用
  8. IE6下实现Width:auto
  9. python scratch ev3_如何在scratch上连接乐高ev3?
  10. 分享一些软件工具~截图工具