机械硬盘如何工作

机械硬盘有三个核心组件:盘片,磁头和磁道。

盘片:存储数据的实际载体。表面涂有一层极薄的磁性材料,数据就是通过改变这些微小颗粒的磁极方向来记录0和1。一个磁盘中通常不止一张盘片,而是多层叠在一起。每张盘片的正反两面都可以存数据。

盘片由主轴电机带动,以恒定的速度高速旋转。

磁头:磁头负责读写盘片上的数据。由于盘片是双面的,所以磁头的数量通常为盘片数量*2。所有磁头都固定在机械臂上。

磁道:磁道是无数个独立的同心圆,从最外圈开始向圆心编号,最外圈是0磁道。

扇区:一个磁道太长了,如果不切分很难管理。每个磁道被切分为多个小段,每一段叫一个扇区。扇区是硬盘读写的最小物理单位。扇区是硬盘读写的最小物理单位,读写一个磁盘块,本质上就是读写几个连续的扇区。

如何协调工作?

当CPU命令硬盘读取某个文件时,硬盘需要做两个动作,这两个动作决定了硬盘I/O的慢:

第一步:寻道。磁头原本停在内圈,现在数据在外圈。机械臂必须摆动,把磁头移动到指定的磁道上方。耗时大约3到10ms,这是最慢的一步。

第二步:旋转延迟。磁头已经到位,但是磁头只能原地不动,等盘片旋转,把那个扇区到磁头底下才能读取数据,这是另一个瓶颈,大约平均耗时4ms。

相关推荐
wdfk_prog3 分钟前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
编程小白20262 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要2 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
深蓝海拓3 小时前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
酒鼎3 小时前
学习笔记(3)HTML5新特性(第2章)
笔记·学习·html5
L***一3 小时前
2026届大专跨境电商专业毕业生就业能力提升路径探析
学习
.小墨迹3 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
ZH15455891313 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
Gain_chance3 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip