Memoria Ram: Arquitectura y funcionamiento

Random Access Memory, normalmente conocida como Memoria RAM) es un tipo de dispositivo de almacenamiento de datos. Adopta la forma de circuitos integrados que permiten que los datos se almacenen y sea accesible a ellos mediante ordenes.

La RAM es una memoria volátil, que significa que la información o instrucciones que almacena en ella se pierden en el momento que deja de recibir voltaje. Se trata de una memoria de semiconductor en la que se puede leer como escribir información. Se utiliza normalmente como memoria temporal para almacenar resultados intermedios y datos similares no permanentes. Se dicen «de acceso aleatorio/random» o «de acceso directo» porque los diferentes accesos son independientemente entre sí.

En general, las RAMs se dividen en estáticas y dinámicas. Una Memoria RAM estática mantiene su contenido mientras esté alimentada. En cambio, en una Memoria RAM dinámica la lectura es destructiva, es decir que la información se pierde al leerla, para evitarlo hay que restaurar la información contenida en sus celdas, operación denominada refresco.

Cada celda de la RAM tiene una ubicación o nombre en una nomenclatura aceptada por la comunidad científica: el sistema hexadecimal. Cada depósito de un dato en la memoria (operando, resultado, etc.) se ubica por una dirección en hexadecimal.

Errores de memoria

Considerando que el trabajo que se realiza en la memoria es sumamente delicado, se han creado procedimientos de control de errores a fin de poder confiar en los resultados que muestran las máquinas. Los dos más utilizados son el control de paridad y el método ECC (Error Correction Code). Para entender el porqué hay que tener implementados sistemas de verificación, hay que recordar dos factores que intervienen en el trabajo de la RAM:

1.- La circuitería electrónica de la memoria utiliza pequeños capacitadores (almacenes de electricidad) que se ven afectados por interferencias que reciben al estar permanentemente refrescándose.

2.- El software puede tener error de código.

Afortunadamente ambos escollos continúan siendo superados tecnológicamente por lo que cada vez menos integradores de PCs utilizan RAM sin función de integridad de datos.

El sistema de control de paridad consiste en agregar un BIT adicional a cada Byte (8 bits + 1 bit adicional) transmitido. Contando el número de 1 existentes en el byte, se establece dos normas: adicionar un bit de señal 1 cuando el número de 1 es par (sistema de control de paridad impar), o adicionar un bit de señal 0 cuando la suma de 1 es impar (sistema de control de paridad par).

Un chip de control (Parity generator/checker) compara los datos y pasa a la CPU un mensaje de error cuando no hay correspondencia. El procedimiento detecta el error de transmisión pero no lo corrige. Por supuesto, que esta operación sólo es posible con el apoyo del circuito lógico (Parity generator/checker) y una BIOS que dé apoyo a la función de control de paridad.

Aunque parezca un sistema ingenioso, la practica ha demostrado que este procedimiento no puede detectar todos los errores posibles que podrían presentarse en el byte (varios bits con señal cambiada). Afortunadamente, los fabricantes de RAM siguen mejorando sus tecnologías por lo que cada vez menos integradores de PC utilizan RAM con control de paridad (son más costosos debido a la adición de una pequeña memoria cache en la RAM).

El sistema de control de errores ECC es un sistema basado en complejos algoritmos haciendo que detecte y corrija errores en la RAM. Se utiliza principalmente para respaldar el trabajo en equipos de función crítica (como los grandes servidores o mainframes). Está creada principalmente para detectar y corregir los casos en que hay un bit errado, ante cuya situación ejecuta su operación y el trabajo del sistema continua normal (el operador no se entera). En niveles más avanzados de ECC, cuando detecta varios bits erróneos, puede suceder que lance un aviso en pantalla o que proceda a corregir los errores automáticamente.

A finales de 2003, la empresa Hewlett Packard creó para sus servidores una tecnología llamada Hot Plug RAID que, según ellos, era mejor que el sistema ECC, ya que garantizaba un sistema cero de errores. El sistema radica en un conjunto de dispositivos DIMMs redundantes. De este modo, un servidor dotado de tecnología de memoria Hot Plug RAID utiliza cinco controladores de memoria para gestionar cinco cartuchos DRAM síncronos estándar (SDRAM).

