Por que 200 (octal) é subtraído de bytes gravados em / read from disk?

1

Estou executando o Ubuntu 12.04 em uma placa-mãe P8P67 Deluxe Asus, com discos SATA de 3 x 1 TB + WD Caviar Green.

Quando eu corro:

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

onde X e Y são cada um dos três discos (incluindo X = Y), recebo corrupções como (várias execuções de 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

Qual é a causa subjacente desse padrão?

Outras informações: Eu recebi a devolução do cartão em 2011 devido a "problemas de degradação do SATA" e obtive a placa atual como substituta. A taxa de corrupção atual é de cerca de 1 byte corrompido a cada 1,5 GB, embora às vezes seja tão alta quanto 1 byte em 50 MB.

    
por KarlC 07.03.2014 / 23:05

1 resposta

1

Se você imprimir os endereços corrompidos em uma base binária, surgirá um padrão:

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

Não só é toda a corrupção no mesmo bit em um byte, é sempre em endereços do formulário ... 101001000100, ou seja, na mesma localização módulo 4096. Este tipo de padrão é um sinal de má memória (ônibus e os cabos não se prendem a corromper nem um pouco em 32768, e os erros de software quase nunca acontecem).

A memória RAM na placa-mãe é a mais provável culpada. Pode ser RAM em outro lugar, por exemplo, no controlador SATA. No entanto, a RAM da placa-mãe é a que mais amplia os limites da engenharia confiável e é, portanto, a mais propensa a falhas.

A RAM tende a falhar apenas para certos padrões de uso que o memtest86 + tenta emular, mas ocasionalmente não. Use uma versão recente de preferência, mas mesmo assim, às vezes, dá luz verde à memória que falha no uso real. Eu recomendo strongmente tentar com varas de memória RAM diferentes.

    
por 08.03.2014 / 16:20