NAND Flash存储原理浅析
NAND Flash存储咱们几乎每天都会用到,比如:固态硬盘、手机闪存、U盘、存储卡等。那你有没有想过一个问题,NAND Flash是怎么存储数据的呢?为何有些设备存的快,有些存的慢呢?有些设备一开始存的快,后来越来越慢呢?本文会带你一起了解一下NAND Flash的技术原理。
一、基础原理:NAND的存储单元与原生架构
所有NAND技术的特性与局限,都源于它最底层的物理结构和组织方式。理解了基础单元的工作逻辑,才能看懂后续所有的优化与权衡。
1. 单个存储单元的工作原理
NAND Flash的最小存储单元,是一个带浮栅(或电荷捕获层)的场效应晶体管。它和普通晶体管最大的区别,是在控制栅和导电沟道之间,多了一层被二氧化硅绝缘层完全包裹的「浮栅」——这就是存储电子的“数据仓库”。
电子可以通过隧穿效应被注入进浮栅,也可以被反向抽走。而由于氧化层的绝缘作用,电子一旦进入浮栅,就算断电也很难泄漏出去,可以在里面保存十几年甚至更久,这就是NAND非易失性的来源。
它存储数据的逻辑非常简单:
- 浮栅里电子少:晶体管阈值电压低,加一定电压就导通 → 定义为状态「1」
- 浮栅里电子多:晶体管阈值电压高,加同样电压不导通 → 定义为状态「0」
这就是最基础的SLC(Single-Level Cell,单阶单元):一个物理单元只划分2种电压状态,对应1bit数据(0或1)。两个状态之间的电压间隔非常宽,容错空间极大,就像水杯只分“空”和“满”两种状态,几乎不会判断出错。
2. NAND的层级组织与核心限制
存储单元不是独立工作的,而是按严格的层级组织起来,这直接决定了NAND所有的原生特性与局限。从下到上的层级依次是:
存储单元(Cell)→ 存储串(String)→ 页(Page)→ 块(Block)→ 平面(Plane)→ 晶圆(Die)
其中最核心的两个操作粒度,是理解所有上层技术的基础:
- 页(Page):最小的读写单位,大小通常为4KB、8KB或16KB。数据的读取和写入必须按整页进行,不能单独读写某一个字节。
- 块(Block):最小的擦除单位,一个块包含几十到几百个页,大小通常为256KB、512KB不等。NAND无法单独擦除某一页,必须一次性擦除整个块。
由此带来了NAND最核心的原生限制:不能原位改写数据。如果要修改某一页里的数据,不能直接覆盖写入,必须先把整个块里的所有有效数据读取出来,擦除整个块,再把修改后的数据和原有有效数据一起写回去。这也是后续垃圾回收、写入放大、磨损均衡等所有上层机制的根源。
二、多比特存储:SLC/MLC/TLC/QLC的原理与权衡
在相同的工艺尺寸下,想要提升容量密度、降低单位成本,最核心的手段就是让单个存储单元承载更多比特数据。这就是SLC、MLC、TLC、QLC的核心差异。
1. 多比特存储的核心原理
很多人会有误区:TLC能存3bit,是不是把一个单元拆成了3个小单元?
答案是否定的。SLC、MLC、TLC、QLC、PLC的物理单元结构完全相同,都是同一个晶体管。它们的核心区别,仅仅是「对电荷量的控制精度」和「电压状态的划分数量」不同。
所谓多比特存储,本质上就是把同一个晶体管的阈值电压取值范围,均匀切分成更多更窄的小区间,每个区间对应一组固定的二进制编码。
用水杯类比:同一个杯子,SLC只分空/满2档;TLC则在杯身上画7条刻度线,分出8个水位等级,每个等级对应一个3位的二进制编号。水位精准控制到哪一格,就代表存储了哪一组3bit数据。
| 颗粒类型 | 每单元比特数 | 电压状态数 | 编码数量 |
|---|---|---|---|
| SLC | 1 bit | 2 个 | 2组 |
| MLC | 2 bit | 4 个 | 4组 |
| TLC | 3 bit | 8 个 | 8组 |
| QLC | 4 bit | 16 个 | 16组 |
| PLC | 5 bit | 32 个 | 32组 |
2. 写入与读取的实现机制
要实现多比特存储,需要精准的写入控制和读取识别机制,核心靠增量步进脉冲编程和逐级电压试探。
写入:精准控制电荷量
要把阈值电压精确控制到狭窄的目标区间,靠的是增量步进脉冲编程(ISPP)技术。写入不是一次性把电子全部注入,而是用一系列幅度逐步升高的电脉冲,一点点向浮栅里注入电子;每打一个脉冲,就立刻校验一次当前的阈值电压。当检测到电压刚好进入目标区间时,就立刻停止对这个单元的编程。
比特数越多,电压区间越窄,对电荷注入的精度要求就越高,需要的编程脉冲步数就越多,写入速度自然也就越慢。
读取:逐级试探识别状态
读取的过程本质上是“逐级试探”:给控制栅加上不同大小的参考电压,检测晶体管是否导通,从而判断它的实际阈值电压落在哪个区间。
- SLC只需要1个参考电压,一次判定就能读出1bit;
- TLC要区分8个状态,通常采用类似二分法的逻辑:先加中间电压判断高低4区(第1位),再加对应半区的中间电压判断高低2区(第2位),最后加小区间中间电压判定最终位置(第3位),经过3次判定解出完整3bit数据。
3. 多比特的代价:容量换可靠性的技术权衡
既然同一个单元能存更多数据,为什么不全都做成QLC甚至PLC?因为多比特带来的容量提升,是以牺牲寿命、写入速度、可靠性为代价的。这是一组非常典型的“成本-性能-可靠性”技术权衡。
核心根源只有一个:电压裕量(容错空间)被大幅压缩了。
NAND单元在反复擦写中,氧化层会逐渐产生缺陷,导致电荷缓慢泄漏;读取过程也会对相邻单元产生轻微的“读干扰”,让电压发生微小偏移。温度变化、工艺偏差也都会让阈值电压产生波动。
- SLC:两个状态间隔极宽,哪怕电压飘移一点也不会跨区间,很难出错。寿命可达10万~100万次擦写(P/E循环)。
- TLC:8个区间挤在同样的电压范围内,每个区间宽度只有SLC的1/7左右。一点点电荷泄漏就可能出现比特错误,寿命约1000~10000次P/E循环。
- QLC/PLC:区间更窄,容错空间更小,对磨损和干扰更敏感,寿命进一步降到100~3000次P/E循环。
一句话总结:多比特不是“技术更先进”,而是“用可靠性换容量密度”的商业取舍。
4. 多比特时代的可靠性保障体系
电压裕量压缩后,多比特颗粒之所以还能稳定商用,靠的是一套完整的可靠性保障机制,从物理特性监控到纠错算法层层兜底。
(1)读干扰与刷新机制
反复读取同一个块时,读取电压会对同一块内的相邻存储单元产生微弱的电场影响,长期累积会导致阈值电压漂移,出现比特错误。读取次数越多、单元比特数越多,读干扰效应越明显。
应对机制:SSD固件会监控每个块的读取次数,当达到阈值时,就把该块的数据刷新重写一次,避免错误累积。
(2)数据保持能力
指断电后存储单元里的电荷不泄漏、数据保持正确的时间,它和两个因素强相关:
- 擦写次数:块擦写次数越多,氧化层缺陷越多,电荷泄漏越快,数据保持时间越短。全新TLC常温下数据可保持数年,接近寿命末期的TLC可能只能保持几个月到一年。
- 环境温度:温度越高,电荷泄漏速度呈指数级加快。这也是工业级、车规级颗粒需要更宽温域、更保守参数的原因。
QLC因为电压区间更窄,对电荷泄漏更敏感,数据保持能力弱于TLC,因此更适合常温、读多写少的归档场景。
(3)LDPC纠错技术
早期2D NAND用BCH纠错码,纠错能力有限;现在3D TLC/QLC普遍采用LDPC(低密度奇偶校验)纠错码,纠错能力大幅提升,可以纠正更多的比特错误,相当于变相放宽了对电压漂移的容忍度,让多比特单元的实际可靠性大幅提升。这也是TLC、QLC能普及的重要技术支撑之一。
三、3D NAND:让多比特技术走向主流的革命
如果你早年用过固态硬盘,可能听过“TLC寿命短、不靠谱”的说法。那是在2D平面NAND时代,浮栅结构的电荷保持力弱,工艺尺寸越做越小,氧化层越来越薄,多比特的缺陷被放得很大。真正让多比特颗粒成为消费市场绝对主流的,是3D NAND技术带来的架构革命。
1. 2D平面NAND的瓶颈
2D时代的NAND,所有存储单元都平铺在硅片表面,提升容量只能靠缩小单元尺寸。但当工艺缩小到15nm以下时,氧化层已经薄到接近物理极限,电荷泄漏加剧,干扰效应陡增,再做多比特单元的可靠性已经难以接受。平面结构的容量密度很快触碰到了天花板。
2. 3D NAND的两大核心突破
3D NAND的核心思路,是从“平面缩小”转向“立体堆叠”,像盖楼房一样垂直堆叠存储单元,同时用更稳定的电荷捕获技术替代传统浮栅。
-
垂直堆叠架构
不再一味缩小平面单元尺寸,而是通过垂直堆叠多层存储单元提升容量,目前行业已经做到300层以上。单元的物理尺寸更大,氧化层更厚更耐用,磨损速度大幅降低,同时也减少了单元之间的干扰。 -
电荷捕获技术(CTF)替代浮栅
用氮化硅薄膜替代传统的多晶硅浮栅,电荷被均匀捕获在绝缘介质中,比浮栅的电荷分布更均匀、泄漏更少,电压状态的稳定性大幅提升,天然更适合多比特存储。
这两项技术叠加,直接让TLC的可靠性和实际使用寿命超过了早年2D平面时代的MLC;也让QLC从“实验室技术”变成了大容量消费级SSD的主流选择。
四、全层级加速:弥补NAND原生短板的技术体系
3D NAND解决了基础可靠性问题,但NAND“页写入、块擦除、不能原位改写”的原生特性依然存在,多比特单元的写入速度也天然偏慢。为了进一步释放性能,行业发展出了从单元级、芯片级、接口级到系统级的多层加速技术,本质都是通过并行、缓存、流水线等方式,弥补NAND原生的读写短板。
1. 单元级加速:SLC缓存技术
这是TLC/QLC时代最经典、消费者感知最强的加速技术,完全利用了“SLC写入远快于多比特单元”的特性。
核心原理
TLC/QLC单元临时切换到SLC工作模式:不再划分8/16个电压区间,只使用最基础的2种电压状态,每个单元只存1bit。这样写入时不需要反复微调电荷量,编程脉冲步数大幅减少,写入速度直接接近原生SLC颗粒的水平。简单说就是:用容量换速度,把TLC临时当SLC用。
工作流程
- 主机写入数据时,先全部写入SLC缓存区,速度极快,主机端立刻收到“写入完成”的响应;
- SSD空闲时,主控再把SLC缓存里的数据“折叠”回TLC/QLC的正常多比特模式,释放缓存空间;
- 整个过程对用户透明,日常小文件写入基本都落在缓存里,体验接近满速。
主流分类与局限
- 动态SLC缓存:用SSD的空闲空间动态模拟SLC,空闲容量越大缓存越大,空间被占用后自动回收,是当前消费级SSD的主流方案。
- 静态SLC缓存:固定划出一部分容量永久作为SLC区,不受空闲空间影响,速度更稳定,常见于企业级和高端消费级产品。
当连续写入量超过缓存大小时,缓存被占满,写入速度会回落到TLC/QLC的原生速度,也就是常说的“掉速”。
2. 芯片级优化:挖掘单颗粒性能极限
这是NAND颗粒本身的架构优化,不需要主控额外干预,就能直接提升单颗芯片的吞吐量。
(1)多平面(Multi-Plane)并行架构
一个NAND Die内部会划分成多个独立的平面(Plane),每个Plane都有自己独立的页寄存器、译码电路和存储阵列。可以同时对多个Plane执行读取、编程或擦除操作,比如双平面架构下,一次写入操作可以同时完成两个页的数据写入,单Die写入带宽直接翻倍;常见的还有4平面架构,性能再翻一倍。
(2)缓存编程 / 缓存读取
NAND读写都必须经过页寄存器,普通模式下必须等当前页完全写入存储单元后,才能接收下一页的数据,总线和寄存器有大量空闲时间。
缓存技术利用额外的缓存寄存器形成双缓冲流水线:写入时,当前页正在向存储阵列写入的同时,下一页数据可以提前加载到缓存寄存器;上一页写完立刻启动下一页,消除数据传输的等待间隙。这项技术可以把连续读写的吞吐量提升30%~80%,是NAND颗粒的标配优化。
(3)多Die交错(Die Interleave)
一颗NAND封装里通常集成了多个Die,交错技术让多个Die分时复用I/O总线。当第一个Die进入内部写入状态(不占用总线)时,立刻向第二个Die传输数据并启动写入,多个Die流水线式交替工作,把总线的空闲时间降到最低,充分利用接口带宽。
(4)工艺与算法优化
- 优化ISPP编程策略:采用更大的初始脉冲、自适应步进幅度,或者根据单元磨损程度动态调整脉冲参数,减少编程脉冲的总次数,缩短单页写入时间。
- 优化读取逻辑:用更高效的二分查找策略,减少区分电压状态所需的判定次数,降低读取延迟;配合LDPC纠错的软判决读取,减少因为误码导致的重读次数。
3. 接口级升级:打通数据传输瓶颈
内部性能再强,也需要高速接口把数据传出来,NAND接口标准的演进本身就是一部提速史。
早期NAND是异步接口,带宽只有几十MB/s;现在主流的高速同步接口有两大体系:
- ONFI标准:从ONFI 1.0发展到最新的ONFI 5.0,单通道带宽从50MB/s提升到2400MT/s以上;
- Toggle DDR标准:三星、铠侠等厂商主推,从Toggle DDR 1.0发展到4.0,速率同样突破3200MT/s。
高速接口让NAND与主控之间的数据传输不再是瓶颈,充分释放了内部多平面、多Die并行的性能。
补充:主机侧的NVMe协议替代传统SATA,也是整个存储系统的关键加速:协议延迟从毫秒级降到微秒级,队列深度提升上百倍,彻底释放了高速NAND的性能潜力。
4. 系统级聚合:主控与固件的核心优化
SSD的性能不是单颗NAND决定的,主控的架构和固件算法才是把众多颗粒性能聚合起来的关键。
(1)多通道并行架构
SSD主控拥有多个独立的NAND通道,每个通道可以独立访问挂载的NAND颗粒,原理类似RAID 0。比如8通道主控,可以同时对8组NAND进行读写,总带宽是单通道的8倍。这就是消费级SSD能做到7GB/s、企业级能做到十几GB/s连续读取的核心原因。
(2)DRAM缓存与HMB技术
- 带DRAM的SSD:板载一颗独立DRAM芯片,作用有两个:一是存放FTL(闪存转换层)的逻辑-物理地址映射表,地址查找速度极快,随机读写性能大幅提升;二是作为写入缓存,主机数据先写到DRAM就立刻返回完成,再由主控后台写入NAND,主机感知的写入速度极快。
- HMB(主机内存缓冲):无DRAM入门SSD的替代方案,通过PCIe借用主机的一小部分内存来存放映射表和缓存,成本更低,同时也能明显提升性能。
(3)三大核心固件算法
硬件决定了性能上限,而固件算法决定了下限和长期稳定性。其中最核心的三大机制,直接影响SSD的实际寿命和使用体验。
磨损均衡(Wear Leveling)
NAND每个块的擦写次数是有限的,如果数据总写在同一个块上,这个块会很快损坏,而其他块却几乎没被使用,整体寿命会远低于理论值。
磨损均衡就是FTL中的核心算法,作用是让所有块的擦写次数尽量平均,避免个别块过度磨损。主要分为两类:
- 动态磨损均衡:只针对频繁写入的热数据,写入时自动挑选当前擦写次数最少的空闲块来写,让热数据在不同块之间轮转。
- 静态磨损均衡:针对长期不改动的冷数据(比如系统文件、归档文件),会在空闲时把冷数据从擦写次数少的块,搬到擦写次数多的块,把磨损少的块腾出来给热数据用,让所有块的磨损程度最终趋于一致。
后台垃圾回收(GC)与TRIM指令
因为NAND不能原位改写,随着写入增多,磁盘中会产生很多包含无效数据的“脏块”。垃圾回收(GC)就是把脏块里的有效数据搬运到空闲块,然后擦除脏块,回收可用空间的过程。
- 后台GC:在SSD空闲时提前完成垃圾回收,避免写入时才临时回收导致的卡顿,让写入速度长期保持稳定。
- TRIM指令:操作系统告诉SSD哪些数据已经被删除、是无效的,SSD可以提前标记这些页面,垃圾回收时无需搬运无效数据,大幅提升GC效率。
写入放大率(Write Amplification)
垃圾回收会带来一个副作用:主机只写了少量数据,SSD内部却因为搬运有效数据,实际向NAND写入了更多数据,这就是写入放大。
写入放大率(WA)= NAND实际写入的数据量 / 主机下发的写入数据量
比如主机写了1GB数据,SSD内部实际写入了3GB,那么写入放大率就是3。写入放大率越高,实际写入速度越慢,颗粒磨损越快,真实寿命就越低。理想状态下WA=1,实际消费级SSD通常在1~3之间,企业级可以做到更低。
影响写入放大的关键因素:OP空间越大,GC调度空间越充足,写入放大越低;开启TRIM可以显著降低写入放大;连续大文件写入的写入放大低,随机小文件写入的写入放大高。
(4)冷热数据分层与OP空间
- 冷热分层:把频繁写入的热数据放在SLC缓存或高速区域,不常访问的冷数据沉降到TLC/QLC区域,兼顾写入速度和存储容量。
- OP(超额配置)空间:预留一部分用户不可见的空闲空间,给GC和磨损均衡使用。OP空间越充足,垃圾回收效率越高,写入放大越低,磨损均衡调度越灵活,长期写入速度和寿命就越稳定。
五、选购指南:不同颗粒的适用场景与寿命参考
了解了原理和加速技术,我们就能跳出“唯容量论”,根据实际场景选择合适的颗粒类型。
1. 核心寿命指标:TBW与DWPD
普通消费者选购时看不到P/E循环次数,最直观的商用寿命指标是两个:
- TBW(Total Bytes Written):终身总写入字节数,比如1TB SSD标称600TBW,意思是终身可以累计写入600TB数据。
- DWPD(Drive Writes Per Day):每日写入次数,比如3DWPD,意思是每天可以写入整盘容量的3倍,连续写5年。
2. 各类型颗粒场景化推荐
-
SLC:极致可靠之选
成本最高、容量密度最低,但寿命最长、速度最快、耐高低温能力最强。多用于工业控制、军工、汽车电子、企业级写密集缓存等对可靠性要求极高的场景,消费级产品基本不用。 -
MLC:早年的高端记忆
2bit/单元,性能和寿命介于SLC和TLC之间。早年高端SSD常用,现在已经被3D TLC全面替代,基本退出主流市场。 -
TLC:当前绝对主流
3bit/单元,兼顾成本、容量、寿命、速度。搭配3D堆叠和LDPC强纠错算法后,完全满足普通消费者的使用需求。消费级1TB容量通常标称600~1200TBW,覆盖绝大多数消费级SSD、手机闪存、U盘、存储卡等,是普通用户的首选。 -
QLC:大容量性价比首选
4bit/单元,单位面积容量比TLC再高33%,每GB成本更低。1TB容量通常标称200~400TBW,主打大容量桌面SSD、冷数据存储、归档盘,适合读多写少的场景。 -
PLC:下一代冷存储技术
5bit/单元,极致追求容量密度和低成本,寿命和写入速度也更低。主要面向数据中心冷存储、归档存储等写入极少的场景,目前处于逐步量产阶段。
3. 常见认知误区纠正
很多用户谈QLC色变,担心寿命不够用。实际上对普通办公、家用场景来说,每天写入量通常只有几十GB。哪怕是1TB容量的QLC SSD(按300TBW计算),每天写入50GB也可以用超过16年,远超过电脑的更新换代周期。
日常使用无需过度焦虑颗粒寿命,更应该关注的是缓存策略、固件优化和实际使用场景是否匹配。
结语
NAND Flash的发展史,本质上就是一部“在同一个物理单元里挤更多数据”的历史。从SLC到TLC再到QLC,不是简单的“升级”或“降级”,而是针对不同应用场景的精准权衡;而从SLC缓存到多通道并行,各类加速技术又在不断弥补NAND原生的性能短板。
如今3D NAND还在不断刷新堆叠层数,PLC也在逐步落地,甚至6bit的单元也在研发中。虽然MRAM、PCRAM等新型存储来势汹汹,但在可预见的未来,NAND Flash依然会是我们数据存储的绝对主力。