stringtranslate.com

Actualización de memoria

La actualización de la memoria es el proceso, con el fin de preservar la información, de leer periódicamente información de un área de la memoria de la computadora y reescribir inmediatamente la información leída en la misma área sin modificaciones. [1] La actualización de la memoria es un proceso de mantenimiento en segundo plano necesario durante el funcionamiento de la memoria dinámica de acceso aleatorio (DRAM) de semiconductores, el tipo de memoria de computadora más utilizado y, de hecho, es la característica definitoria de esta clase de memoria. [2]

En un chip DRAM, cada bit de datos de la memoria se almacena como la presencia o ausencia de una carga eléctrica en un pequeño condensador del chip. [2] [3] A medida que pasa el tiempo, las cargas en las celdas de memoria se pierden, por lo que, sin actualizarse, los datos almacenados eventualmente se perderían. Para evitar esto, un circuito externo lee periódicamente cada celda y la reescribe, restaurando la carga del capacitor a su nivel original. Cada ciclo de actualización de memoria actualiza un área sucesiva de celdas de memoria, actualizando así repetidamente todas las celdas en un ciclo consecutivo. Este proceso normalmente se lleva a cabo automáticamente en segundo plano mediante los circuitos de memoria y es transparente para el usuario. [2] Mientras se produce un ciclo de actualización, la memoria no está disponible para operaciones normales de lectura y escritura, pero en la memoria moderna esta sobrecarga no es lo suficientemente grande como para ralentizar significativamente el funcionamiento de la memoria.

La memoria estática de acceso aleatorio (SRAM) es una memoria electrónica que no requiere actualización. [2] Una celda de memoria SRAM requiere de cuatro a seis transistores , en comparación con un solo transistor y un condensador para DRAM; por lo tanto, los circuitos SRAM requieren más área en un chip. Como resultado, la densidad de datos es mucho menor en los chips SRAM que en los DRAM, y le da a SRAM un precio por bit más alto. Por tanto, la DRAM se utiliza como memoria principal en ordenadores, consolas de videojuegos, tarjetas gráficas y aplicaciones que requieren grandes capacidades y bajo coste. [4] La necesidad de actualizar la memoria hace que la DRAM sea más complicada, pero la densidad y las ventajas de costo de la DRAM justifican esta complejidad.

Operación

Mientras la memoria está en funcionamiento, cada celda de memoria debe actualizarse repetidamente y dentro del intervalo máximo entre actualizaciones especificado por el fabricante, generalmente en la región de milisegundos. La actualización no emplea las operaciones de memoria normales (ciclos de lectura y escritura) utilizadas para acceder a los datos, sino ciclos especializados llamados ciclos de actualización que se generan mediante circuitos contadores separados y se intercalan entre los accesos normales a la memoria. [5] [6]

Las celdas de almacenamiento de un chip de memoria están dispuestas en una disposición rectangular de filas y columnas. El proceso de lectura en DRAM es destructivo y elimina la carga de las celdas de memoria en una fila completa, por lo que hay una columna de pestillos especializados en el chip llamados amplificadores de detección , uno para cada columna de celdas de memoria, para retener temporalmente los datos. Durante una operación de lectura normal, los amplificadores de detección, después de leer y bloquear los datos, reescriben los datos en la fila a la que se accede. [2] [7] Esta disposición permite que la electrónica de lectura normal en el chip actualice una fila completa de memoria en paralelo, acelerando significativamente el proceso de actualización. Aunque un ciclo normal de lectura o escritura actualiza una fila de memoria, no se puede confiar en que los accesos normales a la memoria lleguen a todas las filas dentro del tiempo necesario, lo que requiere un proceso de actualización por separado. En lugar de utilizar el ciclo de lectura normal en el proceso de actualización, para ahorrar tiempo se utiliza un ciclo de actualización abreviado. El ciclo de actualización es similar al ciclo de lectura, pero se ejecuta más rápido por dos motivos:

Para garantizar que cada celda se actualice dentro del intervalo de tiempo de actualización, el circuito de actualización debe realizar un ciclo de actualización en cada una de las filas del chip dentro del intervalo.

Tipos de circuitos de refresco

Aunque en algunos de los primeros sistemas el microprocesador controlaba la actualización, con un temporizador que activaba una interrupción periódica que ejecutaba una subrutina que realizaba la actualización, esto significaba que el microprocesador no se podía pausar, realizar un solo paso o poner en hibernación para ahorrar energía sin detener la actualización. proceso y pérdida de datos en la memoria. [6] Entonces, en los sistemas modernos, la actualización se maneja mediante circuitos en el controlador de memoria , [2] que pueden estar integrados en el propio chip. Algunos chips DRAM, como la RAM pseudoestática (PSRAM), tienen todos los circuitos de actualización en el chip y funcionan como RAM estática en lo que respecta al resto de la computadora. [8]

