stringtranslate.com

Memoria dinámica de acceso aleatorio

Una fotografía del circuito integrado DRAM MT4C1024 de Micron Technology (1994). Tiene una capacidad de 1  megabit equivalente a bits o 128 KiB . [1]
Placa base de la computadora NeXTcube , 1990, con 64 MiB de memoria principal DRAM (arriba a la izquierda) y 256 KiB de VRAM [2] (borde inferior, a la derecha del medio)

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 típicamente basados ​​en semiconductores de óxido metálico. (MOS) tecnología. Si bien la mayoría de los diseños de celdas de memoria DRAM usan un capacitor y un transistor, algunos solo usan dos transistores. En los diseños en los que se utiliza un condensador, éste puede cargarse o descargarse; se considera que estos dos estados representan los dos valores de un bit, llamados convencionalmente 0 y 1. La carga eléctrica de los condensadores se va perdiendo gradualmente; sin intervención, los datos del condensador pronto se perderían. Para evitar esto, la DRAM requiere un circuito de actualización de memoria externa que reescribe periódicamente los datos en los condensadores, restablecié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 (frente a 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 suele adoptar la forma de un chip de circuito integrado , que puede constar de decenas a miles de millones de celdas de memoria DRAM. Los chips DRAM se utilizan ampliamente en la electrónica digital , donde se requiere memoria de computadora de alta capacidad y bajo costo . Una de las aplicaciones más importantes de DRAM es la memoria principal (coloquialmente llamada "RAM") en las computadoras y tarjetas gráficas modernas (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 suele utilizar cuando la velocidad es más importante que el coste y el tamaño, como las memorias caché de los procesadores .

La necesidad de actualizar la DRAM exige circuitos y tiempos más complicados que la SRAM. Esto se ve compensado por la simplicidad estructural de las celdas de memoria DRAM: sólo se requiere un transistor y un condensador por bit, en comparación con los cuatro o seis transistores de la SRAM. Esto permite que la DRAM alcance densidades muy altas con una reducción simultánea del costo por bit. Actualizar los datos consume energía y se utiliza una variedad de técnicas para administrar el consumo de energía general.

La DRAM tuvo un aumento del 47% en el precio por bit en 2017, el mayor salto en 30 años desde el salto del 45% en 1988, mientras que en los últimos años el precio ha ido bajando. [3] En 2018, una "característica clave del mercado de DRAM es que actualmente solo hay tres proveedores importantes: Micron Technology , SK Hynix y Samsung Electronics " que están "manteniendo un control bastante estricto sobre su capacidad". [4] También está Kioxia (anteriormente Toshiba Memory Corporation después de su escisión en 2017). Otros fabricantes fabrican y venden DIMM (pero no los chips DRAM que contienen), como Kingston Technology , y algunos fabricantes que venden DRAM apilada (utilizada, por ejemplo, en las supercomputadoras más rápidas en exaescala ), por separado, como Viking Technology. Otros los venden integrados en otros productos, como Fujitsu en sus CPU, AMD en GPU y Nvidia , con HBM2 en algunos de sus chips GPU.

Historia

Un dibujo esquemático que representa la sección transversal de la celda DRAM NMOS de un transistor y un condensador original . Fue patentado en 1968.

La máquina criptoanalítica cuyo nombre en código es "Aquarius" utilizada en Bletchley Park durante la Segunda Guerra Mundial incorporó una memoria dinámica cableada. Se leyó una cinta de papel y los caracteres que contenía "fueron recordados en una tienda dinámica... La tienda utilizaba un gran banco de condensadores, que estaban cargados o no, un condensador cargado que representaba la cruz (1) y un punto de condensador descargado ( 0). Dado que la carga se fue perdiendo gradualmente, se aplicó un pulso periódico para recargar los que aún estaban cargados (de ahí el término "dinámico")". [5]

Toshiba inventó e introdujo una RAM dinámica para su calculadora electrónica "Toscal" BC-1411 , que se introdujo en noviembre de 1965; [6] [7] utilizó una forma de DRAM capacitiva (180 bits) construida a partir de celdas de memoria bipolares discretas . [6] [8]

En 1967, Tomohisa Yoshimaru y Hiroshi Komikawa de Toshiba solicitaron una patente estadounidense del concepto con prioridad en mayo de 1966 debido a una solicitud japonesa temprana. [9]

Las primeras formas de DRAM mencionadas anteriormente utilizaban transistores bipolares . Si bien ofrecía un rendimiento mejorado con respecto a 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 entonces dominante. [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 del Centro de Investigación IBM Thomas J. Watson estaba trabajando 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 condensadores, y que almacenar una carga o ninguna carga en el condensador MOS podía representar el 1 y el 0 de un bit, mientras que el transistor MOS podía controlar la escritura de la carga en el condensador. Esto lo llevó a desarrollar la celda de memoria MOS DRAM de un solo transistor. [11] Presentó una patente en 1967 y se le concedió la patente estadounidense número 3.387.286 en 1968. [12] 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. [13]

Los chips MOS DRAM fueron comercializados en 1969 por Advanced Memory Systems, Inc de Sunnyvale, CA. Este chip de 1024 bits se vendió 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. Este se convirtió en el Intel 1102 a principios de 1970. [14] Sin embargo, el 1102 tuvo muchos problemas, lo que llevó a Intel a comenzar a trabajar en su propio diseño mejorado, en secreto para evitar conflictos con Honeywell. Ésta se convirtió en la primera DRAM disponible comercialmente, la Intel 1103 , en octubre de 1970, a pesar de los problemas iniciales de 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 García. [15] [ ¿ investigación original? ] La memoria MOS superó a la memoria de núcleo magnético como tecnología de memoria dominante a principios de la década de 1970. [13]

La primera DRAM con líneas de dirección de fila y columna multiplexadas fue la DRAM Mostek MK4096 de 4 Kbit diseñada por Robert Proebsting e introducida 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. siendo referenciado, cambiando entre las dos mitades en ciclos de autobús alternos. Este fue un avance radical, reduciendo efectivamente a la mitad el número de líneas de dirección requeridas, lo que le permitió encajar en paquetes con menos pines, una ventaja de costos que creció con cada salto en el tamaño de la memoria. El MK4096 demostró ser un diseño muy robusto para aplicaciones de clientes. Con la densidad de 16 Kbit, la ventaja de costes aumentó; la DRAM Mostek MK4116 de 16 Kbit, [16] [17] introducida en 1976, logró más del 75% de la cuota de mercado mundial de DRAM. Sin embargo, cuando la densidad aumentó a 64 Kbit a principios de los años 1980, Mostek y otros fabricantes estadounidenses fueron superados por los fabricantes japoneses de DRAM, que dominaron los mercados estadounidense y mundial durante los años 1980 y 1990.

A principios de 1985, Gordon Moore decidió retirar a Intel de la producción de DRAM. [18] En 1986, todos los fabricantes de chips de Estados Unidos habían dejado de fabricar DRAM. [19]

En 1985, cuando los chips de memoria DRAM de 64K eran los chips de memoria más comunes utilizados en las computadoras, y cuando más del 60 por ciento de esos chips eran producidos por compañías japonesas, los fabricantes de semiconductores en Estados Unidos acusaron a las compañías japonesas de realizar dumping en las exportaciones con el fin de impulsar fabricantes en Estados Unidos del negocio de chips de memoria. Los precios del producto 64K se desplomaron hasta 35 centavos cada uno desde 3,50 dólares en 18 meses, con consecuencias financieras desastrosas 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. [20]

Samsung desarrolló la memoria dinámica de acceso aleatorio síncrona (SDRAM) . El primer chip SDRAM comercial fue el Samsung KM48SL2000, que tenía una capacidad de 16 Mb , [21] y se introdujo en 1992. [22] El primer chip de memoria DDR SDRAM ( SDRAM de doble velocidad de datos ) comercial fue el chip DDR SDRAM de 64 Mb de Samsung. , lanzado en 1998. [23]  

Más tarde, en 2001, los fabricantes japoneses de DRAM acusaron a los fabricantes coreanos de DRAM de realizar dumping. [24]

En 2002, los fabricantes de computadoras estadounidenses afirmaron que fijaban el precio de la DRAM .

Principios de Operación

Los principios de funcionamiento para leer una matriz simple de 4 4 ​​DRAM
Estructura básica de una matriz de celdas DRAM

La DRAM suele estar dispuesta en una matriz rectangular de celdas de almacenamiento de carga que consta de un condensador y un transistor por bit de datos. La figura de la derecha muestra un ejemplo sencillo con una matriz de celdas de cuatro por cuatro. Algunas matrices DRAM tienen miles de celdas de alto y ancho. [25] [26]

Las largas líneas horizontales 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). Generalmente se les conoce como líneas de bits "+" y "-".

Un amplificador de detección es esencialmente un par de inversores conectados cruzadamente entre 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 desde la línea de bits − con 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.

Operaciones para leer un bit de datos de una celda de almacenamiento DRAM

  1. Los amplificadores de detección están desconectados. [27]
  2. Las líneas de bits están precargadas a voltajes exactamente iguales que se encuentran entre niveles lógicos alto y bajo (por ejemplo, 0,5 V si los dos niveles son 0 y 1 V). Las líneas de bits son físicamente simétricas para mantener igual la capacitancia y, por lo tanto, en este momento sus voltajes son iguales. [27]
  3. El circuito de precarga está desconectado. Debido a que las líneas de bits son relativamente largas, tienen suficiente capacitancia para mantener el voltaje precargado durante un breve tiempo. Este es un ejemplo de lógica dinámica . [27]
  4. Luego, la línea de palabras de la fila deseada se eleva para conectar el capacitor de almacenamiento de una celda a su línea de bits. Esto hace que el transistor conduzca, transfiriendo carga desde la celda de almacenamiento a la línea de bits conectada (si el valor almacenado es 1) o desde la línea de bits conectada a la celda de almacenamiento (si el valor almacenado es 0). Dado que la capacitancia de la línea de bits suele ser mucho mayor que la capacitancia de la celda de almacenamiento, el voltaje en la línea de bits aumenta muy ligeramente si el capacitor de la celda de almacenamiento está descargado y disminuye muy ligeramente si la celda de almacenamiento está cargada (por ejemplo, 0,54 y 0,45 V en los dos casos). Como la otra línea de bits tiene 0,50 V, existe una pequeña diferencia de voltaje entre las dos líneas de bits trenzadas. [27]
  5. Los amplificadores de detección ahora están conectados a los pares de líneas de bits. Luego se produce retroalimentación positiva desde los inversores conectados cruzados, amplificando así la pequeña diferencia de voltaje entre las líneas de bits pares e impares de una columna en particular hasta que una línea de bits esté completamente en el voltaje más bajo y la otra en el voltaje alto máximo. Una vez que esto ha sucedido, la fila está "abierta" (los datos de la celda deseados están disponibles). [27]
  6. Todas las celdas de almacenamiento en la fila abierta se detectan simultáneamente y las salidas del amplificador de detección se bloquean. Luego, una dirección de columna selecciona qué bit de bloqueo se conectará al bus de datos externo. Se pueden realizar lecturas de diferentes columnas en la misma fila sin un retraso en la apertura de la fila porque, para la fila abierta, todos los datos ya han sido detectados y bloqueados. [27]
  7. Mientras se realiza la lectura de las columnas en una fila abierta, la corriente regresa a las líneas de bits desde la salida de los amplificadores de detección y recarga las celdas de almacenamiento. Esto refuerza (es decir, "refresca") la carga en la celda de almacenamiento aumentando el voltaje en el capacitor de almacenamiento si estaba cargado para empezar, o manteniéndolo descargado si estaba vacío. Tenga en cuenta que debido a la longitud de las líneas de bits, existe un retraso de propagación bastante largo para que la carga se transfiera de regreso al capacitor de la celda. Esto lleva mucho tiempo después del final de la amplificación del sentido y, por lo tanto, se superpone con una o más lecturas de columna. [27]
  8. Cuando termina de leer todas las columnas en la fila abierta actual, la línea de palabras se apaga para desconectar los capacitores de la celda de almacenamiento (la fila está "cerrada") de las líneas de bits. Se desconecta el amplificador de detección y se vuelven a precargar las líneas de bits. [27]

Para escribir en la memoria

Escribir en una celda DRAM

Para almacenar datos, se abre una fila y el amplificador de detección de una columna determinada se fuerza temporalmente al estado de voltaje alto o bajo deseado, provocando así 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 en un voltaje estable incluso después de que se elimine el voltaje forzado. Durante una escritura en una celda en particular, todas las columnas en 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 columna, toda la fila se actualiza (se vuelve a escribir), como se ilustra en la figura de la derecha. [27]

Frecuencia de actualización

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 forma 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 divididos por 8192 filas. Algunos sistemas en tiempo real actualizan una parte de la memoria en un momento determinado por una función de temporizador externo que gobierna el funcionamiento del resto del sistema, como el intervalo de supresión 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 la 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 dicho sistema tiene conocimiento de los patrones de acceso a la memoria y de los requisitos de actualización de la DRAM. Cuando la dirección de la fila la proporciona un contador dentro de la DRAM, el sistema cede el 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 se actualice o que proporcione una dirección de fila.

En algunas condiciones, la mayoría de los datos de la DRAM se pueden recuperar incluso si la DRAM no se ha actualizado durante varios minutos. [28]

Temporización de la memoria

Se requieren muchos parámetros para describir completamente el tiempo de funcionamiento de la DRAM. A continuación se muestran algunos ejemplos de dos grados de sincronización de DRAM asíncrona, de una hoja de datos publicada en 1998: [29]

Por lo tanto, el número generalmente citado es el tiempo mínimo de /RAS bajo. Este es el momento de abrir una fila, permitiendo que los amplificadores de detección se asienten. Tenga en cuenta que el acceso a los datos de un bit de la fila es más corto, ya que eso ocurre 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 una capacitancia de línea de bits mayor y retrasos de propagación más prolongados, lo que hace que este tiempo aumente ya que el tiempo de establecimiento 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 integrando muchas más matrices DRAM completas en un solo chip, para acomodar más capacidad sin volverse demasiado lento.

Cuando se accede a dicha RAM 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 estado 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 ráfagas de cuatro lecturas dentro de una página.

Al describir la memoria síncrona, la sincronizació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 del ciclo del reloj DRAM. Tenga en cuenta que esto es la mitad de la velocidad de transferencia de datos cuando se utiliza señalización de doble velocidad de datos . La sincronización PC3200 estándar de JEDEC es 3-4-4-8 [30] con un reloj de 200 MHz, mientras que el DIMM PC3200 DDR DRAM de alto rendimiento y precio premium puede funcionar con una sincronización 2-2-2-5 . [31]

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 a las amplias rutas de datos, puede generar dos palabras cada 1,25 ns ( 1600  Mpalabras/s) , mientras que la EDO DRAM puede generar una palabra por t PC  = 20 ns (50 Mpalabras/s).

Abreviaturas de tiempo

Diseño de celda de memoria

Cada bit de datos en 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 componente fundamental de las matrices DRAM. Existen múltiples variantes de celdas de memoria DRAM, pero la variante más comúnmente utilizada en las DRAM modernas es la celda de un transistor y un condensador (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 del variador y minimizar las fugas transistor-transistor (Kenner, pág. 34).

El capacitor tiene dos terminales, uno de los cuales está conectado a su transistor de acceso y el otro a tierra o V CC /2. En las DRAM modernas, este ú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 capacitor para almacenar uno lógico; y se requiere un voltaje de -V CC /2 a través del capacitor para almacenar un cero lógico. La carga eléctrica almacenada en el condensador se mide en culombios . Para 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: . [32]

Leer o escribir uno lógico requiere que la línea de palabras se conduzca a un voltaje mayor que la suma de V CC y el voltaje umbral del transistor de acceso (V TH ). Este voltaje se llama VCC bombeado ( VCCP ) . Por tanto, el tiempo necesario para descargar un condensador depende del valor lógico almacenado en el condensador. Un condensador que contiene uno lógico comienza a descargarse cuando el voltaje en el terminal de puerta del transistor de acceso está por encima de VCCP . Si el condensador contiene un cero lógico, comienza a descargarse cuando el voltaje del terminal de la puerta está por encima de V TH . [33]

Diseño de condensadores

Hasta mediados de la década de 1980, los condensadores de las celdas DRAM eran coplanares con el transistor de acceso (estaban construidos en la superficie del sustrato), por lo que se los denominaba condensadores planos . El impulso para aumentar tanto la densidad como, en menor medida, el rendimiento, requirió diseños más densos. Esto estuvo fuertemente motivado por la economía, una consideración importante para los dispositivos DRAM, especialmente los DRAM básicos. 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 la década de 1980, el condensador se movió por encima o por debajo del sustrato de silicio para cumplir estos objetivos. Las celdas DRAM que presentan condensadores sobre el sustrato se denominan condensadores de placas apiladas o plegadas . Aquellos con condensadores enterrados debajo de la superficie del sustrato se denominan condensadores de zanja . En la década de 2000, los fabricantes estaban marcadamente divididos según 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 extenso 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 capacitor en el esquema de capacitores apilados se construye sobre la superficie del sustrato. El condensador está construido 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 IC), y su forma puede ser un rectángulo, un cilindro o alguna otra forma más compleja. Hay dos variaciones básicas del capacitor apilado, según su ubicación relativa a la línea de bits: capacitor sobre línea de bits (COB) y capacitor 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 fuente del transistor de acceso. En la última variación, el condensador se construye 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 fabricar el 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 disponga en un ángulo de 45 grados cuando se ve desde arriba, lo que dificulta garantizar que el contacto del condensador no toque la línea de bits. Las células CUB evitan esto, pero tienen dificultades para insertar contactos entre líneas de bits, ya que el tamaño de las características tan cercanas a la superficie está en o cerca del tamaño mínimo de la tecnología de proceso (Kenner, págs. 33-42).

El condensador de zanja se construye grabando un agujero profundo en el sustrato de silicio. Luego, el volumen del sustrato que rodea el agujero se dopa intensamente para producir una placa n + enterrada y reducir la resistencia. Se hace crecer o deposita una capa de dieléctrico de óxido-nitruro-óxido y, finalmente, el orificio se llena depositando polisilicio dopado, que forma la placa superior del condensador. La parte superior del condensador está conectada al terminal de drenaje del transistor de acceso mediante una correa de polisilicio (Kenner, págs. 42-44). La relación profundidad-ancho de un condensador de trinchera en DRAM de mediados de la década de 2000 puede exceder 50:1 (Jacob, p. 357).

Los condensadores de trinchera tienen numerosas ventajas. Dado que el capacitor está enterrado en la mayor parte del sustrato en lugar de descansar sobre su superficie, el área que ocupa se puede minimizar a lo que se requiere para conectarlo al terminal de drenaje del transistor de acceso sin disminuir el tamaño del capacitor 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 se encuentra debajo de las capas de interconexión metálica, lo que permite que se hagan planas más fácilmente, lo que permite integrarlo en una tecnología de proceso lógicamente optimizada, que tiene muchos niveles de interconexión por encima del sustrato. . El hecho de que el condensador esté bajo la lógica significa que se construye antes que los transistores. Esto permite que los procesos de alta temperatura fabriquen los condensadores, que de otro modo degradarían los transistores lógicos y su rendimiento. Esto hace que los condensadores de trinchera sean adecuados para construir DRAM integrada (eDRAM) (Jacob, p. 357). Las desventajas de los capacitores de trinchera son las dificultades para construir de manera confiable las estructuras del capacitor dentro de orificios profundos y para conectar el capacitor al terminal de drenaje del transistor de acceso (Kenner, pág. 44).

Diseños celulares históricos

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 condensador (3T1C). En la segunda generación, el requisito de reducir costos colocando la misma cantidad de bits en un área más pequeña llevó a la adopción casi universal de la celda DRAM 1T1C, aunque un par de dispositivos con capacidades de 4 y 16 Kbit continuaron usando el 3T1C. celda por razones de rendimiento (Kenner, p. 6). Estas ventajas de rendimiento incluyeron, de manera más significativa, la capacidad de leer el estado almacenado por el capacitor sin descargarlo, evitando la necesidad de escribir lo leído (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 aprovechar esta característica para realizar lecturas, modificaciones y escrituras 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).

Diseños de celdas propuestos

La celda DRAM de un transistor y cero condensador (1T o 1T0C) ha sido un tema de investigación desde finales de los años 1990. 1T DRAM es una forma diferente de construir la celda de memoria DRAM básica, distinta de la clásica celda DRAM de un transistor/un condensador (1T/1C), que a veces también se denomina "1T DRAM", particularmente en comparación con la DRAM 3T y 4T que reemplazó en la década de 1970.

En las celdas DRAM de 1T, 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. 1T DRAM es un diseño de celda de bits "sin condensador" que almacena datos utilizando la capacitancia del cuerpo parásito inherente a los transistores de silicio sobre aislante (SOI) . Considerado una molestia en el diseño lógico, este efecto de cuerpo flotante se puede utilizar para el almacenamiento de datos. Esto proporciona a las celdas DRAM 1T la mayor densidad y permite una integración más sencilla con circuitos lógicos de alto rendimiento, ya que están construidos con las mismas tecnologías de proceso SOI.

La actualización de las celdas sigue siendo necesaria, pero a diferencia de la DRAM 1T1C, las lecturas en DRAM 1T no son destructivas; la carga almacenada provoca un cambio detectable en el voltaje umbral del transistor. [34] 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 la SRAM. Existen varios tipos de DRAM 1T: la Z-RAM comercializada por Innovative Silicon, la TTRAM [35] de Renesas y la A-RAM del consorcio UGR / CNRS .

Estructuras de matriz

Las ubicaciones de los nodos de almacenamiento autoalineadas simplifican el proceso de fabricación en la DRAM moderna. [36]

Las celdas DRAM están dispuestas en un patrón rectangular regular en forma de cuadrícula para facilitar su control y acceso a través de líneas de palabras y líneas de bits. La disposición física de las celdas DRAM en una matriz generalmente se diseña de modo que dos celdas DRAM adyacentes en una columna compartan un único contacto de línea de bits 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 determinada. Este esquema permite la comparación del tamaño de la DRAM en diferentes generaciones de tecnología de proceso, a medida que el área de la celda DRAM 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, el wordline, está conectado al terminal de puerta de cada transistor de acceso en su fila. La línea de bits vertical está conectada al terminal fuente de los transistores en su columna. La longitud de las líneas de palabras y de bits es limitada. La longitud de la línea de palabra está limitada por el rendimiento deseado de la matriz, ya que el tiempo de propagación de la señal que debe atravesar la línea de palabra está determinado por la constante de tiempo RC . La longitud de la línea de bits 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 línea de bits). La longitud de la línea de bits 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 línea de bits.

Arquitectura de línea de bits

Se requieren amplificadores de detección para leer el estado contenido en las celdas DRAM. Cuando se activa el transistor de acceso, la carga eléctrica del condensador 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 tanto, el cambio en el voltaje de la línea de bits es mínimo. Se requieren amplificadores de detección 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 diferencial y van acompañadas de requisitos sobre cómo se construyen las matrices de DRAM. Los amplificadores de detección diferencial funcionan llevando 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 forma eficaz y eficiente sólo 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 adjuntas 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.

Abrir matrices de líneas de bits

Los circuitos integrados DRAM de primera generación (1 Kbit), hasta la generación de 64 Kbit (y algunos dispositivos de 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 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 de bits.

Las celdas DRAM que se encuentran 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íneas de bits ficticios. La ventaja de la matriz de líneas de bits abierta es un área de matriz más pequeña, aunque esta ventaja se ve ligeramente disminuida por los segmentos de líneas de bits ficticios. La desventaja que provocó 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 sólo a uno de los dos segmentos de línea de bits.

Matrices de líneas de bits plegadas

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 plegada comenzó a aparecer en los circuitos integrados DRAM a mediados de la década de 1980, comenzando con la generación de 256 Kbit. Esta arquitectura se ve favorecida 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 (porque dos celdas DRAM comparten un único contacto de línea de bits) de una columna, luego mueve las celdas DRAM de una columna adyacente a los vacíos.

La ubicación donde gira la línea 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 menor área que sea capaz de reducir el ruido por debajo del límite especificado. A medida que la tecnología del proceso mejora para reducir los tamaños mínimos de las características, el problema de la señal a ruido empeora, ya que el acoplamiento entre cables metálicos adyacentes es inversamente proporcional a su paso. Los esquemas de plegado de matrices 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).

Arquitecturas de matriz futuras

Los avances en la tecnología de procesos podrían dar lugar a que se favorezcan las arquitecturas abiertas de matriz de líneas de bits si son capaces de 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 matrices y la eficiencia del área es un área activa de investigación.

Redundancia de filas y columnas

Los primeros circuitos integrados DRAM no tenían ninguna redundancia. Se descartaría un circuito integrado con una celda DRAM defectuosa. 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 para defectos menores de fabricación que han causado que una pequeña cantidad de filas o columnas dejen de funcionar. 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 reasignación de la lógica en los decodificadores de filas y columnas (Jacob, págs. 358-361).

Detección y corrección de errores

La interferencia eléctrica o magnética dentro de un sistema informático puede hacer que un solo bit de 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 leer/ escríbelos.

El problema se puede mitigar mediante el uso de bits de memoria redundantes y circuitos adicionales que utilizan estos bits para detectar y corregir errores leves. 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 chips o módulos DRAM, lo que permite la funcionalidad de memoria ECC para sistemas que de otra manera no serían compatibles con ECC. [37] 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 incorrectos). 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 extra, detectar errores de doble bit. [38]

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 un bit, por hora, por gigabyte de memoria, hasta un error de un bit, por siglo. por gigabyte de memoria. [39] [40] [41] Schroeder et al. Un estudio de 2009 informó una probabilidad del 32% de que una determinada computadora en su estudio sufriera al menos un error corregible por año, y proporcionó evidencia de que la mayoría de esos errores son errores duros intermitentes en lugar de errores leves y que trazas de material radiactivo que habían ingresado El embalaje del chip emitía partículas alfa y corrompía los datos. [42] 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 intermitentes. [43] Los estudios a gran escala sobre la memoria principal sin ECC en PC y portátiles sugieren que los errores de memoria no detectados representan 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 tendría un error de memoria cada ocho meses. [44]

