La «Memoria RAM» es un tipo de «memoria electrónica» que se usa dentro de los ordenadores y otros dispositivos tecnológicos informáticos, y es utilizada para servir como elemento de alojamiento de ciertos procesos o informaciones que ejecutan o sirven la mayoría de las veces a los diversos softwares que operan en los dispositivos, tales como, el propio «Sistema Operativo», y ciertos «Software de Aplicación» y similares. La «Memoria RAM» debe su nombre al acrónimo de la frase en inglés «Random Access Memory», que significa «Memoria de Acceso Aleatorio».

Hoy en día, y luego de muchos avances tecnológicos sobre las «Memoria RAM», estás entre otras clasificaciones existentes según diversas características, se dividen actualmente en «Memorias ECC» y «Memorias Non-ECC». Lo cual se refiere exactamente a la incorporación o no de un «Chip de detección y corrección de errores de bit» en cadenas de datos procesados. Sin embargo, las características y diferencias entre ambos tipos suelen ser notables, por lo que vale la pena conocerlas a profundidad.

Memorias RAM: ECC versus Non-ECC - Características y Diferencias

Además, vale la pena destacar, antes que nada que el término «ECC» proviene del acrónimo de la frase en inglés «Error Checking and Correction», que en español significa «Corrección y Comprobación de Errores». Lo cual como expusimos antes se refiere puntualmente a un «Módulo (Chip)» incorporado que es capaz de gestionar la corrección y comprobación de errores que realiza el «ChipSet» de la «Placa Madre».

Razón por la cual, debe quedar claro que la tarea que realiza dicho «Chip ECC» es la de proporcionar almacenamiento para las tareas de corrección y comprobación de errores gestionadas por la «Controladora» de la «Placa Madre», ya que es esta última quien realmente se encarga de detectar y corregir los errores, y se sirve del «Chip ECC» para facilitar dicha funcionalidad.

Esto nos deja en consecuencia, que un módulo de «Memorias ECC» funcione perfectamente en una «Placa Madre Non-ECC», ya que lo que pasará es que no se aprovechará la capacidad de detección de errores de dichas «Memorias ECC». Y viceversa, es decir, utilizar un módulo de «Memorias Non-ECC» sobre una «Placa Madre ECC», lo cual impedirá aprovechar al máximo la capacidad «ECC» de dicha «Placa Madre». Sin embargo, la última palabra sobre si se puede o no usar un módulo de «Memorias ECC» sobre determinada «Placa Madre» siempre será está última, y sus especificaciones técnicas de fábrica.

Memorias RAM: Concepto

Memorias RAM

Antes de destacar las características y diferencias entra las «Memorias ECC» y «Memorias Non-ECC» a modo de añadido para aquellos que pudieran no conocer o manejar bien la terminología asociada a las «Memorias RAM» mencionaremos y describiremos cortamente cada posible término asociado a las mismas que guarden importancia o relación con el tema.

Memorias RAM: Partes

Terminología sobre las Memorias RAM

RAM

Es la memoria operativa del sistema informático. Es el lugar (localización física real) adónde van a ejecutarse y a permanecer activos los diversos programas, desde el propio «Sistema Operativo» hasta las aplicaciones que utilicemos. Por eso, puede ocurrir que, al mantener demasiadas aplicaciones activas simultáneamente, la capacidad de las «Memorias RAM» del Ordenador se agote y ello repercuta en la calidad y la capacidad de cómputo.

Content PC

Además, en estas una «Palabra de la memoria» no se ve afectada por el tiempo en caso de ser leída o escrita, es decir, el «Tiempo de acceso» es el mismo para cualquier «Dirección en la memoria». La mayoría de las «Memorias RAM» son hechas de semiconductores y un núcleo magnético.

Por último, estás se conectan física y eléctricamente a un «Dispositivo concentrador de memoria (bus)», que gestiona las señales entrantes y salientes de la misma, que por lo general, consisten en tres tipos de instrucciones: direccionamiento, datos y señales de control.

Memorias RAM: Terminologias

Celda de memoria

Circuito electrónico utilizado, por lo general, para almacenar un solo bit, es decir, un solo dígito binario, un cero (0) o un uno (1). Ejemplos de celdas de memoria: Circuito flip-flop, Un Capacitor cargado, un solo canal o pista dentro de una cinta o disco magnético.

Palabra de memoria

Conjunto formado por un grupo de bit (celdas de memoria) utilizado para representar instrucciones o datos de tipo variados. Estas por ahora, suelen tener un tamaño promedio en las computadoras modernas, que va desde 4 a 64 bits, dependiendo del tipo de ordenador.

Byte

Palabra de memoria conformada por 8 bit, que es el tamaño de la palabra más común en los ordenadores y procesos informáticos modernos.

Capacidad

Atributo que expresa la cantidad de bits o bytes que pueden ser almacenados dentro de un dispositivo de memoria especifico o dentro de un sistema de memoria completo.

Densidad

Atributo utilizado para reflejar en forma comparativa cuando un dispositivo de memoria puede almacenar más bit o bytes sobre la misma área física de espacio, es decir, circuitos (chips) de memoria.

Dirección

Número único de identificación de una palabra de memoria sobre una localización especifica dentro de una memoria. Estás siempre vienen descritas con un número binario, y en algunos casos números octales, hexadecimales y decimales.

Mapa de memoria

Concepto que expresa la distribución interna de una memoria. Distribución que muestra bloques de memoria divididos en diferentes secciones, que a su vez, suelen tener diferentes usos dentro de la misma.

Operación de lectura

Proceso que describe cuando una palabra de memoria almacenada en una dirección específica de la memoria es recibida y dispuesta como lista para ser transferida a otro lugar (dispositivo u elemento). Este proceso suele llamarse "Operación de extracción" (Fetch), ya que extrae una respuesta de la memoria.

Operación de escritura

Proceso que describe cuando una palabra de memoria nueva es copiada (transferida) a cierta localización dentro de una memoria. Este proceso suele llamarse "Operación de almacenamiento", lo cual deja en consecuencia, el reemplazo de la palabra que se encontraba anteriormente en dicha localización.

Tiempo de acceso

Concepto que expresa la velocidad de operación de un dispositivo de memoria, el cual no es más que la cantidad de tiempo requerida para realizar una operación de lectura, es decir, es el tiempo que transcurre entre la recepción de una nueva dirección en la entrada de la memoria y la disposición de los datos en la salida.

Memorias RAM: Clases

Clases

Con el tiempo, las Memorias RAM han sido de diferentes clases y entre estas están:

Por su forma de funcionamiento

  • SRAM (Static RAM): RAM Estáticas.
  1. Volátiles
  2. No volátiles: NVRAM (Non-volatile SRAM ) y MRAM (Magnetoresistive RAM)
  • DRAM (Dynamic RAM): RAM Dinámicas.
  1. Asíncronas: FPM RAM (Fast Page Mode RAM) y EDO RAM (Extended Data Output RAM)
  2. Síncronas: SDRAM (Synchronous DRAM), VRAM (Video RAM), PB SRAM (Pipeline Burst SRAM), DDR SDRAM (Double Data Rate SDRAM), RAMBUS (Rambus In line Memory Module), RDIMM (Registered Dual In line Memory Modules) y UDIMM (Unregistered Dual In line Memory Module).
  • RAM Disk: RAM emuladoras de Discos Duros

Por su forma de estructura física

  • SIP (Single In line Package): Paquete simple en línea
  • DIP (Dual In line Package): Paquete doble en línea
  • SIMM (Single In line Memory Module): Módulo de memoria en línea simple
  • DIMM (Dual In line Memory Module): Módulo de memoria en línea doble
  • RIMM (Rambus In line Memory Module): Módulo de memoria en línea Rambus

Memorias RAM: Tecnologías de detección y corrección de erroresProcesos de detección y corrección de errores

Actualmente los errores sobre los dispositivos o elementos de «Memorias RAM» se dividen en dos (2) formas conocidas, el primero nombrado como «Fallas duras (Hard fails)» que literalmente se deben a fallos físicos, es decir, del Hardware, y el segundo nombrado como «Errores Blandos (Soft errors)» provocados por causas fortuitas, principalmente lógicas, es decir, por Software.

Las «Fallas duras» suelen ser rápidas de detectar y fáciles de diagnosticar, pero casi imposibles de corregir. Los «Errores Blandos» son más difíciles de detectar, diagnosticar y corregir al ser parte de eventos aleatorios, y para ello se han dispuesto de tecnologías sobre las «Memorias RAM» y las «Placas Bases».

Razón por la cual, actualmente la confiabilidad de las «Memorias RAM» frente a los errores, es suficientemente alta como para no realizar verificación sobre los datos almacenados, por lo menos, a nivel de aplicaciones caseras o de pequeñas oficinas.

