Appearance
外部存储器
考情分析
磁盘存取时间的计算常以综合题或选择题出现。SSD 的基本概念也有涉及。
大纲定位
考纲第三章(五)「外部存储器」两条:1. 磁盘存储器 2. 固态硬盘(SSD)。
注意 RAID 已不在现行大纲之内,本文保留相关内容只作历史真题的方法参考,不必在这上面投入精力。
磁盘存储器
物理结构
磁盘由多个盘片组成,每个盘片有一个或两个记录面,每面含若干同心圆磁道,每条磁道划分为若干扇区。
记录面
│
┌────┴────┐
磁道 0 磁道 1 ... 磁道 n
│
┌─┴─┐
扇区0 扇区1 ... 扇区m- 记录面数 = 磁头数,每个磁头负责一个记录面
- 柱面数 = 单个记录面上的磁道数。所有记录面上同一编号的磁道构成一个柱面
- 扇区是磁盘读写的最小单位(通常 512B 或 4KB)
扇区按固定圆心角度划分,外圈磁道周长大但扇区数相同,因此从外到内位密度递增,存储能力受限于最内圈的最大位密度。

图 7.15 磁盘驱动器的物理组成
图里能一眼看清两件纯文字讲不清的事:移动臂上叠着一组磁头,它们是一起动的——所以同一时刻所有盘面的磁头都停在相同半径上,这些磁道纵向贯穿构成的虚拟集合就是柱面。这也解释了为什么 CHS 地址把柱面号放最高位:同一柱面内换磁头不需要重新寻道。
磁盘地址
| 柱面(磁道)号 | 盘面(磁头)号 | 扇区号 |
|---|
例如 16 个盘面、256 条磁道、16 个扇区/磁道,地址 = 8 位柱面号 + 4 位盘面号 + 4 位扇区号 = 16 位。
但真题的数字不会这么友好。每段位数的通用式是:
上面那个例子里 16、256、16 都恰好是 2 的整数次幂,除法直接整除,把向上取整这个动作藏起来了。数量不是 2 的幂时必须显式取整:
例:20000 个柱面、每道 500 个扇区、4 个双面盘片。
编者注(易错):两个坑在这里。一是向下取整——答 14 位、8 位是要扣分的,位数只能进不能退。二是盘片 ≠ 盘面——题干给"
个双面盘片"时磁头数是 ,直接拿盘片数去取对数会少一位。
地址位数题的三步动作
- 先把盘片换算成盘面(双面盘片
),盘面数 磁头数 - 每段位数
,逐段向上取整 - 三段相加得总位数
磁盘容量
非格式化容量 > 格式化容量(需预留扇区间隙、同步字段等开销)。
磁盘存储器的三层组成
选择题直接考过这个划分:
| 层 | 是什么 |
|---|---|
| 盘片 | 记录介质本身(多片叠装,各面镀磁性材料) |
| 磁盘驱动器 | 主轴电机 + 磁头组 + 寻道伺服机构,负责机械动作 |
| 磁盘控制器 | 接收主机命令、控制驱动器、与总线通信。DMA 方式下向 CPU 发总线请求的就是它 |
扇区内部长什么样
题干说"每个扇区包含数据及地址信息"不是废话,是在提示扇区的物理格式:
这也解释了为什么非格式化容量 > 格式化容量——间隙、同步字段、ID、校验都不算进用户数据。

