Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SECURITY SYSTEM FOR PROTECTION AGAINST ROW HAMMERING ATTACKS, MEMORY AND METHODS
Document Type and Number:
WIPO Patent Application WO/2020/104922
Kind Code:
A1
Abstract:
The invention relates to a security system for protection against row hammering attacks, which monitors adjacent rows in order to generate alerts which determine mitigation actions that can be applied to any dynamic random-access memory. In one of the modes, the size of the monitoring cells is the same as that of the storage cells, wherein the monitoring cells emulate an effect of double the capacitance, making the monitoring cell less susceptible to leakage currents. In another mode, the size of the monitoring cell is different from that of the storage cell, which will make said cell more susceptible to the leakage currents and will permit an early detection of the row hammering attack, so that the controller of the random-access memory can carry out the relevant actions, such as refreshing the memory.

Inventors:
AMAYA BELTRÁN ANDRÉS FELIPE (CO)
GÓMEZ HÉCTOR (CO)
ROA FUENTES ÉLKIM FELIPE (CO)
Application Number:
PCT/IB2019/059898
Publication Date:
May 28, 2020
Filing Date:
November 18, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV INDUSTRIAL DE SANTANDER (CO)
International Classes:
G11C11/406; G11C29/52
Foreign References:
US9418724B22016-08-16
KR20180122748A2018-11-13
US9799391B12017-10-24
Attorney, Agent or Firm:
RODRIGUEZ MORALES, Jhon Alejandro (CO)
Download PDF:
Claims:
REIVINDICACIONES

1 . Un sistema de seguridad contra ataques por martilleo de filas que comprende una pluralidad de celdas de monitoreo (5) adyacente a celdas almacenamiento (4), en donde cada celda de monitoreo (5) reemplaza a una o más celdas de almacenamiento

(4) en una memoria dinámica de acceso aleatorio (100).

2. El sistema de seguridad contra ataques por martilleo de filas de la reivindicación 1 caracterizado porque las celdas de monitoreo (5) comprenden un transistor (10) y un capacitor (1 1 ); las celdas de almacenamiento (4) comprenden un transistor (8) y un capacitor (9); en donde el valor nominal de los componentes de la celda de monitoreo

(5) es similar al valor nominal de los componentes de la celda de almacenamiento (4); en donde la celda de monitoreo (5) comprende dos celdas tradicionales o estándar (C1 ) y (C2), en donde la celda (C2) se conecta a la línea de bit de la celda (C1 ), lo que permite emular un capacitor de mayor capacitancia aparente.

3. El sistema de seguridad contra ataques por martilleo de filas de la reivindicación 2 caracterizado porque el conjunto formado por la celda de monitoreo (5) conectada a la celda de almacenamiento (4) contiguo monitorean la actividad de una celda de almacenamiento (4).

4. El sistema de seguridad contra ataques por martilleo de filas de la reivindicación 1 caracterizado porque las celdas de monitoreo (5) comprenden un transistor (10) y un capacitor (1 1 ); las celdas de almacenamiento (4) comprenden un transistor (8) y un capacitor (9); en donde el valor nominal de la capacitancia del capacitor de la celda de monitoreo (1 1 ) corresponde a entre 30% y el 70% del valor nominal de la capacitancia del capacitor de una celda de almacenamiento convencional (9); y, en donde el valor nominal de la relación ancho-largo (W/L) del transistor de la celda de monitoreo (10) se selecciona entre el 180% y 400% del valor nominal de la relación ancho-largo (W/L) del transistor de una celda de almacenamiento convencional (8).

5. Una memoria dinámica de acceso aleatorio (100) que comprende el sistema de seguridad contra ataques por martilleo de filas de cualquiera de las reivindicaciones anteriores. 6. Un método para la prevención de ataques por martilleo de filas en memoria dinámica de acceso aleatorio que comprende las siguientes etapas:

a. las celdas de memoria que comparten la línea de bit se pre-cargan al mismo valor de una línea de bit de referencia regular;

b. cuando alguna fila está bajo un ataque de martilleo, las dos líneas de bit empiezan a perder la información, en donde la línea de bit regular se descarga primero;

c. el controlador de memoria verifica que la información en ambas líneas de bit sea siempre la misma; y,

d. cuando la información difiere entre ambas líneas de bit, el controlador de memoria ejecuta la corrección correspondiente en una memoria dinámica de acceso aleatorio.

7. El método para la prevención de ataques por martilleo de filas en memoria dinámica de acceso aleatorio de la reivindicación 6, en donde las dos líneas de bit se refrescan al mismo valor en operación normal.

8. Un método para la prevención de ataques por martilleo de filas en memoria dinámica de acceso aleatorio que comprende las siguientes etapas:

a. las celdas de monitoreo se pre-cargan a un valor que debe ser mantenido durante todo el funcionamiento de la memoria;

b. cuando alguna fila está bajo un ataque de martilleo, la celda de monitoreo se descarga más rápido que cualquier celda regular;

c. el controlador de memoria verifica que la información en la celda de monitoreo sea siempre la misma; y,

