首页/操作系统/05-io/SSD读写特性与磨损均衡 🔗 在 Obsidian 中打开
操作系统 · 05-io

SSD 读写特性与磨损均衡

重要度 ⭐⭐⭐ 操作系统/IO管理SSD固态硬盘磨损均衡闪存
速查
SSD 读快写慢(写入前先擦除);擦除以块为单位、写入以页为单位;磨损均衡把写入均匀分布到所有块(TLC 约 1000-3000 次/块);SSD 不需要传统磁盘调度

速查

项目
SSD固态硬盘,使用闪存(NAND Flash)存储数据
读写不对称读快写慢,写入前需先擦除
磨损均衡均匀分布写入次数,延长 SSD 寿命
FTLFlash Translation Layer,逻辑地址到物理地址映射

核心概念

SSD 与 HDD 的区别

对比项SSDHDD
存储介质NAND 闪存磁性盘片
机械部件有(磁头臂、电机)
随机读取极快(无寻道)慢(需要寻道)
顺序读写较快
寿命有限(写入次数限制)机械磨损
功耗
抗震

SSD 读写特性

  • 读取:快,可以直接读取任意页
  • 写入:慢,需要先擦除再写入(擦除以块为单位,写入以页为单位)
  • 擦除-写入不对称:擦除粒度(块,128-256 页)> 写入粒度(页,4-16KB)
  • 不能原地覆盖:必须先擦除再写入(不像 HDD 可以直接覆盖)

磨损均衡(Wear Leveling)

  • SSD 的每个闪存块有擦写次数限制(如 TLC 约 1000-3000 次)
  • 磨损均衡:将写入操作均匀分布到所有块上,避免某些块过早损坏
  • 静态磨损均衡:将冷数据(不常修改)移到磨损高的块,将热数据移到磨损低的块
  • 动态磨损均衡:新写入时选择磨损最低的块

FTL(闪存转换层)

  • 将逻辑地址映射到物理地址
  • 实现垃圾回收(GC):回收无效页所在的块
  • 实现写放大优化:减少不必要的数据搬移

关键性质

特性说明
读取粒度页(4-16KB)
写入粒度页(4-16KB)
擦除粒度块(128-256 页)
擦写限制TLC 约 1000-3000 次/块
写入前必须先擦除(不能原地写入)

常见考法

考法解题套路
SSD vs HDDSSD 随机读快(无寻道),HDD 顺序读也不错
为什么写入慢需要先擦除(以块为单位),再写入(以页为单位)
磨损均衡均匀分布写入次数,延长寿命
写放大GC 导致额外的数据搬移,降低写入效率

易错点

注意
  1. SSD不能原地覆盖——必须先擦除再写入(与 HDD 完全不同)
  2. 擦除以为单位,写入以为单位——擦除粒度远大于写入粒度
  3. SSD 的寿命由擦写次数决定,不是由使用时间决定
  4. 写放大(Write Amplification):实际写入量 > 用户请求写入量(GC 导致)
  5. SSD 不需要磁盘调度算法——没有机械寻道时间,随机访问性能一致

核心结论

必背
  1. SSD 使用闪存存储,读快写慢(写入需要先擦除)
  2. 擦除以块为单位,写入以页为单位——这是 SSD 写入慢的根本原因
  3. 磨损均衡将写入均匀分布到所有块,延长 SSD 寿命
  4. FTL 实现逻辑地址到物理地址的映射,以及垃圾回收
  5. SSD 不需要传统的磁盘调度算法(无机械寻道)

记忆卡片

SSD 和 HDD 的核心区别?
SSD 无机械部件(闪存),HDD 有机械部件(磁头臂)。
SSD 为什么写入慢?
需要先以块为单位擦除,再以页为单位写入。
什么是磨损均衡?
将写入操作均匀分布到所有块上,避免某些块过早损坏。
SSD 需要磁盘调度算法吗?
不需要——没有机械寻道,随机访问性能一致。
什么是写放大?
实际写入量大于用户请求写入量(GC 导致额外数据搬移)。

交互动画 · 磨损均衡

闪存块阵列(每格数字 = 已擦写次数,/3000) 绿 = 低磨损 | 琥珀 = 较高 | 红 = 接近擦写上限(3000)
点击磨损策略,观察 16 个块的擦写次数分布
TLC 块擦写上限约 1000-3000 次;磨损均衡是延长 SSD 寿命的关键

相关知识点

disk-structure-and-format disk-scheduling-algorithm

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。