Seguridad

Remanencia de datos

Aunque la memoria dinámica solo está especificada y garantizada para retener su contenido cuando se le 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. [45] En algunas condiciones, la mayoría de los datos de la DRAM se pueden recuperar incluso si no se han actualizado durante varios minutos. [46]

Esta propiedad se puede utilizar para eludir la seguridad y recuperar datos almacenados en la memoria principal que se supone destruidos al apagarse. La computadora podría reiniciarse rápidamente y leerse el contenido de la memoria principal; o quitando los módulos de memoria de una computadora, enfriándolos para prolongar la remanencia de los datos y luego transfiriéndolos a una computadora diferente para leerlos. Se demostró que un ataque de este tipo elude los sistemas de cifrado de disco populares, como el código abierto TrueCrypt , BitLocker Drive Encryption de Microsoft y FileVault de Apple . [45] Este tipo de ataque contra una computadora a menudo se denomina ataque de arranque en frío .

Corrupción de la memoria

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 de la fila leída. Si estos procesos son imperfectos, una operación de lectura puede provocar errores leves . En particular, existe el riesgo de que algo de carga se escape entre celdas cercanas, lo que provoca que la actualización o lectura de una fila provoque 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. [47] El efecto secundario asociado que condujo a los cambios de broca observados se ha denominado martillo de fila .