Cuando un controlador de memoria necesita escribir datos en la memoria, divide la línea de cache de datos en cuatro bloques. Cada uno de esos bloques es escrito en cuatro de los cartuchos de memoria. Un motor RAID calcula la paridad de la información y la almacena en el quinto cartucho. Con los cuatro cartuchos de datos y el de paridad, el subsistema de datos es redundante, de forma que si un dato de cualquiera de los DIMM es incorrecto o cualquiera de los cartuchos es extraído, los datos pueden recrearse tomando como referencia los cuatro cartuchos restantes.

Memoria DRAM (Dynamic RAM)

La memoria DRAM es una memoria RAM electrónica construida mediante condensadores. Los condensadores son capaces de almacenar un bit de información almacenando una carga eléctrica. Lamentablemente los condensadores sufren de fugas lo que hace que la memoria DRAM necesite refrescarse cada cierto tiempo: el refresco de una memoria RAM consiste en recargar los condensadores que tienen almacenado un uno para evitar que la información se pierda por culpa de las fugas (de ahí lo de «Dynamic»). La memoria DRAM es más lenta que la memoria SRAM, pero por el contrario es mucho más barata de fabricar y por ello es el tipo de memoria RAM más comúnmente utilizada como memoria principal.

DDR SDRAM (Double Data Rate SDRAM)

Centrándome en la memoria RAM más utilizada en la actualidad, la memoria DDR SDRAM es una memoria síncrona que envía los datos dos veces por cada ciclo de reloj. De este modo trabaja al doble de velocidad del bus del sistema sin necesidad de aumentar la frecuencia de reloj. Se presenta en módulos (circuito impreso donde se encuentra soldados los chips de memoria RAM) DIMM de 184 contactos. En función de la frecuencia del sistema se clasifican en:

  • PC 1600 ó DDR200 funciona a 2.5 V, trabaja a 200 MHz, es decir, 100 MHz de bus de memoria y ofrece tasas de transferencia de hasta 1.6 GB/s (de ahí el nombre de PC1600).
  • PC 2100 ó DDR266 funciona a 2.5 V, trabaja a 266 MHz, es decir, 133 MHz de bus de memoria y ofrece tasas de transferencia de hasta 2.1 GHz.
  • PC 2700 ó DDR333 funciona a 2.5 V, trabaja a 333 MHz, es decir, 166 MHz de bus de memoria y ofrece tasas de transferencia de hasta 2.7 GHz.
  • PC 3200 ó DDR400 funciona a 2.5 V, trabaja a 400 MHz, es decir, 200 MHz de bus de memoria y ofrece tasas de transferencia de hasta 3.2 GHz.
  • DDR433, DDR466, DDR500, DDR533 y DDR600 son también existentes, pero según muchos ensambladores es poco práctico utilizar DDR a más de 400 MHz, por lo que se han sustituido por la revisión DDR2.
  • PC 4200 ó DDR2-533 funciona a 1.8 V, trabaja a 533 MHz, es decir, 133 MHz de bus de memoria y ofrece tasas de transferencia de hasta 4.2 GB/s.
  • PC 4800 ó DDR2-600 funciona a 1.8 V, trabaja a 600 MHz, es decir, 150 MHz de bus de memoria y ofrece tasas de transferencia de hasta 4.8 GB/s.
  • PC 5300 ó DDR2-667 funciona a 1.8 V, trabaja a 667 MHz, es decir, 166 MHz de bus de memoria y ofrece tasas de transferencia de hasta 5.3 GB/s.
  • PC 6400 ó DDR2-800 funciona a 1.8 V, trabaja a 800 MHz, es decir, 200 MHz de bus de memoria y ofrece tasas de transferencia de hasta 6.4 GB/s.
  • También existen versiones DDR2-400, DDR2-433, DDR2-500, DDR2-1000, DDR2-1066, DDR2-1150 y DDR2-1200, pero por el mismo motivo que comentaba antes, no se considera práctico DDR2 a menos de 533 MHz ni superiores a 800 MHz.
  • DDR3: La explicamos un poco más detallada a continuación debido a que es tipo más rápido en la actualidad y se está empezando a explotar.

