SSD and NVMe Storage System(SSD 与 NVMe 存储系统)

DRAM and Memory System 之下是 TB 级片外存储:HDD/SSD、RAID 阵列与 NVMe 协议。Hennessy & Patterson Appendix D:AI 训练/推理的完整数据路径常在此层卡住——DataLoader、checkpoint、KV cache spill 均受 带宽悬崖GC 延迟尖峰 约束。

Source: arch-study-30d-day-20.md(H&P 6th App.D,Day 20)

存储层次中的位置

层级延迟带宽(量级)容量
HBMns–μsTB/s–PB/s(WSE 片上)GB
DRAM~80 ns~100 GB/sGB–TB
NVMe SSD50–200 μs(GC 可达 ms)7–14 GB/s 顺序TB
HDD5–20 ms~200 MB/sTB–PB

相对 Memory Hierarchy and Cache 中「SSD μs 级」:随机读与 GC 可使有效延迟 比 NAND 物理读高 2–3 个数量级

SSD:NAND + FTL

Host (NVMe) → FTL (L2P / wear-level / GC) → Flash Controller → NAND dies
机制要点
Block erase擦除单位 = block;写 = program 到新 page → 需 L2P 重映射
Wear-leveling均衡 P/E cycle;TBW ≈ capacity × P/E ÷ WA(例:1 TB TLC, P/E=1K, WA=3 → ~333 TBW
Garbage Collection搬活页 → 擦 victim block;写放大 WA 理想 1,GC 不利时 3–5
GC 停顿前台 I/O 阻塞 → latency 100 μs → 10 ms 尖峰

性能量级:4 KB 随机读 ~1M IOPS;顺序读 ~14 GB/s(PCIe Gen5 ×4);随机等效带宽 ~4 GB/s(1M×4 KB)。

RAID 与写放大

级别容量随机写(相对单盘)典型用途
RAID 0临时/中间结果
RAID 1元数据镜像
RAID 5(N−1)×~1/4×(4 次 I/O RMW)读多写少
RAID 6(N−2)×~0.5×大阵列双盘容错

关键洞察:RAID 5 4 KB 随机写 = read old data + read parity + write data + write parity → 10 盘阵列随机写 IOPS ≈ 单盘 /4(vs RAID 0 ×10)。数据库随机写场景常避 RAID 5。

NVMe vs AHCI

AHCI (SATA)NVMe (PCIe)
队列1 × depth 3265535 队列 × depth 65535
提交I/O 寄存器Doorbell + SQ/CQ in host memory
中断单命令MSI-X 多核友好

PCIe Gen5 ×4:理论 16 GB/s,实测 ~14 GB/s

I/O 路径延迟分解

典型 read()(page cache miss → NVMe):

syscall/VFS/fs ~1 μs → blk-mq/driver ~1 μs → PCIe ~0.5 μs
→ NVMe controller ~5–10 μs → NAND read ~50–100 μs → 返回 ~2 μs
路径总延迟
Page cache hit~3–5 μs
NVMe 正常读~50–200 μs
GC 期间~1–10 ms
HDD~5–20 ms

软件路径 ~3 μs 与 NAND ~50 μs 同量级——io_uring 绕过 syscall,随机读 IOPS 可从 libaio ~200K 提升到 ~800K(接近 SSD 上限)。

现代趋势

  • io_uring:用户态 submission ring,批处理友好
  • NVMe-oF:RDMA/TCP 远程 NVMe,~10–20 μs 额外延迟
  • ZNS:主机可见 zone 布局,可控 GC
  • Computational Storage:SSD 内 filter/compress

AI 工作负载关联

训练数据路径(GPT 量级):

Dataset (PB) → NVMe pool (~28 GB/s, 4盘) → Host DRAM (~100 GB/s)
→ GPU HBM (~3 TB/s) → SRAM → ALU

DataLoader 需 10 GB/s 时单盘 7 GB/s 即瓶颈 → sharding、prefetch、io_uring、压缩。

推理 KV tier:HBM → DRAM → NVMeCMX & STX Tier G3.5;Prefill-Decode Divergence paged attention spill)。

WSE memoryX

Cerebras WSE 片上 ~21 PB/s SRAM vs memoryX 4× NVMe ~28 GB/s → 带宽差 ~750,000×

WSE wafer (900K PE, 43 GB SRAM, mesh NoC)
    │ PCIe Gen5 ×16 ~64 GB/s
    ▼
memoryX: 4× NVMe (~30 TB) + host DRAM pool
    ▼
Host CPU
  • 无 L1/L2/L3——SRAM 即 cache;软件显式 tier 迁移(SpaDA / CSL)
  • 可行:checkpoint、冷启动加载、streaming prefetch
  • 不可行:每 token 从 SSD 读 KV(相对算力 100×+ 延迟差)

与 Day 19 Memory Consistency Model:PE 写 KV 到 HBM/外存时的 atomic ref count 为实际一致性场景。

相关页面

Citations

[1] arch-study-30d-day-20.md — H&P App.D 存储系统(Day 20)