d. cuando el controlador identifica que la información de la celda de monitoreo está alterada, ejecuta una operación de refresco.

9. El método para la prevención de ataques por martilleo de filas en memoria dinámica de acceso aleatorio de la reivindicación 8, en donde la celda de monitoreo se refresca siempre al mismo valor en operación normal.

Description:
SISTEMA DE SEGURIDAD CONTRA ATAQUES POR MARTILLEO DE FILAS; MEMORIA; MÉTODOS

RESUMEN

La presente 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 aplicable a cualquier memoria dinámica de acceso aleatorio (100). Así mismo, la presente invención se refiere a una memoria dinámica de acceso aleatorio (100) que comprende un sistema de seguridad contra ataques por martilleo de filas según la invención. En una de las modalidades de la invención el tamaño de las celdas de monitoreo (5) es el mismo que de las celdas de almacenamiento (4), en donde las celdas de monitoreo (5) emulan un efecto del doble de la capacitancia, haciendo a la celda de monitoreo (5) menos susceptible a corrientes de fuga. En otra modalidad de la invención, el tamaño de la celda de monitoreo (5) es distinto al de la celda de almacenamiento (4), lo que hará a dicha celda más susceptible ante las corrientes de fuga y permitirá una detección temprana del ataque de martilleo por filas, para que el controlador de la memoria de acceso aleatorio (100) tome las acciones pertinentes, como el refresco de la memoria. SECTOR TECNOLÓGICO:

La presente invención hace parte del sector tecnológico relacionado con dispositivos semiconductores y dispositivos para registro y almacenamiento de información, más específicamente con memorias digitales que utilizan transistores y capacitores, con memorias dinámicas de acceso aleatorio para almacenamiento temporal de información, con estructuras y arreglos físicos y de circuito que permiten mitigar un determinado tipo de ataque informático. Específicamente, la presente invención se refiere a un sistema de seguridad contra ataques por martilleo de filas en cualquier memoria dinámica de acceso aleatorio. ANTECEDENTES DE LA INVENCIÓN:

El almacenamiento de la información ha sido uno de los temas centrales en teoría de la información, ingeniería computacional, y sus aplicaciones prácticas desde sus inicios más tempranos. En cuanto al almacenamiento de ésta, diferentes paradigmas han surgido relacionados con la distribución de la información. Hoy día el paradigma general de jerarquía de memorias es el más común, en el que a grandes rasgos se tiene un procesador que ejecuta instrucciones con base en algoritmos e información alojados directamente en una memoria anexa a dicho procesador, una memoria de acceso aleatorio que comprende información deseable y de posible ejecución a la que se debe poder acceder rápidamente, y una memoria permanente con información de posible uso, pero que no se necesita de manera prioritaria en todo momento.

En cuanto a memorias de acceso aleatorio que permitan manejar un nivel de velocidad mayor comparado con memorias de almacenamiento permanente como las del paradigma recién mencionado, se suele tener una serie de celdas en donde la información es almacenada, y dichas celdas pueden estar conformadas únicamente por elementos lógicos creados a partir de transistores o en un paradigma que combina capacitores y transistores.

En general, y aunque se obtiene una memoria más rápida, es también más costoso producir memorias que utilicen netamente componentes lógicos, además de que dichas memorias son menos densas y, por tanto, menos capaces en cuanto a almacenamiento por unidad de área; en cambio, las celdas que utilizan capacitores y transistores permiten una densidad de almacenamiento mucho mayor mientras que también permiten reducir los costos de producción considerablemente. Uno de los primeros documentos de patente en mencionar una memoria por celdas que utiliza capacitores y transistores para el almacenamiento de información corresponde a US3387286A, en el que se describe una memoria que comprende una matriz de por lo menos nueve celdas en la que la información se almacena en el estado de carga de un capacitor dispuesto en cada celda y que, por efecto de posibles corrientes de fuga y fenómenos similares, debe existir una tasa de refresco para recargar la información de aquellos capacitores cuyo estado de carga esté por descender por debajo del umbral de categorización lógica.

Sin embargo, la velocidad de lectura y escritura depende del paradigma utilizado, por el cual la información se almacena estrictamente en un arreglo lógico de transistores, o en un arreglo de capacitores y transistores; por lo general los arreglos que utilizan solamente transistores en un arreglo lógico son más rápidos y se denominan memorias estáticas de acceso aleatorio, o“SRAM” por sus siglas en inglés, arreglos en los que por lo general cada celda de almacenamiento de un bit de información se logra mediante el acople cruzado de las salidas y entradas de dos inversores; sin embargo, para la producción de cada celda se requieren por lo menos seis transistores, lo que hace que este tipo de paradigma de producción ocupe un espacio considerable en cada chip, además de encarecer el producto final, lo que hace que su uso suela limitarse al intercambio de información final con el procesador o directamente en el mismo a manera de memoria de registros y de almacenamiento de caché, haciendo referencia a la cadena convencional de jerarquía de memoria para una computadora.

