机械硬盘有三个核心组件:盘片,磁头和磁道。
盘片:存储数据的实际载体。表面涂有一层极薄的磁性材料,数据就是通过改变这些微小颗粒的磁极方向来记录0和1。一个磁盘中通常不止一张盘片,而是多层叠在一起。每张盘片的正反两面都可以存数据。
盘片由主轴电机带动,以恒定的速度高速旋转。
磁头:磁头负责读写盘片上的数据。由于盘片是双面的,所以磁头的数量通常为盘片数量*2。所有磁头都固定在机械臂上。
磁道:磁道是无数个独立的同心圆,从最外圈开始向圆心编号,最外圈是0磁道。
扇区:一个磁道太长了,如果不切分很难管理。每个磁道被切分为多个小段,每一段叫一个扇区。扇区是硬盘读写的最小物理单位。扇区是硬盘读写的最小物理单位,读写一个磁盘块,本质上就是读写几个连续的扇区。
如何协调工作?
当CPU命令硬盘读取某个文件时,硬盘需要做两个动作,这两个动作决定了硬盘I/O的慢:
第一步:寻道。磁头原本停在内圈,现在数据在外圈。机械臂必须摆动,把磁头移动到指定的磁道上方。耗时大约3到10ms,这是最慢的一步。
第二步:旋转延迟。磁头已经到位,但是磁头只能原地不动,等盘片旋转,把那个扇区到磁头底下才能读取数据,这是另一个瓶颈,大约平均耗时4ms。