Saltar al contenido
Think Tecno

¿Qué es la memoria ECC?

Parte de la RAM, o memoria de acceso aleatorio, se anuncia como memoria ECC. ECC significa Código de corrección de errores y es un proceso de identificación y corrección de errores en la memoria. Los errores de RAM pueden causar corrupción de datos o corrupción, lo que resulta en fallas del dispositivo e incluso vulnerabilidades de seguridad. La RAM ECC generalmente no es compatible con el hardware de PC de nivel de consumidor.

¿Cuáles son los errores de memoria?

Los errores de memoria son un problema donde se cambia el valor almacenado en la memoria. Los datos en RAM se almacenan en binario, con valores de 1 o 0. Si el valor de 1 se cambia a 0 o viceversa, en un proceso llamado “inversión de bits”, los datos almacenados en RAM cambian.

Por ejemplo, el bit modificado podría usarse para almacenar un valor en una hoja de cálculo. En este caso, el valor en la hoja de cálculo podría cambiarse a un número completamente diferente que afectaría el resultado de cualquier cálculo, por ejemplo, alterando el pronóstico económico de una empresa. En otros casos, el bit modificado puede deshabilitar una función de seguridad o crear un error tipográfico que cambie la forma en que se ejecuta un programa. Estos dos ejemplos son extremadamente difíciles de detectar y resolver sin usar la memoria ECC. En un escenario extremo, lanzar un solo bit podría causar un error catastrófico que causa un bloqueo del sistema.

La inversión tiene muchas causas potenciales, la causa más común es el resultado de la radiación de fondo, causada principalmente por neutrones creados por los eventos de los rayos cósmicos. Un rayo cósmico es una partícula de alta energía, típicamente un protón, que viaja casi a la velocidad de la luz. Son emitidos por cuerpos estelares, incluido el Sol y otros objetos astronómicos de alta energía. Cuando un rayo cósmico golpea un átomo, se crea una lluvia de neutrones y otras partículas subatómicas, estos neutrones continúan teniendo interacciones secundarias.

Se cree que estas interacciones secundarias de neutrones son la fuente principal de errores de inflexión de bits. Los rayos cósmicos son más comunes en altitudes más altas con un aumento de 3.5x a 1.5 km sobre el nivel del mar y un aumento de 300x en la altitud de crucero de los aviones. Este aumento en el riesgo de altitud requiere medidas de fiabilidad adicionales.

¿Qué tan comunes son los errores de memoria?

Muchas personas no ven sus computadoras fallar todos los días, por lo que sería fácil pensar que esto es principalmente un riesgo teórico. La investigación del centro de datos de hiperescala se utilizó para analizar la tasa de accidentes lanzados por bits. La investigación de Google en sus centros de datos mostró una tasa de error de alrededor de 1 error de un solo bit por gigabyte de RAM cada 1.8 horas.

La misión Cassini-Huygens de la NASA, lanzada en 1997 para viajar a Saturno, se ha configurado con dos computadoras de vuelo idénticas, cada una con 2.5 Gb de RAM. Durante los primeros dos años y medio de su viaje, la nave espacial observó constantes 280 errores de un solo bit por día. Durante un día, cuando Cassini-Huygens estaba en el camino hacia un resplandor solar, se observó un aumento cuádruple en los errores de bits, lo que proporciona evidencia adicional de que el Sol es la causa de la mayoría de los problemas de lanzamiento de bits.

Se temía que el aumento continuo en la densidad de los módulos de RAM llevaría a que las versiones posteriores de RAM fueran más vulnerables a los cambios de bits. Estudios más recientes han demostrado que lo contrario es cierto, ya que los errores han disminuido mientras que la geometría del proceso ha disminuido.

¿Cómo protege la memoria ECC contra errores?

La memoria ECC utiliza códigos de corrección de errores, como los códigos de Hamming, para corregir errores de un solo bit en la RAM. Los errores de doble bit pueden detectarse pero no corregirse. Los códigos de corrección de errores de Hamming funcionan utilizando una matriz de bits de paridad. Juntos, estos bits de paridad se pueden usar para detectar cualquier bit de datos modificado. Si se identifica un bit que se ha volcado, se restablece automáticamente.

Consejo: Un error de un solo bit es un incidente de reenvío de bit cuando solo se invierte un bit. En errores de doble bit, se invierten dos bits. Los dos bits no deben invertirse en el mismo accidente, el segundo cambio de bit debe ocurrir solo antes de que se corrija el primer bit invertido.

Otro bit de paridad de lo requerido se incluye en los códigos de corrección de errores de Hamming. Este bit de paridad adicional le da al código la capacidad de detectar la ocurrencia de errores de doble bit, sin embargo, estos errores no pueden corregirse.

El proceso de realizar la detección y corrección de errores se realiza en el controlador de memoria a bordo de la memoria RAM.

Disponibilidad y asistencia al consumidor

La mayoría del hardware de PC de consumo no es compatible con la memoria ECC. Esto es parcialmente como un método para distinguir artificialmente el hardware del servidor del hardware del consumidor. RAM ECC, sin embargo, cuesta más y funciona un poco más lento. Además, la estabilidad adicional que proporcionaría a los consumidores domésticos es mínima, ya que los errores de inflexión de bits no son la causa principal de los bloqueos del sistema.

Ninguna de las CPU de Intel para uso privado y entusiasta admite memoria ECC, solo CPU de nivel de servidor, como las CPU en el rango Xeon. Las CPU AMD de grado de consumo no son compatibles con ECC, sin embargo, sus CPU de estación de trabajo y servidor, Threadripper y EPYC, respectivamente, son compatibles con la memoria ECC.