This article has an unclear citation style. (April 2019) |
Computer memory and data storage types |
---|
Volatile |
Non-volatile |
La memoria dinámica de acceso aleatorio ( RAM dinámica o DRAM ) es un tipo de memoria semiconductora de acceso aleatorio que almacena cada bit de datos en una celda de memoria , que generalmente consta de un pequeño condensador y un transistor , ambos basados típicamente en tecnología de semiconductor de óxido de metal (MOS). Si bien la mayoría de los diseños de celdas de memoria DRAM utilizan un condensador y un transistor, algunos solo utilizan dos transistores. En los diseños en los que se utiliza un condensador, el condensador puede estar cargado o descargado; estos dos estados se toman para representar los dos valores de un bit, convencionalmente llamados 0 y 1. La carga eléctrica de los condensadores se filtra gradualmente; sin intervención, los datos del condensador se perderían pronto. Para evitar esto, la DRAM requiere un circuito de actualización de memoria externo que reescribe periódicamente los datos en los condensadores, restaurándolos a su carga original. Este proceso de actualización es la característica definitoria de la memoria dinámica de acceso aleatorio, en contraste con la memoria estática de acceso aleatorio (SRAM), que no requiere que se actualicen los datos. A diferencia de la memoria flash , la DRAM es una memoria volátil (en comparación con la memoria no volátil ), ya que pierde sus datos rápidamente cuando se corta la energía. Sin embargo, la DRAM presenta una remanencia de datos limitada .
La DRAM generalmente adopta la forma de un chip de circuito integrado , que puede constar de docenas a miles de millones de celdas de memoria DRAM. Los chips DRAM se utilizan ampliamente en electrónica digital donde se requiere una memoria de computadora de bajo costo y alta capacidad . Una de las aplicaciones más grandes de la DRAM es la memoria principal (coloquialmente llamada "RAM") en las computadoras modernas y las tarjetas gráficas (donde la "memoria principal" se llama memoria gráfica ). También se utiliza en muchos dispositivos portátiles y consolas de videojuegos . Por el contrario, la SRAM, que es más rápida y más cara que la DRAM, se usa típicamente donde la velocidad es una preocupación mayor que el costo y el tamaño, como las memorias caché en los procesadores .
La necesidad de actualizar la memoria DRAM exige circuitos y tiempos más complejos que la memoria SRAM. Esto se compensa con la simplicidad estructural de las celdas de memoria DRAM: solo se requiere un transistor y un capacitor por bit, en comparación con los cuatro o seis transistores de la memoria SRAM. Esto permite que la memoria DRAM alcance densidades muy altas con una reducción simultánea del costo por bit. Actualizar los datos consume energía y se utilizan diversas técnicas para administrar el consumo total de energía.
La DRAM tuvo un aumento del 47% en el precio por bit en 2017, el salto más grande en 30 años desde el salto del 45% en 1988, mientras que en los últimos años el precio ha estado bajando. [3] En 2018, una "característica clave del mercado de DRAM es que actualmente solo hay tres proveedores principales: Micron Technology , SK Hynix y Samsung Electronics " que "mantienen un control bastante estricto de su capacidad". [4] También está Kioxia (anteriormente Toshiba Memory Corporation después de la escisión de 2017) que no fabrica DRAM. Otros fabricantes fabrican y venden DIMM (pero no los chips DRAM que contienen), como Kingston Technology , y algunos fabricantes que venden DRAM apiladas (utilizadas, por ejemplo, en las supercomputadoras más rápidas en la exaescala ), por separado, como Viking Technology. Otros los venden integrados en otros productos, como Fujitsu en sus CPU, AMD en sus GPU y Nvidia , con HBM2 en algunos de sus chips GPU.
La máquina criptoanalítica llamada en código "Aquarius" que se utilizó en Bletchley Park durante la Segunda Guerra Mundial incorporaba una memoria dinámica cableada. Se leía una cinta de papel y los caracteres que contenía "se recordaban en un almacén dinámico. El almacén utilizaba un gran banco de condensadores, que estaban cargados o no, un condensador cargado representaba la cruz (1) y un condensador sin carga, el punto (0). Como la carga se perdía gradualmente, se aplicaba un pulso periódico para recargar los que aún estaban cargados (de ahí el término 'dinámico')". [5]
En noviembre de 1965, Toshiba introdujo una RAM dinámica bipolar para su calculadora electrónica "Toscal" BC-1411 . [6] [7] [8] En 1966, Tomohisa Yoshimaru e Hiroshi Komikawa de Toshiba solicitaron una patente japonesa de un circuito de memoria compuesto por varios transistores y un condensador, en 1967 solicitaron una patente en Estados Unidos. [9]
Las primeras formas de DRAM mencionadas anteriormente utilizaban transistores bipolares . Si bien ofrecían un rendimiento mejorado en comparación con la memoria de núcleo magnético , la DRAM bipolar no podía competir con el precio más bajo de la memoria de núcleo magnético que dominaba en ese momento. [10] Los condensadores también se habían utilizado para esquemas de memoria anteriores, como el tambor de la computadora Atanasoff-Berry , el tubo Williams y el tubo Selectron .
En 1966, el Dr. Robert Dennard inventó la arquitectura DRAM moderna en la que hay un solo transistor MOS por capacitor, [11] en el Centro de Investigación Thomas J. Watson de IBM , mientras trabajaba en la memoria MOS e intentaba crear una alternativa a la SRAM que requería seis transistores MOS para cada bit de datos. Mientras examinaba las características de la tecnología MOS, descubrió que era capaz de construir capacitores y que almacenar una carga o ninguna carga en el capacitor MOS podría representar el 1 y el 0 de un bit, mientras que el transistor MOS podría controlar la escritura de la carga en el capacitor. Esto lo llevó al desarrollo de la celda de memoria DRAM MOS de un solo transistor. [12] Presentó una patente en 1967 y se le concedió la patente estadounidense número 3.387.286 en 1968. [13] La memoria MOS ofrecía un mayor rendimiento, era más barata y consumía menos energía que la memoria de núcleo magnético. [14] La patente describe la invención: “Cada celda está formada, en una realización, utilizando un solo transistor de efecto de campo y un solo capacitor”. [15]
Los chips MOS DRAM fueron comercializados en 1969 por Advanced Memory Systems, Inc de Sunnyvale, CA. Este chip de 1024 bits fue vendido a Honeywell , Raytheon , Wang Laboratories y otros. El mismo año, Honeywell le pidió a Intel que fabricara una DRAM utilizando una celda de tres transistores que habían desarrollado. Esto se convirtió en el Intel 1102 a principios de 1970. [16] Sin embargo, el 1102 tuvo muchos problemas, lo que impulsó a Intel a comenzar a trabajar en su propio diseño mejorado, en secreto para evitar conflictos con Honeywell. Esta se convirtió en la primera DRAM disponible comercialmente, el Intel 1103 , en octubre de 1970, a pesar de los problemas iniciales con el bajo rendimiento hasta la quinta revisión de las máscaras . El 1103 fue diseñado por Joel Karp y diseñado por Pat Earhart. Las máscaras fueron cortadas por Barbara Maness y Judy Garcia. [17] [ investigación original? ] La memoria MOS superó a la memoria de núcleo magnético como la tecnología de memoria dominante a principios de la década de 1970. [14]
La primera DRAM con líneas de dirección de fila y columna multiplexadas fue la Mostek MK4096 de 4 Kbit diseñada por Robert Proebsting y presentada en 1973. Este esquema de direccionamiento utiliza los mismos pines de dirección para recibir la mitad inferior y la mitad superior de la dirección de la celda de memoria a la que se hace referencia, alternando entre las dos mitades en ciclos de bus alternos. Este fue un avance radical, que redujo a la mitad de manera efectiva el número de líneas de dirección requeridas, lo que le permitió adaptarse a paquetes con menos pines, una ventaja de costo que aumentó con cada salto en el tamaño de la memoria. La MK4096 demostró ser un diseño muy robusto para aplicaciones de clientes. En la densidad de 16 Kbit, la ventaja de costo aumentó; la DRAM Mostek MK4116 de 16 Kbit, [18] [19] presentada en 1976, alcanzó una participación de mercado de DRAM superior al 75% en todo el mundo. Sin embargo, a medida que la densidad aumentó a 64 Kbit a principios de la década de 1980, Mostek y otros fabricantes estadounidenses fueron superados por los fabricantes japoneses de DRAM, que dominaron los mercados de Estados Unidos y del mundo entero durante las décadas de 1980 y 1990.
A principios de 1985, Gordon Moore decidió retirar a Intel de la producción de DRAM. [20] En 1986, muchos fabricantes de chips estadounidenses (pero no todos) habían dejado de fabricar DRAM. [21] Micron Technology y Texas Instruments continuaron produciéndolas comercialmente, e IBM las produjo para uso interno.
En 1985, cuando los chips de memoria DRAM de 64K eran los más utilizados en los ordenadores y más del 60 por ciento de ellos eran fabricados por empresas japonesas, los fabricantes de semiconductores de Estados Unidos acusaron a las empresas japonesas de practicar dumping en las exportaciones con el fin de expulsar a los fabricantes estadounidenses del negocio de los chips de memoria de consumo. Los precios de los productos de 64K se desplomaron hasta 35 centavos la unidad, desde 3,50 dólares, en un plazo de 18 meses, con desastrosas consecuencias financieras para algunas empresas estadounidenses. El 4 de diciembre de 1985, la Administración de Comercio Internacional del Departamento de Comercio de Estados Unidos falló a favor de la denuncia. [22]
La memoria de acceso aleatorio dinámico síncrono (SDRAM) fue desarrollada por Samsung . El primer chip SDRAM comercial fue el Samsung KM48SL2000, que tenía una capacidad de 16 Mb , [23] y se presentó en 1992. [24] El primer chip de memoria DDR SDRAM ( Double Data Rate SDRAM) comercial fue el chip DDR SDRAM de 64 Mb de Samsung, lanzado en 1998. [25]
Más tarde, en 2001, los fabricantes de DRAM japoneses acusaron a los fabricantes de DRAM coreanos de practicar dumping. [26]
En 2002, los fabricantes de computadoras estadounidenses denunciaron manipulación de precios de DRAM .
La DRAM suele estar dispuesta en una matriz rectangular de celdas de almacenamiento de carga que constan de un condensador y un transistor por bit de datos. La figura de la derecha muestra un ejemplo sencillo con una matriz de cuatro por cuatro celdas. Algunas matrices DRAM tienen muchos miles de celdas de alto y ancho. [27] [28]
Las líneas horizontales largas que conectan cada fila se conocen como líneas de palabras. Cada columna de celdas se compone de dos líneas de bits, cada una conectada a cada una de las demás celdas de almacenamiento de la columna (la ilustración de la derecha no incluye este importante detalle). Se las conoce generalmente como líneas de bits "+" y "−".
Un amplificador de detección es esencialmente un par de inversores conectados de forma cruzada entre las líneas de bits. El primer inversor está conectado con la entrada de la línea de bits + y la salida a la línea de bits -. La entrada del segundo inversor es de la línea de bits - y la salida a la línea de bits +. Esto da como resultado una retroalimentación positiva que se estabiliza después de que una línea de bits está completamente en su voltaje más alto y la otra línea de bits está en el voltaje más bajo posible.
Para almacenar datos, se abre una fila y el amplificador de detección de una columna dada se fuerza temporalmente al estado de voltaje alto o bajo deseado, lo que hace que la línea de bits cargue o descargue el capacitor de almacenamiento de la celda al valor deseado. Debido a la configuración de retroalimentación positiva del amplificador de detección, mantendrá una línea de bits a un voltaje estable incluso después de que se elimine el voltaje de forzamiento. Durante una escritura en una celda en particular, todas las columnas de una fila se detectan simultáneamente al igual que durante la lectura, por lo que, aunque solo se cambia la carga del capacitor de la celda de almacenamiento de una sola columna, se actualiza toda la fila (se vuelve a escribir), como se ilustra en la figura de la derecha. [29]
Normalmente, los fabricantes especifican que cada fila debe actualizarse cada 64 ms o menos, según lo define el estándar JEDEC .
Algunos sistemas actualizan cada fila en una ráfaga de actividad que involucra a todas las filas cada 64 ms. Otros sistemas actualizan una fila a la vez de manera escalonada a lo largo del intervalo de 64 ms. Por ejemplo, un sistema con 2 13 = 8192 filas requeriría una frecuencia de actualización escalonada de una fila cada 7,8 μs, que es 64 ms dividido por 8192 filas. Algunos sistemas en tiempo real actualizan una parte de la memoria a la vez, determinada por una función de temporizador externo que rige el funcionamiento del resto de un sistema, como el intervalo de borrado vertical que ocurre cada 10 a 20 ms en los equipos de video.
La dirección de la fila que se actualizará a continuación se mantiene mediante lógica externa o un contador dentro de la DRAM. Un sistema que proporciona la dirección de fila (y el comando de actualización) lo hace para tener un mayor control sobre cuándo actualizar y qué fila actualizar. Esto se hace para minimizar los conflictos con los accesos a la memoria, ya que un sistema de este tipo tiene conocimiento tanto de los patrones de acceso a la memoria como de los requisitos de actualización de la DRAM. Cuando la dirección de fila la proporciona un contador dentro de la DRAM, el sistema renuncia al control sobre qué fila se actualiza y solo proporciona el comando de actualización. Algunas DRAM modernas son capaces de actualizarse automáticamente; no se requiere lógica externa para indicarle a la DRAM que actualice o que proporcione una dirección de fila.
En determinadas condiciones, la mayoría de los datos en la DRAM se pueden recuperar incluso si la DRAM no se ha actualizado durante varios minutos. [30]
Se requieren muchos parámetros para describir completamente la sincronización del funcionamiento de la DRAM. A continuación se ofrecen algunos ejemplos de dos grados de sincronización de DRAM asíncrona, extraídos de una hoja de datos publicada en 1998: [31]
"50 ns" | "60 ns" | Descripción | |
---|---|---|---|
En RC | 84 ns | 104 ns | Tiempo de ciclo de lectura o escritura aleatorio (de un ciclo completo /RAS a otro) |
en RAC | 50 ns | 60 ns | Tiempo de acceso: /RAS bajo a datos válidos fuera |
en el RCD | 11 ns | 14 ns | Tiempo bajo de /RAS a /CAS bajo |
El RAS | 50 ns | 60 ns | Ancho de pulso /RAS (tiempo mínimo de /RAS bajo) |
El RP | 30 ns | 40 ns | /Tiempo de precarga RAS (tiempo mínimo /RAS alto) |
en PC | 20 ns | 25 ns | Tiempo de ciclo de lectura o escritura en modo página (/CAS a /CAS) |
El AA | 25 ns | 30 ns | Tiempo de acceso: Dirección de columna válida para datos válidos de salida (incluye tiempo de configuración de dirección antes de /CAS bajo) |
en CAC | 13 ns | 15 ns | Tiempo de acceso: /CAS bajo a datos válidos fuera |
El CAS | 8 ns | 10 ns | /CAS ancho de pulso mínimo bajo |
Por lo tanto, el número que se cita generalmente es el tiempo bajo mínimo de /RAS. Este es el tiempo para abrir una fila, lo que permite que los amplificadores de detección se estabilicen. Tenga en cuenta que el acceso a los datos para un bit en la fila es más corto, ya que eso sucede tan pronto como el amplificador de detección se ha estabilizado, pero la DRAM requiere tiempo adicional para propagar los datos amplificados de regreso para recargar las celdas. El tiempo para leer bits adicionales de una página abierta es mucho menor, definido por el tiempo de ciclo de /CAS a /CAS. El número citado es la forma más clara de comparar el rendimiento de diferentes memorias DRAM, ya que establece el límite más lento independientemente de la longitud de la fila o el tamaño de la página. Las matrices más grandes dan como resultado forzosamente una mayor capacitancia de línea de bits y retrasos de propagación más largos, lo que hace que este tiempo aumente ya que el tiempo de estabilización del amplificador de detección depende tanto de la capacitancia como de la latencia de propagación. Esto se contrarresta en los chips DRAM modernos al integrar muchas más matrices DRAM completas dentro de un solo chip, para acomodar más capacidad sin volverse demasiado lento.
Cuando se accede a una RAM de este tipo mediante lógica sincronizada, los tiempos generalmente se redondean al ciclo de reloj más cercano. Por ejemplo, cuando se accede a ella mediante una máquina de estados de 100 MHz (es decir, un reloj de 10 ns), la DRAM de 50 ns puede realizar la primera lectura en cinco ciclos de reloj y lecturas adicionales dentro de la misma página cada dos ciclos de reloj. Esto generalmente se describía como sincronización "5-2-2-2" , ya que eran comunes las ráfagas de cuatro lecturas dentro de una página.
Al describir la memoria sincrónica, la temporización se describe mediante recuentos de ciclos de reloj separados por guiones. Estos números representan t CL - t RCD - t RP - t RAS en múltiplos del tiempo de ciclo de reloj de la DRAM. Tenga en cuenta que esto es la mitad de la velocidad de transferencia de datos cuando se utiliza la señalización de doble velocidad de datos . La temporización del PC3200 estándar JEDEC es 3-4-4-8 [32] con un reloj de 200 MHz, mientras que la DIMM DRAM DDR PC3200 de alto rendimiento y precio superior puede funcionar con una temporización de 2-2-2-5 . [33]
PC-3200 (DDR-400) | PC2-6400 (DDR2-800) | PC3-12800 (DDR3-1600) | Descripción | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Típico | Rápido | Típico | Rápido | Típico | Rápido | ||||||||
ciclos | tiempo | ciclos | tiempo | ciclos | tiempo | ciclos | tiempo | ciclos | tiempo | ciclos | tiempo | ||
en CL | 3 | 15 ns | 2 | 10 ns | 5 | 12,5 ns | 4 | 10 ns | 9 | 11,25 ns | 8 | 10 ns | /CAS salida de datos bajos a válidos (equivalente a t CAC ) |
en el RCD | 4 | 20 ns | 2 | 10 ns | 5 | 12,5 ns | 4 | 10 ns | 9 | 11,25 ns | 8 | 10 ns | Tiempo bajo de /RAS a /CAS bajo |
El RP | 4 | 20 ns | 2 | 10 ns | 5 | 12,5 ns | 4 | 10 ns | 9 | 11,25 ns | 8 | 10 ns | /Tiempo de precarga RAS (precarga mínima hasta tiempo activo) |
El RAS | 8 | 40 ns | 5 | 25 ns | 16 | 40 ns | 12 | 30 ns | 27 | 33,75 ns | 24 | 30 ns | Tiempo activo de la fila (tiempo mínimo activo hasta precarga) |
El tiempo mínimo de acceso aleatorio ha mejorado de t RAC = 50 ns a t RCD + t CL = 22,5 ns , e incluso la variedad premium de 20 ns es solo 2,5 veces mejor en comparación con el caso típico (~2,22 veces mejor). La latencia CAS ha mejorado aún menos, de t CAC = 13 ns a 10 ns. Sin embargo, la memoria DDR3 logra un ancho de banda 32 veces mayor; debido a la canalización interna y las rutas de datos amplias, puede generar dos palabras cada 1,25 ns ( 1600 Mword/s) , mientras que la DRAM EDO puede generar una palabra por t PC = 20 ns (50 Mword/s).
|
|
Cada bit de datos de una DRAM se almacena como una carga eléctrica positiva o negativa en una estructura capacitiva. La estructura que proporciona la capacitancia, así como los transistores que controlan el acceso a ella, se denominan colectivamente celda DRAM . Son el bloque de construcción fundamental en las matrices DRAM. Existen múltiples variantes de celdas de memoria DRAM, pero la variante más utilizada en las DRAM modernas es la celda de un transistor, un capacitor (1T1C). El transistor se utiliza para admitir corriente en el capacitor durante las escrituras y para descargar el capacitor durante las lecturas. El transistor de acceso está diseñado para maximizar la potencia de la unidad y minimizar la fuga transistor-transistor (Kenner, pág. 34).
El condensador tiene dos terminales, uno de los cuales está conectado a su transistor de acceso y el otro a tierra o a V CC /2. En las DRAM modernas, el último caso es más común, ya que permite un funcionamiento más rápido. En las DRAM modernas, se requiere un voltaje de +V CC /2 a través del condensador para almacenar un uno lógico; y se requiere un voltaje de -V CC /2 a través del condensador para almacenar un cero lógico. La carga eléctrica almacenada en el condensador se mide en culombios . Para un uno lógico, la carga es: , donde Q es la carga en culombios y C es la capacitancia en faradios . Un cero lógico tiene una carga de: . [34]
Para leer o escribir un uno lógico es necesario que la línea de palabra se active a un voltaje mayor que la suma de V CC y el voltaje umbral del transistor de acceso (V TH ). Este voltaje se denomina V CC bombeado (V CCP ). El tiempo necesario para descargar un capacitor depende, por lo tanto, del valor lógico almacenado en el capacitor. Un capacitor que contiene un uno lógico comienza a descargarse cuando el voltaje en el terminal de compuerta del transistor de acceso es superior a V CCP . Si el capacitor contiene un cero lógico, comienza a descargarse cuando el voltaje en el terminal de compuerta es superior a V TH . [35]
Hasta mediados de los años 1980, los condensadores de las celdas DRAM eran coplanares con el transistor de acceso (se construían sobre la superficie del sustrato), por lo que se los denominaba condensadores planos . El objetivo de aumentar tanto la densidad como, en menor medida, el rendimiento, requería diseños más densos. Esto estaba fuertemente motivado por la economía, una consideración importante para los dispositivos DRAM, especialmente los DRAM comerciales. La minimización del área de la celda DRAM puede producir un dispositivo más denso y reducir el costo por bit de almacenamiento. A partir de mediados de los años 1980, el condensador se movió por encima o por debajo del sustrato de silicio para cumplir con estos objetivos. Las celdas DRAM que tienen condensadores sobre el sustrato se denominan condensadores de placa apilada o plegada . Aquellos con condensadores enterrados debajo de la superficie del sustrato se denominan condensadores de trinchera . En la década de 2000, los fabricantes estaban muy divididos sobre el tipo de condensador utilizado en sus DRAM y el costo relativo y la escalabilidad a largo plazo de ambos diseños han sido objeto de un amplio debate. La mayoría de las DRAM de los principales fabricantes como Hynix , Micron Technology y Samsung Electronics utilizan la estructura de condensadores apilados, mientras que los fabricantes más pequeños como Nanya Technology utilizan la estructura de condensadores de trinchera (Jacob, págs. 355-357).
El condensador en el esquema de condensadores apilados se construye por encima de la superficie del sustrato. El condensador se construye a partir de un dieléctrico de óxido-nitruro-óxido (ONO) intercalado entre dos capas de placas de polisilicio (la placa superior es compartida por todas las celdas DRAM en un CI), y su forma puede ser un rectángulo, un cilindro o alguna otra forma más compleja. Hay dos variaciones básicas del condensador apilado, según su ubicación relativa a la línea de bits: condensador sobre línea de bits (COB) y condensador debajo de línea de bits (CUB). En una variación anterior, el condensador está debajo de la línea de bits, que generalmente está hecha de metal, y la línea de bits tiene un contacto de polisilicio que se extiende hacia abajo para conectarlo al terminal de fuente del transistor de acceso. En la última variación, el condensador se construye por encima de la línea de bits, que casi siempre está hecha de polisilicio, pero por lo demás es idéntica a la variación COB. La ventaja que posee la variante COB es la facilidad de fabricación del contacto entre la línea de bits y la fuente del transistor de acceso, ya que está físicamente cerca de la superficie del sustrato. Sin embargo, esto requiere que el área activa se distribuya en un ángulo de 45 grados cuando se ve desde arriba, lo que dificulta garantizar que el contacto del capacitor no toque la línea de bits. Las celdas CUB evitan esto, pero sufren dificultades para insertar contactos entre las líneas de bits, ya que el tamaño de las características tan cercanas a la superficie es igual o cercano al tamaño de característica mínimo de la tecnología de proceso (Kenner, págs. 33-42).
El condensador de trinchera se construye grabando un agujero profundo en el sustrato de silicio. A continuación, el volumen del sustrato que rodea el agujero se dopa intensamente para producir una placa n + enterrada y reducir la resistencia. Se forma o deposita una capa de dieléctrico de óxido-nitruro-óxido y, por último, el agujero se rellena depositando polisilicio dopado, que forma la placa superior del condensador. La parte superior del condensador se conecta al terminal de drenaje del transistor de acceso a través de una tira de polisilicio (Kenner, págs. 42-44). La relación profundidad-anchura de un condensador de trinchera en las DRAM de mediados de la década de 2000 puede superar los 50:1 (Jacob, pág. 357).
Los condensadores de trinchera tienen numerosas ventajas. Dado que el condensador está enterrado en la masa del sustrato en lugar de yacer sobre su superficie, el área que ocupa se puede minimizar a lo necesario para conectarlo al terminal de drenaje del transistor de acceso sin disminuir el tamaño del condensador y, por lo tanto, la capacitancia (Jacob, págs. 356-357). Alternativamente, la capacitancia se puede aumentar grabando un orificio más profundo sin aumentar el área de superficie (Kenner, pág. 44). Otra ventaja del condensador de trinchera es que su estructura está debajo de las capas de interconexión de metal, lo que permite que se hagan más fácilmente planas, lo que permite integrarlo en una tecnología de proceso optimizada para la lógica, que tiene muchos niveles de interconexión por encima del sustrato. El hecho de que el condensador esté debajo de la lógica significa que se construye antes que los transistores. Esto permite que los procesos de alta temperatura fabriquen los condensadores, lo que de otro modo degradaría los transistores lógicos y su rendimiento. Esto hace que los condensadores de trinchera sean adecuados para construir memorias DRAM integradas (eDRAM) (Jacob, pág. 357). Las desventajas de los condensadores de trinchera son las dificultades para construir de manera confiable las estructuras del condensador dentro de agujeros profundos y para conectar el condensador al terminal de drenaje del transistor de acceso (Kenner, pág. 44).
Los circuitos integrados DRAM de primera generación (aquellos con capacidades de 1 Kbit), de los cuales el primero fue el Intel 1103 , utilizaban una celda DRAM de tres transistores y un capacitor (3T1C). En la segunda generación, el requisito de reducir el costo al colocar la misma cantidad de bits en un área más pequeña condujo a la adopción casi universal de la celda DRAM 1T1C, aunque un par de dispositivos con capacidades de 4 y 16 Kbit continuaron utilizando la celda 3T1C por razones de rendimiento (Kenner, p. 6). Estas ventajas de rendimiento incluían, la más significativa, la capacidad de leer el estado almacenado por el capacitor sin descargarlo, evitando la necesidad de volver a escribir lo que se leyó (lectura no destructiva). Una segunda ventaja de rendimiento se relaciona con que la celda 3T1C tiene transistores separados para lectura y escritura; El controlador de memoria puede explotar esta característica para realizar operaciones de lectura-modificación-escritura atómicas, donde un valor se lee, se modifica y luego se vuelve a escribir como una operación única e indivisible (Jacob, p. 459).
La celda DRAM de un transistor y cero capacitores (1T o 1T0C) ha sido un tema de investigación desde fines de la década de 1990. La DRAM 1T es una forma diferente de construir la celda de memoria DRAM básica, distinta de la celda DRAM clásica de un transistor/un capacitor (1T/1C), que a veces también se denomina "DRAM 1T", particularmente en comparación con la DRAM 3T y 4T que reemplazó en la década de 1970.
En las celdas DRAM de 1 T, el bit de datos todavía se almacena en una región capacitiva controlada por un transistor, pero esta capacitancia ya no la proporciona un capacitor separado. La DRAM de 1 T es un diseño de celda de bit "sin capacitores" que almacena datos utilizando la capacitancia de cuerpo parásito que es inherente a los transistores de silicio sobre aislante (SOI) . Considerado como una molestia en el diseño lógico, este efecto de cuerpo flotante se puede utilizar para el almacenamiento de datos. Esto le da a las celdas DRAM de 1 T la mayor densidad y permite una integración más fácil con circuitos lógicos de alto rendimiento, ya que están construidas con las mismas tecnologías de proceso SOI. [36]
La actualización de las celdas sigue siendo necesaria, pero a diferencia de lo que ocurre con las DRAM 1T1C, las lecturas en las DRAM 1T no son destructivas; la carga almacenada provoca un cambio detectable en el voltaje umbral del transistor. [37] En cuanto al rendimiento, los tiempos de acceso son significativamente mejores que los de las DRAM basadas en condensadores, pero ligeramente peores que los de las SRAM. Existen varios tipos de DRAM 1T: la Z-RAM comercializada por Innovative Silicon, la TTRAM [38] de Renesas y la A-RAM del consorcio UGR / CNRS .
Las celdas DRAM se disponen en un patrón rectangular regular, similar a una cuadrícula, para facilitar su control y acceso a través de líneas de palabra y líneas de bit. La disposición física de las celdas DRAM en una matriz se diseña típicamente de modo que dos celdas DRAM adyacentes en una columna compartan un único contacto de línea de bit para reducir su área. El área de la celda DRAM se expresa como n F 2 , donde n es un número derivado del diseño de la celda DRAM y F es el tamaño de característica más pequeño de una tecnología de proceso dada. Este esquema permite la comparación del tamaño de la DRAM en diferentes generaciones de tecnología de proceso, ya que el área de la celda DRAM se escala a tasas lineales o casi lineales con respecto al tamaño de la característica. El área típica de las celdas DRAM modernas varía entre 6 y 8 F 2 .
El cable horizontal, la wordline, está conectado al terminal de compuerta de cada transistor de acceso en su fila. La bitline vertical está conectada al terminal de fuente de los transistores en su columna. Las longitudes de las wordlines y bitlines son limitadas. La longitud de la wordline está limitada por el rendimiento deseado de la matriz, ya que el tiempo de propagación de la señal que debe atravesar la wordline está determinado por la constante de tiempo RC . La longitud de la bitline está limitada por su capacitancia (que aumenta con la longitud), que debe mantenerse dentro de un rango para una detección adecuada (ya que las DRAM funcionan detectando la carga del capacitor liberado en la bitline). La longitud de la bitline también está limitada por la cantidad de corriente operativa que la DRAM puede consumir y por cómo se puede disipar la energía, ya que estas dos características están determinadas en gran medida por la carga y descarga de la bitline.
Los amplificadores de detección son necesarios para leer el estado contenido en las celdas de la DRAM. Cuando se activa el transistor de acceso, la carga eléctrica del capacitor se comparte con la línea de bits. La capacitancia de la línea de bits es mucho mayor que la del capacitor (aproximadamente diez veces). Por lo tanto, el cambio en el voltaje de la línea de bits es mínimo. Los amplificadores de detección son necesarios para resolver el diferencial de voltaje en los niveles especificados por el sistema de señalización lógica. Las DRAM modernas utilizan amplificadores de detección diferenciales y están acompañadas de requisitos en cuanto a cómo se construyen las matrices de DRAM. Los amplificadores de detección diferenciales funcionan impulsando sus salidas a extremos opuestos en función de los voltajes relativos en pares de líneas de bits. Los amplificadores de detección funcionan de manera efectiva y eficiente solo si la capacitancia y los voltajes de estos pares de líneas de bits coinciden estrechamente. Además de garantizar que las longitudes de las líneas de bits y el número de celdas DRAM conectadas a ellas sean iguales, han surgido dos arquitecturas básicas para el diseño de matrices para satisfacer los requisitos de los amplificadores de detección: matrices de líneas de bits abiertas y plegadas.
Los circuitos integrados DRAM de primera generación (1 Kbit), hasta la generación de 64 Kbit (y algunos dispositivos de la generación de 256 Kbit) tenían arquitecturas de matriz de líneas de bits abiertas. En estas arquitecturas, las líneas de bits se dividen en múltiples segmentos y los amplificadores de detección diferencial se colocan entre los segmentos de líneas de bits. Debido a que los amplificadores de detección se colocan entre los segmentos de líneas de bits, para enrutar sus salidas fuera de la matriz, se requiere una capa adicional de interconexión colocada encima de las utilizadas para construir las líneas de palabras y las líneas de bits.
Las celdas DRAM que están en los bordes de la matriz no tienen segmentos adyacentes. Dado que los amplificadores de detección diferencial requieren capacitancia y longitudes de línea de bits idénticas de ambos segmentos, se proporcionan segmentos de línea de bits ficticios. La ventaja de la matriz de línea de bits abierta es un área de matriz más pequeña, aunque esta ventaja se ve ligeramente disminuida por los segmentos de línea de bits ficticios. La desventaja que causó la casi desaparición de esta arquitectura es la vulnerabilidad inherente al ruido , que afecta la efectividad de los amplificadores de detección diferencial. Dado que cada segmento de línea de bits no tiene ninguna relación espacial con el otro, es probable que el ruido afecte solo a uno de los dos segmentos de línea de bits.
La arquitectura de matriz de líneas de bits plegadas enruta las líneas de bits en pares a lo largo de la matriz. La proximidad de las líneas de bits emparejadas proporciona características superiores de rechazo de ruido en modo común en comparación con las matrices de líneas de bits abiertas. La arquitectura de matriz de líneas de bits plegadas comenzó a aparecer en los circuitos integrados DRAM a mediados de la década de 1980, a partir de la generación de 256 Kbit. Esta arquitectura es la preferida en los circuitos integrados DRAM modernos por su inmunidad superior al ruido.
Esta arquitectura se denomina " plegada" porque se basa en la arquitectura de matriz abierta desde la perspectiva del esquema del circuito. La arquitectura de matriz plegada parece eliminar celdas DRAM en pares alternos (ya que dos celdas DRAM comparten un único contacto de línea de bits) de una columna y luego mover las celdas DRAM de una columna adyacente a los espacios vacíos.
La ubicación donde se tuercen las líneas de bits ocupa un área adicional. Para minimizar la sobrecarga de área, los ingenieros seleccionan el esquema de torsión más simple y con el área más mínima que pueda reducir el ruido por debajo del límite especificado. A medida que la tecnología de procesos mejora para reducir los tamaños mínimos de las características, el problema de la relación señal-ruido empeora, ya que el acoplamiento entre cables metálicos adyacentes es inversamente proporcional a su paso. Los esquemas de plegado de matriz y torsión de líneas de bits que se utilizan deben aumentar en complejidad para mantener una reducción de ruido suficiente. Los esquemas que tienen características deseables de inmunidad al ruido para un impacto mínimo en el área son el tema de la investigación actual (Kenner, p. 37).
Los avances en la tecnología de procesos podrían favorecer las arquitecturas de matriz bitline abierta si pueden ofrecer mejores eficiencias de área a largo plazo, ya que las arquitecturas de matriz plegada requieren esquemas de plegado cada vez más complejos para adaptarse a cualquier avance en la tecnología de procesos. La relación entre la tecnología de procesos, la arquitectura de matriz y la eficiencia de área es un área activa de investigación.
Los primeros circuitos integrados DRAM no tenían redundancia. Un circuito integrado con una celda DRAM defectuosa se descartaba. A partir de la generación de 64 Kbit, las matrices DRAM han incluido filas y columnas de repuesto para mejorar el rendimiento. Las filas y columnas de repuesto brindan tolerancia a defectos de fabricación menores que han hecho que una pequeña cantidad de filas o columnas no funcionen. Las filas y columnas defectuosas se desconectan físicamente del resto de la matriz activando un fusible programable o cortando el cable con un láser. Las filas o columnas de repuesto se sustituyen mediante la lógica de reasignación en los decodificadores de filas y columnas (Jacob, págs. 358-361).
Las interferencias eléctricas o magnéticas dentro de un sistema informático pueden provocar que un solo bit de la memoria DRAM cambie espontáneamente al estado opuesto. La mayoría de los errores puntuales (" suaves ") en los chips DRAM se producen como resultado de la radiación de fondo , principalmente neutrones de rayos cósmicos secundarios, que pueden cambiar el contenido de una o más celdas de memoria o interferir con los circuitos utilizados para leerlas o escribirlas.
El problema se puede mitigar utilizando bits de memoria redundantes y circuitos adicionales que utilizan estos bits para detectar y corregir errores de software. En la mayoría de los casos, la detección y corrección las realiza el controlador de memoria ; a veces, la lógica requerida se implementa de forma transparente dentro de los chips o módulos DRAM, lo que habilita la funcionalidad de memoria ECC para sistemas que de otro modo no tendrían capacidad ECC. [40] Los bits de memoria adicionales se utilizan para registrar la paridad y permitir que los datos faltantes se reconstruyan mediante un código de corrección de errores (ECC). La paridad permite la detección de todos los errores de un solo bit (en realidad, cualquier número impar de bits erróneos). El código de corrección de errores más común, un código Hamming SECDED , permite corregir un error de un solo bit y, en la configuración habitual, con un bit de paridad adicional, detectar errores de doble bit. [41]
Estudios recientes arrojan tasas de error muy variables con más de siete órdenes de magnitud de diferencia, que van desde 10 −10 −10 −17 error/bit·h , aproximadamente un error de bit, por hora, por gigabyte de memoria a un error de bit, por siglo, por gigabyte de memoria. [42] [43] [44] El estudio de Schroeder et al. de 2009 informó una probabilidad del 32% de que una computadora dada en su estudio sufriera al menos un error corregible por año, y proporcionó evidencia de que la mayoría de estos errores son errores duros intermitentes en lugar de errores blandos y que trazas de material radiactivo que se habían metido en el empaque del chip estaban emitiendo partículas alfa y corrompiendo los datos. [45] Un estudio de 2010 en la Universidad de Rochester también proporcionó evidencia de que una fracción sustancial de los errores de memoria son errores duros intermitentes. [46] Estudios a gran escala sobre la memoria principal no ECC en PC y portátiles sugieren que los errores de memoria no detectados son responsables de una cantidad sustancial de fallas del sistema: el estudio de 2011 informó una probabilidad de 1 en 1700 por cada 1,5 % de la memoria probada (extrapolando a una probabilidad de aproximadamente el 26 % para la memoria total) de que una computadora tenga un error de memoria cada ocho meses. [47]
Aunque la memoria dinámica solo se especifica y se garantiza que retiene su contenido cuando se suministra energía y se actualiza cada corto período de tiempo (a menudo 64 ms ), los capacitores de las celdas de memoria a menudo retienen sus valores durante un tiempo significativamente más largo, particularmente a bajas temperaturas. [48] En algunas condiciones, la mayoría de los datos en DRAM se pueden recuperar incluso si no se han actualizado durante varios minutos. [49]
Esta propiedad se puede utilizar para eludir la seguridad y recuperar datos almacenados en la memoria principal que se supone que se destruye al apagar el sistema. El ordenador se puede reiniciar rápidamente y leer el contenido de la memoria principal; o quitando los módulos de memoria de un ordenador, enfriándolos para prolongar la remanencia de los datos y luego transfiriéndolos a un ordenador diferente para leerlos. Se demostró que un ataque de este tipo elude los sistemas de cifrado de disco populares, como el TrueCrypt de código abierto , el BitLocker Drive Encryption de Microsoft y el FileVault de Apple . [48] Este tipo de ataque contra un ordenador se suele denominar ataque de arranque en frío .
La memoria dinámica, por definición, requiere una actualización periódica. Además, la lectura de la memoria dinámica es una operación destructiva, que requiere una recarga de las celdas de almacenamiento en la fila que se ha leído. Si estos procesos son imperfectos, una operación de lectura puede causar errores suaves . En particular, existe el riesgo de que algo de carga pueda filtrarse entre celdas cercanas, lo que hace que la actualización o lectura de una fila cause un error de perturbación en una fila adyacente o incluso cercana. La conciencia de los errores de perturbación se remonta a la primera DRAM disponible comercialmente a principios de la década de 1970 (la Intel 1103 ). A pesar de las técnicas de mitigación empleadas por los fabricantes, los investigadores comerciales demostraron en un análisis de 2014 que los chips DRAM DDR3 disponibles comercialmente fabricados en 2012 y 2013 son susceptibles a errores de perturbación. [50] El efecto secundario asociado que llevó a los cambios de bits observados se ha denominado martillo de fila .
Los circuitos integrados de RAM dinámica se pueden encapsular en carcasas de epoxi moldeadas, con un marco interno de cables para interconexiones entre el chip de silicio y los cables del encapsulado. El diseño original de IBM PC utilizaba circuitos integrados, incluidos los de DRAM, encapsulados en encapsulados en línea dual (DIP), soldados directamente a la placa base o montados en zócalos. A medida que la densidad de memoria se disparó, el encapsulado DIP dejó de ser práctico. Para facilitar su manejo, se pueden montar varios circuitos integrados de RAM dinámica en un solo módulo de memoria, lo que permite la instalación de memoria de 16 bits, 32 bits o 64 bits de ancho en una sola unidad, sin necesidad de que el instalador inserte varios circuitos integrados individuales. Los módulos de memoria pueden incluir dispositivos adicionales para la comprobación de paridad o la corrección de errores. A lo largo de la evolución de las computadoras de escritorio, se han desarrollado varios tipos estandarizados de módulos de memoria. Las computadoras portátiles, las consolas de juegos y los dispositivos especializados pueden tener sus propios formatos de módulos de memoria no intercambiables con las piezas de escritorio estándar por razones de empaquetado o de propiedad.
La DRAM que se integra en un circuito integrado diseñado en un proceso de lógica optimizada (como un circuito integrado específico de la aplicación , un microprocesador o un sistema completo en un chip ) se denomina DRAM integrada (eDRAM). La DRAM integrada requiere diseños de celdas DRAM que se puedan fabricar sin impedir la fabricación de transistores de conmutación rápida utilizados en lógica de alto rendimiento y la modificación de la tecnología básica del proceso de lógica optimizada para dar cabida a los pasos del proceso necesarios para construir estructuras de celdas DRAM.
Dado que la celda y la matriz DRAM fundamentales han mantenido la misma estructura básica durante muchos años, los tipos de DRAM se distinguen principalmente por las muchas interfaces diferentes para comunicarse con los chips DRAM.
La DRAM original, conocida actualmente con el retrónimo de " DRAM asincrónica ", fue el primer tipo de DRAM que se utilizó. Desde sus orígenes a finales de los años 1960, fue algo habitual en informática hasta alrededor de 1997, cuando fue reemplazada en su mayor parte por la DRAM síncrona . En la actualidad, la fabricación de RAM asincrónica es relativamente poco frecuente. [51]
Un chip DRAM asíncrono tiene conexiones de alimentación, una cierta cantidad de entradas de dirección (normalmente 12) y unas pocas líneas de datos bidireccionales (normalmente una o cuatro). Hay cuatro señales de control activas bajas :
Esta interfaz proporciona un control directo de la sincronización interna. Cuando el RAS se activa en un nivel bajo, no se debe intentar un ciclo CAS hasta que los amplificadores de detección hayan detectado el estado de la memoria, y el RAS no debe volver a un nivel alto hasta que se hayan actualizado las celdas de almacenamiento. Cuando el RAS se activa en un nivel alto, se debe mantener alto el tiempo suficiente para que se complete la precarga.
Aunque la DRAM es asincrónica, las señales normalmente son generadas por un controlador de memoria sincronizada, que limita su sincronización a múltiplos del ciclo de reloj del controlador.
La DRAM asincrónica clásica se actualiza abriendo cada fila por turno.
Los ciclos de actualización se distribuyen a lo largo de todo el intervalo de actualización de manera que todas las filas se actualicen dentro del intervalo requerido. Para actualizar una fila de la matriz de memoria mediante la actualización solo RAS (ROR), se deben realizar los siguientes pasos:
Esto se puede hacer suministrando una dirección de fila y pulsando RAS bajo; no es necesario realizar ningún ciclo CAS . Se necesita un contador externo para iterar sobre las direcciones de fila a su vez. [52] En algunos diseños, la CPU manejaba la actualización de RAM, entre estos el Zilog Z80 es quizás el ejemplo más conocido, alojando un contador de fila en un registro de procesador , R, e incluyendo temporizadores internos que sondearían periódicamente la fila en R y luego incrementarían el valor en el registro. Las actualizaciones se intercalaban con instrucciones comunes como lecturas de memoria. [53] En otros sistemas, especialmente computadoras domésticas , la actualización a menudo era manejada por el circuito de video, ya que a menudo tenía que leer desde grandes áreas de memoria y realizaba actualizaciones como parte de estas operaciones. [54]
Por comodidad, el contador se incorporó rápidamente a los propios chips DRAM. Si la línea CAS se pone a nivel bajo antes de RAS (normalmente una operación ilegal), la DRAM ignora las entradas de dirección y utiliza un contador interno para seleccionar la fila que se abrirá. Esto se conoce como actualización CAS -antes- de RAS (CBR). Esta se convirtió en la forma estándar de actualización para DRAM asíncrona y es la única forma que se utiliza generalmente con SDRAM.
Si se admite la actualización de RAS antes de la actualización de CAS , es posible anular la activación de RAS mientras se mantiene la activación de CAS en un nivel bajo para mantener la salida de datos. Si luego se activa nuevamente RAS , se realiza un ciclo de actualización CBR mientras las salidas de DRAM siguen siendo válidas. Debido a que la salida de datos no se interrumpe, esto se conoce como actualización oculta . [55]
El modo de página DRAM es una modificación menor a la interfaz IC DRAM de primera generación que mejoraba el rendimiento de lecturas y escrituras en una fila al evitar la ineficiencia de precargar y abrir la misma fila repetidamente para acceder a una columna diferente. En el modo de página DRAM, después de abrir una fila manteniendo RAS bajo, la fila podía mantenerse abierta y se podían realizar múltiples lecturas o escrituras en cualquiera de las columnas de la fila. Cada acceso a la columna se iniciaba afirmando CAS y presentando una dirección de columna. Para las lecturas, después de un retraso ( t CAC ), los datos válidos aparecerían en los pines de salida de datos, que se mantuvieron en Z alto antes de la aparición de datos válidos. Para las escrituras, la señal de habilitación de escritura y los datos de escritura se presentarían junto con la dirección de la columna. [56]
La DRAM en modo página fue a su vez mejorada posteriormente con una pequeña modificación que redujo aún más la latencia. Las DRAM con esta mejora se denominaron DRAM en modo página rápida ( FPM DRAM ). En la DRAM en modo página, CAS se afirmaba antes de que se suministrara la dirección de columna. En la DRAM FPM, la dirección de columna podía suministrarse mientras CAS todavía estaba desafirmado. La dirección de columna se propagaba a través de la ruta de datos de dirección de columna, pero no emitía datos en los pines de datos hasta que se afirmaba CAS . Antes de que se afirmara CAS , los pines de salida de datos se mantenían en alto-Z. La DRAM FPM reducía la latencia de CAC . [57] La DRAM en modo página rápida se introdujo en 1986 y se utilizó con Intel 80486.
La columna estática es una variante del modo de página rápida en el que no es necesario almacenar la dirección de la columna, sino que las entradas de dirección se pueden cambiar con el CAS bajo y la salida de datos se actualizará en consecuencia unos pocos nanosegundos más tarde. [57]
El modo Nibble es otra variante en la que se puede acceder a cuatro ubicaciones secuenciales dentro de la fila con cuatro pulsos consecutivos de CAS . La diferencia con el modo de página normal es que las entradas de dirección no se utilizan para los bordes CAS segundo a cuarto ; se generan internamente a partir de la dirección suministrada para el primer borde CAS . [57]
La memoria DRAM de salida de datos extendida (EDO DRAM) fue inventada y patentada en la década de 1990 por Micron Technology, que luego licenció la tecnología a muchos otros fabricantes de memoria. [58] La memoria RAM EDO, a veces denominada DRAM habilitada para modo hiperpágina , es similar a la DRAM de modo página rápida con la característica adicional de que se puede iniciar un nuevo ciclo de acceso mientras se mantiene activa la salida de datos del ciclo anterior. Esto permite una cierta cantidad de superposición en la operación (canalización), lo que permite un rendimiento ligeramente mejorado. Es hasta un 30% más rápida que la DRAM FPM, [59] a la que comenzó a reemplazar en 1995 cuando Intel presentó el chipset 430FX con soporte para DRAM EDO. Independientemente de las ganancias de rendimiento, las SIMM FPM y EDO se pueden usar indistintamente en muchas aplicaciones (pero no en todas). [60] [61]
Para ser precisos, la DRAM EDO comienza la salida de datos en el flanco descendente de CAS , pero no detiene la salida cuando CAS vuelve a subir. Mantiene la salida válida (extendiendo así el tiempo de salida de datos) hasta que se anule la activación de RAS o un nuevo flanco descendente de CAS seleccione una dirección de columna diferente.
El EDO de ciclo único tiene la capacidad de realizar una transacción de memoria completa en un ciclo de reloj. De lo contrario, cada acceso secuencial a la RAM dentro de la misma página requiere dos ciclos de reloj en lugar de tres, una vez que se ha seleccionado la página. El rendimiento y las capacidades de EDO crearon una oportunidad para reducir la inmensa pérdida de rendimiento asociada con la falta de caché L2 en PC de bajo costo y de consumo. Esto también fue bueno para las computadoras portátiles debido a las dificultades con su factor de forma limitado y las limitaciones de duración de la batería. Además, para los sistemas con una caché L2, la disponibilidad de memoria EDO mejoró la latencia de memoria promedio observada por las aplicaciones en comparación con las implementaciones anteriores de FPM.
La DRAM EDO de ciclo único se volvió muy popular en las tarjetas de video hacia fines de la década de 1990. Era muy económica, pero casi tan eficiente en rendimiento como la VRAM mucho más costosa.
Una evolución de la EDO DRAM, la EDO DRAM en ráfagas (BEDO DRAM), podía procesar cuatro direcciones de memoria en una ráfaga, para un máximo de 5-1-1-1 , ahorrando tres ciclos de reloj adicionales en comparación con la memoria EDO diseñada de manera óptima. Se hizo agregando un contador de direcciones en el chip para realizar un seguimiento de la siguiente dirección. BEDO también agregó una etapa de canalización que permitía dividir el ciclo de acceso a la página en dos partes. Durante una operación de lectura de memoria, la primera parte accedía a los datos de la matriz de memoria a la etapa de salida (segundo pestillo). La segunda parte manejaba el bus de datos desde este pestillo en el nivel lógico apropiado. Dado que los datos ya están en el búfer de salida, se logra un tiempo de acceso más rápido (hasta el 50% para bloques grandes de datos) que con la EDO tradicional.
Aunque la DRAM BEDO mostró una optimización adicional sobre la EDO, cuando estuvo disponible el mercado había realizado una inversión significativa en DRAM sincrónica, o SDRAM. [62] Aunque la RAM BEDO era superior a la SDRAM en algunos aspectos, esta última tecnología desplazó rápidamente a BEDO.
La memoria RAM dinámica sincrónica (SDRAM) revisa significativamente la interfaz de memoria asincrónica, agregando una línea de reloj (y una línea de habilitación de reloj). Todas las demás señales se reciben en el flanco ascendente del reloj.
Las entradas RAS y CAS ya no actúan como estroboscopios, sino que, junto con WE , son parte de un comando de 3 bits controlado por un nuevo estroboscopio activo bajo, selección de chip o CS :
CS | Ras | CAS | NOSOTROS | DIRECCIÓN | Dominio |
---|---|---|---|---|---|
yo | incógnita | incógnita | incógnita | incógnita | Comando de inhibición (sin operación) |
yo | yo | yo | yo | incógnita | Sin operación |
yo | yo | yo | yo | incógnita | Terminar ráfaga: detiene una ráfaga de lectura o escritura en progreso. |
yo | yo | yo | yo | Columna | Leer desde la fila activa actualmente. |
yo | yo | yo | yo | Columna | Escribir en la fila activa actualmente. |
yo | yo | yo | yo | Fila | Activar una fila para lectura y escritura. |
yo | yo | yo | yo | incógnita | Precargar (desactivar) la fila actual. |
yo | yo | yo | yo | incógnita | Actualización automática: actualiza una fila de cada banco, utilizando un contador interno. |
yo | yo | yo | yo | Modo | Registro de modo de carga: el bus de direcciones especifica el modo de operación de la DRAM. |
La función de la línea OE se extiende a una señal "DQM" por byte, que controla la entrada de datos (escrituras) además de la salida de datos (lecturas). Esto permite que los chips DRAM tengan más de 8 bits de ancho y, al mismo tiempo, admitan escrituras con granularidad de bytes.
Muchos parámetros de sincronización permanecen bajo el control del controlador de la DRAM. Por ejemplo, debe transcurrir un tiempo mínimo entre la activación de una fila y un comando de lectura o escritura. Un parámetro importante debe programarse en el propio chip SDRAM, a saber, la latencia CAS . Este es el número de ciclos de reloj permitidos para las operaciones internas entre un comando de lectura y la primera palabra de datos que aparece en el bus de datos. El comando "Load mode register" se utiliza para transferir este valor al chip SDRAM. Otros parámetros configurables incluyen la duración de las ráfagas de lectura y escritura, es decir, el número de palabras transferidas por comando de lectura o escritura.
El cambio más significativo, y la razón principal por la que la SDRAM ha reemplazado a la RAM asíncrona, es el soporte para múltiples bancos internos dentro del chip DRAM. Usando unos pocos bits de "dirección de banco" que acompañan a cada comando, un segundo banco puede ser activado y comenzar a leer datos mientras una lectura del primer banco está en progreso . Al alternar bancos, un dispositivo SDRAM puede mantener el bus de datos continuamente ocupado, de una manera que la DRAM asíncrona no puede.
La SDRAM de velocidad de datos única (SDR SDRAM o SDR) es la generación original de SDRAM; realizaba una única transferencia de datos por ciclo de reloj.
La SDRAM de doble velocidad de datos (DDR SDRAM o DDR) fue un desarrollo posterior de la SDRAM, utilizada en la memoria de PC a partir de 2000. Las versiones posteriores se numeran secuencialmente ( DDR2 , DDR3 , etc.). La DDR SDRAM realiza internamente accesos de doble ancho a la velocidad del reloj y utiliza una interfaz de doble velocidad de datos para transferir la mitad en cada flanco del reloj. La DDR2 y la DDR3 aumentaron este factor a 4× y 8×, respectivamente, lo que proporciona ráfagas de 4 y 8 palabras en 2 y 4 ciclos de reloj, respectivamente. La velocidad de acceso interna prácticamente no ha cambiado (200 millones por segundo para la memoria DDR-400, DDR2-800 y DDR3-1600), pero cada acceso transfiere más datos.
La memoria RAM directa ( DRDRAM ) fue desarrollada por Rambus. Se admitió por primera vez en placas base en 1999 y se pretendía que se convirtiera en un estándar de la industria, pero fue superada por la DDR SDRAM , lo que la hizo técnicamente obsoleta en 2003.
La DRAM de latencia reducida (RLDRAM) es una SDRAM de doble velocidad de datos (DDR) de alto rendimiento que combina un acceso rápido y aleatorio con un gran ancho de banda, destinada principalmente a aplicaciones de redes y almacenamiento en caché.
Las RAM de gráficos son DRAM asincrónicas y sincrónicas diseñadas para tareas relacionadas con gráficos, como la memoria de textura y los búferes de cuadros , que se encuentran en las tarjetas de video .
Video DRAM (VRAM) es una variante de DRAM de doble puerto que alguna vez se utilizó comúnmente para almacenar el búfer de cuadros en algunos adaptadores gráficos .
La memoria DRAM de ventana (WRAM) es una variante de la VRAM que se utilizó en adaptadores gráficos como Matrox Millennium y ATI 3D Rage Pro . La WRAM se diseñó para tener un mejor rendimiento y un menor coste que la VRAM. La WRAM ofrecía hasta un 25 % más de ancho de banda que la VRAM y aceleraba las operaciones gráficas de uso común, como el dibujo de texto y el relleno de bloques. [63]
La MDRAM (Multibank DRAM) es un tipo de DRAM especializada desarrollada por MoSys . Está construida a partir de pequeños bancos de memoria de 256 kB , que se operan de forma intercalada , proporcionando anchos de banda adecuados para tarjetas gráficas a un coste menor que memorias como la SRAM . La MDRAM también permite operaciones en dos bancos en un único ciclo de reloj, lo que permite que se produzcan múltiples accesos simultáneos si los accesos fueran independientes. La MDRAM se utilizaba principalmente en tarjetas gráficas, como las que incorporaban los chipsets ET6x00 de Tseng Labs . Las placas basadas en este chipset solían tener la inusual capacidad de 2,25 MB debido a la capacidad de la MDRAM de implementarse más fácilmente con dichas capacidades. Una tarjeta gráfica con 2,25 MB de MDRAM tenía memoria suficiente para proporcionar color de 24 bits a una resolución de 1024×768, una configuración muy popular en aquella época.
La memoria RAM de gráficos sincrónicos (SGRAM) es una forma especializada de SDRAM para adaptadores gráficos. Incorpora funciones como enmascaramiento de bits (escritura en un plano de bits específico sin afectar a los demás) y escritura en bloque (relleno de un bloque de memoria con un solo color). A diferencia de la VRAM y la WRAM, la SGRAM tiene un solo puerto. Sin embargo, puede abrir dos páginas de memoria a la vez, lo que simula la naturaleza de puerto dual de otras tecnologías de RAM de video.
La SDRAM de doble velocidad de datos para gráficos es un tipo de SDRAM DDR especializada diseñada para usarse como memoria principal de las unidades de procesamiento gráfico (GPU). La SDRAM GDDR se diferencia de los tipos básicos de SDRAM DDR, como la DDR3, aunque comparten algunas tecnologías básicas. Sus características principales son frecuencias de reloj más altas tanto para el núcleo DRAM como para la interfaz de E/S, lo que proporciona un mayor ancho de banda de memoria para las GPU. A partir de 2020, existen siete generaciones sucesivas de GDDR: GDDR2 , GDDR3 , GDDR4 , GDDR5 , GDDR5X , GDDR6 y GDDR6X .
La RAM pseudoestática (PSRAM o PSDRAM) es una RAM dinámica con circuitos de control de direcciones y actualización integrados para que se comporte de manera similar a la RAM estática (SRAM). Combina la alta densidad de la DRAM con la facilidad de uso de la SRAM verdadera. La PSRAM se utiliza en el iPhone de Apple y otros sistemas integrados como la plataforma XFlar. [64]
Algunos componentes de DRAM tienen un "modo de actualización automática". Si bien esto implica gran parte de la misma lógica que se necesita para el funcionamiento pseudoestático, este modo a menudo es equivalente a un modo de espera. Se proporciona principalmente para permitir que un sistema suspenda el funcionamiento de su controlador de DRAM para ahorrar energía sin perder datos almacenados en la DRAM, en lugar de permitir el funcionamiento sin un controlador de DRAM independiente como es el caso de las PSRAM mencionadas.
MoSys vendió una variante integrada de PSRAM con el nombre de 1T-SRAM . Se trata de un conjunto de pequeños bancos de DRAM con una caché SRAM en el frente para que se comporte de forma muy similar a una SRAM real. Se utiliza en las consolas de videojuegos Nintendo GameCube y Wii .
HyperRAM [65] de Cypress Semiconductor es un tipo de PSRAM que admite una interfaz HyperBus [66] de 8 pines compatible con JEDEC o una interfaz Octal xSPI.
Micron MT4C1024: memoria RAM dinámica de 1 mebibit (220 bits). Ampliamente utilizada en computadoras de la era 286 y 386, a principios de los años 90. Tamaño de chip: 8662 x 3969 μm.
{{cite web}}
: CS1 maint: archived copy as title (link)La primera DRAM sincrónica comercial, la Samsung KM48SL2000 de 16 Mbit, emplea una arquitectura de banco único que permite a los diseñadores de sistemas realizar fácilmente la transición de sistemas asincrónicos a sincrónicos.