Por otra parte, los arreglos que utilizan capacitores y transistores suelen utilizar solamente un capacitor y un transistor para la producción de cada celda, por lo que se caracterizan por utilizar un área mucho menor además de reducir los costos de producción por cada bit de información considerablemente; estos arreglos de memoria son denominados memorias dinámicas de acceso aleatorio, o DRAM por sus siglas en inglés, en donde el concepto de dinámico en su nombre hace referencia a la tasa de refresco en la información que debe realizarse para reintroducir los valores de información en cada fila de celdas, dado que cada bit de información almacenado en un capacitor se pierde después de un tiempo ya considerado, dadas las características físicas inherentes al arreglo y por las cuales se pierde la tensión de cada capacitor por efecto de corrientes de fuga.

Existen numerosas modificaciones que mejoran el funcionamiento o en general características de las memorias de acceso aleatorio, sin que esto necesariamente conlleve un cambio de paradigma o incorporación de una tecnología completamente distinta. Un ejemplo de mejora en cuanto a memorias de acceso aleatorio se divulga en el documento US4152779A, en el que se evidencia una forma de disminuir la corriente de fuga y de aumentar la velocidad en la tasa de refresco; sin embargo, en dicho documento no se solucionan problemas inherentemente presentados en este tipo de memoria como la corrupción de información en celdas por efecto de cambios repetidos en una fila adyacente y aprovechados en un ataque informático conocido como ataque por martilleo de filas, por lo que esta, como muchas otras mejoras técnicas en materia de memorias dinámicas de acceso aleatorio, no provee a dicha tecnología con características de seguridad que permitan mitigar fallas graves e inherentes a la misma.

Se han presentado algunos acercamientos para la identificación y contramedida para un posible ataque por martilleo de filas. Por ejemplo, el documento US20140059287A1 divulga un sistema que analiza el número de accesos a una fila de memoria para determinar un posible ataque, análisis con base en el cual se puede activar una contramedida en el controlador de la memoria que consiste en activar el refresco de información inherente a las memorias dinámicas de acceso aleatorio. Sin embargo, dicho documento basa su solución en una medida lógica, o medida en la cual se utiliza un análisis de los sucesos ligados al ataque por martilleo de filas y no soluciona una posible corrupción de la información de filas adyacentes a causa de una secuencia sucesiva de datos de acuerdo con posibles necesidades del sistema operativo o de un usuario de computadora, por lo que dicho sistema se limita a la realización de un análisis que requiere la utilización de recursos posiblemente valiosos y aprovechables en la rapidez de otros cálculos más relevantes para un posible usuario. De manera similar se presentan otras posibles soluciones en la bibliografía; sin embargo, estas suelen limitarse a ser implementadas por medio de algoritmos y secuencias lógicas, en lugar de proveer una solución que no utilice considerablemente los recursos de un controlador de memoria y, en general, los que hacen parte del funcionamiento de una computadora.

Por lo tanto, existe una necesidad técnica de proveer una solución física intrínseca en el diseño de memorias dinámicas de acceso aleatorio de tal manera que no se utilice de manera considerable los recursos de una computadora y en donde sea posible también contrarrestar la posible corrupción de la información que puede darse cuando un algoritmo no maligno (no ataque por martilleo de filas), o una serie de los mismos, se encuentre realizando cambios rápidamente en un conjunto de capacitores comprendidos por dicha memoria.

La presente invención provee una solución técnica y física que le permite detectar cambios no deseados en cualquiera de varias filas, y en diferentes lugares de la misma, en donde aquellos cambios no deseados pueden ser debido a un ataque por martilleo de filas, y en donde luego de dicha detección es posible ejecutar acciones de contramedida para que la información almacenada en los capacitores no cambien su estado por la posible corrupción que tendría lugar si no se toman contramedidas o en una modalidad complementaria de la invención. La detección permitirá ejecutar algoritmos de corrección inherentes al diseño de una memoria dinámica de acceso aleatorio, dado que la detección se realiza antes de que la cantidad de información corrompida supere los límites de tolerancia de los algoritmos. Además, la presente solución técnica hace mínima la utilización de algoritmos de secuencia lógica necesarios para mitigar el efecto del ataque de martilleo en el controlador, limitándose en la práctica a la ejecución de un refresco con base en una única ejecución de lectura y comparación. Por lo tanto, la presente invención provee una solución que, complementada con las características de diseño físico explicadas en el presente documento, permiten a la invención implementarse en el corto plazo y no afectar la estructura y fabricación habitual de las memorias dinámicas de acceso aleatorio.

BREVE DESCRIPCIÓN DE LA INVENCIÓN:

La presente 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 aplicable a cualquier memoria dinámica de acceso aleatorio

(100). Así mismo, la presente invención se refiere a una memoria dinámica de acceso aleatorio (100) que comprende un sistema de seguridad contra ataques por martilleo de filas según la invención.

En una de las modalidades de la invención el tamaño de las celdas de monitoreo (5) es el mismo que de las celdas de almacenamiento (4), en donde las celdas de monitoreo

