假设我的硬盘正在运行。突然断电,当时硬盘磁头位于某个扇区顶部,试图读取大量数据(接下来的 2 秒内忙于移动)。现在假设在此瞬间之后,我打开硬盘并观察磁头的位置。磁头是位于某个扇区顶部还是处于空闲位置。(它是否有一些小型备用电源将其返回到空闲位置)。如果磁头位置不是在初始空闲位置上,是否存在需要处理的问题,或者根本不重要?在某个时刻,系统必须知道头部在哪里,才能进行下一步动作。
答案1
通常,现代硬盘驱动器都具有一种机制,可以在断电时自动将磁头停在旋转的盘片上,使其完全脱离旋转的盘片。您会听到点击当这种情况发生时从内部。
如果您正在查看驱动器的 SMART 统计数据,则会有一个标记为“断电缩回计数”或“紧急缩回计数”的计数器告诉您这种情况发生的频率。
我不确定具体机制是什么是;另一个帖子说是由静止旋转的盘片的惯性提供动力。我个人认为要么是弹簧,要么是磁性的东西。
(较旧几十年前的磁盘显然曾经有一个着陆区在盘片上,如果操作系统没有机会停放它们,它们很可能会将磁头留在原处。)
在某个时刻,系统必须知道头部在哪里,才能做出下一步动作。
这是一个不同的问题,有其自己的解决方案。
一种可能的方式是通过自动停放来重置磁头位置,如上所述。自动停放主要是为了保护磁盘免受物理损坏(以防磁头在运输过程中撞到盘片),但它也是一种返回已知位置的方法,尽管不太精确。
一些旧的软盘驱动器使用略有不同的方法,它们试图移动磁头尽可能往前追溯,然后再追溯一些– 例如,80 轨驱动器总是试图将磁头向后移动整整 80 个轨道,即使这会导致磁头撞向墙壁 80 次(这可以听成一个简短的嗚汪每次开机时都会产生噪音)。
最后,另一种方法是表示头部的确切位置,例如伺服轨道可以直接由磁头读取,以了解它们在磁盘上的位置(线性和旋转),或者编码器在更简单的情况下。
我思考现代 HDD 使用“伺服轨道”来实现此目的;尽管它们具有自动磁头停放功能以确保物理安全,但它并不能提供足够的精度,尤其是在现代 HDD 的数据密度很高的情况下。