Skip to content

外部存储器

2026 大纲 三(五)外部存储器(1 磁盘存储器;2 固态硬盘 SSD)。RAID 已不在现行大纲内,本文仅在文末折叠一张对照表供了解。

一次磁盘访问里,真正读数据的时间不到千分之一

后面会算到一个具体的数:读一个扇区,寻道 8 ms、旋转等待 4.17 ms、真正传输数据 0.017 ms。机械动作吃掉了 99.9% 的时间。

这个比例决定了磁盘这一节的全部形状。所有的结构设计都是在想办法少动机械——地址为什么把柱面号放在最高位、为什么读写的最小单位是扇区而不是字节、SSD 凭什么快两个数量级,答案都在这里。

先立住两个由"磁头只能一起动"推出来的结论:

🔴 所有磁头固定在同一个移动臂上、只能一起移动,任一时刻必然停在相同半径上。各记录面上编号相同的磁道纵向贯穿构成的集合就是柱面。由此得到两条换算:柱面数 = 单面磁道数记录面数 = 磁头数

🔴 柱面内换磁头不需要重新寻道,只需电子切换。这正是磁盘地址把柱面号放在最高位的原因——地址连续递增时先在同一柱面内换磁头(快),换完所有盘面才移到下一柱面(慢),把最耗时的寻道降到最少。

还有一条概念上的定性,判断题很爱考:

🔴 磁盘是直接存取而不是随机存取。 随机存取要求访问任意单元的时间相同,而磁盘取决于磁头与目标的距离、差别可达数十倍。它先寻道定位到大致位置、再在道内顺序查 ID,两者结合,所以叫直接存取。

一、磁盘的物理结构

磁盘由多个盘片叠装而成,每片有一至两个记录面,每面划分为若干同心圆磁道,每道再划分为若干扇区(读写的最小单位,通常 512 B 或 4 KB)。

图 7.15 磁盘驱动器的物理组成

图 7.15 磁盘驱动器的物理组成(袁春风《计算机组成与系统结构(第 3 版)》)

图中最关键的一点是:移动臂上叠着一组磁头,它们固定在一起、只能一起移动——柱面与"柱面内换磁头无须寻道"两条结论都由此而来。

记录密度:每道扇区数到底相不相同

描述"信息排得多密"的量有两个,方向不同别混:道密度沿半径方向数,是单位长度内的磁道数位密度沿磁道方向数,是单位长度内存放的二进制位数。由此分出两种记录方式,"每道扇区数是否相同"的答案随之相反:

方式约束的是结果
低密度(等角)方式各道扇区数相同(按固定圆心角划分)各道位数相同,周长小的内道位密度更高;整盘能力受限于内道的最大位密度
高密度(等密度)方式各道位密度相同周长大的外道扇区数更多,容量更大

二、磁盘地址与容量

[ 柱面(磁道)号最高位  |  盘面(磁头)号  |  扇区号 ]某字段位数=log2(该维度的数量)格式化容量=记录面数×柱面数×每道扇区数×每扇区字节数

两处最容易出错的地方先说在前面:

🔴 地址的三段要分别向上取整,不能先把三个数量相乘再统一取对数。 14 位表示不了 20000 个柱面。另外,"N双面盘片"的磁头数是 2N,拿盘片数去取对数会少一位。

🔴 容量乘法默认的是低密度(等角)方式,它成立的前提是"每道扇区数是同一个数"。条件里若写明"外道扇区数多于内道"(高密度方式)就不能套这个乘法,只能按各道分别累加。判据很直接:题目能不能给出唯一的"每道扇区数"

为什么非格式化容量更大

一个完整扇区依次由间隙、同步字段、ID 域(柱面号/磁头号/扇区号)、数据、CRC 校验构成:

图 7.17 温切斯特磁盘的磁道记录格式

图 7.17 温切斯特磁盘的磁道记录格式(袁春风《计算机组成与系统结构(第 3 版)》)

教材给出的实际数字:一个扇段共 600 字节,其中数据域 515 字节(同步字节 1 + 数据 512 + CRC 2),其余 85 字节是间隙与 ID 域。用户能用的是 512 B、磁道上实际占 600 B,多出的部分就是格式化开销。

