detecção e correção de erros em nível de software para armazenamento bruto

detecção e correção de erros em nível de software para armazenamento bruto

Se bem entendi o armazenamento de dados, todos os dispositivos de armazenamento não são confiáveis ​​até certo ponto, e é por isso que a maioria possui camadas de abstração em nível de hardware. Os discos rígidos usam correção de erros. Se um setor for lido e o ECC detectar um erro (seja na escrita original ou na inversão aleatória de bits ao longo do tempo), o ECC é usado para tentar se recuperar do erro e esse setor é potencialmente marcado como ruim e remapeado para o setor sobressalente piscina. Alguns dispositivos de hardware não possuem nada disso, especialmente coisas como memória flash em sistemas embarcados, que são acessados ​​diretamente, sem nenhuma camada de verificação de erros no nível de hardware entre ele e o kernel.

O Linux fornece métodos, como sistemas de arquivos especiais ou volumes lógicos (por volumes lógicos, quero dizer coisas como cryptsetup ou lvm2), que podem lidar diretamente com esses dispositivos "brutos", fazendo toda a soma de verificação, remapeamento de setores defeituosos, correção de erros, etc. . no nível do software? O método de verificação de erros dependeria do tipo ou das propriedades do armazenamento bruto?

informação relacionada