embalaje

Módulo de memoria

Los circuitos integrados de RAM dinámica se pueden empaquetar en cajas de epoxi moldeadas, con un marco de cables interno para las interconexiones entre la matriz de silicio y los cables del paquete. El diseño original de PC de IBM utilizaba circuitos integrados, incluidos los de DRAM, empaquetados en paquetes duales en línea (DIP), soldados directamente a la placa principal o montados en zócalos. A medida que la densidad de la memoria se disparó, el paquete DIP dejó de ser práctico. Para mayor comodidad en el 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 de RAM dinámica. circuitos integrados. Los módulos de memoria pueden incluir dispositivos adicionales para verificación de paridad o 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 que no son intercambiables con piezas de escritorio estándar por razones de embalaje o de propiedad.

Incorporado

La DRAM que se integra en un circuito integrado diseñado en un proceso lógicamente optimizado (como un circuito integrado de aplicación específica , un microprocesador o un sistema completo en un chip ) se denomina DRAM integrada (eDRAM). La DRAM integrada requiere diseños de celdas DRAM que puedan fabricarse 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 de proceso básica optimizada para lógica para acomodar los pasos del proceso necesarios para construir estructuras de celdas DRAM.

Versiones

Dado que la matriz y la celda DRAM fundamental han mantenido la misma estructura básica durante muchos años, los tipos de DRAM se distinguen principalmente por las diferentes interfaces para comunicarse con los chips DRAM.

