Primeiro, lembre-se de que SMART dizendo que sua unidade está saudável não significa necessariamente que a unidade está íntegra. Os relatórios SMART são um auxílio , não uma verdade absoluta.
Se tudo o que você está interessado é o que fazer, e não o porquê, sinta-se à vontade para rolar até os últimos parágrafos; no entanto, o texto provisório lhe dirá por que penso que o que proponho é o curso de ação correto e como derivar isso do que você postou.
Com isso dito, vamos ver o que um desses erros está nos dizendo.
[ 1670.547805] ata3.00: exception Emask 0x50 SAct 0x7f SErr 0x280900 action 0x6 frozen
[ 1670.547812] ata3.00: irq_stat 0x08000000, interface fatal error
[ 1670.547820] ata3: SError: { UnrecovData HostInt 10B8B BadCRC }
[ 1670.547826] ata3.00: failed command: READ FPDMA QUEUED
[ 1670.547839] ata3.00: cmd 60/80:00:00:1f:2e/01:00:0c:00:00/40 tag 0 ncq 196608 in
res 40/00:2c:00:26:2e/00:00:0c:00:00/40 Emask 0x50 (ATA bus error)
[ 1670.547846] ata3.00: status: { DRDY }
[ 1670.547852] ata3.00: failed command: READ FPDMA QUEUED
(Eu espero que eu tenha as partes que devem ir juntas, mas você estava recebendo um pacote desses então deve estar bem de qualquer forma.)
O Linux ata Wiki tem uma página explicando como ler esses erros . Particularmente,
- Um valor
status
deDRDY
significa "Dispositivo pronto. Normalmente 1, quando tudo estiver OK". Ver um valor de status deDRDY
é perfeitamente normal e esperado. -
SError
tem vários valores de componentes, dos quais você está vendo (neste snippet específico):-
UnrecovData
"Ocorreu um erro de integridade de dados, a interface não recuperou" -
HostInt
"Erro interno do adaptador de barramento de host" -
10B8B
"Ocorreu um erro de decodificação de 10b a 8b" -
BadCRC
"Ocorreu um erro de CRC na camada de link"
-
A codificação 10b8b, que codifica 8 bits como 10 bits para auxiliar na sincronização de sinais e na detecção de erros, é usada no cabeamento físico, não necessariamente no próprio drive. A unidade provavelmente usa outras formas de codificação FEC ou ECC, e um erro normalmente seria exibido como uma forma de erro de E / S, provavelmente com um valor error
de UNC
("erro incorrigível - geralmente devido a problemas setores no disco "), provavelmente com" erro de mídia "(" software detectou um erro de mídia ") entre parênteses no final da linha res
. Este último não é o que você está vendo, então, embora não possamos descartá-lo completamente, parece improvável.
A "camada de link" são os cabos físicos e os traços da placa de circuito entre o controlador da própria unidade e o chip da interface da unidade de disco (provavelmente parte do southbridge na placa-mãe do seu computador, mas pode estar localizado em um HBA não integrado).
Um adaptador de barramento de host, também conhecido como HBA, é o circuito que se conecta ao equipamento de armazenamento. Também coloquialmente conhecido como "controlador de disco", um termo que é um pouco inapropriado para os sistemas modernos. A parte mais visível do HBA é geralmente as portas de conexão, na maioria das vezes nos dias de hoje ou SATA ou algum fator de forma SAS.
Os sinalizadores UnrecovData
e HostInt
basicamente nos dizem que "algo deu muito errado, e não havia como recuperar ou nenhuma tentativa de recuperação foi feita". O oposto seria provavelmente RecovData
, o que indica que ocorreu um "erro de integridade de dados, mas a interface foi recuperada". (Como um aparte, eu provavelmente teria usado HBAInt
em vez de HostInt
, já que o "host" refere-se ao HBA, não ao sistema inteiro.)
A combinação de 10B8B
e BadCRC
, que apontam para a camada de link físico, me faz suspeitar de um problema de cabeamento.
Essa suspeita também é apoiada pelo fato de que os autotestes SMART, que são completamente internos ao inversor, exceto os relatórios de status, não encontram nenhum erro que o fabricante considere sério o suficiente para justificar a geração de relatórios nos resultados. Se a unidade estava tendo problemas para armazenar ou ler dados, o longo autoteste SMART em particular deveria ter relatado isso.
TL; DR:
A primeira coisa que eu faria seria simplesmente desconectar e reconectar o cabo SATA em ambas as extremidades; ele pode estar um pouco solto, fazendo com que ele perca contato elétrico intermitentemente. Veja se isso resolve o problema. Pode até valer a pena fazer isso em todos os cabos SATA do seu computador, não apenas no disco afetado. Se você estiver usando um HBA off-board, também removerei e reposicionarei esse cartão, principalmente porque é uma coisa fácil de tentar enquanto você já está mexendo com o cabeamento.
Se isso falhar, experimente jogar fora e substituir o cabo SATA, de preferência com um cabo de alta qualidade. Um cabo de alta qualidade será um pouco mais caro, mas acho que geralmente vale a pena pequena despesa extra se ajuda a evitar dores de cabeça como esta. Ninguém gosta de ver seus erros de spewing de armazenamento!