1. 存储介质演进:从磁带到固态硬盘

存储介质是文件系统最底层的物理基础。不同介质的读写特性、寻址方式和性能瓶颈,直接决定了上层文件系统的设计取舍。本章从磁记录介质出发,逐步过渡到闪存介质,剖析其物理原理与性能差异。

1.1 磁记录介质:磁带与硬盘

磁记录介质利用铁磁性材料的剩磁状态来存储数据。写入时,磁头线圈产生磁场,将磁畴排列方向翻转;读取时,磁畴翻转引起磁头线圈中磁通量变化,感应出电信号。

1.1.1 磁带:顺序访问的极致

磁带是最早的商用磁记录介质,至今仍用于冷数据归档和灾难备份。其核心特征是顺序访问:数据以连续条带形式存储在长磁带上,读写必须经过机械卷带和倒带。

特性参数说明
访问方式顺序定位任意数据块需卷带,平均寻道时间数十秒
传输速率200–400 MB/s (LTO-9)顺序读写快,但随机访问极慢
容量密度单盘 18 TB (LTO-9)单位存储成本最低,适合冷数据
寿命15–30 年保存条件要求高,但数据持久性好
关键设计约束: 磁带文件系统(如 LTFS)必须将数据组织为连续大块,避免频繁倒带。文件系统元数据通常存储在磁带开头,一次加载后缓存到内存。

1.1.2 硬盘:随机访问的机械奇迹

硬盘(HDD)在磁记录基础上引入了随机访问能力。盘片以恒定角速度旋转,磁头臂在盘片径向移动,通过寻道和旋转等待定位到目标扇区。

性能公式: I/O 延迟 = 寻道时间 + 旋转延迟 + 传输时间。寻道时间通常 4–10 ms,旋转延迟取决于 RPM(7200 RPM 约 4.17 ms),传输时间取决于接口带宽。

硬盘的物理结构决定了其性能特征:

  • 寻道时间:磁头臂移动的机械延迟,是随机 I/O 的主要瓶颈。
  • 旋转延迟:等待目标扇区旋转到磁头下方的时间。
  • 区域位密度:外圈磁道更长,位密度更高,外圈传输速率通常比内圈高 30%–50%。
  • 磁头切换:多盘片多磁头设计,切换磁头仅需电子延迟(微秒级)。
硬盘内部结构示意 磁道 扇区 磁头 主轴 寻道时间:磁头臂径向移动 → 机械延迟 4–10 ms 旋转延迟:等待目标扇区旋转到磁头下方 → 7200 RPM 约 4.17 ms 传输时间:数据从盘片经接口到内存 → 取决于接口带宽

1.2 闪存介质:固态硬盘

固态硬盘(SSD)基于 NAND 闪存,没有机械运动部件。闪存单元通过浮栅晶体管中存储的电荷量来区分 0 和 1。其物理特性与磁记录介质有本质区别。

1.2.1 NAND 闪存单元结构

NAND 闪存的基本存储单元是浮栅晶体管。写入时,高电压将电子注入浮栅;擦除时,高电压将电子拉出。单元类型决定了存储密度和寿命:

单元类型每单元位数擦写寿命 (P/E Cycles)读取延迟典型应用
SLC150,000–100,000~25 µs企业级缓存、工业控制
MLC23,000–10,000~50 µs消费级 SSD、高端 U 盘
TLC31,000–3,000~75 µs主流消费级 SSD
QLC4300–1,000~120 µs大容量冷数据存储
重要限制: NAND 闪存不能原地覆盖写入。写入前必须先擦除整个块(Block,通常 4–8 MB)。擦除操作比写入慢 10–100 倍,且会磨损单元。这是 SSD 需要 FTL(闪存转换层)和垃圾回收的根本原因。

1.2.2 SSD 内部架构与 FTL

SSD 内部包含多个 NAND 芯片、一个主控芯片和 DRAM 缓存。主控运行 FTL 固件,负责:

  • 逻辑到物理地址映射:将文件系统的 LBA 映射到闪存的物理页。
  • 磨损均衡:将写入均匀分布到所有块,避免部分块过早失效。
  • 垃圾回收:回收包含无效数据的块,先读取有效页,再擦除整个块,最后写入有效页。
  • 坏块管理:标记出厂坏块和运行中产生的坏块,不再使用。
SSD 内部架构与 FTL 映射 主机接口 主控 (FTL) DRAM 缓存 NAND 芯片 0 NAND 芯片 1 NAND 芯片 2 NAND 芯片 3 FTL 核心功能:逻辑地址 → 物理页映射 | 磨损均衡 | 垃圾回收 | 坏块管理 写入放大:因擦除块粒度远大于写入页粒度,实际写入量可能数倍于用户请求

1.3 性能差异对比

不同存储介质的性能差异跨越数个数量级。理解这些差异是设计文件系统和调度算法的前提。

指标磁带 (LTO-9)硬盘 (15K RPM)SATA SSDNVMe SSD
顺序读取400 MB/s250 MB/s550 MB/s7,000 MB/s
随机读取 (4K)< 1 IOPS200–300 IOPS90,000 IOPS1,000,000 IOPS
随机写入 (4K)< 1 IOPS200–300 IOPS50,000 IOPS500,000 IOPS
访问延迟秒级4–10 ms50–100 µs5–10 µs
功耗5–10 W8–15 W2–5 W5–10 W
抗震性低低高高
设计启示: 磁带文件系统必须最小化寻道,采用大块顺序写入策略;HDD 文件系统依赖电梯调度(SCAN/C-SCAN)减少寻道时间;SSD 文件系统则需考虑写入放大、磨损均衡和 TRIM 命令,避免频繁小块写入。

1.4 介质特性对文件系统的影响

每种介质的物理特性都直接塑造了上层文件系统的设计决策:

  • 磁带:顺序访问 → 文件系统采用连续分配,元数据集中存储,支持大块流式 I/O。
  • 硬盘:随机访问但寻道昂贵 → 文件系统采用块组/柱面组局部性,预读策略,延迟分配。
  • SSD:无寻道延迟,但擦除粒度大、写磨损 → 文件系统采用日志结构(LFS)、TRIM 支持、over-provisioning。
介质特性 → 文件系统设计映射 磁带:顺序访问 寻道秒级 连续分配 大块流式 I/O 硬盘:随机访问 寻道毫秒级 块组局部性 电梯调度 SSD:无寻道 擦除粒度大 日志结构 TRIM / 磨损均衡