想象一下:计算机开机时,您所在的区域断电。恢复电源后,您启动计算机只是发现Windows自动在硬盘驱动器上运行了autochk,并且表明磁盘上的扇区损坏。
这些坏扇区是什么?这是您的硬盘要咬灰尘的迹象吗?这些部门可以维修吗?在这两部分的文章中,我们对这些问题有更多答案。
第一部分将讨论问题的硬件方面,第二部分将涵盖软件,包括操作系统,制造商工具和
什么是扇区?
硬盘驱动器的术语起源于机械驱动器,我们的讨论受益于一些历史背景。
机械硬盘驱动器由一个或多个铝或玻璃和陶瓷镀层组成,这些镀层上涂有含钴的磁性材料,有时还涂有铂和镍。每一侧都有同心环,将在其中存储数据,称为磁道。所有盘子上的一堆轨道称为 cylinder 。最后,每个磁道都分为称为 sectors (扇区)的弧。
每个盘片的两侧都有一个相关联的读/写头,该读/写头连接到磁头堆栈组件(HSA)上,并跨过通过执行器机构的磁盘。当磁盘旋转时,会产生空气“气垫",使磁头从磁盘上浮出5至10纳米,因此理想情况下磁盘的磁性表面与读/写磁头之间没有接触。较旧的驱动器可能具有高达100纳米的浮动高度。可以想象它的规模,一张纸大约75,000纳米厚。
每个驱动器都有受限的系统区域轨道,这些轨道是用户无法访问的。驱动器控制器在此区域中存储有关驱动器的信息,包括在重新映射期间使用的坏扇区列表和备用扇区。某些驱动器在每个磁道的末尾可能还具有备用扇区。
驱动器上的每个扇区都是可单独寻址的,最初是通过在需要的位置引用圆柱,磁头和扇区(CHS)来完成的。数据已存储。在计算机中安装硬盘驱动器后,您需要更改BIOS设置,以使其知道驱动器上每个磁道的圆柱,磁头和扇区数。这些设置统称为驱动器几何形状。
后来,控制器已从连接到主板的附加卡移动到驱动器本身。允许的事情之一是将驱动器的逻辑几何转换为其他物理几何。变得重要的两个原因是,它提供了一种解决CHS寻址限制的方法,并允许分区位记录(ZBR)。
当查看驱动器布局图时,外部扇区驱动器的边缘比靠近主轴的边缘长。具有恒定的记录密度,这意味着驱动器的外边缘上有浪费的空间,这些空间根本没有用于存储任何数据。使用ZBR,磁道组将具有相同的布局,靠近外边缘的区域每个磁道具有更多扇区,因此在保持相同记录密度的同时,每个盘片的浪费空间更少,存储的数据更多。
为了使其与当时的BIOS设计配合使用,磁盘控制器需要将BIOS中输入的驱动器的逻辑几何图形转换为驱动器实际使用的物理几何图形。
On在当今的现代驱动器中,寻址是使用逻辑块寻址(LBA)完成的,它只是从零开始的第一个柱面,第一个磁头,第一个扇区,然后逐个扇区,逐个扇区地移动,从零开始,
即使当今的固态驱动器(SSD)的物理布局远不像这种情况,它们仍使用相同的接口和LBA寻址方案。
每个部门也有特定的布局。它包含一个前同步码,数据和一个纠错码(ECC)。
该前同步码包含磁盘控制器使用的信息,包括扇区之间的间隔,同步位和定时对齐以及地址标记(即扇区号,位置和状态)。
数据是存储在扇区中的用户数据。直到最近,大多数驱动器每个扇区存储512字节的数据。自2010年以来,大多数驱动器都是使用4096字节扇区大小的高级格式(AF)4K驱动器。某些操作系统(例如Windows Vista和7)需要特殊的驱动程序和通过Windows Update作为修补程序应用的更新工具,才能将这些驱动器作为启动设备来处理。此修补程序是Windows 7 Service Pack 1的一部分,许多AF驱动器随附驱动程序,以使其可在Windows XP上使用。
ECC是基于扇区中存储的数据的数学代码,由磁盘控制器使用来检测数据是否存在问题,并允许重建原始数据。可以校正的位数取决于用于生成ECC的特定算法,该算法因制造商而异,甚至同一家公司生产的驱动器之间甚至可能有所不同。
什么是坏扇区?>
坏扇区是无法可靠读取或写入的扇区。发生这种情况有两个原因。首先是对记录介质的物理损坏或导致无法纠正的读取错误的其他类型的问题,这些错误可能是制造缺陷,磁磨损,SSD的闪存单元可能已磨损或读/写磁头造成的
几乎可以保证所有驱动器出厂时都带有坏扇区。老用户可能还记得在制造商将驱动器上列出的不良扇区输入低级格式化工具之前,他们才能够使用操作系统的本机工具对驱动器进行分区和格式化。
低现在,在生产过程结束时,可以在工厂进行低级格式化和对不良或边缘区域的标记,因此用户不再需要为此担心。这些扇区的位置保存在驱动器上两个坏扇区列表的第一个列表中-P-LIST或主要缺陷列表。硬盘驱动器电子设备会自动忽略此列表中的扇区,并且它们不会降低驱动器访问的速度。
随着时间的流逝,其他扇区可能会开始出现问题。这可能是由于磁头碰撞,电磁磨损和其他问题所致。第二种错误通常称为软错误,因为至少在其初始阶段,可以使用CRC和ECC机制来纠正错误。
一旦这些扇区上的错误变得不可纠正或过于不稳定,它们就会被添加到G-LIST或增长的缺陷列表中。这些将自动重新映射到驱动器上的备用扇区。如果驱动器在同一磁道上有备用扇区,则将在重新映射到其他磁道上的扇区之前先使用它们。访问重新映射的扇区会降低驱动器的速度,并且随着G-LIST的增长,速度会继续下降。
如何将扇区标记为“坏"?
以帮助防止数据丢失,硬盘驱动器控制器会在其正常运行期间查找问题。实际上,磁盘控制器将在幕后进行大量工作,甚至永远不会让您的操作系统知道任何不良情况。
还记得每个扇区中的错误纠正代码吗?当驱动器读取扇区数据时,它将重新计算ECC并将其与存储在扇区中的ECC进行比较。如果不匹配,它将尝试使用ECC重建损坏的数据。如果错误量很小并且可以纠正,则它仅提供纠正后的数据并增加自监视,分析和报告技术(SMART)计数器195(硬件ECC纠正)。如果无法纠正错误,它将递增SMART计数器198(脱机不可纠正扇区计数)和计数器197(当前待处理扇区计数),直到尝试对该扇区进行写操作为止。直到尝试写入该扇区,以保留通过其他方法进行数据恢复的可能性。一旦尝试对坏扇区进行写操作,控制器将从备用池中分配新的空扇区以替换坏扇区,更新缺陷标志以指示该扇区已被重新分配,并且G-LIST已更新。如果最终读取数据的尝试失败,则原始扇区中的任何数据都可能丢失。这就是为什么在写入可疑的坏扇区之前必须进行任何高级恢复尝试的原因。
继续前进
现在,我们已经了解了一下要了解幕后发生的事情,您有足够的背景知识可以更好地了解操作系统和其他软件将如何使用它。
在第二部分中,我们将介绍由Windows Server 2003提供的工具。操作系统,硬盘驱动器制造商和第三方,可以用来帮助诊断和处理不良扇区。我们还将研究用于监视驱动器整体运行状况的工具。明智地使用这些工具,您将很容易看到不良扇区是否预示着即将发生的驱动器故障,或者是否更有可能留下您心爱的数据很多年。
标签: