NAND Flash与NOR Flash究竟有何不同|半导体行业观察
来源:内容由 微信公众号 半导体行业观察 (ID:icbank) 翻译自「embedded」,作者 Avinash Aravindan,谢谢。
嵌入式系统设计人员在选择闪存时必须考虑许多因素:使用哪种类型的Flash架构,是选择串行接口还是并行接口,是否需要校验码(ECC)等。如果处理器或控制器仅支持一种类型的接口,则会限制选项,因此可以轻松选择内存。但是,情况往往并非如此。例如,一些FPGA支持串行NOR闪存、并行NOR闪存和NAND闪存来存储配置数据,同样,它们也可以用来存储用户数据,这使得选择正确的存储器件更加困难。本文将讨论闪存的不同方面,重点放在NOR闪存和NAND闪存的差异方面。
存储架构
闪存将信息存储在由浮栅晶体管制成的存储单元中。这些技术的名称解释了存储器单元的组织方式。在NOR闪存中,每个存储器单元的一端连接到源极线,另一端直接连接到类似于NOR门的位线。在NAND闪存中,几个存储器单元(通常是8个单元)串联连接,类似于NAND门(参见图1)。
NOR Flash(左)具有类似NOR门的架构。NAND Flash(右)类似于NAN
NOR Flash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100%已知的零件寿命。缺点包括较大的单元尺寸导致每比特的较高成本和较慢的写入和擦除速度。
相比之下,与NOR闪存相比,NAND闪存具有更小的单元尺寸和更高的写入和擦除速度。缺点包括较慢的读取速度和I / O映射类型或间接接口,这更复杂并且不允许随机访问。值得注意的是,NAND Flash中的代码执行是通过将内容映射到RAM来实现的,这与直接从NOR Flash执行代码不同。另一个主要缺点是存在坏块。NAND闪存通常在部件的整个生命周期内出现额外的位故障时具有98%的良好位,因此,器件内需要ECC功能。
存储容量
与NOR闪存相比,NAND闪存的密度要高得多,主要是因为其每比特成本较低。NAND闪存通常具有1Gb至16Gb的容量。NOR闪存的密度范围从64Mb到2Gb。由于NAND Flash具有更高的密度,因此主要用于数据存储应用。
擦除/读写
在NOR和NAND闪存中,存储器被组织成擦除块。该架构有助于在保持性能的同时保持较低的成本,例如,较小的块尺寸可以实现更快的擦除周期。然而,较小块的缺点是芯片面积和存储器成本增加。由于每比特成本较低,与NOR闪存相比,NAND闪存可以更经济高效地支持更小的擦除块。目前,NAND闪存的典型块大小为8KB至32KB,NOR Flash为64KB至256KB。
NAND闪存中的擦除操作非常简单,而在NOR闪存中,每个字节在擦除之前都需要写入“0”。这使得NOR闪存的擦除操作比NAND闪存慢得多。例如,NAND闪存S34ML04G2需要3.5ms才能擦除128KB块,而NOR闪存S70GL02GT则需要约520ms来擦除类似的128KB扇区。这相差近150倍。
如前所述,NOR闪存具有足够的地址和数据线来映射整个存储区域,类似于SRAM的工作方式。例如,具有16位数据总线的2Gbit(256MB)NOR闪存将具有27条地址线,可以对任何存储器位置进行随机读取访问。在NAND闪存中,使用多路复用地址和数据总线访问存储器。典型的NAND闪存使用8位或16位多路复用地址/数据总线以及其他信号,如芯片使能,写使能,读使能,地址锁存使能,命令锁存使能和就绪/忙碌。NAND Flash需要提供命令(读,写或擦除),然后是地址和数据。这些额外的操作使NAND闪存的随机读取速度慢得多。例如,NAND闪存S34ML04G2需要30μS,而NOR闪存S70GL02GT需要120nS。因此,NOR比NAND快250倍。
为了克服或减少较慢读取速度的限制,通常以NAND闪存中的页方式读取数据,每个页是擦除块的较小子部分。仅在每个读取周期开始时使用地址和命令周期顺序读取一页的内容。NAND闪存的顺序访问持续时间通常低于NOR闪存设备中的随机访问持续时间。利用NOR Flash的随机访问架构,需要在每个读取周期切换地址线,从而累积随机访问以进行顺序读取。随着要读取的数据块的大小增加,NOR闪存中的累积延迟变得大于NAND闪存。因此,NAND Flash顺序读取可以更快。但是,由于NAND Flash的初始读取访问持续时间要长得多,两者的性能差异只有在传输大数据块时才是明显的,通常大小要超过1 KB。
在两种Flash技术中,只有在块为空时才能将数据写入块。NOR Flash的慢速擦除操作使写操作更慢。在NAND Flash中,类似于读取,数据通常以页形式编写或编程(通常为2KB)。例如,单独使用NAND闪存S34ML04G2 写入页面需要300μS。
为了加快写入操作,现代NOR Flashes还采用类似于页面写入的缓冲区编程。例如,前文所述的NOR闪存S70GL02GT,支持缓冲器编程,这使其能够实现与单词相似写入超时多字节编程。例如,512字节数据的缓冲区编程可以实现1.14MBps的吞吐量。
能耗
NOR闪存在初始上电期间通常需要比NAND闪存更多的电流。但是,NOR Flash的待机电流远低于NAND Flash。两个闪存的瞬时有功功率相当。因此,有效功率由存储器活动的持续时间决定。NOR Flash在随机读取方面具有优势,而NAND Flash在擦除,写入和顺序读取操作中消耗的功率相对较低。
可靠性
保存数据的可靠性是任何存储设备的重要性能指标。闪存会遭遇称为位翻转的现象,其中一些位可以被反转。这种现象在NAND闪存中比在NOR闪存中更常见。出于产量考虑,NAND闪存随附着散布的坏块,随着擦除和编程周期在NAND闪存的整个生命周期中持续,更多的存储器单元变坏。因此,坏块处理是NAND闪存的强制性功能。另一方面,NOR闪存带有零坏块,在存储器的使用寿命期间具有非常低的坏块累积。因此,当涉及存储数据的可靠性时,NOR Flash具有优于NAND Flash的优势。
可靠性的另一个方面是数据保留,这方面,NOR Flash再次占据优势,例如,NOR Flash闪存S70GL02GT提供20年的数据保留,最高可达1K编程/擦除周期,NAND闪存S34ML04G2提供10年的典型数据保留。
编程和擦除周期的数量曾是一个需要考虑的重要特性。这是因为与NOR闪存相比,NAND闪存用于提供10倍更好的编程和擦除周期。随着技术进步,这已不再适用,因为这两种存储器在这方面的性能已经很接近。例如,S70GL02GT NOR和S34ML04G2 NAND都支持100,000个编程 - 擦除周期。但是,由于NAND闪存中使用的块尺寸较小,因此每次操作都会擦除较小的区域。与NOR Flash相比,其整体寿命更长。
表1提供了本文中讨论的主要内容摘要。
NOR闪存和NAND闪存的主要特性与一般和具体比较数据的比较。
通常,NOR闪存是需要较低容量、快速随机读取访问和更高数据可靠性的应用的理想选择,例如代码执行所需。NAND闪存则非常适用于需要更高内存容量和更快写入和擦除操作的数据存储等应用。
外行解说-NVM Non-Volatile Memory
感谢当年的Jimmy,花了一个月时间让我学会了Flash,虽然没做过Flash但是这个入门足以让我很精通,时至今日我依然能够靠我的笔记写完所有的东西。
存储器(Memory),是现代电子系统中用于保存二进制数据信息的记忆设备,它根据控制器指定的位置存入和取出信息。正是有了存储器,我们的计算机和电子设备才有了记忆功能,比如每个身份证才能对应不同的人,每个sim卡对应一个手机号等等。按照用途分我们的存储器分为两类,一类是用于电路在工作过程中存储临时信息,比如地址编码或者临时堆栈等,只能有电才工作断电就复位了,这类存储器叫做动态随机存储器(RAM: Random Access Memory),比如DRAM、SRAM(后面再专题讲SRAM和DRAM)。而另外一种是用来永久存储数据信息的,即使断电还依旧保存着数据,叫做只读存储器(ROM: Read Only Memory),比如EEPROM, OTP/MTP、Flash。其中RAM的SRAM和DRAM都是由Intel在1970年发明的,而EPROM和EEPROM也是Intel分别于1971年和1979年发明的,直到1984年Toshiba发明了flash才带动了闪存的巨大发展。
随着物联网和大数据趋势的来临,数据存储必将是兵家必争之地。紫光收购美光失败,转战收购西部数据(WD),再由西部数据曲线收购Sandisk进军NAND Flash。Intel大连Fab68厂由于PC产业的巨大衰退不得不斥资55亿美元改造成NAND Flash厂。可想而知未来NAND Flash存储器的重要性。单纯从产值角度讲存储器和微处理器占整个半导体产业的22%和19%,可以说是整个半导体产业的基石,要想在半导体行业混得好,就抢这两个吧~当然我们今天学习的重点就是非挥发性存储器(Non-Volatile-Memory),也就是断电可以继续存储的存储器。
很多时候大家一讲到NVM,都会想到Flash。但是这两者是不一样的,Flash只是NVM的一种。NVM是指断电数据不会消失的意思,所以ROM (EPROM/EEPROM)、Flash、FeRAM/MRAM(铁电/磁电)都算。我十年前做PIE的时候第一个产品是0.5um mask ROM,那就是最古老的NVM了 (当然fuse也可以算是一种OTP的NVM),它的实现过程就是通过一张ROM code光罩选择性打NMOS Array的implant实现每个bit的NMOS是ON还是OFF来实现“0”和“1”,这就是BANK后面用不同光罩实现编程的,比较简单。
1、浮栅技术(FG: Floating Gate)
抛开上面讲的ROM Code implant,还有FeRAM/MRAM也不是我们讨论的重点。其他的所有NVM的精髓都有Floating Gate (浮栅) ,它和普通的MOSFET差异在于它是双层Poly,上面的Poly是Control Gate (控制栅) ,通过对浮栅充电(Charge)并且浮栅被包裹在绝缘体(oxide)里面而实现“0”和“1”的存储,再细分包括EPROM/OTP(电编程UV光擦除),EEPROM/MTP(电编程电擦除),Flash(电编程电擦除)。
话说这个浮栅(FG: Floating Gate)和上面的控制栅(CG: Control Gate)一起,当控制栅加上电压Vg之后,控制栅会通过下面的浮栅产生耦合作用使得沟道开启,产生热载流子通过浮栅下面的Tunnel oxide隧穿进入浮栅从而达到Program的目的。而这个耦合的要求是尽可能耦合的越高越容易开启,简单点理解就是电容CG与FG之间的介质层(ONO)电容越大越容易让控制栅的电压转嫁给浮栅从而间接开启沟道,这就是耦合作用。而这个耦合是由控制栅与浮栅之间的电容以及浮栅与沟道之间的栅氧的比例决定的,这就是传说中的Gate Coupling Ratio (GCR)。实际上这个GCR测试是靠浮栅MOSFET的Vt以及flash cell的Vt的比值来计算出来的。
2、浮栅充电(Program)/放电(Erase)机理
如果要实现数据的存储,也就是要对浮栅充电或放电实现program和Erase的过程,最终完成“0”和“1”的写入并存储。但是如何实现这个浮栅电子的写入和擦除?我们姑且称之为电荷转移(Charge Transfer),书面定义为使得电荷穿过介质层(如OX或者ONO)进入浮栅或者从浮栅里面擦除。
一般情况下这个电荷转移有四种方式:CHEI、SSI、FN、BTBT。其实这些原理都是利用了MOSFET的漏电,在Gate端通过电压控制使其主动进入到浮栅里面去。是不是很有意思?让我们逐个来学习一下。
1) CHEI (Channel Hot Electron Injection): 我们在常规MOSFET里面,HCI injection容易进入GOX形成Gate Leak,当然在浮栅存储器里面就被trap在浮栅里面program了。但是在浮栅存储器里面它可是program好不好的关键。曾听说施敏教授发明这个技术的时候灵感来自于咖啡撒泼了,想到如何让热载流子变废为宝?
为了能够有效programing,必须Gate高压(8~12V)感应到浮栅上(4~6V),Drain端4~5V。0.5us~10us/cell,200~500uA/cell。
2) SSI (Source Side Injection): 这就是我们的1.5T Split-Gate,在source端放一个Select-MOS,而这个select-MOS的drain就是cell的source,这样在select-MOS的drain端产生的Hot-Carrier就可以从cell的source端注入到浮栅里面去。而这个select-MOS的gate就是select-gate,可以把它与control gate合在一起形成split gate。这样的bit cell面积比2T的面积小,更容易做high density。0.5us~10us/cell,1~5uA/cell,优势与CHEI相比如何?
3) FN Tunneling: 主要利用介质氧化层的FN Tunnel特性将电子program和Erase到浮栅里面去。(FN Tunnel的原理请参阅:http://ic-garden.cn/?p=680)。100us~100ms/cell,10-5~10-3uA/cell。看你是要超低电荷还是需要速度了?
举个例子,1.5T的Split-Gate里面的Erase就是靠Poly-Poly的tips的电场让浮栅电荷通过FN tunneling释放掉。
4) Band-to-Band Tunneling: 这个主要是利用GIDL产生的带间隧穿漏电让它注入(inject)到浮栅里面去。GIDL原理:http://ic-garden.cn/?p=489。
总结,当完成Charge transfer之后,我们的Flash Cell的浮栅里面有了负电荷也就相当于我们的MOSFET栅极下面有负电荷了,所以我们的Vt会变高(因为需要Extra电压抵消它),所以我们常说Program-High/Erase-Low就是这个意思。而它的I-V曲线和常规的MOSFET不太一样,主要是因为Program使得Vt变高,所以Isat变低,后面等充电完成后又逐渐回到饱和Isat。
3、Flash与EPROM/EEPROM的区别: 话说这flash和EPROM以及EEPROM都是floating gate器件,他们到底区别是什么?
EPROM是靠Hot-Electron program然后用UV Erase,EEPROM的program和Erase都是靠FN-Tunneling完成的。而Flash是靠Hot-Electron Program然后靠FN-Tunneling Erase掉。所以EPROM+EEPROM=Flash。
而对于EEPROM和Flash来讲,虽然Erase都是FN-Tunneling,但是EEPROM是按照by-bit Erase的,而Flash是common source的,所以是Block Erase的。
4、Flash Cell的分类:
1) ETOX (EPROM Tunnel OXide): 这是Intel于1988年的专利,也是业界使用的Flash Cell的标准。从bit-line看过去,它就是标准的double-poly cell,所以为了区分后面提到的Split-Gate,又称之为Stack-Gate Flash Cell。
2) Split Gate: 这就是上面提到的SSI (Source-Side Injection)在Flash Cell的Drain-Side串联一个Select-MOS结构,然后把select-Gate与cell的Control-Gate合在一起就是1.5T split-gate了。很多Embedded都是用这种cell。
5、NAND与NOR Flash的区别及应用: 上面才提过Flash Cell的种类,接下来如何把这些cell连接起来?串联还是并联?这就是我们讲的NAND还是NOR。所以NAND-Flash的字面意思就是逻辑运算里面的“AND”或者“与”,就是把每个bit都串联起来,一般是16bit在一条bit-line上一个挨一个最后一个contact连出去就行了。而NOR-Flash则是把每个bit并联起来,一个bit一个contact,然后把这些contact通过一条Word-Line连出去就行了。所以光这一条区别就知道哪个密度大了吧?这就是为什么存储器一定要用NAND-Flash了。
难道NOR就一无是处?答案肯定是错的!虽然NAND密度大,但是它毕竟是串联的,到最后一个bit肯定需要时间的,所以它的Access-Time比较长,另外根据基尔荷夫电压定律,串联电压肯定逐渐降低,为了保证最后一个bit能够program,所以必须higher program/erase电压。那NAND的缺点自然就是NOR的优点了,它是并联的自然它就可以随便选择任何一个bit了,而且Access时间短速度快,所以通常NOR主要用于非存储类的应用,比如电子设备的代码存储不需要太大的容量但是对速度要求高。而NAND主要用于存储设备如SSD硬盘。
6、Flash技术的Concern:
1) Charge Pump: Flash-Cell的工作需要完成3个动作,一个Program、一个Erase、一个Normal Read。除了Normal Read是器件的正常工作电压外,Program和Erase都需要高电压来完成,而这个高电压怎么来?就是需要Charge-Pump产生。而Charge-Pump的主要concern就是Leakage-Path,比如GIDL。
2) Disturb(串扰): 这个比较容易理解,高密度下的bit与bit之间总会产生干扰的,通常分为Gate-Disturb和Drain-Disturb,前者Gate-Disturb表示选了W/L不选B/L下,旁边的B/L串扰导致的该bit的被soft-program了。而后者的Drain-Disturb则表示选了B/L不选择W/L的时候,相邻的W/L带来的串扰导致该bit被soft-erase了。这个还比较容易通过CP测试screen掉。
3) Over Erase: 同一个bit-line上的cell,容易受相邻的program干扰导致soft-erase,所以在下一次正式Erase的时候它就Over-Erase了。所以Over-Erase随着cycling次数越多,它越严重,这可是可靠性问题啊。但主要发生在NOR flash上。
4) Cycling/Data-Retention: 我们知道所有的Program和Erase都是要电子来回穿过Oxide,这样的过程会damage我们的Oxide甚至软击穿,所以我们擦写的次数以及擦写次数多了后Oxide还能存储浮栅电荷多久?这就是长期可靠性问题。通常Cycling/Endurance的要求是Flash >20~100K次,而EEPROM要求100K~1M次。
还有SONOS技术(Si-ONO-Si),它主要是single-poly靠ONO在两边的OD-edge program/erase电荷的,制程比较简单。至此,我所懂的Flash技术应该就到此了,欢迎补充讨论学习。
相关问答
nand flash 详解?Nand-flash存储器是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速...
Nandflash 和norflash的区别?nandflash和norflash的区别如下:1、开发的公司不同:NORflash是intel公司1988年开发出了NORflash技术。NOR的特点是芯片内执行(XIP,eXecute...
nandflash norflashmcpflash的区别?norflash的存储区是连续的支持连续烧录,nand不支持连续烧录,其存储区不是连续的。nor出厂可以保证是好的,不存在坏块;nand可能存在坏块。其他的区别网上可查...
512M NANDFLASH 是啥意思?扩充(展)内存的意思吧.应该是指你的机扩充(展)了512M的内存.或者最大可以扩充(展)512M内存扩充(展)内存的意思吧.应该是指你的机扩充(展)了512M的内存.或...
inand是什么文件?inand是一个文件系统的缩写,全称为"InternalNANDFlashDisk",意为内部NAND闪存磁盘。它是一种用于嵌入式系统中的存储设备,通常用于存储操作系统、应用...
flash 应用需求 分析 ?需求分析是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统...
NANDFLASH 和DRAM芯片有什么区别?NANDFLASH和DRAM芯片的主要区别在于它们的存储特性和应用方式。NANDFLASH是一种非易失性存储器,即使在断电的情况下也能保留数据。它的擦除单元较小,相应的...
NAND flash 和NOR flash 的区别?NANDFlash和NORFlash都是非易失性存储技术,用于存储数据和程序代码。它们之间的主要区别在于它们的结构、性能和应用场景。以下是它们之间的一些关键差异:1...
为什么 nand flash 会重启?NANDFlash有可能会在使用过程中出现重启的情况,主要是因为其内部电路存在一些问题,比如电容放电不完全、电路噪声等。这些问题会导致NANDFlash内部的某些...
nandflash 片选怎么给?nandflash片选可以通过log实现给nandflash片选可以通过log实现给