DRAM asíncrona

La DRAM original, ahora conocida con el retrónimo " DRAM asíncrona ", fue el primer tipo de DRAM en uso. Desde sus orígenes a finales de la década de 1960, fue algo común en la informática hasta alrededor de 1997, cuando fue reemplazado en su mayor parte por DRAM síncrona . En la actualidad, la fabricación de RAM asíncrona es relativamente rara. [48]

Principios de Operación

Un chip DRAM asíncrono tiene conexiones de alimentación, una cierta cantidad de entradas de direcciones (normalmente 12) y algunas líneas de datos bidireccionales (normalmente una o cuatro). Hay cuatro señales de control activo-bajo :

Esta interfaz proporciona control directo de la sincronización interna. Cuando RAS está bajo, no se debe intentar un ciclo CAS hasta que los amplificadores de detección hayan detectado el estado de la memoria, y RAS no debe volver a estar alto hasta que se hayan actualizado las celdas de almacenamiento. Cuando RAS se eleva, debe mantenerse alto el tiempo suficiente para que se complete la precarga.

Aunque la DRAM es asíncrona, las señales generalmente son generadas por un controlador de memoria sincronizado, que limita su sincronización a múltiplos del ciclo de reloj del controlador.

Actualización solo RAS

La DRAM asíncrona 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 tal manera que todas las filas se actualicen dentro del intervalo requerido. Para actualizar una fila de la matriz de memoria mediante la actualización de solo RAS (ROR), se deben realizar los siguientes pasos:

  1. La dirección de la fila que se va a actualizar debe aplicarse en los pines de entrada de dirección.
  2. RAS debe cambiar de alto a bajo. El CAS debe permanecer alto.
  3. Al final del período de tiempo requerido, RAS debe volver a estar alto.

