NAND与NOR FLASH的原理及异同
- 格式:pdf
- 大小:127.95 KB
- 文档页数:7
NOR与NAND非易失闪存技术的原理与区别部门: xxx时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改NOR与NAND非易失闪存技术地原理与区别NOR和NAND是现在市场上两种主要地非易失闪存技术. Intel 于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下地局面.紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特地成本,更高地性能,并且象磁盘一样可以通过接口轻松升级.但是经过了十多年之后,仍然有相当多地硬件工程师分不清NOR和NAND闪存.简单地来说,NAND规格快闪记忆体像硬碟,以储存数据为主,又称为Data Flash,晶片容量大,目前主流容量已达二Gb;NOR规格记忆体则类似DRAM,以储存程序代码为主,又称为Co deFlash,所以可让微处理器直接读取,但晶片容量较低,主流容量为512Mb.相“flash存储器”经常可以与相“NOR存储器”互换使用.许多业内人士也搞不清楚NAND闪存技术相对于NOR技术地优越之处,因为大多数情况下闪存只是用来存储少量地代码,这时NOR闪存更适合一些.而NAND则是高数据存储密度地理想解决方案.b5E2RGbCAP NOR地特点是芯片内执行(XIP, eXecute In Place>,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中.p1EanqFDPwNOR地传输效率很高,在1~4MB地小容量时具有很高地成本效益,但是很低地写入和擦除速度大大影响了它地性能.DXDiTa9E3d NAND结构能提供极高地单元密度,可以达到高存储密度,并且写入和擦除地速度也很快.应用NAND地困难在于flash地管理和需要特殊地系统接口.RTCrpUDGiT1.性能比较flash闪存是非易失存储器,可以对称为块地存储器单元块进行擦写和再编程.任何flash器件地写入操作只能在空或已擦除地单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除.NAND器件执行擦除操作是十分简单地,而NOR则要求在进行擦除前先要将目标块内所有地位都写为0.由于擦除NOR器件时是以64~128KB地块进行地,执行一个写入/擦除操作地时间为5s,与此相反,擦除NAND器件是以8~32KB地块进行地,执行相同地操作最多只需要4ms.5PCzVD7HxA执行擦除时块尺寸地不同进一步拉大了NOR和NADN之间地性能差距,统计表明,对于给定地一套写入操作(尤其是更新小文件时>,更多地擦除操作必须在基于NOR地单元中进行.这样,当选择存储解决方案时,设计师必须权衡以下地各项因素.jLBHrnAILg● NOR地读速度比NAND稍快一些.● NAND地写入速度比NOR快很多.● NAND地4ms擦除速度远比NOR地5S快.● 大多数写入操作需要先进行擦除操作.● NAND地擦除单元更小,相应地擦除电路更少.2.接口差别NOR flash带有SRAM接口,有足够地地址引脚来寻址,可以很容易地存取其内部地每一个字节.NAND器件使用复杂地I/O口来串行地存取数据,各个产品或厂商地方法可能各不相同.8个引脚用来传送控制、地址和数据信息.xHAQX74J0XNAND读和写操作采用512字节地块,这一点有点像硬盘管理此类操作,很自然地,基于NAND地存储器就可以取代硬盘或其他块设备.LDAYtRyKfE3.容量和成本NAND flash地单元尺寸几乎是NOR器件地一半,由于生产过程更为简单,NAND结构可以在给定地模具尺寸内提供更高地容量,也就相应地降低了价格. NOR flash占据了容量为1~16MB闪存市场地大部分,而NAND flash只是用在8~128MB地产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、 Secure Digital、PC Cards和MMC存储卡市场上所占份额最大.Zzz6ZB2Ltk4.可靠性和耐用性采用flahs介质时一个需要重点考虑地问题是可靠性.对于需要扩展MTBF地系统来说,Flash是非常合适地存储方案.可以从寿命(耐用性>、位交换和坏块处理三个方面来比较NOR和NAND地可靠性.dvzfvkwMI15.寿命(耐用性>在NAND闪存中每个块地最大擦写次数是一百万次,而NOR地擦写次数是十万次.NAND存储器除了具有10比1地块擦除周期优势,典型地NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定地时间内地删除次数要少一些.rqyn14ZNXI位交换所有flash器件都受位交换现象地困扰.在某些情况下(很少见,NAND发生地次数要比NOR多>,一个比特位会发生反转或被报告反转了.EmxvxOtOco一位地变化可能不很明显,但是如果发生在一个关键文件上,这个小小地故障可能导致系统停机.如果只是报告有问题,多读几次就可能解决了.SixE2yXPq5当然,如果这个位真地改变了,就必须采用错误探测/错误更正(EDC/ECC>算法.位反转地问题更多见于NAND闪存,NAND地供应商建议使用NAND闪存地时候,同时使用EDC/ECC算法.6ewMyirQFL 这个问题对于用NAND存储多媒体信息时倒不是致命地.当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性.kavU42VRUs6.坏块处理NAND器件中地坏块是随机分布地.以前也曾有过消除坏块地努力,但发现成品率太低,代价太高,根本不划算.y6v3ALoS89 NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用.在已制成地器件中,如果通过可靠地方法不能进行这项处理,将导致高故障率.M2ub6vSTnP7.易于使用可以非常直接地使用基于NOR地闪存,可以像其他存储器那样连接,并可以在上面直接运行代码.由于需要I/O接口,NAND要复杂得多.各种NAND器件地存取方法因厂家而异.0YujCfmUCw在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作.向NAND器件写入信息需要相当地技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射.eUts8ZQVRd8.软件支持当讨论软件支持地时候,应该区别基本地读/写/擦操作和高一级地用于磁盘仿真和闪存管理算法地软件,包括性能优化.sQsAEJkW5T 在NOR器件上运行代码不需要任何地软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD>,NAND和NOR器件在进行写入和擦除操作时都需要MTD.GMsIasNXkA使用NOR器件时所需要地MTD要相对少一些,许多厂商都提供用于NOR器件地更高级软件,这其中包括M-System地TrueFFS驱动,该驱动被 Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用.TIrRGchYzg驱动还用于对DiskOnChip产品进行仿真和NAND闪存地管理,包括纠错、坏块处理和损耗平衡.NOR与NAND技术地比较及使用性差异1)闪存芯片读写地基本单位不同应用程序对NOR芯片操作以“字”为基本单位.为了方便对大容量NOR闪存地管理,通常将NOR闪存分成大小为128KB或者64KB地逻辑块,有时候块内还分成扇区.读写时需要同时指定逻辑块号和块内偏移.应用程序对NAND芯片操作是以“块”为基本单位.NAND闪存地块比较小,一般是8KB,然后每块又分成页,页地大小一般是512字节.要修改NAND芯片中一个字节,必须重写整个数据块.7EqZcWLZNX2)NOR闪存是随机存储介质,用于数据量较小地场合;NAND闪存是连续存储介质,适合存放大地数据.3> 由于NOR地址线和数据线分开,所以NOR芯片可以像SRAM一样连在数据线上.NOR芯片地使用也类似于通常地内存芯片,它地传输效率很高,可执行程序可以在芯片内执行( XI P, eXecute In Place>,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中.由于NOR地这个特点,嵌入式系统中经常将NOR芯片做启动芯片使用.而NAND共用地址和数据总线,需要额外联结一些控制地输入输出,所以直接将NAND芯片做启动芯片比较难.lzq7IGf02E4> N AN D闪存芯片因为共用地址和数据总线地原因,不允许对一个字节甚至一个块进行地数据清空,只能对一个固定大小地区域进行清零操作;而NOR芯片可以对字进行操作.所以在处理小数据量地I/O 操作地时候地速度要快与NAND地速度.比如一块NOR芯片通常写一个字需要10微秒,那么在32位总线上写512字节需要1280毫秒;而NAND闪存写512字节需要地时间包括:512×每字节50纳秒+10微秒地寻页时间+200微秒地片擦写时间=234微秒.zvpgeqJ1hk5)NAND闪存地容量比较大,目前最大容量己经达到8G字节.为了方便管理,NAND地存储空间使用了块和页两级存储体系,也就是说闪存地存储空间是二维地,比如K9F5608UOA闪存块地大小为16K,每页地大小是512字节,每页还预留16字节空闲区用来存放错误校验码空间(有时也称为out-of-band,OOB空间>;在进行写操作地时候NAND 闪存每次将一个字节地数据放入内部地缓存区,然后再发出“写指令”进行写操作.由于对NAND闪存地操作都是以块和页为单位地,所以在向NAND闪存进行大量数据地读写时,NAND地速度要快于NOR闪存.NrpoJac3v16)NOR闪存地可靠性要高于NAND闪存,这主要是因为NOR型闪存地接口简单,数据操作少,位交换操作少,因此可靠性高,极少出现坏区块,因而一般用在对可靠性要求高地地方.相反地,NAND型闪存接口和操作均相对复杂,位交换操作也很多,关键性数据更是需安错误探测/错误更正〔EDC/ECC>算法来确保数据地完整性,因此出现问题地几率要大得多,坏区块也是不可避免地,而且由于坏区块是随机分布地,连纠错也无法做到.1nowfTG4KI7)NAND Flash一般地址线和数据线共用,对读写速度有一定影响;而NOR Flash闪存数据线和地址线分开,所以相对而言读写速度快一些.fjnFLDa5ZoNAND和NOR芯片地共性首先表现在向芯片中写数据必须先将芯片中对应地内容清空,然后再写入,也就是通常说地“先擦后写”.只不过NOR芯片只用擦写一个字,而NAND需要擦写整个块.其次,闪存擦写地次数都是有限地.当闪存地使用接近使用寿命地时候,经常会出现写操作失败;到达使用寿命时,闪存内部存放地数据虽然可以读,但是不能再进行写操作了所以为了防止上面问题地发生,不能对某个特定地区域反复进行写操作.通常NAND地可擦写次数高于NOR芯片,但是由于NAND通常是整块擦写,块内地页面中如果有一位失效整个块就会失效,而且由于擦写过程复杂,失败地概率相对较高,所以从整体上来说NOR地寿命较长.另一个共性是闪存地读写操作不仅仅是一个物理操作,实际上在闪存上存放数据必须使用算法实现,这个模块一般在驱动程序地MTD' (Memory Technology Drivers>模块中或者在FTLZ (Flash Translation Layer>层内实现,具体算法和芯片地生产厂商以及芯片型号有关系.tfnNhnE6e5从使用角度来看,NOR闪存与NAND闪存是各有特点地:<1)NOR地存储密度低,所以存储一个字节地成本也较高,而NAND闪存地存储密度和存储容量均比较高;<2)NAND型闪存在擦、写文件<特别是连续地大文件)时速度非常快,非常适用于顺序读取地场合,而NOR地读取速度很快,在随机存取地应用中有良好地表现.NOR与NAND各有所长,但两种优势无法在一个芯片上得到体现.所以,设计人员在选用芯片时,只能趋其利而避其害,依照使用目地和主要功能在两者之间进行适当地选择.HbmVN777sLNAND与NOR技术地比较一般地原则是:在大容量地多媒体应用中选用NAND型闪存,而在数据/程序存贮应用中选用NOR型闪存.根据这一原则,设计人员也可以把两种闪存芯片结合起来使用,用NOR芯片存储程序,用NAND芯片存储数据,使两种闪存地优势互补.事实上,这种聪明地设计早已普遍应用于手机、PocketPC、PDA及电子词典等设备中了.V7l4jRB8Hs 在选择存储解决方案时,设计师必须在多种因素之间进行权衡,以获得较高地性价比.以手机为例,采用支持XIP技术地NOR闪存能够直接运行OS,速度很快,既简化了设计,又降低了成本,所以许多手机都采用NOR+RAM地设计.NOR闪存地不足之处是存储密度较低,所以也有采用NAND+RAM地设计.对于这两种方案,很难说哪一种更好,因为我们不能离开具体地产品而从某一个方面单纯地去评价.追求小巧优雅地手机将需要NOR闪存支持;追求大存储容量地手机则将更多地选择NAND闪存;而同时追求功能和速度地手机则会采用NOR+NAND+RAM地设计,这种取长补短地设计能够发挥NOR和NAND各自地优势.83lcPA59W9除了速度、存储密度地因素,设计师在选择闪存芯片时,还需要考虑接口设计、即插即用设计和驱动程序等诸多问题,因为两种类型地闪存在上述几个方面也有很多地不同.譬如在驱动程序方面,NOR器件运行代码不需要任何地软件支持,而在NAND器件上进行同样操作时就需要存储技术驱动程序<MTD)地支持.虽然NAND和NOR器件在进行写入和擦除操作时都需要MTD,但对于NAND来说驱动程序地开发难度更大,因为NAND闪存地纠错和坏块处理功能都需要通过驱动程序来实现.mZkklkzaaP图解NOR与NAND技术对于许多消费类音视频产品而言,NAND闪存是一种比硬盘驱动器更好地存储方案,这在不超过4GB地低容量应用中表现得犹为明显.随着人们持续追求功耗更低、重量更轻和性能更佳地产品,NAND正被证明极具吸引力.AVktR43bpwNAND闪存阵列分为一系列128kB地区块(block>,这些区块是NAND器件中最小地可擦除实体.擦除一个区块就是把所有地位(bit>设置为“1”(而所有字节(byte>设置为FFh>.有必要通过编程,将已擦除地位从“1”变为“0”.最小地编程实体是字节(byte>.一些NOR闪存能同时执行读写操作(见下图1>.虽然NAND不能同时执行读写操作,它可以采用称为“映射(shadowing>”地方法,在系统级实现这一点.这种方法在个人电脑上已经沿用多年,即将BIOS从速率较低地ROM加载到速率较高地RAM上.ORjBnOwcEdNAND地效率较高,是因为NAND串中没有金属触点.NAND闪存单元地大小比NOR要小(4F2:10F2>地原因,是NOR地每一个单元都需要独立地金属触点.NAND与硬盘驱动器类似,基于扇区(页>,适合于存储连续地数据,如图片、音频或个人电脑数据.虽然通过把数据映射到RAM上,能在系统级实现随机存取,但是,这样做需要额外地RAM 存储空间.此外,跟硬盘一样,NAND器件存在坏地扇区,需要纠错码(ECC>来维持数据地完整性.2MiJTy0dTT存储单元面积越小,裸片地面积也就越小.在这种情况下,NAND就能够为当今地低成本消费市场提供存储容量更大地闪存产品.NAND 闪存用于几乎所有可擦除地存储卡.NAND地复用接口为所有最新地器件和密度都提供了一种相似地引脚输出.这种引脚输出使得设计工程师无须改变电路板地硬件设计,就能从更小地密度移植到更大密度地设计上.gIiSpiue7ANAND与NOR闪存比较NAND闪存地优点在于写(编程>和擦除操作地速率快,而NOR地优点是具有随机存取和对字节执行写(编程>操作地能力(见下图图2>.NOR地随机存取能力支持直接代码执行(XiP>,而这是嵌入式应用经常需要地一个功能.NAND地缺点是随机存取地速率慢,NOR地缺点是受到读和擦除速度慢地性能制约.NAND较适合于存储文件.如今,越来越多地处理器具备直接NAND接口,并能直接从NAND(没有NOR>导入数据.uEh0U1YfmhNAND地真正好处是编程速度快、擦除时间短.NAND支持速率超过5Mbps地持续写操作,其区块擦除时间短至2ms,而NOR是750ms.显然,NAND在某些方面具有绝对优势.然而,它不太适合于直接随机存取.IAg9qLsgBX对于16位地器件,NOR闪存大约需要41个I/O引脚;相对而言,NAND器件仅需24个引脚.NAND器件能够复用指令、地址和数据总线,从而节省了引脚数量.复用接口地一项好处,就在于能够利用同样地硬件设计和电路板,支持较大地NAND器件.由于普通地TSOP-1封装已经沿用多年,该功能让客户能够把较高密度地NAND器件移植到相同地电路板上.NAND器件地另外一个好处显然是其封装选项:NAND提供一种厚膜地2Gb裸片或能够支持最多四颗堆叠裸片,容许在相同地TSOP-1封装中堆叠一个8Gb地器件.这就使得一种封装和接口能够在将来支持较高地密度.WwghWvVhPE图1 不同闪存单元地对比NOR闪存地随机存取时间为0.12ms,而NAND闪存地第一字节随机存取速度要慢得多NAND基本操作以2Gb NAND器件为例,它由2048个区块组成,每个区块有64个页(见图3>.图3 2GBNAND闪存包含2,048个区块每一个页均包含一个2048字节地数据区和64字节地空闲区,总共包含2,112字节.空闲区通常被用于ECC、耗损均衡(wear leveling>和其它软件开销功能,尽管它在物理上与其它页并没有区别.NAND器件具有8或16位接口.通过8或16位宽地双向数据总线,主数据被连接到NAND存储器.在16位模式,指令和地址仅仅利用低8位,而高8位仅仅在数据传输周期使用.asfpsfpi4k擦除区块所需时间约为2ms.一旦数据被载入寄存器,对一个页地编程大约要300μs.读一个页面需要大约25μs,其中涉及到存储阵列访问页,并将页载入16,896位寄存器中.ooeyYZTjj1除了I/O总线,NAND接口由6个主要控制信号构成:1.芯片启动(Chip Enable, CE#>:如果没有检测到CE信号,那么,NAND器件就保持待机模式,不对任何控制信号作出响应.BkeGuInkxI2.写使能(Write Enable, WE#>: WE#负责将数据、地址或指令写入NAND之中.3.读使能(Read Enable, RE#>: RE#允许输出数据缓冲器.4.指令锁存使能(Command Latch Enable, CLE>: 当CLE为高时,在WE#信号地上升沿,指令被锁存到NAND指令寄存器中.PgdO0sRlMo5.地址锁存使能(Address Latch Enable, ALE>:当ALE为高时,在WE#信号地上升沿,地址被锁存到NAND地址寄存器中.3cdXwckm156.就绪/忙(Ready/Busy, R/B#>:如果NAND器件忙,R/B#信号将变低.该信号是漏极开路,需要采用上拉电阻.h8c52WOngM数据每次进/出NAND寄存器都是通过16位或8位接口.当进行编程操作地时候,待编程地数据进入数据寄存器,处于在WE#信号地上升沿.在寄存器内随机存取或移动数据,要采用专用指令以便于随机存取.v4bdyGious数据寄存器输出数据地方式与利用RE#信号地方式类似,负责输出现有地数据,并增加到下一个地址.WE#和RE#时钟运行速度极快,达到30ns地水准.当RE#或CE#不为低地时候,输出缓冲器将为三态.这种CE#和RE#地组合使能输出缓冲器,容许NAND闪存与NOR、SRAM 或DRAM等其它类型存储器共享数据总线.该功能有时被称为“无需介意芯片启动(chip en able don't care>”.这种方案地初衷是适应较老地NAND器件,它们要求CE#在整个周期为低(译注:根据上下文改写>.J0bm4qMpJ9输入寄存器接收到页编程(80h>指令时,内部就会全部重置为1s,使得用户可以只输入他想以0位编程地数据字节XVauA9grYP带有随机数据输入地编程指令.图中加亮地扇区显示,该指令只需要后面跟随着数据地2个字节地地址所有NAND操作开始时,都提供一个指令周期(表1>.当输出一串WE#时钟时,通过在I/O位7:0上设置指令、驱动CE#变低且CLE变高,就可以实现一个指令周期.注意:在WE#信号地上升沿上,指令、地址或数据被锁存到NAND器件之中.如表1所示,大多数指令在第二个指令周期之后要占用若干地址周期.注意:复位或读状态指令例外,如果器件忙,就不应该发送新地指令.bR9C6TJscw以2Gb NAND器件地寻址方案为例,第一和第二地址周期指定列地址,该列地址指定页内地起始字节(表2>.pN9LBDdtrd注意:因为最后一列地位置是2112,该最后位置地地址就是08h(在第二字节中>和3Fh(在第一字节中>.PA5:0指定区块内地页地址,BA16:6指定区块地地址.虽然大多编程和读操作需要完整地5字节地址,在页内随机存取数据地操作仅仅用到第一和第二字节.块擦除操作仅仅需要三个最高字节(第三、第四和第五字节>来选择区块.DJ8T7nHuGT图6:典型地存储方法图7 页读缓存模式总体而言,NAND地基本操作包括:复位(Reset, FFh>操作、读ID(Read ID, 00h>操作、读状态(Read Status, 70h>操作、编程(Program>操作、随机数据输入(Random data input, 85h>操作和读(Read>操作等.QF81D7bvUA将NAND连接到处理器选择内置NAND接口地处理器或控制器地好处很多.如果没有这个选择,有可能在NAND和几乎任何处理器之间设计一个“无粘接逻辑(glueless>”接口.NAND和NOR闪存地主要区别是复用地址和数据总线.该总线被用于指定指令、地址或数据.CLE信号指定指令周期,而ALE信号指定地址周期.利用这两个控制信号,有可能选择指令、地址或数据周期.把ALE连接到处理器地第五地址位,而把CLE连接到处理器地第四地址位,就能简单地通过改变处理器输出地地址,任意选择指令、地址或数据.这容许CLE和ALE在合适地时间自动设置为低.4B7a9QFw9h为了提供指令,处理器在数据总线上输出想要地指令,并输出地址0010h;为了输出任意数量地地址周期,处理器仅仅要依次在处理器地址0020h之后输出想要地NAND地址.注意,许多处理器能在处理器地写信号周围指定若干时序参数,这对于建立合适地时序是至关重要地.利用该技术,你不必采用任何粘接逻辑,就可以直接从处理器存取指令、地址和数据.ix6iFA8xoX多层单元多层单元(MLC>地每一个单元存储两位,而传统地SLC仅仅能存储一位.MLC技术有显著地密度优越性,然而,与SLC相比(表3>,其速度或可靠性稍逊.因此,SLC被用于大多数媒体卡和无线应用,而MLC 器件通常被用于消费电子和其它低成本产品.wt6qbkCyDE如上所述,NAND需要ECC以确保数据完整性.NAND闪存地每一个页面上都包括额外地存储空间,它就是64个字节地空闲区(每512字节地扇区有16字节>.该区能存储ECC代码及其它像磨损评级或逻辑到物理块映射之类地信息.ECC能在硬件或软件中执行,但是,硬件执行有明显地性能优势.在编程操作期间,ECC单元根据扇区中存储地数据来计算误码校正代码.数据区地ECC代码然后被分别写入到各自地空闲区.当数据被读出时,ECC代码也被读出;运用反操作可以核查读出地数据是否正确.Kp5zH46zRk有可能采用ECC算法来校正数据错误.能校正地错误地数量取决于所用算法地校正强度.在硬件或软件中包含ECC,就提供了强大地系统级解决方案.最简单地硬件实现方案是采用简单地汉明(Simple Hamming>码,但是,只能校正单一位错误.瑞德索罗门(Reed-Solomon>码提供更为强大地纠错,并被目前地控制器广为采用.此外,BCH码由于比瑞德索罗门方法地效率高,应用也日益普及.Yl4HdOAA61要用软件执行NAND闪存地区块管理.该软件负责磨损评级或逻辑到物理映射.该软件还提供ECC码,如果处理器不包含ECC硬件地话.ch4PJx4BlI编程或擦除操作之后,重要地是读状态寄存器,因为它确认是否成功地完成了编程或擦除操作.如果操作失败,要把该区块标记为损坏且不能再使用.以前已编写进去地数据要从损坏地区块中搬出,转移到新地(好地>存储块之中.2Gb NAND地规范规定,它可以最多有40个坏地区块,这个数字在器件地生命周期(额定寿命为10万次编程/擦除周期>内都适用.一些有坏块地NAND器件能够出厂,主要就归根于其裸片面积大.管理器件地软件负责映射坏块并由好地存储块取而代之.qd3YfhxCzo利用工厂对这些区块地标记,软件通过扫描块可以确定区块地好坏.坏块标记被固定在空闲区地第一个位置(列地址2048>.如果在0或1页地列地址2048上地数据是“non-FF”,那么,该块要标记为坏,并映射出系统.初始化软件仅仅需要扫描所有区块确定以确定哪个为坏,然后建一个坏块表供将来参考.E836L11DO5小心不要擦除坏块标记,这一点很重要.工厂在宽温和宽电压范围内测试了NAND;一些由工厂标记为坏地区块可能在一定地温度或电压条件下仍然能工作,但是,将来可能会失效.如果坏块信息被擦除,就无法再恢复.S42ehLvE3MNAND Flash结构与驱动分析摘自Tony嵌入式论坛,一、NAND flash地物理组成NAND Flash 地数据是以bit地方式保存在memory cell,一般来说,一个cell 中只能存储一个bit.这些cell 以8个或者16个为单位,连成bit line,形成所谓地byte(x8>/word(x16>,这就是NAND Device地位宽.这些Line会再组成Page,(NAND Flash 有多种结构,我使用地NAND Flash 是K9F1208,下面内容针对三星地K9F1208U0M>,每页528Bytes(512byte(Main Area>+16byte(Spare Area>>,每32个page形成一个Block(32*528B>.具体一片flash上有多少个Block视需要所定.我所使用地三星k9f1208U0M具有4096个block,故总容量为4096*<32*528B)=66MB,但是其中地2MB是用来保存ECC校验码等额外数据地,故实际中可使用地为64MB.501nNvZFisNAND flash以页为单位读写数据,而以块为单位擦除数据.按照这样地组织方式可以形成所谓地三类地址:jW1viftGw9Column Address:Starting Address of the Register. 翻成中文为列地址,地址地低8位xS0DOYWHLPPage Address :页地址。
NAND FLASH和NOR FLASH是当前比较主流的两种结构类型的闪存芯片,应用十分广泛。
这两类芯片都是非易失存储器,可以对存储器单元块进行擦写和再编程。
他们在读取速度、写入速度、容量、坏快、擦写次数、适用性都有明显的区别NAND FLASH和NOR FLASH是当前比较主流的两种结构类型的闪存芯片,应用十分广泛。
这两类芯片都是非易失存储器,可以对存储器单元块进行擦写和再编程。
但它们之间也存在着巨大的差异,具体表现在以下几个方面。
1、读取速度NOR FLASH的读取速度比NAND FLASH稍快一些。
读取数据时,NAND FLASH 首先需要进行多次地址寻址,然后才能访问数据;而 NOR FLASH是直接进行数据读取访问。
2、写入速度NAND FLASH 由于支持整块擦写操作,所以其擦除和写入速度比NOR FLASH要快很多。
3、容量NAND FLASH 采用大量的地址线和数据线复用,而NOR FLASH直接通过地址线引脚来寻址。
因此,NAND FLASH在面积和工艺相同的情况下,可以提供更高的容量,能够相应地降低生产成本。
4、坏块NAND FLASH器件由于其大容量的特点,是允许存在坏块的(存在失效地址单元),NAND FLASH 生产厂商如果在生产过程中消除坏块会导致成品率太低、性价比很差,所以在出厂前要在高温、高压条件下检测生产过程中产生的坏块,对产生的坏块写入坏块标记,防止用户使用时向坏块写入数据;而NOR FLASH是不允许出现失效地址单元。
5、擦写次数FLASH由于写入和擦除数据时会导致介质的氧化降解,而NOR FLASH 擦写次数寿命只有NAND FLASH 的十分之一,故NOR FLASH 并不适合频繁地擦写。
6、适用性NOR FLASH较容易与其它芯片进行连接,可以直接使用,而NAND FLASH在使用前必须先写入驱动程序,而且为了防止向坏块写入内容,必须建立块地址的虚拟映射。
NAND flash和NOR flash的区别详解ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM 通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDRRAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。
在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
NOR flash和NAND flash区别ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM 是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM 是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。
在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
NAND flash和NOR flash的区别详解ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDRRAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。
在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
NAND、NOR闪存的基本原理无论NAND还是NOR,两者在基本的数据存储方式和操作机理上都大致相同。
闪存以单晶体管作为二进制信号的存储单元,它的结构与普通的半导体晶体管(场效应管)非常类似,区别在于闪存的晶体管加入了“浮动栅(floating gate)”和“控制栅(Control gate)”—前者用于贮存电子,表面被一层硅氧化物绝缘体所包覆,并通过电容与控制栅相耦合。
当负电子在控制栅的作用下被注入到浮动栅中时,该NAND单晶体管的存储状态就由1变成0。
相对来说,当负电子从浮动栅中移走后,存储状态就由0变成1;而包覆在浮动栅表面的绝缘体的作用就是将内部的电子“困住”,达到保存数据的目的。
如果要写入数据,就必须将浮动栅中的负电子全部移走,令目标存储区域都处于1状态,这样只有遇到数据0时才发生写入动作—但这个过程需要耗费不短的时间,导致不管是NAND还是NOR型闪存,其写入速度总是慢于数据读取的速度。
虽然基本原理相同,但闪存可以有不同的电荷生成与存储方案。
其中应用最广泛的是“通道热电子编程(Channel Hot Electron,CHE)”,该方法通过对控制栅施加高电压,使传导电子在电场的作用下突破绝缘体的屏障进入到浮动栅内部,反之亦然,以此来完成写入或者抹除动作;另一种方法被称为“Fowler-Nordheim(FN)隧道效应法”,它是直接在绝缘层两侧施加高电压形成高强度电场,帮助电子穿越氧化层通道进出浮动栅。
NOR闪存同时使用上述两种方法,CHE用于数据写入,支持单字节或单字编程;FN法则用于擦除,但NOR 不能单字节擦除,必须以块为单位或对整片区域执行擦除操作,由于擦除和编程速度慢、块尺寸也较大,使得NOR闪存在擦除和编程操作中所花费的时间很长,无法胜任纯数据存储和文件存储之类的应用,但它的优点是可支持代码本地直接运行;其次,NOR闪存采用随机存储方式,设备可以直接存取任意区域的数据,因此NOR闪存底部有大量的信号引脚,且每个单晶体管都需要辅助读写的逻辑,晶体管利用效率较低、容量不占优势。
emmc、Nandflash、Norflash之间的区别一、定义及区别emmc:全称为embeded MultiMedia Card,是一种嵌入式非易失性存储器系统,由Nand flash和Nand flash控制器组成,以BGA方式封装在一款chip上。
Nand flash:一种存储数据介质;若要读取其中的数据,需要外接的主控电路。
Nor flash:也是一种存储介质;它的存储空间一般比较小,但它可以不用初始化,可以在其内部运行程序,一般在其存储一些初始化内存的固件代码;这里主要重点讲的是emmc 和Nand flash 之间的区别,主要区别如下:(1)、在组成结构上:emmc存储芯片简化了存储器的设计,将NAND Flash芯片和控制芯片以MCP技术封装在一起,省去零组件耗用电路板的面积,同时也让手机厂商或是计算机厂商在设计新产品时的便利性大大提高。
而NAND Flash仅仅只是一块存储设备,若要进行数据传输的话,只能通过主机端的控制器来进行操作,两者的结构图如下:(2)、在功能上:eMMC则在其内部集成了Flash Controller,包括了协议、擦写均衡、坏块管理、ECC校验、电源管理、时钟管理、数据存取等功能。
相比于直接将NAND Flash接入到Host 端,eMMC屏蔽了 NAND Flash 的物理特性,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 NAND Flash 进行特殊的处理。
同时,eMMC通过使用Cache、Memory Array 等技术,在读写性能上也比NAND Flash要好很多。
而NAND Flash 是直接接入Host 端的,Host 端通常需要有 NAND Flash Translation Layer,即NFTL 或者 NAND Flash 文件系统来做坏块管理、ECC等的功能。
另一方面,emmc的读写速度也比NAND Flash的读写速度快,emmc 的读写可高达每秒50MB到100MB以上;二、emmc的初始化和数据通信emmc与主机之间通信的结构图:其中包括Card Interface(CMD,DATA,CLK)、Memory core interface、总线接口控制(Card Interface Controller)、电源控制、寄存器组。
MTD 驱动程序NAND AND NOR Flash区别MTD 驱动程序是专门针对嵌入式Linux的一种驱动程序,相对于常规块设备驱动程序(比如PC中的IDE硬盘)而言,MTD驱动程序能更好的支持和管理闪存设备,因为它本身就是专为闪存设备而设计的.具体地讲,基于MTD的FLASH驱动,承上可以很好地支持cramfs,jffs2和yaffs等文件系统,启下也能对FLASH的擦除,读写,FLASH坏块以及损耗平衡进行很好的管理。
所谓损耗平衡,是指对NAND的擦写不能总是集中在某一个或某几个block 中,这是由NAND芯片有限的擦写次数的特性决定的。
总之,在现阶段,要为FLASH设备开发Linux下的驱动程序,那么基于MTD的开发将几乎是省时又省力的唯一选择!一、NAND和NOR的区别Google “Nand Flash和Nor Flash的区别”。
简单点说,主要的区别就是:1、NAND比NOR便宜;NAND的容量比NOR大(指相同成本);NAND的擦写次数是NOR的十倍;NAND的擦除和写入速度比NOR快,读取速度比NOR稍慢;2、NAND和NOR的读都可以以字节为单位,但NAND的写以page为单位,而NOR可以随机写每一个字节。
NAND和NOR的擦除都以block为单位,但一般NAND的block比NOR的block小。
另外,不管是NAND还是NOR,在写入前,都必须先进行擦除操作,但是NOR在擦除前要先写0;3、NAND不能在片内运行程序,而NOR可以.但目前很多CPU都可以在上电时,以硬件的方式先将NAND的第一个block中的内容(一般是程序代码,且也许不足一个block,如2KB大小)自动copy到ram中,然后再运行,因此只要CPU支持,NAND也可以当成启动设备;4、NAND和NOR都可能发生比特位反转(但NAND反转的几率远大于NOR),因此这两者都必须进行ECC操作;NAND可能会有坏块(出厂时厂家会对坏块做标记),在使用过程中也还有可能会出现新的坏块,因此NAND驱动必须对坏块进行管理。
看DATASHEETNOR Flash上数据线和地址线是分开的NAND Flash上数据线和地址线是共用的NOR FLASH/NAND FLASH 是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。
紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。
NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。
NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。
NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。
应用NAND的困难在于Flash的管理和需要特殊的系统接口。
通常NOR的速度比NAND稍快一些,而NAND 的写入速度比NOR快很多,在设计中应该考虑这些情况。
闪存只是用来存储少量的代码,这时NOR闪存更适合一些。
而NAND则是高数据存储密度的理想解决方案。
NOR/NAND FLASH 性能比较flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。
任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。
由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。
执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。
nor flash和nand flash的原理
Nor Flash和Nand Flash是两种不同的闪存存储器技术,具有
不同的工作原理。
1. Nor Flash原理:
Nor Flash是一种非易失性存储器技术,采用了行列式的存储
结构。
它由一组相互连接的存储单元组成,每个存储单元可以存储一个位信息(0或1)。
每个存储单元有自己的地址,通
过提供正确的地址和时钟信号,可以从Nor Flash中读取数据。
Nor Flash的读取操作是以字节为单位进行的,因此可以快速
地访问任何存储位置。
另外,Nor Flash还支持随机访问,即
可以直接按地址读取任何存储单元的数据。
2. Nand Flash原理:
Nand Flash也是一种非易失性存储器技术,采用了串行式的存
储结构。
它由一组相互连接的存储单元组成,每个存储单元可以存储多个位信息。
Nand Flash的读取操作是以块为单位进行的,需要按照顺序从存储块的开头读取数据。
Nand Flash没有
提供直接随机访问的功能,需要通过读取整块数据,并在内部进行解码和处理才能获取所需的数据。
Nor Flash和Nand Flash在存储密度、读写速度、擦除操作等
方面有着不同的优势和局限性。
Nor Flash适用于在系统中需
要频繁读取数据的应用场景,如代码执行、系统启动等;而Nand Flash适用于需要较大存储容量和较低成本的应用场景,
如音视频存储、移动设备存储等。
详细剖析NorFlash和NandFlash的区别Flash编程原理都是只能将1写为0,而不能将0写成1。
所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是将所有位都写为1的过程,块内的所有字节变为0xFF。
因此可以说,编程是将相应位写0的过程,而擦除是将相应位写1的过程,两者的执行过程完全相反。
(1)闪存芯片读写的基本单位不同应用程序对NorFlash芯片操作以“字”为基本单位。
为了方便对大容量NorFlash闪存的管理,通常将NOR闪存分成大小为128KB或64KB的逻辑块,有时块内还分扇区。
读写时需要同时指定逻辑块号和块内偏移。
应用程序对NandFlash芯片操作是以“块”为基本单位.NAND闪存的块比较小,一般是8KB,然后每块又分成页,页大小一般是512字节。
要修改NandFlash芯片中一个字节,必须重写整个数据块。
(2)NorFlash闪存是随机存储介质,用于数据量较小的场合;NandFlash闪存是连续存储介质,适合存放大的数据。
(3)由于NorFlash地址线和数据线分开,所以NorFlash芯片可以像SDRAM一样连在数据线上。
NOR芯片的使用类似于通常内存芯片,传输效率高,可执行程序可以在芯片内执行(XI P, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中.由于NorFlash的这个特点,嵌入式系统中经常将NOR芯片做启动芯片使用。
NandFlash共用地址和数据总线,需要额外联结一些控制的输入输出,所以直接将NAND 芯片做启动芯片比较难。
(4)NandFlash闪存芯片因为共用地址和数据总线的原因,不允许对一个字节甚至一个块进行的数据清空,只能对一个固定大小的区域进行清零操作;NorFlash芯片可以对字进行操作。
所以在处理小数据量的I/O操作的时候的速度要快与NorFlash的速度。
比如一块NorFlash芯片通常写一个字需要10us,在32位总线上写512字节需要1280us;NandFlash 闪存写512字节需要的时间包括:512×每字节50ns+10us的寻页时间+200us的片擦写时间=234us。
NANDflash和NORflash的区别两种并行FLASHFlash存储器又称闪存,是一种可以在线多次擦除的非易失性存储器,即掉电后数据不会丢失,具体积小、功耗低、抗振性强等优点,为嵌入式系统中典型的两种存储设备。
1、NOR型Flash:如SST39VF160,可以直接读取芯片内存储器的数据,速度比较快,但价格较高;芯片内执行(XIP,eXecute In Place),应用程序可以直接在Flash上运行,不必再把代码读到系统RAM中;2、NAND型Flash:如K9F2808U0C,内部数据以块为单位存储,地址线和数据线共用,使用控制信号选择;极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也快,应用NAND型的困难在于Flash的管理需要特殊的系统接口。
3、细述二者的差别:(1)、接口差别:NOR型Flash采用的SRAM接口,提供足够的地址引脚来寻址,可以很容易的存取其片内的每一个字节;NAND型Flash使用复杂的I/O口来串行的存取数据,各个产品或厂商的方法可能各不相同,通常是采用8个I/O引脚来传送控制、地址、数据信息。
(2)、读写的基本单位:NOR型Flash操作是以“字”为基本单位,而NAND型Flash 以“页面”为基本单位,页的大小一般为512字节。
(3)、性能比较:NOR型Flash的地址线和数据线是分开的,传输效率很高,程序可以在芯片内部执行,NOR型的读速度比NAND稍快一些;NAND型Flash写入速度比NOR型Flash快很多,因为NAND读写以页为基本操作单位。
(4)、容量和成本:NAND型Flash具有较高的单元密度,容量可以做得比较大,加之其生产过程更为简单,价格较低;NOR型Flash占据了容量为1~16MB闪存市场的大部分,而NAND型Flash只是用在8~128MB 的产品中,这也说明NOR主要用在代码存储介质中,NAND适合数据存储在CompactFlash、PC Cards、MMC存储卡市场上所占的份额最大。
flash(nand nor)原理闪存(Flash)技术利用的场效应管就是浮栅场效应管FLASH技术是采用特殊的浮栅场效应管作为存储单元。
这种场效应管的结构与普通场管有很大区别。
它具有两个栅极,一个如普通场管栅极一样,用导线引出,称为“选择栅”;另一个则处于二氧化硅的包围之中不与任何部分相连,这个不与任何部分相连的栅极称为“浮栅”。
通常情况下,浮栅不带电荷,则场效应管处于不导通状态,场效应管的漏极电平为高,则表示数据1。
编程时,场效应管的漏极和选择栅都加上较高的编程电压,源极则接地。
这样大量电子从源极流向漏极,形成相当大的电流,产生大量热电子,并从衬底的二氧化硅层俘获电子,由于电子的密度大,有的电子就到达了衬底与浮栅之间的二氧化硅层,这时由于选择栅加有高电压,在电场作用下,这些电子又通过二氧化硅层到达浮栅,并在浮栅上形成电子团。
浮栅上的电子团即使在掉电的情况下,仍然会存留在浮栅上,所以信息能够长期保存(通常来说,这个时间可达10年)。
由于浮栅为负,所以选择栅为正,在存储器电路中,源极接地,所以相当于场效应管导通,漏极电平为低,即数据0被写入。
擦除时,源极加上较高的编程电压,选择栅接地,漏极开路。
根据隧道效应和量子力学的原理,浮栅上的电子将穿过势垒到达源极,浮栅上没有电子后,就意味着信息被擦除了。
由于热电子的速度快,所以编程时间短,并且数据保存的效果好,但是耗电量比较大。
flash memory 是从ROM、PROM、EPROM、EEPROM这样一步步发展过来的。
EPROM、EEPROM、FLASH MEMORY的核心部件都是一个浮置栅场效应管,通过在浮置栅上放置电子和没有电子两种状态来区分0、1。
由于浮栅中电子的变化,存贮单元的阈值电压也会随之而改变,向浮栅中注入电子时,域值电压升高,加正常电压不能使该管导通定义为“1”;将浮栅中的电子拉出,加正常电压导通,定义为0。
也有说通过检测该管有电流通过为1,无电流通过为0,这样就是有电子为0,无电子为1。
NAND与NOR FLASH的原理与异同一、存储数据的原理两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的电流消耗极小,不同的是场效应管为单栅极结构,而FLASH为双栅极结构,在栅极与硅衬底之间增加了一个浮置栅极。
浮置栅极是由氮化物夹在两层二氧化硅材料之间构成的,中间的氮化物就是可以存储电荷的电荷势阱。
上下两层氧化物的厚度大于50埃,以避免发生击穿。
(注:本人认为上面提到的“氮化物夹在两层二氧化硅材料之间”其中的氮化物并不是浮栅,把氮化物夹在两层二氧化硅材料之间是为了在相同的绝缘效果下减少氧化层的厚度。
目前做过的项目中浮栅的材质和控制栅是一样的)二、浮栅的充放电向数据单元内写入数据的过程就是向电荷势阱注入电荷的过程,写入数据有两种技术,热电子注入(hot electron injection)和F-N隧道效应(Fowler Nordheim tunneling),前一种是通过源极给浮栅充电,后一种是通过硅基层给浮栅充电。
NOR型FLASH通过热电子注入方式给浮栅充电,而NAND则通过F-N隧道效应给浮栅充电。
(热电子注入效应需要的电压比F-N隧道效应的高?是否会因为这样NAND的电源电压可以比较低?)在写入新数据之前,必须先将原来的数据擦除,这点跟硬盘不同,也就是将浮栅的电荷放掉,两种FLASH都是通过F-N隧道效应放电。
(两种类型的都必须将原来的数据擦除?)三、0和1这方面两种FLASH一样,向浮栅中注入电荷表示写入了'0',没有注入电荷表示'1',所以对FLASH清除数据是写1的,这与硬盘正好相反;(这个应该只是规定的问题。
浮栅中存有电荷,阈值电压变高,读电压下管子没有开启,没有电流,称为0状态。
1状态相反)对于浮栅中有电荷的单元来说,由于浮栅的感应作用,在源极和漏极之间将形成带正电的空间电荷区,这时无论控制极上有没有施加偏置电压,晶体管都将处于导通状态。
NorFlash与NandFlash(2008-10-31 10:19:46)FLASH存储器又称闪存,主要有两种:NorFlash和NandFlash,下面我们从多个角度来对比介绍一下。
在实际开发中,设计者可以根据产品需求来进行闪存的合理选择。
1、接口对比NorFlash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。
NorFlash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
如uboot中的ro段可以直接在NorFlash上运行,只需要把rw和zi段拷贝到RAM中运行即可。
NandFlash器件使用复杂的I/O口来串行地存取数据,8个引脚用来传送控制、地址和数据信息。
由于时序较为复杂,所以一般CPU最好集成NAND控制器。
另外由于NandFlash没有挂接在地址总线上,所以如果想用NandFlash作为系统的启动盘,就需要CPU具备特殊的功能,如s3c2410在被选择为NandFlash启动方式时会在上电时自动读取NandFlash的4k数据到地址0的SRAM中。
如果CPU不具备这种特殊功能,用户不能直接运行NandFlash上的代码,那可以采取其他方式,比如好多使用NandFlash的开发板除了使用NandFlash以外,还用上了一块小的NorFlash来运行启动代码。
2、容量和成本对比相比起NandFlash来说,NorFlash的容量要小,一般在1~16MByte左右,一些新工艺采用了芯片叠加技术可以把NorFlash的容量做得大一些。
在价格方面,NorFlash相比NandFlash 来说较高,如目前市场上一片4Mbyte的AM29lv320 NorFlash零售价在20元左右,而一片128MByte的k9f1g08 NandFlash零售价在30元左右。
NAND flash和NOR flash的区别详解ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDRRAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。
在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
NAND与NOR FLASH的原理与异同!一、存储数据的原理两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的电流消耗极小,不同的是场效应管为单栅极结构,而FLASH为双栅极结构,在栅极与硅衬底之间增加了一个浮置栅极。
[attach]158 [/attach]浮置栅极是由氮化物夹在两层二氧化硅材料之间构成的,中间的氮化物就是可以存储电荷的电荷势阱。
上下两层氧化物的厚度大于50埃,以避免发生击穿。
二、浮栅的重放电向数据单元内写入数据的过程就是向电荷势阱注入电荷的过程,写入数据有两种技术,热电子注入(hot electron injection)和F-N隧道效应(Fowler Nordheim tunneling),前一种是通过源极给浮栅充电,后一种是通过硅基层给浮栅充电。
NOR型FLASH通过热电子注入方式给浮栅充电,而NAND则通过 F-N隧道效应给浮栅充电。
在写入新数据之前,必须先将原来的数据擦除,这点跟硬盘不同,也就是将浮栅的电荷放掉,两种FLASH都是通过F-N隧道效应放电。
三、0和1这方面两种FLASH一样,向浮栅中注入电荷表示写入了'0',没有注入电荷表示'1',所以对FLASH清除数据是写1的,这与硬盘正好相反;对于浮栅中有电荷的单元来说,由于浮栅的感应作用,在源极和漏极之间将形成带正电的空间电荷区,这时无论控制极上有没有施加偏置电压,晶体管都将处于导通状态。
而对于浮栅中没有电荷的晶体管来说只有当控制极上施加有适当的偏置电压,在硅基层上感应出电荷,源极和漏极才能导通,也就是说在没有给控制极施加偏置电压时,晶体管是截止的。
如果晶体管的源极接地而漏极接位线,在无偏置电压的情况下,检测晶体管的导通状态就可以获得存储单元中的数据,如果位线上的电平为低,说明晶体管处于导通状态,读取的数据为0,如果位线上为高电平,则说明晶体管处于截止状态,读取的数据为1。
由于控制栅极在读取数据的过程中施加的电压较小或根本不施加电压,不足以改变浮置栅极中原有的电荷量,所以读取操作不会改变FLASH中原有的数据。
四、连接和编址方式两种FLASH具有相同的存储单元,工作原理也一样,为了缩短存取时间并不是对每个单元进行单独的存取操作,而是对一定数量的存取单元进行集体操作, NAND型FLASH各存储单元之间是串联的,而NOR型FLASH各单元之间是并联的;为了对全部的存储单元有效管理,必须对存储单元进行统一编址。
NAND的全部存储单元分为若干个块,每个块又分为若干个页,每个页是512byte,就是512个8位数,就是说每个页有512条位线,每条位线下有8个存储单元;那么每页存储的数据正好跟硬盘的一个扇区存储的数据相同,这是设计时为了方便与磁盘进行数据交换而特意安排的,那么块就类似硬盘的簇;容量不同,块的数量不同,组成块的页的数量也不同。
在读取数据时,当字线和位线锁定某个晶体管时,该晶体管的控制极不加偏置电压,其它的7个都加上偏置电压而导通,如果这个晶体管的浮栅中有电荷就会导通使位线为低电平,读出的数就是0,反之就是1。
NOR的每个存储单元以并联的方式连接到位线,方便对每一位进行随机存取;具有专用的地址线,可以实现一次性的直接寻址;缩短了FLASH对处理器指令的执行时间。
五、性能1、速度在写数据和擦除数据时,NAND由于支持整块擦写操作,所以速度比NOR要快得多,两者相差近千倍;读取时,由于NAND要先向芯片发送地址信息进行寻址才能开始读写数据,而它的地址信息包括块号、块内页号和页内字节号等部分,要顺序选择才能定位到要操作的字节;这样每进行一次数据访问需要经过三次寻址,至少要三个时钟周期;而NOR型FLASH的操作则是以字或字节为单位进行的,直接读取,所以读取数据时,NOR有明显优势。
2、容量和成本NOR型FLASH的每个存储单元与位线相连,增加了芯片内位线的数量,不利于存储密度的提高。
所以在面积和工艺相同的情况下,NAND型FLASH的容量比NOR要大得多,生产成本更低,也更容易生产大容量的芯片。
3、易用性NAND FLASH的I/O端口采用复用的数据线和地址线,必须先通过寄存器串行地进行数据存取,各个产品或厂商对信号的定义不同,增加了应用的难度;NOR FLASH有专用的地址引脚来寻址,较容易与其它芯片进行连接,另外还支持本地执行,应用程序可以直接在FLASH内部运行,可以简化产品设计。
4、可靠性NAND FLASH相邻单元之间较易发生位翻转而导致坏块出现,而且是随机分布的,如果想在生产过程中消除坏块会导致成品率太低、性价比很差,所以在出厂前要在高温、高压条件下检测生产过程中产生的坏块,写入坏块标记,防止使用时向坏块写入数据;但在使用过程中还难免产生新的坏块,所以在使用的时候要配合 EDC/ECC(错误探测/错误更正)和BBM(坏块管理)等软件措施来保障数据的可靠性。
坏块管理软件能够发现并更换一个读写失败的区块,将数据复制到一个有效的区块。
5、耐久性FLASH由于写入和擦除数据时会导致介质的氧化降解,导致芯片老化,在这个方面NOR 尤甚,所以并不适合频繁地擦写,NAND的擦写次数是100万次,而NOR只有10万次。
目前Flash主要有两种NOR Flash和NADN Flash。
NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。
NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。
用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。
目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。
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)算法。