报价
HOME
报价
正文内容
nand flash 初始化 NOR Flash 和 NAND Flash 的区别
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

NOR Flash 和 NAND Flash 的区别

参考于《ARM嵌入式系统开发典型模块》一书,仅用于笔记学习,如果侵删

Flash Memory是一种非易失性的存储器。

Flash 按照结构可以分为 nor flash 和 nand flash两大类,两者的读取速率差不多。

NOR flash的特点就是芯片内执行,这样应用程序可以直接在 flash 内存内运行,不必再把代码读到系统 RAM 中。nor flash 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

鉴于NOR Flash擦写速度慢,成本高等特性,NOR Flash主要应用于小容量、内容更新少的场景,例如PC主板BIOS、路由器系统存储等。

NAND FLASH写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的eMMC内部的Flash Memory都属于NAND FLASH。PC中的固态硬盘中也是使用NAND FLASH。

NAND flash 结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用nand flash 的困难在于flash 的管理和需要的特殊接口。

总结nor flash 和 nand flash的差别在以下的几个方面

1、容量和成本

nor flash 的容量大小为1MB~32MB ,而nand flash 的为16MB~512MB。nand flash 的单元尺寸几乎是nor flash 的一半,由于生产的过程更为简单,因此价格也是相对低。

2、性能差别

(1)nor flash 的读速度比 nand flash稍快一些

(2)nor flash 的写入速度比 nand flash 慢了很多

(3)nand flash 的4ms擦除速度远比nor flash 的5s 快

(4)nand flash 的擦除单元更小,相应的擦除电路也久更小

3、接口差别

nor flash 的接口和RAM一样,而 nand flash 是使用I/O口来串行地存取数据。

3.1 NOR Flash根据与CPU端接口的不同,可以分为Parallel NOR Flash和SPI NOR FLASH两类。

NAND FLASH 需要通过专门的NFI(NAND FLASH Interface)与Host端进行通信,如下图所示:

4、易用性

使用nor flash 的相对简单,可以非常直接地使用基于 nor flash 地内存,可以像其他存储器那样连接,还可以直接在上面运行代码

而使用 nand flash 的话就复杂了,需要I/O接口,必须先写入驱动程序,才可以继续执行其他的操作。

5、耐用性

在nand flash内存中的每个块的最大擦除写次数是100万次,而nor flash 的擦写次数是10万次。

NAND FLASH根据每个存储单元内存储比特个数的不同,可以分为SLC(Single-LevelCell)、MLC(MulTI-LevelCell)和TLC(Triple-LevelCell)三类。其中,在一个存储单元中,SLC可以存储1个比特,MLC可以存储2个比特,TLC则可以存储3个比特。每一个存储单元内部通过不同的电压等级来表示其所存储的信息。在SLC中,存储单元的电压被分为两个等级,分别表示0和1两个状态,即1个比特;在MLC中,存储单元的电压则被分为4个等级,分别表示00011011四个状态,即2个比特位;同理,在TLC中,存储单元的电压被分为8个等级,存储3个比特信息。

NAND FLASH的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。

6、坏块处理

nand flash 器件中的坏处是随机分布的

nand flash 器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。

7、位交换

所有flash器件都受位交换现象的困扰。在某些情况下(很少见,nand flash发生的次数要比nor flash多),一个比特位会发生反转或被报告反转了。

一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。

这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。

8、主要用途

nor flash常用于保存代码和关键数据。nand flash 用于保存数据。

9、软件支持

当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。

在NOR器件上运行代码不需要任何的软件支持,

在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),

NAND和NOR器件在进行写入和擦除操作时都需要MTD。

使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。

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

NAND和NOR flash的区别

NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。  相“flash存储器”经常可以与相“NOR存储器”互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时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的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。  ● NOR的读速度比NAND稍快一些。  ● NAND的写入速度比NOR快很多。  ● NAND的4ms擦除速度远比NOR的5s快。  ● 大多数写入操作需要先进行擦除操作。  ● 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存储卡市场上所占份额最大。可靠性和耐用性  采用flahs介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。  寿命(耐用性)  在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。  位交换  所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。  一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。  当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。  这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。  坏块处理  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闪存的管理,包括纠错、坏块处理和损耗平衡。

相关问答

flash初始化 原理?

Flash初始化原理是指在开机或重启过程中,系统对Flash存储器进行初始化操作的原理。Flash初始化的过程涉及到多个步骤和操作。1.Flash初始化是必要的。2.F...

Flashair密码忘记了怎么办?

将资料备份到计算机等存储媒介中,使用FlashAir™设置软件中的存储卡初始化功能表。可以将FlashAir恢复到出厂默认状态。初始化后,请再执行“初始设置”。flas...

Flash cs6 无法 初始化 ,应该怎么处理?-ZOL问答

FLASH2人讨论2005次围观关注问题写回答讨论回答(2)dslxvqruojdx如果下载的是官方正版的photoshopcs6,在安装过程中,出现如下这种情况。可能是此计算机.....

FLASH 里这个图层是什么意思,怎么弄的,有什么意义?

如果你对传统动画制作有了解就会知道,传统动画是画在一层层透明的胶纸上面的,如:有两个人:一个在前一个在后,那么就会用两层胶纸(为简单起见),在前面的人...

adobe flashCS6安装程序无法 初始化 怎么处理?-ZOL问答

7人讨论7609次围观关注问题写回答讨论回答(7)qq258zxzx重新下载安装吧,可能是程序安装不完全。有用(0)回复Huangjian111是不是要用管理员权限登陆有...

pps显示错误是什么意思?

这个是系统不支持导致的,如下解决:方法一:游戏不能是中文,在待机画面下按select调出vshmenu把UMDISOmode调成M33driver重新启动PSP既可....这个是系...

唉!忘性大的我把东芝FlashAir的密码给忘了,教教我怎么改密码呀!大神们?

亲,这个很好解决的啊!先把数据备份到电脑等存储媒介中,再使用FlashAir?设置软件中的存储卡初始化菜单,可以将FlashAir恢复到出厂默认状态,初始化后,请再执...

查看交换机里的 flash 中配置数据是什么命令show running-confng?

交换机接上电,上电过程中,按住交换机mode键,终端界面显示进入到交换机的底层模式switch:,就可以松开,输入命令switch:flash_init回车,初始化flash文件系...

bib文件是什么意思

nboot是从NANDflash读image到内存并执行,eboot是从以太网(用tftp)下载image到内存并执行。将nboot.nb0烧到第0块,将eboot.nb0烧到第2块。启动时nbo....

进入开发者选项的代码是多少比如*#什么什么的?

ENEV*#66*#手动测试*#87#自动测试*#3646633#工程模式*#8375#查版本*#0413*#元件信息*#28526*#防盗指令密码000000*#159#...

 林俊杰100天  金旭 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部