电子产品的记忆力:NOR、NAND和UFS到底有什么区别?
东芝在1984年开发出名为闪存的新型半导体存储器。实际上闪存也分为NOR和NAND两种,我们平时提及最多的乃是后者。
NOR:最早出现的闪存类型最早问世的NOR型闪存的容量较小、使用简单、支持按字节寻址且随机读取速度快,可以实现XIP片内执行。通常用在路由器、机顶盒、物联网设备中,起到存储固件的作用。个别固态硬盘中也能看到NOR闪存用作固件存储器:
NOR闪存表现的更接近内存,小区块数据的随机读取速度比NAND闪存更快。在一些对性能要求不高的设备当中,可以让固件代码直接在NOR闪存当中运行,而无需独立的RAM内存组件。
除此之外,NOR闪存的使用也非常简单。使用中无需纠错引擎,只要十几块钱的编程器就可以对它进行烧录。
下图为利用编程器和SOP8免拆夹子对NOR闪存中的固件进行改写。NOR闪存的容量一般不超过256MB,路由器上多使用16MB或32MB容量。
NAND闪存:
如果不是NAND型闪存的出现,恐怕我们还生活在功能机时代。东芝在1987年开发了NAND型闪存,由于容量比NOR闪存大的多,NAND随后被广泛应用于各种存储卡和电子设备当中,成为应用最广泛的闪存类型。
下图是东芝TR200固态硬盘当中的BiCS3闪存,采用64层堆叠3D结构,TLC类型的它每个存储单元可以存储3bit数据。
NAND闪存的出错率比NOR闪存更高,需要专门设计的主控芯片进行管理。一颗固态硬盘主控包含FTL闪存转换层、数据纠错、磨损均衡、垃圾回收管理等功能模块。尽管使用起来比较复杂,但3D NAND闪存带来了极高的存储容量。使用BiCS3闪存的东芝TR200固态硬盘可以提供高达960GB的容量选择。
不过NAND型闪存的最小读写单位是Page而非字节,在闪存芯片当中一个Page的大小通常为16KB。NAND闪存的擦除单位是更大的Block,在东芝BiCS3闪存当中一个Block的容量高达12MB。NAND闪存没有办法像RAM内存那样自由寻址,而只能被用作硬盘存储器。
NAND的容量优势成就了它的主流地位,NOR闪存虽然并没有消失,但已经在越来越多的地方被NAND闪存所取代。
UFS闪存:
UFS其实并不属于一种独立的闪存类型,它是在NAND闪存的基础上增加了闪存控制器,并采用标准的封装接口。UFS存储芯片既承担了过去NOR闪存提供的固件存储与系统开机功能,也承担起NAND闪存的大容量数据存储职能。
UFS闪存不仅广泛应用在智能手机当中,车载电子产品中也大量应用了东芝推出的宽温型UFS芯片(支持-40℃至105℃),在高温、震动工控下它可以提供高速和可靠的数据存储功能,助力物联网与自动驾驶应用的发展。
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 ,什么 是nor ?NAND和NOR是两种基本的逻辑门电路。NAND是“非与门”的缩写,它的输出结果是对两个输入进行“与”运算的结果的反向。NOR是“非或门”的缩写,它的输出结果是对...
nor flash和 nand flash的区别?你好,NORFlash和NANDFlash都是非易失性存储器芯片,但它们有以下几点区别:1.结构不同:NORFlash的存储单元结构类似于传统的ROM,存储单元之间是通过并联...
nandflash芯片是缓存还是闪存?是闪存FLASH是一种存储芯片,全名叫FlashEEPROMMemory,通地过程序可以修改数据,即平时所说的“闪存”。Flash又分为NANDflash和NORflash二种。U盘和MP3...
什么是闪存?它广泛应用于各种电子设备中,如手机、平板电脑、相机和固态硬盘等。闪存的主要类型包括NAND闪存和NOR闪存,它们在存储密度、读写速度和擦除次数等方面有所不...
五种逻辑联结词的优先级?在逻辑运算中,优先级常常是必要的,因为我们需要一种方式来决定在有多个联结词的表达式中,哪个应该首先被评估。以下是五种基本逻辑联结词(AND,OR,NOT,NAND...
NorFlash与NandFlash的区别?NorFlash和NandFlash是两种不同的闪存存储器,它们的主要区别在于其存储方式和应用场景。1.存储方式:NorFlash采用的是随机访问存储(RAM)方式,也就是说可以...
OR,AND,XOR, NOR , NAND ,XNOR分别表示什么逻辑关系?OR或,AND与,XOR异或,NOR或非,NAND与非,XNOR异或非,or或,and与,xor异或,nor或非,nand与非,xnor异或非,
闪存有什么功能?目前流行的迷你移动存储产品几乎都是以闪存作为存储介质。闪存作为一种非挥发性(简单说就是在不加电的情况下数据也不会丢失,区别于目前常用的计算机内存)的半...
dosilicon是什么牌子?dosilicon是东芯的牌子。东芯半导体股份有限公司成立于2014年,总部位于上海,在深圳、南京、香港、韩国均设有分公司或子公司,矢志成为领先的存储芯片设计公司...
Nandflash和norflash的区别?nandflash和norflash的区别如下:1、开发的公司不同:NORflash是intel公司1988年开发出了NORflash技术。NOR的特点是芯片内执行(XIP,eXecute...