um HD, cada setor armazena, alem dos 512 bytes de dados, mais algumas dezenas de bytes contendo os codigos ECC. A criacao dos bytes de ECC, assim como sua utilizacao posterior e feita pela placa logica, um processo automatico que e feito de forma completamente transparente ao sistema operacional.Quando um setor e lido pela cabeca de leitura, sao lidos junto com os dados os codigos ECC, que permitem verificar a integridade dos dados e corrigir erros simples. Em um primeiro momento, e feita uma checagem rapida para detectar erros, uma tecnica que lembra o sistema de paridade antigamente usado na memoria RAM. Caso seja verificado um erro, sao usados os demais codigos para tentar corrigir o problema. Na grande maioria dos casos, esta primeira tentativa e suficiente. Estes erros transitorios, que sao corrigidos com a ajuda dos codigos ECC sao chamados de "soft errors" e nao causam nenhum efeito colateral alem de um delay de alguns milissegundos na leitura.Caso nao seja possivel corrigir o erro usando o ECC, a controladora faz uma nova tentativa de leitura do setor, pois e grande a possibilidade do erro ter sido causado por alguma interferencia ou instabilidade momentanea. Se o erro persistir, ela fara varias tentativas sucessivas, reduzindo a velocidade de rotacao dos discos e comparando o resultado de varias leituras, de forma a tentar recuperar os dados gravados no setor. Esse processo gera aquele ruido caracteristico de HD sendo "mastigado" e quase sempre indica o aparecimento de um badblock.Por serem defeitos fisicos na midia magnetica, nao existe muito o que fazer com relacao a eles. O jeito e marcar os badblocks, de forma que eles nao sejam mais usados.Os HDs atuais sao capazes de marcar automaticamente os setores defeituosos. A propria controladora faz isso, independentemente do sistema operacional. Existe uma area reservada no inicio do disco chamada "defect map" (mapa de defeitos) com alguns milhares de setores que ficam reservados para alocacao posterior. Sempre que a controladora do HD encontra um erro ao ler ou gravar num determinado setor, ela remapeia o setor defeituoso, substituindo-o pelo endereco de um setor "bom", dentro do defect map. Como a alocacao e feita pela propria controladora, o HD continua parecendo intacto para o sistema operacional.De fato, e normal que os HDs ja venham de fabrica com alguns setores remapeados, causados por pequenas imperfeicoes na superficie da midia. Como eles nao sao visiveis para o sistema operacional, nem causam problemas no uso normal, acabam passando despercebidos.Naturalmente, o defect map e uma area limitada, que corresponde normalmente a uma unica trilha. Caso o HD possua algum problema cronico, eventualmente os enderecos se esgotarao e os badblocks realmente passarao a se tornar visiveis.Deste ponto em diante, entram em cena utilitarios como o scandisk (no Windows) e o badblocks (no Linux), que permitem realizar um exame de superficie, marcando os setores defeituosos encontrados. Estes setores nao sao marcados no defect map, mas sim em uma area reservada da particao.Um grande numero de setores defeituosos sao indicio de problemas graves, como envelhecimento da midia, defeitos no mecanismo de leitura ou mesmo contaminacao do