ECC DRAM ayuda a evitar cambios de bits (es decir, inducidos por rayos cósmicos, etc.) que de otro modo no se detectarían. Eso es genial y al instante quise pedir un poco para reemplazar mi no ECC. Pero....
...me parece que no es tan fácil, de hecho necesitaría una placa + CPU que lo soporte ¿no?
Si es así me pregunto por qué. La verificación de bits de paridad (nivel n) requeriría más memoria que la que se puede usar efectivamente en un módulo de memoria (para la redudación que permite las verificaciones ECC), sin embargo, uno podría pensar que el módulo, al tener toda la información, podría por sí solo hacer la tarea. ¿Corrección de errores ECC?
¿Dónde está el papel que jugaría la CPU allí?
- Si el error se puede corregir, entonces el módulo debería corregirlo de forma transparente, ¿verdad?
- solo si el error se detecta pero no se corrige, vería alguna razón para interactuar con la CPU, como marcar/informar/avisar que ha ocurrido un error.
Respuesta1
Sin embargo, ¿se podría pensar que el módulo, al tener toda la información, podría por sí solo corregir el error ECC?
En teoría sí, podría.
¿Dónde está el papel que jugaría la CPU allí?
Para el núcleo de la CPU: Ninguno.
Sin embargo, esto generalmente se hace en el controlador de memoria y, en las CPU modernas, el controlador de memoria es parte de la CPU. Entonces, para todos los fines prácticos, ahora necesita una CPU compatible con ECC.
solo si el error se detecta pero no se corrige, vería alguna razón para interactuar con la CPU, como marcar/informar/avisar que ha ocurrido un error.
Esto sucede. Se plantea unMCEcuando detecta errores de lectura incorregibles.