第2章:NAND闪存核心架构:浮栅晶体管与电荷存储原理
好,咱们直接切入正题。NAND闪存的核心,说白了就是那个小小的浮栅晶体管。你想想看,一块指甲盖大小的芯片,能存下几百GB的数据,靠的就是它。我当年刚接触这个领域时,也觉得挺神奇的——一个晶体管,怎么就能记住数据呢?
2.1 浮栅晶体管的结构
先看结构。一个标准的浮栅晶体管,跟普通的MOS管长得有点像,但多了一层“夹心”。
- 控制栅(Control Gate):最上层,负责施加电压,控制晶体管的开关。
- 浮栅(Floating Gate):中间层,被绝缘层包裹,用来存储电荷。这层是“浮”着的,没有直接电气连接。
- 隧穿氧化层(Tunnel Oxide):浮栅和衬底之间的薄层,电荷通过它“钻”进浮栅。
- 阻挡氧化层(Blocking Oxide):浮栅和控制栅之间的绝缘层,防止电荷跑掉。
- 源极/漏极(Source/Drain):跟普通MOS管一样,负责导通电流。
关键点:浮栅是“浮”在绝缘层中间的。没有直接连线,电荷一旦进去,就很难出来。这就是非易失性的根本原因。
我在项目中遇到过一件事:有次做可靠性测试,发现一批芯片的数据保持能力很差。查来查去,最后发现是隧穿氧化层厚度不均匀。嗯,这里要注意,氧化层的质量直接决定了芯片的寿命。
2.2 电荷存储原理
数据怎么存进去的?靠的是隧穿效应。说白了,就是电子“钻”过绝缘层,跑到浮栅里去。
具体来说,分两种操作:
- 编程(Program):在控制栅上加高电压(比如20V),电子从衬底隧穿到浮栅。浮栅里电子多了,晶体管的阈值电压(Vth)就升高。
- 擦除(Erase):在衬底上加高电压,电子从浮栅隧穿回衬底。浮栅里电子少了,阈值电压就降低。
你想想看,阈值电压变了,读数据时就容易区分了。读操作时,给控制栅加一个中间电压,如果晶体管导通,说明浮栅里电子少(擦除态,逻辑“1”);如果不导通,说明浮栅里电子多(编程态,逻辑“0”)。
个人经验:我建议你在设计时,一定要考虑编程/擦除的电压裕量。电压太高,氧化层容易击穿;电压太低,电荷又进不去。这个平衡,得靠大量的实验数据来调。
2.3 阈值电压分布与多级存储
传统的SLC(单级存储)只有两种状态:0和1。但NAND闪存能做得更密——靠的是多级存储。
MLC(多级存储)有4种状态,TLC有8种,QLC甚至有16种。每种状态对应不同的阈值电压范围。
为什么会这样?因为浮栅里存的电子数量不同。电子越多,阈值电压越高。通过精确控制电子数量,就能实现多级存储。
| 类型 | 状态数 | 每单元存储位数 | 阈值电压分布 |
|---|---|---|---|
| SLC | 2 | 1 | 两个分布,间隔大 |
| MLC | 4 | 2 | 四个分布,间隔较小 |
| TLC | 8 | 3 | 八个分布,间隔更小 |
| QLC | 16 | 4 | 十六个分布,间隔极小 |
避坑指南:我曾经吃过一次亏——在设计TLC产品时,没充分考虑阈值电压分布的重叠问题。结果数据读出来全是错的。后来加了ECC纠错,才勉强能用。记住,分布越密,对噪声越敏感,纠错能力就得越强。
2.4 电荷保持与耐久性
电荷存进去了,能保持多久?这取决于电荷泄漏。浮栅里的电子,会慢慢通过氧化层跑掉。温度越高,泄漏越快。
我个人的习惯是,在设计阶段就做加速老化测试。比如在85°C下烤1000小时,看看数据还能不能读出来。如果不行,就得优化氧化层工艺。
另一个问题是耐久性。每次编程/擦除,都会对氧化层造成损伤。次数多了,氧化层就“累”了,电荷保持能力下降。SLC能做到10万次,QLC可能只有1000次。你想想看,差距有多大。
核心结论:浮栅晶体管是NAND闪存的基石。理解它的结构、电荷存储原理、阈值电压分布,以及耐久性限制,是掌握NAND接口协议的前提。后面讲协议时,你会发现很多设计都是为了解决这些物理层面的问题。
2.5 知识体系图
下面这张图,帮你理清本章的核心逻辑:
这张图从浮栅晶体管的结构出发,一步步引出电荷存储原理、多级存储,以及耐久性问题。你顺着箭头看,就能理解整个知识脉络。
我的建议:初学者容易把注意力全放在协议上,忽略了物理层。但说实话,很多协议设计的初衷,就是为了应对浮栅晶体管的物理限制。比如,为什么要有读重试(Read Retry)?因为阈值电压会漂移。为什么要有磨损均衡(Wear Leveling)?因为耐久性有限。把这些物理原理搞懂了,协议学起来就轻松多了。