Por lo general, el circuito de actualización consta de un contador de actualización que contiene la dirección de la fila que se va a actualizar y que se aplica a las líneas de dirección de fila del chip , y un temporizador que incrementa el contador para recorrer las filas. [5] Este contador puede ser parte del circuito del controlador de memoria o en el propio chip de memoria. Se han utilizado dos estrategias de programación: [6]

La actualización en ráfaga produce largos períodos en los que la memoria no está disponible, por lo que la actualización distribuida se ha utilizado en la mayoría de los sistemas modernos, [5] particularmente en sistemas de tiempo real . En la actualización distribuida, el intervalo entre ciclos de actualización es

Por ejemplo, DDR SDRAM tiene un tiempo de actualización de 64 ms y 8192 filas, por lo que el intervalo del ciclo de actualización es de 7,8 μs. [5] [9]

Las generaciones recientes de chips DRAM contienen un contador de actualización integral y el circuito de control de la memoria puede usar este contador o proporcionar una dirección de fila desde un contador externo. Estos chips tienen tres formas estándar de proporcionar actualización, seleccionadas mediante diferentes patrones de señales en las líneas de "selección de columna" (CAS) y "selección de fila" (RAS): [6]

Desde la generación 2012 de chips DRAM, se eliminó el modo "solo RAS" y el contador interno se utiliza para generar actualización. El chip tiene un modo de suspensión adicional , para usar cuando la computadora está en modo de suspensión , en el que un oscilador en el chip genera ciclos de actualización internos para que el reloj externo pueda apagarse.

Actualizar gastos generales

La fracción de tiempo que la memoria dedica a la actualización, la sobrecarga de actualización, se puede calcular a partir del tiempo del sistema: [10]

Por ejemplo, un chip SDRAM tiene 2 13 = 8192 filas, un intervalo de actualización de 64 ms, el bus de memoria funciona a 133 MHz y el ciclo de actualización toma 4 ciclos de reloj. [10] El tiempo para un ciclo de actualización es [10]

Por lo tanto, los ciclos de actualización tomarán menos del 0,4% del tiempo del chip de memoria. En los chips SDRAM, la memoria de cada chip se divide en bancos que se actualizan en paralelo, lo que ahorra más tiempo. Así, el número de ciclos de actualización necesarios es el número de filas de un solo banco, indicado en las especificaciones, que en la generación de chips de 2012 se ha congelado en 8.192.

Intervalo de actualización

JEDEC estandariza el intervalo de tiempo máximo entre operaciones de actualización para cada tecnología DRAM y se especifica en las especificaciones del chip del fabricante. Suele estar en el rango de milisegundos para DRAM y microsegundos para eDRAM . Para chips DDR2 SDRAM es 64 ms. [11] : 20  Depende de la relación entre la carga almacenada en los condensadores de las celdas de memoria y las corrientes de fuga. A pesar de que la geometría de los condensadores se ha ido reduciendo con cada nueva generación de chips de memoria, por lo que los condensadores de última generación almacenan menos carga, los tiempos de actualización de la DRAM han ido mejorando; desde 8 ms para chips de 1 M, 32 ms para chips de 16 M y 64 ms para chips de 256 M. Esta mejora se logra principalmente mediante el desarrollo de transistores que causan significativamente menos fugas. Un tiempo de actualización más prolongado significa que una fracción menor del tiempo del dispositivo se ocupa con la actualización, lo que deja más tiempo para los accesos a la memoria. Aunque la sobrecarga de actualización ocupaba hasta el 10% del tiempo del chip en las DRAM anteriores, en los chips modernos esta fracción es inferior al 1%. [ cita necesaria ]

Debido a que las corrientes de fuga en los semiconductores aumentan con la temperatura, los tiempos de actualización deben disminuirse a altas temperaturas. Los chips DDR2 SDRAM tienen una estructura de actualización con compensación de temperatura; El tiempo del ciclo de actualización debe reducirse a la mitad cuando la temperatura de la carcasa del chip supera los 85 °C (185 °F). [11] : 49 

La persistencia real de los valores de carga legibles y, por tanto, de los datos en la mayoría de las celdas de memoria DRAM es mucho más larga que el tiempo de actualización, de 1 a 10 segundos. [12] Sin embargo, las corrientes de fuga de los transistores varían ampliamente entre diferentes celdas de memoria en el mismo chip debido a la variación del proceso. Para asegurarse de que todas las celdas de memoria se actualicen antes de que se pierda un solo bit, los fabricantes deben establecer tiempos de actualización conservadoramente cortos. [ cita necesaria ]

