一、磁盘存储器
磁盘以磁性材料为存储介质,容量大、成本低,可重复写入和删除,断电后仍能长期保存信息;读取是非破坏性的,无须再生。缺点是存取速度较慢、机械结构复杂,对工作环境要求较高。
1. 组成与磁记录原理
磁盘存储器由磁盘驱动器、磁盘控制器和盘片组成。
- 磁盘驱动器: 驱动磁盘旋转,通过磁头在盘面上读写。
- 磁盘控制器: 连接主机与驱动器,接收并解析 CPU 命令,向驱动器发送控制信号,监控其运行状态。
| 概念 | 含义 |
|---|---|
| 记录面(盘面) | 用于记录数据的盘片表面,每个磁头负责一个记录面的读写。 |
| 磁道 | 盘面上的同心圆形记录区域。 |
| 扇区 | 每条磁道划分出的记录区域,是磁盘读写的最小单位。 |
| 柱面 | 所有记录面上同编号、相同半径的磁道组成的集合。 |
记录面数=磁头数;柱面数=每个记录面的磁道数。
相邻磁道和扇区之间有间隙,以防止读写错误。按教材中各磁道扇区数相同的模型,扇区按固定圆心角划分,越靠近内圈,记录密度越大,整盘存储能力受最内圈最大记录密度限制。
磁记录原理: 磁头与磁性记录介质相对运动时,通过电磁转换完成读写;按一定规则将二进制数据序列编码为磁化翻转状态序列。
磁盘高速缓存(Disk Cache): 在内存中开辟空间,暂存待写入磁盘的数据,以“簇”(若干连续扇区)为单位集中写入,减少频繁的小块写入;缓存中的数据再次被使用时,可直接从缓存读取。
2. 记录密度与容量
| 指标 | 含义 |
|---|---|
| 道密度 | 沿盘面半径方向,单位长度内的磁道数。 |
| 位密度 | 一条磁道单位长度内可记录的二进制位数。 |
| 面密度 | 道密度与位密度的乘积,反映单位面积的存储能力。 |
磁盘容量分为非格式化容量和格式化容量:
- 非格式化容量: 磁记录表面可利用的磁化单元总数。
- 格式化容量: 按特定格式组织后,实际可用于存储数据的容量。
非格式化容量大于格式化容量,因为格式化需要预留扇区间隙、同步字段等开销。做容量题时,用有效记录面数,不能直接用盘片数。
3. 响应时间、存取时间与传输率
一次磁盘请求包含排队、控制器处理和三个关键物理操作:寻道 → 旋转等待 → 数据传输。
从磁头定位开始到数据传输完成所需的时间,称为存取时间:
| 时间 | 含义与计算要点 |
|---|---|
| 寻道时间 | 磁头移动到目标磁道所需时间;教材中平均寻道时间通常取最大寻道时间的一半。 |
| 旋转等待时间 | 目标扇区旋转到磁头下方所需时间;平均等待时间为旋转半圈的时间。 |
| 数据传输时间 | 读取或写入数据所需时间,取决于磁盘转速和数据量。 |
设转速为 转/秒,每条磁道容量为 字节,则最大数据传输率为:
平均旋转等待时间为 秒;在同道连续传输、忽略额外开销的模型下,传输 字节所需时间为 秒。
若转速给的是 RPM(转/分钟),先除以 60,换成转/秒。 平均旋转等待为半圈,不代表每次都固定等待半圈。
例: 平均寻道时间为 8 ms,转速为 7200 RPM,每道 200 个扇区,连续读取同一道上的 10 个扇区:
中间值保留精度,最后统一取近似值。
4. 磁盘地址与工作过程
磁盘地址通常由三部分组成:
柱面(磁道)号 → 盘面(磁头)号 → 扇区号。
若有 个柱面、 个盘面,每道有 个扇区,则三个字段分别需要 、、 位。
例: 256 个柱面、16 个盘面,每道 16 个扇区,地址共需 位。
磁盘的主要操作有寻址、读盘和写盘,各有对应控制字。工作时先读取控制字,再执行相应操作;机械磁盘的读写串行进行。
5. 磁盘阵列(RAID)
RAID(独立冗余磁盘阵列)将多个独立物理磁盘组合为一个逻辑磁盘,通过交叉分割存储、并行访问及冗余机制,提高存储性能或可靠性。
| 级别 | 主要方式 |
|---|---|
| RAID 0 | 无冗余、无校验,数据块交替存放在不同磁盘上。 |
| RAID 1 | 镜像备份。 |
| RAID 2 | 用海明码纠错。 |
| RAID 3 | 位交叉奇偶校验。 |
| RAID 4 | 块交叉奇偶校验。 |
| RAID 5 | 分布式奇偶校验,无独立校验盘。 |
- RAID 0: 多盘并行读写可提高传输速度、扩大容量,但没有容错能力。
- RAID 1: 两盘同步读写,互为镜像;一盘故障时,可从另一盘读取完整数据,代价是有效容量减半。
- 镜像与校验: 镜像提高可靠性,校验机制提供容错能力。
RAID 不会提高单个磁盘的磁记录密度。
二、固态硬盘(SSD)
1. 组成、特点与操作单位
SSD 是基于闪存技术的非易失性存储设备,由闪存芯片和闪存翻译层组成。
- 闪存芯片: 保存数据,代替传统磁盘的机械存储部分。
- 闪存翻译层: 将 CPU 发出的逻辑块读写请求转换为物理闪存的读写控制信号,相当于承担磁盘控制器的角色。
一个闪存芯片包含多个块,每个块包含多个页。教材给出的常见页大小为 512 B~4 KB,每块包含 32~128 页。
重点:按页读写,按块擦除;先擦除,才能重新写入。
一个块被擦除后,其中所有页都可重新写入。块的擦写次数有限,反复擦写会造成磨损,最终失效。
相较机械磁盘,SSD 无机械运动部件,随机访问延迟低,并具有无噪声、无振动、功耗低和抗震性强等优势。
2. 随机写入为何较慢
按教材模型,修改已有有效数据的页时,主要开销有:
- 擦除耗时长: 擦除通常比访问慢一个数量级。
- 需要搬迁数据: 先将原块中的有效页复制到新的、已擦除的块,再写入修改后的页。
因此,修改一页可能牵涉整个块中的有效数据,不能直接像普通内存那样覆盖。
3. 磨损均衡(Wear Leveling)
闪存擦写寿命有限;若写入集中于少数物理块,这些块会提前磨损。磨损均衡将擦写负担分散到更多块,延长整体使用寿命。
| 类型 | 方法 |
|---|---|
| 动态磨损均衡 | 写入新数据时,优先选择擦写次数较少的空闲块,避免反复写入同一区域。 |
| 静态磨损均衡 | 即使没有新数据写入,也会迁移数据:将高磨损块中的有效数据移到低磨损块,让高磨损块更多承担只读数据,低磨损块承担更多写入。 |
磨损均衡只能延长使用寿命,不能消除闪存擦写次数有限的限制。