替换的硬盘扇区来自哪里?

替换的硬盘扇区来自哪里?

如果我理解正确的话,现代硬盘负责检测和避免坏扇区。写入扇区后,会立即读回以确保扇区良好,如果扇区不良,则将物理扇区标记为坏扇区,并将数据写入其他位置,从而改变虚拟扇区与其物理扇区之间的映射。

这一切都说得通,除了一件事:这些额外的扇区是从哪里来的?物理扇区是不是比虚拟扇区多?这是对我来说唯一说得通的事情。否则,dd if=/dev/urandom of=/dev/sda一旦不可避免地碰到坏扇区,像这样的命令最终就会失败,即使在最好和最新的驱动器上,坏扇区也肯定会存在。

此外,运行上述命令后,据硬盘所知,其上的每个虚拟扇区都已使用。然而,软件端的写入错误并没有突然增加,就像您预期的那样,如果硬盘没有空间重新映射坏扇区。因此,硬盘必须有其他地方来映射它发现的任何新坏扇区,即使据硬盘所知,整个虚拟地址空间都已使用。

假设物理扇区比虚拟扇区多,您如何确定有多少个额外扇区以及还剩下多少个?这样,当额外扇区供应不足时,我就可以收到某种警告,以便在硬盘损坏之前更换它。

编辑:事实证明我并没有完全理解情况。当使用纠错码时,每次写入操作后都不需要读取。不过,这让我很疑惑:每次必须使用 ECC 来从写入扇区的错误中恢复时,扇区是否都会被标记为坏扇区并重新映射?

答案1

这些额外的扇区是从哪里来的呢?

现代磁盘有一个备用扇区池,可以与损坏的扇区进行交换。

这被称为备用扇区池。

备用扇区池

所有现代硬盘驱动器都有一个备用扇区池。当硬盘在正常使用寿命期间出现坏扇区时,将使用备用扇区池中的好扇区“替换”任何新的坏扇区。此过程对用户是不可见的,并且可能永远不会知道发生了什么变化。

来源坏扇区重新映射


我怎样才能得到某种警告以便在硬盘损坏之前更换它?

使用智能监控软件。

请参阅以下问题以了解更多信息:

相关内容