(5) emulan un efecto del doble de la capacitancia, haciendo a la celda de monitoreo (5) menos susceptible a corrientes de fuga.

En otra modalidad de la invención, el tamaño de la celda de monitoreo (5) es distinto al de la celda de almacenamiento (4). La celda de monitoreo (5) tiene un transistor (10) que en su realización preferida puede ser el doble o cuatro veces mayor la relación ancho-largo (W/L) de la relación nominal del incluido en las celdas de almacenamiento (4) y un condensador (1 1 ) cuyo valor nominal en su realización preferida es de aproximadamente la mitad del valor nominal o menor de la mitad si se usa el doble de la relación ancho-largo (W/L) del transistor, o igual al valor nominal si usan transistores con relación ancho-largo (W/L) cuatro veces mayor del que incluyen las celdas de almacenamiento, lo que hará a dicha celda más susceptible ante las corrientes de fuga y permitirá una detección temprana del ataque de martilleo por filas, para que el controlador de la memoria de acceso aleatorio (100) tome las acciones pertinentes, como el refresco de la memoria.

La presente invención detecta cambios no deseados en cualquiera de varias filas, y en diferentes lugares de esta, en cualquier memoria dinámica de acceso aleatorio, en donde aquellos cambios no deseados pueden ser debido a un ataque por martilleo de filas. La presente invención hace mínima la utilización de algoritmos de secuencia lógica necesarios para mitigar el efecto del ataque de martilleo en el controlador, limitándose en la práctica a la ejecución de un refresco con base en una única ejecución de lectura y comparación. Por lo tanto, la presente invención provee una solución que, complementada con las características de diseño físico explicadas en el presente documento, permiten a la invención implementarse en el corto plazo y no afectar la estructura habitual y fabricación de las memorias dinámicas de acceso aleatorio.

DESCRIPCIÓN DE LAS FIGURAS:

La Figura 1 ilustra la memoria dinámica de acceso aleatorio (100) que comprende una matriz de celdas de almacenamiento (1 ), un decodificador de filas (2), un decodificador de columnas (3), y un controlador de memoria. La matriz de celdas de almacenamiento (1 ) comprende una pluralidad de celdas de almacenamiento (4) que se configuran, por la manera en la que dichas celdas (4) se interconectan, de manera que se relacionan con filas y columnas.

La Figura 2 representa el diagrama de circuito para una celda de almacenamiento (4) que comprende un transistor (8) y un capacitor (9), así como el de la celda de monitoreo (5) que comprende un transistor (10) y un capacitor (1 1 ). La Figura 3 muestra el esquema y la disposición para la modalidad de la invención en la que las celdas de monitoreo (5) y las celdas de almacenamiento (4) tienen el mismo tamaño.

DESCRIPCIÓN DETALLADA DE LA INVENCIÓN

La presente 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 aplicable a cualquier memoria dinámica de acceso aleatorio (100). Así mismo la presente invención se refiere a una memoria dinámica de acceso aleatorio (100) que comprende un sistema de seguridad contra ataques por martilleo de filas según la presente invención

El sistema de seguridad contra ataques por martilleo de filas de la presente invención comprende una pluralidad de celdas de monitoreo cuyo número corresponde al número de filas de la memoria dinámica de acceso aleatorio que se pretende proteger. La matriz de celdas de almacenamiento (1 ) comprende una pluralidad de celdas de almacenamiento (4) que se configuran, por la manera en la que dichas celdas (4) se interconectan, de manera que se relacionan con filas y columnas, como se muestra en la simplificación conceptual de la Figura 1 .