Sin embargo, para niveles de trabajo más altos, importantes o críticos, se utilizan «Técnicas o tecnologías de detección y corrección de errores» basadas en diferentes estrategias:

  • Bit de paridad: Técnica consiste en guardar un bit adicional por cada byte de datos y en la lectura se comprueba si el número de unos es «Par (paridad par) o Impar (paridad impar)», detectándose así el error.
  • Corrección y comprobación de errores: Técnica mejorada con respecto a la anterior, que consiste en usar un código de auto-chequeo y auto-corrección conocido como «Error Correcting Code (ECC)», que permite detectar errores de 1 a 4 bits y corregir errores que afecten a un solo bit.

Por lo general, los Sistemas (Ordenadores: Placas Madres y Memorias) con cualquier tipo de tecnología de protección contra errores tiene un costo más elevado que aquellos que no los tienen, y suelen sufrir de pequeñas penalizaciones (reducciones) en el desempeño general de sus procesos, con respecto aquellos sin protección.

Además, para un perfecto funcionamiento de dichas tecnologías en un Sistema con ECC o Bit de Paridad, el «ChipSet» de la «Placa Base» y las «Memorias RAM» deben tener soporte para esas tecnologías. Y es de resaltar, que la mayoría de las «Placas Base» no poseen dicho soporte, ya que dicha tecnología suele implementarse sólo en Hardware de sistemas que requieren alta fiabilidad.

Como alternativa, para la detección de los posibles fallos de las «Memorias RAM» se pueden utilizar herramientas de software especializadas, tales como «Memtest86+». En caso de querer profundizar sobre este aspecto, puede leer nuestro artículo anterior llamado Mejores Test de Rendimiento de PC (BenchMark) 2019 - 2020.

Para entender un poco más y en pocas palabras cómo funciona la «Tecnología ECC» citaremos el siguiente párrafo:

En lugar de un solo bit de paridad por cada 8 bits de datos, ECC utiliza un código de 7 bits que se genera automáticamente por cada 64 bits de datos almacenados en la RAM. Cuando el sistema lee los 64 bits de datos, se genera un segundo código de 7 bits, que luego se compara con el código original de 7 bits. Si los códigos coinciden, los datos están libres de errores. Si los códigos no coinciden, el sistema puede determinar dónde está el error y corregirlo comparando los dos códigos de 7 bits. Fuente: Wikiversus / Artículo: ¿Qué es la memoria RAM EEC?

Por último, sobre la tecnología de las «Memorias RAM ECC», es interesante destacar que la misma suele ser más efectiva sobre un nuevo tipo de Memoria llamada Registrada que mejora aún más la estabilidad de los Sistemas críticos. Las «Memorias Registradas» también:

"... tienen un chip adicional, situado entre la Memoria RAM y el controlador de memoria del sistema que incorpora unos circuitos encargados de repetir las señales de dirección y de control".

Razón por la cual, las «Memorias RAM ECC» no siempre son «Memorias Registradas», pero si a la inversa. Debido a que las organizaciones con sistemas de altos consumos de memoria casi siempre van a priorizar la estabilidad.

Memorias RAM: ECC versus Non-ECC

¿Cómo se diferencia una Memoria RAM ECC de una Non-ECC?

Una memoria normal o común, es decir, una «Memorias RAM Non-ECC» posee ocho encapsulados (Chip de silicio recubierto de plástico) donde cada uno se utiliza para almacena un bit, mientras que una «Memorias RAM ECC» tienes nueve de estos. Esta sencilla y notable característica nos confirma con certeza de que tipo es cada «Memorias RAM» gestionada. Y es este Chip adicional, el que es usado para la detección y corrección de errores de los procesos ejecutados sobre ella.

En otras palabras, se puede decir, que una forma más técnica de identificarlas es sabiendo que las «Memorias RAM ECC» se clasifican bajo los códigos «1Rx8/2Rx8» y las «Memorias RAM Non-ECC» bajo los códigos «1Rx8/2Rx8/2Rx16». Lo que sencilla y directamente nos indica la cantidad de chips de memoria que tiene cada lado de la misma.

Y donde cada código significa lo siguiente:

  • 1R: Indica que los chips de memoria están todos en un único lado.
  • 2R: Indica que los chips de memoria están por ambos lados.
  • x8 y x16: Indican que en un lado hay 8 o 16 chips de memoria.

Esta codificación es importante saberla, debido a que los módulos de «Memorias RAM ECC», como ya dijimos antes, mostraran un chip extra con respecto a las «Memorias RAM Non-ECC». Siendo que si un modelo de «Memorias RAM Non-ECC» es «1Rx8», el modelo equivalente de «Memorias RAM ECC» del tipo «1Rx8», no tendrá 8 chips en un lado sino 9, destacándose el chip extra por ser diferente, tal vez por ser un poco más largo que el resto, debido a que este, es el encargado de la corrección de los posibles errores encontrados.