Esto se puede hacer proporcionando 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 por turno. [49] En algunos diseños, la CPU manejaba la actualización de la RAM; entre ellos, el Zilog Z80 es quizás el ejemplo más conocido, ya que alberga un contador de filas en un registro del procesador , R, e incluye temporizadores internos que sondearían periódicamente la fila en R y luego incrementar el valor en el registro. Las actualizaciones se intercalaron con instrucciones comunes como lecturas de memoria. [50] En otros sistemas, especialmente en 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. [51]

CAS antes de la actualización de RAS

Para mayor comodidad, el contador se incorporó rápidamente a los propios chips DRAM. Si la línea CAS tiene un nivel bajo antes de RAS (normalmente una operación ilegal), entonces la DRAM ignora las entradas de dirección y usa un contador interno para seleccionar la fila a 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 usa generalmente con SDRAM.

Actualización oculta

Dado el soporte de CAS antes de la actualización de RAS , es posible desactivar RAS mientras se mantiene CAS bajo para mantener la salida de datos. Si luego se afirma nuevamente RAS , se realiza un ciclo de actualización CBR mientras las salidas DRAM siguen siendo válidas. Debido a que la salida de datos no se interrumpe, esto se conoce como actualización oculta . [52]

Modo de página DRAM

La DRAM en modo de página es una modificación menor de la interfaz DRAM IC de primera generación que mejoró el rendimiento de las lecturas y escrituras en una fila al evitar la ineficiencia de la precarga y la apertura repetida de la misma fila para acceder a una columna diferente. En el modo de página DRAM, después de abrir una fila manteniendo RAS bajo, la fila se podía mantener abierta y se podían realizar múltiples lecturas o escrituras en cualquiera de las columnas de la fila. El acceso a cada 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 mantenían en Z alto antes de que aparecieran los 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. [53]

La DRAM en modo página, a su vez, se mejoró 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 de página rápida ( FPM DRAM ). En DRAM en modo de página, CAS se afirmó antes de que se proporcionara la dirección de la columna. En FPM DRAM, la dirección de la columna se podía proporcionar mientras CAS aún no estaba validado. La dirección de la columna se propagó a través de la ruta de datos de la dirección de la columna, pero no generó datos en los pines de datos hasta que se confirmó CAS . Antes de que se afirmara CAS , los pines de salida de datos se mantenían en Z alta. FPM DRAM redujo la latencia CAC . [54] La DRAM en modo de 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 CAS mantenido bajo y la salida de datos se actualizará en consecuencia unos nanosegundos más tarde. [54]

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 el segundo al cuarto borde CAS ; se generan internamente comenzando con la dirección proporcionada para el primer borde CAS . [54]

Datos extendidos fuera DRAM

Un par de  módulos EDO DRAM de 32 MB

La DRAM de salida de datos extendida (EDO DRAM) fue inventada y patentada en la década de 1990 por Micron Technology , quien luego otorgó licencias de tecnología a muchos otros fabricantes de memoria. [55] La RAM EDO, a veces denominada DRAM habilitada en modo hiperpágina , es similar a la DRAM en 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 superposición en la operación (canalización), lo que permite un rendimiento algo mejorado. Es hasta un 30% más rápido que FPM DRAM, [56] que comenzó a reemplazar en 1995 cuando Intel introdujo el chipset 430FX con soporte EDO DRAM. Independientemente de las ganancias de rendimiento, los SIMM FPM y EDO se pueden usar indistintamente en muchas (pero no en todas) las aplicaciones. [57] [58]

Para ser precisos, EDO DRAM 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 (ampliando así el tiempo de salida de datos) hasta que se anule la afirmación de RAS o hasta que un nuevo flanco descendente de CAS seleccione una dirección de columna diferente.

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 limitaciones en la duración de la batería. Además, para los sistemas con caché L2, la disponibilidad de la memoria EDO mejoró la latencia de memoria promedio observada por las aplicaciones en comparación con implementaciones FPM anteriores.

