Fiabilidad y ECC en RAM
1. ¿Por qué ocurren errores en la RAM? #
Aunque parezca raro, la memoria puede fallar espontáneamente:
- Ruido eléctrico en la placa.
- Radiación cósmica (partículas de alta energía que cambian un bit).
- Degradación física de los chips con el tiempo.
- Overclock inestable o módulos defectuosos.
👉 Estos errores son poco frecuentes en PCs domésticos, pero en servidores, investigación científica, bancos o sistemas aeroespaciales, un solo bit erróneo puede tener consecuencias graves.
2. ECC (Error Correction Code) #
La memoria ECC agrega bits adicionales que permiten:
- Detectar errores de 1 y 2 bits.
- Corregir automáticamente errores de 1 bit (SECDED: Single Error Correction, Double Error Detection).
Características:
- Cada módulo ECC tiene un bus de 72 bits en lugar de 64 (los 8 extras son para corrección).
- Requiere que la placa y la CPU soporten ECC.
- Más cara y ligeramente más lenta que la RAM normal.
👉 Se usa en servidores, estaciones de trabajo y supercomputadoras.
3. Scrubbing de memoria #
Los sistemas con ECC suelen implementar memory scrubbing:
- Recorridos periódicos que leen la memoria entera.
- Si encuentran errores corregibles, los reparan antes de que causen fallos mayores.
4. On-die ECC en DDR5 #
-
En DDR5, cada chip de memoria incluye un ECC interno para corregir fallos dentro del chip.
-
⚠️ Ojo: esto no sustituye a ECC real de servidor, porque:
- Corrige errores internos de almacenamiento, pero no garantiza integridad de los datos que viajan entre la RAM y la CPU.
-
Beneficio: mejora la fiabilidad de los módulos DDR5 comerciales sin necesidad de usar ECC completo.
5. Paridad (antiguo) #
Antes del ECC moderno, algunos sistemas usaban bits de paridad que solo detectaban si un número de bits era par/impar.
- Servía para detectar errores, pero no corregirlos.
- Hoy está en desuso fuera de nichos específicos.
6. ¿Cuándo conviene usar ECC? #
- Sí o sí: servidores, HPC, bases de datos críticas, sistemas financieros, aeroespaciales.
- Opcional: estaciones de trabajo profesionales (arquitectura, IA, edición de vídeo de misión crítica).
- Normalmente innecesario: PCs de oficina, gaming, portátiles comunes.
Resumen del tema
Conceptos clave #
- Causas de Fallos en Memoria (Bit Flips): radiación ionizante de fondo, perturbaciones electromagnéticas y degradación térmica.
- ECC (Error-Correcting Code): módulos con bus de 72 bits (8 bits de comprobación Hamming / SECDED) que corrigen errores de 1 bit y detectan errores de 2 bits sin interrumpir el sistema.
- Memory Scrubbing: escaneo en segundo plano para limpiar y reescribir celdas degradadas antes de que acumulen múltiples errores.
- On-Die ECC vs ECC Side-band: On-Die ECC (nativo en DDR5) solo corrige fallos a nivel de celda dentro del encapsulado; el ECC de servidores protege la integridad de todo el bus entre RAM y CPU.
Qué debes recordar #
La memoria ECC de servidor protege todo el bus de datos frente a corrupciones de memoria; el on-die ECC de DDR5 únicamente supervisa la integridad interna del chip de silicio.