Memorias RAM: Diferencias entre ECC y Non-ECC

Diferencias entre las Memorias RAM ECC y las Non-ECC

Las Memorias RAM ECC suelen:

  • Ser entre un 15% y un 30% más caras en promedio que las Memorias Non-ECC similares.
  • Encontrarse en menos tiendas comunes.
  • Ocasionar una pequeña reducción del desempeño.
  • No funcionar en algunas Placas Base.
  • Aumentar la fiabilidad de los procesos ejecutados.
  • Ser especiales para Hardware de alto rendimiento (Estaciones de Trabajo y Servidores).

Las Memorias RAM Non-ECC suelen:

  • Ser menos tolerantes a fallos de temperatura o fallas eléctricas.
  • Tener un menor performance (rendimiento) máximo con respecto a las Memorias ECC.
  • Ser más compatibles con una mayor cantidad de marcas y modelos de Placas Base.
  • Ser más baratas y fáciles de conseguir.
Memorias RAM: Detección sobre Windows y Linux

¿Cómo saber qué tipo de Memoria usa mi Ordenador?

En Windows

Se debe ejecutar la siguiente orden de comando:

wmic MEMORYCHIP get DataWidth,TotalWidth

Sí el resultado es:

  • 64 - 64: La Memoria es «Non-ECC»
  • 64 - 72: La Memoria es «ECC»

En Linux

Se debe ejecutar la siguiente orden de comando:

dmidecode -t 17

Si el resultado arroja en el campo «TotalWidth» el valor:

  • 64: La Memoria es «Non-ECC»
  • 72: La Memoria es «ECC»
Memorias RAM: Conclusión

Conclusión

Como se ha podido apreciar, las «Memorias RAM» son un elemento esencial de cualquier Sistema u Ordenador, ya que son estas las que permiten el almacenamiento de la información de los registros (procesos) que utiliza el ordenador para cumplir sus tareas de computo asignadas. Siendo importante resaltar que, existen registros con finalidades y prioridades diferentes, lo cual hace que la calidad y eficiencia de las «Memorias RAM» repercuta directamente sobre la velocidad de respuesta del Procesador CPU.

Razón por la cual, el principal objetivo de las «Memorias RAM» siempre será agilizar el manejo de la información de los registros (procesos) gestionados, para que el sistema no se detenga por algún programa y el procesador no se vea obligado a gestionar información en el disco duro, ya que desde ese medio de almacenamiento puede demorar mucho más tiempo generar u obtener una respuesta.

Y en medio, de más y más procesos, las «Memorias RAM» pueden verse afectadas y dar orígenes a errores, por lo que se les han incorporado a algunas, ciertas tecnologías de detección y corrección de errores para que sean capaces de recuperarse de algunos de ellos. Tecnologías como «ECC», que suelen ser más caras y por ende, suelen usarse en hardware especializados y de alto rendimiento, tales como Estaciones de trabajo y Servidores de infraestructuras críticas.

Sobre todo ya que, por ejemplo, una Organización (pública o privada) que trabaje con Bases de Datos (BD) y tengan información importante en línea y bajo gran demanda, no puede darse el lujo de recibir un NO como respuesta, de dicho Servidor. Por lo que, este tipo de «Memorias RAM ECC» asegura la disponibilidad y el funcionamiento de los procesos críticos ante fallos u errores de procesamiento, aportando confiabilidad a dichas infraestructuras de computo, evitar o minimizar las interrupciones (caídas) del servicio y las subsecuentes perdidas de datos vitales.

Esperamos que si eres un «Especialista TI» está información te haya sido útil para identificar y validar el uso correcto de cada tipo de Memoria sobre los Ordenadores o Sistemas gestionados.

Content laptop

Gracias por visitar el blog oficial de la tienda ReDIGIT Informática Circular. Si estás buscando ordenadores, monitores o portátiles baratos, en nuestra tienda online podrás encontrar PC de sobremesa a partir de 99 euros IVA incluido y portátiles económicos con 2 años de garantía. Todos los equipos en venta en ReDIGIT son de ocasión (segunda mano, renovados, refurbished y outlet), funcionan perfectamente y son ideales para cualquier tarea de tipo doméstico y profesional. ReDIGIT es la primera tienda en España que ofrece hasta 3 años de garantía en productos de informática de ocasión. Ponte en contacto con nosotros llamando/escribiendo directamente al Tel. y WhatsApp: 974 353 720.

  1. Ubuntu
  2. GNU/Linux
  3. Windows 10
  4. Debian
  5. Windows
  6. Anual
Ofertas ordenadores usados