为什么要从写入/读取磁盘的字节中减去 200 (八进制)?

为什么要从写入/读取磁盘的字节中减去 200 (八进制)?

我在 P8P67 Deluxe Asus 主板上运行 Ubuntu 12.04,配备 3 x 1TB+ WD Caviar Green SATA 磁盘。

当我跑步时:

cp /media/X/ubuntu.iso /media/Y/ubuntu.iso
cmp -l /media/X/ubuntu.iso /media/Y/ubuntu.iso

其中 X 和 Y 分别是三个磁盘中的一个(包括 X=Y),我得到了如下损坏(多次运行 cmp):

279222903 212  12
 80534135 270  70
689056375 356 156
704375415 221  21
 77208183 302 102
 18418295 305 105
524483191 315 115
120892023 322 122
638548599  25 225
638548599 225  25

这种模式的根本原因是什么?

其他信息:2011 年,我因为“SATA 性能下降问题”而将主板退回,并更换了当前主板。当前损坏率约为每 1.5 GB 损坏 1 个字节,但有时高达每 50 MB 损坏 1 个字节。

答案1

如果以二进制形式打印出损坏的地址,就会出现一种模式:

10a49a77
04ccda77
29122a77
29fbea77
049a1a77
01190a77
1f42fa77
0734aa77
260f7a77
260f7a77

不仅所有损坏都发生在字节的同一位上,而且总是发生在形式为 ...101001000100 的地址上,即,在模 4096 的相同位置上。这种模式是内存故障的明显迹象(总线和电缆不会坚持损坏 32768 中的一位,软件错误也几乎不会这样做)。

主板上的 RAM 最有可能是罪魁祸首。也可能是其他地方的 RAM,例如 SATA 控制器中的 RAM。然而,主板 RAM 是最超出可靠性工程范围的 RAM,因此最容易发生故障。

RAM 往往只会在某些使用模式下失效,memtest86+ 会尝试模拟这种模式,但偶尔不会。最好使用较新的版本,但即便如此,有时也会对实际使用中失效的内存亮绿灯。我强烈建议尝试使用不同的 RAM 条。

相关内容