大家好,欢迎来到IT知识分享网。
目录
4.3 NAND flash和NOR flash的容量和成本
4.4 NAND flash和NOR flash的可靠性和耐用性
4.5 NAND flash和NOR flash的寿命(耐用性)
前言
智能手机有一个可用的存储空间(如苹果128G),电脑里有一个固态硬盘空间(如联想512G), 这个空间是啥呢?
这个存储空间就是闪存设备,我们都统称为“FLASH”(中文:闪存),FLASH是一种存储芯片。
Flash是一种非易失性(掉电数据不会消失)的存储器。在手机、平板中用做内部存储空间,用来存系统、应用、图片、视频等。在笔记本、台式机中,则主要用在固态硬盘以及主板BIOS中。绝大部分的U盘、SDCard、NM Card 等移动存储设备也都是使用Flash作为存储介质。
根据硬件上存储原理的不同,Flash Memory主要可以分为NOR Flash和NAND FLASH两类。许多业内人士也分不清NAND Flash 和 NOR Flash 的区别。
1. NOR Flash
NOR Flash是intel公司1988年发明。NOR的特点是代码可以在芯片内执行。
如果只是用来存储少量的代码,NOR Flash更适合一些。这样应用程序可以直接在flash 闪存内运行,不必再把代码读到系统RAM中,这样可以减少 SRAM 的容量从而节约了成本。在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。容量再大一些的场景,成本效益就很低了,那里是NAND Flash 的阵地。
NOR Flash根据与CPU端接口的不同,可以分为Parallel NOR Flash和SPI NOR FLASH两类。
Parallel NOR Flash可以接入到Host的SRAM/DRAMController上,所存储的内容可以直接映射到CPU地址空间,不需要拷贝到RAM中即可被CPU访问,因而支持片上执行。SPI NOR FLASH的成本比Parallel NOR Flash低,主要通过SPI接口与Host连接。
在日常生活中,NOR Flash的具体应用不是很多。常用于可穿戴设备、打印机,汽车仪表盘,PLC/电机控制。
2. NAND Flash
1989年,东芝公司发表了NAND flash结构。其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NAND flash存储器具有容量较大,写速度快等优点,适用于大量数据的存储。
NAND flash 没有采取内存的随机读取技术(按1字节读取),它的读取通常是一次读取 16K 字节。用户不能直接运行 NAND Flash 上的代码,因此好多使用 NAND Flash 的开发板除了使用 NAND Flash 以外,还做上了 一块小的 NOR Flash 来运行启动代码。
NAND Flash 需要通过专门的 闪存主控(NAND Controller)与Host端进行通信,如下图所示:
NAND 控制器内置了NAND Flash 管理算法, 如磨损均衡、ECC校验和纠错、垃圾回收。如果没有 NAND 控制器,那么Chipset厂商要在驱动里加入这些复杂管理,这就不现实了,毕竟Chipset厂商要连接很多种设备。即便是有NAND 控制器, 驱动也要根据存储协议对存储设备下对应的命令和数据,入门门槛相对较高。好在这些驱动MTK/高通/展锐等Chipset Set 厂商, 在 CPU 里都已集承了这些存储协议(如eMMC5.1, AHCI, NVME),系统厂商直接使用系统接口即可。
NAND Flash 应用相当广泛,在日常生活中, 我们接触到的手机、电脑、机顶盒、智能手表、平板都是用到NAND Flash。 除此之外还有服务器、视频监控、智能家居、汽车、5G、虚拟现实。 SSD 和 嵌入式是NAND Flash 的最大的两个市场。
3. Flash原理
在每个闪存芯片中都有海量的存储单元,下图是一个闪存存储单元示意图,从上到下分别是控制栅极(Control Gate)、氧化层、浮栅层(Floating Gate)、隧道氧化层和衬底(Substrate)。左侧是源级(Sources)右侧是漏级(Drain),电流只能从源级向漏级单向传导。
闪存记录数据的关键在于浮栅层,当其中被充满电子时是已编程(写入)状态,代表二进制0;当其中没有电子时是已擦除状态,代表二进制1。
上面的这个0和1的逻辑听起来有些颠倒,不过当你了解到闪存的读取原理后就会觉得这样才是对的:源级到漏级之间没有电流(0),说明浮栅中有电子。
当源级到漏级之间有电流(1),说明浮栅里没有电子。
以上就是从闪存中读取数据的原理,往复杂了说它涉及到MOS管等复杂的半导体知识,但是如果朝简单的方向理解,我们也能轻松理解闪存表达数据的原理。
接下来是向闪存单元中写入数据的方法:在控制栅极和漏级之间施加一个20V高电压,就可以引发量子隧道效应,使电子进入到浮栅层中。由于氧化隧道层的绝缘效果,进入到浮栅层的电子不容易流失掉,所以闪存可以在断电后继续保留数据。
反过来也可以使用20V高电压反向将浮栅层中的电子“抽离”出去,这就是闪存的擦除操作。闪存的独特工作原理决定了闪存单元在写入之前必须经过擦除,而不能像磁记录那样直接覆盖写入。
对于原始的SLC闪存而言,一个存储单元只需保留一比特数据,非0即1,判断起来非常简单。SLC闪存速度快、寿命长,但容量小、每GB容量成本过高,不适合家用电脑的固态硬盘。
MLC闪存可以在每个存储单元中存储2比特数据,即00、01、10、11四种状态,浮栅层中的电荷数等级需要更加精细化。
到了TLC闪存(3比特/单元),状态数量达到8种,而QLC闪存(4比特/单元)的状态数量高达16种。
NAND FLASH 从 SLC -> MLC -> TLC -> QLC,每个单元存储的比特数增加,这样晶圆的存储密度会成倍提高,但对应的整卡可写入/擦除次数(P/E Cycle) 也降低(意味着寿命也越短),读写性能会越差。最重要的单位GB的成本会更低,芯片的成本是和面积直接相关的。面积越小,一个晶圆切出的Die(片)数目就更多,单Die的成本就降下来了。
各大原厂孜孜不倦地提高每个单元的比特数,目的就是为了减少成本,成本才是王道!
4. NAND flash和NOR flash的区别
4.1 NAND flash和NOR flash的性能比较
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再写入。任何flash器件的写入操作只能在已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以36~72MB的块进行的,执行相同的操作最多只需要2ms。执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NAND的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。
1、NOR的读速度比NAND稍快一些。
2、NAND的写入速度比NOR快很多。
3、NAND的4ms擦除速度远比NOR的5s快。
4、大多数写入操作需要先进行擦除操作。
5、NAND的擦除单元更大,擦除时间更少。
4.2 NAND flash和NOR flash的接口差别
NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
4.3 NAND flash和NOR flash的容量和成本
NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。
NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。
4.4 NAND flash和NOR flash的可靠性和耐用性
采用flash介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。
4.5 NAND flash和NOR flash的寿命(耐用性)
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。
4.6 位反转
所有flash器件都受位反转现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。一位的变化可能不打紧,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,
4.7 ECC/LDPC纠错算法
NAND的供应商建议使用NAND闪存的时候,同时使用ECC/LDPC 纠错。 这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。
4.8 坏块处理
NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。
NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。
4.9 易于使用
可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。
由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。
4.10 软件支持
当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。
在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。
使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。
驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。
总结
有数据的地方就有NAND Flash
NOR Flash 和 NAND Flash 差异:
NOR Flash 的使用简单, NAND Flash 使用稍微复杂。
相比于NOR Flash,NAND FLASH写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的eMMC内部的Flash Memory都属于NAND FLASH。PC中的固态硬盘中也是使用NAND FLASH。
随着可穿戴设备等NOR Flash 的阵地对存储容量需求越大, NOR Flash 的成本问题就是一个卡脖子问题, 在NAND Flash 面前渐渐无还手之力。这也是Micron 等大厂很早就放弃 NOR Flash 的原因。
————————————————
声明:本文为学习使用, 如有侵权,请联系我删除。
参考:
NOR Flash和NAND FLASH的区别是什么 – 今日头条 – 电子发烧友网
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26096.html