Skip to content

外部存储器

考情分析

磁盘存取时间的计算是高频考点(2013、2015、2022),常以综合题或选择题出现。SSD 和 RAID 的基本概念也偶尔涉及。

磁盘存储器

物理结构

磁盘由多个盘片组成,每个盘片有一个或两个记录面,每面含若干同心圆磁道,每条磁道划分为若干扇区

    记录面

 ┌────┴────┐
 磁道 0  磁道 1  ...  磁道 n

 ┌─┴─┐
扇区0 扇区1 ... 扇区m
  • 记录面数 = 磁头数,每个磁头负责一个记录面
  • 柱面数 = 单个记录面上的磁道数。所有记录面上同一编号的磁道构成一个柱面
  • 扇区是磁盘读写的最小单位(通常 512B 或 4KB)

扇区按固定圆心角度划分,外圈磁道周长大但扇区数相同,因此从外到内位密度递增,存储能力受限于最内圈的最大位密度。

磁盘地址

柱面(磁道)号盘面(磁头)号扇区号

例如 16 个盘面、256 条磁道、16 个扇区/磁道,地址 = 8 位柱面号 + 4 位盘面号 + 4 位扇区号 = 16 位。

磁盘容量

格式化容量=记录面数×柱面数×每道扇区数×每扇区字节数

非格式化容量 > 格式化容量(需预留扇区间隙、同步字段等开销)。

磁盘存取时间(核心公式)

存取时间=寻道时间+旋转等待时间+数据传输时间
  • 寻道时间:磁头移动到目标磁道所需时间。平均寻道时间 最大寻道时间的一半
  • 旋转等待时间:目标扇区旋转到磁头下方的时间。平均旋转等待时间 = 磁盘转半圈的时间
平均旋转等待时间=12×1转速(转/秒)=12r
  • 数据传输时间:读写数据所需时间
传输时间=读写字节数数据传输速率

数据传输速率

设转速为 r 转/秒,每条磁道容量为 N 字节:

Dr=rN

例 1:磁盘转速 7200 RPM,平均寻道时间 8ms,每磁道 500 个扇区,每扇区 512B。读一个扇区的平均存取时间?

解:转速 =7200/60=120 转/秒,每转时间 =1/1208.33ms

  • 平均寻道时间 = 8ms
  • 平均旋转延迟 =8.33/24.17ms
  • 数据传输速率 =120×500×512=30.72MB/s
  • 传输一个扇区的时间 =512/(30.72×106)0.017ms
平均存取时间=8+4.17+0.01712.19ms

例 2:磁盘转速 10000 RPM,共 8 个记录面,每面 20000 条磁道,每磁道 200 个扇区(512B)。格式化容量和数据传输速率?

解:

  • 格式化容量 =8×20000×200×512B=16.384GB
  • 转速 =10000/60166.7 转/秒
  • 每磁道容量 =200×512=100KB
  • 数据传输速率 =166.7×100KB16.67MB/s

磁盘阵列(RAID)

RAID 将多个物理磁盘组合为逻辑磁盘,通过并行访问和冗余提高性能与可靠性。

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

固态硬盘(SSD)

SSD 基于 Flash 存储器构建,由闪存芯片阵列和闪存翻译层组成。

基本特性

特点说明
读写单位读/写以为单位(512B~4KB),擦除以为单位(16KB~512KB)
写前必须擦除一个块擦除后,其中所有页才能被重新写入
擦写寿命有限每个块的擦写次数有限(几百~几千次)
无机械部件随机访问延迟极低,抗震、低功耗、无噪声

随机写入较慢的原因:擦除操作耗时长(比页访问慢一个数量级);修改已有数据的页时,需先将整块有效数据复制到新块,再写入。

SSD vs HDD

对比项SSDHDD
随机读取速度极快(微秒级)慢(毫秒级,需寻道+旋转)
顺序写入速度较快
随机写入速度较慢(需先擦后写)
抗震性弱(机械部件)
功耗
价格
寿命受限于擦写次数受限于机械磨损

磨损均衡

为避免某些块频繁擦写导致提前损坏,SSD 控制器采用磨损均衡技术:

  • 动态磨损均衡:写入时优先选择擦写次数少的空闲块
  • 静态磨损均衡:定期将高磨损块中的数据迁移到低磨损块,使高磨损块转为以读为主

考点清单

  • 存取时间 = 寻道时间 + 旋转等待时间 + 传输时间
  • 平均旋转等待时间 = 转半圈的时间 = 1/(2r)
  • 数据传输速率 =r×N(转速 × 每磁道容量)
  • 格式化容量 = 面数 × 柱面数 × 扇区数/道 × 字节数/扇区
  • 磁盘地址:柱面号 + 盘面号 + 扇区号
  • SSD 读写以页为单位,擦除以块为单位,写前必须擦除
  • RAID0 无冗余但快,RAID1 镜像但容量减半

真题练习