DDR2 SDRAM

DDR3 SDRAM

En ingeniería electrónica, DDR3 SDRAM o Double Data Rate three Synchronous Dynamic Random Access Memory es una memoria de acceso aleatorio de alta velocidad de almacenamiento que forma parte de la familia SDRAM y una de las muchas DRAM. La memoria DDR3 SDRAM es una mejora respecto a su predecesora DDR2 SDRAM. Los módulos de memoria de la DDR3, utilizan el mismo número de pines que la memoria DDR2, 240 pines.

El principal beneficio de la DDR3 es la capacidad de ejecutar sus buses I/O cuatro veces más rápido que la memoria que contiene las células, lo que permite velocidades de bus más rápido. Sin embargo, una mayor velocidad de bus y un alto rendimiento, es logrado a costa de un mayor tiempo de latencia. Además, el estándar DDR3 permite chips de capacidad entre 512 megabits y 8 gigabits, permitiendo módulos efectivos de memoria hasta un máximo de 16 gigabytes.

La memoria DDR3 reduce un consumo de energía de ~ 17% respecto a las actuales DDR2, ya que el voltaje de las DDR3 es de 1.5 V. Este voltaje funciona bien con la tecnología fabricada a 90 nm que utiliza la mayoría de los chips DDR3. Algunos de los fabricantes proponen utilizar transistores de «doble-puerta» para reducir las fugas de corriente.

De acuerdo con JEDEC (Solid State Technology Association), la tensión máxima recomendada es de 1.575 voltios y debe ser considerado como el máximo absoluto ya que se debe de considerar la estabilidad por encima de todo, como se hace en los servidores u otros dispositivos de misión crítica. Aún esto, JEDEC afirma que los módulos de memoria deben de poder soportar hasta los 1.975 voltios antes de incurrir en daño permanente, pero si que pueden no funcionar correctamente a estos niveles.

Cómo ya hemos comentado antes, el principal beneficio de la DDR3 es el mayor ancho de banda, 8 bits de prefetch buffer (4 bits la DDR2 y 2 bits la DDR).

En teoría, los módulos DDR3 pueden transferir datos a una tasa de reloj efectiva de 800 a 1600 Mhz, aunque poco a poco las están perfeccionando más, aumentando su frecuencia hasta 2000 MHz (PC3-16000) y disminuyendo bastantes sus latencias en relación con esta frecuencia (CL 8-8-8-28).

Dual Channel

Dual Channel es una tecnología que permite el incremento del rendimiento gracias al acceso simultáneo a dos módulos distintos de memoria. Esto se consigue mediante un segundo controlador de memoria en el Northbridge (componente del chipset).

El rendimiento de esta tecnología es perceptible en algunas aplicaciones o características del ordenador, como por ejemplo cuando la tarjeta gráfica está integrada en la placa base y utilizan la memoria RAM como memoria gráfica, pero actualmente, con la potencia que tienen los ordenadores actuales, es difícil apreciar dicha tecnología (esto no quiere decir que no sea más eficiente).

Para que el ordenador pueda funcionar en Dual Channel, se debe de tener dos módulos idénticos de memoria DDR, DDR2 ó DDR3 en los slots correspondientes de la placa base, y el chipset de la placa base debe de soportar dicha tecnología (los slots de la placa base suelen tener del mismo color el par de slots para su uso en Dual Channel). Hay que tener en cuenta que las memorias sean totalmente idénticas (Frecuencia, Latencias y Fabricante), ya que en caso contrario puede que haya alguna incompatibilidad y no funcione correctamente.

Reconociendo la placa base que son dos módulos idénticos y que pueden funcionar en Dual Channel, es habilitado el Dual Channel y empieza a utilizar dos canales de datos de 64 bits cada uno, dejando un resultado un ancho de banda de 128 bits para mover los datos de la RAM a la CPU.

