几年前的一些具有里程碑意义的研究现在表明,大型数据集中的无声损坏比以前预期的要广泛得多(今天我猜你会说它比普遍意识到的要多)。
假设应用程序和操作系统编写了一个扇区并且有时间让所有内容刷新,没有崩溃或异常关闭,也没有会命令保存错误数据的软件错误。
稍后,一个扇区被读回,并且没有从 HDD 读取错误。但它包含错误的数据。
由于 HDD 数据编码包含纠错码,我认为任何神秘的状态更改通常都会被检查注意到。即使检查不是很严格,因此会出现一些错误,但仍然会检测到更多的错误,这些错误会告诉您驱动器有问题。但这并没有发生:显然,数据被发现是错误的,没有任何症状。
怎么会这样?
我在台式机上的经验是,有时曾经好的文件后来发现是坏的,但这可能是由于在写入过程中没有注意到的问题,无论是移动扇区还是文件系统跟踪数据。关键是,在写入时可能会引入错误,其中数据在 HDD(或 RAID 硬件)内部被损坏,因此错误的数据被写入与其纠错码匹配。如果这是(唯一的)原因,那么一次验证应该足以表明它确实写得很好。
或者,数据在磁盘上显示正常后是否会变坏?即验证一次,一切正常;稍后验证并发现错误,此时该扇区尚未在中间写入。我认为这就是意思,因为通过改进的刷新检查可以很容易地处理写入时错误。
那么,如何在不触发数据附带的纠错码的情况下发生这种情况呢?