ECC DRAM ajuda a evitar inversões de bits (ou seja, induzidas por raios cósmicos, etc.), que de outra forma não seriam detectadas. Isso é ótimo e eu imediatamente quis encomendar um pouco dele, para substituir meu não ECC. Mas....
... me parece que não é tão fácil, aliás eu precisaria de uma placa + CPU que suportasse isso, certo?
Se sim, eu me pergunto por quê. A verificação de bits de paridade (nível) exigiria mais memória, pois pode ser efetivamente usada em um módulo de memória (para a redundância que permite as verificações ECC), mas pode-se pensar que o módulo, tendo todas as informações, poderia por si só fazer o Correção de erro ECC?
Onde está o papel que a CPU desempenharia lá?
- se o erro for corrigível então deverá ser corrigido de forma transparente pelo módulo, certo?
- somente se o erro for detectado, mas não corrigível, eu veria algum motivo para interagir com a CPU, como sinalizar/informar/avisar que ocorreu um erro.
Responder1
ainda assim, pode-se pensar que o módulo, possuindo todas as informações, poderia por si só corrigir o erro do ECC?
Em teoria sim, poderia.
Onde está o papel que a CPU desempenharia lá?
Para o próprio núcleo da CPU: Nenhum.
No entanto, isso geralmente é feito no controlador de memória e, nas CPUs modernas, o controlador de memória faz parte do chip da CPU. Portanto, para todos os efeitos práticos, agora você precisa de uma CPU compatível com ECC.
somente se o erro for detectado, mas não corrigível, eu veria algum motivo para interagir com a CPU, como sinalizar/informar/avisar que ocorreu um erro.
Isso acontece. Isso levanta umMCEquando detecta erros de leitura incorrigíveis.