¿Qué es la memoria ECC?

La memoria de “código de corrección de errores”, que significa código de corrección de errores (ECC), es un tipo de memoria RAM que se encuentra en estaciones de trabajo y servidores. Uno de los puntos más atractivos de los procesadores Xeon de Intel y la línea Threadripper de AMD es su compatibilidad con ECC RAM. Entonces, ¿qué es exactamente ECC RAM y quién puede beneficiarse de ella? Sigue leyendo para aprender mas.

¿Qué es ECC RAM?

Es valorado por profesionales y empresas con datos críticos por su capacidad para detectar y corregir automáticamente errores de memoria, combatiendo así la corrupción de datos. También se espera que cause menos fallas de un servidor / estación de trabajo sobre la memoria no ECC, haciéndolo realmente atractivo para los profesionales de TI y las empresas, incluidas las instituciones financieras y las empresas de servicios de nube pública, donde la corrupción de datos y las interrupciones son catastróficas.

El código de corrección de errores es un tipo específico de memoria que utiliza un módulo adicional en la RAM para detectar y corregir la corrupción de datos internos antes de que cause un mal funcionamiento importante, como una congelación o un bloqueo. Vea la imagen a continuación. Mantiene un sistema de memoria que es efectivamente inmune a errores de un solo bit, lo que significa que los datos leídos de cada palabra son siempre los mismos que los datos escritos en ella. Debido al módulo de corrección de errores adicional, ECC es más caro que sus contrapartes tradicionales o no ECC, pero su valor de contribución al sistema es obvio.

Memoria ECC y memoria no ECC

ecc-ram

Físicamente, la memoria ECC se diferencia de la memoria no ECC (como la RAM de computadora portátil / de escritorio del consumidor) en que tiene 9 chips de memoria en lugar de 8 (los chips de memoria se usan para almacenar los datos enviados a la CPU cuando se llama). El chip de memoria adicional de ECC RAM se utiliza para la detección y corrección de errores entre otros ocho chips de memoria.

Se espera que los sistemas que ejecutan memoria ECC se bloqueen menos. En 2014, Puget Systems comparó y descubrió que la memoria ECC tenía una tasa de falla del 0.09 por ciento en comparación con la tasa de falla del 0.6 por ciento de la memoria ECC.

¿Quién debería usar ECC RAM?

La memoria ECC tiene como objetivo cargas de trabajo de nivel empresarial, por lo que la mayoría de las placas base de PC de consumo no admiten ECC RAM o se ejecutan sin la funcionalidad ECC. Para disfrutar verdaderamente de los beneficios de la memoria ECC, necesitará una placa base a nivel de estación de trabajo / servidor. La memoria ECC es más cara que la RAM no ECC debido al chip de memoria adicional.

No vale la pena el gasto adicional para los jugadores y los usuarios domésticos en general para ECC RAM. La caída ocasional de la memoria es un problema, pero realmente no le cuesta nada. Para los usuarios avanzados en industrias donde la corrupción de datos es intolerable, como la informática científica o las finanzas, podría decirse que ECC RAM vale la pena el gasto adicional. Además, muchos productores de medios y usuarios de CAD ciertamente apreciarán el valor de ECC RAM mientras trabajan.

Nuevamente, la memoria ECC está diseñada para estaciones de trabajo y servidores de nivel empresarial. Por lo tanto, se necesita una CPU de servicio pesado similar para admitir la memoria ECC. Para las CPU Intel, solo la serie Xeon admite ECC para distinguir los procesadores de nivel entusiasta de los procesadores de nivel empresarial. Mientras tanto, la abundante serie Threadripper de AMD admite memoria ECC.

¿Cómo funciona la memoria ECC?

El código de corrección de errores es una operación matemática que asegura que los datos almacenados en la memoria sean correctos. En caso de error, ECC también permite que el sistema regenere datos precisos en tiempo real. ECC usa un sistema de formato de paridad más avanzado, que es un método de usar un solo bit de datos (un bit de paridad) para detectar errores en grupos de datos más grandes, como los datos típicos de ocho bits que se usan para representar valores en la memoria de una computadora . Desafortunadamente, aunque un bit de paridad permite que el sistema detecte un error, no proporciona suficiente información para corregir el error de datos.

La mayoría de los sistemas informáticos mueven datos en trozos más grandes de 64 bits. En lugar de generar un bit de paridad adicional por cada ocho bits de datos, ECC produce siete bits adicionales por cada 64 bits de datos. El sistema aplica un algoritmo matemático complejo en los siete bits adicionales de datos para garantizar que los otros 64 bits sean correctos. Si un solo bit es incorrecto (un error de un bit), el algoritmo ECC puede reconstruir los datos, pero solo reporta errores mayores (dos o más bits) al sistema.

Memoria registrada / almacenada en búfer

La memoria ECC no siempre se guarda / almacena en búfer. Sin embargo, toda la memoria registrada es memoria ECC.

La RAM ECC generalmente usa memoria registrada, es decir, almacenada en búfer. La memoria registrada utiliza un “registro” ubicado entre la RAM del sistema y el controlador de memoria. Esto reduce la dificultad de trabajo del controlador de memoria y también permite utilizar más módulos de RAM de lo que sería de otro modo.

Desventajas de la memoria ECC

Quizás sorprendentemente, la RAM ECC es más lenta que la RAM no ECC porque se necesita más tiempo para verificar si hay errores. En el mismo estudio de 2014 mencionado anteriormente, Puget descubrió que la RAM ECC era un 0,25 por ciento más lenta que la RAM sin ECC, y la RAM ECC registrada era un 0,44 por ciento más lenta.