
计算机基础(三):存储系统(HDD 与 SSD)
对比 HDD 与 SSD 的工作原理、SATA 与 NVMe 接口带宽差异、SLC/MLC/TLC/QLC 寿命特性、SSD 优化技术(4K 对齐、TRIM)、RAID 阵列配置方式。
一块 SSD 为何能让服役五年的笔记本“起死回生”?标称仅支持 1000 次 P/E(编程/擦除)循环的 TLC SSD,普通用户为何仍能使用十余年?全新 SSD 在基准测试中可达 3500 MB/s,但几周后却骤降至 50 MB/s——原因何在?本系列《计算机基础深度解析》第三讲将从第一性原理出发,逐一解答这些问题:旋转磁盘与电荷俘获型 NAND 单元的本质差异、接口带宽(SATA、PCIe Gen 3/4/5)与协议并行能力(AHCI vs NVMe)的相互作用、RAID 各级别在容量与容错性之间的权衡、文件系统如何将原始块设备组织为可寻址的字节序列,以及如何在生产环境中兼顾性能与数据安全。

系列导航#
《计算机基础深度解析》系列(共 6 讲)
- CPU 与计算核心
- 内存与高速缓存
- → 存储系统(HDD vs SSD、接口、RAID、文件系统、分层存储)← 当前所在
- 主板、显卡与扩展总线
- 网络、电源与实用排障
- 深度附录
第一部分 — HDD 与 SSD:两种截然不同的物理实现#
硬盘驱动器(HDD)与固态硬盘(SSD)的根本区别不在于“是否旋转”,而在于单个比特如何存储及访问所需时间。HDD 将每个比特编码为旋转盘片上微小磁性颗粒的磁化方向,读取时需机械寻道,再等待目标扇区随盘片旋转至磁头下方;而 SSD 则将每个比特存储为 NAND 单元内浮栅或电荷俘获晶体管的阈值电压,读取是纯电子操作,耗时仅为微秒级。

