一句话:写放大(Write Amplification, WA)是"盘实际写进闪存的数据 ÷ 主机真正想写的数据";TBW(Total Bytes Written)和 DWPD(Drive Writes Per Day)则是厂商把写放大和闪存磨损折算后,对外给出的寿命承诺。
为什么会有写放大
NAND 闪存(NAND flash)有两个硬约束:写入以页(page)为单位,擦除以块(block)为单位,而一个块包含很多页;同一页不能反复原地覆盖,必须先擦再写。于是你只改 4KB,主控里的 FTL(Flash Translation Layer)却要先把整块有效数据读出来、写进新块、再擦掉旧块。中间还夹着垃圾回收(Garbage Collection, GC)、磨损均衡(Wear Leveling)和校验重写。结果就是:你写 1GB,盘里可能实际写了 3GB,写放大系数就是 3。
打个比方:一本只能拆开重抄的活页笔记。你只想改一个词,但它被胶死在一整本里,你得把整本撕下来、把有用的页复印出来、重新贴成新本。改得越碎、本子越满,抄的次数越多——这就是随机小写、盘快满时写放大恶化的原因。
TBW 和 DWPD 的区别
| 参数 | 含义 | 尺子 |
|---|---|---|
| 写放大 | 实际写入 ÷ 主机写入 | 效率指标,越低越好 |
| TBW | 保修期内可写入的总字节数 | 绝对量,与容量无关 |
| DWPD | 保修期内每天可写满整盘的次数 | 相对量,含容量与年限 |
粗略换算:DWPD ≈ TBW ÷(保修年数 × 365 × 容量)。所以同样 TBW,盘越大 DWPD 越小。厂商通常按读密集、混合、写密集分档,具体以官方页面为准。
对 AI 长跑任务意味着什么
训练侧是典型的持续写:数据读取、日志,尤其是 checkpoint。模型越大、保存越频,写入越像一条不会停的河。如果每 10 分钟落一个几十到几百 GB 的 checkpoint,一天写入量就以 TB 计;DWPD 不够的盘,几年内可能把 TBW 烧完,随后进入只读甚至掉盘。长跑任务最怕的不是慢,而是跑到第几天盘挂了。
推理侧偏读:加载权重、读缓存、写日志和向量库。大块顺序读为主时 TBW 压力小;但向量检索、特征落盘、高频日志属于随机小写,写放大高,这时要看 DWPD 和稳态性能(sustained performance),而不是标称峰值速度。
实操上:checkpoint 放独立的企业级 NVMe(非易失性内存主机控制器接口规范固态盘),尽量大块顺序写,别把盘塞满(留出预留空间 Over-Provisioning),保证 TRIM 生效,并盯着 SMART 里的累计写入量和磨损百分比。RAID 5/6 的小写入还会再叠一层写放大,值得单独评估。
对普通职场人:日常办公、看视频基本碰不到 TBW 上限;但拿消费级盘做 7×24 的数据库、日志或监控录像盘,才是真正折寿的用法。买二手盘时先看 SMART 里的写入量,比看外观靠谱得多。