Esta actualización frecuente de la DRAM consume un tercio de la energía total consumida por los dispositivos electrónicos de bajo consumo en modo de espera. Los investigadores han propuesto varios enfoques para extender el tiempo de funcionamiento de la batería entre cargas reduciendo la frecuencia de actualización, incluida la actualización con compensación de temperatura (TCR) y la ubicación consciente de la retención en DRAM (RAPID). Los experimentos muestran que en un chip DRAM típico disponible en el mercado, solo unas pocas celdas débiles realmente requieren el intervalo de actualización de 64 ms en el peor de los casos, [13] e incluso entonces solo en el extremo superior de su rango de temperatura especificado. A temperatura ambiente (por ejemplo, 24 °C (75 °F)), esas mismas celdas débiles deben actualizarse una vez cada 500 ms para que funcionen correctamente. Si el sistema puede evitar el uso del 1% de las páginas más débiles, una DRAM típica solo necesita actualizarse una vez por segundo, incluso a 70 °C (158 °F), para el correcto funcionamiento del 99% restante de las páginas. Algunos experimentos combinan estas dos técnicas complementarias, dando un funcionamiento correcto a temperatura ambiente en intervalos de actualización de 10 segundos. [13]

Para aplicaciones tolerantes a errores (por ejemplo, aplicaciones de gráficos), la actualización de datos no críticos almacenados en DRAM o eDRAM a una velocidad inferior a su período de retención ahorra energía con una pérdida menor de calidad, lo cual es un ejemplo de computación aproximada . [ cita necesaria ]

Tecnologías de memoria SRAM y DRAM

SRAM

En la memoria estática de acceso aleatorio (SRAM), otro tipo de memoria semiconductora, los datos no se almacenan como carga en un condensador, sino en un par de inversores de acoplamiento cruzado , por lo que no es necesario actualizar la SRAM. Los dos tipos básicos de memoria tienen ventajas y desventajas. La memoria estática puede considerarse permanente mientras está encendida, es decir, una vez escrita, la memoria permanece hasta que se cambia específicamente y, por lo tanto, su uso tiende a ser simple en términos de diseño del sistema. Sin embargo, la construcción interna de cada celda SRAM requiere seis transistores, en comparación con el único transistor requerido para una celda DRAM, por lo que la densidad de la SRAM es mucho menor y el precio por bit mucho más alto que el de la DRAM.

Actualización basada en CPU

Algunos de los primeros microprocesadores (por ejemplo, el Zilog Z80 ) proporcionaban registros internos especiales que podían proporcionar el estroboscópico de dirección de fila (RAS) para actualizar las celdas de memoria dinámica, incrementándose el registro en cada ciclo de actualización. Esto también podría lograrse mediante otros circuitos integrados que ya se estén utilizando en el sistema, si estos ya generaran accesos cíclicos a través de la RAM ( por ejemplo , el Motorola 6845 ). En CPU como la Z80, la disponibilidad de una actualización RAS fue un gran punto de venta debido a su diseño de hardware simplificado. Aquí, la actualización de RAS es señalizada por una combinación única de dirección y cables de control durante ciclos de reloj operativamente redundantes (T-States), es decir, durante la decodificación/ejecución de instrucciones cuando los buses pueden no ser necesarios. En lugar de que el bus esté inactivo durante dichos estados T, el registro de actualización se presentaría en el bus de direcciones junto con una combinación de cables de control para indicarlo al circuito de actualización.

En las primeras versiones del Z80, la ubicuidad de los chips de RAM de 16 kB ( es decir, que tenían 128 filas) y una especie de falta de previsión dieron como resultado que el registro R solo se incrementara en un rango de 7 bits de ancho (0-127, es decir, 128 filas). ; El usuario podría configurar el octavo bit, pero el ciclo interno lo dejaría sin cambios. Con la rápida llegada de chips DRAM de más de 64 kbit (con un RAS de 8 bits), se tuvo que construir circuitos o lógica adicionales alrededor de la señal de actualización para sintetizar el octavo bit faltante y evitar que se perdieran bloques de memoria después de unos pocos milisegundos. En algunos contextos, era posible utilizar interrupciones para invertir el octavo bit en el momento apropiado y así cubrir todo el rango del registro R (256 filas). Otro método, quizás más universal pero también más complejo en términos de hardware, era utilizar un chip contador de 8 bits, cuya salida proporcionaría la dirección RAS de actualización en lugar del registro R: la señal de actualización de la CPU se usaba como reloj. para este contador, lo que da como resultado que la fila de memoria que se actualizará se incremente con cada ciclo de actualización. Las versiones posteriores y los "similares" con licencia del núcleo Z80 remediaron la no inclusión del octavo bit en el ciclo automático, y las CPU modernas han ampliado enormemente este aprovisionamiento básico para proporcionar soluciones integrales enriquecidas para la actualización de DRAM.

