Appearance
408
计算机组成原理
CO-03-07 磁盘存储器与SSD
一、定位信息
| 项目 | 内容 |
|---|---|
| 所属圈层 | 核心层 |
| 前置知识回顾 | 需了解辅助存储器在存储层次中的位置(容量大、速度慢、成本低),了解磁性材料可以存储二进制信息的基本原理 |
| 知识网络定位 | 本单元是存储器层次结构中辅助存储器层的详细讲解。磁盘和SSD是主存的下一级存储,虚拟存储器(CO-03-11)的页面调度以磁盘/SSD为后备存储。理解磁盘的物理结构和访问时间是计算辅存性能的基础 |
| 考点热度等级 | H级 — 磁盘访问时间计算是高频考点,近5年出现≥4次,常以选择题或计算题形式出现 |
二、知识点讲解
2.1 磁盘存储器的基本结构
硬盘(Hard Disk Drive, HDD) 由以下部件组成:
磁盘片(Platter):铝合金或玻璃基片,表面涂有磁性材料。一个硬盘可以有多个盘片,每个盘片有上下两个记录面(最上面和最下面的面通常不使用)。
磁头(Head):每个记录面对应一个磁头,用于读写磁盘表面的磁化信息。磁头悬浮在盘片表面上方(飞行高度约几纳米到几十纳米),不与盘面接触。
主轴(Spindle):盘片固定在主轴上,由电机驱动匀速旋转。常见转速有5400rpm、7200rpm、10000rpm、15000rpm。
磁头臂(Actuator Arm):所有磁头固定在同一个磁头臂上,由音圈电机驱动,沿盘片径向移动(寻道)。
2.2 磁盘的数据组织
磁道(Track):盘片表面上以主轴为圆心的一系列同心圆。每个记录面有数千到数万条磁道。
柱面(Cylinder):所有记录面上同一半径的磁道组成一个柱面。即第 个柱面 = 所有记录面的第 条磁道。
扇区(Sector):每条磁道被划分为若干扇区,是磁盘读写的最小单位。每个扇区通常512字节或4KB。
磁盘地址:磁盘上的每个扇区可用三维地址唯一标识:(柱面号,磁头号,扇区号)
2.3 磁盘的访问时间
磁盘访问一个扇区的时间由三部分组成:
1. 寻道时间 :磁头移动到目标磁道所需的时间。
- 包括启动磁头臂的时间和磁头匀速/加速移动的时间
- 平均寻道时间:,通常为几毫秒到十几毫秒
- 最大寻道时间 = 从最外圈到最内圈的时间
- 最小寻道时间 = 0(已在目标道上)
- 平均寻道时间 ≈ 最大寻道时间的1/3(经验公式)
2. 旋转延迟 :等待目标扇区旋转到磁头下方的时间。
- 取决于磁盘转速 (rpm)
- 平均旋转延迟 = 磁盘旋转半周的时间:
- 最大旋转延迟 = 旋转一周的时间
- 最小旋转延迟 = 0(扇区刚好在磁头下方)
3. 数据传输时间 :读写一个扇区的数据所需的时间。
- 取决于磁盘转速和每磁道的扇区数
- 传输一个扇区的时间 = 旋转一个扇区所占角度的时间
2.4 磁盘的数据传输率
数据传输率(Data Transfer Rate):单位时间内磁盘能传输的数据量。
其中 为每磁道的字节数, 为转速(rpm)。
2.5 磁盘的记录方式
1. 定长记录格式:每条磁道的扇区数相同。外圈磁道的扇区与内圈磁道的扇区物理大小不同(外圈大、内圈小),但存储的数据量相同。优点是控制简单,缺点是外圈磁道浪费空间。
2. 等位密度记录格式(ZBR,Zone Bit Recording):外圈磁道划分更多扇区,内圈较少。每条磁道的位密度(每英寸存储的bit数)大致相同,充分利用了盘面面积。现代硬盘多采用此方式。
2.6 SSD(固态硬盘)
SSD(Solid State Drive) 基于NAND Flash存储芯片,没有机械运动部件。
核心特点:
- 无机械延迟:没有寻道时间和旋转延迟,随机访问速度远快于HDD
- 读快写慢:读取速度很快,但写入需要先擦除再编程,速度较慢
- 擦写次数有限:每个存储单元约10万~100万次擦写寿命
- 抗震动:无机械部件,适合移动设备
- 功耗低:无需电机驱动
- 价格高:单位容量价格高于HDD
2.7 HDD vs SSD 对比
| 对比项 | HDD | SSD |
|---|---|---|
| 存储介质 | 磁性材料(磁盘片) | NAND Flash芯片 |
| 机械部件 | 有(盘片旋转、磁头移动) | 无 |
| 随机读取速度 | 慢(需寻道+旋转) | 快(无机械延迟) |
| 顺序读取速度 | 中等 | 快 |
| 写入速度 | 中等 | 较慢(需擦除再写) |
| 抗震动 | 差 | 好 |
| 功耗 | 高 | 低 |
| 容量 | 大 | 中等 |
| 价格/GB | 低 | 高 |
| 寿命 | 无写入次数限制 | 有擦写次数限制 |
| 适用场景 | 大容量存储、冷数据 | 系统盘、频繁随机访问 |
三、记忆与理解辅助
3.1 口诀记忆
口诀:"寻道旋转传数据,三段时间要相加"
磁盘访问时间 = 寻道时间 + 旋转延迟 + 传输时间
口诀:"平均寻道三分一,平均旋转半圈时"
- 平均寻道时间 ≈ 最大寻道时间 / 3
- 平均旋转延迟 = 旋转半周的时间 = 30/n 秒(n为rpm)
3.2 计算公式速查
| 计算项 | 公式 |
|---|---|
| 平均旋转延迟 | 秒(为转速rpm) |
| 数据传输率 | B/s(为每磁道字节数) |
| 平均访问时间 | |
| 磁盘容量 |
3.3 直观类比
磁盘访问就像在唱片机上找一首歌:
- 寻道:把唱针移到对应的轨道上(磁头移到目标磁道)
- 旋转等待:等唱片转到歌曲开始的位置(目标扇区转到磁头下方)
- 播放:歌曲播放(数据传输)
四、例题与精解
例题1(基础)
题目:某磁盘转速为7200rpm,每条磁道有200个扇区,每个扇区512字节。求: (1)平均旋转延迟; (2)数据传输率。
命题意图:考查磁盘基本参数的计算。
审题分析:转速 ,扇区数/道=200,字节/扇区=512。
解题思路:直接使用公式。
完整步骤:
(1)平均旋转延迟:
(2)数据传输率:
每磁道字节数
方法反思:数据传输率也可以理解为"每秒磁头下方经过的数据量"。转一圈经过 字节,每秒转 圈。
例题2(中等)
题目:某磁盘组有6个记录面(盘片),每面有10000条磁道,每条磁道有500个扇区,每个扇区512字节。磁盘转速为10000rpm,平均寻道时间为6ms。问: (1)该磁盘的总容量是多少? (2)读取一个扇区的平均访问时间是多少? (3)若要连续读取同一磁道上的全部500个扇区,总时间是多少?
命题意图:考查磁盘容量计算和访问时间的完整分析。
审题分析:6个记录面,10000道/面,500扇区/道,512B/扇区,10000rpm,平均寻道6ms。
解题思路:容量 = 面数 × 道数 × 扇区数 × 字节数。访问时间 = 寻道 + 旋转延迟 + 传输时间。连续读取同一磁道只需一次寻道和一次旋转延迟。
完整步骤:
(1)磁盘总容量:
(注:按 计算;若按 ,约为14.3GiB)
(2)读取一个扇区的平均访问时间:
- 平均寻道时间:
- 平均旋转延迟:
- 传输一个扇区的时间:
- 平均访问时间:
(3)连续读取同一磁道500个扇区:
同一磁道的连续扇区读取只需要一次寻道和一次旋转延迟(找到第一个扇区),然后连续传输。
- 寻道时间:6ms(平均)
- 旋转延迟:3ms(平均,等待第一个扇区转到磁头下方)
- 传输500个扇区 = 传输一整条磁道 = 旋转一周的时间
方法反思:
- 连续读取同一磁道的关键优化:只需一次寻道+一次旋转延迟,省去了多次寻道和旋转的开销。
- 如果是读取不同磁道的数据,每次都需要重新寻道和旋转延迟,总时间会大幅增加。
- 这就是为什么磁盘顺序读取远快于随机读取。
五、考情分析
| 项目 | 内容 |
|---|---|
| 近5年考查频次 | ≥4次 |
| 常见题型 | 选择题(磁盘参数概念)、计算题(访问时间、数据传输率) |
| 分值占比 | 选择题2分,计算题3–5分 |
| 命题趋势 | 磁盘访问时间计算是经典计算题。近年趋势是将磁盘参数与RAID、文件系统等知识点结合,或与SSD特性对比出选择题 |
六、易错点提醒
易错点1
- 错误表现:计算平均旋转延迟时用"旋转一周的时间"而非"旋转半周"
- 错误原因:平均情况下,目标扇区在磁头到达后平均还需要旋转半周
- 正确做法:平均旋转延迟 = 。"平均"意味着等概率出现在任何位置,最坏一周,最好0周,平均半周
易错点2
- 错误表现:连续读取同一磁道的多个扇区时,每个扇区都加上旋转延迟
- 错误原因:没有理解"同一磁道连续扇区"的含义
- 正确做法:同一磁道的扇区在旋转过程中依次经过磁头下方,只需一次寻道+一次旋转延迟,之后连续传输。传输时间 = 读取所有扇区的时间
易错点3
- 错误表现:将磁盘容量单位GB和GiB混用,导致计算偏差
- 错误原因: 字节(SI标准), 字节(IEC标准),两者不等
- 正确做法:考研中通常按 计算。若题目明确说明则按题目要求
易错点4
- 错误表现:认为SSD的写入速度比HDD快
- 错误原因:只关注了SSD"无机械延迟"的优点
- 正确做法:SSD的读取速度确实远快于HDD,但写入需要先擦除再编程,受NAND Flash特性限制,写入速度可能不如预期。特别是随机小文件写入,SSD受写放大和擦除开销影响
七、来源标注
- 依据2026考研统考大纲(408-计算机组成原理-第三章"存储器层次结构")
- 依据大学本科经典教材共识:唐朔飞《计算机组成原理》、白中英《计算机组成原理》