图 7.17 温切斯特磁盘的磁道记录格式
教材这张图给了实际的字节数:一个扇段 600 字节,其中数据域 515 字节(同步字节 1 + 数据 512 + CRC 2),其余 85 字节是间隙和 ID 域(道号/头号/段号/CRC)。用户拿到的是 512 B,磁道上实际占了 600 B——差的这 88 就是格式化开销。
磁盘存取时间(核心公式)
- 寻道时间:磁头移动到目标磁道所需时间。平均寻道时间
最大寻道时间的一半 - 旋转等待时间:目标扇区旋转到磁头下方的时间。平均旋转等待时间 = 磁盘转半圈的时间
- 数据传输时间:读写数据所需时间
- 控制器延时:磁盘控制器处理命令的开销。题干给了就必须加,是独立一项;不给就是三段
编者注(易错):漏掉题干给出的控制器延时是这类题的经典错项。检查动作很简单——题干给了几个时间量,答案里就该出现几个。
传输时间有两条路线,看题目给什么
路线一(题目给字节数和传输速率):
路线二(题目只给每磁道扇区数,不给字节数):
两条等价——读一个扇区就是磁头划过
数据传输速率
设转速为
例 1:磁盘转速 7200 RPM,平均寻道时间 8ms,每磁道 500 个扇区,每扇区 512B。读一个扇区的平均存取时间?
解:转速
- 平均寻道时间 = 8 ms
- 平均旋转延迟
ms - 传输一个扇区(路线二,不需要每扇区字节数):
ms - 校验(路线一):传输速率
B/s MB/s, s ms ✓
本文统一取
B、 B(磁盘厂商与真题解析的惯例)。同一道题里口径必须自始至终一致,中途从 切到 会得到一个两边都不成立的数。
例 2:磁盘转速 10000 RPM,共 8 个记录面,每面 20000 条磁道,每磁道 200 个扇区(512B)。格式化容量和数据传输速率?
解:
- 格式化容量
- 转速
转/秒 - 每磁道容量
- 数据传输速率
编者注(易错):这一步最容易栽在口径混用上。若把每磁道容量写成"100 KB"(用了
),再按 换算,会得到 16.67 MB/s——这个数在十进制(17.07)和二进制(16.28 MiB/s)两种口径下都不成立。要么全程 ,要么全程 ,不能中途换。
磁盘阵列(RAID)
RAID 将多个物理磁盘组合为逻辑磁盘,通过并行访问和冗余提高性能与可靠性。
| 级别 | 特点 |
|---|---|
| RAID0 | 条带化(数据分布在多盘),无冗余,速度快 |
| RAID1 | 镜像备份,有效容量减半,可靠性高 |
| RAID2 | 海明码纠错 |
| RAID3 | 位交叉 + 单独校验盘 |
| RAID4 | 块交叉 + 单独校验盘 |
| RAID5 | 分布式奇偶校验,无独立校验盘 |
固态硬盘(SSD)
SSD 基于 Flash 存储器构建,由闪存芯片阵列和闪存翻译层组成。
基本特性
| 特点 | 说明 |
|---|---|
| 读写单位 | 读/写以页为单位(512B~4KB),擦除以块为单位(16KB~512KB) |
| 写前必须擦除 | 一个块擦除后,其中所有页才能被重新写入 |
| 擦写寿命有限 | 每个块的擦写次数有限(几百~几千次) |
| 无机械部件 | 随机访问延迟极低,抗震、低功耗、无噪声 |
随机写入较慢的原因:擦除操作耗时长(比页访问慢一个数量级);修改已有数据的页时,需先将整块有效数据复制到新块,再写入。
这个"改一页要搬一块"的现象有专门的名字——写放大(write amplification):
它是 SSD 写性能和寿命的核心制约:闪存有擦写次数上限,写放大越大,寿命消耗越快。磨损均衡正是为对冲它而存在的。
SSD vs HDD
| 对比项 | SSD | HDD |
|---|---|---|
| 随机读取速度 | 极快(微秒级) | 慢(毫秒级,需寻道+旋转) |
| 顺序写入速度 | 快 | 较快 |
| 随机写入速度 | 较慢(需先擦后写) | 慢 |
| 抗震性 | 强 | 弱(机械部件) |
| 功耗 | 低 | 高 |
| 价格 | 高 | 低 |
| 寿命 | 受限于擦写次数 | 受限于机械磨损 |
磨损均衡
为避免某些块频繁擦写导致提前损坏,SSD 控制器采用磨损均衡技术:
- 动态磨损均衡:写入时优先选择擦写次数少的空闲块
- 静态磨损均衡:定期将高磨损块中的数据迁移到低磨损块,使高磨损块转为以读为主
考点清单
- 存取时间 = 寻道时间 + 旋转等待时间 + 传输时间
- 平均旋转等待时间 = 转半圈的时间 =
- 数据传输速率
(转速 每磁道容量) - 格式化容量 = 面数
柱面数 扇区数/道 字节数/扇区 - 磁盘地址:柱面号 + 盘面号 + 扇区号,每段位数
数量 (向上取整) - 盘片
盘面: 个双面盘片 个磁头 - 存取时间 = 寻道 + 旋转延迟 + 传输(题干给了控制器延时就再加一项)
- 传输时间两条路线:字节数/速率,或
每道扇区数(题目不给字节数时走后者) - 扇区 = 间隙 + ID(柱面/磁头/扇区号)+ 数据 + CRC,所以非格式化容量 > 格式化容量
- 磁盘存储器三层 = 盘片 + 驱动器 + 控制器
- SSD 读写以页为单位,擦除以块为单位,写前必须擦除;改一页要搬一块 = 写放大
- 单位口径全程统一,不可中途在
与 之间切换 - RAID0 无冗余但快,RAID1 镜像但容量减半(RAID 已移出大纲)
教材出处
- 袁春风《计算机组成与系统结构(第 3 版)》§7.3.1 磁盘存储器:图 7.15(p219)、图 7.17(p220)