Historia
Integrado de silicio de 64 bits sobre un sector de
memoria de núcleo magnético (finales de los 60). 4MiB de memoria RAM para un computador VAX de finales de los 70. Los integrados de memoria DRAM
están agrupados arriba a derecha e izquierda.
Uno de los primeros tipos de memoria
RAM fue la memoria de núcleo magnético,
desarrollada entre 1949 y 1952 y usada en muchos computadores hasta el
desarrollo de circuitos integrados a finales de los años 60 y principios de los
70. Esa memoria requería que cada bit estuviera almacenado en un toroide de
material ferromagnético de algunos milímetros de diámetro, lo que resultaba en
dispositivos con una capacidad de memoria muy pequeña. Antes que eso, las
computadoras usaban relés y líneas de retardo de varios tipos
construidas para implementar las funciones de memoria principal con o sin
acceso aleatorio.
En 1969 fueron lanzadas una de las
primeras memorias RAM basadas en semiconductores de silicio por parte
de Intel con el
integrado 3101 de 64 bits de memoria y para el siguiente año se presentó una
memoria DRAM de 1024 bytes,
referencia 1103 que se constituyó en un hito, ya que fue la primera en ser
comercializada con éxito, lo que significó el principio del fin para las memorias
de núcleo magnético. En comparación con los integrados de memoria DRAM
actuales, la 1103 es primitiva en varios aspectos, pero tenía un desempeño
mayor que la memoria de núcleos.
En 1973 se presentó una innovación que
permitió otra miniaturización y se convirtió en estándar para las memorias
DRAM: la multiplexación en tiempo de la direcciones de memoria. MOSTEK lanzó la referencia MK4096 de 4096
bytes en un empaque de 16 pines,1 mientras
sus competidores las fabricaban en el empaque DIP de 22 pines. El esquema de direccionamiento2 se
convirtió en un estándar de facto debido a la gran popularidad que logró esta
referencia de DRAM. Para finales de los 70 los integrados eran usados en la
mayoría de computadores nuevos, se soldaban directamente a las placas base o se
instalaban en zócalos, de manera que ocupaban un área extensa de circuito
impreso. Con el tiempo se hizo obvio que la instalación de RAM sobre el impreso
principal, impedía la miniaturización , entonces se idearon los primeros
módulos de memoria como el SIPP,
aprovechando las ventajas de la construcción modular. El
formato SIMM fue una
mejora al anterior, eliminando los pines metálicos y dejando unas áreas de
cobre en uno de los bordes del impreso, muy similares a los de las tarjetas de expansión, de hecho los módulos SIPP y los
primeros SIMM tienen la misma distribución de pines.
A finales de los 80 el aumento en la
velocidad de los procesadores y el aumento en el ancho de banda requerido,
dejaron rezagadas a las memorias DRAM con el esquema original MOSTEK, de manera
que se realizaron una serie de mejoras en el direccionamiento como las
siguientes:
Módulos formato SIMM de 30 y 72 pines, los últimos fueron
utilizados con integrados tipo EDO-RAM.
FPM RAM
Fast Page Mode RAM (FPM-RAM)
fue inspirado en técnicas como el Burst Mode usado en procesadores como
el Intel 486,3 se
implantó un modo direccionamiento en el que el controlador de memoria envía una
sola dirección y recibe a cambio esa y varias consecutivas sin necesidad de
generar todas las direcciones. Esto supone un ahorro de tiempos ya que ciertas
operaciones son repetitivas cuando se desea acceder a muchas posiciones
consecutivas. Funciona como si deseáramos visitar todas las casas en una calle:
después de la primera vez no sería necesario decir el número de la calle
únicamente seguir la misma. Se fabricaban con tiempos de acceso de 70 ó 60 ns y
fueron muy populares en sistemas basados en el 486 y los primeros Pentium.
EDO RAM
Extended Data
Output RAM (EDO-RAM) fue lanzada al mercado en 1994 y con
tiempos de accesos de 40 o 30 ns suponía una mejora sobre FPM, su antecesora.
La EDO, también es capaz de enviar direcciones contiguas pero direcciona la
columna que va utilizar mientras que se lee la información de la columna
anterior, dando como resultado una eliminación de estados de espera,
manteniendo activo el búfer de salida
hasta que comienza el próximo ciclo de lectura.
BEDO RAM
Burst Extended Data
Output RAM (BEDO-RAM) fue la evolución de la EDO-RAM y
competidora de la SDRAM, fue presentada en 1997. Era un tipo de memoria que
usaba generadores internos de direcciones y accedía a más de una posición de
memoria en cada ciclo de reloj, de manera que lograba un desempeño un 50 %
mejor que la EDO. Nunca salió al mercado, dado que Intel y otros fabricantes se
decidieron por esquemas de memoria sincrónicos que si bien tenían mucho del
direccionamiento MOSTEK, agregan funcionalidades distintas como señales de
reloj.
Tipos de RAM
Las dos formas principales de RAM
moderna son:
- SRAM
(Static Random Access Memory), RAM estática, memoria estática de
acceso aleatorio.
- volátiles.
- no volátiles:
- NVRAM
(non-volatile random access memory), memoria
de acceso aleatorio no volátil
- MRAM
(magnetoresistive random-access memory), memoria de acceso
aleatorio magnetorresistiva o magnética
- DRAM
(Dynamic Random Access Memory), RAM dinámica, memoria dinámica de
acceso aleatorio.
- DRAM
Asincrónica (Asynchronous Dynamic Random Access
Memory, memoria de acceso aleatorio dinámica asincrónica)
- FPM RAM
(Fast Page Mode RAM)
- EDO RAM
(Extended Data Output RAM)
- SDRAM
(Synchronous Dynamic Random-Access Memory, memoria de acceso
aleatorio dinámica sincrónica)
- Rambus:
- RDRAM
(Rambus Dynamic Random Access Memory)
- XDR DRAM
(eXtreme Data Rate Dynamic Random Access Memory)
- XDR2 DRAM
(eXtreme Data Rate two Dynamic Random Access Memory)
- SDR SDRAM
(Single Data Rate Synchronous Dynamic Random-Access Memory, SDRAM
de tasa de datos simple)
- DDR SDRAM
(Double Data Rate Synchronous Dynamic Random-Access Memory, SDRAM
de tasa de datos doble)
- DDR2 SDRAM
(Double Data Rate type two SDRAM, SDRAM de tasa de datos doble de
tipo dos)
- DDR3 SDRAM
(Double Data Rate type three SDRAM, SDRAM de tasa de datos doble
de tipo tres)
- DDR4 SDRAM
(Double Data Rate type four SDRAM, SDRAM de tasa de datos doble
de tipo cuatro)
Nomenclatura
La expresión memoria RAM se
utiliza frecuentemente para describir a los módulos de memoria
utilizados en las computadoras personales y servidores.
La RAM es solo una variedad de la
memoria de acceso aleatorio: las ROM, memorias Flash, caché (SRAM), los registros en procesadores y otras unidades de procesamiento
también poseen la cualidad de presentar retardos de acceso iguales para
cualquier posición.
Los módulos de RAM son la presentación
comercial de este tipo de memoria, que se compone de circuitos integrados
soldados sobre un circuito impreso
independiente, en otros dispositivos como las consolas de videojuegos, la RAM
va soldada directamente sobre la placa principal.
Módulos de RAM
Los módulos de RAM son tarjetas o
placas de circuito impreso que tienen
soldados chips de memoria DRAM, por una o
ambas caras.
La implementación DRAM se basa en una
topología de circuito eléctrico
que permite alcanzar densidades altas de memoria por cantidad de transistores,
logrando integrados de cientos o miles de megabits. Además de DRAM, los módulos
poseen un integrado que permiten la identificación de los mismos ante la
computadora por medio del protocolo de comunicación Serial Presence Detect (SPD).
La conexión con los demás componentes
se realiza por medio de un área de pines en uno de los filos del circuito impreso, que permiten
que el módulo al ser instalado en un zócalo o ranura apropiada de la placa
base, tenga buen contacto eléctrico con los controladores de memoria y las
fuentes de alimentación.
La necesidad de hacer intercambiable
los módulos, y de utilizar integrados de distintos fabricantes, condujo al
establecimiento de estándares de la industria como los Joint Electron Device Engineering
Council (JEDEC).
- Paquete DIP (Dual In-line Package, paquete de pines
en-línea doble).
- Paquete SIPP (Single In-line Pin Package, paquete de
pines en-línea simple): fueron los primeros módulos comerciales de
memoria, de formato propietario, es decir, no había un estándar entre
distintas marcas.
- Módulos RIMM (Rambus In-line Memory Module, módulo de
memoria en-línea rambus): Fueron otros módulos propietarios bastante
conocidos, ideados por la empresa RAMBUS.
- Módulos SIMM (Single In-line Memory Module, módulo de
memoria en-línea simple): formato usado en computadoras antiguas. Tenían
un bus de datos de 16 ó 32 bits.
- Módulos DIMM (Dual In-line Memory Module, módulo de
memoria en-línea dual): usado en computadoras de escritorio. Se
caracterizan por tener un bus de datos de 64 bits.
- Módulos SO-DIMM (Small Outline DIMM): usado en computadoras
portátiles. Formato miniaturizado de DIMM.
- Módulos FB-DIMM (Fully-Buffered Dual
Inline Memory Module): usado en servidores.
Tecnologías de memoria
La tecnología de memoria actual usa
una señal de sincronización para realizar las funciones de lectura/escritura de
manera que siempre está sincronizada con un reloj del bus de memoria, a diferencia de las antiguas memorias FPM y EDO que
eran asíncronas.
Toda la industria se decantó por las
tecnologías síncronas, porque permiten construir integrados que funcionen a una
frecuencia superior a 66 MHz.
Tipos de DIMM según su cantidad de
contactos o pines:
Cantidad
de pines
|
Tipos
de DIMM
|
Usados
por:
|
Observaciones
|
072
|
SO-DIMM
|
FPM-DRAM y EDO-DRAM
|
(no el mismo que un 72-pin SIMM)
|
100
|
DIMM
|
printer
SDRAM
|
|
144
|
SO-DIMM
|
SDR SDRAM
|
|
168
|
DIMM
|
SDR
SDRAM
|
(menos frecuente para FPM/EDO DRAM en áreas de trabajo
y/o servidores)
|
172
|
Micro-DIMM
|
DDR SDRAM
|
|
184
|
DIMM
|
DDR
SDRAM
|
|
200
|
SO-DIMM
|
DDR
SDRAM y DDR2 SDRAM
|
|
204
|
SO-DIMM
|
DDR3 SDRAM
|
|
240
|
DIMM
|
DDR2
SDRAM, DDR3 SDRAM y Fully Buffered DIMM
(FB-DIMM) DRAM
|
|
244
|
Mini-DIMM
|
DDR2
SDRAM
|
Memorias RAM con tecnologías usadas en la actualidad.
SDR SDRAM
Memoria síncrona, con tiempos de
acceso de entre 25 y 10 ns y que se presentan en módulos DIMM de 168
contactos. Fue utilizada en los Pentium II y en los Pentium III , así como
en los AMD K6, AMD Athlon K7 y
Duron. Está muy extendida la creencia de que se llama SDRAM a secas, y
que la denominación SDR SDRAM es para diferenciarla de la memoria DDR, pero no
es así, simplemente se extendió muy rápido la denominación incorrecta. El
nombre correcto es SDR SDRAM ya que ambas (tanto la SDR como la DDR) son
memorias síncronas dinámicas. Los
tipos disponibles son:
- PC66: SDR SDRAM,
funciona a un máx de 66,6 MHz.
- PC100: SDR SDRAM,
funciona a un máx de 100 MHz.
- PC133: SDR SDRAM,
funciona a un máx de 133,3 MHz.
RDRAM
Se presentan en módulos RIMM de 184
contactos. Fue utilizada en los Pentium 4 . Era la
memoria más rápida en su tiempo, pero por su elevado costo fue rápidamente
cambiada por la económica DDR. Los
tipos disponibles son:
- PC600: RIMM RDRAM,
funciona a un máximo de 300 MHz.
- PC700: RIMM RDRAM,
funciona a un máximo de 356 MHz.
- PC800: RIMM RDRAM,
funciona a un máximo de 400 MHz.
- PC1066: RIMM RDRAM,
funciona a un máximo de 533 MHz.
- PC1200: RIMN RDRAM,
funciona a un máximo de 600 MHz.
DDR SDRAM
Memoria síncrona, 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 DIMM de 184
contactos en el caso de ordenador de escritorio y en módulos de 144 contactos
para los ordenadores portátiles.
La nomenclatura utilizada para definir
a los módulos de memoria de tipo DDR (esto incluye a los formatos DDR2, DDR3 y
DDR4) es la siguiente: DDRx-yyyy PCx-zzzz; donde x representa a la generación
DDR en cuestión; yyyy la frecuencia aparente o efectiva, en Megaciclos por
segundo (MHz); y zzzz la máxima tasa de transferencia de datos por segundo, en
Megabytes, que se puede lograr entre el módulo de memoria y el controlador de
memoria. La tasa de transferencia depende de dos factores, el ancho de bus de
datos (por lo general 64 bits) y la frecuencia aparente o efectiva de trabajo.
La fórmula que se utiliza para calcular la máxima tasa de transferencia por
segundo entre el módulo de memoria y su controlador, es la siguiente:
Por ejemplo:
1 GB DDR-400 PC-3200: Representa un
módulo de 1 GB (Gigabyte) de tipo DDR; con frecuencia aparente o efectiva de
trabajo de 400 MHz; y una tasa de transferencia de datos máxima de 3200 MB/s.
4 GB DDR3-2133 PC3-17000: Representa
un módulo de 4 GB de tipo DDR3; frecuencia aparente o efectiva de trabajo de
2133 MHz; y una tasa de transferencia de datos máxima de 17000 MB/s.
Los tipos disponibles son:
- PC1600 o DDR 200:
funciona a un máx de 200 MHz.
- PC2100 o DDR 266:
funciona a un máx de 266,6 MHz.
- PC2700 o DDR 333:
funciona a un máx de 333,3 MHz.
- PC3200 o DDR 400:
funciona a un máx de 400 MHz.
- PC4500 o DDR 500:
funciona a una máx de 500 MHz.
DDR2 SDRAM
Módulos de memoria instalados de 256 MiB cada uno en un
sistema con doble canal.
Las memorias DDR 2 son una mejora de
las memorias DDR (Double Data Rate), que permiten que los búferes de
entrada/salida trabajen al doble de la frecuencia del núcleo, permitiendo que
durante cada ciclo de reloj se realicen cuatro transferencias. Se presentan en
módulos DIMM de 240
contactos. Los tipos disponibles son:
- PC2-3200 o DDR2-400:
funciona a un máx de 400 MHz.
- PC2-4200 o DDR2-533:
funciona a un máx de 533,3 MHz.
- PC2-5300 o DDR2-667:
funciona a un máx de 666,6 MHz.
- PC2-6400 o DDR2-800:
funciona a un máx de 800 MHz.
- PC2-8600 o DDR2-1066:
funciona a un máx de 1066,6 MHz.
- PC2-9000 o DDR2-1200:
funciona a un máx de 1200 MHz.
DDR3 SDRAM
Las memorias DDR 3 son una mejora de
las memorias DDR 2, proporcionan significantes mejoras en el rendimiento en
niveles de bajo voltaje, lo que lleva consigo una disminución del gasto global
de consumo. Los módulos DIMM DDR 3
tienen 240 pines, el mismo número que DDR 2; sin embargo, los DIMMs son
físicamente incompatibles, debido a una ubicación diferente de la muesca. Los tipos disponibles son:
- PC3-6400 o DDR3-800:
funciona a un máx de 800 MHz.
- PC3-8500 o DDR3-1066:
funciona a un máx de 1066,6 MHz.
- PC3-10600 o
DDR3-1333: funciona a un máx de 1333,3 MHz.
- PC3-12800 o
DDR3-1600: funciona a un máx de 1600 MHz.
- PC3-14900 o
DDR3-1866: funciona a un máx de 1866,6 MHz.
- PC3-17000 o
DDR3-2133: funciona a un máx de 2133,3 MHz.
- PC3-19200 o
DDR3-2400: funciona a un máx de 2400 MHz.
- PC3-21300 o
DDR3-2666: funciona a un máx de 2666,6 MHz.
DDR4 SDRAM
Relación con el resto del sistema
Dentro de la jerarquía de memoria, la RAM se encuentra en un nivel
después de los registros del procesador y de las cachés en cuanto a velocidad.
Los módulos de RAM se conectan
eléctricamente a un controlador de memoria que gestiona las
señales entrantes y salientes de los integrados DRAM. Las señales son de tres
tipos: direccionamiento, datos y señales de control. En el módulo de memoria
esas señales están divididas en dos buses y un conjunto misceláneo de líneas de
control y alimentación. Entre todas forman el bus de memoria que conecta
la RAM con su controlador:
- Bus de datos: son las líneas que llevan información entre los
integrados y el controlador. Por lo general, están agrupados en octetos
siendo de 8, 16, 32 y 64 bits, cantidad que debe igualar el ancho del bus
de datos del procesador. En el pasado, algunos formatos de módulo, no
tenían un ancho de bus igual al del procesador. En ese caso había que
montar módulos en pares o en situaciones extremas, de a 4 módulos, para
completar lo que se denominaba banco de memoria, de otro modo el
sistema no funciona. Esa fue la principal razón para aumentar el número de
pines en los módulos, igualando al ancho de bus de procesadores como el Pentium a 64 bits, a principios de los años 1990.
- Bus de direcciones: es un bus en el cual se colocan las direcciones de
memoria a las que se requiere acceder. No es igual al bus de direcciones
del resto del sistema, ya que está multiplexado de manera que la dirección
se envía en dos etapas. Para ello, el controlador realiza temporizaciones
y usa las líneas de control. En cada estándar de módulo se establece un tamaño máximo en bits de este bus,
estableciendo un límite teórico de la capacidad máxima por módulo.
- Señales misceláneas: entre las que están las de la alimentación (Vdd,
Vss) que se encargan de entregar potencia a los integrados. Están las
líneas de comunicación para el integrado de presencia (Serial Presence Detect) que sirve para identificar cada módulo. Están las
líneas de control entre las que se encuentran las llamadas RAS (Row
Address Strobe) y CAS (Column Address Strobe) que controlan el
bus de direcciones, por último están las señales de reloj en las memorias
sincrónicas SDRAM.
Algunos controladores de memoria en
sistemas como PC y servidores se encuentran embebidos en el llamado puente norte (North
Bridge) de la placa base. Otros sistemas incluyen el controlador dentro del
mismo procesador (en el caso de los procesadores desde AMD Athlon 64 e Intel Core i7 y
posteriores). En la mayoría de los casos el tipo de memoria que puede manejar
el sistema está limitado por los sockets para RAM instalados en la placa
base, a pesar que los controladores de memoria en muchos casos son capaces de
conectarse con tecnologías de memoria distintas.
Una característica especial de algunos
controladores de memoria, es el manejo de la tecnología canal doble o doble canal (Dual
Channel), donde el controlador maneja bancos de memoria de 128 bits, siendo
capaz de entregar los datos de manera intercalada, optando por uno u otro
canal, reduciendo las latencias vistas por el procesador. La mejora en el
desempeño es variable y depende de la configuración y uso del equipo. Esta
característica ha promovido la modificación de los controladores de memoria,
resultando en la aparición de nuevos chipsets (la serie 865 y 875 de
Intel) o de nuevos zócalos de procesador en los AMD (el 939 con canal doble ,
reemplazo el 754 de canal sencillo). Los equipos de gamas media y alta por lo
general se fabrican basados en chipsets o zócalos que soportan doble
canal o superior, como en el caso del zócalo (socket) 1366 de Intel, que
usaba un triple canal de memoria, o su nuevo LGA 2011 que usa cuádruple canal.
Detección y corrección de errores
Existen dos clases de errores en los
sistemas de memoria, las fallas (Hard fails) que son daños en el
hardware y los errores (soft errors) provocados por causas fortuitas.
Los primeros son relativamente fáciles de detectar (en algunas condiciones el
diagnóstico es equivocado), los segundos al ser resultado de eventos
aleatorios, son más difíciles de hallar. En la actualidad 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 para
aplicaciones de oficina y caseras. En los usos más críticos, se aplican
técnicas de corrección y detección de errores basadas en diferentes
estrategias:
- La técnica del bit de paridad 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.
- Una técnica mejor es
la que usa “código de autochequeo y autocorrector” (error-correcting code, ECC), que permite detectar errores de 1 a 4
bits y corregir errores que afecten a un sólo bit. Esta técnica se usa
sólo en sistemas que requieren alta fiabilidad.
Por lo general, los sistemas con
cualquier tipo de protección contra errores tiene un coste más alto, y sufren
de pequeñas penalizaciones en desempeño, con respecto a los sistemas sin
protección. Para tener un sistema con ECC o paridad, el chipset y las
memorias deben tener soporte para esas tecnologías. La mayoría de placas base
no poseen dicho soporte.
Para los fallos de memoria se pueden
utilizar herramientas de software especializadas que realizan pruebas sobre los
módulos de memoria RAM. Entre estos programas uno de los más conocidos es la
aplicación Memtest86+ que
detecta fallos de memoria.
RAM registrada
Es un tipo de módulo usado
frecuentemente en servidores, posee circuitos integrados que se encargan de
repetir las señales de control y direcciones: las señales de reloj son
reconstruidas con ayuda del PLL que está ubicado en el módulo mismo. Las
señales de datos se conectan de la misma forma que en los módulos no
registrados: de manera directa entre los integrados de memoria y el
controlador. Los sistemas con memoria registrada permiten conectar más módulos
de memoria y de una capacidad más alta, sin que haya perturbaciones en las
señales del controlador de memoria, permitiendo el manejo de grandes cantidades
de memoria RAM. Entre las desventajas de los sistemas de memoria registrada
están el hecho de que se agrega un ciclo de retardo para cada solicitud de
acceso a una posición no consecutiva y un precio más alto que los módulos no
registrados. La memoria registrada es incompatible con los controladores de
memoria que no soportan el modo registrado, a pesar de que se pueden instalar
físicamente en el zócalo. Se pueden reconocer visualmente porque tienen un
integrado mediano, cerca del centro geométrico del circuito impreso, además de
que estos módulos suelen ser algo más altos.5
Durante el año 2006 varias marcas
lanzaron al mercado sistemas con memoria FB-DIMM que en su
momento se pensaron como los sucesores de la memoria registrada, pero se
abandonó esa tecnología en 2007 dado que ofrecía pocas ventajas sobre el diseño
tradicional de memoria registrada y los nuevos modelos con memoria DDR3.6
Véase también
- Acceso aleatorio
- Circuito impreso
- Circuito
integrado
- Doble canal
- DRAM
- Joint
Electron Device Engineering Council
- Memoria
(informática)
- Memoria de
solo lectura
- Memoria FRAM
- Memoria
gráfica de acceso aleatorio
- Memoria principal
- Memoria volátil
- Ranura de
expansión
- RDRAM
- Serial
Presence Detect
- SRAM
- Tecnología
de montaje superficial
- Zócalo
(electrónica)
No hay comentarios:
Publicar un comentario