La memoria RAM, Random access memory (en español, memoria de acceso aleatorio), es un medio de almacenamiento utilizado como memoria de trabajo en los sistemas informáticos. También conocida como memoria principal, es la responsable de la ejecución de los programas, incluyendo sus respectivos datos de usuario. En la memoria principal, los contenidos son almacenados en forma de código binario, en otras palabras, están compuestos por unos y ceros para que el ordenador pueda procesarlos. Los dígitos binarios se conocen como bits. Factores como
- fluctuaciones del voltaje,
- overclocking,
- módulos de memoria defectuosos y viejos
- o radiación de alta energía
pueden generar un error de bit, modificando, como consecuencia, un registro en la memoria. Estos fallos de bit se presentan cuando un bit toma el valor falso, es decir “1” en vez de “0” y viceversa. En muchas aplicaciones, las consecuencias de estos fallos son apenas perceptibles. Por ejemplo, si aparece un error de bit cuando se trabaja con un programa de edición de imágenes, puede que uno de los pixeles reciba un color diferente al esperado, un detalle mínimo que no es detectable por el ojo humano. Sin embargo, el panorama es diferente en el caso de bases de datos o aplicaciones de cálculo complejas donde el más mínimo error de bit puede tener consecuencias desastrosas. En algunos casos, estos errores pueden ocasionar fallos en el sistema, especialmente cuando tienen lugar en una porción de memoria que es utilizada por el sistema operativo.
La solución más sencilla a este problema se llama Error Correcting Code (ECC), un código que tiene la capacidad de detectar y corregir errores de bit. Además, el ECC puede determinar errores de dos bits (aunque estos no se produzcan muy a menudo). Para aprovechar las ventajas de este proceso de corrección de errores, los módulos de memoria RAM tradicionales son extendidos mediante un chip de memoria ECC. Es por esto que se habla entonces de RAM ECC.