一组参数从头算到尾:地址三段各占几位(做完自己的题想核对取整方向与"盘片还是盘面"这两处时展开)

设定:20000 个柱面、每道 500 个扇区、4 个双面盘片。

214=16384<2000032768=215柱面号=log220000=15 磁头数=4 盘片×2 =8磁头号=log28=3 28=256<500512=29扇区号=log2500=9 

15+3+9=27 位。两处最容易翻车:位数只能向上取整且各段要分别取整后再相加;"N 个双面盘片"的磁头数是 2N,拿盘片数直接取对数会少一位。

磁盘存储器的三层组成

层次是什么
盘片记录介质本身,多片叠装,各面镀磁性材料
磁盘驱动器主轴电机 + 磁头组 + 寻道伺服机构,负责全部机械动作
磁盘控制器接收主机命令、控制驱动器、与总线通信。DMA 方式下向 CPU 发出总线请求的正是它

三、磁盘存取时间

存取时间=寻道时间+旋转等待时间+数据传输时间 (+ 控制器延时)
分量含义平均值
寻道时间磁头移动到目标磁道约为最大寻道时间的一半(机械动作,最慢的一项
旋转等待时间目标扇区转到磁头下方转半圈的时间 =12rr 为转/秒)
数据传输时间读写数据本身已知字节数与速率:字节数DrDr=r×NN 为每磁道字节数);只知每道扇区数:转一圈的时间每磁道扇区数
控制器延时控制器处理命令的开销题目给出时才计入

三条使用规则:

⚠️ "平均寻道时间约为最大寻道时间的一半"是统计期望(目标磁道均匀分布下),不是某次访问的实际值。平均旋转等待就是转半圈=12r

⚠️ 控制器延时是独立的一项,不含在前三项里。 判断方法很简单:条件里给了几个时间量,结果里就该出现几个。题面专门给出"磁盘控制器延时 0.2 ms"却不把它加进去,是这类题最主要的失分点。

⚠️ 单位口径要全程一致。 容量与速率习惯取 1 MB=106 B、1 GB=109 B;中途从 ÷1024 切到 ÷1000,结果在两种口径下都站不住。

三个分量的量级差有多悬殊:一道盘完整算完并双算法互验(想弄清"机械动作占了 99.9%"这个结论从哪来时展开)

两种传输算法之所以等价:读一个扇区就是磁头划过 1扇区数 圈,字节数在推导中被约掉了。条件里没给出每扇区字节数时只能用后一种。

设定:某磁盘转速 7200 转/分,平均寻道时间 8 ms,每磁道 500 个扇区、每扇区 512 B。求读取一个扇区的平均存取时间与数据传输速率。

第一步,把转速换成每转时间。

r=720060=120 转/秒,T一圈=1120 s8.33 ms

第二步,逐项求三个分量。

分量计算结果
平均寻道时间条件给出8 ms
平均旋转等待转半圈 =8.33/24.17 ms
传输一个扇区算法二:8.33/5000.017 ms
平均存取时间=8+4.17+0.01712.19 ms

第三步,求数据传输速率。 每磁道容量 =500×512=256000 B,故

Dr=120×256000=30720000 B/s=30.72 MB/s

用算法一验算传输时间:512÷(30.72×106)1.67×105 s=0.017 ms,与算法二一致。

三个分量的量级差别极大:寻道 8 ms、旋转 4.17 ms、传输 0.017 ms。机械动作占了 99.9% 的时间,数据传输本身几乎可以忽略——这正是磁盘慢的根源,也是 SSD 快的原因。

四、固态硬盘(SSD)

SSD 由闪存芯片阵列闪存翻译层组成,没有机械部件,全部特性都源自 Flash 的物理约束(详见 半导体随机存取存储器)。多出来的"区块"这一级,是 SSD 与磁盘一切行为差异的源头:

磁盘SSD是什么单位
扇区(512 B ~ 4 KB)读 / 写
(无对应物)区块(32~128 页,16~512 KB)擦除,也是寿命的计数单位
磁盘控制器(逻辑块号 → 柱面/磁头/扇区)闪存翻译层(逻辑块号 → 物理页)对外接口翻译

三条硬约束

