照片、视频、APP——所有数据最终都以电荷的形式保存在 NAND 闪存的浮栅晶体管中。这篇文章从最小的存储单元讲起,逐步拆解 NAND 闪存的分层结构、读写擦除的单位差异,以及由此衍生出的垃圾回收和写放大机制。
最小存储单元:浮栅晶体管
存储原理
NAND 闪存的基本存储单元是浮栅晶体管(Floating Gate Transistor)。它在普通 MOS 管的栅极中嵌入了一个被绝缘层完全包裹的”浮栅”——电荷一旦注入就难以逃逸,断电后数据也能长期保存。
- 写入(Program):向浮栅注入电子 → 阈值电压升高 → 代表逻辑 “0”
- 擦除(Erase):从浮栅移除电子 → 阈值电压降低 → 代表逻辑 “1”
为什么能断电保存
浮栅被高质量的氧化物绝缘层完全包裹,注入的电子几乎无法泄漏。基于这个原理,NAND 闪存实现了非易失性存储——断电后数据依然完好。
分层结构:从 Cell 到 Wafer
NAND 闪存采用严格的层级嵌套结构:
| 层级 | 说明 | 关键特性 |
|---|---|---|
| Cell(单元) | 最小存储单元,存放 1-4 bit | SLC/MLC/TLC/QLC 的区分就在这里 |
| Page(页) | 读写的最小单位 | 通常 2KB / 4KB / 16KB |
| Block(块) | 擦除的最小单位 | 包含数百到数千个 Page |
| Plane(平面) | 多个 Block 组成 | 不同 Plane 可以并行操作 |
| Die(晶粒) | 多个 Plane 组成 | 一个独立的芯片单元 |
| Wafer(晶圆) | 多个 Die 组成 | 最终切割封装 |
读写按页、擦除按块——这个不对称性是理解 NAND 所有”怪癖”的起点。
为什么不能直接覆盖写入?
物理限制
NAND 闪存的一个关键限制:不能直接覆盖已有数据。
要修改某个 Page 的数据,必须先擦除它所在的整个 Block,再写入新数据。而擦除操作有几个特点:
- 只能按 Block 为单位,不能单独擦除一个 Page
- 擦除速度比读写慢得多(毫秒级 vs 微秒级)
- 擦除次数有限(P/E Cycle,决定了 NAND 的寿命)
实际处理方式
当你要修改一个文件时,SSD 控制器不会原地擦写,而是:
- 将新数据写入一个已擦除的空 Page
- 将旧 Page 标记为无效(Invalid)
- 等待后台 GC 回收旧 Page 所在 Block 的空间
这就是为什么 SSD 用久了需要垃圾回收(GC)——清理那些被标记为无效但还没擦除的旧数据。
衍生机制:GC 与写放大
垃圾回收(Garbage Collection)
当空闲 Block 不够用时,控制器会启动 GC:
- 选一个”脏”Block(含大量无效 Page)
- 把其中仍然有效的 Page 搬到一个新 Block
- 擦除旧 Block,恢复为空闲状态
GC 是后台自动进行的,但会消耗 P/E Cycle,加速磨损。
写放大(Write Amplification)
写放大(WA)指的是:实际写入 NAND 的数据量 ÷ 主机请求写入的数据量。
WA = NAND 实际写入量 / 主机请求写入量
由于 GC 搬移有效数据会产生额外写入,WA 总是大于 1。WA 越大,实际写入量越大,P/E Cycle 消耗越快,寿命越短。
| 场景 | WA 典型值 | 说明 |
|---|---|---|
| 顺序写入大文件 | 1.0 - 1.2 | 接近理想值 |
| 随机写入小文件 | 1.5 - 3.0 | GC 开销大 |
| 盘满时随机写入 | 3.0 - 10+ | 可用空间越少,WA 越大 |
减少写放大的关键:保留足够的空闲空间(Over-Provisioning),让 GC 有充足的周转余地。
总结
- 浮栅晶体管是 NAND 的最小存储单元,电荷注入 = 写,电荷移除 = 擦除
- Cell → Page → Block → Plane → Die → Wafer 的层级结构决定了读写按页、擦除按块的不对称性
- 不能直接覆盖写入是 NAND 最根本的物理限制,GC 和写放大都由此而来
- **写放大(WA)**是衡量 SSD 实际寿命的关键指标,随机写入场景下 WA 显著增大
NAND 闪存的物理特性决定了它的优势和限制是一体两面的:高密度、低成本、非易失性是优势;不能直接覆写、擦除次数有限、需要 GC 是代价。理解这些底层机制,才真正理解了存储。
系列导航
| 集数 | 标题 | 内容 |
|---|---|---|
| 第 0 集 | 存储课程总览 | 四大模块介绍 |
| 第 1 集 | 到底什么是存储? | 内存与存储的本质区别 |
| 第 2 集 | 存储类型大盘点 | HDD/SSD/eMMC/UFS 全解析 |
| 第 3 集 | 为什么存储越用越慢? | 碎片、GC、SLC 缓存 |
| 第 4 集 | 三大存储介质 | DRAM/NOR Flash/NAND Flash |
| 第 5 集 | SLC/MLC/TLC/QLC 全解析 | 速度、寿命、成本取舍 |
| 第 6 集 | 存储参数怎么看? | 顺序读写与随机读写 |
| 第 7 集 | UFS 凭什么全面取代 eMMC? | 三大核心优势 |
| 第 8 集 | 一文看懂 UFS 进化史 | 2.0 到 4.1 技术迭代 |
| 第 9 集 | UFS 内部三大核心组成 | 控制器+NAND+DRAM |
| 第 10 集 | NAND 闪存芯片深度解析 | 👈 你在这里 |
下一集:写放大(Write Amplification)深度剖析。 WA 是怎么算出来的?为什么盘越满越卡?敬请期待!