La finalidad de la tecnología Dual Channel ha sido creada para solucionar el problema de los cuello de botella. El aumento de la velocidad y rendimiento del procesador y de otros componentes del ordenador, como el del la memoria RAM, el bus de memoria se hacía pequeño. De esta forma, el controlador de memoria determina los tipos de velocidades de la RAM, así como el tamaño máximo de cada módulo del sistema. Cuando el flujo de datos entre CPU y memoria RAM es incapaz de subastecer a las necesidades de la CPU, es cuando se produce el efecto botella. Aunque el Dual Channel no anule por completo el cuello de botella, si que lo reduce considerablemente.


23 comentarios en “Memoria Ram: Arquitectura y funcionamiento”

  1. Hola, gracias, me alegro que te haya resultado interesante. Sobre el tema de los posibles síntomas asociados a la memoria RAM es complicado, ya que la memoria RAM te puede causar cientos de anomalias en un ordenador: reinicios del sistema, cuelgues, errores en instalaciones de programas, hacer que el sistema operativo se vuelva loco (mostrarte 2 MiPC por ejemplo), pantallazos azules (típicos de sistemas operativos de Microsoft), errores al instalar un sistema operativo, hacer que no llegue la señal al monitor de tu ordenador cuando encientes el ordenador, etc.

    Tu piensa que la memoria es la que guarda cualquier dato de software (como no, incluido el sistema operativo), y los errores de software puede ser de todo tipo.
    ¿Que tienes errores en tu ordenador? ¿qué tipo de errores tienes?
    Saludos.

    Responder
  2. hola, muy buena informacion, respeto a los errores que comentas que te puede causar una memoria dañada te comento que le hice el upgrade de ram a la pc de un amigo (de 1gb a 2gb) al principio trabajo bien pero despues de apagar y volver a prender el pc el sistema se queda colgado aparece la imagen de cuando esta cargando windows y se va pantalla negra y despues el monitor pierde la señal y asi se queda, cheque las conexiones y todo esta sujetado firmemente, sera problema causado por la ram?

    Responder
  3. Hola Hugo, es muy probable que sea la memoria RAM, y más después de haber añadido otro módulo como has comentado. Aún así, es difícil asegurarlo por por aquí, ya que podría ser problemas del sistema operativo, o problemas de otro dispositivo hardware. El averiguar si es la memoria RAM lo tienes muy sencillo.
    Quita el segundo módulo que has incorporado y enciende el PC a ver si así funciona bien. Si funciona bien, ya sabes que es el módulo que han incorporado (que o bien funciona mal o bien causa ciertos errores/incompatibilidades al estar junto con otro módulo, ya sea por diferencia de frecuencia, marca, tiempos, etc). Si quitando el módulo sigue causándote ese problema, limpia los módulos y los slots de memoria RAM mediante sprays (que son muy económicos), ya que al introducir el segundo módulo ha podido entrar algo de polvo en los slots o mover el módulo que ya tenía el PC y causarte igual problemas.

    Espero que lo soluciones, saludos.

    Responder
  4. gracias por contestar juan jose, bueno respecto a mi problema te comento que cuando le hice el upgrade a la pc contaba con 2 modulos de 512mb sdram ddr2 533mhz (pc2 4200) funcionando perfecto, le hice el upgrade solo para aumentar la velocidad no para reemplazar algun modulo dañado, le instale 2x1gb Corsair 240 pin ddr2 sdram 533mhz (pc2 4200), bueno te comento que limpie los slots de la memoria RAM asi como el puerto PCIEx de la tarjeta de video, ahora ya logra entrar a windows (si se nota el upgrade de la memoria RAM, carga mas rapido que antes) pero justo cuando desaparcece la pantalla de windows xp donde sale la barra que indica que esta cargando y abre el escritorio, el monitor pierde la señal alrededor de 5 segundos y despues regresa y ya se mantiene estable, esto no lo hacia antes de de hacerle el upgrade, entonces me surge la duda de si la tarjeta de video estara fallando?…

    bueno te agradezco de sobremanera tu ayuda, thanx

    Responder
  5. Casualidad sería que justo al aumentar la memoria RAM falle, aunque no es imposible. Actualiza el controlador de la tarjeta gráfica, y poco puedo decirte más sin tener en mis manos tu PC 🙂

    Prueba a intercambiar las memorias RAM de posición, comprueba que estén en Dual Channel y prueba también a ponerlas en Single Channel. Tal vez no tenga mucho sentido, pero si te sigue dando ese parpadeo de señal cuando arranca el s.o., pruebalo por descartar cositas.

    saludos.

    Responder
  6. Hola! Que buena información, siempre me gusta andar por la web aprendiendo cosas nuevas sobre hardware para la PC. Tengo una pequeña duda, he revisado muchos sitios en la web y pareciera que la duda que tengo ya ha sido resuelta de alguna forma la cual es la siguiente: Tengo una PC que posee una placa base que soporta como velocidad de la memoria 333 MHz (no se por que colocaron una placa base con tan poca velocidad de memoria) y actualmente tiene una memoria PC 5300 de 1Gb, es obvio que trabajando a la maxima velocidad que soporta la placa de 333 MHz cosa que aprendi visitando foros en la web =). Yo quisiera ponerle otra memoria de 1Gb, la placa tranquilamente soporta 4 Gb Max de memoria, entronces si le coloco por ejemplo 2 modulos de 1Gb PC 6400 tendria algun problema???? Tambien podria conseguir unos PC 5300 pero los PC6400 traen disipador y mas adelante podria cambiar la placa base por una que soporte mayor capacidad de memoria y ahorraria comprando otros modulos. Entonces me servirian las PC6400 en la actual placa base la cual soporta DDR2????

    Responder
  7. Hola José, me alegro que te haya servido esta información y que sigas visitando la web 😉
    Sobre tu pregunta, hay una cosa que no llego a comprender…. Al principio dices que la placa base sólo soporta hasta 333MHz, o lo que es lo mismo a PC-2700, lo que se traduce a DDR. A continuación dices que estas utilizando una memoria PC-5300, la cual trabaja a 667MHz, lo que se traduce a DDR2. Esto no puede ser, ya que las ranuras de las memorias son distintas y no te encajarían en la placa base las DDR2. O bien te has equivocado en lo que soporta la placa base, o te has equivocado en las memorias que dispones.

    Con esto creo que te soluciono las preguntas. Si tienes una placa base que soporta DDR, sólo puedes ponerle módulos de memoria DDR, NO DDR2. Si la placa base soporta DDR2, únicamente le podrás poner DDR2. Y por último, si la placa soporta DDR3, únicamente le podrás poner DDR3 (hay placas que soportan dos tipos de memorias porque dispone de ranuras para cada tipo).

    Sobre la velocidad de la memoria, según la teoría es que puedes ponerle la velocidad que quieras (módulos que trabajen a más velocidad de lo que admite tu placa base, siempre que el tipo de memoria sea el que toca!), pero la máxima velocidad que trabajará será a la que soporta la placa base o, si dispones de otro módulo a una velocidad inferior, la memoria bajará a funcionar a la velocidad del módulo que trabaja más bajo.

    Un saludo y espero que te haya ayudado 😉

    Responder
  8. Gracias por responder Juan!! Pues de verdad pensando lo que escribi y con la informacion que has colocado en tu web, lo que dije fue una locura. Bueno entonces te dejo aca unos datos recopilados de un programa para identificar hardware en la computadora para que me digas que significa cada cosa si es posible.
    <strong>Propiedades de la memoria del bus</strong>:
    Tipo de bus: DDR2 SDRAM
    Ancho de bus: 64 bit
    Reloj Real: 333 MHz (DDR)
    Reloj efectivo: 667 MHz
    Banda pasante: 5333MB/s

    Hay algo que me dice asi: Velocidad de la memoria DDR2-667(333MHz) aqui es donde radica mi confusion, por que yo pienso que la memoria es de 667 MHz y me esta leyendo la placa basa nada mas que 333 MHz =) Parece que me he confundido un poco con esto de las frecuencias, ya me di cuanta que la placa soporta DDR2-667 y DDR2-800. Pero entonces si le instalo unas DDR2-800 me apareceria como referencia algo asi: DDR2-800(400MHz)???????

    Responder
  9. Hola de nuevo José,

    Lo de 667MHz efectivos está bien, porque es la velocidad que hablábamos (por eso se le dice DDR2-667), lo de 5333MB/s también está bien, ya que esa memoria tiene una tasa de transferencia de 5.3GB/s, y lo de 333 no sé ahora mismo por qué podría ser, pero estate tranquilo porque te trabaja a 667MHz, y puedes poner sin problemas DDR2-800.

    Saludos.

    Responder
    • Felicidades por el artículo (no he leido nada más del blog), buscaba algo un poco más técnico a nivel de electrónica, para saber más en profundidad el tema de la velocidad de estática vs dinámica, aunque bueno, todavia queda un submundo detrás, pero bueno.

      Peloteo al margen, lo de 333, si te fijas dice reloj real, es decir Mhz por ciclo de reloj, pero qué pasa, que nos encontramos con una DDR2, lo que nos dice que esa memoria multiplica por 2 la información enviada por cada ciclo de reloj, así que si mis mates del cole no me fallan 333 * 2 = 666 aprox.

      Es curioso que hayas explicado esto antes y a la hora de responder al chico no lo hayas considerado, en fin, un desliz, a veces llemos rápido y no prestamos suficiente atención.

      Saludos etílicos.

      Responder
  10. Que rapido! =) Gracias Juan me has ayudado como no tienes idea, de verdad que siempre trato de aprender sobre computadoras cada dia mas y hoy hay sido un buen dia. Entonces probare con dos modulos de 1Gb DDR2-800 a ver como me anda la computadora, de fabrica me vino con 1Gb de memoria ram, sistema operativo Windows Vista Home Basic y aparte con video integrado. Gracias nuevamente y espero que sigas ayudando a mas personas con sus dudas. =)

    Responder
  11. hola como estan.
    estaba buscando en google sobre las memorias de ram por que tuve un pequeño problemita que les voy a contar a continuación.
    tengo una memoria de ram de 512 DDR1, no se nada de electronica
    pero debajo de la placa en donde calsa tiene muchos costisos dorados que segun lo que yo pienso son conductores de eletricidad,
    por estar floja o nose por que razon, se quemo uno de esos cositos. la memoria anda pero tira muchos errores azules, hasta qe me llego a tirar uno dps de qe carga win xp. quisiera saber si podria reemplazar ese «conductor» o como se llame. con su mismo material
    pudiendo asi usar mi memoria de vuelta.
    les agradeceria su respuesta 🙂

    Responder
  12. hola tengo un problema mi compu es una HP – Compaq dc7600 Series Convertible Minitower y la memoria ram es una de 512MB DDR2-533MHZ-CL4
    PC4300U-40440 3-6102001
    MARCA MARKVISION
    me dice que puedo poner 4 memoria de un 1 cada una por ranura el problema es que si pongo esta memoria
    MARCA XTRATECH
    1GB DDR2 DIMM 800MHZ ROHS
    AVF6428U61E6800F9-SPHP
    me causara algun problema la computadora ya que el valor de la frecuencia es mayor y otra cosa es que la memoria NO SE SI SEA COMPATIBLE con mi computadora porque pienso que con el tiempo se me vala ha dañar
    y una cosa mas si le pongo 4 memoria ram de 1 giga por ranura de esta
    1GB DDR2 DIMM 800MHZ ROHS
    AVF6428U61E6800F9-SPHP
    no pasara nada osea no habra problema con lo que estoy haciendo ayudame si

    Responder

¿Tienes alguna pregunta o problema relacionado con el tema del artículo? Queremos ayudarte.

Deja un comentario con tu problema o pregunta. Leemos y respondemos todos los comentarios, aunque a veces podamos tardar un poco debido al volumen que recibimos. Además, si tu consulta inspira la escritura de un artículo, te notificaremos por email cuando lo publiquemos.
*Moderamos los comentarios para evitar spam.

¡Gracias por enriquecer nuestra comunidad con tu participación!

Deja un comentario