DRAM pseudoestática

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 (fabricada por Numonyx) se utiliza en el iPhone de Apple y otros sistemas integrados. [14]

Algunos componentes DRAM tienen un "modo de actualización automática", que implica gran parte de la misma lógica que se necesita para el funcionamiento pseudoestático, pero 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 con PSRAM. MoSys vende una variante integrada de PSRAM con el nombre 1T-SRAM . Técnicamente es DRAM, pero se comporta de manera muy similar a SRAM y se usa en las consolas GameCube y Wii .

Otras tecnologías de memoria que utilizan la actualización

Varias de las primeras tecnologías de memoria de computadora también requerían procesos periódicos similares en propósito a la actualización de la memoria. El tubo Williams tiene la mayor similitud, ya que, como ocurre con la DRAM, es esencialmente una memoria capacitiva en la que los valores almacenados para cada bit decaerían gradualmente a menos que se actualizaran.

En la memoria de núcleo magnético , cada celda de memoria puede retener datos indefinidamente incluso con la alimentación apagada, pero la lectura de los datos de cualquier celda de memoria borra su contenido. Como consecuencia, el controlador de memoria normalmente agregaba un ciclo de actualización después de cada ciclo de lectura para crear la ilusión de una operación de lectura no destructiva.

La memoria de la línea de retardo requiere una actualización constante porque los datos en realidad se almacenan como una señal en una línea de transmisión . En este caso, la frecuencia de actualización es comparable al tiempo de acceso a la memoria .

Ver también

Referencias

  1. ^ "ciclo de actualización" en Laplante, Phillip A. (1999). Diccionario Integral de Ingeniería Eléctrica. Saltador. pag. 540.ISBN _ 3540648356.
  2. ^ abcdef Ganssle, Jack Ganssle; Tammy Noergaard; Fred Eady; Lewin Edwards; David J. Katz (2007). Hardware integrado. Newnes. pag. 106.ISBN _ 978-0750685849.
  3. ^ Jacob, Bruce; Spencer Ng; David Wang (2007). Sistemas de memoria: Caché, DRAM, Disco. Morgan Kaufman. págs. 431–432. ISBN 978-0123797513.
  4. ^ Laasby, Gitte (10 de marzo de 2014). "Consumidores elegibles para recibir dinero en virtud del acuerdo de fijación de precios de chips de computadora". Milwaukee Journal-Sentinel . Milwaukee, Wisconsin . Consultado el 20 de agosto de 2014 .
  5. ^ abcdef Reinhardt, Steven K. (1999). "Memoria, págs. 9-3" (PDF) . EECS 373 Diseño de sistemas basados ​​en microprocesadores, notas de conferencias, otoño de 1999 . Departamento de Ingeniería Eléctrica, Univ. de Míchigan. Archivado desde el original (PDF) el 2 de enero de 2014 . Consultado el 26 de agosto de 2012 .
  6. ^ abcd Heath, Steve (2003). Diseño de sistemas integrados, 2ª ed. Newnes. págs. 88–89. ISBN 0750655461.
  7. ^ "Memoria 1997" (PDF) . Ingeniería de Circuitos Integrados. 1997. pág. 7.4.en The Chip Collection, sitio web del Smithsonian
  8. ^ Kumar (2009). Fundamentos de circuitos digitales, 2ª ed. India: PHI Learning Pvt. Limitado. Ltd. pág. 819.ISBN _ 978-8120336797.
  9. ^ "Especificación SDRAM de doble velocidad de datos (DDR) de JEDEC" (PDF) . JESD79C. Asociación de Tecnología de Estado Sólido JEDEC. Marzo de 2003 . Consultado el 27 de agosto de 2012 ., p.20, en la Escuela de Ingeniería y Ciencias de la Computación, Baylor Univ. sitio web
  10. ^ abcGodse , Deepali A.; Godse, Atul P. (2008). Organización de computadoras. India: Publicaciones técnicas. pag. 4.23. ISBN 978-8184313567.
  11. ^ ab "Especificación JEDEC DDR2 SDRAM" (PDF) . ECS.Baylor.edu . JESD79-2b. Asociación de Tecnología de Estado Sólido JEDEC. Enero de 2005 . Consultado el 27 de agosto de 2012 .
  12. ^ Jacob, 2007, p.356
  13. ^ ab Ravi K. Venkatesan, Stephen Herr, Eric Rotenberg. "Colocación consciente de la retención en DRAM (RAPID): métodos de software para DRAM cuasi no volátil". 2006.
  14. ^ EE Times desmontaje del iPhone 3G