Causa da corrupção de dados do disco?

5

Eu tive nas últimas semanas vários casos de corrupção de dados que ocorreram durante a cópia de arquivos de um disco para outro. A pergunta é: qual pode ser a causa e como identificá-la?

Algumas dicas:

  • problemas (9 casos) ocorreram em duas máquinas diferentes (uma AMD 5050e com ECC RAM, a outra algum netbook), ambas rodando o Win7x64 SP1 sem travamentos ou outros problemas aparentes;
  • ocorreram problemas ao copiar uma grande quantidade de dados (total de cerca de 3 TB) de um disco para outro;
  • a cópia estava com a GUI padrão (Windows Explorer) que não relatou nenhum erro;
  • arquivo original e cópia têm o mesmo tamanho e data de modificação;
  • corrupção de dados foi detectada usando o hash MD5 ( md5sum ou / e o FCIV ) da Microsoft, que estava errado no cópia (o MD5 do original e da cópia é repetível);
  • fc /B relata repetidamente as diferenças , que sempre estiveram em blocos contíguos com exatamente 4 kiB de limite (10 casos: um arquivo foi atingido duas vezes);
  • os blocos com erro são de tamanhos variados, de 4 kiB a 52 kiB, em locais aparentemente aleatórios, em arquivos grandes (normalmente alguns GB);
  • blocos corrompidos não mostram relação aparente com o original; em cerca de metade dos casos, os dados corrompidos eram todos zero;
  • todos os discos envolvidos são NTFS e recebem um atestado de integridade por chkdsk /f (nenhum bloqueio incorreto, nenhum erro relatado);
  • os dois discos de destino afetados são USB (o HD é do mesmo fabricante, mas não posso dizer que isso seja significativo)
    • um é um 2,5 "2 TB alojado em um compartimento USB 3 (Super-Speed, usado em alta velocidade) com a marca do fabricante HD;
    • um é de 3,5 "1,5 TB em um compartimento multimídia baseado em Linux (PCH A-200) com porta secundária USB 2 (Hi-Speed);
  • em mais da metade dos casos, a corrupção foi detectada como uma hora após a cópia, sem desconexão ou reinicialização; na maioria ou em todos os outros, os discos de destino foram corretamente ejetados;
  • Não tenho motivos para suspeitar de vários discos de origem (principalmente SATA, alguns SSD).

Além disso, estou realmente preocupado em encontrar a causa raiz e identificar o (s) culpado (s), mais do que trabalhando em torno do problema.

Eu raciocino que todas as tecnologias envolvidas devem ter uma taxa muito baixa de erros não detectados em comparação com os relatados (e eu não tenho nenhum relatório de erro). Portanto,

  • se o gatilho de erro for o meio magnético (uma hipótese que combina muito bem com o alinhamento 4kiB observado, que acredito que corresponda ao tamanho do setor físico interno dos discos), ele dobra com um erro desastroso em algum lugar impedindo que o erro seja relatado , como seria (eu sei por experiência) em um pelo menos um erro de leitura em um disco SATA da minha (favorita) marca favorita;
  • se o gatilho de erro for um contato elétrico ruim do cabeamento USB e não for detectado pelo CRC (como sugerido por uma resposta); e dado que o tamanho máximo do pacote de dados USB 2 é 1kiB de acordo com esta fonte , não 4kiB como o alinhamento de todos meus erros; deve haver algum bug adicional no tratamento de erros (ou um buraco nas especificações do USB ou como eles manipulam discos rígidos).
por fgrieu 08.01.2014 / 21:51

2 respostas

2

Eu tenho exatamente o mesmo problema e posso achar que isso está relacionado ao USB 3. Eu tenho o problema em dois discos diferentes quando usando USB 3. Ao usar a conexão eSata (ambos os discos têm USB 3 + eSata), não tenho nenhum problema. Eu estou usando o Windows 7. Eu tenho o problema com dois antivírus diferentes (McAffee e Essentials). Agora eu evito usar a porta USB 3 no meu laptop. Como os dois discos vêm do mesmo fabricante, eu tenho o mesmo cabo USB 3 e não pude testar com outro cabo. Mas eu ficaria surpreso se os cabos USB não fossem bons.

    
por 25.08.2014 / 11:04
1

differences, that always have been on contiguous blocks with exactly 4 kiB boundary… blocks in error are of varying size, from 4 kiB to 52 kiB, at seemingly random location, in large files

Como as unidades gravam em blocos, normalmente você verá exatamente o tipo de erros de tamanho de bloco que você vê com erros de conexão, em vez de erros de unidade.

Eu ia perguntar se a unidade é um disco flash (que eu tive a infelicidade de experimentar uma corrupção silenciosa e não detectada), mas então vi isso:

the two affected destinations disks are USB

Essa é outra fonte de corrupção que eu infelizmente experimentei. O problema é que uma unidade USB passa por um cabo, portanto, pode haver problemas com a conexão elétrica, o que pode levar à corrupção. Sempre que você tiver esse tipo de problema, a primeira coisa a fazer é limpar os pinos dos conectores da unidade, do cabo e da porta USB. Você pode tentar respirar com um pouco de ar úmido de seus pulmões porque a umidade ajuda a condutividade. Se isso parece ter algum efeito, então você pode escovar os pinos com uma escova de dentes ou algo assim (eu costumo usar uma placa de esmeril para esfregá-los levemente).

    
por 08.01.2014 / 22:01