Cada una de las celdas de almacenamiento (4) comprendida por la matriz de celdas de almacenamiento (1 ) comprende un transistor (8) y un capacitor (9). En la realización preferida de la invención, cada transistor (8) comprendido por cada celda de almacenamiento (4) es comprendido por un mismo sustrato de material semiconductor. En el marco de la presente invención la organización e interconexión de las celdas de almacenamiento (4) y los dispositivos relacionados se realiza de manera convencional, es decir: se entiende por fila y columna cada arreglo lineal de celdas de almacenamiento (4) según la organización de la Figura 1 , en donde cada fila corresponde a un arreglo lineal horizontal, y cada columna corresponde a un arreglo lineal vertical, por motivos de correcta divulgación conceptual, en especial referentes al fenómeno de martilleo de filas por el cual se alteran los valores de una o varias filas en específico, y también referentes al fenómeno de acople capacitivo que se mencionará más adelante, se utilizan las convenciones y organización representadas en la Figura 1 ; se entiende que otras posibles representaciones son posibles y se encuentran dentro del espíritu de la presente invención. Las señales que portan la información que se pretende leer son transmitidas por medio de las líneas de bit (6) hacia amplificadores, al igual que en otras implementaciones de tecnologías similares. Así mismo, cada línea de bit (6) se interconecta por un lado a un decodificador de columnas o de líneas de bit (3) y a un amplificador de señal y por otro lado a cada uno de los terminales tipo fuente de los transistores (8) comprendidos por una columna de la matriz de celdas de almacenamiento (1 ). Además, cada línea de palabra (7) se interconecta por un lado a un decodificador de filas o de líneas de palabra (2) y por otro lado a cada uno de los terminales tipo compuerta de los transistores comprendidos por una fila de la matriz de celdas de almacenamiento (1 ), como se intuye de la simplificación conceptual de la Figura 1. Posibles componentes de habilitación de escritura tales como la implementación de compuertas lógicas que complementan el funcionamiento y control de dichas celdas de almacenamiento (4) se encuentran también dentro del alcance de la presente invención. Cada capacitor (9) comprendido por una celda de almacenamiento (4) se encuentra a su vez conectado por un lado a una referencia eléctrica (por ejemplo, la tierra), y por el otro lado al terminal de drenaje / fuente comprendido por dicha celda de almacenamiento (4). De esta manera, para cada celda de almacenamiento (4), cuando el transistor (8) se encuentra en estado encendido dada una señal recibida por medio de la línea de palabra (7), es posible realizar una escritura de (o lo que es lo mismo: almacenar) un bit de información por medio de carga eléctrica (1 lógico) del capacitor (9) o ausencia de ella (0 lógico) que se envía a través de la línea de bit (6) asociada a dicha celda de almacenamiento (4); así mismo, también cuando el transistor (8) se encuentra en estado de encendido dada una señal recibida por medio de la línea de palabra (7), es posible realizar una lectura del bit de información almacenada por medio de la lectura (o lo que es lo mismo para este caso: medición) de la diferencia de potencial que se encuentra en el capacitor (9), en donde dicha diferencia de potencial es amplificada por medio de un amplificador de tensión, de manera que si la carga almacenada en dicho capacitor (9) supera cierto umbral de tensión, se considera como un 1 lógico, y en caso contrario, se considera como un 0 lógico. En otras palabras, para cada celda de almacenamiento (4), la habilitación del transistor (8) relaciona el capacitor (9) con el decodificador de líneas de bit (3) y con el amplificador, mientras que la inhabilitación del transistor (8) aísla el capacitor de dicho decodificador (3) y de dicho amplificador.

En el marco de la presente invención, tanto el decodificador de líneas de bit (3) como el decodificador de líneas de palabra (2) cumplen funciones de multiplexor, por los cuales se recibe un conjunto de bits de direccionamiento por medio de un bus de direcciones para activar una línea (6) (7) específica, en donde el decodificador de líneas de bit (3) habilita una línea de bit (6) específica, y en donde el decodificador de líneas de palabra (2) habilita una línea de palabra (7) específica.

Algunas de las particularidades anteriormente mencionadas en la presente memoria descriptiva se encuentran divulgadas en el arte previo. Para una memoria dinámica de acceso aleatorio (100) que se constituye con las características mencionadas anteriormente, y dadas la utilización del transistor (8) y el capacitor (9) en el arreglo mencionado anteriormente para cada celda de almacenamiento (4), se presenta un fenómeno de corriente de fuga (12) que descarga el capacitor (9) (en cada celda (4)) con el paso del tiempo. De manera que el controlador de memoria dinámica de acceso aleatoria conectado a dicha memoria dinámica de acceso aleatorio (100) debe realizar una lectura de por lo menos los valores asociados a unos (1 s) lógicos y realizar una reescritura de estos, cada determinado tiempo, antes de que la corriente de fuga (12) cause una pérdida en la carga de cada capacitor (9) dicha corriente de fuga (12) es lo suficientemente pronunciada para disminuir la tensión asociada a dicha carga en el capacitor (9) de tal forma que comience a ser menor que la tensión de umbral mencionada anteriormente; el tiempo determinado asociado a la reescritura reiterada o acción de refresco de información, y, que se efectúa por orden del controlador de memoria, se conoce como tasa de refresco.

Otro fenómeno físico consiste en una pluralidad de acoples capacitivos entre las diferentes filas contiguas comprendidas por la matriz de celdas de almacenamiento (1 ), el cual genera una vulnerabilidad a ataques informáticos conocido como martilleo de filas. Dichos acoples capacitivos pueden ser modelados por medio de un capacitor (13) adicional por cada celda de almacenamiento (4), en donde cada uno de dichos capacitores de acople (13) se tiene en cuenta dentro del circuito como un capacitor conectado entre los transistores de filas consecutivas hasta completar la pluralidad de filas pertenecientes a la memoria de acceso aleatorio (100), como se muestra en la Figura 02. En un ataque por martilleo de filas, se aprovecha la presencia de dichos acoples (13) sabiendo que su existencia puede producir un cambio en la carga de capacitores (9) cercanos, en especial los capacitores (9) directamente adyacentes, por efecto de fluctuaciones reiteradas en la tensión del terminal compuerta en el transistor (8) comprendido por una celda de almacenamiento (4).