结构差异为何关键? 图左 HDD 中,每次随机读取至少消耗一次 寻道时间(典型值 4–10 ms)和 旋转延迟(7200 RPM 下平均约 4 ms)。顺序读取速率受限于单位时间内经过磁头的数据量——现代 24 TB HDD 外圈轨道约为 200 MB/s,内圈则更低。图右 SSD 中,同一读取请求由控制器分发至多个 NAND 芯片并行执行,其 持续带宽 由控制器可同时通信的 NAND 芯片数量决定,而非任何机械部件。
| 属性 | HDD(7200 RPM) | SATA SSD | NVMe Gen 4 SSD |
|---|---|---|---|
| 比特存储介质 | 盘片上的磁性颗粒 | NAND 单元(电荷俘获) | NAND 单元(电荷俘获) |
| 随机读取延迟 | ~10 ms | ~100 µs | ~30 µs |
| 顺序读取速率 | 100–200 MB/s | 550 MB/s | 7000 MB/s |
| 4 KiB 随机 IOPS | ~120 | ~95000 | ~1000000 |
| 空闲 / 工作功耗 | 5–10 W | 2–4 W | 4–7 W |
| 抗冲击能力(运行中) | ~30 G | ~1500 G | ~1500 G |
| 每 TB 成本(2026 年) | ~15 美元 | ~60 美元 | ~110 美元 |
| 典型容量上限 | 24 TB | 8 TB | 8 TB |
HDD 仅在两个方面仍具优势:单位美元的原始容量 和 故障后的法医级数据恢复能力(因磁性编码在控制器损坏后仍可读取);而 SSD 则在所有人类可感知的方面全面胜出,包括开机时间、应用启动、游戏关卡加载、大文件拷贝和电池续航。
为何 SSD 升级带来最显著的主观体验提升?#
用户并不直接感知顺序带宽,而是真切感受到 随机读取延迟 和 队列深度。Windows 启动过程涉及约 30000 个小型文件;启动 Chrome 又需访问约 4000 个。HDD 上每次访问均需完整寻道;NVMe SSD 上数千条命令可并发执行。因此,从 HDD 升级至任意 SSD,通常可将开机时间缩短 4–7 倍——这一提升幅度远超双倍内存或升级一代 CPU 所带来的体验变化。
HDD 内部结构:盘片、磁头与区域划分#
HDD 将多个圆形盘片堆叠于单一主轴,以 5400、7200 或 10000 RPM 旋转。每张盘片表面配有一个独立的读写磁头,安装于音圈电机驱动臂上。数据面划分为同心圆状的磁道,每条磁道再分割为扇区(传统为 512 字节,现代驱动器普遍采用 4 KiB “高级格式”扇区)。
寻道(Seeking):驱动臂将磁头摆动至目标磁道。全程寻道(最内圈至最外圈)耗时约 15 ms;短距离寻道(跨越数千磁道)约 2 ms;平均随机寻道时间为中间值:4–8 ms。
旋转延迟(Rotational Latency):磁头就位后,需等待目标扇区旋转至其正下方。7200 RPM 下单圈耗时 8.33 ms,故平均旋转延迟为一半:~4.17 ms;5400 RPM 下升至 ~5.56 ms。
区位记录(ZBR, Zone Bit Recording):外圈磁道物理长度更长,故每磁道容纳更多扇区。现代硬盘将盘片划分为约 15–30 个区域;最外圈区域顺序读取速率可达 ~250 MB/s,最内圈则可能跌至 ~100 MB/s。这也是半满 HDD 显得更慢的原因——操作系统优先填满高速外圈区域。
叠瓦式磁记录(SMR, Shingled Magnetic Recording):部分高容量消费级硬盘通过重叠写入磁道(类似屋顶瓦片)来增加单位盘片磁道密度。代价是:随机写入需先读取整个磁带(30–50 MB),重写后再刷回。这使 SMR 硬盘完全不适用于 NAS 或数据库场景,也解释了为何用户选购最便宜的 8 TB 驱动器后,会遭遇突发性的写入速度断崖式下跌。
SSD 内部结构:晶粒(Die)、平面(Plane)、块(Block)与页(Page)#
SSD 控制器位于主机接口(SATA 或 NVMe)与一组 NAND 闪存芯片之间。每颗 NAND 芯片包含一个或多个 晶粒(die);每个晶粒含 平面(plane)(通常为 2 或 4 个);每个平面含数千个 块(block);每个块含 128–512 个 页(page)(每页 4–16 KiB)。
关键不对称性在于:可对单个页进行读/写,但只能对整块(block)执行擦除。块大小通常为 4–16 MB。这一不对称性驱动了几乎所有 SSD 固件工程:FTL(闪存转换层)、垃圾回收(GC)、磨损均衡(wear leveling)和预留空间(over-provisioning)均旨在缓解页/块粒度不匹配问题。
并行性(Parallelism):控制器可同时向多个晶粒发起读取请求——称为 通道交错(channel interleaving) 和 晶粒交错(die interleaving)。消费级 SSD 通常有 4–8 条 NAND 通道;企业级则达 8–16 条。通道越多,并行度越高,吞吐量越大。这也解释了为何同一系列下,256 GB SSD 往往比 1 TB 型号实测更慢:晶粒数量更少,控制器可利用的并行资源更有限。
第二部分 — 存储性能:三个关键指标#
几乎所有存储决策均可基于三个数字做出——吞吐量(Throughput)、IOPS 与 延迟(Latency)——但必须关注其在正确百分位(percentile)下的表现。平均值具有欺骗性;用户真正感知的是长尾(long tail)。

