PROCEDIMIENTO Y SISTEMA PARA MINIMIZAR EL IMPACTO DE LAS OPERACIONES DE REFRESCO SOBRE EL RENDIMIENTO DE MEMORIAS VOLÁTILES.
Un sistema de memoria (100) que comprende: una memoria volátil (110);
un contador de refrescos (130) configurado para supervisar un número de refrescos anticipados realizados en la memoria volátil, incrementando el contador de refrescos en uno cada vez que se realiza un refresco anticipado y disminuyendo cuando no se realiza un refresco programado regularmente; y un controlador de memoria (120) configurado para: detectar un refresco programado regularmente; en respuesta a la detección de un refresco programado regularmente, determinar que el contador de refrescos representa un número mayor que su valor mínimo, indicando su valor que se han usado todos los refrescos anticipados realizados previamente, determinar que la memoria está en reposo en respuesta a la determinación de que el contador de refrescos representa un número mayor que su valor mínimo y realizar al menos un refresco anticipado en respuesta a la determinación de que la memoria está en reposo; en el que el controlador de memoria está configurado adicionalmente para dirigir a la memoria volátil para realizar el refresco programado regularmente en respuesta al controlador de memoria que determina que el contador de refrescos ha alcanzado su valor mínimo
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2005/042535.
Solicitante: QUALCOMM INCORPORATED.
Nacionalidad solicitante: Estados Unidos de América.
Dirección: 5775 MOREHOUSE DRIVE SAN DIEGO, CA 92121 ESTADOS UNIDOS DE AMERICA.
Inventor/es: WALKER,Robert,Michael.
Fecha de Publicación: .
Fecha Solicitud PCT: 22 de Noviembre de 2005.
Clasificación Internacional de Patentes:
- G06F13/16A2S
- G11C11/406 FISICA. › G11 REGISTRO DE LA INFORMACION. › G11C MEMORIAS ESTATICAS (dispositivos semiconductores para memorias H01L, p. ej. H01L 27/108 - H01L 27/11597). › G11C 11/00 Memorias digitales caracterizadas por la utilización de elementos de almacenamiento eléctricos o magnéticos particulares; Elementos de almacenamiento correspondientes (G11C 14/00 - G11C 21/00 tienen prioridad). › Organización o control de los ciclos de de refresco o de regeneración de la carga.
Clasificación PCT:
- G11C11/406 G11C 11/00 […] › Organización o control de los ciclos de de refresco o de regeneración de la carga.
Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia.
Fragmento de la descripción:
ANTECEDENTES
Campo
La presente divulgación se refiere, en general, a dispositivos de memoria y, más específicamente, a procedimientos y sistemas para minimizar el impacto de las operaciones de refresco sobre el rendimiento de memorias 5 volátiles.
Antecedentes
La memoria volátil es un medio de almacenamiento que generalmente está estructurado como un número de disposiciones (o bancos). Cada banco está dispuesto adicionalmente como una matriz de “celdas de memoria” en filas y columnas, dividiéndose cada columna adicionalmente por el ancho de entrada/salida (E/S) de la memoria. Las 10 localizaciones dentro de la memoria se especifican de forma unívoca por banco, fila y columna. Puede usarse un controlador de memoria para recuperar datos de la memoria indicando la localización del banco de datos, fila y columna.
En el caso de las memorias volátiles dinámicas, cada celda tiene que refrescarse, o re-energizarse, periódicamente para mantener la integridad de los datos. Las celdas tienen que refrescarse porque están diseñadas en base a condensadores que almacenan cargas eléctricas, que pueden descargarse a lo largo del tiempo. El refresco es 15 el procedimiento de recarga, o re-energización, de las celdas de la memoria. Las celdas generalmente se refrescan fila por fila. Actualmente existen varios procedimientos que están diseñados para refrescar memorias volátiles. Algunos, si no todos estos procedimientos, incurren en un alto coste de funcionamiento y/o energía. Por ejemplo, hay dos procedimientos o técnicas comunes que se usan generalmente para controlar el refresco de memorias volátiles en sistemas digitales de módem. Un procedimiento se basa en la memoria para rastrear la fila y el banco que necesitan 20 refrescarse usando mecanismos de refresco incorporados que están disponibles en la memoria; el otro procedimiento se basa en el controlador de memoria para rastrear la fila y banco que necesitan refrescarse.
El primer procedimiento usado comúnmente es usar las funciones de refresco automático (auto-refresh) y auto-refresco (self-refresh) de las memorias volátiles. Estas funciones usan el reloj de refresco incorporado y la dirección de refresco de la memoria. Durante el uso activo de la memoria, si se necesita un ciclo de refresco, el controlador de 25 memoria tiene que precargar todos los bancos y después usar el comando de refresco automático para decir a la memoria que emita un ciclo de refresco interno. En el modo de refresco automático, la memoria usa la dirección de refresco en su contador interno de direcciones de refresco para determinar en qué fila/banco debe realizar el ciclo de refresco y realizar el ciclo a través de las filas relevantes. Cuando la memoria entra en el estado de refresco automático, todos los bancos tienen que cerrarse porque el controlador de memoria no sabe qué banco ser va a refrescar por la 30 memoria.
Durante periodos sin uso, el controlador de memoria puede poner la memoria en el modo de auto-refresco. En el modo de auto-refresco, la memoria usa su propio reloj interno y contador de direcciones de refresco para generar refrescos para refrescar la fila o filas de la memoria. Este procedimiento es bueno para ahorrar energía durante los estados de reposo, ya que puede usarse el modo de auto-refresco. El estado de auto-refresco usa una pequeña 35 cantidad de energía y mantiene el contenido de la memoria refrescando la memoria. Debido a la pequeña cantidad de energía necesaria, este procedimiento se usa comúnmente en la aplicación de baja energía.
De acuerdo con el segundo procedimiento, el control del refresco se realiza a través del controlador de memoria. Este procedimiento no usa ninguno de los mecanismos de refresco incorporados que están disponibles en la memoria. Con este procedimiento, a intervalos proporcionados regularmente (es decir, la tasa de refresco), el 40 controlador de memoria genera explícitamente refrescos al abrir y cerrar filas de una manera secuencial usando combinaciones de direcciones de banco/fila. El reloj de refresco, que determina la tasa de refresco, y las combinaciones de direcciones de banco/fila son internas al controlador de memoria. Este procedimiento es el mejor para aplicaciones de alta velocidad/alto rendimiento. Este procedimiento permite que el controlador de memoria refresque un banco de memoria particular mientras que permite que otros bancos de memoria permanezcan abiertos para el acceso, dando 45 como resultado un mayor rendimiento; las lecturas y escrituras en otros bancos generalmente pueden continuar en paralelo y sin interrupciones. El inconveniente de este procedimiento es que durante los estados de apagado del sistema o de reposo prolongado, cuando el controlador de memoria no está refrescando la memoria, la memoria no puede mantenerse en un estado de auto-refresco. Como se ha mencionado anteriormente, el estado de auto-refresco es una función incorporada de la mayoría de las memorias volátiles. Como la función de auto-refresco de la memoria 50 incrementa una dirección de refresco (es decir, la dirección de fila/banco) almacenada en un contador de direcciones de refresco en la memoria, independiente del controlador de memoria, la dirección de refresco mantenida por la memoria no es consecuente o no está sincronizada con el controlador de memoria.
Las operaciones de refresco pueden reducir el rendimiento de subsistemas de la memoria porque cada ciclo de refresco obliga a que una memoria entre en un estado de reposo, durante el cual no está disponible el acceso a los 55 datos. Por ejemplo, si se requiere un ciclo de refresco para un banco de memoria particular mientras que dicho banco está en un estado activo, el banco tiene que cerrarse para permitir que tenga lugar la operación de refresco. El cierre del banco significa que cualquier operación de datos que se vaya a realizar tenga que retrasarse afectando, por lo tanto, al
rendimiento del sistema.
Se dispone de algunos esquemas existentes para reducir el impacto sobre el rendimiento de las operaciones de refresco. Dichos esquemas típicamente implican el uso de una tasa de refresco mayor que la necesaria, de forma que puedan refrescarse más bancos de memoria dentro de un periodo de refresco predeterminado. Al tener más bancos de memoria refrescados, se reduce la posibilidad de tener que cerrar un banco de memoria activo para el refresco. Sin 5 embargo, el uso de una mayor tasa de refresco tiene sus inconvenientes. Por ejemplo, un aumento en la tasa de refresco significa que se necesita más energía, lo cual a su vez da como resultado un menor rendimiento. Además, el simple uso de una mayor tasa de refresco no siempre evita la necesidad de cerrar un banco de memoria activo cuando se necesita el refresco; en algunas situaciones tiene que cerrarse un banco de memoria activo independientemente anulándose, por lo tanto, cualquier ventaja del uso de una mayor tasa de refresco. 10
Por lo tanto, sería deseable proporcionar procedimientos y sistemas más eficaces para minimizar el impacto de las operaciones de refresco sobre el rendimiento de las memorias volátiles.
El documento US 5 907 857 de la técnica anterior más próxima desvela un sistema informático que refresca la memoria dinámica en una ráfaga, pero permite otras solicitudes de acceso de memoria para anticiparse a una ráfaga de refresco antes de que se complete la ráfaga. En otro aspecto, una vez que empieza un refresco por ráfagas, se deja que 15 continúe durante un número de ciclos de refresco que es mayor que el número de ciclos de refresco pendientes; es decir, hasta un momento en el que el número de ciclos de refresco pendientes sea negativo. Esta técnica, denominada en el presente documento "anticipación de refresco" (refresh-ahead), ayuda eficazmente a desplazar la actividad de refresco de memoria dentro de periodos de tiempo de bus que de otra forma estarían en reposo.
SUMARIO 20
La invención se define en las reivindicaciones independientes 1 y 15.
En un ejemplo, un sistema de memoria incluye una memoria volátil, un contador de refrescos configurado para supervisar un número de refrescos anticipados realizados en la memoria volátil, y un controlador configurado para comprobar el contador de refrescos para determinar si puede saltarse un refresco programado regularmente en respuesta a la detección de una solicitud para el refresco programado regularmente. 25
En otro ejemplo, un sistema de memoria incluye una memoria volátil, un contador de refrescos configurado para mantener información...
Reivindicaciones:
1. Un sistema de memoria (100) que comprende:
una memoria volátil (110);
un contador de refrescos (130) configurado para supervisar un número de refrescos anticipados realizados en la memoria volátil, incrementando el contador de refrescos en uno cada vez que se realiza un refresco 5 anticipado y disminuyendo cuando no se realiza un refresco programado regularmente; y
un controlador de memoria (120) configurado para:
detectar un refresco programado regularmente;
en respuesta a la detección de un refresco programado regularmente, determinar que el contador de refrescos representa un número mayor que su valor mínimo, indicando su valor que se han usado todos 10 los refrescos anticipados realizados previamente,
determinar que la memoria está en reposo en respuesta a la determinación de que el contador de refrescos representa un número mayor que su valor mínimo y
realizar al menos un refresco anticipado en respuesta a la determinación de que la memoria está en reposo; 15
en el que el controlador de memoria está configurado adicionalmente para dirigir a la memoria volátil para realizar el refresco programado regularmente en respuesta al controlador de memoria que determina que el contador de refrescos ha alcanzado su valor mínimo.
2. El sistema de la reivindicación 1, en el que el controlador de memoria está configurado adicionalmente para dirigir a la memoria volátil para realizar al menos un refresco anticipado además de realizar el refresco programado 20 regularmente.
3. El sistema de la reivindicación 2, en el que el número de refrescos anticipados a realizar varía dependiendo de una o más condiciones.
4. El sistema de cualquier reivindicación anterior, en el que el controlador está configurado adicionalmente para dirigir a la memoria volátil para que no realice dicho al menos un refresco anticipado en respuesta a la determinación de 25 que el controlador de memoria está activo y el contador de refrescos representa un número mayor que su valor mínimo.
5. El sistema de la reivindicación 1, en el que se realiza un número máximo de refrescos anticipados y el número máximo está basado en el tamaño del contador de refrescos.
6. El sistema de cualquier reivindicación anterior, en el que el contador de refrescos incluye un contador de bits.
7. El sistema de la reivindicación 1, en el que la memoria volátil incluye una de una memoria dinámica de acceso 30 aleatorio DRAM y una DRAM síncrona.
8. El sistema de memoria de cualquier reivindicación anterior, que comprende además:
un procesador configurado para gestionar interacciones entre el controlador, la memoria volátil y el contador de refrescos.
9. El sistema de la reivindicación 1, en el que el controlador de memoria está configurado adicionalmente para 35 actualizar el contador de refrescos para reflejar un número reducido de refrescos anticipados realizados en respuesta a la determinación de que el controlador de memoria está activo y el contador de refrescos está representando un número mayor que su valor mínimo.
10. El sistema de la reivindicación 3, en el que dicha al menos una condición se selecciona de un grupo de condiciones que incluye el tamaño del contador de refrescos. 40
11. El sistema de la reivindicación 4, en el que en el que un valor del contador de refrescos se disminuye en respuesta a la determinación de que el controlador de memoria está activo.
12. El sistema de la reivindicación 1, en el que el controlador de memoria está configurado adicionalmente para determinar si el contador de refrescos ha alcanzado un valor máximo.
13. El sistema de la reivindicación 12, en el que un valor del contador de refrescos se incrementa en respuesta a la 45 determinación de que el contador de refrescos no ha alcanzado el valor máximo.
14. El sistema de la reivindicación 12, en el que un valor del contador de refrescos permanece constante en
respuesta a la determinación de que el contador de refrescos ha alcanzado el valor máximo.
15. Un procedimiento para realizar operaciones de refresco en una memoria volátil (110), que comprende:
detectar un refresco programado regularmente;
en respuesta a la detección de un refresco programado regularmente, determinar que un contador de refrescos configurado para supervisar un número de refrescos anticipados realizados en la memoria volátil, 5 incrementando el contador de refrescos en uno cada vez que se realiza un refresco anticipado, y disminuyendo cuando no se realiza un refresco programado regularmente, representa un número mayor que su valor mínimo, indicando su valor mínimo que se han usado todos los refrescos anticipados realizados previamente,
determinar que una memoria está en reposo en respuesta a la determinación de que el contador de 10 refrescos representa un número mayor que su valor mínimo; y
realizar al menos un refresco anticipado en respuesta a la determinación de que la memoria está en reposo;
o realizar el refresco programado regularmente en respuesta a la determinación de que el controlador de refrescos ha alcanzado su valor mínimo. 15
16. El procedimiento de la reivindicación 15, en el que número de refrescos anticipados a realizar varía dependiendo de una o más condiciones.
17. El procedimiento de la reivindicación 15, que comprende además:
prevenir la ejecución de dicho al menos un refresco anticipado y el refresco programado regularmente; y
actualizar el contador de refrescos para reflejar un número reducido de refrescos anticipados realizados en 20 respuesta a la determinación de que la memoria volátil está activa.
18. El procedimiento de la reivindicación 16, en el que dicha al menos una condición se selecciona entre un grupo de condiciones que incluye el tamaño del contador de refrescos.
19. El procedimiento de la reivindicación 15, que comprende además:
determinar si el contador de refrescos está en un valor máximo. 25
20. El procedimiento de la reivindicación 15, que comprende además:
actualizar el contador de refrescos para reflejar un número incrementado de refrescos anticipados realizado en respuesta a la determinación de que el contador de refrescos no está en el valor máximo.
Patentes similares o relacionadas:
SISTEMA DE SEGURIDAD CONTRA ATAQUES POR MARTILLEO DE FILAS; MEMORIA; MÉTODOS, del 28 de Mayo de 2020, de UNIVERSIDAD INDUSTRIAL DE SANTANDER: La invención se refiere a un sistema de seguridad contra ataques por martilleo de filas que monitorea filas adyacentes para generar alertas que determinan acciones de mitigación […]
Dispositivos de memoria y procedimientos de operación de los mismos, del 4 de Diciembre de 2019, de Winbond Electronics Corp: Un dispositivo de memoria, siendo el dispositivo de memoria una memoria dinámica de acceso aleatorio, DRAM, y que […]
Sincronización de actualización automática dirigida, del 5 de Junio de 2019, de QUALCOMM INCORPORATED: Un procedimiento, mediante un módulo de memoria y un controlador , de actualización de una pluralidad de bancos de memoria , que comprende: aceptar […]
Arquitectura de DRAM de alta velocidad con una latencia de acceso uniforme, del 16 de Julio de 2014, de Conversant Intellectual Property Management Inc: Memoria Dinámica de Acceso Aleatorio (DRAM) que comprende: una celda de memoria acoplada a un par de líneas de bit y a una línea de palabra; un dispositivo […]
Lectura de registro para memoria volátil, del 3 de Octubre de 2012, de QUALCOMM INCORPORATED: Un procedimiento de lectura de datos de un módulo SDRAM (RAM, Memoria de Acceso Dinámico Síncrona), no estando almacenados tales datos en una matriz DRAM […]
Dispositivo de memoria dinámica de acceso aleatorio y método para auto-refrescar las celdas de memoria, del 25 de Abril de 2012, de MOSAID TECHNOLOGIES INCORPORATED: Un dispositivo de memoria dinámica de acceso aleatorio (abreviado DRAM) operado selectivamente en un modode auto-refresco y un modo de no auto-refresco, […]
CIRCUITO PROCESADOR CON REGENERACION DE MEMORIA., del 16 de Octubre de 1999, de SIEMENS AKTIENGESELLSCHAFT: LA PRESENTE INVENCION SE REFIERE A UN CIRCUITO PROCESADOR CON UN PROCESADOR Y COMPONENTES DE MEMORIA, LOS COMPONENTES DE MEMORIA ESTAN CONFIGURADOS […]
SISTEMA Y PROCEDIMIENTO PARA REDUCIR EL CONSUMO DE POTENCIA DE RAM DINÁMICA A TRAVÉS DE LA UTILIZACIÓN DE INDICADORES DE DATOS VÁLIDOS, del 27 de Febrero de 2012, de QUALCOMM INCORPORATED: Un procedimiento de refresco de una matriz DRAM organizada como una pluralidad de unidades de memoria refrescables de manera independiente, que comprende: […]