ES2266812T3 - Procedimientos para almacenar datos en memorias no volatiles. - Google Patents
Procedimientos para almacenar datos en memorias no volatiles. Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking 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.
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)
| 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)
| 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 |
-
2002
- 2002-04-16 NO NO20021792A patent/NO315959B1/no unknown
-
2003
- 2003-04-10 WO PCT/NO2003/000115 patent/WO2003088041A1/en not_active Ceased
- 2003-04-10 EP EP03723535A patent/EP1497730B1/en not_active Expired - Lifetime
- 2003-04-10 AT AT03723535T patent/ATE331987T1/de not_active IP Right Cessation
- 2003-04-10 DK DK03723535T patent/DK1497730T3/da active
- 2003-04-10 CA CA002481492A patent/CA2481492A1/en not_active Abandoned
- 2003-04-10 JP JP2003584917A patent/JP2005522811A/ja active Pending
- 2003-04-10 DE DE60306510T patent/DE60306510T2/de not_active Expired - Fee Related
- 2003-04-10 AU AU2003230468A patent/AU2003230468B2/en not_active Ceased
- 2003-04-10 CN CNB038084473A patent/CN1329830C/zh not_active Expired - Fee Related
- 2003-04-10 US US10/410,592 patent/US6822890B2/en not_active Expired - Fee Related
- 2003-04-10 KR KR1020047016384A patent/KR100603671B1/ko not_active Expired - Fee Related
- 2003-04-10 RU RU2004131638/09A patent/RU2278426C2/ru not_active IP Right Cessation
- 2003-04-10 ES ES03723535T patent/ES2266812T3/es not_active Expired - Lifetime
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) | 半導体記憶装置のデータ読み出し方法および半導体記憶装置 |