两个机制的分工
闪存每个块的擦写次数有限,如果固件总是优先写同一批地址,这些块会迅速磨损。磨损均衡(Wear Leveling)通过地址映射表把逻辑地址动态映射到不同物理块,让擦写次数在整个介质上尽量平均;静态均衡还会主动搬移长期不动的冷数据,防止冷块一直被闲置而热块被写穿。预留空间(Over-Provisioning)则是盘内不对主机暴露的一部分容量,用作垃圾回收时搬移数据的中转区、坏块替换的后备区,以及维持足够空闲块以降低写放大。两者都不可由用户直接看见,却直接体现在稳态性能与寿命指标上。
基本信息
| 磨损均衡单位 | 物理块,固件按擦写计数调度写入位置 |
|---|---|
| 均衡类型 | 动态均衡(新写入分散)+ 静态均衡(搬移冷数据) |
| 预留来源 | 出厂预留与用户留出的未分区空间两部分 |
| 预留作用 | 降低写放大、支撑垃圾回收、替换坏块 |
| 观测方式 | 健康度、擦写计数分布与介质写入量等厂商提供的健康信息 |
预留空间的作用路径
| 预留水平 | 空闲块状况 | 稳态表现 | 寿命消耗 |
|---|---|---|---|
| 充足 | 回收有周转空间 | 写性能稳定 | 写放大低,寿命消耗慢 |
| 偏少 | 回收频繁 | 写入波动增大 | 写放大上升 |
| 几乎无 | 回收与写入争抢 | 持续写明显掉速 | 寿命快速消耗 |
典型使用场景
- 写密集的数据库与日志盘:预留充足时稳态写入更平稳
- 虚拟化平台:快照与克隆带来大量碎片写入,需为垃圾回收留出空间
- 阵列中的 SSD:多盘承载同一负载,各盘磨损应尽量同步以便整批更换
- 读密集业务:写入少,磨损均衡压力小,预留影响相对次要
- 老旧盘逐步退役:观察擦写计数分布判断是否已有局部磨损集中的盘
用户可以主动增加有效预留:把盘容量留出一部分不分区不使用,设备就能把它作为周转空间使用。这属于常见做法,但留多少要结合写入强度与厂商建议,并非越多越好。
磨损均衡对主机不可见,验收时无法直接测量,只能通过健康信息中的擦写计数分布与剩余寿命趋势间接判断。混合负载下更应关注长期趋势而不是单点读数。