QLC SSD为什么不耐用?
很多人已经隐约感觉到了:
现在的 SSD,越来越不像“耐用品”, 而更像“消耗品”。
用着用着掉速, 写着写着寿命见底。很多人第一反应是: 是不是厂商缩水了?是不是偷工减料?
但如果把问题往底层再挖一层,会发现一个更真实、也更残酷的答案:
不是 SSD 变差了,而是我们在用一种更“极限”的方式存数据。
而 QLC,正是这种“极限操作”的代表。
一、SSD并不是“写进去”的
我们习惯理解的“写数据”,是这样的:
- 写1就是1
- 写0就是0
但在 NAND 里,完全不是这么回事。
一个 cell,本质上不是“0或1”,而是一个电压值(threshold voltage)。
所谓的数据,其实只是:
这个电压,落在哪一个区间
换句话说:
👉 SSD 不是“写进去”的 👉 而是一点一点“逼近出来”的
二、从TLC说起:8个波峰已经很挤了

如图所示,以 TLC 为例,一个 cell 存 3bit:
👉 一共 8 个状态(000 ~ 111)
写完之后,不是8个“点”,而是:
👉 8个“波峰”(电压分布)
每一个波峰,都有宽度、有误差、有漂移。
但问题还不算严重,因为:
👉 8个区间,还勉强能分开
三、QLC做了一件更激进的事
到了 QLC,情况发生了本质变化:
👉 一个 cell 存 4bit
意味着:
👉 16 个状态(0000 ~ 1111)
问题来了:
同一段电压空间,要塞下16个波峰
你可以这样理解:
- TLC:8个人住一栋楼
- QLC:16个人住同一栋楼
- 房子大小没变
👉 每个人的空间,被直接压缩了一半。
四、问题核心:不是写不进去,而是写不准
很多人以为 QLC 的问题是“写不进去”。其实恰恰相反:
QLC 最大的问题,是写不准。
NAND 的写入过程,之前的两篇文章已经详细介绍过,本质是:
👉 加一点电压 → 验证 → 再加一点 → 再验证
这个过程叫:
👉 逐步逼近(ISPP)
但在 QLC 里:
- 每个状态之间间距极小
- 每一步都必须更精细
- verify 次数暴增
稍微多一点:
👉 写“过头”(overshoot)
稍微少一点:
👉 落不到目标区间
👉 容错空间几乎被压扁
五、工程师是怎么“硬撑住”的?
既然这么难,为什么还能用?
答案是:改变写入方式
1️⃣ Two Pass(主流)
现在的 QLC,大多采用:
👉 两步写入
- 第一步:粗写(先大致落位)
- 第二步:细调(再逼近目标)

2️⃣ Three Pass(早期方案)
更早期的 QLC,更“保守”:
👉 分三步写:如图所示,写page0~3一共4个page分了三步。
- 2个状态 → 8个状态 → 16个状态

也就是:
先搭骨架,再细化,最后精修
但代价很明显:太慢了
所以逐渐被淘汰。
六、为什么这会影响寿命?
关键点来了,很多人以为寿命低是因为“写得多”。
但真正的原因是:
每一次写入,本身就更“折腾 cell”
因为:
- ISPP 步数更多
- verify 次数更多
- 电压调整更频繁
- 邻近干扰更严重
👉 一次写入,对 cell 的消耗更大
七、一个反直觉的事实
很多人以为:
SSD 技术在进步,是越来越稳定
但现实是:
我们是在用越来越精细、越来越脆弱的方式存数据
换句话说:
我们不是把数据写得更清楚了而是把“容错空间”一点点榨干了
八、QLC,到底算不算进步?
如果从容量和成本看:
👉 是进步
但如果从稳定性和寿命看:
👉 它更像是一次工程上的妥协
因为并没有找到更稳定的存储方式, 只是把原本还能容忍的误差空间:
👉 继续压缩了一半
九、总结
如果只记住一个结论,那就是:
SSD 的写入,本质不是“写”,而是“逼近”
而 QLC 的问题在于:
它要在极其狭窄的空间里,做极其精细的逼近
这,就是它不耐用的真正原因。
🔥(收尾钩子)
那问题来了:
👉 既然波峰会重叠、会漂移,SSD 是怎么“读对”的?
下一篇,我们聊一个更关键的东西:
读,是怎么在一堆模糊信号里“猜对答案”的
Alipay
Wechat