ES2266812T3 - Procedimientos para almacenar datos en memorias no volatiles. - Google Patents

Procedimientos para almacenar datos en memorias no volatiles. Download PDF

Info

Publication number
ES2266812T3
ES2266812T3 ES03723535T ES03723535T ES2266812T3 ES 2266812 T3 ES2266812 T3 ES 2266812T3 ES 03723535 T ES03723535 T ES 03723535T ES 03723535 T ES03723535 T ES 03723535T ES 2266812 T3 ES2266812 T3 ES 2266812T3
Authority
ES
Spain
Prior art keywords
data
memory
read
segment
word line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03723535T
Other languages
English (en)
Inventor
Lars Sundell Torjussen
Christer Karlsson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ensurge Micropower ASA
Original Assignee
Thin Film Electronics ASA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thin Film Electronics ASA filed Critical Thin Film Electronics ASA
Application granted granted Critical
Publication of ES2266812T3 publication Critical patent/ES2266812T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Optical Record Carriers And Manufacture Thereof (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Photoreceptors In Electrophotography (AREA)

Abstract

Un procedimiento para almacenar datos en una memoria de acceso aleatorio ferroeléctrica (FRAM) no volátil, particularmente una memoria en la cual un material ferroeléctrico de la memoria es un polímero ferroeléctrico, en el cual las localizaciones de memoria son suministradas como elementos de una matriz y se accede a ellas a través de unos electrodos que forman líneas de palabra y de bit de la matriz y en el cual las operaciones de lectura destructiva de las localizaciones de memoria son seguidas por operaciones de reescritura, estando caracterizado el procedimiento por las sucesivas etapas de: (a) almacenar una pluralidad de copias idénticas de dichos datos en una pluralidad de localizaciones de memoria, no teniendo dichas localizaciones de memoria ninguna línea de palabra común; (b) leer una primera línea de palabra en su totalidad, comprendiendo dicha primera línea de palabra al menos una primera copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicha primera línea de palabra los datos leídos en dicha primera línea de palabra, y transferir los datos leídos en dicha primera línea de palabra a un circuito lógico de control de memoria; (c) leer una subsiguiente línea de palabra en su totalidad, comprendiendo dicha subsiguiente línea de palabra al menos una subsiguiente copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicha subsiguiente línea de palabra los datos leídos en dicha subsiguiente línea de palabra, y transferir los datos leídos en dicha subsiguiente línea de palabra a dicho circuito lógico de control de memoria; (d) repetir la etapa (c) hasta que dichos datos leídos en dichas líneas de palabra que comprenden copias de dichas copias idénticas de dichos datos hayan sido transferidos a dicho circuito lógico de control de memoria; (e) detectar cualquier error de bit comparando bit a bit dichos datos, leídos en dichas líneas de palabra que comprenden copias de dicha pluralidad de copias idénticas de dichos datos, en dicho circuito lógico de control de memoria, o incluyendo con dichos datos un código de corrección de error (ECC); y (f) escribir los datos corregidos en las celdas de memoria de dichas localizaciones de memoria que contienen errores de bits, cuando en la etapa (e) se hayan detectado errores de bits.

Description

Procedimientos para almacenar datos en memorias no volátiles.
La presente invención se refiere a procedimientos para almacenar datos en una memoria de acceso aleatorio ferroeléctrica no volátil (FRAM), particularmente una memoria en la cual un material de memoria ferroeléctrica es un polímero ferroeléctrico, en la cual se proveen unas localizaciones de memoria como elementos de una matriz a los cuales se accede a través de unos electrodos que forman líneas de palabra y líneas de bit de la matriz, y en la cual las operaciones de lectura destructiva en las localizaciones de la memoria son seguidas por operaciones de reescritura.
Las memorias ferroeléctricas han alcanzado importancia comercial porque son no volátiles, pueden fabricarse a un costo relativamente bajo, y puede leerse y escribirse en ellas con tensiones de 1 a 5 voltios y velocidades del orden de 10 a 100 nanosegundos, lo cual es típico de las memorias convencionales DRAM y SRAM para ordenadores.
La colocación de un material ferroeléctrico entre las placas de un condensador hace que el condensador presente un efecto de memoria en forma de polarización de carga. Cuando el condensador se carga con las líneas de campo que atraviesan las placas del condensador en una dirección, queda una polarización de carga residual después de que se haya retirado la carga de las placas del condensador. Si se aplica una carga opuesta sobre las placas del condensador, queda una polarización de carga opuesta. Una gráfica de la tensión de campo aplicada a través de las placas del condensador, frente a la polarización del material ferroeléctrico situado entre las placas del condensador, presenta una curva de histéresis clásica según se muestra en la Figura 1. P_{s} y -P_{s} son los valores de la polarización espontánea mientras que P_{r} y -P_{r} son los valores de la polarización remanente que indican la polarización del material ferroeléctrico a un valor de campo cero. En un ferroeléctrico ideal, P_{s} sería igual a P_{r}, pero en los ferroeléctricos reales estos valores difieren debido al comportamiento dieléctrico lineal y al comportamiento ferroeléctrico no lineal.
Las memorias ferroeléctricas utilizan un condensador ferroeléctrico como medio de almacenamiento, y para leerlas es preciso aplicar un campo eléctrico a través del condensador de almacenamiento. Se aplica un impulso sobre el condensador ferroeléctrico, y la magnitud de la carga resultante será baja si la polaridad del impulso coincidía con la precedente, o bien la carga resultante será más alta si la carga aplicada sobre el condensador era de polaridad opuesta a la última que se aplicó a través de las placas del condensador. Esta mínima diferencia entre la carga coincidente con la carga previa de la memoria y una carga opuesta puede ser medida para determinar cual era la polarización previa del condensador ferroeléctrico la última vez que se escribió sobre él. El campo eléctrico de lectura altera en muchos casos el estado de la celda de memoria. Esto significa que las memorias ferroeléctricas son memorias de lectura destructiva que tienen que incluir una función de reescritura con la cual el dato leído sea devuelto a la celda de memoria después de que esta haya sido leída. La operación de reescritura lleva tiempo, y si la función de memoria queda truncada, por ejemplo por una pérdida de energía, durante o inmediatamente después de haber sido leída una celda y antes de haber sido completado el ciclo de reescritura, el dato de esa celda se perderá. Tales pérdidas de datos no son aceptables para las memorias no volátiles.
En la Patente Estadounidense nº 5.682.344 se describe una memoria de acceso aleatorio (RAM) ferroeléctrica que usa celdas ferroeléctricas de memoria para almacenar datos. La memoria ferroeléctrica es una memoria estática en la cual los datos almacenados en las celdas de la memoria ferroeléctrica pueden destruirse durante las operaciones de lectura. La memoria comprende una circuitería que retiene una dirección actual de memoria durante una operación de acceso e impide que la memoria salte a una nueva dirección de memoria hasta que los datos destruidos hayan sido reemplazados. La memoria incluye además una circuitería que puede detectar una transición en los datos de dirección proporcionados en las entradas de direcciones.
En la Patente Estadounidense nº 5.815.431 se describe un circuito que incluye un condensador ferroeléctrico que puede utilizarse para almacenar el valor de los nodos de elementos lógicos volátiles de un circuito lógico. De esta manera, el estado de un circuito lógico complejo, tal como una CPU o un dispositivo de entradas/salidas, puede ser almacenado en los condensadores ferroeléctricos no volátiles. Después de una falta de energía accidental o planeada, los condensadores ferroeléctricos no volátiles pueden ser utilizados para restablecer los valores de los nodos. Adicionalmente, puede utilizarse una falta de energía planeada para ahorrar consumo de energía en circuitos propensos a consumir energía.
En la Patente Estadounidense nº 5.982.705 se describe un aparato y un procedimiento para mantener la no volatilidad en una memoria de acceso aleatorio ferroeléctrica. El aparato para mantener la no volatilidad incluye una sección de control para una función de reescritura, una unidad de detección de tensión en la fuente de alimentación para detectar un fallo de tensión de la fuente de alimentación y proporcionar a la sección de control una señal de fallo de alimentación, de tal modo que la sección de control complete un ciclo de reescritura antes del fallo de alimentación. La unidad de detección de tensión de la fuente de alimentación genera una señal de control al detectar un fallo en la tensión de la fuente de alimentación, y proporciona a la sección de control una señal de fallo de energía con objeto de que se complete un proceso de reescritura antes del fallo de energía, manteniéndose así la no volatilidad del dispositivo de memoria.
En la Patente Estadounidense nº 6.201.731 el sistema de memoria ferroeléctrica con lectura destructiva incluye una fuente de alimentación, un conjunto de memoria que incluye una celda de memoria, y un circuito lógico para aplicar una señal al conjunto de memoria. Cada vez que se detecta una condición de baja energía en dicha fuente de alimentación, un circuito antiperturbaciones evita que las tensiones inesperadas debidas a la condición de baja energía perturben la celda de memoria. El circuito antiperturbaciones interrumpe además el funcionamiento del circuito lógico durante un tiempo suficiente para que pueda completarse un ciclo de reescritura, impidiendo así la pérdida de los datos que se estén reescribiendo.
En la Patente Estadounidense nº 6.211.710 se describe un circuito para asegurar la información de configuración estabilizada durante la reposición de la energía. En una realización, un dispositivo semiconductor incluye una información sobre configuración almacenada en un número de elementos de almacenamiento no volátiles (bits fusibles). Un circuito de reajuste de la activación de la configuración genera una señal para retener los datos de configuración en los registros volátiles de configuración al reponer la energía. Las señales de datos de configuración se generan en respuesta a un impulso de reposición de energización (POR), y no se retienen hasta pasado un retardo predeterminado desde que finalizó el impulso POR. El retardo predeterminado da tiempo a que "se sedimenten" las señales de datos procedentes de los bits fusibles. Los siguientes impulsos POR no provocarán otra acción de retención.
La solicitud de Patente Europea EP 0803813 A1 describe un aparato de respaldo de datos para una memoria de semiconductores, particularmente una memoria de semiconductores no volátil, por ejemplo de tipo EEPROM (memoria de sólo lectura eléctricamente borrable). El propósito de este aparato es evitar la pérdida de datos o los datos incorrectos si se interrumpe inintencionadamente una operación de escritura, por ejemplo si se desconecta la energía durante una operación de escritura. La memoria de semiconductores tiene una pluralidad de localizaciones de memoria que almacenan valores de variables. Una unidad escritora escribe un valor sobre una pluralidad de localizaciones de la memoria, una por una, y una unidad lectora lee los valores de esas localizaciones de memoria. Se utiliza un medio determinador de coincidencias para decidir si más de la mitad de los valores leídos en las localizaciones de memoria son idénticos, y a continuación un medio asignador determina un valor de coincidencia si el medio determinador de coincidencias ha encontrado que más de la mitad de los valores son idénticos. Así pues, a cada variable puede asignarse un determinado valor de coincidencia.
El objeto de la presente invención es proporcionar un procedimiento que asegure un almacenamiento no volátil de datos en memorias de matriz direccionable, particularmente memorias ferroeléctricas, y el mantenimiento de la integridad de los datos almacenados detectando los errores de bits en los datos de lectura y efectuando una corrección de los mismos.
Este objetivo así como las características y ventajas adicionales se realizan según la presente invención con un primer procedimiento caracterizado por las sucesivas etapas de:
(a) almacenar una pluralidad de copias idénticas de dichos datos en una pluralidad de localizaciones de memoria, no teniendo dichas localizaciones de memoria ninguna línea de palabra común;
(b) leer una primera línea de palabra en su totalidad, comprendiendo dicha primera línea de palabra al menos una primera copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicha primera línea de palabra los datos leídos en dicha primera línea de palabra, y transferir los datos leídos en dicha primera línea de palabra a un circuito lógico de control de memoria;
(c) leer una subsiguiente línea de palabra en su totalidad, comprendiendo dicha subsiguiente línea de palabra al menos una subsiguiente copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicha subsiguiente línea de palabra los datos leídos en dicha subsiguiente línea de palabra, y transferir los datos leídos en dicha subsiguiente línea de palabra a dicho circuito lógico de control de memoria;
(d) repetir la etapa (c) hasta que dichos datos leídos en dichas líneas de palabra que comprenden copias de dichas copias idénticas de dichos datos hayan sido transferidos a dicho circuito lógico de control de memoria;
(e) detectar cualquier error de bit comparando bit a bit dichos datos, leídos en dichas líneas de palabra que comprenden copias de dicha pluralidad de copias idénticas de dichos datos, en dicho circuito lógico de control de memoria, o incluyendo con dichos datos un código de corrección de error (ECC); y
(f) escribir los datos corregidos en las celdas de memoria de dichas localizaciones de memoria que contienen errores de bits, cuando en la etapa (e) se hayan detectado errores de bits.
El mismo objetivo así como las características y ventajas adicionales se realizan según la presente invención con un primer procedimiento caracterizado por las sucesivas etapas de:
(a) almacenar una pluralidad de copias idénticas de dichos datos en una pluralidad de localizaciones de memoria, no teniendo dichas localizaciones de memoria ni líneas de palabra comunes ni líneas de bit comunes;
(b) leer un segmento de una primera línea de palabra, comprendiendo dicho segmento de una primera línea de palabra al menos una primera copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicho segmento de una primera línea de palabra los datos leídos en dicho segmento de una primera línea de palabra, transferir los datos leídos en dicho segmento de una primera línea de palabra a un primer segmento de retenedores de datos, y retener en dicho primer segmento de retenedores de datos los citados datos leídos en dicho segmento de una primera línea de palabra;
(c) leer un segmento de una subsiguiente línea de palabra, comprendiendo dicho segmento de una subsiguiente línea de palabra al menos una subsiguiente copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicho segmento de una subsiguiente línea de palabra los datos leídos en dicho segmento de una subsiguiente línea de palabra, transferir los datos leídos en dicho segmento de una subsiguiente línea de palabra a un primer segmento de retenedores de datos, y retener en dicho primer segmento de retenedores de datos los citados datos leídos en dicho segmento de una subsiguiente línea de palabra;
(d) repetir la etapa (c) hasta que dichas copias idénticas de dichos datos hayan sido transferidos a dichos segmentos de retenedores de datos;
(e) transferir dichos datos retenidos en dichos segmentos de retenedores de datos a un circuito lógico de control de memoria;
(f) detectar cualquier error de bit comparando bit a bit dichas copias idénticas de dichos datos en dicho circuito lógico de control de memoria, o incluyendo con dichos datos un código de corrección de error (ECC); y
(g) escribir los datos corregidos en las celdas de memoria de dichas localizaciones de memoria que contienen errores de bits, cuando en la etapa (f) se hayan detectado errores de bit.
En ambos procedimientos según la invención los datos son preferiblemente datos de sincronización para controlar las operaciones de lectura y reescritura, o datos de redundancia para identificar las celdas de memoria de redundancia.
A continuación se explicará la invención más detalladamente con descripciones de realizaciones ejemplares y con referencia a las figuras de los dibujos adjuntos, de las cuales:
la Figura 1 muestra una curva de histéresis de un condensador ferroeléctrico según se conoce en la técnica y se mencionó anteriormente,
la Figura 2 es un diagrama de bloques de un circuito de memoria en el cual pueden ponerse en práctica los procedimientos según la invención,
la Figura 3a es un diagrama de bloques esquemático de un conjunto de celdas de memoria ferroeléctrica conectadas a amplificadores de detección y que pueden usarse con los procedimientos según la invención,
la Figura 3b es un diagrama de bloques esquemático de un conjunto similar al de la Figura 3a y que comprende unas celdas de memoria ferroeléctrica con diodos entre los electrodos y los cruces de los mismos,
la Figura 4 muestra dos diagramas de un condensador ferroeléctrico de lámina delgada según se usa en los dispositivos de memoria ferroeléctrica,
la Figura 5 muestra un gráfico de flujo de un primer procedimiento según la invención,
la Figura 6 muestra un gráfico de flujo de un segundo procedimiento según la invención,
La Figura 7 muestra un diagrama de un conjunto de memoria según se usa con una realización preferida del segundo procedimiento acorde con la invención.
La presente invención concierne a unos procedimientos relacionados que expresan la misma idea inventiva. A continuación se describirán estos procedimientos en los términos de las realizaciones preferidas.
La Figura 2 ilustra un simple diagrama de bloques que muestra los elementos de la memoria según se usan con ambos procedimientos acordes con la invención. La macro 210 de memoria comprende una matriz o conjunto 200 de memoria, decodificadores 22, 202 de fila y columna, amplificadores sensores 206, retenedores (latch) 208 de datos y líneas redundantes 204, 24 de palabra y de bit. Los decodificadores 22, 202 de filas y columnas decodifican las direcciones de las localizaciones de memoria o celdas de memoria que están localizadas en los cruces de los electrodos del conjunto de memoria, es decir las líneas de palabra (abreviado WL) que forman las filas del conjunto de memoria y las líneas de bit (abreviado BL) que forman las columnas de las macros de memoria. La lectura de los datos almacenados en las celdas de memoria es efectuada por los amplificadores sensores 206 conectados a las líneas de bit. Los retenedores 208 de datos mantienen los datos hasta que una parte o la totalidad de los mismos es transferida a la lógica 220 de control de memoria. Los datos leídos en la macro 210 de memoria tendrán un cierto grado de error de bit (BER) que puede reducirse sustituyendo las líneas defectuosas de palabra y de bit del conjunto 200 de memoria con líneas redundantes 204, 24 de palabra y de bit. Para efectuar la detección de error la macro 210 de memoria debe tener unos campos de datos que contengan información del código de corrección del error (ECC).
Un módulo de la lógica 220 de control de memoria proporciona una interfaz digital para la macro 210 de memoria y controla la lectura y escritura del conjunto 200 de memoria. La inicialización de la memoria y la lógica para reemplazar las líneas defectuosas de palabra y de bit con líneas redundantes 204, 24 de palabra y de bit también se encontrarán en la lógica 220 de control de memoria.
El controlador 230 del dispositivo conecta la lógica 220 de control de memoria a buses estándar externos. La unidad ECC 240 efectúa la corrección del error sobre la totalidad del conjunto 200 de memoria. Puede tratarse de una simple detección de error o incluir también la corrección del error. Las bombas de carga 242 generan algunas de las tensiones requeridas para leer y escribir en las celdas de memoria. Una entrada de reloj independiente, dada por el controlador 230 del dispositivo a través de un oscilador (no representado), será usada por las bombas de carga 242 para el bombeo de carga con objeto de mantener la independencia del grado de bits de la aplicación que use la macro 210 de memoria.
La Figura 3a muestra un dispositivo 300 de memoria ferroeléctrica que comprende una matriz o conjunto de celdas ferroeléctricas 302 de memoria. Cada celda de memoria comprende un condensador ferroeléctrico y un transistor de control de acceso, pero también puede haber disposiciones con dos condensadores y dos transistores. En el primer caso la macro de memoria es un dispositivo activo de memoria de matriz direccionable del tipo 1T-1C, mientras que en el otro caso es del tipo 2T-2C. Una celda 302 de memoria es accedida por una línea 310 de palabra habilitadora y a continuación es leída por una línea 312 de accionamiento pulsante. Al final de cada línea 314 de bit se proveen unos amplificadores sensores 204 que generan señales de datos de salida. Los amplificadores sensores también incluyen circuitos de regeneración de datos para reescribir datos en las celdas ferroeléctricas 302 de memoria. Un decodificador 22 de filas decodifica una parte de las señales de dirección entrantes en señales de selección de líneas de palabra y la lógica 220 de control de memoria genera una secuencia de señales de sincronización requeridas para operar el conjunto 200 de memoria.
La Figura 3b muestra un conjunto 200 de memoria que comprende unos electrodos 310 de líneas de palabra y unos electrodos 314 de líneas de bits. Un material aislante ferroeléctrico está situado entre estos electrodos, por lo cual no están conectados eléctrica ni físicamente. No obstante, el material ferroeléctrico podría estar suministrado encima de los electrodos, es decir, encima de las líneas de palabra y de bit, en contacto con los mismos, pero aparte de ello las líneas de palabra y de bit estarán mutuamente aisladas por un dieléctrico no ferroeléctrico. En cada intersección 320 entre las líneas de palabra 310 y las líneas de bit 314 se forman unos diodos 322. El material ferroeléctrico junto con las líneas 310; 314 de palabra y de bit forman unos condensadores ferroeléctricos o celdas 315 de memoria con las líneas 310; 314 de palabra y de bit como placas de los condensadores.
La Figura 4 ilustra una estructura típica y un símbolo comúnmente utilizado para un condensador ferroeléctrico 315 de lámina delgada. El símbolo se utilizó también en el diagrama esquemático de bloques de la Figura 3a mencionado anteriormente. Un condensador ferroeléctrico de esta clase tiene unas placas conductoras metálicas separadas por 50 nm a 100 micrometros aproximadamente de un material ferroeléctrico que constituye el dieléctrico del condensador.
En un sistema de memoria de matriz pasiva no volátil como el descrito anteriormente algunos datos, tales como los datos de configuración, son muy importantes y tienen que estar protegidos frente a una pérdida de energía. Los datos de sincronización para controlar las operaciones de lectura y reescritura, así como los datos de redundancia para identificar las celdas redundantes de memoria, son ejemplos de los mismos, y si estos datos se perdiesen la memoria entera quedaría inservible. Los datos de esta clase podrían almacenarse permanentemente, por ejemplo, en celdas fusibles, es decir fusibles fundidos por láser, pero esto comporta bastante penalización por el gran tamaño del área. Por lo tanto, los datos importantes pueden almacenarse en celdas de memoria de lectura destructiva siempre que se adopten otras medidas para mantener su seguridad.
La Figura 5 presenta, en forma de diagrama de flujo, el primer procedimiento de la presente invención, que resuelve el problema de pérdida de datos importantes, por ejemplo por un fallo de energía. En la etapa 500, el dato que requiere atención especial es almacenado en varias localizaciones del conjunto 200 de memoria. Si algunas de estas localizaciones son defectuosas se usan en su lugar las líneas redundantes 204, 24 de palabra y de bit. Siempre que vaya usarse el dato, o de manera regular, se efectúa una lectura de las líneas de palabra (WL) (véase la Figura 7), en las cuales estén almacenados estos datos, seguida de una reescritura, también conocida como nueva escritura, automática en la mayoría de los casos, y se transfieren a la lógica 220 de control de memoria en las etapas 502 y 504. El número de casos o copias de dichos datos será aproximadamente de cuatro a diez, y en la etapa 506 alguna forma de contador se asegurará de que todos los casos sean leídos. Tres copias son obviamente demasiado pocas, ya que un fallo de energía combinado con un error de bit podría provocar un daño fatal. Las diferentes copias de los datos son comparadas en la etapa 508 bit a bit. Otra opción es utilizar una unidad ECC 240 que necesita que los datos ECC sean almacenados junto con el propio dato. Finalmente, en la etapa 510 las porciones del dato que resultaron ser incorrectas son corregidas y escritas en las celdas 302; 315 de memoria que contenían el dato erróneo.
La cantidad de dato que necesita ser protegido de esta manera puede ser bastante limitado y las líneas de palabra 310 utilizadas para almacenamiento de seguridad pueden ser bastante largas. Esto lleva a un uso ineficiente del conjunto 200 de memoria. Con el fin de remediar este problema podría usarse el segundo procedimiento acorde con la invención. Está representado en el diagrama de flujo de la Figura 6 y asegurará que se transfieran las porciones más pequeñas del dato que se considere importante y que estas porciones sean transferidas a los retenedores 208 de datos en las etapas 602 y 604. Esto provoca que las celdas 302; 315 de memoria queden libres para otros datos, puesto que la totalidad de las líneas de palabra 310 ya no tienen que conservar datos idénticos. Las etapas 606, 608 y 610 corresponden a las etapas 506, 508 y 510 de la Figura 5, con la única diferencia de que se manejan menos datos. No obstante, es preciso insertar una etapa 607 entre las etapas 606 y 608, con objeto de que los datos almacenados en los retenedores 208 de datos sean transferidos a la lógica 220 de control de memoria. Como consecuencia, las celdas de memoria de la lógica 220 de control de memoria no tienen que almacenar tantos datos, ya que no existe transferencia de datos en las etapas 602 y 604. De este modo se reduce el coste por tamaño del área y se reduce similarmente la necesidad de capacidad de procesamiento de datos para efectuar la detección de error.
Las líneas de bit 314 a veces se acortan y los datos se almacenan entonces en las líneas de bit redundantes 24. Un problema de acortamiento inesperado puede eliminar datos importantes. Aunque es un problema menor, puede obviarse almacenando los datos importantes en diferentes líneas de bit 314 así como en diferentes líneas de palabra 310. Esta variante del segundo procedimiento de la invención está representada en la Figura 7, que muestra las líneas de palabra (WL) 700 y las líneas de bit (BL) 702 de las celdas 704 de memoria almacenando datos importantes. Estas copias de los datos importantes constituyen los bloques 706 de datos, y son transferidos a elementos de almacenamiento tales como los retenedores 208 de datos acordes con el segundo procedimiento de la invención, según se describió anteriormente en relación con la Figura 6.
Los expertos en la técnica comprenderán que los procedimientos acordes con la invención pueden utilizarse con dispositivos eléctricos de memoria de matriz direccionable, tanto activos como pasivos, y pueden manejar los errores de bit generados en la operación de direccionamiento de ambos tipos. Pero puesto que la operación de lectura es destructiva y requiere por lo tanto una reescritura o nueva escritura, será en cualquier caso de particular importancia evitar la pérdida de contenido de datos debida a los errores de bit que se generen en la operación de reescritura requerida para restablecer los datos leídos destructivamente.

Claims (4)

1. Un procedimiento para almacenar datos en una memoria de acceso aleatorio ferroeléctrica (FRAM) no volátil, particularmente una memoria en la cual un material ferroeléctrico de la memoria es un polímero ferroeléctrico, en el cual las localizaciones de memoria son suministradas como elementos de una matriz y se accede a ellas a través de unos electrodos que forman líneas de palabra y de bit de la matriz y en el cual las operaciones de lectura destructiva de las localizaciones de memoria son seguidas por operaciones de reescritura, estando caracterizado el procedimiento por las sucesivas etapas de:
(a) almacenar una pluralidad de copias idénticas de dichos datos en una pluralidad de localizaciones de memoria, no teniendo dichas localizaciones de memoria ninguna línea de palabra común;
(b) leer una primera línea de palabra en su totalidad, comprendiendo dicha primera línea de palabra al menos una primera copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicha primera línea de palabra los datos leídos en dicha primera línea de palabra, y transferir los datos leídos en dicha primera línea de palabra a un circuito lógico de control de memoria;
(c) leer una subsiguiente línea de palabra en su totalidad, comprendiendo dicha subsiguiente línea de palabra al menos una subsiguiente copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicha subsiguiente línea de palabra los datos leídos en dicha subsiguiente línea de palabra, y transferir los datos leídos en dicha subsiguiente línea de palabra a dicho circuito lógico de control de memoria;
(d) repetir la etapa (c) hasta que dichos datos leídos en dichas líneas de palabra que comprenden copias de dichas copias idénticas de dichos datos hayan sido transferidos a dicho circuito lógico de control de memoria;
(e) detectar cualquier error de bit comparando bit a bit dichos datos, leídos en dichas líneas de palabra que comprenden copias de dicha pluralidad de copias idénticas de dichos datos, en dicho circuito lógico de control de memoria, o incluyendo con dichos datos un código de corrección de error (ECC); y
(f) escribir los datos corregidos en las celdas de memoria de dichas localizaciones de memoria que contienen errores de bits, cuando en la etapa (e) se hayan detectado errores de bits.
2. El procedimiento acorde con la reivindicación 1, caracterizado porque dichos datos son datos de sincronización para controlar las operaciones de lectura y reescritura, o datos de redundancia para identificar las celdas de memoria redundantes.
3. Un procedimiento para almacenar datos en una memoria de acceso aleatorio ferroeléctrica (FRAM) no volátil, particularmente una memoria en la cual un material ferroeléctrico de la memoria es un polímero ferroeléctrico, en el cual las localizaciones de memoria son suministradas como elementos de una matriz y se accede a ellas a través de unos electrodos que forman líneas de palabra y de bit de la matriz y en el cual las operaciones de lectura destructiva de las localizaciones de memoria son seguidas por operaciones de reescritura, estando caracterizado el procedimiento por las sucesivas etapas de:
(a) almacenar una pluralidad de copias idénticas de dichos datos en una pluralidad de localizaciones de memoria, no teniendo dichas localizaciones de memoria ni líneas de palabra comunes ni líneas de bit comunes;
(b) leer un segmento de una primera línea de palabra, comprendiendo dicho segmento de una primera línea de palabra al menos una primera copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicho segmento de una primera línea de palabra los datos leídos en dicho segmento de una primera línea de palabra, transferir los datos leídos en dicho segmento de una primera línea de palabra a un primer segmento de retenedores de datos, y retener en dicho primer segmento de retenedores de datos los citados datos leídos en dicho segmento de una primera línea de palabra;
(c) leer un segmento de una subsiguiente línea de palabra, comprendiendo dicho segmento de una subsiguiente línea de palabra al menos una subsiguiente copia de dichas copias idénticas de dichos datos, reescribir de nuevo en dicho segmento de una subsiguiente línea de palabra los datos leídos en dicho segmento de una subsiguiente línea de palabra, transferir los datos leídos en dicho segmento de una subsiguiente línea de palabra a un primer segmento de retenedores de datos, y retener en dicho segmento subsiguiente de retenedores de datos los citados datos leídos en dicho segmento de una subsiguiente línea de palabra;
(d) repetir la etapa (c) hasta que dichas copias idénticas de dichos datos hayan sido transferidos a dichos segmentos de retenedores de datos;
(e) transferir dichos datos retenidos en dichos segmentos de retenedores de datos a un circuito lógico de control de memoria;
(f) detectar cualquier error de bit comparando bit a bit dichas copias idénticas de dichos datos en dicho circuito lógico de control de memoria, o incluyendo con dichos datos un código de corrección de error (ECC); y
(g) escribir los datos corregidos en las celdas de memoria de dichas localizaciones de memoria que contienen errores de bits, cuando en la etapa (f) se hayan detectado errores de bit.
4. El procedimiento acorde con la reivindicación 3, caracterizado porque dichos datos son datos de sincronización para controlar las operaciones de lectura y reescritura, o datos de redundancia para identificar las celdas de memoria redundantes.
ES03723535T 2002-04-16 2003-04-10 Procedimientos para almacenar datos en memorias no volatiles. Expired - Lifetime ES2266812T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NO20021792A NO315959B1 (no) 2002-04-16 2002-04-16 Fremgangsmåter til lagring av data i et ikke-flyktig minne
NO20021792 2002-04-16

Publications (1)

Publication Number Publication Date
ES2266812T3 true ES2266812T3 (es) 2007-03-01

Family

ID=19913532

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03723535T Expired - Lifetime ES2266812T3 (es) 2002-04-16 2003-04-10 Procedimientos para almacenar datos en memorias no volatiles.

Country Status (14)

Country Link
US (1) US6822890B2 (es)
EP (1) EP1497730B1 (es)
JP (1) JP2005522811A (es)
KR (1) KR100603671B1 (es)
CN (1) CN1329830C (es)
AT (1) ATE331987T1 (es)
AU (1) AU2003230468B2 (es)
CA (1) CA2481492A1 (es)
DE (1) DE60306510T2 (es)
DK (1) DK1497730T3 (es)
ES (1) ES2266812T3 (es)
NO (1) NO315959B1 (es)
RU (1) RU2278426C2 (es)
WO (1) WO2003088041A1 (es)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7084446B2 (en) * 2003-08-25 2006-08-01 Intel Corporation Polymer memory having a ferroelectric polymer memory material with cell sizes that are asymmetric
US7307529B2 (en) * 2004-12-17 2007-12-11 Impinj, Inc. RFID tags with electronic fuses for storing component configuration data
US7283390B2 (en) 2004-04-21 2007-10-16 Impinj, Inc. Hybrid non-volatile memory
US8111558B2 (en) 2004-05-05 2012-02-07 Synopsys, Inc. pFET nonvolatile memory
JP2006209817A (ja) * 2005-01-25 2006-08-10 Oki Electric Ind Co Ltd 半導体記憶装置およびメモリセルの救済方法
CN100388230C (zh) * 2005-04-18 2008-05-14 普立尔科技股份有限公司 相机程序的检测与更新方法
EP1717817B8 (en) * 2005-04-29 2016-05-18 Micron Technology, Inc. A semiconductor memory device with information loss self-detect capability
US20060277367A1 (en) * 2005-06-07 2006-12-07 Faber Robert W Speculative writeback for read destructive memory
US20070038805A1 (en) * 2005-08-09 2007-02-15 Texas Instruments Incorporated High granularity redundancy for ferroelectric memories
US7701247B1 (en) * 2005-10-28 2010-04-20 Xilinx, Inc. Data buffering with readout latency for single-event upset tolerant operation
JP4676378B2 (ja) * 2006-05-18 2011-04-27 株式会社バッファロー データ記憶装置およびデータ記憶方法
US8122307B1 (en) 2006-08-15 2012-02-21 Synopsys, Inc. One time programmable memory test structures and methods
US7653846B2 (en) * 2006-12-28 2010-01-26 Intel Corporation Memory cell bit valve loss detection and restoration
JP4560072B2 (ja) * 2007-08-30 2010-10-13 株式会社東芝 半導体記憶装置
US7894261B1 (en) 2008-05-22 2011-02-22 Synopsys, Inc. PFET nonvolatile memory
JP2010079954A (ja) * 2008-09-24 2010-04-08 Toshiba Corp 半導体記憶装置および半導体記憶装置の駆動方法
JP2010097633A (ja) * 2008-10-14 2010-04-30 Toshiba Corp 半導体記憶装置
JP4491034B1 (ja) 2008-12-19 2010-06-30 株式会社東芝 不揮発性記憶デバイスを有する記憶装置
CN101859548B (zh) * 2009-04-07 2012-08-29 瑞鼎科技股份有限公司 时序控制器及其操作方法
CN102609332A (zh) * 2011-01-19 2012-07-25 上海华虹集成电路有限责任公司 智能ic卡数据防掉电保护方法
CN102768631A (zh) * 2012-06-28 2012-11-07 惠州市德赛西威汽车电子有限公司 一种数据保存和校验方法
KR101970712B1 (ko) 2012-08-23 2019-04-22 삼성전자주식회사 단말기의 데이터 이동장치 및 방법
CN103794253B (zh) * 2012-10-30 2017-02-08 北京兆易创新科技股份有限公司 一种Nand闪存和读取其配置信息的方法和装置
US9110829B2 (en) * 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits
JP5902137B2 (ja) 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
US9093158B2 (en) * 2013-12-06 2015-07-28 Sandisk Technologies Inc. Write scheme for charge trapping memory
DE102015211320A1 (de) * 2015-06-19 2016-12-22 Robert Bosch Gmbh Speichereinheit zum automatischen Multiplizieren des Inhalts einer Speicherstelle, und Datennetz mit Speichereinheit
WO2017145530A1 (ja) * 2016-02-22 2017-08-31 株式会社村田製作所 圧電デバイス
CN106529940A (zh) * 2016-10-25 2017-03-22 天地融科技股份有限公司 一种智能卡的操作执行方法、智能卡读写系统和智能卡
US10388351B2 (en) * 2017-08-30 2019-08-20 Micron Technology, Inc. Wear leveling for random access and ferroelectric memory
US20210055954A1 (en) * 2018-02-02 2021-02-25 Dover Microsystems, Inc. Systems and methods for post cache interlocking
CN108897499A (zh) * 2018-07-19 2018-11-27 江苏华存电子科技有限公司 一种闪存内块的类型识别方法
US10817370B2 (en) * 2018-12-17 2020-10-27 Gsi Technology Inc. Self correcting memory device
US10811082B1 (en) * 2019-06-24 2020-10-20 Sandisk Technologies Llc Non-volatile memory with fast data cache transfer scheme
US10825526B1 (en) 2019-06-24 2020-11-03 Sandisk Technologies Llc Non-volatile memory with reduced data cache buffer
US10783978B1 (en) * 2019-08-27 2020-09-22 Micron Technology, Inc. Read voltage-assisted manufacturing tests of memory sub-system
US11282558B2 (en) * 2020-05-21 2022-03-22 Wuxi Petabyte Technologies Co., Ltd. Ferroelectric random-access memory with ROMFUSE area having redundant configuration wordlines
WO2022046293A1 (en) * 2020-08-24 2022-03-03 Cummins Inc. Systems and methods for critical data save in electronic control modules
US11948653B2 (en) * 2021-07-20 2024-04-02 Avago Technologies International Sales Pte. Limited Early error detection and automatic correction techniques for storage elements to improve reliability
CN114913903B (zh) * 2022-06-27 2025-08-15 芯天下技术股份有限公司 闪速存储器内启动数据的读取方法、装置、设备及介质
US12009047B2 (en) * 2022-09-30 2024-06-11 Advanced Micro Devices, Inc. Systems and methods for continuous wordline monitoring

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3312873A1 (de) 1983-04-11 1984-10-25 Deutsche Fernsprecher Gesellschaft Mbh Marburg, 3550 Marburg Verfahren zur datensicherung in speichern
SU1596392A1 (ru) * 1987-10-23 1990-09-30 Предприятие П/Я Х-5737 Матричный накопитель и способ управлени записью, считыванием и стиранием информации в накопителе
CA2002361C (en) * 1989-03-10 1993-12-21 Robert M. Blake Fault tolerant computer memory systems and components employing dual level error correction and detection with disablement feature
US5343426A (en) * 1992-06-11 1994-08-30 Digital Equipment Corporation Data formater/converter for use with solid-state disk memory using storage devices with defects
DE59308113D1 (de) * 1993-03-11 1998-03-12 Francotyp Postalia Gmbh Verfahren zum Speichern sicherheitsrelevanter Daten
DE19525149A1 (de) * 1995-07-11 1997-01-16 Telefunken Microelectron Verfahren zum selbsttätigen Erkennen und Korrigieren eines ungültigen Datensatzes und System zu seiner Durchführung
US5682344A (en) * 1995-09-11 1997-10-28 Micron Technology, Inc. Destructive read protection using address blocking technique
JP3371682B2 (ja) * 1996-04-26 2003-01-27 トヨタ自動車株式会社 半導体記憶装置
KR100601928B1 (ko) * 1996-06-10 2006-10-04 삼성전자주식회사 강유전체랜덤액세서메모리의비휘발성유지장치및방법
US5815431A (en) * 1997-02-19 1998-09-29 Vlsi Technology, Inc. Non-volatile digital circuits using ferroelectric capacitors
WO2000026783A1 (de) * 1998-10-30 2000-05-11 Infineon Technologies Ag Speichereinrichtung zum speichern von daten und verfahren zum betreiben von speichereinrichtungen zum speichern von daten
US6211710B1 (en) * 1998-12-30 2001-04-03 Texas Instruments India Limited Circuit for generating a power-up configuration pulse
US6201731B1 (en) * 1999-05-28 2001-03-13 Celis Semiconductor Corporation Electronic memory with disturb prevention function

Also Published As

Publication number Publication date
DK1497730T3 (da) 2006-10-23
HK1078959A1 (zh) 2006-03-24
RU2004131638A (ru) 2005-05-27
NO20021792D0 (no) 2002-04-16
EP1497730A1 (en) 2005-01-19
CN1329830C (zh) 2007-08-01
AU2003230468A1 (en) 2003-10-27
NO20021792L (no) 2003-10-17
NO315959B1 (no) 2003-11-17
US20030218925A1 (en) 2003-11-27
JP2005522811A (ja) 2005-07-28
AU2003230468B2 (en) 2007-11-08
US6822890B2 (en) 2004-11-23
CA2481492A1 (en) 2003-10-23
ATE331987T1 (de) 2006-07-15
CN1647045A (zh) 2005-07-27
DE60306510D1 (de) 2006-08-10
EP1497730B1 (en) 2006-06-28
KR20040105870A (ko) 2004-12-16
RU2278426C2 (ru) 2006-06-20
DE60306510T2 (de) 2006-12-21
WO2003088041A1 (en) 2003-10-23
KR100603671B1 (ko) 2006-07-20

Similar Documents

Publication Publication Date Title
ES2266812T3 (es) Procedimientos para almacenar datos en memorias no volatiles.
KR101649395B1 (ko) 비휘발성 메모리에 대한 리프레시 아키텍처 및 알고리즘
US9110829B2 (en) MRAM smart bit write algorithm with error correction parity bits
US9355713B2 (en) Systems and methods for lower page writes
US6801471B2 (en) Fuse concept and method of operation
KR100656215B1 (ko) 용장 셀을 갖는 메모리 디바이스
CN112507398B (zh) 物理不可复制函数代码生成装置及其方法
JP2018526760A (ja) ファームウェア更新のための強誘電メモリの拡張
JP2018514891A (ja) 強誘電体メモリにおけるデータ感知のための基準電圧の設定
US20260004867A1 (en) Systems and methods for monitoring and managing memory devices
US20180267853A1 (en) Memory system
JPH1166866A (ja) メモリセルにおいて3つ以上の状態を記憶及び読出可能とするための多値記憶機構を用いるメモリシステム
EP1220229B1 (en) An electrically modifiable, non-volatile, semiconductor memory which can keep a datum stored until an operation to modify the datum is completed
KR970017698A (ko) 반도체 기억장치 및 그 용장 메모리셀부의 치환방법
JP7538085B2 (ja) 半導体装置
TWI743016B (zh) 用於對儲存器進行上電重置的方法、儲存器件、儲存器控制器及資料結構
HK1078959B (en) Methods for storing data in non-volatile memories
KR100340069B1 (ko) 비휘발성 기억 소자의 동작 신뢰성 감소 및 잔류 수명을평가하기 위한 방법
JP2020187804A (ja) 半導体記憶装置のデータ読み出し方法および半導体記憶装置