约束内容后果
① 写前必须擦除编程只能把 1 改成 0;要把某位改回 1,只能擦除该页所在的整个区块不能原地更新 → 写放大
② 区块内按顺序写区块被擦除后,块内各页必须按顺序写入无法单独回填某一页,逼出"整块搬迁"
③ 擦除次数有限每个区块只能承受有限次擦除/编程,重复写几千到几万次后即成为坏块寿命有限 → 需磨损均衡

磨损均衡与容量、寿命

若某些块被反复擦写,它们会远早于其他块损坏,整盘容量提前缩水;磨损均衡让"总擦除次数"这个预算能按整盘来算,而不是被几个热点块提前耗光——下面的寿命公式正建立在这个前提上。

容量=区块数×每块页数×每页字节数闪存可承受写入总量=容量×每块可擦写次数,寿命=闪存可承受写入总量写放大系数×每天写入量

🔴 这个公式有两处符号最容易搞反:每块可擦写次数乘的是"容量"不是"块数"写放大系数在分母(从闪存的写入预算折回主机的写入预算要)。两处都反过来会把寿命高估 k2 倍。

对比项SSD磁盘
随机读极快,几十微秒慢,几毫秒到几十毫秒(需寻道 + 旋转)
顺序写较快
随机写较慢,几百微秒(需先擦后写)
抗震性弱(有机械部件)
功耗 / 噪声低 / 无高 / 有
价格
寿命的限制因素擦写次数机械磨损

整体上 SSD 的随机读写时延比磁盘低约两个数量级——差距全部来自磁盘的机械动作,而不是数据传输本身。

表里唯一反直觉的是"随机写较慢"那一行,它的因果链值得记:

🔴 写前必须擦除整个区块 不能原地更新 改一页要"搬迁有效页 + 写新块 + 擦旧块"(垃圾回收) 写放大。 顺序写则是整块从头写到尾、没有搬迁量,写放大系数接近 1。所以 SSD 的顺序写快而随机写慢,磁盘则是两者都慢。

写放大系数 =实际写入闪存的数据量主机请求写入的数据量>1,它既拖慢写性能,又加速寿命消耗。

对外把这一切藏起来的是闪存翻译层:它把"读第几个逻辑块"翻译成对闪存芯片的读写控制,地位相当于磁盘控制器。正因为有它,"页 / 区块""不能原地更新"这些细节对主机是隐藏的。

顺带回答一个常被问的:SSD 为什么还没取代磁盘——单位容量成本仍显著更高,且擦写次数有限;以顺序写为主的大容量冷数据存储,磁盘依然更经济。

一块 SSD 的容量与寿命从头算到尾,并看写放大改一点会怎样(想确认"擦写次数乘容量""写放大在分母"两处没搞反时展开)

先把两个前置机制补齐。垃圾回收:要修改某一页,必须把该块中仍然有效的页复制到新块、在新块写入更新后的页、再擦除旧块,这套由闪存翻译层在后台完成的"搬迁 + 擦除"正是写放大的来源。磨损均衡分两种:动态磨损均衡在写入时优先选择擦写次数较少的空闲块,静态磨损均衡定期把高磨损块的数据迁移到低磨损块、使其转为以读为主。

设定:某 SSD 有 4096 个区块,每块 64 页,每页 4 KB;每块可擦写 10000 次,写放大系数为 2,主机每天写入 10 GB。

容量=4096×64×4 KB=1048576 KB=1 GB闪存可承受=1 GB×10000=104 GB主机可写=1042=5000 GB寿命=500010=500 1.4 

把写放大系数从 2 压到 1.1,寿命立刻涨到 104/1.1/10909 天——降低写放大与提高擦写次数上限,对寿命是等效的两条路。以上结果的前提是磨损均衡有效,否则热点块先坏,实际寿命远低于这个上界。

磁盘阵列 RAID 各级别(已不在现行大纲内,只在别处看到 RAID 字样想确认它是什么时展开)

RAID 把多个物理磁盘组合成一个逻辑磁盘,通过并行访问提高性能、通过冗余提高可靠性。

级别特点
RAID0条带化,无冗余,速度最快
RAID1镜像备份,有效容量减半,可靠性高
RAID2海明码纠错
RAID3位交叉 + 独立校验盘
RAID4块交叉 + 独立校验盘
RAID5分布式奇偶校验,无独立校验盘

