Eu reescrevi completamente meu post aqui porque percebi que estava um pouco incerto antes.
Em um post antigo, o usuário sawdust explicou muito bem que há um buffer SRAM no controlador HDD que usa um algoritmo ECC.
Não tenho certeza se a soma de verificação ECC do buffer SRAM também é gravada nos discos ou se é apenas para evitar erros de bit único dentro da SRAM.
Mas e a memória cache? Todas as unidades de discos rígidos atuais usam um cache DRAM com 64 MB ou até 128 MB. Este é um único chip DRAM no PCB de cada HDD e todos os dados precisam passar por ele. Tais DRAMs têm erros de bit único de tempos em tempos e também sofrem envelhecimento. Se os dados do cache-DRAM tiverem um erro de bit único, parece não haver correção de ECC aqui, estou certo?
Se o DRAM-Cache causasse um erro de bit único e então esses dados fossem para o SRAM-Buffer, presumo que a lógica ECC agora criaria uma soma de verificação "para os dados incorretos da DRAM", mas não é possível para reconhecer esse erro.
A HP parece oferecer uma verificação de paridade End-To-End adicional que encontrei descrita aqui: link A paridade não corrige, mas apenas detecta e, eventualmente, solicita que os mesmos dados sejam transferidos novamente. Um erro permanente de DRAM levaria a re-solicitações infinitas da transferência de dados. Não seria muito mais seguro ter o cache de DRAM com ECC também?
Atenciosamente, Tommy
Tags hard-drive cache ecc