芯片逻辑架构上的差异
本文是《让我们谈谈NVRAM》专题的一部分
NOR与NAND闪存之间在市场上的较量一直没有停止过,但是由于两者的个性都比较明显,所以在所针对的应用领域方面倒并没有太多的冲突。不过,这种“平稳”的局面近年来有所打破,而对于某一领域的开发商仍然要关注两者的不同以做出正确的选择。
NOR与NAND的“个性”化特征始于两者的内在设计的区别。从架构上看,NOR闪存的设计明显与传统的DRAM相似,地址线与数据线是独立的。而NAND则是共用的,这也是其与NOR型闪存的最大不同之处。
点击查看大图
NOR闪存的架构图,地址线与数据线是独立的(点击放大)
点击查看大图
NAND闪存的架构图,数据与地址线共用是其一大特点(点击放大)
而从存储阵列的设计上,我们更能发现巨大的差异。NOR闪存的阵列很像传统的DRAM,大多也划分了逻辑Bank(有的厂商称之为分区——Partition),但与DRAM不同的是,逻辑Bank的大小根据设计有时会不相同。至于NAND的阵列设计,则完全是另一回事。
点击查看大图
NOR闪存阵列大多划分了逻辑Bank,与DRAM架构很相似(点击放大)
点击查看大图
NAND闪存的阵列模型,与传统的DRAM截然不同,图为8bit位宽128Mbit芯片(点击放大)
看到NAND的设计是不是很希奇?NAND引入了存储页面(Page)的概念,而每一页面的真实数据容量都是512字节的倍数。目前2Gbit以下容量的NAND闪存大多是512字节的页面容量(老的产品是256字节),2Gbit或以上容量的NAND闪存则将页容量扩大到2048字节(2KB,部分1Gbit产品也采用了2KB的页容量)。不过,事实上,每个页面还包括了相应的ECC校验数据。512字节时需要16个字节校验码(页面总容量528字节),2048时则需要64字节的校验数据(总页面容量为2112字节)。之所以这样(真实数据容量是512字节的倍数),是因为NAND的设计在很大程度上受到了硬盘的影响。因为在设计之初,东芝就是为了让NAND闪存能在某些场合取代硬盘作为存储设备,从而对硬盘的扇区设计进行了兼容。我们知道,硬盘的扇区容量就是512字节,而且硬盘上每个扇区也都有自己额外的校验数据区,这些都被NAND所借鉴了。
存取设计的异同
NAND闪存的存储单元可以分为页和块(Block),每个块包含32个页面(2KB页容量时,就是64个页面),存储阵列包含多少个块则视容量而定,比如128Mbit时就是1024个块,4Gbit时就是4096个块(此时的页容量为2KB)。
由于在架构上与DRAM很相似,NOR的寻址与传统DRAM也很像,分为逻辑Bank地址(假如是单Bank架构就没有)、行地址和列地址,一个时钟周期内全部搞定。而NAND则与Rambus DRAM的寻址方式相似,在寻址时NAND通过8条数据I/O接口传输地址信息包,即使是16bit的芯片也是只使用8位用于地址信息的传输,视芯片容量要占用3至4个时钟周期。
虽然在DRAM方面也有页面一说(等同于行),但它从来没有像NAND这样将其定义为一个基本的存储单元,因此在寻址时页面也就变成了一个重要的地址信息。NAND的地址信息包括列地址(页面中的起始操作地址)、块地址和相应的页面地址,由于芯片内的总页面数为“每块的页面数X块数”(如有1024个块,每块32个页面,就意味着共有32768个页面),所以在某些文档中,页面也被称为“行”,这样寻址的信息也就可以减化为行与列地址。
NAND闪存采用地址包的方式进行寻址,本例为128Mbit芯片,这里可以将第二和第三周期所传输的信息理解为行地址
我们都知道,DRAM的容量扩大后,地址线也会相应增加,NOR闪存也是如此,但是当页面容量扩大和总容量扩大后,由于列与块的增多,NAND的寻址信息也相应增加,从而要占用更多的寻址周期,这也是NAND闪存的一大特点——容量越大,寻址周期越长。
点击查看大图
4Gbit NAND闪存芯片的寻址信息(页面容量2KB),需用5个周期传输(点击放大)
存取性能的差异
由于寻址方式的不同也造成了寻址能力差异。NOR的寻址与DRAM几乎相同,因此可以实现快速的随机寻址,速度大约在50至80纳秒(ns)。而NAND虽然可以以字节或字(Word,一般用于16bit的芯片上)为单位寻址,但传输的单位是页,所以要经过页面寄存器(因为NAND晶体管的串联架构使读出放大器的信号会非常微弱,所以要用寄存器进行稳定输入)进行传输,从数据输往寄存器到寄存器开始通过I/O端口传输数据,首页周期一般在20至25微秒(us,1us=1000ns)之间。可见,NOR的随机访问能力是NAND所不能比拟的。也正是因为这一点,使得NOR闪存具备了Xip功能(eXecute In Place,本地执行),可以执行代码程序,NAND由于随机寻址速度太慢,显然不能担此重任。
在擦除操作方面,NAND以块为单位进行整体擦除,NOR的擦除单位也是按区域进行(这是闪存的一个重要特征),但这个区域一般要比NAND的块大(NOR厂商对擦除区域一般除了称之为块外,还有Sector的叫法),基本为64或128KB。而NAND的块最大为64KB(4Gbit芯片),一般为16KB,这意味着NOR要擦除的容量要比NAND更大。另外,在擦除操作上NOR要比NAND更繁琐(要先将块内的数据重置为“0”)。这样,在擦除速度上,NAND就要明显占优势。NOR的擦除时间大约在0.6至5秒钟,而NAND在则在2毫秒(ms),可见差距之大。由于在闪存的写入必须要在空白或已经擦除的区域里进行,所以擦除后写的操作十分普遍,尤其是在进行文件更新时更是如此,所以在写入性能上,NOR相对于NAND就居于劣势。
在读取速度上,由于NOR与NAND都支持连续读取(NOR称之为突发读取/传输,NAND只是在第一页面的读取时延迟较大,连续起来后就不受寄存器中转的影响了),所以速率主要取决于工作频率,目前NAND的主流工作频率在20-33MHz之间,NOR方面则要更高一些,目前已经有74MHz甚至更高频率的NOR闪存出现。因此,在读取性能方面,NOR目前占有一定的优势。
小提示:NAND闪存增加页面和块容量的目的
NAND闪存的读取写入的容量单位都是页,从NAND的结构上看,扩大页容量并不是为了满足总容量的扩展,页面数量的增多虽然会增大寻址的信息,但只需增加寻址信息的传输周期即可解决,因此增加页面和块容量主要是出于对性能的考虑。在新一代大容量NAND闪存中,2KB的页面容量已经标准化,那么其相对于小页面容量有什么性能上的优势呢?下面我们就来分析一下。
1、读取性能
NAND的读取步骤是,发送命令和寻址信息——将数据传向页面寄存器——数据从寄存器通过I/O端口传出。2KB页面容量时的计算公式为:
6 cycles(寻址周期,命令+地址信息) x 50ns(每一周期用时) + 25 µs(而数据传向寄存器用时) + 2112 cycles(2112字节所需要的传输周期) x 50ns(每周期用时)= 131 µs。
折合有效带宽:2112字节/131 µs=16.1MB/s
512字节页面容量时的结果如下:
4cycles(寻址周期,命令+地址信息) x 50ns(每一周期用时) + 25 µs(而数据传向寄存器用时) +528 cycles(528字节所需要的传输周期) x 50ns(每周期用时) = 51.6 µs。
折合有效带宽:528字节/51.6µs=10.2MB/s。
可见,2KB容量时,读取时的有效带宽是512字节时的1.6倍。
2、写入性能
NAND的写步骤是,发送寻址信息——将数据传向页面寄存器——发送命令信息——数据从寄存器写入相关的页面。2KB页面容量时的计算公式为:
5 cycles x 50ns(寻址周期) + 2112 cycles(2112字节所需要的传输周期) x 50ns(每周期用时)+ 1 cycle (命令传输)x 50ns(每一周期用时)+ 200µs (页写入周期)= 306 µs。
折合有效带宽:2112字节/306µs=6.9MB/s
512字节页面容量时的结果如下:
3 cycles(寻址周期) x 50ns(每一周期用时) +528 cycles(528字节所需要的传输周期) x 50ns(每周期用时)+ 1 cycle (命令传输)x 50ns(每一周期用时)+200µs(页写入周期)= 226.6 µs。
折合有效带宽:528字节/226.6 µs=2.3MB/s。
可见,2KB容量时,读取时的有效带宽是512字节时的3倍。
3、擦除性能
NAND的擦除步骤是,发送命令和块地址信息——进行擦除。2KB和512字节页面容量时的计算公式为:
4 cycles(命令+地址信息传输周期) x 50ns(每周期用时)+ 2ms(块擦除用时)= 2ms
此时,2KB时块容量为128KB(一块包含64个页面),512字节的块容量是16KB(一块包含32个页面)。
2KB时的擦除速度为:128KB/2ms=64MB/s
512字节时的擦除速度为:16KB/2ms=8MB/s
两者相差了8倍。由此可见,大容量的NAND闪存通过采用大页面容量和大容量块的设计,在性能较以往产品有了明显的提升。
另外需要指出的是,位宽的提高也会起到扩展带宽的效果(这一点NOR也适用),上述的性能分析是以8bit位宽产品为例,假如换成16bit,2KB页面容量时读、写的带宽就分别变为:27MB/s和8.3MB/s,也因此成为了那些高速高容量闪存卡的首选!
QQread.com 推出各大专业服务器评测 linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器
物理设计上的差异
很多人会觉得希奇,DRAM的容量1Gbit都比较罕见,NAND型闪存的容量怎么动不动就上2Gbit了呢?这是因为闪存的特性只要求一只非凡的晶体管即可组成一个存储单元,而DRAM的存储单元则是由晶体管+电容组成,受芯片面积/成本的制约,当然很难提升容量。在这方面,NOR有着与DRAM相同的苦恼。
NOR与NAND在晶体管连接方式上的不同让两者在物理特性也上体现出了巨大的差异。从连接的结构图可以看出,由于NAND采用串联的方式,所以更为紧凑,而NOR由于要求两个晶体管之间共用一个源极(Source)连接区(Cantact),因此对芯片面积的缩小造成了影响。
NOR与NAND在晶体管连接方式上有明显不同,前者保证了随机访问能力,后者则有效的缩小了占用空间
NOR与NAND存储单元的面积比较,F代表制造工艺尺寸,如0.18um或0.13um
理论上,使用相同的工艺,在相同容量下NOR闪存与普通DRAM芯片的面积相当,而NAND型则约是前两者的一半。由此可见,NAND闪存在容量上占据了绝对优势,2003年7月,配合增容技术(MirrorBit),AMD/富士通公司才推出了512Mbit的NOR产品,而1Gbit的NAND闪存芯片早在2001年就出现了。现在单核心没有采用增容技术的NAND闪存已经达到了2Gbit的容量水平。
串联的架构让NAND可以更轻松的扩展容量
使用性差异
在使用性上体现出的差异也是与NOR和NAND自身的架构设计分不开的,首先在接口方面,NOR的设计有明显的传统内存的特征,因此实际应用起来相对于NAND全新的复杂I/O设计要轻易得多。而且,在使用NAND闪存时,必须先写入驱动程序,才能继续执行其他操作。
其次,在可重复擦写的能力方面,NAND的每块可擦写次数在10万至100万次之间,NOR则只是它的1/10,而且NAND的每个擦除块的容量也只有NOR的1/8至1/2,这就表明,每个块的擦写的频率要少于NOR闪存,从而有助于延长使用寿命。在数据的保存时间上,两者都差不多,为10年的水平。
不过,由于串联的架构,NAND的晶体管之间更轻易造成影响,使逻辑0变成逻辑1,并且也很难发现出问题的晶体管,这种现象可称为位翻转(Bit-Flipping),这就需要动用EDC/ECC(错误检测码/错误修正码)来进行校正,这方面的问题NOR则较少出现。
另外,NAND在使用中还存在着坏块治理的问题,在NAND闪存中,由于坏块是随机分布的,因此需要进行扫描并将坏块打上标记,就像对付硬盘中的坏扇区一样。目前的产品中,可最多答应出现80个坏块。坏块的存在使得向NAND闪存写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND闪存上自始至终都必须进行虚拟映射。
在软件支持程度方面,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存治理算法的软件,包括性能优化。
在NOR闪存上运行代码不需要任何的软件支持,在NAND闪存上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR闪存在进行写入和擦除操作时都需要MTD。
使用NOR闪存时所需要的MTD要相对少一些,许多厂商都提供用于NOR闪存的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。
QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器
总结
好啦,现在我们就来总结一下NOR与NAND型闪存的主要特点,见下表(点击放大):
点击查看大图
小资料:另类的NOR闪存向NAND挑战
在闪存技术领域,除了Intel与东芝这两个NOR与NAD掌门人之外,还有不少公司为闪存的发展出了自己的贡献,闻名的存储技术开发商Silicon Storage Technology(SST,超捷)就是其中之一。
浮栅自动校准技术让源极的占用面积大为缩小,从而节省了芯片空间
在2003年,其与DRAM厂商力晶半导体(Powerchip SemicondUCtor)日前公布,双方共同开发第三代超快闪(SuperFlash)存储器技术。双方已在力晶半导体的晶圆厂,以0.11微米工艺流程技术开发自行对准(Self-Aligned)第三代超快闪技术,未来计划将工艺流程技术微缩至90到65纳米。
超捷表示,其新一代超快闪技术可以生产NOR架构的高容量存储器产品,适用于被传统NAND架构独占的数据储存应用领域。第一个开发产品将是2Gb快闪存储器,其管脚及电气规格将与业界标准的NAND产品兼容。双方已完成新一代超快闪存储器存取单元结构及电性功能的验证。并预计在2004年内完成工艺流程及产品开发,以便在2005年量产2Gb产品。
点击查看大图
分裂栅与厚氧化物设计(图中圆圈的部分)将提供更小的体积和更高的可靠性(点击放大)
根据该协议,双方同意使用力晶十二英寸晶圆厂生产超捷品牌及力晶品牌的超快闪数据储存产品。力晶将会根据力晶品牌超快闪数据储存产品的销售额,支付超捷权利金。
据了解,除了生产自己产品外,超捷也授权其超快闪技术给其它公司包括IBM、摩托罗拉、NEC、三星电子、东芝(Toshiba)与台积电。从1993年至今,超捷与其授权厂商已生产超过25亿颗超快闪产品。1993年发表的第一代超快闪已经被用于量产256Kb至16Mb的产品。第二代超快闪也于今年开始量产,并将用于最高至256Mb的产品。2002年开始研发的第三代超快闪,将用于256Mb至16Gb的产品。超捷相信超快闪是可广泛使用于嵌入式,程序储存及数据储存三大领域的最多用途快闪存储器技术。
超捷指出,超快闪技术属于NOR型分裂闸(split-gate)单元架构,其采用厚氧化物制程,并不需要过多生产步骤,即可生产出数据储存能力优越与高可靠度的低成本、非挥发性存储器解决方案。分裂闸NOR 超快闪架构提供简单、富弹性的设计,适用于高效能、高可靠度、中或小尺寸、系统内或外程序与各种不同密度的单一CMOS兼容技术。