ENZH
和 AI 讨论这篇文章
ChatGPTClaude

SSD 凭什么断电了数据还在

上一篇讲了 DRAM 怎么存一个比特,靠的是电容存电荷。电容一断电,电荷就漏光了,存的数据也跟着没了。但你的 SSD 不是这样啊,电脑关机扔一个月,开机文件全都在。大家好像都觉得这事天经地义吧?可凭什么啊?电都断了,电子凭什么还老老实实待在原地?

NAND 的办法挺朴素,就是把电子关起来。不是打比方,是真在物理上把它关进一个出不来的地方。

电子进得去,出不来

NAND 的存储单元也是个晶体管,但比普通晶体管多了一层东西。那是一层导电层,四面八方都被绝缘体包死了,叫浮栅。往浮栅里充电或者放电,晶体管的阈值电压就跟着变。阈值电压这个词有点书面,大概就是「要多高的电压才能把这个晶体管打开」。读的时候测一下这个电压是高是低,就知道里面存的是 1 还是 0。

门道全在包着浮栅的那圈绝缘层上。电子一旦被塞进去,四周全是绝缘体,它就出不来,断电了也还是出不来。教科书管这个叫「非易失性」,这词也挺书面的,意思就是断电不丢数据。所以 SSD 断电数据还在,没什么玄的,就是电子被关住了,跟供不供电没有一毛钱关系。

NAND 靠一圈绝缘层把电子物理关在浮栅里,进得去出不来,断电也跑不掉,所以数据不丢NAND 靠一圈绝缘层把电子物理关在浮栅里,进得去出不来,断电也跑不掉,所以数据不丢

一个单元能塞几个比特

那一个单元能不能多存几个比特啊?可以。浮栅里的电荷量不是只有「有」和「没有」两档,还可以细分成好几档电平,档数每翻一倍,就能多表示一个比特。

SLC 一个单元就两个电平,0 和 1,存 1 个比特,最快也最耐用,企业级和数据中心用得多。MLC 四个电平,存 2 比特。TLC 八个电平,存 3 比特,是现在消费级 SSD 的主流。QLC 十六个电平,存 4 比特,容量最大,耐用性也最差。

一个单元塞进越多比特,就要把同一段电压切成越多档、档间越窄,密度越高寿命就越短一个单元塞进越多比特,就要把同一段电压切成越多档、档间越窄,密度越高寿命就越短

电平分得越细,读起来就越费劲,因为噪声和干扰会让相邻的电平糊在一起,只能靠更复杂的纠错码去兜底,也就是 ECC。QLC 的原始误码率是 SLC 的 1000 倍以上。1000 倍啊。所以市面上所有 QLC SSD 平时都是边读边纠错,不是偶尔纠一下,是一直在纠。

为什么 SSD 写多了会坏

NAND 有个致命的物理限制。写入和擦除都是拿高电压把电子硬压过绝缘层,每来一次,绝缘层就被击穿一次。次数多了,绝缘层慢慢退化,开始漏电,最后连电平都分不清了,这个单元就废了。

SLC 大概能扛 10 万次编程/擦除,TLC 掉到 1,000 到 3,000 次,QLC 只有 500 到 1,000 次。而且这个次数还不是你直觉里那种「写满一次算一次」,因为 SSD 内部有写放大。你写 1MB 数据,SSD 内部要搬移、擦除、重写,真正落到闪存上的物理写入可能是 3 到 5 倍。

所以 SSD 主控芯片有很大一部分心思,都花在给 NAND 续命上。把写入摊到所有单元上,别让某几个块先磨报废,这叫磨损均衡;擦一个块之前,先把里面还有用的数据搬到别的块去,这是垃圾回收;再维护一张从逻辑地址到物理地址的动态映射表,就是 FTL。这一整套都跑着,SSD 实际能用的寿命还是比纸面上那个数低得多。

缩不动了就往上堆

传统 NAND 是二维的,存储单元在芯片表面一字排开。想提密度就得缩制程,单元一缩小,绝缘层也得跟着变薄。但绝缘层薄到一定程度,就关不住电子了。在平面上往小了缩,就这么缩到了物理极限。

3D NAND 干脆不缩了,往上堆,把存储单元竖起来一层一层叠,相当于从平房改成盖楼。现在主流已经堆到 200 多层,三星 2024 年量产了 290 层的。密度靠层数往上涨,绝缘层就不用再变薄了。

平面缩微撞到物理墙后,NAND 不再缩小单元,而是把存储单元一层层竖着往上堆,靠层数涨密度平面缩微撞到物理墙后,NAND 不再缩小单元,而是把存储单元一层层竖着往上堆,靠层数涨密度

我只能说,3D NAND 是过去十年存储行业最成功的创新。物理上没什么新突破,纯粹是工程上把单元一层一层堆上去,硬给做成了。

AI 这波跟 NAND 有什么关系

模型权重平时躺在 SSD 上,推理的时候才加载进 HBM/DRAM。数据走的是 SSD → DRAM → GPU 这条路,每次切换模型(比如推理时换一个 LoRA adapter),都得重新搬一遍,所以 SSD 有多快,直接决定了 cold-start 延迟有多长。

训练那边更夸张。大规模训练的数据集动不动就是 TB 级甚至 PB 级,全存在 NAND 阵列里,光是加载数据就成了训练的瓶颈。GPU 利用率常年低于 70%,这里面有很大一部分时间就是在等数据从存储搬进内存。这么贵的卡在那干等数据,讲道理挺离谱的。

边缘 AI 那边还有个挺有意思的方向,就是能不能干脆直接从 NAND 推理。模型权重就留在 NAND 上不动,用到哪一层,才把哪一层加载进 DRAM。这是 offloading 的前沿方向。

NAND 不像 HBM 那么亮眼,但 AI 系统整体能跑多快,很多时候是它说了算。下一篇就讲那个亮眼的 HBM,它把内存直接架到了芯片头顶上。

和 AI 讨论这篇文章
ChatGPTClaude

订阅更新

新文章发布时发到你的邮箱,不发别的。


© Xingfan Xia 2024 - 2026 · CC BY-NC 4.0