磁盘存储器详解
分类知识点描述存储单位最小读写为扇区(通常512B)实际硬件按字节交互,通过串并转换适配性能瓶颈寻道时间 + 旋转延迟占据读写主要延迟,SSD无此瓶颈编址方式柱面号 → 盘面号 → 扇区号多级定位以精确寻址扇区RAID比较0强性能、1强可靠、5平衡综合性能、安全与成本考虑,企业常用RAID 5指磁盘在出厂时,盘面上所能存储的全部比特数理论最大容量,不考虑任何实际使用的结构开销。指磁盘经过“格式化”
磁盘存储器是计算机外存储系统的核心组件,其性能与稳定性对系统运行效率具有关键影响。
一、磁盘存储的基本原理
1. 磁表面存储与读写机制
- 写入过程:磁头作为电磁铁,在磁性盘片上施加不同方向电流,改变磁化方向表示0/1。
- 读取过程:盘片旋转时,磁场变化通过感应线圈产生电流方向变化,实现比特读取。
注意:磁盘读写以比特(bit)为最小单位,主机数据传输通常是字节(byte)为单位,需通过串/并转换电路进行协调。
2. 优缺点对比
| 优点 | 缺点 |
|---|---|
| 存储容量大,单位成本低 | 机械运动复杂,速度慢,易受外部磁场干扰 |
| 可重复使用,非破坏性读出 | 不能同时读写,读写单位为比特 |
| 可长期保存、离线携带(如移动硬盘) | 相比SSD,响应速度差 |
二、磁盘结构与组成
1. 物理组成
-
磁盘驱动器(机械结构):
- 多个盘片(有磁性涂层)
- 马达驱动旋转 + 磁头臂移动(控制寻道)
-
磁盘控制器(电子部分):
- 控制信号处理
- 串并转换、错误检测、协议转换(如IDE、SATA)
2. 存储层级划分
| 概念 | 描述 |
|---|---|
| 磁道(Track) | 磁盘表面同心圆,一圈为一磁道 |
| 柱面(Cylinder) | 不同盘面上相同编号磁道的集合(磁头不动,盘面上下多个磁头同时对准) |
| 扇区(Sector) | 磁道切分为若干块,通常每扇区为512字节,是最小读写单位 |
| 磁头(Head) | 每个盘面对应一个磁头,多个磁头组装在磁头臂上 |
三、磁盘性能指标分析
1. 容量
- 非格式化容量:理论最大比特数(未考虑系统开销)
- 格式化容量:实际可用空间,扣除坏道、ECC、文件系统预留等部分
2. 记录密度
| 指标 | 定义 |
|---|---|
| 道密度 | 每厘米径向的磁道数(如60道/cm) |
| 位密度 | 每厘米磁道可记录的比特数(如600bit/cm) |
| 面密度 | 道密度 × 位密度,决定盘面总容量 |
3. 平均存取时间(经典考点)
由三部分组成:
-
寻道时间(Seek Time):磁头移动至目标柱面
-
旋转延迟(Rotational Latency):目标扇区转至磁头下方,取半圈时间
tlatency=12×转速(r/s) t_{latency} = \frac{1}{2 \times \text{转速(r/s)}} tlatency=2×转速(r/s)1
-
传输时间(Transfer Time):读写扇区数据所需时间
ttransfer=扇区字节数转速×每圈字节数 t_{transfer} = \frac{\text{扇区字节数}}{\text{转速} \times \text{每圈字节数}} ttransfer=转速×每圈字节数扇区字节数
-
总时间:
ttotal=tseek+tlatency+ttransfer t_{total} = t_{seek} + t_{latency} + t_{transfer} ttotal=tseek+tlatency+ttransfer
4. 数据传输率
-
定义:单位时间内可传输的字节数
-
计算:
数据传输率=转速(r/s)×每圈字节数 \text{数据传输率} = \text{转速(r/s)} \times \text{每圈字节数} 数据传输率=转速(r/s)×每圈字节数
四、磁盘编址与工作流程
1. 地址结构
一般采用分段式编码(多位地址字段):
- 驱动器号(选定物理硬盘)
- 柱面号(确定磁头移动位置)
- 盘面号(选定磁头/盘面)
- 扇区号(磁道中的具体扇区)
示例:18位地址 = 2位驱动器号 + 8位柱面号 + 4位盘面号 + 4位扇区号
2. 工作流程
- 主机发出控制字至磁盘控制器;
- 控制器解析地址 → 磁头移动至目标磁道 → 盘片旋转到目标扇区;
- 进行串并转换并完成读/写操作;
- 读取数据返回主机或写入数据到盘片。
五、磁盘阵列(RAID)机制详解
RAID(Redundant Array of Independent Disks)通过多块磁盘联合使用,提升存储系统的性能和容错能力。
1. RAID核心理念
- 数据分块、条带化存储
- 引入冗余信息(镜像/校验码)
- 提升并发读写速度
- 增强磁盘故障恢复能力
2. 常见RAID级别对比
| RAID | 结构说明 | 优点 | 缺点 |
|---|---|---|---|
| RAID 0 | 数据条带分布存储(无冗余) | 速度快 | 无容错能力,故障即数据丢失 |
| RAID1 | 镜像存储,双盘保存相同数据 | 容错强,可读写并发 | 空间利用率低(50%) |
| RAID2 | 海明码纠错 | 可自动校验和纠错 | 成本较高,使用少 |
| RAID5 | 数据 + 分布式奇偶校验 | 读写平衡好,支持单盘恢复 | 写性能略低,校验略复杂 |
3. 应用场景推荐
| 应用场景 | 推荐RAID级别 |
|---|---|
| 视频编辑、高性能读取 | RAID 0 |
| 企业数据备份、云存储 | RAID 1 / RAID 5 |
六、总结与对比
| 分类 | 知识点 | 描述 |
|---|---|---|
| 存储单位 | 最小读写为扇区(通常512B) | 实际硬件按字节交互,通过串并转换适配 |
| 性能瓶颈 | 寻道时间 + 旋转延迟 | 占据读写主要延迟,SSD无此瓶颈 |
| 编址方式 | 柱面号 → 盘面号 → 扇区号 | 多级定位以精确寻址扇区 |
| RAID比较 | 0强性能、1强可靠、5平衡 | 综合性能、安全与成本考虑,企业常用RAID 5 |
补充:对“非格式化容量”和“格式化容量”的详细解释
一、非格式化容量(Unformatted Capacity)
定义:
指磁盘在出厂时,盘面上所能存储的全部比特数,理论最大容量,不考虑任何实际使用的结构开销。
举个例子:
比如你有一个盘片,表面可以涂满磁性材料,并且磁头在最小间距下,可以精确写入 1000 个磁道,每个磁道可以存储 10000 比特,那:
- 非格式化容量 = 1000 × 10000 = 10,000,000 比特 ≈ 1.25MB
这是在理想物理条件下,该盘面能存的最大比特数。
二、格式化容量(Formatted Capacity)
定义:
指磁盘经过“格式化”处理后,实际可供操作系统/用户使用的数据存储容量,实际有效容量。
为什么会变少?
因为磁盘在投入使用前需要逻辑结构划分和控制信息,包括:
| 占用项 | 举例说明 |
|---|---|
| 控制信息 | 每个扇区需包含扇区编号、同步位、CRC校验等 |
| 文件系统结构 | FAT、NTFS、EXT4 等需要空间存放文件表、分区表 |
| 坏扇区替代区 | 厂商预留部分扇区用于顶替损坏区域(spare sector) |
| 对齐填充 | 为满足性能对齐要求,磁道/扇区之间可能插入空白位 |
| 引导扇区(MBR) | 通常前几个扇区存放启动代码和分区表信息 |
举个例子:
还是刚才那张磁盘:
- 实际上每个磁道需要划分扇区,每个扇区里要加控制头、校验码
- 系统保留部分扇区用于文件系统管理
- 有些区域是坏道,无法使用,需要预留冗余空间
最终:
- 格式化容量 ≈ 非格式化容量 × 80%~95%(视具体厂商/结构而定)
通俗类比:
| 类比场景 | 非格式化容量 | 格式化容量 |
|---|---|---|
| 空笔记本 | 全部白纸页数(你能写多少字不考虑格式) | 实际能写字的区域(除去页码、行号、空边) |
| 商品包装盒 | 盒子的总体积 | 去掉泡沫填充、说明书后的可用空间 |
| 电脑硬盘标注 vs 实际 | 标签写“1TB”,但在电脑中显示“931GB” | 这就是格式化开销导致的差异(约7%~10%损耗) |
总结对比
| 比较维度 | 非格式化容量 | 格式化容量 |
|---|---|---|
| 是否可用 | 仅理论存在 | 实际可存放用户数据 |
| 是否包含开销 | 不含控制/校验/逻辑结构开销 | 包含控制信息、冗余区、文件系统等 |
| 容量数值 | 较大 | 较小,通常为其 80%~95% |
| 是否显示在系统 | 否 | 是,系统显示的是格式化容量 |
补充实例说明:你硬盘买的是 1TB,为啥只显示 931GB?
1TB = 1000 × 1000 × 1000 = 1012 字节(厂商按 1000 为单位)
而操作系统认为:
1GB = 1024 × 1024 × 1024 = 230 字节
所以:
1 TB230≈931 GB \frac{1\,TB}{2^{30}} \approx 931\,GB 2301TB≈931GB
再加上格式化损耗、系统文件开销,所以实际显示会比你买的“名义容量”要少。
更多推荐


所有评论(0)