Não creio que exista algum mecanismo para evitar erros em sistemas não-ECC, seja no nível do sistema ou no nível do sistema operacional. Não acredito que o Windows atualize o conteúdo da RAM regularmente, espera-se que o hardware mantenha os valores na memória.
-
Uma verificação rápida da memória é feita na BIOS ao iniciar o sistema, portanto, alguns erros importantes podem ser detectados lá.
-
Alguns arquivos, como instaladores, podem executar verificações de CRC. Mas esses erros podem vir da mídia de armazenamento, e não da memória.
-
Se ocorrer um erro aleatório em um local da memória que não será usado ou será substituído. Sem problemas. Eu suspeito que uma porcentagem muito grande de erros aleatórios, não repetidos, acontecem naquele espaço.
-
A corrupção em um espaço de aplicativo pode gerar uma exceção em vez de uma falha, que pode ou não ser tratada de maneira elegante. No entanto, isso seria mera sorte - não há exceções para "erros de memória" em si, mas o erro pode ocorrer em um local que é manipulado por um manipulador de exceções. Caso contrário, o aplicativo carregará os dados corrompidos ou falhará se causar uma operação inválida.
Além disso, os aplicativos / SO falharão e os arquivos gravados serão corrompidos.
Os aplicativos, se desejarem, podem implementar mecanismos de verificação executando duas ou mais operações. Verificadores de memória e ferramentas de cópia de arquivos de terceiros são exemplos desse tipo.