En este artículo:
¿Qué es la memoria ECC? Ventajas de la memoria ECC
Assured Systems suministran una amplia gama de productos compatibles con memorias ECC y no ECC. Comprenda todo lo que necesita saber sobre la memoria ECC y sus ventajas.
Dado que muchos de nuestros clientes nos preguntan por la memoria ECC, hemos creado un artículo para explicar qué lugar ocupa en el mercado de la informática industrial y embebida. Es de suponer que, dado que los ordenadores industriales y embebidos del mercado están diseñados para ofrecer una alta fiabilidad, implementarán la memoria RAM ECC para reducir los errores del sistema. El GPU Nuvo-8208GC de Neousys es un ejemplo de producto que admite memorias ECC y no ECC.
¿Qué es la memoria RAM ECC?
ECC RAM significa "memoria de acceso aleatorio con código de corrección de errores". El ECC, o código de corrección de errores, se refiere a la capacidad de detección de los componentes de la memoria de los errores que se producen en la memoria de datos sin necesidad de recursos informáticos externos. La memoria RAM ECC es muy popular en servidores o sistemas integrados con datos de gran valor, ya que sirve para proteger contra la corrupción de datos al detectar y corregir automáticamente los errores de memoria.
ECC frente a RAM no ECC
La memoria No-ECC utiliza un banco de ocho chips de memoria, en los que se almacenan los datos y se suministran a la CPU bajo demanda. En comparación con la memoria No-ECC, la memoria ECC está integrada con un chip de memoria adicional que actúa como detección y corrección de errores para los otros ocho chips de memoria.
Para entender por qué se necesita o no una memoria RAM con código de corrección de errores, primero hay que comprender el funcionamiento básico de la memoria flash.
¿Cómo funciona la memoria flash?
Los chips flash están integrados con celdas que tienen uno de dos estados, estado 0 o estado 1. Las células flash necesitan electricidad para llevar cualquier estado. Por lo tanto, el ordenador conducirá un nivel de energía dependiendo de si su sistema embebido quiere codificar un estado 0 o 1 a la memoria. A continuación, el controlador de memoria coteja el estado de cada celda en una secuencia binaria, siendo cada cadena binaria única. A continuación, la secuencia binaria recopilada se traduce en datos informáticos.
En las aplicaciones flash volátiles, como la memoria RAM de un ordenador, el banco de celdas siempre necesita alimentación para mantener su estado 0 ó 1. Cuando se apaga el ordenador, el banco de celdas se apaga. Cuando se apaga el ordenador, el banco de celdas de la RAM se borra. La electricidad estática también puede hacer que una célula cambie de estado, de 1 a 0 o viceversa. En efecto, esto cambiará la secuencia binaria y tendrá un impacto negativo. Sin entrar demasiado en el binario, el número 135 se expresa como 010000111 en su cadena binaria. Si la electricidad estática volteara una de esas celdas, se podría ver el efecto sustancial en los errores de un solo bit traducidos por el ordenador:
010000111 = 135
110000111 = 391
011000111 = 199
010100111 = 167
000000111 = 7
Los desajustes de memoria pueden provocar errores suaves en el rendimiento que pueden ser relativamente inofensivos. Por ejemplo, se sabe que un pendrive medio de 8 GB de memoria tiene unos 5 errores por hora de uso, y para el usuario medio de un ordenador, el impacto de estos errores no es perceptible. En el caso de aplicaciones de misión crítica en servidores u ordenadores industriales, estos errores pueden convertirse rápidamente en tiempo de inactividad del sistema debido al bloqueo del sistema operativo o en costosos errores causados por acciones incorrectas.
Ventajas de la memoria RAM ECC
En las aplicaciones de misión crítica es donde se materializan las ventajas de la memoria ECC. La memoria RAM ECC lleva incorporado un controlador que incluye un código de paridad, también conocido como código Hamming. Si se produce un error en uno de los bits, el controlador integrado puede informar del error corregido al ordenador central. Se utiliza un algoritmo para escribir los datos de forma que la fórmula coincida con los datos correlativos. El algoritmo del Código Hamming puede comprobar la integridad de los datos con una cantidad mínima de datos redundantes, lo que supone un apoyo a la memoria RAM del ordenador. Si las tasas de error son muy altas, este método no es muy útil.
¿Cuándo debo utilizar la RAM ECC y merece la pena?
Con una reducción de los errores de datos, integrar la memoria ECC en su sistema informático parecería el mejor camino a seguir. No todos los sistemas informáticos admiten memoria RAM ECC y requieren una placa base, un chipset y un procesador que admitan esta funcionalidad. Las celdas de memoria adicionales y el controlador integrado también provocan una disminución del 2-3% en el rendimiento con respecto a la memoria RAM sin ECC debido a los recursos que requiere el algoritmo de código Hamming de procesamiento de datos.
Si tiene un sistema embebido de misión crítica susceptible de encontrar errores de memoria, entonces debería considerar la memoria ECC y su capacidad de corrección de datos para ayudar a prevenir la pérdida de datos, errores costosos o el tiempo de inactividad del sistema. La pequeña contrapartida de una mayor inversión en memoria ECC y componentes compatibles podría ahorrarle reparaciones en el futuro, manteniendo operativa su línea de producción y reduciendo el mantenimiento de hardware previsto. El aumento del coste de la memoria ECC varía, pero debe esperar pagar de media entre un 10 y un 20% más en función del tamaño del lápiz de memoria. Cuanto mayor sea el lápiz de memoria, mayor será el aumento del coste.