Appearance
外部存储器
考情分析
磁盘存取时间的计算是高频考点(2013、2015、2022),常以综合题或选择题出现。SSD 和 RAID 的基本概念也偶尔涉及。
磁盘存储器
物理结构
磁盘由多个盘片组成,每个盘片有一个或两个记录面,每面含若干同心圆磁道,每条磁道划分为若干扇区。
记录面
│
┌────┴────┐
磁道 0 磁道 1 ... 磁道 n
│
┌─┴─┐
扇区0 扇区1 ... 扇区m- 记录面数 = 磁头数,每个磁头负责一个记录面
- 柱面数 = 单个记录面上的磁道数。所有记录面上同一编号的磁道构成一个柱面
- 扇区是磁盘读写的最小单位(通常 512B 或 4KB)
扇区按固定圆心角度划分,外圈磁道周长大但扇区数相同,因此从外到内位密度递增,存储能力受限于最内圈的最大位密度。
磁盘地址
| 柱面(磁道)号 | 盘面(磁头)号 | 扇区号 |
|---|
例如 16 个盘面、256 条磁道、16 个扇区/磁道,地址 = 8 位柱面号 + 4 位盘面号 + 4 位扇区号 = 16 位。
磁盘容量
非格式化容量 > 格式化容量(需预留扇区间隙、同步字段等开销)。
磁盘存取时间(核心公式)
- 寻道时间:磁头移动到目标磁道所需时间。平均寻道时间
最大寻道时间的一半 - 旋转等待时间:目标扇区旋转到磁头下方的时间。平均旋转等待时间 = 磁盘转半圈的时间
- 数据传输时间:读写数据所需时间
数据传输速率
设转速为
例 1:磁盘转速 7200 RPM,平均寻道时间 8ms,每磁道 500 个扇区,每扇区 512B。读一个扇区的平均存取时间?
解:转速
- 平均寻道时间 = 8ms
- 平均旋转延迟
- 数据传输速率
- 传输一个扇区的时间
例 2:磁盘转速 10000 RPM,共 8 个记录面,每面 20000 条磁道,每磁道 200 个扇区(512B)。格式化容量和数据传输速率?
解:
- 格式化容量
- 转速
转/秒 - 每磁道容量
- 数据传输速率
磁盘阵列(RAID)
RAID 将多个物理磁盘组合为逻辑磁盘,通过并行访问和冗余提高性能与可靠性。
| 级别 | 特点 |
|---|---|
| RAID0 | 条带化(数据分布在多盘),无冗余,速度快 |
| RAID1 | 镜像备份,有效容量减半,可靠性高 |
| RAID2 | 海明码纠错 |
| RAID3 | 位交叉 + 单独校验盘 |
| RAID4 | 块交叉 + 单独校验盘 |
| RAID5 | 分布式奇偶校验,无独立校验盘 |
固态硬盘(SSD)
SSD 基于 Flash 存储器构建,由闪存芯片阵列和闪存翻译层组成。
基本特性
| 特点 | 说明 |
|---|---|
| 读写单位 | 读/写以页为单位(512B~4KB),擦除以块为单位(16KB~512KB) |
| 写前必须擦除 | 一个块擦除后,其中所有页才能被重新写入 |
| 擦写寿命有限 | 每个块的擦写次数有限(几百~几千次) |
| 无机械部件 | 随机访问延迟极低,抗震、低功耗、无噪声 |
随机写入较慢的原因:擦除操作耗时长(比页访问慢一个数量级);修改已有数据的页时,需先将整块有效数据复制到新块,再写入。
SSD vs HDD
| 对比项 | SSD | HDD |
|---|---|---|
| 随机读取速度 | 极快(微秒级) | 慢(毫秒级,需寻道+旋转) |
| 顺序写入速度 | 快 | 较快 |
| 随机写入速度 | 较慢(需先擦后写) | 慢 |
| 抗震性 | 强 | 弱(机械部件) |
| 功耗 | 低 | 高 |
| 价格 | 高 | 低 |
| 寿命 | 受限于擦写次数 | 受限于机械磨损 |
磨损均衡
为避免某些块频繁擦写导致提前损坏,SSD 控制器采用磨损均衡技术:
- 动态磨损均衡:写入时优先选择擦写次数少的空闲块
- 静态磨损均衡:定期将高磨损块中的数据迁移到低磨损块,使高磨损块转为以读为主
考点清单
- 存取时间 = 寻道时间 + 旋转等待时间 + 传输时间
- 平均旋转等待时间 = 转半圈的时间 =
- 数据传输速率
(转速 每磁道容量) - 格式化容量 = 面数
柱面数 扇区数/道 字节数/扇区 - 磁盘地址:柱面号 + 盘面号 + 扇区号
- SSD 读写以页为单位,擦除以块为单位,写前必须擦除
- RAID0 无冗余但快,RAID1 镜像但容量减半