- 吞吐量(MB/s) 在处理大型连续文件时至关重要:视频剪辑、备份、游戏资源补丁。注意各代接口(SATA → PCIe 3 → 4 → 5)的理论上限大致逐代翻倍。
- IOPS 则主导其余所有场景:应用启动、代码编译、数据库运行、操作系统启动。此处 HDD 到 SSD 的跃迁达 三个数量级(120 → 95000),因此即使是入门级 SATA SSD 也带来革命性体验。
- 延迟 在高负载下尤为关键。现代 NVMe Gen 4 驱动器执行一次 4 KiB 随机读取仅需 ~30 µs;同操作在 7200 RPM HDD 上耗时 ~10 ms——差距达 300 倍,且当请求队列堆积时,HDD 的延迟劣势会进一步恶化。
经验法则:若工作负载队列深度(queue depth)为 1,则延迟占主导;若队列深度较大,则 IOPS 与吞吐量占主导。 消费级工作负载几乎总是队列深度为 1,因此 NVMe Gen 5(其优势主要体现在 QD32+ 场景)对桌面用户属边际升级,但对数据库服务器却是重大提升。
如何客观解读厂商规格表#
厂商标称值(如“7000 MB/s 读取,1000000 IOPS”)是在以下严苛条件下测得:128 KiB 顺序传输、QD256 工作负载、全新驱动器 且 SLC 缓存已清空。真实桌面工作负载表现约为:
- 持续写入速率(SLC 缓存填满后)约为标称顺序速率的 50–70%;
- QD1 下的 IOPS 约为标称值的 5–15%;
- 驱动器填充率超过 70% 后,延迟为标称值的 2–4 倍。
务必核查 SLC 缓存填满后的持续写入速率 与 QD1 下的延迟——这些才是决定实际体验的关键数字。
第三部分 — 接口与协议:SATA、NVMe 及二者本质不同#
决定驱动器与 CPU 通信速度的有两个独立要素:物理总线(bus,即导线) 与 协议(protocol,即语言)。混淆二者是存储领域最常见的误解。
| 总线 | 最大带宽 | 典型协议 | 队列深度限制 |
|---|---|---|---|
| SATA III | 600 MB/s | AHCI | 32 |
| PCIe 3.0 ×4 | 3940 MB/s | NVMe | 65535 |
| PCIe 4.0 ×4 | 7880 MB/s | NVMe | 65535 |
| PCIe 5.0 ×4 | 15760 MB/s | NVMe | 65535 |
SATA + AHCI:SATA 数据线提供 600 MB/s 半双工带宽。AHCI(高级主机控制器接口)于 2004 年为 HDD 设计,仅管理单个 32 条目命令队列。对一次仅处理一条命令的 HDD,32 条目绰绰有余;但对可并发处理数千条读取请求的 SSD,32 条目成为严重瓶颈。
NVMe:NVMe(非易失性内存快速)专为基于 NAND 的 PCIe 存储从零设计。它支持 65535 个队列,每队列最多 65536 条目。它直接通过 PCIe 与 CPU 通信,绕过陈旧的 AHCI 层。结果是:软件延迟更低(2.8 µs vs 6 µs/命令)、并行能力极大提升、带宽随 PCIe 代际自然扩展。
为何 SATA SSD 仍感觉极快? 即便 SATA SSD 顺序速率被限制在 550 MB/s,其随机读取延迟(~100 µs)仍比 HDD(~10 ms)快 100 倍。绝大多数消费级工作负载受延迟制约,而非带宽。对于无 M.2 插槽的老款笔记本,SATA SSD 仍是完全合理的选择。
物理形态(Form Factor)#
| 形态 | 连接器 | 总线 | 典型用途 |
|---|---|---|---|
| 2.5 英寸 SATA | SATA 数据 + 供电线 | SATA III | 老款笔记本/台式机升级 |
| M.2 2280(B+M 键) | M.2 插槽 | SATA III | 紧凑型笔记本、入门级装机 |
| M.2 2280(M 键) | M.2 插槽 | PCIe ×4 | 现代台式机/笔记本(NVMe) |
| U.2 | U.2 接口 | PCIe ×4 | 企业级/服务器 2.5 英寸 NVMe |
| E1.S / E3.S | EDSFF 接口 | PCIe ×4 | 下一代数据中心 |
| AIC(扩展卡) | PCIe 插槽 | PCIe ×4/×8/×16 | 高性能服务器、工作站 |
形态不决定协议。M.2 插槽既可承载 SATA 亦可承载 NVMe——需依据键位缺口(key notch)及主板规格确认。将 SATA M.2 驱动器插入仅支持 NVMe 的 M.2 插槽(反之亦然),会导致驱动器无法识别。
第四部分 — SSD 内部机制:NAND、FTL 及为何 TLC “仅” 1000 次 P/E 循环却永不磨损?#
NAND 单元是一个阈值电压可编程的晶体管。SLC 每单元存储 1 比特(2 个电压等级),MLC 存储 2 比特(4 级),TLC 存储 3 比特(8 级),QLC 存储 4 比特(16 级)。在相同物理单元内塞入更多电压等级,可使单位 GB 成本约减半,但 耐久性(endurance)约降为四分之一,读取延迟约翻倍。
| NAND 类型 | 每单元比特数 | 电压等级数 | P/E 循环次数 | 相对单位 GB 成本 | 当前主流应用场景 |
|---|---|---|---|---|---|
| SLC | 1 | 2 | ~100000 | 6× | 工业级 / 启动 SSD 缓存 |
| MLC(eMLC) | 2 | 4 | 3000–10000 | 3× | 企业级(消费级罕见) |
| TLC | 3 | 8 | 1000–3000 | 1.0× | 主流消费级与数据中心 |
| QLC | 4 | 16 | 500–1000 | 0.7× | 入门级大容量存储 |
总是令人惊讶的寿命计算#
耐久性参数看似惊人,但结合真实工作负载计算后便不足为惧。一块 1 TB TLC SSD(1000 P/E 循环)可写入总量达 1 PB 方告磨损。重度桌面用户日均写入约 50 GB;普通用户为 5–15 GB:
| 使用场景 | 日均写入量 | 耗尽 1 PB TBW 所需时间 | 耗尽标称 600 TBW 所需时间 |
|---|---|---|---|
| 轻量办公 / 浏览网页 | 5 GB | 548 年 | 329 年 |
| 开发者(编译、虚拟机) | 30 GB | 91 年 | 55 年 |
| 重度创意(视频剪辑) | 100 GB | 27 年 | 16 年 |
| 数据库服务器 | 500 GB | 5.5 年 | 3.3 年 |
即使“重度创意”场景,其寿命也远超任何现实驱动器生命周期。NAND 磨损殆尽前,驱动器的电子元件或固件早已失效。因此,TLC 是除数据库服务器外所有场景的默认正确选择;后者则需企业级 MLC 或已停售的 Intel Optane。
闪存转换层(FTL)#
FTL 是固件层,负责将主机发出的逻辑块地址(LBA)映射为 NAND 上的实际物理页位置。其存在根源正是读-写-擦除的不对称性:可向干净页写入,但无法覆盖脏页——必须先擦除整个块。
FTL 在 DRAM 中维护一张 映射表(mapping table)(逻辑页 → 物理页)。当你向 LBA 1000 写入时,FTL 并非覆写原物理页,而是写入新干净页、更新映射表,并将旧页标记为 无效(stale)。此即 日志结构写入(log-structured writing),与日志结构文件系统(LFS)及 LSM-tree 数据库所用策略一致。
为何映射表需驻留 DRAM? 1 TB 驱动器(4 KiB 页)含 2.56 亿个条目,按每条目 4 字节计,映射表体积达 1 GB。因此 SSD 出厂标配 DRAM(通常 1 GB / 1 TB);而无 DRAM SSD 在随机工作负载下明显更慢:需从 NAND 读取映射条目,每次地址翻译额外增加一次读取延迟。
HMB(Host Memory Buffer):无板载 DRAM 的入门级 NVMe 驱动器可借用主机系统内存的一小块(32–64 MB)缓存映射表热区。这对 LBA 工作集较小的消费级工作负载,基本可弥补性能差距。
垃圾回收(Garbage Collection, GC)#
当 FTL 可用干净块不足时,需回收含有效页与无效页混合的块。流程为:读取该块中所有有效页,写入新干净块,再擦除旧块。
由此产生两大后果:
- 写入放大(Write Amplification, WA):驱动器向 NAND 写入的数据量大于主机实际写入量。WA=2× 意味着主机每写入 1 GB,NAND 实际写入 2 GB。高 WA 不仅浪费耐久性,还降低持续写入速度。
- 后台活动(Background Activity):GC 通常在空闲时段后台运行,因此定期让 SSD 保持通电并空闲有益健康。始终处于高负载的驱动器(如 24/7 数据库)需在负载下执行 GC,引发延迟尖峰。
TRIM:操作系统告知 SSD 哪些数据已被删除#
删除文件时,文件系统仅将对应 LBA 标记为“空闲”,但不会通知驱动器。FTL 仍视这些页为有效,在 GC 时将其一并复制——徒增写入放大。
TRIM(SCSI 中称 UNMAP,NVMe 中称 DEALLOCATE)是操作系统向驱动器发送的指令,声明“这些 LBA 已不再使用”。FTL 可立即标记这些页为无效,后续 GC 即跳过它们。
实际影响:未启用 TRIM 的驱动器使用数月后,有效页计数将严重虚高。GC 更频繁、复制更多数据,持续写入速度下降——有时极为显著。这正是“新 SSD 数周后变慢”的根源。启用 TRIM(现代 Windows、Linux、macOS 默认开启)是零成本的性能优化。
| |
磨损均衡(Wear Leveling)#
FTL 将写入均匀分布至所有 NAND 块,避免单个块过早失效。分两类:
- 动态磨损均衡(Dynamic):将 新写入 引导至磨损最少的块。简单有效,但对仅写入一次即长期静默的块(如 OS 分区)无改善——这些块“零老化”,而其他块持续磨损。
- 静态磨损均衡(Static):周期性地将冷数据(极少写入)迁移至磨损较多的块,并将热数据移至磨损较少的块。此举均衡全盘磨损,包括静态数据所在块。所有现代 SSD 均支持此功能。
预留空间(Over-provisioning, OP)#
消费级 SSD 将 7–28% 的原始 NAND 容量作为不可见的备用空间。“1 TB” 驱动器实际搭载 1024 GiB 或更多原始 NAND,但仅向主机呈现 931 GiB。该备用空间有三大用途:
- GC 清洁块来源:FTL 总有可用块供 GC 写入,避免阻塞主机请求。
- 坏块替换:当某块错误率超纠错能力时,FTL 将其退役,并映射备用块替代。
- 降低写入放大:更多备用块使 GC 可更精细地选择回收目标,减少不必要的数据搬移。
企业级 SSD 通常配备 28% OP;消费级为 7%。用户可通过在驱动器末尾保留未分区空间,人为增加 OP——对写入密集型工作负载,建议预留 10–20%。
SLC 缓存技巧#
多数现代 TLC/QLC SSD 将部分 NAND 以 SLC 模式(每单元 1 比特)运行。此“SLC 缓存”提供高爆发写入速度:TLC 单元以 SLC 模式写入,速度提升 3×,寿命延长 30–100×。
代价是:SLC 模式占用 3× 物理空间。一块 1 TB TLC 驱动器若配备 100 GB 动态 SLC 缓存,实际用于该缓存的物理 NAND 达 300 GB。一旦缓存填满,驱动器必须将 SLC 页“折叠(fold)”回 TLC 模式,新写入则直接进入较慢的原生 TLC 速度。这便是持续写入基准测试中,30–120 GB 区间出现的“SSD 写入速度断崖”。
| 缓存类型 | 容量行为 | 优点 | 缺点 |
|---|---|---|---|
| 静态 SLC 缓存 | 固定(如 12 GB) | 可预测;无折叠突兀感 | 容量小;大写入时迅速填满 |
| 动态 SLC 缓存 | 随空闲空间增长 | 初始爆发写入容量大 | 随驱动器填充而缩小;折叠引发延迟 |
| 全盘 SLC 模式 | 整盘以 SLC 运行 | 始终最快写入 | 可用容量减半;部分驱动器在极空闲时自动启用 |
第五部分 — 4K 对齐与 SSD 优化#
什么是 4K 对齐及其重要性#
NAND 页大小通常为 4 KiB(部分新型 NAND 为 8 KiB 或 16 KiB)。若文件系统分配单元(簇)未对齐至 NAND 页边界,单次 4 KiB 逻辑写入可能跨越两个物理页,导致写入放大翻倍、小随机写入 IOPS 减半。
现代操作系统(Windows 7+ 及所有主流 Linux 发行版)默认以 1 MiB 边界对齐分区,天然保证 4K 对齐。问题多见于:
- 从旧系统克隆的驱动器(Windows XP 使用 63 扇区偏移)
- 手动分区时采用非标准对齐
- 虚拟磁盘镜像位于未对齐的宿主分区上
| |
五项 SSD 优化实践#
| 实践 | 操作方法 | 原因 |
|---|---|---|
| 启用 TRIM | 验证 discard 挂载选项或 fstrim.timer | 防止 GC 复制已被删除的数据 |
| 保留 10–20% 空闲空间 | 不要填满至 80% 以上 | 为 GC 提供缓冲空间,避免写入阻塞 |
| 禁用磁盘碎片整理 | 关闭 SSD 的计划碎片整理 | 碎片整理产生无意义写入;SSD 无寻道惩罚 |
| 启用 AHCI/NVMe 模式 | 进 BIOS 确认——非 IDE/兼容模式 | IDE 模式禁用 TRIM 与 NCQ |
| 更新固件 | 定期使用厂商工具检查更新 | FTL 固件缺陷在首发年份较为常见 |
监控 SSD 健康状态#
每块 SSD 均暴露 SMART 属性,揭示剩余寿命:
| |
Windows 用户可使用 CrystalDiskInfo 获取相同信息的图形界面。
第六部分 — RAID:以磁盘冗余换取容错能力#
RAID(独立磁盘冗余阵列)将多个物理驱动器组合为单一逻辑卷。各 RAID 级别在数据与校验码分布方式上存在差异。