Dicho cambio de valor en la carga en los capacitores (9) o la activación indeseada de los transistores (8) por acumulación de carga en los capacitores (13) de acople capacitivo, puede corromper en la práctica la habilitación selectiva y específica de una única celda de almacenamiento (4) por efectos del control proveído por el controlador de la memoria dinámica de acceso aleatorio. Dichos cambios reiterados en la tensión pueden darse en la terminal compuerta y su transistor (8), debido a la presencia del acople capacitivo (13), que puede generar señales en los transistores pudiendo estas relacionarse con flancos ascendentes o descendentes y, por tanto, con corrupción en la información, razón por la que este tipo de ataque se conoce con el nombre de martilleo de filas.

Sin embargo, es importante aclarar que un posible ataque por martilleo de filas puede resultar inútil en caso de que la reescritura ocasionada por una acción de refresco sobrescriba la información de una celda de almacenamiento (4) cuyo estado se pretendía cambiar con dicho ataque; en este sentido, un ataque por martilleo de filas exitoso debe alterar el estado de las celdas de almacenamiento (4) contiguas de interés en un tiempo menor al tiempo regular relacionado con la tasa de refresco, en donde las celdas de almacenamiento (4) contiguas de interés son, por ejemplo, celdas de almacenamiento (4) relacionadas con consecución de permisos de administración y almacenamiento de llaves.

Ciertos patrones de cambio en el estado de las celdas de almacenamiento (4) son especialmente efectivos en cambiar el estado de las celdas (4) comprendidas por las filas objetivo del ataque, y dichos patrones de cambio pueden ser incorporados dentro de comandos y tareas aparentemente inofensivos tales como la reproducción de un archivo multimedia. Además, dado que en las computadoras la vasta mayoría de implementaciones actuales de sistemas operativos cargan sus funciones y comandos principales en las memorias dinámicas de acceso aleatorio, en muchos casos en direcciones de memoria predecibles, los ataques por martilleo de filas se convierten en una posibilidad alarmante cuya solución técnica suele limitarse a la restricción de ciertas funcionalidades por medio de implementaciones programables, o software.

La presente invención incorpora particularidades no divulgadas en el arte previo que permiten a la presente invención inhabilitar posibles ataques por martilleo de filas sin que el paradigma de producción y fabricación de componentes microelectrónicos actualmente en uso, por medio de la producción de obleas semiconductoras y tecnologías CMOS, tenga que cambiar sustancialmente, lo que conlleva una solución técnica que se puede implementar en el corto plazo.

En particular, la presente invención comprende una pluralidad de celdas de monitoreo (5), en donde la cantidad de celdas de monitoreo (5) es de por lo menos una por cada fila de celdas de almacenamiento (4) presente en la matriz de celdas de almacenamiento (1 ), y en donde cada una de las celdas de monitoreo (5) reemplaza una celda de almacenamiento convencional (4). En la realización preferida de la invención, la distribución de celdas de monitoreo (5) por cada fila de celdas (4) (5) es aleatoria o semi-aleatoria. Para efectos de la organización aleatoria o semi-aleatoria de celdas de monitoreo (5) en la matriz de celdas de almacenamiento (1 ), es posible recurrir a la utilización de semillas de aleatoriedad cuya producción de elementos aleatorios se tiene en cuenta en el proceso industrial de fabricación. Cada celda de monitoreo (5) comprende un transistor (10) y un capacitor (1 1 ) organizados e interconectados de la misma forma que el transistor (8) y el capacitor (9) comprendido por una celda de almacenamiento convencional (4), de manera que el reemplazo de dicha celda de almacenamiento convencional (4) por dicha celda de monitoreo (5) es grácil.

Cada transistor (8) y cada capacitor (9) comprendido por el grupo de celdas de almacenamiento convencionales (4) se caracteriza por relacionarse con una misma referencia dentro de ese grupo y sus parámetros y tolerancias asociados. Así mismo, cada transistor (10) y cada capacitor (1 1 ) comprendidos por el grupo de celdas de monitoreo (5) se caracteriza por relacionarse con una misma referencia dentro de ese grupo y sus parámetros y tolerancias asociados. Lo anterior es preferible y especialmente cierto a que por lo menos la capacitancia asociada a los capacitores (9) (1 1 ) de un mismo grupo de celdas (4) (5) se mantiene igual o dentro de los valores de tolerancia para dichos capacitores (9) (1 1 ); así mismo, a que por lo menos la relación ancho-largo (W/L) asociada a los transistores (8) (10) de un mismo grupo de celdas (4) (5) se mantiene igual o dentro de los valores de tolerancia para dichos transistores (8) (10).

En una modalidad de la presente invención, las celdas de monitoreo (5) tienen el mismo tamaño de las celdas de almacenamiento convencional (4). En esta modalidad, los transistores (10) de las celdas de monitoreo (5) tendrán aproximadamente los mismos valores nominales asociados de la relación ancho-largo (W/L) de los transistores de las celdas de almacenamiento convencional (4), así mismo los capacitores (1 1 ) de la celda de monitoreo (5) tendrán aproximadamente los mismos valores nominales asociados a las celdas de almacenamiento convencional (4) y las también sus tolerancias asociadas. Lo cual presenta una solución elegante y práctica al problema que implica el despliegue tecnológico para la inclusión de celdas de monitoreo (5) para el sistema de seguridad contra ataques por martilleo de filas de la presente invención, debido a que presenta una solución que no cambia el área ni los componentes de la celda de monitoreo (5), permitiendo un bajo costo en la implementación inicial de la presente invención, puesto que no necesita la creación de nuevas máscaras para la fabricación de transistores y capacitores de tamaños no estandarizados, siendo grácil en su despliegue e implementación.

