3.4 磁盘存储器 (答案见原书 P194)
第3章 存储系统 (续)
3.4 磁盘存储器 (答案见原书 P194)
01. 下列关于磁盘的说法中,错误的是( B )。
题目原文
- 下列关于磁盘的说法中,错误的是( )。
A. 本质上,U盘(闪存)是一种只读存储器
B. RAID技术可以提高磁盘的磁记录密度和磁盘利用率
C. 未格式化的硬盘容量要大于格式化后的实际容量
D. 计算磁盘的存取时间时,“寻道时间”和“旋转等待时间”常取其平均值
正确答案:B
题目解析
- 考点分析: 本题综合考察与磁盘相关的多个概念。
- 错误选项分析 (B. RAID技术可以提高磁盘的磁记录密度和磁盘利用率):
- 这是错误的。RAID(廉价磁盘冗余阵列) 是一种将多个独立的物理磁盘组合成一个逻辑磁盘的技术。
- 其主要目的有两个:
- 提高性能: 通过数据条带化(Striping),将数据分块并行地读写到多个磁盘上,从而提高I/O吞吐率。
- 提高可靠性: 通过数据镜像(Mirroring)或奇偶校验(Parity)来提供数据冗余,防止因单个磁盘故障导致数据丢失。
- RAID技术不能改变单个物理磁盘的磁记录密度(这是由磁盘制造工艺决定的),而且在某些模式下(如RAID 1镜像),它会降低磁盘的有效容量利用率(一半容量用于冗余)。
- 正确选项分析:
- A: U盘是基于Flash Memory,属于EEPROM的一种,而EEPROM又属于广义的ROM家族,这个说法有一定道理。
- C: 正确。格式化会在磁盘上写入扇区标识、校验码、文件系统结构(如FAT, MBR)等管理信息,这些信息会占用一部分存储空间,因此格式化后的可用容量小于原始容量。
- D: 正确。由于无法预知磁头和盘片的初始位置,在计算理论存取时间时,通常使用平均寻道时间和平均旋转延迟。
02. 下列关于磁盘驱动器的叙述中,错误的是( A )。
题目原文
02. 下列关于磁盘驱动器的叙述中,错误的是( )。
A. 送到磁盘驱动器的地址由磁头号、盘面号和扇区号组成
B. 能控制磁头移动到指定磁道,并发出“寻道结束”信号
C. 能控制盘片转过指定的扇区,并发出“扇区符合”信号
D. 能控制对指定盘面的指定扇区进行数据的读或写操作
正确答案:A
题目解析
- 考点分析: 本题考察磁盘的CHS(柱面-磁头-扇区)寻址方式。
- 错误选项分析 (A. …由磁头号、盘面号和扇区号组成):
- 这个说法是错误的。磁盘的物理地址由三部分组成:
- 柱面号 (Cylinder): 定位磁头在所有盘面上的径向位置。
- 磁头号 (Head): 选择使用哪个盘面进行读写。
- 扇区号 (Sector): 定位在指定磁道上的起始扇区。
- 选项中用“盘面号”代替了“柱面号”,这是不准确的。“盘面号”和“磁头号”是一一对应的,通常用磁头号来指定盘面。最关键的定位信息——柱面号——缺失了。
- 这个说法是错误的。磁盘的物理地址由三部分组成:
- 正确选项分析:
- B: 正确,这是寻道操作。
- C: 正确,这是旋转定位操作。
- D: 正确,这是最终的读写操作。
03. 下列有关磁盘存储器读/写操作的叙述中,错误的是( D )。
题目原文
03. 下列有关磁盘存储器读/写操作的叙述中,错误的是( )。
A. 最小读/写单位可以是一个扇区
B. 采用直接存储器存取即DMA方式进行输入/输出
C. 按批处理方式进行一个个数据块的读/写
D. 磁盘存储器可与CPU交换盘面上的存储信息
正确答案:D
题目解析
- 考点分析: 本题考察磁盘的数据交换方式。
- 错误选项分析 (D. 磁盘存储器可与CPU交换盘面上的存储信息):
- 这个说法是错误的。磁盘是一种I/O设备,它不能直接与CPU交换信息。
- 磁盘的数据交换路径是:磁盘 ↔ 磁盘控制器(I/O接口) ↔ 主存储器。这个过程通常由DMA方式控制。CPU只负责向磁盘控制器发出命令,并在操作完成后接收中断。
- 正确选项分析:
- A: 正确。扇区是磁盘进行读写的最小物理单位。
- B: 正确。磁盘是高速块设备,几乎总是采用DMA方式进行数据传输。
- C: 正确。磁盘I/O的特点是按数据块(由一个或多个扇区组成)进行批量处理。
04. 若磁盘的转速提高一倍,则( C )。
题目原文
04. 若磁盘的转速提高一倍,则( )。
A. 平均寻道时间减少一半
B. 存取速度也提高一倍
C. 平均旋转延迟时间减少一半
D. 不影响磁盘传输率
正确答案:C
题目解析
- 考点分析: 本题考察磁盘转速对各项性能指标的影响。
- 正确选项分析 (C. 平均旋转延迟时间减少一半):
- 旋转延迟时间是指等待目标扇区旋转到磁头下方所需的时间。
- 平均旋转延迟通常取盘片旋转半周的时间。
- 如果转速提高一倍,那么旋转一周的时间就减少一半,旋转半周的时间自然也减少一半。
- 错误选项分析:
- A. 平均寻道时间:寻道是磁头在盘面上的径向移动,其速度由磁头臂的机械性能决定,与盘片转速无关。
- B. 存取速度也提高一倍:存取时间 = 寻道时间 + 旋转延迟 + 传输时间。只有旋转延迟和传输时间受转速影响,寻道时间不变。因此,总的存取时间会缩短,但不会恰好减少一半(即速度提高一倍)。
- D. 不影响磁盘传输率:传输率(单位时间内读写的数据量)与转速直接相关。转速提高一倍,单位时间内扫过的扇区数就多一倍,传输率也近似提高一倍。
05. 下列关于固态硬盘(SSD)的叙述中,不正确的是( B )。
题目原文
05. 下列关于固态硬盘(SSD)的叙述中,不正确的是( )。
A. 固态硬盘的读/写是以页为单位的
B. 固态硬盘的擦除是以页为单位的
C. 固态硬盘的写入速度比读取速度慢很多
D. 固态硬盘的写入次数有限,引入磨损均衡可以延长使用寿命
正确答案:B
题目解析
- 考点分析: 本题考察固态硬盘(SSD)基于NAND Flash的读/写/擦除特性。
- 错误选项分析 (B. 固态硬盘的擦除是以页为单位的):
- 这是错误的。SSD的读写操作具有不对称性:
- 读 (Read): 以页 (Page) 为单位(例如4KB)。
- 写 (Write/Program): 也以页 (Page) 为单位,但写入前,该页必须是已被擦除的空白状态。
- 擦除 (Erase): 以块 (Block) 为单位,而一个块由许多个页组成(例如,一个块包含128个页)。
- 这个“先擦除块,再写入页”的特性是SSD写操作慢于读操作,并且需要复杂垃圾回收和磨损均衡算法的根本原因。
- 这是错误的。SSD的读写操作具有不对称性:
- 正确选项分析:
- A: 正确。
- C: 正确,因为写操作前可能需要进行代价高昂的擦除和数据搬移。
- D: 正确,NAND Flash的每个块有擦写次数限制,磨损均衡(Wear Leveling)算法可以确保所有块被均匀使用,从而延长SSD整体寿命。
06. 下列关于固态硬盘(SSD)的说法中,错误的是( D )。
题目原文
06. 下列关于固态硬盘(SSD)的说法中,错误的是( )。
A. 基于闪存的存储技术
B. 随机读/写性能明显高于磁盘
C. 随机写比较慢
D. 读/写速度快,常用作主存
正确答案:D
题目解析
- 考点分析: 本题考察SSD的定位和应用。
- 错误选项分析 (D. 读/写速度快,常用作主存):
- 这是错误的。虽然SSD的读写速度远快于机械硬盘(HDD),但与主存(由DRAM构成) 相比,仍然有数量级的差距。
- DRAM的存取时间在纳秒(ns) 级别,而SSD的存取时间在微秒(µs) 级别。
- 因此,SSD是作为高速辅存来替代传统硬盘,而不能用作主存。
- 正确选项分析:
- A: 正确,SSD基于NAND Flash技术。
- B: 正确,SSD没有机械寻道和旋转延迟,其随机读写性能是其相对于HDD的最大优势。
- C: 相对随机读而言,随机写性能较慢,因为涉及到“读-擦-改-写”的复杂过程。
07. 一个磁盘的转速为7200转/分,每个磁道有160个扇区,每个扇区有512字节,则在理想情况下,磁盘每秒传输的数据量是( C )。
正确答案:C
题目解析
- 考点分析: 本题是磁盘最大数据传输率的计算题。
- 计算过程:
- 计算每秒的转数:
- 转速 = 7200 转/分 =
7200 / 60
转/秒 = 120 转/秒。
- 转速 = 7200 转/分 =
- 计算每转的数据量(即一个磁道的数据量):
- 每个磁道有 160 个扇区。
- 每个扇区有 512 字节。
- 每转数据量 =
160 * 512
字节。
- 计算每秒传输的数据量(传输率):
- 传输率 = (每秒的转数) × (每转的数据量)
- 传输率 =
120 * (160 * 512)
字节/秒 - 传输率 =
120 * 81920 = 9830400
字节/秒。
- 将结果转换为KB:
1 KB = 1024 B
(在计算机科学中通常使用2的幂次)- 传输率 =
9830400 / 1024 = 9600
KB/秒。
- 计算每秒的转数:
- 结论: 磁盘每秒传输的数据量是9600KB。
08. 某磁盘盘面共有200个磁道,盘面总存储容量为60MB,…则磁盘接口所需的最大传输速率是( D )。
题目原文
08. 某磁盘盘面共有200个磁道,盘面总存储容量为60MB,磁盘旋转一周的时间为25ms,每个磁道有8个扇区,各扇区之间有间隙,磁头通过每个间隙需1.25ms。则磁盘接口所需的最大传输速率是( )。
A. 10MB/s
B. 60MB/s
C. 83.3MB/s
D. 20MB/s
正确答案:D
题目解析
- 考点分析: 本题考察磁盘数据传输率的计算,需要考虑扇区间隙的影响。
- 计算过程:
- 计算一个磁道的容量:
- 盘面总容量 = 60 MB
- 总磁道数 = 200
- 一个磁道的容量 =
60 MB / 200 = 0.3 MB = 300 KB
。
- 计算读取一个磁道上所有数据所需的时间:
- 一个磁道有8个扇区,因此有8个间隙。
- 读取一个磁道所需的数据传输时间 = 旋转一周的时间 - 所有间隙占用的时间
- 总间隙时间 =
8 * 1.25 ms = 10 ms
。 - 旋转一周时间 = 25 ms。
- 实际用于读数据的时间 =
25 ms - 10 ms = 15 ms
。
- 计算最大传输速率:
- 最大传输速率 = (一个磁道的数据量) / (读取一个磁道数据所需的时间)
- 速率 =
300 KB / 15 ms = 20 KB/ms
。
- 单位换算:
1 KB/ms = 1 KB / (10^-3 s) = 1000 KB/s = 1 MB/s
。- 所以,
20 KB/ms = 20 MB/s
。
- 计算一个磁道的容量:
- 结论: 最大传输速率是20MB/s。
09. 【2013统考真题】某磁盘的转速为10000转/分,…则取一个4KB的扇区所需的平均时间约为( B )。
题目原文
09. 【2013统考真题】某磁盘的转速为10000转/分,平均寻道时间是6ms,磁盘传输速率是20MB/s,磁盘控制器延迟为0.2ms,读取一个4KB的扇区所需的平均时间约为( )。
A. 9ms
B. 9.4ms
C. 12ms
D. 12.4ms
正确答案:B
题目解析
- 考点分析: 本题是磁盘平均存取时间的标准计算题。
- 计算公式:
平均存取时间 = 平均寻道时间 + 平均旋转延迟 + 传输时间 + 控制器延迟
- 计算过程:
- 平均寻道时间 (已知): 6 ms。
- 平均旋转延迟:
- 转速 = 10000 转/分 =
10000 / 60
转/秒。 - 旋转一周所需时间 =
60 / 10000 s = 6 ms
。 - 平均旋转延迟 = 旋转半周时间 =
6 ms / 2 = 3 ms
。
- 转速 = 10000 转/分 =
- 传输时间:
- 要传输的数据量 = 4 KB。
- 传输速率 = 20 MB/s =
20 * 1024 KB/s
。 - 传输时间 = 数据量 / 速率 =
4 KB / (20 * 1024 KB/s) = 1 / 5120 s
。 - 换算成ms:
(1 / 5120) * 1000 ms ≈ 0.195 ms ≈ 0.2 ms
。
- 控制器延迟 (已知): 0.2 ms。
- 计算总时间:
- 总时间 =
6 ms + 3 ms + 0.2 ms + 0.2 ms = 9.4 ms
。
- 总时间 =
- 结论: 平均时间约为9.4ms。
10. 【2013统考真题】下列选项中,用于提高RAID可靠性的措施有( B )。
I. 磁盘镜像 II. 条带化 III. 奇偶校验 IV. 增加Cache机制
正确答案:B
题目解析
- 考点分析: 本题考察RAID技术中用于提高可靠性(数据冗余)的具体措施。
- 逐项分析:
- I. 磁盘镜像 (Mirroring): 提高可靠性。RAID 1的核心技术,将数据完全相同地写入两块磁盘,一块坏了,另一块还有完整备份。
- II. 条带化 (Striping): 提高性能。RAID 0的核心技术,将数据分块并行写入多块磁盘,提高读写速度,但它不提供冗余,一块盘坏了所有数据都丢失,反而降低了可靠性。
- III. 奇偶校验 (Parity): 提高可靠性。RAID 3/4/5/6的核心技术,通过计算数据的奇偶校验信息并存放在专门的校验盘或分布在所有盘上,当一块数据盘损坏时,可以通过其他数据和校验信息恢复出丢失的数据。
- IV. 增加Cache机制: 提高性能。磁盘控制器或RAID卡上的Cache用于缓存读写数据,加快响应速度,与可靠性无直接关系。
- 组合判断: I 和 III 是用于提高可靠性的措施。
11. 【2015统考真题】若磁盘转速为7200转/分,…则访问一个扇区的平均存取时间大约是( B )。
题目原文
11. 【2015统考真题】若磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,则访问一个扇区的平均存取时间大约是( )。
A. 8.1ms
B. 12.2ms
C. 16.3ms
D. 20.5ms
正确答案:B
题目解析
- 考点分析: 本题是磁盘平均存取时间的标准计算题。
- 计算过程:
- 平均寻道时间 (已知): 8 ms。
- 平均旋转延迟:
- 转速 = 7200 转/分 =
7200 / 60 = 120
转/秒。 - 旋转一周时间 =
1 / 120 s = (1000 / 120) ms ≈ 8.33 ms
。 - 平均旋转延迟 = 旋转半周时间 =
8.33 ms / 2 ≈ 4.17 ms
。
- 转速 = 7200 转/分 =
- 传输时间:
- 传输一个扇区所需的时间 = (旋转一周时间) / (每磁道的扇区数)
- 传输时间 =
8.33 ms / 1000 = 0.00833 ms
。这个时间相对于寻道和旋转延迟非常小,可以忽略不计或计入。
- 计算总时间:
- 总时间 = 平均寻道时间 + 平均旋转延迟 + 传输时间
- 总时间 =
8 ms + 4.17 ms + 0.00833 ms ≈ 12.178 ms ≈ 12.2 ms
。
- 结论: 平均存取时间大约是12.2ms。
12. 【2019统考真题】下列关于磁盘存储器的叙述中,错误的是( C )。
题目原文
12. 【2019统考真题】下列关于磁盘存储器的叙述中,错误的是( )。
A. 磁盘的格式化容量比非格式化容量小
B. 扇区中包含数据、地址和校验等信息
C. 磁盘存储器的最小读/写单位为1字节
D. 磁盘存储器由磁盘控制器、磁盘驱动器和盘片组成
正确答案:C
题目解析
- 考点分析: 本题综合考察磁盘的基本概念。
- 错误选项分析 (C. 磁盘存储器的最小读/写单位为1字节):
- 这是错误的。磁盘是一种块设备,它进行数据读写的最小物理单位是扇区(Sector)。一个扇区通常是512字节或4KB。即使程序只需要读取1个字节,磁盘硬件也必须将该字节所在的整个扇区都读出来。
- 正确选项分析:
- A: 正确,格式化信息会占用空间。
- B: 正确,一个扇区除了数据区,还包含用于定位的头部(地址信息)和用于检错的尾部(校验信息)。
- D: 正确,这三部分共同构成了完整的磁盘存储器系统。
3.4 磁盘存储器与固态硬盘 知识体系与考法总结
这一小节是存储系统章节中关于辅助存储器的核心内容。重点在于理解机械硬盘(HDD)的物理结构、工作原理和性能计算,同时也要掌握新兴的固态硬盘(SSD)的基本特性及其与HDD的对比。这部分内容物理概念强,计算题模式固定,是考试的重点和得分点。
知识体系梳理
本节的知识体系可以围绕“机械硬盘(HDD)”和“固态硬盘(SSD)”两大主角展开。
一、 机械硬盘 (HDD - Hard Disk Drive)
-
物理结构 (CHS模型):
- 盘片 (Platter): 存储数据的圆形介质,双面可用。
- 磁头 (Head): 每个盘面对应一个磁头,用于读写数据。所有磁头被固定在同一个磁头臂上,同步移动。
- 磁道 (Track): 盘片上的同心圆,是数据的记录轨道。
- 柱面 (Cylinder): 所有盘片上半径相同的磁道共同构成一个虚拟的圆柱面。寻道操作是以柱面为单位的。
- 扇区 (Sector): 磁道被划分成的一小段圆弧,是磁盘读写的最小物理单位(通常512B或4KB)。
-
存取过程与时间计算 (高频考点):
- 总存取时间 = 寻道时间 + 旋转延迟时间 + 数据传输时间
- 寻道时间 (Seek Time): 磁头臂从当前磁道移动到目标磁道所需的时间。题目中通常会给出平均寻道时间。
- 旋转延迟时间 (Rotational Latency): 等待目标扇区的起始位置旋转到磁头下方所需的时间。
旋转一周时间 = 60 / 转速(RPM)
(单位:秒)- 平均旋转延迟 = (1/2) * 旋转一周时间。
- 数据传输时间 (Transfer Time): 磁头从目标扇区读出或写入数据所需的时间。
传输时间 = (要读写的字节数 / 一个磁道的总字节数) * 旋转一周时间
。
-
性能指标:
- 容量:
总容量 = 柱面数 * 磁头数 * 每磁道扇区数 * 每扇区字节数
。 - 数据传输率 (Bandwidth / Data Rate): 单位时间内可读写的数据量。
传输率 = (一个磁道的数据量) * (每秒转数)
每秒转数 = 转速(RPM) / 60
。
- 容量:
-
磁盘格式化:
- 目的: 在盘面上建立磁道和扇区结构,写入地址标识、同步信息和校验码。
- 影响: 格式化容量 < 非格式化容量,因为管理信息占用了空间。
二、 固态硬盘 (SSD - Solid State Drive)
-
基本原理:
- 基于NAND Flash Memory(闪存) 技术,是一种半导体存储器。
- 没有机械部件,通过电学方式读写数据。
-
核心特性 (与HDD对比是高频考点):
- 读写单位不对称 (重点):
- 读/写的最小单位是 页 (Page) (例如4KB)。
- 擦除 (Erase) 的最小单位是 块 (Block),一个块由多个页组成 (例如128个页)。
- 写操作限制: 只能向已被擦除的页写入。如果要修改页中数据,必须将整个块的数据读出到缓存,修改后,擦除整个块,再将新数据写回。这个过程称为读-擦-改-写,是SSD随机写性能较慢的根源。
- 性能优势:
- 随机存取速度极快: 没有寻道和旋转延迟,存取时间主要由电路延迟决定(微秒级),远快于HDD(毫秒级)。
- 抗震性好,功耗低,无噪音。
- 缺点:
- 写/擦寿命有限: 每个块的擦写次数是有限的。
- 写速度通常慢于读速度。
- 单位容量成本较高(虽然差距在缩小)。
- 读写单位不对称 (重点):
-
关键技术:
- 磨损均衡 (Wear Leveling): 主控芯片通过算法,将写操作均匀分布到所有闪存块上,避免某些块被过度使用而提前失效,从而延长SSD整体寿命。
- 垃圾回收 (Garbage Collection): 整理出含有无效数据(已被删除或更新)的块,将有效数据合并到新块中,然后擦除旧块,以备将来写入。
三、 磁盘阵列 (RAID)
- 目的: 提高性能和/或可靠性。
- 关键技术:
- 条带化 (Striping, RAID 0): 提高性能,数据并行读写到多盘。
- 镜像 (Mirroring, RAID 1): 提高可靠性,数据完全备份。
- 奇偶校验 (Parity, RAID 3/4/5/6): 提高可靠性,通过校验信息实现数据冗余。
常见考法与例题梳理
-
磁盘性能计算(必考)
- 考法: 给出磁盘的各项物理参数(转速、寻道时间、磁道扇区数等),要求计算平均存取时间或数据传输率。
- 例题07 & 08: 是计算数据传输率的典型题目。关键公式:
传输率 = 每磁道容量 * 每秒转数
。 - 例题09 & 11 (真题): 是计算平均存取时间的经典题目。关键公式:
总时间 = 寻道 + 旋转 + 传输
。必须牢记平均旋转延迟 = 0.5 * 转一圈的时间
。
-
SSD与HDD的特性对比(高频概念题)
- 考法: 以选择题形式,考察两者在读写单位、性能特点、适用场景上的差异。
- 例题05 & 06: 集中考察了SSD的读/写/擦除单位不对称(页/页/块)这一核心特性,以及其不能用作主存的定位。
-
磁盘基本概念辨析
- 考法: 考察对CHS寻址、格式化、最小读写单位、数据交换方式等基本概念的理解。
- 例题02: 考察了CHS寻址的组成(柱面、磁头、扇区)。
- 例题03 & 12 (真题): 反复强调了磁盘的最小读写单位是扇区,而不是字节。
-
RAID技术的功能
- 考法: 区分RAID中哪些技术是为了提高性能,哪些是为了提高可靠性。
- 例题01 & 10 (真题): 明确了条带化为性能,镜像和奇偶校验为可靠性。
刻意练习建议
-
磁盘参数计算专项训练:
- 这是本节最重要、最能拉开分数的题型,必须专项练习。
- 建立解题模板:
- 列出已知参数: 转速(RPM), T_seek, T_controller, N_sector/track, S_byte/sector, …
- 计算中间量:
转速(RPS) = RPM / 60
T_rotation = 1 / RPS
(秒)T_avg_latency = T_rotation / 2
Track_Capacity = N_sector * S_byte
- 根据问题计算最终结果:
T_access = T_seek + T_avg_latency + T_transfer
T_transfer = (Data_Size / Track_Capacity) * T_rotation
Bandwidth = Track_Capacity * RPS
- 找10道以上的计算题,严格按照此模板进行,特别注意单位换算(ms, µs, s; B, KB, MB)。
-
制作“HDD vs. SSD”对比表:
- 创建一个详细的表格,对比两者在存储介质、机械部件、读写单位、随机/顺序性能、功耗、价格、寿命、关键技术等方面的差异。
- 这张表能帮助你系统地掌握两者的优缺点和适用场景。
-
画磁盘结构示意图:
- 亲手画一个包含多个盘片、磁头臂、磁道、扇区的磁盘结构图。
- 在图上标注出柱面的含义(所有盘片上同一半径的磁道)。
- 模拟一次寻道(磁头臂移动)和旋转等待(盘片旋转)的过程,加深对物理操作的理解。
通过对这些核心概念的深入理解和针对性的刻意练习,你将能够牢固掌握磁盘和SSD的知识,并能准确、快速地解决相关的计算和分析问题。