| 级别 | 最小磁盘数 | 可用容量 | 容错能力 | 读取速度 | 写入速度 | 典型用途 |
|---|---|---|---|---|---|---|
| RAID 0 | 2 | 100% | 0 块 | N× | N× | 临时空间、缓存、渲染农场 |
| RAID 1 | 2 | 50% | 1 块 | 2× | 1× | 系统盘、启动镜像 |
| RAID 5 | 3 | (N-1)/N | 1 块 | (N-1)× | 中等 | 通用文件服务器 |
| RAID 6 | 4 | (N-2)/N | 2 块 | (N-2)× | 较低 | 大型阵列(>4 块) |
| RAID 10 | 4 | 50% | 每镜像对 1 块 | N× 读取 | (N/2)× | 数据库、虚拟机存储 |
RAID 0:为速度而设,零安全性#
数据以固定大小条带(stripe)分散于各驱动器。任一驱动器故障即导致整个阵列失效。仅适用于可再生数据(构建缓存、渲染农场、游戏安装)。
RAID 1:简单镜像#
每次写入同步至两块驱动器。任一驱动器均可响应读取请求。可用容量为 50%。最简单、最可靠的冗余形式。对于双盘台式机或服务器启动卷,RAID 1 往往是最优解。
RAID 5:分布式校验#
数据与校验码跨所有驱动器条带化分布。一块驱动器容量用于校验,其余存储数据。可容忍单块驱动器故障。重建过程需读取所有幸存驱动器,这正是 RAID 5 在大容量驱动器上风险所在:重建一块 16 TB 驱动器需 12–24 小时,期间若发生第二块故障,阵列即告毁灭。对于单盘容量 >4 TB 的阵列,RAID 6 是更安全的选择。
RAID 6:双重校验#
类似 RAID 5,但每条带含两个校验块。可容忍两块驱动器同时故障。写入惩罚更高(每次写入需更新两个校验块),但对大型阵列而言,这是最低可接受的保护级别。
RAID 10:镜像化的条带#
成对镜像驱动器再进行条带化。兼具 RAID 0 的速度与 RAID 1 的容错性。可承受每组镜像中各一块驱动器故障。对写入密集型工作负载(数据库、虚拟机),当性能与安全性均需兼顾时,RAID 10 是最佳选择。
硬件 RAID 与软件 RAID#
| 类型 | 控制器 | CPU 开销 | 启动支持 | 成本 |
|---|---|---|---|---|
| 硬件 RAID | 带电池后备缓存的专用卡 | 无 | 是 | 200–2000 美元 |
| 软件 RAID(mdadm, ZFS) | 操作系统内核 | 中等 | 是(需配置) | 免费 |
| 伪 RAID(主板) | BIOS + 驱动 | 高 | 有限 | 免费 |
现代 CPU 性能足够强大,软件 RAID(Linux mdadm、ZFS、Windows Storage Spaces)对大多数服务器而言是完全可行的选择。硬件 RAID 控制器的电池后备缓存(BBWC)是软件 RAID 无法复制的唯一特性——它可在写入中途断电时防止数据丢失。
RAID 不等于备份#
此点需单独强调,因误解极为普遍。RAID 仅防护 驱动器故障,无法防护:
- 误删除(删除操作即时同步至所有镜像)
- 勒索软件(加密操作即时同步至所有镜像)
- 控制器故障(阵列元数据可能无法被其他控制器识别)
- 火灾、盗窃、水灾(所有驱动器位于同一台机器内)
备份 意味着副本存于不同介质、不同地点,并具备版本控制。RAID 与备份功能迥异,二者缺一不可。
第七部分 — 文件系统:字节如何变为文件#
文件系统是软件层,负责将文件名、目录结构映射到存储设备上扁平的块序列。文件系统选择直接影响性能、可靠性与功能集。
| 文件系统 | 操作系统 | 单文件最大尺寸 | 卷最大尺寸 | 日志(Journaling) | 写时复制(COW) | 典型用途 |
|---|---|---|---|---|---|---|
| NTFS | Windows | 16 EB | 256 TB | 是 | 否 | Windows 系统盘 |
| ext4 | Linux | 16 TB | 1 EB | 是 | 否 | Linux 默认,通用场景 |
| XFS | Linux | 8 EB | 8 EB | 是 | 否 | 大文件、高吞吐量 |
| Btrfs | Linux | 16 EB | 16 EB | 是 | 是 | 快照、校验和、灵活扩展 |
| ZFS | Linux/BSD | 16 EB | 256 ZB | 是 | 是 | 企业级、自修复、RAIDZ |
| APFS | macOS | 8 EB | 8 EB | 是 | 是 | macOS/iOS,SSD 优化 |
| FAT32 | 任意 | 4 GB | 2 TB | 否 | 否 | USB 驱动器、跨平台兼容 |
| exFAT | 任意 | 16 EB | 128 PB | 否 | 否 | SD 卡、大容量 USB 驱动器 |
日志(Journaling)#
日志型文件系统在将变更提交至主数据结构前,先写入一份变更日志(journal)。若写入中途断电,下次挂载时可依据日志重放或丢弃未完成操作——避免旧式文件系统所需的数小时 fsck。
仅元数据日志(Metadata-only journaling)(ext4 默认)仅记录文件系统元数据(目录项、inode 表),不记录文件数据。可防护结构损坏,但无法防止部分文件写入。
完全日志(Full journaling)(ext4 启用 data=journal)同时记录元数据与数据。更安全但更慢,因每个字节需写入两次:一次进日志,一次至最终位置。
写时复制(Copy-on-Write, COW)#
COW 文件系统(ZFS、Btrfs、APFS)从不在原地覆写数据。而是将新版本写入新位置,并原子性更新指针。由此支持:
- 免费快照(Free snapshots):快照仅为冻结的指针树;数据共享直至被修改。
- 自修复(Self-healing):每个块均经校验和验证。若读取返回损坏数据且存在镜像或校验副本,文件系统可静默修复。
- 原子多文件更新(Atomic multi-file updates):整个事务可整体成功或失败。
代价是:COW 文件系统在随机写入工作负载下碎片化更严重,元数据开销更高。ZFS 通过 ARC 缓存与大记录尺寸缓解;Btrfs 通过自动碎片整理(autodefrag)缓解。
第八部分 — 存储分层:热、温、冷数据#
并非所有数据访问频率相同。存储分层将高频访问(热)数据置于快速昂贵介质,低频访问(冷)数据置于慢速廉价介质。
| 层级 | 介质 | 延迟 | 每 TB 成本 | 典型数据示例 |
|---|---|---|---|---|
| 热(Hot) | NVMe SSD | ~30 µs | $110 | 活跃数据库、工作集 |
| 温(Warm) | SATA SSD | ~100 µs | $60 | 日志、近期备份、开发环境 |
| 冷(Cold) | HDD | ~10 ms | $15 | 归档、合规数据、旧媒体 |
| 归档(Archive) | 磁带 / 云冷存储 | 秒至小时级 | $3 | 法律留存、监管要求、灾难恢复 |
实际中的自动分层#
现代存储阵列(NetApp、Pure Storage、Ceph)及云对象存储(S3 Intelligent-Tiering、阿里云 OSS 生命周期规则)可根据访问模式自动在层级间迁移对象。
对于家庭或小型服务器环境,最简分层方案为:
- 操作系统与应用置于 NVMe SSD(256 GB – 1 TB);
- 活跃项目文件置于 SATA SSD(1–4 TB);
- 媒体库、备份与归档置于 HDD(4–16 TB);
- 站外备份置于云冷存储(无限容量)。
此四层布局成本低于全盘 NVMe,性能优于全盘 HDD。
第九部分 — 存储选型指南:决策框架#

