Memoria ECC vs. No ECC: ¿Cuál es mejor?
06 Feb. 2023Lectura de 1 minutos
La razón principal por la que se favorece la memoria ECC es porque previene los errores de datos en la memoria del servidor y asegura el funcionamiento estable del sistema. La memoria RAM almacena temporalmente los datos del servidor, y es un componente importante donde hace falta evitar los errores de datos. De hecho, la memoria ECC también recibe el nombre de RAM ECC. La diferencia principal entre la memoria ECC y la no ECC reside en que la primera utiliza códigos de corrección de errores para corregir los datos de la memoria. Es posible que te preguntes ¿qué memoria es más adecuada para mi entorno de uso? En este artículo exploraremos las diferencias entre estas dos memorias e intentaremos establecer cuál es más adecuada para tus necesidades.
¿Qué es la memoria ECC? ¿Y la memoria no ECC?
ECC son las siglas inglesas de «código de corrección de errores», se trata de un tipo de memoria para servidores que supervisa los datos de la memoria en busca de errores para proteger el sistema de posibles amenazas. Básicamente, se añade un noveno chip informático a la memoria RAM del servidor cuya función principal consiste exclusivamente en comprobar los errores y corregirlos. La memoria no ECC sólo tiene ocho chips y no realiza la supervisión de los datos ni la corrección de errores, he aquí la diferencia principal.

Pero, ¿a qué se deben los errores? Hay dos tipos principales de errores: los de memoria y los de unidad, que son más habituales. Los errores de memoria se deben a perturbaciones electromagnéticas dentro del ordenador que provocan que la DRAM se transfiera espontáneamente al estado contrario. Los errores de unidad se producen cuando un bit de un octeto de datos (binario 1 o 0) cambia al valor opuesto inadvertidamente. Ocurren de manera sutil y tienen poco impacto en los datos, pero aún así tienen algún efecto en el sistema operativo. También realizamos una distinción entre los errores duros y los blandos, los primeros son en su mayoría factores físicos, como el voltaje, los golpes y los cambios de temperatura; por su lado, los errores blandos son causados por la escritura de datos inesperados: cuando los datos entran y salen de la RAM del servidor, se produce una cierta corrupción.
¿Cómo funciona la memoria ECC?
La memoria ECC detecta los errores a través de la paridad: la agregación del noveno byte permite comprobar y corregir errores en la RAM del servidor. Sin embargo, la paridad detecta principalmente si un byte aparece par o impar añadiendo 0 o 1 al final del byte. Por ejemplo, si la paridad añade bytes al bit impar 7, entonces la paridad es 1, y el par es 8. Si el byte de paridad es 0 y el resultado es un número impar, significa que el byte está en estado corrupto.
Naturalmente, el bit de paridad de la memoria ECC no es siempre un byte de 8 bits, también es posible generar un código de 7 bits/un byte de 64 bits utilizando un código binario de corrección de errores cíclicos. Esto significa que cada vez que el sistema lee 64 bits de datos, genera un código de 7 bits. El propósito de la detección es determinar si el código coincide, en caso de divergencia, significa que se ha producido un error, y la memoria ECC procederá a corregirlo inmediatamente.

Ventajas y desventajas de la memoria ECC
Cuando se aplica la memoria ECC al servidor, ésta supervisa los datos de la memoria y corrige los errores a tiempo. Esto reduce en cierta medida el número de fallos, especialmente en los dispositivos que no pueden donde corrupción de los datos de la memoria resultaría crítica, como las aplicaciones informáticas o los servidores de los sectores científico y financiero. Además, ésta corrección de errores de datos los mantiene integros y mejora la estabilidad del sistema. De hecho, la memoria ECC es más fiable que la no ECC para los centros de datos.
Sin embargo, la memoria ECC también tiene algunas desventajas. Es más cara que la no ECC porque requiere chips de memoria adicionales y es más compleja. De hecho, no todos los ordenadores la necesitan. Sin embargo, es esencial para las placas de base de servidores y las estaciones de trabajo de algunos entornos más complejos. Aún así, también vale mencionar que la memoria ECC es ligeramente más lenta que la no ECC, en torno a un 2%, debido al tiempo extra necesario para comprobar los errores de los datos de la memoria.
Memoria ECC vs. no ECC: ¿Cuál es mejor?
No existe un criterio absoluto para decidir cuál es mejor, la decisión depende del entorno. Para los servidores de centros de datos destinados a los sectores con datos críticos, como el financiero o el médico, sería conveniente considerar la posibilidad de configurar la memoria ECC, puesto que tiene la capacidad de reducir las brechas de seguridad y los errores de transcripción de datos, evitar la corrupción de la información y las caídas del sistema, etc. Además, logra la precisión de datos y la estabilidad del sistema. En estos sectores, el impacto de los errores de datos puede ser fatal, puede provocar codificaciones erróneas o la corrupción de los datos, lo que afectará directamente a la actividad financiera. Por otro lado, los fallos en la correspondencia de los datos pueden tener graves consecuencias en el tratamiento médico. Depende del soporte de la CPU y de la propia memoria, mientras que la UDIMM soporta la memoria ECC.
Si no tienes previsto utilizar equipos de misión crítica para proyectos importantes y simplemente eres un usuario habitual de PC, puedes elegir la DRAM o la SDRAM sin paridad.
Conclusión
En resumen, la memoria ECC realiza el control de datos y la corrección de errores para mantener la estabilidad del sistema operativo del servidor. Aunque los equipos ordinarios o los PC no necesitan tenerla instalada, en el caso de entornos de trabajo sensibles y exigentes (como los centros de datos), es necesario aplicar medidas para evitar errores, y la memoria ECC es una de ellas.