En esta modalidad, la celda de monitoreo (5) comprende dos celdas tradicionales o estándar (C1 ) y (C2), las cuales son contiguas y se conectan a la misma línea de bit (14), es decir, su conexión de celda de monitoreo a línea de bit (14) no será la esperada para su propia línea de bit (6) como una celda de almacenamiento convencional (4), sino compartirá la conexión con la línea de bit de una celda adyacente, como se muestra en la Figura 3. En otras palabras, la celda (C2) se conecta a la línea de bit de la celda (C1 ). Este cambio en el esquema de conexión de la celda de monitoreo (5) tendrá entre sus efectos que dichas celdas involucradas emulen el comportamiento de una celda con el doble de capacitancia aparente. Este cambio de paradigma implica una celda con un tiempo de retención de información mayor, debido a una susceptibilidad menor a presentar el fenómeno de corriente de fuga, por sus dos capacitores (9) (1 1 ) y, en consecuencia, de su forma de conexión almacenará la misma información tanto en la celda de almacenamiento convencional, como en la adyacente celda de monitoreo (5).

De manera que, el sistema de monitoreo por ataques de martilleo de la presente invención, en la modalidad en la que las celdas de monitoreo tienen el mismo tamaño de las celdas de almacenamiento convencional (4), presenta a la memoria dinámica de acceso aleatorio (100) una novedad que permitirá al controlador de la memoria identificar alguna diferencia entre la celda de almacenamiento convencional (4) y la celda de monitoreo (5) específica, pudiendo desplegar así un algoritmo de corrección de errores para mitigar la pérdida de información debida al posible ataque de martilleo por filas del que se advirtió por la diferencia de información entre las celdas de monitoreo (5) y de almacenamiento (4); por lo que se convierte en una alerta temprana a la detección del ataque, permitirá un refresco de la memoria de almacenamiento aleatorio (100) y hará menos necesario el uso de un algoritmo de corrección de errores, el cual siempre será mucho más costoso en tiempo, consumo de energía y consecuentemente en el uso del controlador, que en este caso, desarrollará una tarea menos costosa (refresco).

Por lo tanto, la presente invención en su modalidad donde las celdas de monitoreo (5) son del mismo tamaño que las celdas de almacenamiento convencional (4) necesitará entonces tres celdas por fila para desplegar una alerta. Dos de estas celdas compondrán la celda de monitoreo (4) que tendrá como característica la emulación del doble de capacitancia de una celda de almacenamiento convencional (4) y una celda de referencia, que tendrá las mismas conexiones y características de una celda de almacenamiento convencional (4) y su función será la de almacenar la referencia para la comparación con la celda de monitoreo (4) de la presente modalidad de la invención, para que en una etapa posterior el controlador ejecute el refresco de memoria en caso tal de que la comparación arroje la posibilidad de un ataque de martilleo por filas. En otra modalidad de la presente invención, los tamaños de las celdas de monitoreo (5) y las celdas de almacenamiento convencional (4) no son del mismo tamaño, se presenta una solución que basa su funcionamiento y eficacia en la variación de los valores nominales de capacitancia en el capacitor de celda de monitoreo (1 1 ). Preferiblemente el valor nominal de la capacitancia del capacitor de la celda de monitoreo (1 1 ) corresponde a entre el 30% y el 70%, de mayor preferencia entre el 40% y el 60%. La presente modalidad de la invención también varía el valor nominal de la relación ancho-largo (W/L) del transistor de la celda de monitoreo (10), de preferencia el valor nominal de la relación ancho-largo (W/L) del transistor de la celda de monitoreo (10) corresponde a entre el 170% y 400%. La combinación de este nuevo transistor de la celda de monitoreo (10) y del nuevo capacitor de celda de monitoreo (1 1 ) permitirán a la celda de monitoreo (5) de la presente modalidad de la invención ser más susceptible a ataques de martilleo por filas, pues la corriente de fuga se dará con mayor facilidad y brindará un sistema con rápida detección de ataques por martilleo, para que el controlador de la memoria de acceso aleatorio (100) tome las medidas necesarias, que puede incluir un refresco de la información presente en la memoria de acceso aleatorio (100).

Cada valor de capacitancia para los capacitores (1 1 ) que hacen parte del grupo de celdas de monitoreo (5) es no mayor a un 80% de la capacitancia de los capacitores