La EDO DRAM de ciclo único se hizo muy popular en las tarjetas de vídeo a finales de los años 1990. Era de muy bajo costo, pero casi tan eficiente en cuanto a rendimiento como la VRAM, mucho más costosa.

Explosión de EDO DRAM

Una evolución de EDO DRAM, EDO DRAM en ráfaga (BEDO DRAM), podría procesar cuatro direcciones de memoria en una ráfaga, para un máximo de 5-1-1-1 , ahorrando tres relojes adicionales sobre 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 permite dividir el ciclo de acceso a la página en dos partes. Durante una operación de lectura de memoria, la primera parte accedió a los datos desde la matriz de memoria a la etapa de salida (segundo pestillo). La segunda parte condujo el bus de datos desde este pestillo al 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 un 50 % para grandes bloques de datos) que con el EDO tradicional.

Aunque BEDO DRAM mostró una optimización adicional sobre EDO, cuando estuvo disponible el mercado había hecho una inversión significativa hacia DRAM síncrona o SDRAM. [59] Aunque BEDO RAM era superior a SDRAM en algunos aspectos, esta última tecnología desplazó rápidamente a BEDO.

RAM dinámica síncrona

La RAM dinámica síncrona (SDRAM) revisa significativamente la interfaz de memoria asíncrona, 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 luces estroboscópicas, sino que, junto con WE , forman parte de un comando de 3 bits controlado por una nueva luz estroboscópica activa baja, selección de chip o CS :

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 y al mismo tiempo admitan escrituras con granularidad de bytes.

Muchos parámetros de sincronización permanecen bajo el control del controlador DRAM. Por ejemplo, debe transcurrir un tiempo mínimo entre la activación de una fila y un comando de lectura o escritura. Se debe programar un parámetro importante en el propio chip SDRAM, a saber, la latencia CAS . Este es el número de ciclos de reloj permitidos para operaciones internas entre un comando de lectura y la primera palabra de datos que aparece en el bus de datos. El comando "Registro de modo de carga" 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 suplantado a la RAM asíncrona, es la compatibilidad con múltiples bancos internos dentro del chip DRAM. Utilizando unos pocos bits de "dirección de banco" que acompañan a cada comando, se puede activar un segundo banco y comenzar a leer datos mientras se realiza una lectura del primer banco . Al alternar bancos, un dispositivo SDRAM puede mantener el bus de datos continuamente ocupado, de una manera que la DRAM asíncrona no puede.

DRAM síncrona de velocidad de datos única

La SDRAM de velocidad de datos única (SDR SDRAM o SDR) es la generación original de SDRAM; realizó una única transferencia de datos por ciclo de reloj.

DRAM síncrona de doble velocidad de datos

La matriz de un paquete Samsung DDR-SDRAM de 64 MBit

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 del año 2000. Las versiones posteriores se numeran secuencialmente ( DDR2 , DDR3 , etc.). DDR SDRAM realiza internamente accesos de doble ancho a la velocidad del reloj y utiliza una interfaz de velocidad de datos doble para transferir la mitad en cada borde del reloj. DDR2 y DDR3 aumentaron este factor a 4× y 8×, respectivamente, entregando ráfagas de 4 y 8 palabras en 2 y 4 ciclos de reloj, respectivamente. La tasa de acceso interno 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.

DRAM Rambus directa

Direct RAMBUS DRAM ( DRDRAM ) fue desarrollado por Rambus. Compatible por primera vez con placas base en 1999, se pretendía que se convirtiera en un estándar de la industria, pero fue superado por DDR SDRAM , dejándolo técnicamente obsoleto en 2003.

DRAM de latencia reducida

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é.

RAM de gráficos

Las RAM de gráficos son DRAM asíncronas y síncronas diseñadas para tareas relacionadas con gráficos, como la memoria de texturas y los framebuffers , que se encuentran en las tarjetas de video .

DRAM de vídeo

Video DRAM (VRAM) es una variante de DRAM de doble puerto que alguna vez se usó comúnmente para almacenar el frame-buffer en algunos adaptadores gráficos .

DRAM de ventana

Window DRAM (WRAM) es una variante de VRAM que alguna vez se usó en adaptadores gráficos como Matrox Millennium y ATI 3D Rage Pro . WRAM fue diseñada para funcionar mejor y costar menos que VRAM. WRAM ofrecía hasta un 25% más de ancho de banda que VRAM y aceleraba las operaciones gráficas de uso común, como el dibujo de texto y el relleno de bloques. [60]

DRAM multibanco

MoSys MDRAM MD908

Multibank DRAM (MDRAM) es un tipo de DRAM especializada desarrollada por MoSys . Está construido a partir de pequeños bancos de memoria de 256 kB , que funcionan de forma entrelazada , proporcionando anchos de banda adecuados para tarjetas gráficas a un coste inferior a memorias como SRAM . MDRAM también permite operaciones en dos bancos en un solo ciclo de reloj, lo que permite que se produzcan múltiples accesos simultáneos si los accesos fueran independientes. MDRAM se utilizó principalmente en tarjetas gráficas, como las que incluyen los conjuntos de chips Tseng Labs ET6x00. Las placas basadas en este conjunto de chips a menudo tenían la capacidad inusual de 2,25 MB debido a la capacidad de MDRAM para implementarse más fácilmente con tales capacidades. Una tarjeta gráfica con 2,25 MB de MDRAM tenía suficiente memoria para proporcionar color de 24 bits con una resolución de 1024×768, una configuración muy popular en ese momento.

RAM de gráficos síncronos

La RAM de gráficos síncronos (SGRAM) es una forma especializada de SDRAM para adaptadores de gráficos. Agrega funciones como enmascaramiento de bits (escribir en un plano de bits específico sin afectar a los demás) y escritura en bloque (llenar un bloque de memoria con un solo color). A diferencia de VRAM y WRAM, 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 vídeo.

Gráficos con doble velocidad de datos SDRAM

Un paquete SDRAM Qimonda GDDR3 de 512 MBit
Dentro de un paquete Samsung GDDR3 de 256 MBit

La SDRAM de doble velocidad de datos de gráficos es un tipo de SDRAM DDR especializada diseñada para usarse como memoria principal de unidades de procesamiento de gráficos (GPU). GDDR SDRAM se diferencia de los tipos básicos de DDR SDRAM como DDR3, aunque comparten algunas tecnologías centrales. 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, hay siete generaciones sucesivas de GDDR: GDDR2 , GDDR3 , GDDR4 , GDDR5 , GDDR5X , GDDR6 y GDDR6X .

RAM pseudoestática

RAM pseudoestática CMOS de alta velocidad de 1 Mbit , fabricada por Toshiba

La RAM pseudoestática (PSRAM o PSDRAM) es una RAM dinámica con circuitos de control de dirección y actualización incorporados 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 verdadera SRAM. PSRAM se utiliza en el iPhone de Apple y otros sistemas integrados como la plataforma XFlar. [61]

Algunos componentes DRAM tienen un "modo de actualización automática". Si bien esto implica gran parte de la misma lógica que se necesita para la operación pseudoestática, este modo suele ser equivalente a un modo de espera. Se proporciona principalmente para permitir que un sistema suspenda el funcionamiento de su controlador DRAM para ahorrar energía sin perder datos almacenados en la DRAM, en lugar de permitir el funcionamiento sin un controlador DRAM separado como es el caso de las PSRAM mencionadas.

