我们熟知的NAND闪存,还有个“双胞胎兄弟”
【IT168 评论】无论消费者还是企业机构,大多数人在谈到闪存时,首先想到的就是NAND闪存。从一定的现实意义上来讲,NAND闪存可以说已经成为固态硬盘的代名词。基于块寻址结构和高密度,使其成为磁盘的完美替代品。
NOR闪存是另一种与NAND不同的闪存类型,它具有不同的设计拓扑结构,某些特定的应用场景下更为适合。在比较NAND和NOR闪存在不同应用中的相对优势和适用性之前,检查其结构差异是很重要的。
NAND闪存产品是当今已经达到高水准的存储芯片,是当前市面上嵌入式以及独立式SSD的主要原材料。多层单元(MLC)技术和3D制造工艺的结合,将NAND存储单元垂直蚀刻到硅衬底上,使存储密度和NAND芯片容量呈几何级增长。
NAND与NOR电路基础
尽管NAND闪存是这两种非易失性内存技术中相对流行的一种,但NAND和NOR都是由同一名东芝公司的工程师在上世纪80年代中期发明的。要理解这两个种类的区别和命名,需要简要回顾一下逻辑门的基础知识。
NAND和NOR分别涉及到布尔逻辑函数中的逻辑“和”(and)以及“或”(or)。如下所示,NAND和NOR都生成响应两个二进制输入的输出。
响应两个二进制输入的NAND和NOR输出
NAND和NOR逻辑门仅仅为它们各自的功能实现了上面这个真值表。
NAND门在概念上是作为AND门实现的——当两个输入都是1时输出1——后面跟着一个NOT门,这是一个逻辑反转。相应的,NOR门在概念上是一个OR门——有任何一个输入是1时输出1,然后是NOT门,这是一个逻辑倒装。
布尔逻辑的背景对于理解NAND和NOR闪存至关重要,因为闪存单元被连接到一个行和列的数组中。在NAND闪存中,一组中的所有单元(通常是一个字节的倍数,取决于芯片的大小)共享一条位线,并以串行方式连接每个单元,每个单元连接到一个单独的字行。同一字行连接一个内存块中的多个字节,通常为4 KB到16 KB。因此,只有当所有的字线都是高或单状态时,位线才会降低或变为零状态,这实际上将内存组转换为一个多输入NAND门。
与此相反,NOR闪存并行组织位线的方式是,当位线和字线都处于低或零状态时,内存单元只保持高或单状态。
NAND单元的串联结构使得它们可以通过导电层(或掺杂层)连接在衬底上,而不需要外部接触,从而显著减少了其横截面积。
NAND闪存单元的串联连接意味着它们不需要单元之间通过金属层进行外部接触——而这正是NOR拓扑结构所需的。使用导电层连接硅衬底上的单元意味着NAND闪存的密度通常比NOR高两个数量级,或100倍。此外,组内单元的串联连接使它们可以垂直地堆积在3D数组中,位线类似于垂直管道。
相反,由于NOR闪存单元不能单独寻址,因此它们对于随机访问应用程序更快。
NAND与NOR产品类型
这两种类型的闪存具有明显的特性和性能差异,它们有各自最适合的应用程序类型。除了容量外,NAND和NOR闪存还具有不同的运行、性能和成本特性,如下图所示。
这两种闪存中也有几种不同的产品类型,它们在I/O接口、写入持久性、可靠性和嵌入式控制功能方面有所不同。
NAND闪存产品类型
NAND闪存以单层(SLC)、多层(MLC)、三层(TLC)或四层(QLC)的形式在每个单元(cell)中存储bit,分别为1 bit/cell、2 bit/cell、3 bit/cell、4 bit/cell。要确定哪种类型的NAND最适合于工作负载,简单来说,每个单元的位数越高,其容量就越大——当然,是以数据持久性和稳定性为代价的。
NAND设备只是没有任何外围电路的存储芯片,这些外围电路使NAND闪存可以在SSD、U盘或其他存储设备中使用。相比之下,托管型NAND产品嵌入了一个内存控制器来处理必要的功能,比如磨损调平、坏块管理(从使用中消除非功能性内存块)和数据冗余。
NOR闪存产品类型
串行设备通过只暴露少量(通常是1到8个)I/O信号来减少包的pin数。对于需要快速连续读取的应用程序来说,这是理想的选择。NOR闪存通常用于瘦客户机、机顶盒、打印机和驱动器控制器。
并行NOR产品暴露多个字节,而且通常使用内存页而不是单独的字节进行操作,更适用于启动代码和高容量应用程序,包括数码单反相机、存储卡和电话。
两种闪存都是不可或缺的
NAND是闪存的主力,广泛用于嵌入式系统和SSD等存储设备的大容量数据存储。不过,NOR 闪存在存储可执行的启动代码和需要频繁随机读取小数据集的应用程序方面起着关键作用。显然,这两种类型的闪存将继续在计算机、网络和存储系统的设计中发挥作用。
原文作者:Kurt Marko
SSD学习笔记-NOR, NAND, FTL, GC基本概念
NOR v.s. NAND
两者都是非易失存储介质。即掉电都不会丢失内容, 在写入前都需要擦除。
NOR有点像内存,支持随机访问,这使它也具有支持XIP(eXecute In Place)的特性,可以像普通ROM一样执行程序。现在几乎所有的BIOS和一些机顶盒上都是使用NOR Flash,它的大小一般在1MB到32MB之间,价格昂贵。
NAND Flash广泛应用在各种存储卡,U盘,SSD,eMMC等等大容量设备中。
NOR VS NAND - 场景
如果以镁光(Micron)自己的NAND和NOR对比的话,详细速度数据如下:
NOR VS NAND - 性能
NAND Flash
NAND Flash目前的用途更为广泛,它的颗粒根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。现在高端SSD会选取MLC甚至SLC,低端SSD则选取TLC。SD卡一般选取TLC。
SLC,MLC,TLC
NAND Flash的组成
一个典型的Flash芯片由Package, Die, Plane, Block和Page组成,其中die内部可以通过3D 堆叠技术扩展容量,譬如三星的V-NAND每层容量都有128Gb(16GB),通过3D堆叠技术可以实现最多24层堆叠,这意味着24层堆叠的总容量将达到384GB!
NAND Flash组成
写放大
Block是擦除操作的最小单位,Page是写入动作的最小单位,一个Block包含若干个Pages。当我们有了块干净的Flash,我们第一个想干的事就是写些东西上去,无论我们是写一个byte还是很多东西,必须以page为单位,即写一个byte上去也要写一个page。要修改一个字节,必须要擦除,擦除的最小单元是Block。
Flash Translation Layer (FTL)
NAND flash的寿命是由其擦写次数决定的(P/E数 (Program/Erase Count)来衡量的),频繁的擦除慢慢的会产生坏块。那么我们如何才能平衡整块Flash的整体擦写次数呢?这就要我们的FTL登场了。
Flash Translation Layer原理
FTL简单来说就是系统维护了一个逻辑Block地址(LBA,logical block addresses )和物理Block地址(PBA, physical block addresses)的对应关系。 有了这层映射关系,我们需要修改时就不需要改动原来的物理块,只需要标记原块为废块,同时找一个没用的新物理块对应到原来的逻辑块上就好了。
垃圾回收(GC,Garbage Collection)机制定期回收这些废块, 和Java,GO等语言的GC机制类似,应用不需要像C/C++那样关注内存释放,GC定期扫描,回收释放内存。目标是让Flash最小化擦除次数,最大化使用寿命。
相关问答
NAND Flash和 Nor Flash到底有什么区别?1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100%...
Serial flash和 nor flash nand flash有什么区别?性能差别:对于Flash的写入速度,其实是写入和擦除的综合速度,NandFlash擦除很简单,而NorFlash需要将所有位全部写0(这里要说明一下,Flash器件写入只能把1写为0...
NAND 的与 NOR 闪存比较?一般快闪记忆体可分为二大规格,一是NAND,一是NOR.简单的来说,NAND规格快闪记忆体像硬碟,以储存数据为主,又称为DataFlash,晶片容量大,目前主流容量已达...
ssd nand 区别?SSD指的固态硬盘,固态硬盘上存储信息的方式是采用Flash芯片,Flash芯片主要分为NANDFlash和NorFlash。简单来说,SSD硬盘是一个由若干个NANDFlash或者NorFl...
nor flash和 nand flash的区别?NANDFLASH和NORFLASH是当前比较主流的两种结构类型的闪存芯片,应用十分广泛。这两类芯片都是非易失存储器,可以对存储器单元块进行擦写和再编程。他们在读取...
什么是 NAND 闪存?内存和NOR型闪存的基本存储单元是bit,用户可以随机访问任何一个bit的信息。而NAND型闪存的基本存储单元是页(Page)(可以看到,NAND型闪存的页就类似硬盘的扇...
micro是什么牌子的固态硬盘?是:美光的固态硬盘。美光是全球最大的半导体储存及影像产品制造商之一,其主要产品包括DRAM、NAND闪存、NOR闪存、SSD固态硬盘和CMOS影像传感器,总公司(Micro...
如何让U-boot实现 Nand / Nor 双启动?非常简单,mini2440从Nor启动后,CPU运行在0x00000000地址,这片地址实际对应NorFlash,因为NorFlash是一个Ramlike器件,所以读取数据方法更内存一样,在Uboot...
uboot是怎样从 nand 加载linux?一般是开发过程中是先把uboot载到nor中,然后通过nor中的uboot再把uboot跟linux内核,根文件系统下到nandflash,它的最终位置应该是在nandflash。至于nor跟nan...
六种基本 逻辑 门类型?计算机中有6种类型的逻辑门,分别是:非门(NOT),输入一个值,输出结果是输入值的求逆。与门(AND),输入两个值,如果两个值都是1时,输出结果是1,或则是0...计算...