Como um setor é composto de alguns (512 ou 4096) bytes, parece natural considerar o termo 'bit ruim' em vez de 'setor ruim'. Mas o termo não é usado. Existem muitos softwares de verificação de erros de HDD que relatam um 'setor defeituoso' do setor, mas nenhum software que relata um pouco de 'mau bit'. Por que é tão ?
relate perguntas
-
Sistema que pode ler o disco rígido e gravar exclusivamente na RAM?
-
Devo substituir/atualizar meu disco rígido após 5 anos?
-
Devo particionar um SSD secundário (sem sistema operacional) usado para armazenamento? [fechado]
-
A execução do CrystalDiskMark causa BSOD no Windows 10
-
O fenômeno 'Write cliff' só acontece com discos SSD?
Discos - sejam HDDs ou SSDs - não podem manipular bits únicos ou mesmo bytes. Um setor é a menor unidade de armazenamento com a qual um disco pode trabalhar. Você só pode escrever um único bit lendo todo o setor, alterando esse bit e escrevendo todo o setor de volta. Escrever um setor inteiro, por outro lado, não requer leituras adicionais, então faz sentido evitar trabalhar com unidades menores que bits, se possível. Assim, o armazenamento persistente é totalmente construído em torno do conceito de setores. Todas as estruturas de partições e sistemas de arquivos são alinhadas por setor para evitar a necessidade de gravações parciais ineficientes.
Agora, digamos que você detectou um único bit com falha em um único setor e possui a tecnologia para desativá-lo. Todo o seu computador é construído para funcionar apenas com bytes de 8 bits, portanto, o byte inteiro é inutilizável. Seu setor agora tem 511 bytes de tamanho, em vez dos típicos 512 bytes. Mais uma vez, tudo em seu computador assume que você é capaz de encaixar 512 bytes em um setor, e você não pode, então todo o setor é inutilizável. Daí setor ruim.
Além disso, rastrear a integridade de bits individuais seria absolutamente impraticável. As informações sobre saúde de um único setor ocupam um bit de espaço (0 = ruim, 1 = bom). Um único setor 512b contém 4.096 bits, portanto, pode armazenar integridade de 4.096 setores, portanto, 1 em cada 4.097 setores é sacrificado para o bitmap de integridade. Isso é 0,024%, completamente aceitável. Se você fosse rastrear a integridade de bits únicos (o que não é útil de qualquer maneira, como já expliquei), você precisaria de um bit para a integridade de cada bit, portanto, 50% do armazenamento é sacrificado para informações de integridade.
Em aplicativos da vida real, os setores defeituosos provavelmente não seriam armazenados como um bitmap, mas é fácil explicar o problema com eles e dá a você a sensação de escala.
O setor é a unidade mínima com a qual os comandos de leitura/gravação de disco funcionam.
Os discos na verdade não permitem que o computador solicite bits individuais (nem bytes – um setor geralmente tem 512 ou 4096 bytes , não bits). Em vez disso, o sistema operacional sempre emite comandos "Ler todo o setor" e não inclui nenhuma indicação sobre quais partes do setor estão danificadas - ou o disco retorna o setor inteiro (recuperado usando ECC, se necessário) ou não retorna nada (muitos erros para o ECC lidar).
Não tenho certeza se entendi o mecanismo corretamente, mas pelo que sei: quando houver apenas um único bit ruim, você nem notará porque as informações do ECC serão usadas para corrigi-lo. Mas se o setor estiver corrompido além desse ponto, geralmente o ECC nem sabe quais bits específicos são ruins – ele só sabe que 'mais de X' deles são ruins.