台式机 / 笔记本购买清单#
- 机器是否配备 M.2 NVMe 插槽? → 选购 PCIe Gen 4 NVMe SSD。Gen 5 对消费者属边际升级且价格贵 2 倍;若主板不支持 Gen 4,则 Gen 3 完全够用。
- 无 M.2 插槽? → 选购 2.5 英寸 SATA SSD。相较 HDD 仍是巨大升级。
- 需大容量媒体存储? → 增加内置 HDD 或外置 USB 3.2 HDD 盒。
- 容量需求? → OS + 应用最低 512 GB;2026 年 1 TB 为甜点容量(约 $60);视频剪辑或游戏收藏狂魔可选 2 TB。
服务器 / NAS 购买清单#
- 数据库或虚拟机主存储? → NVMe SSD 组 RAID 10。
- 通用文件服务器? → SATA SSD 组 RAID 5/6;若容量 >20 TB,则 HDD 组 RAID 6。
- 备份目标? → HDD 组 RAID 6 或 JBOD + ZFS RAIDZ2。
- 写入密集型工作负载? → 查看驱动器 SLC 缓存填满后的持续写入速率。选用带断电保护的企业级驱动器。避免 QLC 与 SMR。
记忆口诀#
HDD 旋转,SSD 切换 —— 物理原理在任何基准测试前即已决定延迟。
总线定带宽,协议定并行 —— SATA 封顶 0.5 GB/s,NVMe 可扩展至 12 GB/s。
TLC 对人类而言即是永恒 —— 1 PB 耐久性远超任何消费级写入速率。
对齐、TRIM、留空间 —— 三项免费设置可使持续写入寿命翻倍。
RAID 保运行时间,备份保可恢复性 —— 切勿混淆二者。
热字节存于快介质,冷字节存于廉介质 —— 分层,否则付费。
系列下一期: 主板、显卡与扩展总线 —— 芯片组、VRM、PCIe 通道分配、GPU 架构及 BIOS 配置。
计算机底层原理 6 篇
- 01 计算机基础(一):CPU 与计算核心
- 02 计算机基础(二):内存与高速缓存系统
- 03 计算机基础(三):存储系统(HDD 与 SSD) 当前
- 04 计算机基础(四):主板、显卡与扩展
- 05 计算机基础(五):网络、电源与故障排查
- 06 计算机基础(六):深度解析与系统协作