考点速记

  1. 所有磁头固定在一起移动,故同编号磁道构成柱面柱面内换磁头不需要寻道,这也是柱面号排在地址最高位的原因;地址各段位数分别向上取整N 个双面盘片对应 2N 个磁头。磁盘是直接存取,读写的最小单位是扇区不是字节。
  2. 存取时间 = 寻道 + 旋转等待(转半圈+ 传输(+ 控制器延时,题目给了就要算),机械动作占绝大部分;容量乘法默认低密度方式,扇区里的间隙、ID 与 CRC 使非格式化容量 > 格式化容量
  3. SSD 的行为差异全来自比磁盘多出的区块这一级:写前必须擦整块 不能原地更新 垃圾回收与写放大 随机写不快;寿命公式里写放大系数在分母

这一节在真题里被考过的形式(下方「真题练习」逐题对应):

  • 给转速、平均寻道时间、每道扇区数,问访问一个扇区的平均存取时间:转一圈 =60/rpm,旋转等待取一半,传输时间 = 转一圈时间 ÷ 每道扇区数,三项相加。
  • 同上但改给传输速率与扇区大小,并多给一个控制器延时:传输时间改用 字节数÷Dr,并且把控制器延时也加上。⚠️ 条件里给了几个时间量,答案里就该出现几个——漏掉控制器延时正是这类题准备好的那个错误选项。
  • 挑关于磁盘存储器的错误叙述:常设的错点是"最小读写单位为一字节"——应为扇区。而"格式化容量比非格式化容量小""扇区中包含数据、地址和校验等信息""由磁盘控制器、磁盘驱动器和盘片组成"三条都对。
  • 大题里问扇区地址的三个字段名称与各占多少位:柱面号 / 磁头号 / 扇区号,各段分别向上取整再相加。同一道大题后面通常接着问平均访问时间和 DMA 请求次数(= 扇区字节数 ÷ 缓冲寄存器字节数)。
  • RAID 那道 2013 年的题(问哪些措施提高可靠性:镜像与奇偶校验是,条带化与 Cache 不是):RAID 已不在现行大纲内,这道题只作历史参考,不必投入复习时间。

易错:漏算控制器延时。它是独立的一项,不含在寻道 / 旋转 / 传输里。

易错:把旋转等待算成转一圈。平均值是转半圈

易错:答"磁盘的最小读写单位是字节"或"磁盘是随机存取"。是扇区、是直接存取

易错:把 N 个双面盘片的磁头数算成 N。应为 2N

易错:地址三段先相乘再取一次对数。要分别向上取整后相加。

ssd-co 这个 topic 目前没有对口真题(想确认下方第二个练习区为什么是空的时展开)

大纲三(五)2 明确列有"固态硬盘(SSD)",但它至今没有在 408 真题里单独成题,所以下方 ssd-co 的真题练习是空的——这不是漏挂标签

SSD 现阶段的复习优先级:把"多出区块这一级 → 写前擦除 → 不能原地更新 → 写放大 → 随机写慢、寿命有限"这条因果链讲得出来即可,容量与寿命的公式了解到会代数即可,不必做大量练习。它通常是作为磁盘的对照项出现在选择题的选项里。

教材出处
  • 袁春风《计算机组成与系统结构(第 3 版)》§7.3.1 磁盘存储器的结构:磁盘存储器由磁记录介质、磁盘驱动器、磁盘控制器三部分组成、图 7.15 磁盘驱动器的物理组成(p219);图 7.17 温切斯特磁盘的磁道记录格式与扇区各域的字节数(p220)
  • 同书 §7.3.2 磁盘存储器的性能指标:道密度与位密度的定义、低密度与高密度两种存储方式下每道扇区数的差别(p220)
  • 同书 §7.3.6 固态硬盘:闪存翻译层相当于磁盘控制器、区块与页的规模(页 512 B~4 KiB、每区块 32~128 页)、SSD 的三条限制、均化磨损、随机读写时延比硬盘低两个数量级(p225)

相关知识

半导体随机存取存储器存储器的层次结构DMA直接存储器访问

真题练习