NOR Flash 和 NAND Flash 闪存详解

目录

前言

1. NOR Flash

2. NAND Flash

3. Flash原理

4. NAND flash和NOR flash的区别

4.1 NAND flash和NOR flash的性能比较

4.2 NAND flash和NOR flash的接口差别

4.3 NAND flash和NOR flash的容量和成本

4.4 NAND flash和NOR flash的可靠性和耐用性

4.5 NAND flash和NOR flash的寿命(耐用性)

4.6 位反转

4.7 ECC/LDPC纠错算法

4.8 坏块处理

4.9 易于使用

4.10 软件支持

总结

前言

智能手机有一个可用的存储空间(如苹果128G),电脑里有一个固态硬盘空间(如联想512G), 这个空间是啥呢?

这个存储空间就是闪存设备,我们都统称为”FLASH”(中文:闪存),FLASH是一种存储芯片。

Flash是一种非易失性(掉电数据不会消失)的存储器。在手机、平板中用做内部存储空间,用来存系统、应用、图片、视频等。在笔记本、台式机中,则主要用在固态硬盘以及主板BIOS中。绝大部分的U盘、SDCard、NM Card 等移动存储设备也都是使用Flash作为存储介质。

根据硬件上存储原理的不同,Flash Memory主要可以分为NOR Flash和NAND FLASH两类。许多业内人士也分不清NAND Flash 和 NOR Flash 的区别。

NOR Flash 和 NAND 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的S RAM/DRAMController上,所存储的内容可以直接映射到CPU地址空间,不需要拷贝到RAM中即可被CPU访问,因而支持片上执行。SPI NOR FLASH的成本比Parallel NOR Flash低,主要通过SPI接口与Host连接。

NOR Flash 和 NAND Flash 闪存详解

在日常生活中,NOR Flash的具体应用不是很多。常用于可穿戴设备、打印机,汽车仪表盘,PLC/电机控制。

  1. NAND Flash

1989年,东芝公司发表了NAND flash结构。其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NAND flash存储器具有容量较大,写速度快等优点,适用于大量数据的存储。

NAND flash 没有采取内存的随机读取技术(按1字节读取),它的读取通常是一次读取 16K 字节。用户不能直接运行 NAND Flash 上的代码,因此好多使用 NAND Flash 的开发板除了使用 NAND Flash 以外,还做上了 一块小的 NOR Flash 来运行启动代码。

NAND Flash 需要通过专门的 闪存主控(NAND Controller)与Host端进行通信,如下图所示:

NOR Flash 和 NAND Flash 闪存详解

NAND 控制器内置了NAND Flash 管理算法, 如磨损均衡、ECC校验和纠错、垃圾回收。如果没有 NAND 控制器,那么Chipset厂商要在驱动里加入这些复杂管理,这就不现实了,毕竟Chipset厂商要连接很多种设备。即便是有NAND 控制器, 驱动也要根据存储协议对存储设备下对应的命令和数据,入门门槛相对较高。好在这些驱动MTK/高通/展锐等Chipset Set 厂商, 在 CPU 里都已集承了这些存储协议(如eMMC5.1, AHCI, NVME),系统厂商直接使用系统接口即可。

NOR Flash 和 NAND Flash 闪存详解
NAND Flash 应用相当广泛,在日常生活中, 我们接触到的手机、电脑、机顶盒、智能手表、平板都是用到NAND Flash。 除此之外还有服务器、视频监控、智能家居、汽车、5G、虚拟现实。 SSD 和 嵌入式是NAND Flash 的最大的两个市场。

NOR Flash 和 NAND Flash 闪存详解
  1. Flash原理

在每个闪存芯片中都有海量的存储单元,下图是一个闪存存储单元示意图,从上到下分别是控制栅极(Control Ga te)、氧化层、浮栅层(Floating Gate)、隧道氧化层和衬底(Substrate)。左侧是源级(Sources)右侧是漏级(Drain),电流只能从源级向漏级单向传导。

NOR Flash 和 NAND Flash 闪存详解

闪存记录数据的关键在于浮栅层,当其中被充满电子时是已编程(写入)状态,代表二进制0;当其中没有电子时是已擦除状态,代表二进制1。

上面的这个0和1的逻辑听起来有些颠倒,不过当你了解到闪存的读取原理后就会觉得这样才是对的:源级到漏级之间没有电流(0),说明浮栅中有电子。

NOR Flash 和 NAND Flash 闪存详解

当源级到漏级之间有电流(1),说明浮栅里没有电子。

NOR Flash 和 NAND Flash 闪存详解

以上就是从闪存中读取数据的原理,往复杂了说它涉及到MOS管等复杂的半导体知识,但是如果朝简单的方向理解,我们也能轻松理解闪存表达数据的原理。

接下来是向闪存单元中写入数据的方法:在控制栅极和漏级之间施加一个20V高电压,就可以引发量子隧道效应,使电子进入到浮栅层中。由于氧化隧道层的绝缘效果,进入到浮栅层的电子不容易流失掉,所以闪存可以在断电后继续保留数据。

NOR Flash 和 NAND Flash 闪存详解

反过来也可以使用20V高电压反向将浮栅层中的电子”抽离”出去,这就是闪存的擦除操作。闪存的独特工作原理决定了闪存单元在写入之前必须经过擦除,而不能像磁记录那样直接覆盖写入。

NOR Flash 和 NAND Flash 闪存详解

对于原始的SLC闪存而言,一个存储单元只需保留一比特数据,非0即1,判断起来非常简单。SLC闪存速度快、寿命长,但容量小、每GB容量成本过高,不适合家用电脑的固态硬盘。

NOR Flash 和 NAND Flash 闪存详解

MLC闪存可以在每个存储单元中存储2比特数据,即00、01、10、11四种状态,浮栅层中的电荷数等级需要更加精细化。

NOR Flash 和 NAND Flash 闪存详解

到了TLC闪存(3比特/单元),状态数量达到8种,而QLC闪存(4比特/单元)的状态数量高达16种。

NAND FLASH 从 SLC -> MLC -> TLC -> QLC,每个单元存储的比特数增加,这样晶圆的存储密度会成倍提高,但对应的整卡可写入/擦除次数(P/E Cycle) 也降低(意味着寿命也越短),读写性能会越差。最重要的单位GB的成本会更低,芯片的成本是和面积直接相关的。面积越小,一个晶圆切出的Die(片)数目就更多,单Die的成本就降下来了。

各大原厂孜孜不倦地提高每个单元的比特数,目的就是为了减少成本,成本才是王道!

NOR Flash 和 NAND Flash 闪存详解
  1. 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 使用稍微复杂。

相比于NOR Flash,NAND FLASH写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的eMMC内部的Flash Memory都属于NAND FLASH。PC中的固态硬盘中也是使用NAND FLASH。

随着可穿戴设备等NOR Flash 的阵地对存储容量需求越大, NOR Flash 的成本问题就是一个卡脖子问题, 在NAND Flash 面前渐渐无还手之力。这也是Micron 等大厂很早就放弃 NOR Flash 的原因。

————————————————
声明:本文为学习使用, 如有侵权,请联系我删除。

参考:

NAND NOR FLASH闪存产品概述

NAND flash和NOR flash的区别详解

NOR Flash和NAND FLASH的区别是什么 – 今日头条 – 电子发烧友网

简述闪存的工作原理及存储和记录数据

Original: https://blog.csdn.net/vagrant0407/article/details/127813278
Author: 存储元
Title: NOR Flash 和 NAND Flash 闪存详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/653159/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球