MoSys vendió una variante integrada de PSRAM con el nombre 1T-SRAM . Es un conjunto de pequeños bancos de DRAM con un caché SRAM al frente para que se comporte de manera muy similar a una SRAM verdadera. Se utiliza en las consolas de videojuegos Nintendo GameCube y Wii .

HyperRAM [62] de Cypress Semiconductor es un tipo de PSRAM que admite una interfaz HyperBus de 8 pines [63] o Octal xSPI compatible con JEDEC .

Ver también

Referencias

  1. ^ "¿Cómo" abrir "el microchip y qué hay dentro?: ZeptoBars". 2012-11-15. Archivado desde el original el 14 de marzo de 2016 . Consultado el 2 de abril de 2016 . Micron MT4C1024: RAM dinámica de 1 mebibit (220 bits). Ampliamente utilizado en computadoras de las eras 286 y 386, principios de los 90. Tamaño del troquel: 8662x3969μm.
  2. ^ "NeXTServiceManualPages1-160" (PDF) . Consultado el 9 de marzo de 2022 .
  3. ^ "¿Los principales proveedores de DRAM están reduciendo la demanda de DRAM?". www.icinsights.com . Archivado desde el original el 16 de abril de 2018 . Consultado el 16 de abril de 2018 .
  4. ^ EETimes; Hilson, Gary (20 de septiembre de 2018). "El auge y caída de DRAM es lo de siempre". EETimes . Consultado el 3 de agosto de 2022 .
  5. ^ Copeland, B. Jack (2010). Colossus: Los secretos de las computadoras descifradoras de códigos de Bletchley Park. Prensa de la Universidad de Oxford. pag. 301.ISBN _ 978-0-19-157366-8.
  6. ^ ab "Hoja de especificaciones de Toshiba" TOSCAL "BC-1411". www.oldcalculatormuseum.com . Archivado desde el original el 3 de julio de 2017 . Consultado el 8 de mayo de 2018 .
  7. Calculadora Toscal BC-1411 Archivado el 29 de julio de 2017 en Wayback Machine , Museo de Ciencias de Londres
  8. ^ Calculadora de escritorio Toshiba "Toscal" BC-1411 Archivado el 20 de mayo de 2007 en la Wayback Machine.
  9. ^ "Circuito de memoria". Patentes de Google . Consultado el 18 de junio de 2023 .
  10. ^ "1966: Las RAM semiconductoras satisfacen las necesidades de almacenamiento de alta velocidad". Museo de Historia de la Computación .
  11. ^ "IBM100 - DRAM". IBM . 9 de agosto de 2017.
  12. ^ "Robert Dennard". Enciclopedia Británica . Septiembre de 2023.
  13. ^ ab "1970: los semiconductores compiten con los núcleos magnéticos". Museo de Historia de la Computación .
  14. ^ Mary Bellis (23 de febrero de 2018). "¿Quién inventó el chip DRAM Intel 1103?". PensamientoCo. Archivado desde el original el 6 de marzo de 2013 . Consultado el 27 de febrero de 2018 .
  15. ^ "Copia archivada" (PDF) . Archivado desde el original (PDF) el 16 de enero de 2014 . Consultado el 15 de enero de 2014 .{{cite web}}: CS1 maint: archived copy as title (link)
  16. ^ Shirriff, Ken (noviembre de 2020). "Realización de ingeniería inversa del clásico chip DRAM MK4116 de 16 kilobits".
  17. ^ Proebsting, Robert (14 de septiembre de 2005). "Historia oral de Robert Proebsting" (PDF) . Entrevistado por Hendrie, Gardner. Museo de Historia de la Computación. X3274.2006.
  18. ^ "Estallido de la guerra de semiconductores entre Japón y Estados Unidos" Archivado el 29 de febrero de 2020 en la Wayback Machine.
  19. ^ Nester, William R. (2016). Política industrial estadounidense: ¿mercados libres o gestionados? Saltador. pag. 115.ISBN _ 978-1-349-25568-9.
  20. ^ Sanger, David E. (3 de agosto de 1985). "Se descubre 'dumping' de chips japoneses". New York Times .
    Woutat., Donald (4 de noviembre de 1985). "Seis fabricantes japoneses de chips citados por dumping". Los Ángeles Times .
    "Más empresas japonesas acusadas: Estados Unidos sostiene que cinco empresas arrojaron chips". Los Ángeles Times . 1986.
    Sanger, David E. (3 de noviembre de 1987). "El dumping de chips japonés ha terminado, según conclusiones de Estados Unidos". New York Times .
  21. ^ "Diseño electrónico". Diseño Electrónico . Compañía editorial Hayden. 41 (15-21). 1993. La primera DRAM síncrona comercial, la Samsung KM48SL2000 de 16 Mbit, emplea una arquitectura de banco único que permite a los diseñadores de sistemas realizar una transición sencilla de sistemas asíncronos a síncronos.
  22. ^ "Hoja de datos KM48SL2000-7". Samsung . Agosto de 1992 . Consultado el 19 de junio de 2019 .
  23. ^ "Samsung Electronics desarrolla la primera SDRAM de 128 Mb con opción de fabricación DDR/SDR". Samsung Electronics . Samsung . 10 de febrero de 1999 . Consultado el 23 de junio de 2019 .
  24. ^ Kuriko Miyake (2001). "Los fabricantes de chips japoneses dicen que sospechan de dumping por parte de empresas coreanas". CNN.
    "Los fabricantes de chips japoneses sospechan que las empresas coreanas realizan dumping". Mundo TI . 2001.
    "La investigación de precios de DRAM en Japón se centra en Hynix y Samsung". EETimes. 2001.
    "La DRAM coreana se encuentra excluida de Japón". Phys.org. 2006.
  25. ^ "Conferencia 12: Conceptos básicos de DRAM" (PDF) . utah.edu . 2011-02-17. Archivado (PDF) desde el original el 16 de junio de 2015 . Consultado el 10 de marzo de 2015 .
  26. ^ David agosto (23 de noviembre de 2004). "Conferencia 20: Tecnología de la memoria" (PDF) . cs.princeton.edu . págs. 3–5. Archivado desde el original (PDF) el 19 de mayo de 2005 . Consultado el 10 de marzo de 2015 .
  27. ^ abcdefghi Keeth y col. 2007, págs. 24-30
  28. ^ Para que no recordemos: ataques de arranque en frío a claves de cifrado Archivado el 5 de enero de 2015 en Wayback Machine , Halderman et al, USENIX Security 2008.
  29. ^ "Hoja de datos de Micron 4 Meg x 4 EDO DRAM" (PDF) . micron.com . Archivado desde el original (PDF) el 27 de septiembre de 2007 . Consultado el 8 de mayo de 2018 .
  30. ^ "Corsair CMX1024-3200 (1 GByte, DIMM DDR SDRAM sin búfer de dos bancos)" (PDF) . Diciembre de 2003. Archivado desde el original (PDF) el 11 de septiembre de 2008.
  31. ^ "Kit de memoria de doble canal Corsair TWINX1024-3200XL" (PDF) . Mayo de 2004. Archivado desde el original (PDF) el 7 de diciembre de 2006.
  32. ^ Keeth y col. 2007, pág. 22
  33. ^ Keeth y col. 2007, pág. 24
  34. ^ Sallese, Jean-Michel (20 de junio de 2002). "Principios del concepto de memoria de acceso dinámico 1T en SOI" (PDF) . Reunión del Grupo de Modelado y Extracción de Parámetros MOS . Breslavia, Polonia. Archivado (PDF) desde el original el 29 de noviembre de 2007 . Consultado el 7 de octubre de 2007 .
  35. ^ F. Morishita; et al. (21 de septiembre de 2005). "Una memoria de acceso aleatorio (TTRAM) de doble transistor sin condensador en SOI". Actas de la Conferencia de circuitos integrados personalizados IEEE 2005, 2005 . vol. Conferencia sobre circuitos integrados personalizados 2005. págs. doi :10.1109/CICC.2005.1568699. ISBN 978-0-7803-9023-2. S2CID  14952912.
  36. ^ J. Park y otros, IEDM 2015.
  37. ^ "ECC DRAM - Memoria inteligente". intelligentmemory.com . Archivado desde el original el 23 de diciembre de 2014 . Consultado el 16 de enero de 2015 .
  38. ^ Mastipuram, Ritesh; Wee, Edwin C (30 de septiembre de 2004). "Impacto de los errores leves en la confiabilidad del sistema". EDN . Semiconductor de ciprés. Archivado desde el original el 16 de abril de 2007.
  39. ^ Borucki, "Comparación de tasas de error suave de DRAM aceleradas medidas a nivel de componente y sistema", 46º Simposio internacional anual de física de confiabilidad, Phoenix, 2008, págs.
  40. ^ Schroeder, Bianca y col. (2009). "Errores de DRAM en la naturaleza: un estudio de campo a gran escala" Archivado el 10 de marzo de 2015 en Wayback Machine . Actas de la Undécima Conferencia Conjunta Internacional sobre Medición y Modelado de Sistemas Informáticos , págs.
  41. ^ "Una medición de errores de memoria blanda en sistemas de producción". www.ece.rochester.edu . Archivado desde el original el 14 de febrero de 2017 . Consultado el 8 de mayo de 2018 .
  42. ^ "Los defectos condenatorios de la DRAM y cómo paralizan las computadoras: IEEE Spectrum". Archivado desde el original el 24 de noviembre de 2015 . Consultado el 24 de noviembre de 2015 .
  43. ^ Li, Huang; Shen, Chu (2010). ""Una evaluación realista de los errores de hardware de la memoria y la susceptibilidad del sistema de software". Conferencia tecnológica anual de Usenix 2010" (PDF) . Archivado (PDF) desde el original el 15 de mayo de 2015.
  44. ^ "Ciclos, celdas y platos: un análisis empírico de fallas de hardware en un millón de PC de consumo. Actas de la sexta conferencia sobre sistemas informáticos (EuroSys '11). págs. 343-356" (PDF) . 2011. Archivado (PDF) desde el original el 14 de noviembre de 2012.
  45. ^ ab "Centro de Políticas de Tecnología de la Información» Para que no recordemos: ataques de arranque en frío a claves de cifrado". Archivado desde el original el 22 de julio de 2011.080222 citp.princeton.edu
  46. ^ Scheick, Leif Z.; Guertin, Steven M.; Swift, Gary M. (diciembre de 2000). "Análisis de los efectos de la radiación en células DRAM individuales". Transacciones IEEE sobre ciencia nuclear . 47 (6): 2534–2538. Código Bib : 2000ITNS...47.2534S. doi : 10.1109/23.903804. ISSN  0018-9499.
  47. ^ Yoongu Kim; Ross Daly; Jeremie Kim; Chris Fallin; Ji Hye Lee; Donghyuk Lee; Chris Wilkerson; Konrad Lai; Onur Mutlu (24 de junio de 2014). "Invertir bits en la memoria sin acceder a ellos: errores de perturbación de DRAM" (PDF) . ece.cmu.edu . Archivado (PDF) desde el original el 26 de marzo de 2015 . Consultado el 10 de marzo de 2015 .
  48. ^ Ian Poole. "Tutorial y conceptos básicos de la memoria SDRAM". Archivado desde el original el 27 de febrero de 2018 . Consultado el 26 de febrero de 2018 .
  49. ^ "Comprensión del funcionamiento de la DRAM (nota de aplicación)" (PDF) . IBM. Diciembre de 1996. Archivado desde el original (PDF) el 29 de agosto de 2017.
  50. ^ Manual de usuario de la CPU Z80 (PDF) . pag. 3.
  51. ^ "¿Qué es la actualización de DRAM y por qué se ve afectado el extraño diseño de la memoria de video de Apple II?".
  52. ^ Varios métodos de actualización de DRAM Archivado el 3 de octubre de 2011 en la nota técnica de Wayback Machine Micron TN-04-30
  53. ^ Keeth y col. 2007, pág. 13
  54. ^ abc Keeth y col. 2007, pág. 14
  55. ^ S. Mueller (2004). Actualización y reparación de portátiles. What; Edición Har/Cdr. pag. 221.ISBN _ 9780789728005.
  56. ^ Lin, Albert (20 de diciembre de 1999). "Calificaciones de memoria, el tema más confuso". Simmtester.com . CST, Inc. Archivado desde el original el 7 de noviembre de 2017 . Consultado el 1 de noviembre de 2017 .
  57. ^ Huang, Andrew (14 de septiembre de 1996). "Preguntas frecuentes sobre la RAM de Bunnie". Archivado desde el original el 12 de junio de 2017.
  58. ^ Cuppu, Vinodh; Jacob, Bruce; Davis, Brian; Mudge, Trevor (noviembre de 2001). "DRAM de alto rendimiento en entornos de estaciones de trabajo" (PDF) . Transacciones IEEE en computadoras . 50 (11): 1133-1153. doi : 10.1109/12.966491. hdl : 1903/7456 . Archivado (PDF) desde el original el 8 de agosto de 2017 . Consultado el 2 de noviembre de 2017 .
  59. ^ Kent, Dean (24 de octubre de 1998). "Burst EDO (BEDO) - Guía Ram | Hardware de Tom". Tomshardware.com . Consultado el 9 de marzo de 2022 .
  60. ^ "RAM de ventana (WRAM)". Archivado desde el original el 2 de enero de 2010.
  61. ^ Mannion, Patrick (12 de julio de 2008). "Bajo el capó - Actualización: Apple iPhone 3G expuesto". EETimes . Archivado desde el original el 22 de enero de 2013.
  62. ^ "psRAM (HiperRAM)". Semiconductor de ciprés.
  63. ^ "Hiperbús". Semiconductor de ciprés.

Otras lecturas

enlaces externos