3、存储介质原理:NAND Flash特性、SLC/MLC/TLC/QLC、磨损均衡、垃圾回收与写放大
UFS 的性能上限,最终由它内部的 NAND Flash 决定。主控、协议、缓存只能优化“怎么访问”,却无法改变“介质本身怎么工作”。理解 NAND 的物理特性,是读懂 UFS 读写性能曲线、延迟抖动和寿命衰减的起点。
一、NAND Flash 的四个关键物理特性
NAND 不是磁盘,它的行为逻辑与机械硬盘、DRAM 完全不同,核心差异集中在四点:
- 按页读写、按块擦除:读取和编程以 Page(页,常见 4KB~16KB)为单位,擦除却必须以 Block(块,通常数百页)为单位。这决定了“覆盖写”无法原地完成。
- 先擦后写:一个 Page 被写过之后,必须整块擦除才能再次写入。更新数据只能写到新的空闲页,旧页标记为无效。
- 有限擦写寿命:每个 Block 能承受的 P/E(Program/Erase)次数有限,SLC 约 5 万~10 万次,TLC 约 1000~3000 次,QLC 更低。
- 读干扰与数据保持:频繁读取同一块会影响相邻单元阈值电压;长期不通电,电荷会缓慢泄漏,导致误码率上升。
二、SLC / MLC / TLC / QLC:一个单元存几位
每个存储单元(Cell)能存放的比特数,决定了容量、成本、速度与寿命的权衡。存 1 位叫 SLC,2 位 MLC,3 位 TLC,4 位 QLC。位数越多,单元内需要区分的电压状态越多,写入时需要更精细的编程与校验,读回时也更容易出错。
| 类型 | 每单元位数 | 电压状态数 | 相对寿命 | 写入速度 | 典型用途 |
|---|---|---|---|---|---|
| SLC | 1 bit | 2 | 最高 | 最快 | 企业级缓存、高耐久场景 |
| MLC | 2 bit | 4 | 较高 | 较快 | 早期高端 SSD/UFS |
| TLC | 3 bit | 8 | 中等 | 中等 | 当前主流手机 UFS |
| QLC | 4 bit | 16 | 较低 | 较慢 | 大容量、冷数据存储 |
注意:UFS 中常见“TLC 模拟 SLC 缓存”(SLC Cache)。写入初期数据落在高速 SLC 区,表现很快;缓存写满后回落到 TLC 直写,速度骤降。这就是很多 UFS 跑分高、但大文件持续写入后掉速的原因。
三、磨损均衡:让每个块“平均出力”
如果总是往同一批物理块写数据,这些块会先被写坏,整盘寿命被最短的那块拖垮。磨损均衡(Wear Leveling)就是主控把写入压力均匀分散到所有块上的机制。
- 动态磨损均衡:新数据优先写入擦写次数少的空闲块,只处理“正在被写”的数据。
- 静态磨损均衡:主动搬移长期不动的冷数据,把低磨损块腾出来给热数据使用,防止冷数据“占着好块不干活”。
磨损均衡的代价是额外的数据搬移,这会消耗带宽、增加写放大。因此它不是越激进越好,而是要在寿命与性能之间取平衡。
四、垃圾回收与写放大:性能抖动的根源
由于 NAND 只能整块擦除,当空闲块不足时,主控必须执行垃圾回收(GC):挑选一个无效页比例高的块,把其中仍然有效的页搬到新块,然后擦除整块回收空间。
GC 基本流程:
1. 扫描候选块,计算无效页占比(valid page ratio)
2. 选出无效页最多的块作为 victim block
3. 将 victim block 中的有效页读出,写入新的空闲块
4. 擦除 victim block,标记为空闲块
5. 更新逻辑地址到物理地址的映射表(L2P)
写放大(Write Amplification, WA)定义为“实际写入 NAND 的数据量 ÷ 主机请求写入的数据量”。GC 搬移的有效页、映射表更新、ECC 校验等都会让 WA 大于 1。
五、案例:一次持续写入掉速的复盘
某手机在 UFS 上写入 20GB 视频文件,前 6GB 速度约 900MB/s,之后骤降到 250MB/s 并持续波动。排查结论如下:
- 前段高速来自 SLC Cache,数据先写入模拟 SLC 区。
- SLC Cache 写满后,数据需要回迁到 TLC 区,同时触发 GC。
- 盘内空闲块不足,GC 频繁搬移有效页,WA 升高,可用写入带宽被挤占。
- 速度波动来自 GC 与主机写入争抢 NAND 通道。
优化方向:预留更多 OP(Over-Provisioning)空间、避免盘长期接近满容量、对大文件写入采用顺序大块写、在固件层优化 GC 触发阈值与 SLC Cache 回迁策略。
六、常见误区
- “UFS 写入就是直接覆盖”:错,覆盖写会先产生无效页,最终由 GC 回收。
- “容量越大寿命越长”:容量大通常耐久总量更高,但 QLC 单位寿命低,需结合 P/E 次数看。
- “跑分高就等于体验好”:跑分多在缓存内完成,稳态性能才反映真实介质能力。
- “GC 是后台的事,与上层无关”:文件系统对齐、写入模式、TRIM/Discard 都会影响 GC 效率。
掌握 NAND 的页/块结构、单元位数差异、磨损均衡与 GC/WA 机制后,再看 UFS 的读写曲线和延迟表现,就能从“现象”追溯到“介质与固件”的根因,为后续的调优手段建立正确的判断依据。