(9) que hacen parte del grupo de celdas de almacenamiento convencional (4). De manera similar, cada valor de la relación ancho-largo (W/L) para los transistores (10) que hacen parte del grupo de celdas de monitoreo (5) es no menor a un 120% de la relación ancho-largo (W/L) de los transistores (8) que hacen parte del grupo de celdas de almacenamiento convencional (4). En la realización preferida de la invención, el valor de la capacitancia para los capacitores (1 1 ) que hacen parte del grupo de celdas de monitoreo (5) es de la mitad del valor de la capacitancia de los capacitores (9) que hacen parte del grupo de celdas de almacenamiento convencional (4); también en la realización preferida, el valor de la relación ancho-largo (W/L) para los transistores

(10) que hacen parte del grupo de celdas de monitoreo (5) y en su realización preferida es de aproximadamente el doble de la relación ancho-largo (W/L) de los transistores (8) que hacen parte del grupo de celdas de almacenamiento convencional (4); en donde los valores recién mencionados para la realización preferida pueden estar sujetos a una tolerancia de diferencia del 20% con respecto al valor nominal.

El efecto técnico proporcionado por la incorporación de dichas celdas de monitoreo

(5) consiste en la detección temprana de posibles ataques por martilleo de filas: dados los cambios en los parámetros presentes en las celdas de monitoreo (5) con respecto a los parámetros presentes en las celdas de almacenamiento convencional (4), se genera una mayor susceptibilidad a corrientes de fuga (12) que tienden a descargar su capacitor (1 1 ) asociado, cuyo estado se predispone intencionalmente en un estado cargado, o de 1 (uno) lógico, por lo que para posibles fluctuaciones de tensión en filas adyacentes, presuntamente ocasionadas por efecto de un ataque por martilleo de filas, dichos capacitores (1 1 ) de celdas de monitoreo (5), tienden a cambiar su estado mucho más rápido que las celdas de almacenamiento convencional (4). Dado que el estado lógico de dichas celdas de monitoreo (5) es leído por acción del controlador de memoria dinámica de acceso aleatorio, un cambio en dicho estado, o en los estados de varias celdas de monitoreo (5), es detectado por el controlador, detección que habilita la posibilidad de efectuar acciones para contrarrestar un posible ataque por martilleo de filas tales como informar al sistema operativo sobre la posibilidad de presencia de dicho ataque, o como la realización de un refresco (reescritura) prematuro del estado de las celdas de almacenamiento (4), haciendo inútil el ataque por martilleo de filas, de acuerdo con lo que se ha descrito anteriormente; en donde el refresco prematuro puede comprender también la recarga del estado de monitoreo (uno lógico) de los capacitores (1 1 ) comprendidos por las celdas de monitoreo (5).

Así mismo, la presente invención se refiere a un método para la prevención de ataques por martilleo de filas en memorias dinámica de acceso aleatorio. En una modalidad de la invención, el método para la prevención de ataques por martilleo de filas, cuando el valor nominal de los componentes de la celda de monitoreo (5) es similar al valor nominal de los componentes de la celda de almacenamiento (4), las celdas de memoria que comparten la línea de bit se pre-cargan al mismo valor de una línea de bit de referencia regular; cuando alguna fila está bajo un ataque de martilleo, las dos líneas de bit empiezan a perder la información, de manera que la línea de bit de almacenamiento o regular se descarga primero; el controlador de memoria verifica que la información en ambas líneas de bit sea siempre la misma; en dado caso de que dicha información difiera entre ambas líneas de bit, el controlador de memoria ejecuta alguno de los algoritmos de correcciones disponibles en la memoria dinámica de acceso aleatorio. En operación normal las dos líneas de bit se refrescan siempre al mismo valor.

En otra modalidad de la invención, cuando el valor nominal de los componentes de la celda de monitoreo (5) es sustancialmente diferente al valor nominal de los componentes de la celda de almacenamiento (4), el método para la prevención de ataques por martilleo de filas comprende las siguientes etapas: primero las celdas de monitoreo se pre-cargan a un valor que debe ser mantenido durante todo el funcionamiento de la memoria; luego, en caso de que alguna fila esté bajo un ataque de martilleo, la celda de monitoreo se descarga más rápido que cualquier celda de almacenamiento regular. El controlador de memoria verifica que la información en la celda de monitoreo sea siempre la misma; en caso de que el controlador identifique que la información de la celda de monitoreo se haya alterado, ejecuta una operación de refresco. En operación normal la celda de monitoreo se refresca siempre al mismo valor.

Las figuras presentadas en esta descripción tienen propósitos meramente ilustrativos. Las figuras descritas no limitan el alcance de la invención divulgada. Una persona versada en el arte es capaz de concebir modificaciones posteriores a los principios determinados en el presente documento.

Aunque algunas modalidades de la invención se describen en la presente descripción, se apreciará que numerosas modificaciones y otras modalidades pueden concebirse por aquellos expertos en la materia con posterioridad a la divulgación de la presente invención. Por ejemplo, las características para las diferentes modalidades pueden usarse en otras modalidades. Por lo tanto, se entenderá que las reivindicaciones anexas pretenden cubrir todas las modificaciones y modalidades que están dentro del espíritu y alcance de la presente descripción.