机械硬盘如何工作

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

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

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

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

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

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

如何协调工作?

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

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

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

相关推荐
xmtxz2 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
YM52e3 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
aXin_ya4 小时前
Ai Vibecoding学习(各个AI的讲解)
学习
fanged4 小时前
Linux内核学习16--I2C子系统(TODO)
学习
.千余4 小时前
【C++】C++继承入门(下):友元、静态成员与菱形继承的底层逻辑
开发语言·c++·笔记·学习·其他
YJlio5 小时前
《Sysinternals实战指南》16.5 Ctrl2Cap 工具详解:把 Caps Lock 变成 Ctrl 的键盘改造与回退方法
linux·运维·服务器·网络·python·学习·计算机外设
菜鸟‍6 小时前
【论文学习】Segment Anything 分割一切
深度学习·学习·计算机视觉
殇淋狱陌7 小时前
Python列表知识思维导图
开发语言·python·学习
fox_lht7 小时前
第十五章 函数式语言:迭代器和闭包
开发语言·后端·学习·算法·rust
2301_775602387 小时前
食品安全法
学习