ES2448417T3 - Esquema de distribución con umbral multinivel flash - Google Patents
Esquema de distribución con umbral multinivel flash Download PDFInfo
- Publication number
- ES2448417T3 ES2448417T3 ES11009492.7T ES11009492T ES2448417T3 ES 2448417 T3 ES2448417 T3 ES 2448417T3 ES 11009492 T ES11009492 T ES 11009492T ES 2448417 T3 ES2448417 T3 ES 2448417T3
- Authority
- ES
- Spain
- Prior art keywords
- voltage
- state
- cell
- threshold voltage
- negative
- 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.)
- Active
Links
Classifications
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
Un dispositivo de memoria que comprende: Un arreglo de memoria que tiene celdas de memoria (50) dispuestas en filas y columnas caracterizadas porque: cada celda de memoria (50) es borrable para tener un voltaje umbral de borrado negativo y es programable en unaoperación de programa que tiene al menos un voltaje umbral de programación negativo; un controlador de línea (110) para controlar selectivamente una línea (WLn) conectada a un terminal de puerta (60)de una celda de memoria con un voltaje de programación para cambiar el voltaje umbral de borrado negativo a almenos un voltaje umbral de programa negativo durante la operación del programa.
Description
Esquema de distribución con umbral multinivel flash
Referencia Cruzada a Solicitudes Relacionadas
Esta solicitud reivindica el beneficio de la Solicitud de patente Provisional estadounidense No. 60/844,154 5 presentada en septiembre 2006.
Campo de la Invención
La presente invención se relaciona de manera general con memorias flash. Más particularmente, la presente invención se relaciona con un dispositivo de memoria flash, un método de programar la celda de memoria flash y un método para verificar el voltaje umbral.
10 Antecedentes de la Invención
Numerosos tipos de productos electrónicos de consumo dependen de alguna forma de almacenamiento masivo para retener datos o software para la ejecución de códigos mediante un micro controlador. Tales productos electrónicos de consumo son prolíficos, e incluyen dispositivos tales como ayudantes digitales personales (PDA), reproductores de música portátiles, reproductores multimedia portátiles (PMP) y cámaras digitales. En los PDA, el almacenamiento 15 masivo se requiere para almacenar aplicaciones y datos, mientras que en los reproductores de música y en las cámaras digitales se requieren cantidades grandes de almacenamiento masivo para retener los datos de archivo de música y/o los datos de imágenes. La solución para el almacenamiento masivo para tales dispositivos electrónicos portátiles es preferiblemente de tamaño pequeño, consumo de energía mínimo, y que tengan una alta densidad de almacenamiento. Esto limita la selección de las formas no volátiles de memoria en razón a que las memorias
20 volátiles, tales como las memorias de acceso aleatorio estático (SRAM) y la memoria de acceso aleatorio dinámico (DRAM), requieren una constante aplicación de energía con el fin de mantener los datos. Como es conocido en la técnica, los elementos electrónicos portátiles dependen de las baterías que tienen un suministro de energía finito. Por lo tanto, se prefieren las memorias no volátiles que retienen los datos después de que se retira la energía.
Aunque muchos productos de consumo utilizan memorias flash comerciales, la memoria flash es indirectamente
25 utilizada por los consumidores en productos tales como teléfonos y dispositivos móviles con funciones de micro procesamiento. Más específicamente, la aplicación específica de circuitos integrados (ASIC) comúnmente encontrada en los dispositivos electrónicos de consumo puede tener una memoria flash integrada para posibilitar actualizaciones del firmware. No es necesario decir, que la memoria flash es versátil debido a su balance óptimo en tamaño, densidad de almacenamiento y velocidad, haciendo esta la solución de almacenamiento masivo no volátil
30 preferida para los dispositivos electrónicos de consumo.
La Figura 1 es un diagrama de bloque de un dispositivo de memoria flash típico. La memoria flash 10 incluye un circuito lógico para controlar varias funciones de los circuitos flash, registros para almacenar direcciones y datos, circuitos de alto voltaje para generar el programa requerido y voltajes de borrado, y circuitos de memoria núcleo para acceder al arreglo de la memoria flash. Las funciones de los bloques de circuito mostrados de la memoria flash 10
35 deben ser bien conocidas en la técnica. Las personas expertas en la técnica entenderán que la memoria flash 10 mostrada en la Figura 1 representa una posible configuración de memoria flash entre muchas posibles configuraciones.
Una operación de lectura es un acceso relativamente directo de los datos almacenados a un sitio de memoria particular del arreglo de memoria, denominado una dirección. Antes de una operación de escritura en un bloque 40 especifico de arreglo de memoria, el bloque específico se debe primero borrar con la aplicación de voltajes altos. Una operación de escritura, más precisamente denominada una operación de programa, requiere una aplicación cuidadosa de altos voltajes a un sitio de memoria seleccionado, seguido por la operación de verificación del programa para asegurar que los datos han sido adecuadamente programados. Adicionalmente, en razón a que son usados altos voltajes, el chip flash se debe diseñar para ser relativamente tolerante a una programación inadvertida
45 de sendas de memoria no seleccionadas.
La Figura 2 es un circuito esquemático que muestra una cadena de celdas NAND utilizadas en el arreglo de celda de memoria mostrado en la Figura 1. La Figura 2 es un circuito esquemático de 2 cadenas de celdas de memoria NAND. Cada cadena de celda de memoria NAND incluye 32 celdas de memoria de puerta flotante conectadas en serie 50 cada una conectada líneas WL0 a WL31, un transistor de selección de cadena 52 conectado entre una línea 50 de bit 54 y la primer celda de memoria de puerta flotante 50, y un transistor de selección de tierra 56 conectado entre la línea de fuente común (CSL) 58 y la última celda de memoria de puerta flotante 50. La puerta de cadena de transistor de selección 52 recibe las cadenas de celda de memoria de las líneas comunes compartidas de bloque,
las líneas de señal SSL de selección de cadena, y GSL de selección de tierra. La construcción y disposición de la cadena de memoria NAND mostrada es bien conocida en la técnica.
Como se mencionó previamente, las cadenas de celda de memoria NAND del arreglo de memoria son primero borradas, de acuerdo a técnicas bien conocidas en el arte. Cada bloque de las cadenas de celda de memoria NAND se puede borrar selectivamente; por lo tanto se pueden borrar uno o más bloques simultáneamente. Cuando se borra de manera exitosa, todas las celdas de memoria de puerta flotantes borradas 50 tendrán un voltaje de umbral negativo. En efecto, todas las celdas de memoria borrado 50 se dejan en un estado lógico por omisión, tal como un lógico “1” por ejemplo. Las celdas de memoria programadas 50 tendrán sus voltajes umbral cambiados a un voltaje umbral positivo, representando así el estado lógico “0” opuesto.
La Figura 3 es una vista esquemática en sección transversal de una celda de memoria flash típica. Una estructura de tales celdas es bien conocida en la técnica. En general, la puerta de control 50 se conecta a una línea de palabra, mientras que la puerta flotante 62 se aísla de otros nodos mediante un aislador de óxido 61. Los electrones (portadores de carga) se inyectan o eyectan de la puerta flotante 62 y el sustrato 68 que tiene una fuente 64 y un drenaje 66, a través de óxidos de tunelamiento delgado 63 entre la puerta flotante 62 y el sustrato 68.
La Figura 4 es una vista esquemática en sección transversal de una celda ROM de nitruro que tiene trampas de carga. Tal celda también es conocida en la técnica. En la celda ROM de nitruro, se elimina la puerta flotante y se colocan los datos en una “cámara de mantenimiento” o “trampas de carga” de la capa no conductora 72, por ejemplo, de nitruro de silicio, entre la puerta de control 70 y el sustrato 78 que tiene una fuente 74 y un drenaje 76. Recientemente, han sido utilizados nano cristales de silicio utilizados como trampas de carga.
Generalmente, una celda se programa al aplicar un voltaje alto a su puerta mientras que se mantiene su fuente y terminales de drenaje a tierra. El campo eléctrico alto hace que los electrones en el canal de la celda de memoria crucen el óxido de la puerta y se incrusten en la puerta flotante (conocido como Tunelamiento Fowier- Nordheim (F-N)) implementando de esta manera el voltaje umbral efectivo en la celda de memoria.
Debido a la siempre presión de necesidad de reducción de tamaño así como también el deseo de incrementar la densidad de almacenamiento de datos, las celdas flash multinivel son ahora ampliamente utilizadas. Tal como su nombre lo indica, las celdas multinivel tienen más de dos estados lógicos por celda. Una celda única que almacena dos bits de información tiene cuatro estados lógicos que corresponden a diferentes niveles de los niveles de carga almacenados en las puertas flotantes (o trampas de carga). En general, una celda multinivel capaz de almacenar N bits binarios de datos tendrá 2N estados de niveles lógicos.
Sin embargo, cada transición de puerta flotante tiene cierto rango total de voltaje de umbral en el cual este puede ser operado de manera práctica. El rango total se divide en el número de estados definidos para la celda de memoria que incluye tolerancias para la clara distinción de un estado del otro. Las variaciones en los procesos de fabricación y el envejecimiento del dispositivo pueden originar cambios en los voltajes umbral. Estos cambios pueden debilitar la resistencia de los estados de la celda al mover un estado más cerca al siguiente estado. También, en la medida en que más niveles son comprimidos en un rango total fijo (por ejemplo, rango de voltaje de suministro fijo), la tolerancia para estos cambios disminuye.
La Figura 5 es una gráfica de distribución de voltaje umbral (Vt) para una celda de memoria flash multinivel. También se muestran los voltajes de referencia intermedios. Esta gráfica particular ilustra los umbrales de una celda de memoria flash capaz de almacenar dos bits de datos. Por lo tanto, cada celda de memoria flash multinivel debe almacenar de uno a 4 voltajes umbral. En este esquema de la técnica anterior, un estado borrado representado por un voltaje umbral negativo descansa en el dominio del voltaje borrado. Todas las celdas de memoria borradas por omisión tendrán este voltaje umbral negativo. Se debe programar el resto de los 3 estados, y sus correspondientes voltajes umbral serán positivos en valor y descansarán en el dominio de voltaje del programa. En este ejemplo, el dominio de voltaje de borrado está por debajo de cero mientras que el dominio de voltaje del programa está por encima de cero voltios. Un problema con este esquema es el hermetismo requerido de la distribución de cada estado de la distancia entre los estados.
Programar se hace típicamente por la página, significando que todas las celdas de memoria 50 en el bloque conectadas a la misma línea se seleccionan para ser programadas con datos de escritura (lógico “0”) al mismo tiempo. El resto de las celdas de memoria son así no seleccionadas durante la programación. En razón a que las celdas de memoria inician en el estado de borrado (lógico “1”) antes de la programación, solo las celdas de memoria a ser programadas con el lógico “0” se debe someter a los campos eléctricos altos necesarios para promover el tunelamiento F-N. Sin embargo, debido a las conexiones físicas del arreglo de la memoria, todas las celdas de memoria a lo largo de la misma línea reciben el mismo nivel de programación de voltaje alto. Como resultado, existe un potencial de que las celdas de memoria borradas tendrán cambiados sus voltajes umbral no intencionalmente. Esto se denomina afectación del programa, que es bien conocido en el campo de la memoria flash. Este problema es más pronunciado en celdas multinivel en razón a que más niveles son comprimidos en un rango de voltaje fijo.
Varios parámetros tales como la ventana Vt, la distancia Vt, y la distancia de lectura V, son parámetros claves para determinar la velocidad de lectura/escritura, confiabilidad y tiempo de vida de la memoria flash multinivel mostrada en la Figura 5. Estos tres parámetros se influencian el uno al otro: la ventana de la celda Vt, y la distancia de la celda Vt en una memoria flash multinivel son mucho más herméticos que aquellos en la memoria flash de nivel único en razón a que, en el caso de una celda de dos bits, tres estados de celda están en el dominio de voltaje del programa con un Vt positivo. Si la ventana de la celda Vt es más amplia, la distancia de la celda Vt es más estrecha. Esto reduce el margen de detección de lectura y eventualmente conduce a una falla al detectar los estados de las celdas vecinas. En otras palabras, el Vt se traslapa o aun una distancia mínima Vt entre los estados de las celdas vecinas conduce a una falla del dispositivo.
La resistencia o margen de seguridad del estado Vt es el más grande cuando el Vt está a la mitad del camino entre los voltajes de referencia adyacentes. Los limites superior e inferior de cada estado Vt que define la ventana de la celda Vt se puede especificar. Por ejemplo, en la Figura 5, el estado de celda 0 está entre el límite inferior VL0 (-3 voltios) y el límite superior VU0 (-2 voltios). El estado de la celda 1 está entre el límite inferior VL1 (0,3 VOLTIOS) y el límite superior VU1 (0,8 voltios). Típicamente, la ventana de celda Vt en la memoria flash multinivel esta entre 0,5 a 1,0 voltios. Idealmente, la ventana de la celda estrecha Vt se prefiere para mejor definición y distinción de un estado.
La distancia de la celda Vt, que se define como la diferencia en Vt entre el límite inferior de Vt y el rango del voltaje umbral de un estado de celda y el límite superior del Vt del rango del voltaje umbral del estado de celda previo. Por ejemplo, la distancia Vt entre el estado de la celda 2 y el estado de la celda 1 es 1,5- 0,8 = 0,7 voltios. Típicamente la distancia de la celda Vt en una celda de memoria flash multinivel está entre 0,7 a 1,0V. Como es evidente, se prefieren las distancias de celdas Vt mayores.
También es deseable tener una distancia Vlectura, la distancia entre el voltaje de paso de lectura y el límite superior de un estado completamente programado tan alto como sea posible. Por ejemplo, en la Figura 5 la distancia Vlectura es 5,5 -3,3 = 1,2 voltios. Sin embargo, para el desempeño óptimo de la celda de memoria, se prefiere una Vlectura inferior porque la Vlectura alta puede originar afectación. Por lo tanto, existe un compromiso entre la distancia Vlectura y el valor de Vlectura. Más aun, el rango de voltaje de suministro fijo disponible puede determinar el valor Vlectura máximo.
Adicionalmente, el número de ciclos de re-escritura (borrado y programación) se incrementa, la ventana de celda Vt se vuelve más amplia por la degradación del óxido del túnel debido a las cargas atrapadas. También, el voltaje de paso de lectura Vlectura debe ser inferior para minimizar la afectación de la lectura a las celdas no seleccionadas en la cadena seleccionada. Sin embargo, con el fin de acomodar los tres estados de celda (en una celda de 2 bits) en el dominio del voltaje del programa, la distancia v tiene que ser mantenida al menos por encima de VU3. Esto incrementa el nivel de v.
Con el fin de controlar herméticamente el Vt de la celda programada, se ha propuesto una programación del pulso de la etapa de implemento (ISPP) y se ha utilizado ampliamente en las memorias flash. La Figura 6 es una gráfica que ilustra la relación entre el número de pulsos de programa aplicados a una línea para programar un voltaje umbral versus el tamaño de cada pulso. En general, se pueden obtener distribuciones del voltaje umbral hermético cuando el tamaño de la etapa de cada pulso de programa es pequeño. Sin embargo, el compromiso es programar el tiempo en razón a que se requerirían más pulsos de programa.
Los ciclos de programa/borrados acumulados en las memorias flash multinivel con el esquema de la técnica anterior para la distribución de la celda Vt dan como resultado típicamente los problemas bien conocidos tal como se describen adelante.
La transferencia de carga repetida origina que los electrones sean atrapados en la puerta flotante y el dieléctrico, que degradan el programa y borran las características de la celda. Por lo tanto, las celdas requieren gradualmente mayores voltajes de programación y borrado en la medida en que el número de ciclos de borrados- programación se incrementa; dando como resultado la limitación del número de ciclos de borrado – programación en la celda.
Las características de retención de datos en las celdas multinivel se degradarán drásticamente debido a la distancia pequeña de la celda Vt. Más aun, en la medida en que la distribución Vt para un estado dado es mayor, el Vt máximo de las celdas programas es mayor. El mayor Vt requiere un mayor voltaje de programación Vpgm, y afecta de manera adversa las características de retención de datos debido al mayor campo eléctrico a través del óxido del túnel. Más aun, el mayor Vt requerido en las celdas multinivel requiere mayor Vlectura. Este origina afectaciones de lectura a las celdas de memoria no seleccionadas en la cadena de celda NAND seleccionado durante las operaciones de lectura (es decir programa blando para una mayor Vlectura a celdas de memoria no seleccionadas).
Además, los requisitos de voltaje mayor para las operaciones de lectura y escritura en la memoria flash multinivel no se escalan con la dimensión del dispositivo que se escala en la medida en que el campo eléctrico a través de todos los transistores que incluyen celdas de memoria no se puede reducir.
Por lo tanto, la vida de una celda de memoria flash multinivel es relativamente corta, típicamente de solamente 10,000 ciclos. Esto es significativamente más corto que el ciclo límite de 100,000 para un bit único para los dispositivos de memoria flash de celda.
El documento US 5,953,255 describe un arreglo de celdas de memoria MOS que tienen un drenaje de funcionalidad simétrica y regiones fuente que se pueden programar y/o borrar utilizando voltaje bajo, por ejemplo, menos de aproximadamente 7V. En un arreglo del tipo NAND, el borrado UV disminuye el Vt para programar las celdas de memoria. La Figura 12 del documento US 5,953,255 muestra un estado de borrado que tiene un voltaje umbral positivo y voltajes de umbral programados que son positivos y negativos. Para los arreglos del tipo NOR, el HHI disminuye el Vt a los contenidos de celda de memoria de borrado y la inyección donde electrón caliente de canal (“CHE”) incrementa el Vt a los contenidos de celda del programa. Los potenciales de borrado y programación son bajos (< a 7V), posibilitando que los arreglos sean fácilmente fabricados en un IC común con unos circuitos de voltaje bajo. En razón a que el HHI converge fuertemente al Vt, las celdas de memoria pueden almacenar más de 2 valores de datos, lo que incrementa la densidad de almacenamiento de celda. La simetría de celda permite drenaje de intercambio para la fuente antes de que la durabilidad de la celda se vuelva demasiado problemática, cuyo intercambio puede incrementar de manera sustancial la durabilidad del tiempo de vida para un arreglo. Los arreglos se pueden utilizar como memoria flash, como reemplazo EPROM, o como una memoria programable una vez.
Resumen de la Invención
Es un objeto de la presente invención obviar o mitigar al menos una de las desventajas de los dispositivos de celdas de memoria flash multinivel previos. Por ejemplo, la presente invención mejora la durabilidad de las celdas de memoria flash al distribuir los voltajes umbral de programación en los dominios de voltaje de borrado y programación.
La presente invención se define mediante las reivindicaciones independientes.
Los aspectos y características de la presente invención serán evidentes para aquellos medianamente versados en la técnica luego de la revisión de la siguiente descripción y de las realizaciones específicas de la invención en conjunto con las figuras que la acompañan.
Breve Descripción de los Dibujos
Las realizaciones de la presente invención se describirán ahora, por vía solo de ejemplo, con referencia a las figuras anexas, en donde:
La Figura 1 es un diagrama de bloque de un dispositivo de memoria flash típico;
La Figura 2 es un esquema de circuito de una cadena de celda NAND;
La Figura 3 es un esquema en sección transversal de una celda de memoria flash típica;
La Figura 4 es un esquema en sección transversal de una celda ROM de nitruro que tiene trampas de carga;
La Figura 5 es una gráfica de distribución del voltaje umbral (Vt) para una celda de memoria flash multinivel de la técnica anterior;
La Figura 6 es una gráfica que ilustra la relación entre el número de pulsos de programa aplicados a una línea para programar un voltaje umbral versus el tamaño de cada pulso;
La Figura 7 es una realización de ejemplo de la invención que muestra una distribución del voltaje umbral para una celda de memoria flash capaz de almacenar 2 bits de datos;
La Figura 8 es una realización alternativa de la invención que muestra la gráfica de distribución del voltaje umbral para una celda de memoria flash capaz de almacenar 3 bits de datos;
La Figura 9 es un diagrama de bloque de los circuitos de hilera para un dispositivo de memoria flash multinivel, de acuerdo a una realización de la presente invención;
La Figura 10 es un esquema de circuito de un decodificador de bloque y el circuito controlador de línea mostrado en la figura 9;
La Figura 11 es un esquema de circuito del circuito decodificador de hilera mostrado en la Figura 9;
La Figura 12 es un diagrama de flujo que muestra un método para efectuar una operación de verificación de borrado;
La Figura 13 es un diagrama de flujo que muestra un método para programar los voltajes umbral múltiples, de acuerdo a una realización de la presente invención;
La Figura 14 es un diagrama de flujo que muestra un método para verificar la programación, de acuerdo a una realización de la presente invención; y,
La Figura 15 es un diagrama de flujo que muestra un método para leer datos, de acuerdo a una realización de la presente invención.
Descripción Detallada
De manera general, los aspectos de la presente invención suministran un esquema de distribución de voltaje umbral para celdas de memoria flash con una ventana óptima Vt una distancia máxima Vt, mientras que al mismo tiempo se mantiene la Vlectura a los niveles más bajos. En una realización, esto se logra al programar al menos un estado de celda en el dominio de voltaje de borrado (por ejemplo, con un valor Vt negativo).
La Figura 7 es una realización de ejemplo de la invención. La Figura 7 muestra una distribución del voltaje umbral para una celda de memoria flash multinivel capaz de almacenar 2 bits de datos. En la presente realización, existe un estado de programación (estado de celda 1, que corresponde a los datos “10”) que descansan en el dominio de voltaje borrado con el estado borrado (el estado de celda 0, que corresponde a los datos “11”). Por lo tanto, existen dos estados de celda que descansan en el dominio de voltaje borrado y dos estados de celda (estado de celda 2, que corresponde a los datos “01” y estado de celda 3, que corresponde a los datos “00”) en el dominio del voltaje de programacion. Al programar este estado en el dominio de voltaje borrado, se obtienen diferentes ventajas. Primero, la durabilidad se incrementa inmediatamente con relación a los dispositivos de la técnica anterior que tienen la misma ventana Vt, en razón a que la distancia Vt entre los estados se incrementa. Segundo, la duración se incrementa adicionalmente al minimizar la ventana Vt, a expensas de la velocidad de programación. Tercero, los requisitos de la distancia Vt y la ventana Vt se relajan para suministrar un desempeño de programación mejorado sobre los dispositivos de la técnica anterior, pero teniendo la misma durabilidad. Además, el voltaje Vlectura para las celdas no seleccionadas se puede disminuir, por ejemplo, desde un valor típico de 5,5 voltios a 4,8 voltios. La Figura 7 muestra los valores de ejemplo VL y VU, pero cualquier VL y VU se puede establecer para cada estado.
En aproximaciones convencionales, tales como el esquema de voltaje umbral descrito con referencia a la Figura 5, el estado de celda 0 tiene un Vt negativo, (dominio de voltaje de borrado) mientras que los restantes 3 estados de celda (estados 1, 2, y 3) tienen los Vt positivos (dominio de voltaje de programación). En el esquema del voltaje umbral de la presente realización como se ilustra en la Figura 7, los estados de celda 0 y 1 tienen los Vt negativos, mientras que los estados de celda 2 y 3 tienen los Vt positivos. El número de estado de celda en el dominio del voltaje de borrado y el dominio de voltaje de programación son iguales y de esta manera este esquema se denomina como un esquema de distribución Vt “balanceado”.
El esquema de distribución Vt de celda balanceada suministra al menos las siguientes ventajas: debido a la separación de los estados de celda, la ventana Vt de cada estado se puede ampliar, mejorando así la velocidad de programación. Las distancias Vt de la celda se maximiza, lo cual mejora grandemente la retención y la duración de los datos. Este esquema disminuye adicionalmente el voltaje de programación Vpgm y el voltaje de paso de programación Vpaso, que permite el escalamiento con el escalamiento de la geometría del dispositivo. Este también posibilita la disminución del voltaje Vlectura, el cual, como resultado suministra mayor inmunidad a las afectaciones de lectura típicamente encontradas en los valores Vlectura altos. Aunque la Figura 7 es una distribución Vt de ejemplo para 2 bits de dispositivo de celda, las celdas que almacenan cualquier número de bits se beneficiaran de las realizaciones de la presente invención.
La Figura 8 es una realización alternativa de la invención. La Figura 8 muestra una gráfica de distribución del voltaje umbral para una celda de memoria flash multinivel capaz de almacenar 3 bits de información (es decir 8 diferentes estados). Se debe notar que en la realización de la Figura 8, exactamente la mitad de los 8 posibles estados descansan en el dominio del voltaje de borrado mientras que las otras mitades descansan en el dominio de voltaje de programación. En realizaciones alternativas adicionales, pueden haber cinco estados en el dominio de voltaje de borrado o tres estados en el dominio de voltaje de borrado, u otras combinaciones que tengan al menos dos estados en el dominio de voltaje de borrado.
Como se discutió previamente para la Figura 6, el ISPP se utiliza para programar los voltajes umbrales deseados que corresponden a los diferentes estados de las celdas de memoria flash multinivel. En la medida en que las celdas de memoria se programan a un voltaje umbral deseado del estado borrado, el ISPP gradualmente cambia el voltaje umbral negativo de una celda de memoria flash borrada utilizando pulsos de voltaje crecientemente mayores aplicados a su puerta de control. Este tamaño creciente de la etapa y el número de pulsos determina el voltaje umbral de la celda de memoria flash programada. De acuerdo a una realización de la presente invención, un estado programado en el dominio de voltaje de borrado se logra al establecer el número de pulsos y el tamaño de la etapa de los pulsos de tal manera que se obtiene un voltaje umbral negativo deseado. En el ejemplo en la Figura 6, un voltaje umbral de 2V se obtiene al utilizar entre 2 y 3 pulsos, dependiendo del tamaño de la etapa del pulso seleccionado. Una vez que los estados del programa de dominio de borrado se han programado, el resto de los estados del dominio de programación se programan de acuerdo a técnicas conocidas. Se debe notar que el tamaño de la etapa para programar los estados de dominio de borrado pueden ser pequeños sin impactar la velocidad de programación en razón a que el cambio de voltaje umbral para el estado de borrado es relativamente pequeño.
Una parte de cualquier operación de programación es la operación de verificación del programa, el cual se utiliza para revisar que se hayan programado adecuadamente los datos. Por ejemplo, el voltaje umbral deseado puede no haber sido establecido durante una operación del programa. Por lo tanto, el o las celdas de memoria se someten a una reprogramación hasta que el programa verifica la limpieza de la celda de memoria, o hasta que este determina que la celda es defectuosa. Una vez que el programa verifica la operación se limpian las celdas de memoria, los datos se pueden leer. De acuerdo a una realización de la presente invención, el programa verifica y lee las operaciones que son ejecutadas tanto con los voltajes positivo como negativo.
La Tabla 1 muestra las condiciones de polarización de las líneas seleccionadas y de las líneas no seleccionadas para distinguir cada estado de celda durante la lectura, verificación y control de la celda programada Vt durante el programa en una memoria flash multinivel convencional utilizando el esquema de distribución de celda Vt de la Figura 5. La Tabla 2 muestra las condiciones de polarización de la línea seleccionada y de las líneas no seleccionadas durante la verificación del programa y la lectura en una memoria flash multinivel programable para tener al menos dos estados en el dominio de voltaje de borrado, de acuerdo con un aspecto de la presente invención.
Tabla 1
- Verificación de Programa
- Lectura
- Línea Seleccionada
- Líneas no seleccionadas Línea Seleccionada Líneas no seleccionadas
- Estado de Celda 0<1
- 0,3V (Vref_pv1) 5,5V (Vlectura) 0V (Vref-rd1) 5,5V (Vlectura)
- Estado de Celda 1<2
- 1,5V (Vref_pv2) 5,5V (Vlectura) 1,1V (Vref-rd2) 5,5V (Vlectura)
- Estado de Celda 2<3
- 2,8V (Vref_pv3) 5,5V (Vlectura) 2,3V (Vref-rd3) 5,5V (Vlectura)
La Tabla 2 muestra condiciones de polarización de ejemplo para la verificación del programa y las operaciones de lectura utilizadas para una celda flash multinivel programable para tener al menos dos estados en el dominio de voltaje de borrado. Como se ilustra en la Tabla 2, los voltajes negativos se aplican a la línea seleccionada durante las operaciones de verificación de lectura y programación de las celdas que tienen la celda negativa Vt (es decir, el estado de celda 0 y el estado de celda 1). Se debe notar que los valores del voltaje en la Tabla 2 son solo para propósitos de ilustración. En otras palabras, los valores de voltaje en la Tabla 2 pueden variar de acuerdo a la tecnología de proceso de las características de la celda.
Tabla 2
- Verificación de Programa
- Lectura
- Línea Seleccionada
- Líneas no seleccionadas Línea Seleccionada Líneas no seleccionadas
- Estado de Celda 0<1
- -1.1V (Vref_pv1) 4,8V (Vlectura) -1,5V (Vref-rd1) 4,8V (Vlectura)
- Estado de Celda 1<2
- 0,5V (Vref_pv2) 4,8V (Vlectura) 0V (Vref-rd2) 4,8V (Vlectura)
- Estado de Celda 2<3
- 2,1V (Vref_pv3) 4,8V (Vlectura) 1,5V (Vref-rd3) 4,8V (Vlectura)
Debido al cambio en el Vt de al menos un estado de celda programado para el dominio de voltaje de borrado, el voltaje de verificación del programa y el voltaje de lectura aplicado a las líneas seleccionadas son diferentes de la verificación del programa convencional y las operaciones de lectura, como se muestra en la Tabla 2. Típicamente, todo el voltaje de verificación del programa y el voltaje de lectura se implementa con valores de voltaje positivo. Sin embargo, el esquema de distribución del voltaje umbral para celdas flash multinivel descritas aquí utilizan tanto los voltajes positivos como negativos para la verificación del programa y las operaciones de lectura. Esto da como resultado cambios en la ejecución de los circuitos de línea como se describe adelante.
La Figura 9 es un diagrama de bloque de un lógico de control de hilera para un dispositivo de memoria flash multinivel de acuerdo a una realización de la presente invención. El lógico de control de hileras 100 incluye un decodificador de bloque 102, un circuito de codificador de hileras 108 y un circuito controlador de líneas 110. El dispositivo que tiene el lógico de control de hileras 100 tiene un generador de voltaje alto 104 y un generador de voltaje negativo 106, que se puede utilizar mediante otros circuitos que no se muestren en la Figura 9. Existe un decodificador de bloque 102 por bloque de memoria, que recibe una dirección de bloque BA, para habilitar los controladores de línea. El decodificador de hilera 108 es compartido comúnmente entre todos los bloques de memoria, que reciben la dirección de hilera RA_b, así como también otras señales que no se muestran, pero generan la señal de selección de fuente SS, las señales de línea S[0:n] y la señal de selección de tierra GS, generalmente denominado como señales de línea. En razón a que al menos uno de los estados programados estará en el dominio de voltaje de borrado (con por ejemplo un voltaje umbral negativo), el decodificador de bloque 102 y el circuito de codificador de hilera 108 recibieran uno o más voltajes negativos para la aplicación a una señal de línea seleccionada. En respuesta a una dirección de bloque valida BA y a las señales de codificador de hilera, las señales SSL, GSL y WL0- WLn se establecen a sus niveles de voltaje requerido durante la programación, verificación de la programación y operaciones de lectura. Voltajes de ejemplo se muestran en la Tabla 2 para verificación de programación y operaciones de lectura.
La Figura 10 es un circuito esquemático que muestra los detalles del circuito del decodificador de bloque 102 y el circuito controlador de línea 110 de la Figura 9. El decodificador de bloque 102 se asocia con un bloque de memoria, e incluye un circuito de retención de inversor acoplado cruzado y un circuito cambiador de nivel. El circuito de retención incluye inversores acoplados cruzados 200 y 202, un transistor de restablecimiento de n-canal 204, y transistores que habilitan el n-canal 206 y 208. El circuito de retención es habilitado, o ajustado, cuando la señal de habilitación de retención LTCH_EN y una dirección de bloque BA están en el nivel lógico alto. El circuito de retención de los inversores 200 y 202 se restablece cuando la señal RST_BD está en el nivel lógico alto. El circuito cambiador de nivel incluye un par de transistores p-canal acoplados cruzados 210 y 112, estando cada un conectado a respectivos transistores de direccionamiento de n-canal respectivos 214 y 216. Los terminales compartidos de los transistores 210 y 212 reciben un alto voltaje de Vh mientras que los terminales compartidos de los transistores 214 y 216 reciben un voltaje negativo Vn. El nodo Vh se conecta al generador de voltaje positivo 104 muestras que el nodo Vn se conecta al generador de voltaje negativo 106. Los transistores de direccionamiento 214 y 216 tienen terminales de puerta conectados a la salida del inversor 200 y el inversor 218, cuya entrada se conecta a la puerta del transistor 214. Se nota que el suministro de alto voltaje dado al inversor 200 es inferior que Vh mientras que el suministro de bajo voltaje suministrado al inversor 202 es mayor que Vn. La salida del circuito cambiador de nivel (una señal habilitante) BD_out controla los terminales de puerta de todos los transistores de paso de n-canal 220 de los controladores de línea 110. El terminal del sustrato de todos los transistores de paso 220 se conecta a Vn. Cada transistor de paso puede pasar selectivamente las señales de selección de fuente (SS), de línea (S0-Sn) y la selección de tierra (GS) al arreglo de memoria. La reserva de espacio “n” puede ser cualquier número entero diferente de cero, que típicamente corresponde al número máximo de celdas en la cadena de celda flash. La operación general del circuito decodificador de bloque se describe ahora.
En una operación de lectura por ejemplo, un bloque de memoria se selecciona mientras que los otros bloques permanecen no seleccionados. En otras palabras, un bloque de memoria se habilita mientras que los bloques de memoria restantes se deshabilitan. Para habilitar un bloque de memoria, LTCH_EN y BA estarán en el nivel lógico alto, estableciendo de esta manera el circuito modificador de nivel en un voltaje alto de salida Bh. Por lo tanto, todos los transistores de paso 220 del circuito controlador de línea 110 están prendidos. Las líneas no seleccionadas (Si no seleccionadas) se establecerán un voltaje de Vlectura mientras que la línea seleccionada (Si seleccionada) se establecerá al voltaje deseado. El voltaje deseado puede ser -1,5V si la operación de lectura presente pretende distinguir entre el estado de celda 0 y el estado de celda 1, por ejemplo. Los bloques de memoria deshabilitados tendrán su correspondiente rendimiento del circuito decodificador de bloque correspondiente ajustado al voltaje bajo de rendimiento Vn (-1,5V por ejemplo). Por lo tanto, los transistores de paso 220 en los bloques de memoria no seleccionados se apagarán aunque una de las señales Si pueda estar en Vn de -1,5V por ejemplo. La Tabla 3 ilustra ejemplos de los voltajes Vh y Vn para las operaciones de lectura, programación, verificación de programación, borrado y verificación de borrado.
Tabla 3
- Vh
- Vn
- Lectura
- ~6,5V 0V/-1,5V (Vref_rd1)
- Programación
- ~18V 0v
- Verificación de Programación
- ~6,5V 0V/-1,1V (Vref_pv1)
- Borrado
- Vdd 0v
- Verificación de Borrado
- ~6,5V 0v
La Figura 11 es un esquema de circuito que muestra un circuito decodificador de hilera del decodificador de hilera 108 de la Figura 9. El esquema actualmente mostrado de la Figura 11 es una representación funcional solamente, en razón a que puede haber diferentes ejecuciones de circuitos específicos que son posibles. En los circuitos decodificadores de hilera de la técnica anterior, solamente se suministran los voltajes en el dominio de voltaje del programa. De acuerdo con una realización de la presente invención, tanto el dominio de voltaje del programa (es decir, los voltajes positivos) como el dominio de voltaje de borrado (es decir el voltaje negativo) se suministran mediante el circuito decodificador de hilera actualmente mostrado. La Figura 11 muestra un circuito para genera una señal de hilera Si donde i puede ser un valor entero entre 0 y n, pero los circuitos para generar las señales SS y GS son configurados de manera similar. El circuito decodificador de hilera incluye un multiplexor 300 para recibir todos los voltajes que se utilizan durante las operaciones de programación, verificación de la programación, lectura, borrado y verificación del borrado. Esto incluye, por ejemplo, un voltaje de verificación del programa Vver un voltaje de lectura Vlectura, un voltaje de paso Vpaso y un voltaje de programación Vpgm.
El multiplexor 300 recibe además los diferentes voltajes de referencia utilizados para leer y programar las operaciones de verificación, tales como la Vref_rd1, Vref_rd2, y Vref_rd3 para la configuración de 2 bits/celda. En la presente realización, el Vref_rd1 es un voltaje de dominio de borrado negativo mientras que la Vref_rd2 y Vref_rd3 son voltajes de dominio de programa positivos. Cualquier número de voltaje se puede suministrar al multiplexor 300, y entonces pasar selectivamente al nodo Sn. La señal de selección de voltaje Vselección se utiliza para pasar cualquiera de los voltajes. Aquellos expertos en la técnica entenderán que el Vselección será una señal multi-bit, el número dependiendo del número de puertos de entrada que el multiplexor 300 este configurado para tener. El circuito decodificador de hilera incluye un transistor deshabilitante n-canal 302 conectado entre el nodo Sn y la tierra para deshabilitar el circuito cuando no está en uso, o durante un modo de caída de energía de operación, por ejemplo.
En operación general, la señal Sn se habilita en respuesta a una dirección seleccionada para habilitar una línea particular cuando la dirección RA_b está en el nivel lógico bajo. RA_b puede ser una dirección de hilera decodificada
o una dirección de hilera pre-decodificada. Dependiendo de la operación que se efectúe, Vselección se establecerá para pasar unos de los voltajes recibidos por el multiplexor 300 al nodo Sn. Aunque no se muestran, los generadores de voltaje 104 y 106 de la Figura 9 están controlados para suministrar los niveles de voltaje apropiados dependiendo de la operación que se vaya a efectuar. La Tabla 4 ilustra voltajes de ejemplo aplicados a las líneas y mediante el circuito decodificador de hilera durante una operación de lectura para unas líneas seleccionadas y no seleccionadas Si, donde i es un valor entero entre 0 y n. La Tabla 5 ilustra voltajes de ejemplo aplicados a las líneas mediante el circuito decodificador de hilera durante una operación de verificación del programa para las líneas seleccionadas y no seleccionadas Si donde i es un valor entero entre 0 y n.
Tabla 4
- Señal
- Estado de Celda 1<2 Estado de Celda 2<3 Estado de Celda 3<4
- BD_out no seleccionado
- -1,5V 1,5V o 0V -1,5V o 0V
- (Bloque no Seleccionado)
- BD_out Seleccionado (Bloque Seleccionado)
- 6,5V 6,5V 6,5V
- Vh
- 6,5V 6,5V 6,5V
- Vn
- -1,5V -1,5V o 0V -1,5V o 0V
- SS
- 4,8V (Vlectura) 4,8V (Vlectura) 4,8V (Vlectura)
- Si Seleccionado
- -1,5V (Vref_rd1) 0V (Ref_rd2) 1,5V (Vref_rd3)
- Si no Seleccionado
- 4,8V (Vlectura) 4,8V (Vlectura) 4,8V (Vlectura)
- GS
- 4,8V (Vlectura) 4,8V (Vlectura) 4,8V (Vlectura)
Tabla 5
- Señal
- Estado de Celda 1<2 Estado de Celda 2<3 Estado de Celda 3<4
- BD_out no seleccionado (Bloque no Seleccionado)
- -1,1V -1,1V o 0V -1,1V o 0V
- BD_out Seleccionado (Bloque Seleccionado)
- 6,5V 6,5V 6,5V
- Vh
- 6,5V 6,5V 6,5V
- Vn
- -1,1V 0,5V o 0V 2,1V o 0V
- SS
- 4,8V (Vlectura) 4,8V (Vlectura) 4,8V (Vlectura)
- Si Seleccionado
- -1,1V (Vref_pv1) 0,5V (Ref_pv2) 2,1V (Vref_pv3)
- Si no Seleccionado
- 4,8V (Vlectura) 4,8V (Vlectura) 4,8V (Vlectura)
- GS
- 4,8V (Vlectura) 4,8V (Vlectura) 4,8V (Vlectura)
En los esquemas de programación de la técnica anterior, los estados de celdas programados se confinan al dominio de voltaje de programa, es decir, que tienen voltajes umbral positivos. En el esquema de programación del umbral balanceado descrito actualmente, al menos un estado de celda programado recibe en el dominio de voltaje de borrado. Por lo tanto, un algoritmo de verificación de borrado se utiliza para asegurar que todas las celdas de memoria de borrado tengan un nivel de voltaje de umbral de borrado adecuado. La Figura 12 es un diagrama de
flujo que muestra un método para efectuar una operación de verificación de borrado de acuerdo a una realización de la presente invención. En razón a que el estado programado estará en el dominio de voltaje de borrado, el método de la Figura 12 asegura que todas las celdas de memoria son suficientemente borradas de tal manera que sus voltajes de umbral no descansen dentro del rango de voltaje umbral negativo designado para un estado programado.
El método de la Figura 12 comienza en la etapa 400 al borrar un bloque seleccionado del arreglo de memoria. Después de que todas las celdas de memoria se han borrado, todas las líneas de bit del bloque de memoria seleccionado se precargan a un primer nivel de voltaje tal como el VDD en la etapa 402. Se aplica entonces un voltaje de referencia a todas las líneas de las celdas de memoria en la etapa 404. Se presume que las celdas de memoria están configuradas como cadenas de celda NAND, tal como aquellas previamente mostradas en la Figura
2. El voltaje de referencia se selecciona para ser mayor que el voltaje de umbral de borrado más alto posible para el estado de borrado, y más bajo que el voltaje umbral de programa posible más bajo para el estado de programa adyacente. En general, el voltaje de referencia en el voltaje de dominio de borrado, y en el ejemplo donde el dominio de borrado está por debajo de 0V, el voltaje de referencia es un nivel de voltaje negativo. Con referencia a la distribución del voltaje umbral de ejemplo de la Figura 7 por ejemplo, si todas las celdas de memoria se han borrado adecuadamente, entonces su voltaje umbral debe estar entre -2,9 y -2,1 voltios. El voltaje de referencia aplicado a las líneas será de aproximadamente -1,5 voltios. Si todas las celdas de memoria se han borrado adecuadamente, entonces el nivel de -1,5 voltios en las líneas 0 a 31 es suficiente para prender los transistores y descargar la línea de bits al CSL o a tierra. Sin embargo, si una cualquiera de las celdas en la cadena de celda NAND tiene un voltaje de umbral mayor que -1,5 voltios, entonces la línea de bit no se descargará a tierra. Por lo tanto, el voltaje de la línea de bit se detecta en la etapa 406. En la etapa 408, se toma la determinación de ver si el voltaje de la línea de bit es igual o no al voltaje de pre-carga original. Si el voltaje de la línea de bit es igual, entonces el método regresa a la etapa 400 para re-borrar las celdas y repetir el proceso de verificación. De otra manera, todas las celdas de memoria se han borrado adecuadamente y el método de verificación de borrado finaliza en la etapa 410.
Después de que todas las celdas de memoria se han verificado al estar exitosamente borradas, pero la programación de los datos de las celdas de memoria puede continuar. La Figura 13 es un diagrama de flujo que ilustra un método de programación de un estado programado en el dominio de voltaje de borrado, de acuerdo con una realización de la presente invención. El método inicia en la etapa 500 al establecer los parámetros ISPP tal como el número de pulsos de programa y el tamaño de la etapa para cada pulso, para el estado a ser programado en el dominio de voltaje de borrado. En la etapa 502 el voltaje umbral de dominio de voltaje de borrado se programa en las celdas de memoria flash seleccionadas, Como se mencionó previamente, el voltaje umbral de borrado de una celda de memoria se cambia efectivamente al nivel de voltaje umbral de dominio de borrado deseado al utilizar un número predeterminado de pulsos de programación y los tamaños de etapa de acuerdo con el esquema ISPP. En la etapa 504 una operación de verificación de programa se ejecuta para asegurar que el estado programado se ha programado adecuadamente. Más específicamente, la verificación de la programación utilizará el voltaje de referencia del dominio de voltaje de borrado apropiado para verificar el estado programado. En el presente ejemplo, el voltaje de referencia de verificación de programación será un nivel de voltaje negativo. Detalles adicionales de la operación de verificación de programación se muestran posteriormente en la Figura 14.
Se hace una determinación en la etapa 506 para ver si al menos una de las celdas de memoria no cumple con la verificación de programación. Si al menos se determina una falla, entonces el método regresa a la etapa 502 para la reprogramación de al menos una celda de memoria. De otra forma, todas las celdas de memoria se ha considerado que han sido programadas exitosamente, y el método continúa a la etapa 508 donde secuencias de programación posteriores se ejecutan para el resto de los estados. El resto de los estados puede incluir estados de dominio de voltaje de borrado y/o estados de dominio de voltaje de programación. Los estados de dominio de voltaje de borrado adicionales se programan de acuerdo a la misma secuencia mostrada en las etapas 500 a 506, pero con diferentes parámetros ISPP y montajes de referencia de verificación de programa.
La Figura 14 es un diagrama de flujo de un método para efectuar una operación de verificación de programa después de que ha sido programado un estado en el dominio de voltaje de borrado. El método inicia en la etapa 600 al precargar las líneas de bit a un primer nivel de voltaje, tal como por ejemplo el nivel de voltaje positivo. En la etapa 602 la línea seleccionada que corresponde a la página que se programó es controlada a un voltaje de referencia del dominio de voltaje de borrado, y las líneas no seleccionadas son controladas a un voltaje de lectura en la etapa 604. El voltaje de referencia del dominio de voltaje de borrado se selecciona para que sea inferior al rango de voltaje umbral deseado del estado actualmente programado, pero mayor que el estado adyacente que tiene un rango de voltaje umbral. En el ejemplo de la Figura 7, si el estado programado se verifica en el estado de celda 1, entonces el voltaje de referencia del dominio de voltaje de borrado se selecciona para ser mayor que Vref1-rd. El voltaje de lectura es típicamente un voltaje de dominio de voltaje de programa suficiente para prender una celda de memoria que tiene el voltaje umbral programado más alto, tal como Vlectura en el ejemplo de la Figura 7. La línea de bit es detectada en la etapa 606, y se toma la determinación en la etapa 608 para ver si el voltaje de la línea de bit ha cambiado, es decir, se ha descargado a través de la cadena de celda NAND. Si existe un cambio en el voltaje de la línea de bit, entonces el voltaje umbral del estado actualmente programado es demasiado bajo y conduce corriente. Así el o las celdas de memoria se consideran que han fallado, y el método continúa a la etapa 610 para repetir la
programación de él o las celdas fallidas. De otra manera, el método de verificación del programa finaliza en la etapa 612 en razón a que todas las celdas han pasado la verificación del estado programado actualmente.
Una vez que se han programado y verificado los datos, este se puede leer del arreglo de memoria. En un esquema de detección multinivel, las retenciones para los dos bits que representan uno de los cuatro posibles estados lógicos se ajustan a los estados por omisión, tal como por ejemplo 1,1. La lectura se logra al leer iterativamente la celda al aplicar Vref1-rd, Vref2-rd y Vref3-rd en cada iteración. Si el voltaje umbral de la celda de memoria seleccionada se determina que es menor que el voltaje de referencia aplicado para esa iteración, entonces ningún estado de bit es cambiado o conmutado. Si el voltaje umbral de la celda de memoria seleccionada se determina que es mayor que el voltaje de referencia aplicada para esa iteración, entonces se cambia un estado de bit, o se conmuta. El bit particular a conmutar depende de la iteración de lectura específica que se ejecute. Esto asegura que los estados de bit para el voltaje umbral más bajo (es decir el estado borrado) permanecerán sin cambio para cada iteración posterior. De esta manera, para una celda de memoria multinivel de dos bits, tres iteraciones de lectura se requieren para determinar el estado de dos bits de la celda de memoria.
La Figura 15 es un diagrama de flujo de un método para leer un estado de celda en un dominio de voltaje de borrado. Los métodos inician en la etapa 700 al pre-cargar las líneas de bit a un primer nivel de voltaje, tal como por ejemplo un nivel de voltaje positivo. La línea seleccionada es controlada para un voltaje de referencia de dominio de voltaje de borrado en la etapa 702, mientras que el resto de las líneas no seleccionadas son controladas a un voltaje de lectura en la etapa 704. En el ejemplo actualmente descrito, el voltaje de referencia de dominio de voltaje de borrado se selecciona para ser inferior a aquel del rango de voltaje umbral deseado del estado actualmente programado, pero mayor que el estado adyacente que tiene un rango de voltaje umbral inferior. En el ejemplo de la Figura 8, si el estado programado que es leído es el estado de la celda 1, entonces el voltaje de referencia del dominio de voltaje de borrado se selecciona para ser Vref1-rd. El voltaje de lectura es típicamente un voltaje de dominio de voltaje de programación suficiente para prender una celda de memoria que tiene el voltaje umbral programado más alto, tal como el Vlectura en el ejemplo de la Figura 8. La línea de bit es detectada en la etapa 706 para determinar si el voltaje umbral de la celda es mayor o menor que Vref1-rd, y los estados de los bits se actualizan. En la etapa 708, el resto de los estados se detecta para completar la operación de lectura para la celda de memoria. El resto de los estados pueden ser adicionalmente estados de dominio de voltaje de borrado y estados de dominio de voltaje de programación. En otras palabras, el proceso de lectura se repetirá con los parámetros actualizados que corresponden al estado que es detectado, es decir, establecer el voltaje de referencia Vref2-rd en la etapa 700. Una vez que todos los estados posibles almacenados en la celda de memoria flash se detectan, los estados lógicos muti bit que corresponden al nivel umbral almacenado en la celda de memoria son sacados a través de los circuitos de la senda de lectura en la etapa 710.
Por lo tanto, al programar al menos un estado en el dominio de voltaje de borrado como se describió previamente mediante las realizaciones de la presente invención, la confiabilidad o duración de un dispositivo de memoria flash multinivel se maximiza con relación a los dispositivos de memoria flash multinivel de la técnica anterior porque la ventana Vt para cada uno de los estados de celda se minimiza mientras que la distancia Vt entre los estados de celda se maximiza. De manera alternativa, la ventana Vt para cada uno de los estados de celda se puede relajar, incrementando de esta manera la velocidad de programación ISPP con relación a os dispositivos de memoria flash multinivel de la técnica anterior en la medida en que los tamaños de etapa se incrementa y disminuyen los números de etapas. Aquellos expertos en la técnica entenderán que la optimización de la ventana Vt y la distancia Vt será hecha a la medida para la aplicación específica del dispositivo de memoria flash multinivel.
Las realizaciones anteriormente descritas de la presente invención pretenden ser solamente ejemplos. Las alteraciones, modificaciones y variaciones pueden afectar a las realizaciones particulares de acuerdo con los expertos en la técnica sin apartarse del alcance de la invención, que se define solamente por las reivindicaciones anexas a esta.
Por ejemplo, el dominio de voltaje de borrado se describe en las realizaciones de ejemplo como voltajes que son menores de 0V aunque el dominio de voltaje de programa incluye voltajes mayores de 0V. En una realización alternativa, el esquema de distribución del voltaje umbral se puede invertir, de tal manera que el dominio de voltaje de borrado incluye voltajes mayores de 0V mientras que el dominio de voltaje de programa incluye voltajes menores de 0V.
En la descripción precedente, con propósitos de explicación, se establecen numerosos detalles con el fin de suministrar un entendimiento completo de las realizaciones de la invención. Sin embargo, será evidente para aquella persona experta en la técnica que estos detalles no se requieren con el fin de practicar la invención. En otros casos, estructuras y circuitos eléctricos bien conocidos se muestran en la forma de diagrama de bloque con el fin de no oscurecer la invención. Por ejemplo, no se suministran detalles específicos de si las realizaciones de la invención descritas aquí se ejecutan como una rutina de software, circuitos de hardware, firmware, o una combinación de los mismos.
Las realizaciones de la invención se pueden representar como un producto de software almacenado en un medio leíble por máquina (también denominado como un medio leíble por ordenador, un medio leíble por procesador, un medio que utiliza un ordenador que tiene un código de programa de lectura de ordenador incluido en este). El medio leíble por máquina puede ser cualquier medio tangible adecuado, que incluye almacenamiento magnético, óptico o 5 eléctrico, medios que incluyen un disquete, memoria de solo lectura de disco compacto (CD-ROM). El dispositivo de memoria (volátil o no volátil), o mecanismo de almacenamiento similar. El medio leíble por maquina puede contener varios conjuntos de instrucciones, secuencias de código, información de configuración, u otros datos, los cuales, cuando se ejecutan, hace que un procesador efectúe las etapas en un método de acuerdo con una realización de la invención. Aquellos expertos en la técnica apreciarán que otras instrucciones y operaciones necesarias para ejecutar
10 la invención descrita se pueden almacenar en el medio leíble por máquina. El software que corre desde el medio leíble por maquina puede hacer interface con el circuito para efectuar las tareas descritas.
Las realizaciones anteriormente descritas de la invención pretenden ser solamente ejemplo. Las alteraciones, modificaciones y variaciones pueden afectarse por las realizaciones particulares de acuerdo con aquellos expertos en la técnica sin apartasen del alcance de la invención, que se define solamente en las reivindicaciones anexas a
15 esta.
Claims (13)
- REIVINDICACIONES1. Un dispositivo de memoria que comprende:Un arreglo de memoria que tiene celdas de memoria (50) dispuestas en filas y columnas caracterizadas porque:cada celda de memoria (50) es borrable para tener un voltaje umbral de borrado negativo y es programable en una operación de programa que tiene al menos un voltaje umbral de programación negativo;un controlador de línea (110) para controlar selectivamente una línea (WLn) conectada a un terminal de puerta (60) de una celda de memoria con un voltaje de programación para cambiar el voltaje umbral de borrado negativo a al menos un voltaje umbral de programa negativo durante la operación del programa.
-
- 2.
- El dispositivo de memoria de la reivindicación 1, en donde cada celda de memoria es programable para tener un voltaje umbral de programa positivo.
-
- 3.
- El dispositivo de memoria de la reivindicación 1, en donde cada celda de memoria almacena N bits de datos que corresponden a voltajes umbral 2N, donde N es un valor entero de al menos 2.
-
- 4.
- El dispositivo de memoria de la reivindicación 3, en donde la primera porción de los voltajes umbral 2N tienen voltajes umbral negativos, y una segunda porción de los voltajes umbral 2N tienen voltajes umbrales positivos, opcionalmente, en donde una de la primera porción de los voltajes umbral 2N tiene voltajes umbral negativos,
la primera porción incluye la mitad de los voltajes umbral 2N, la primera porción incluye más de la mitad de los voltajes umbral 2N, o la primera porción incluye menos de la mitad de los voltajes umbral 2N. -
- 5.
- Un método para almacenar datos en una celda de memoria flash caracterizado porque:
borrar la celda de memoria flash (50) para tener un estado borrado con un voltaje de umbral negativo,programar la celda de memoria flash (50), para tener una cualquiera de la primera porción de estados programados distintos del estado borrado que tiene un voltaje umbral negativo y una segunda porción de estados programados que tiene un voltaje umbral positivo. - 6. El método de la reivindicación 5, en donde las celdas de memoria flash almacenan uno cualquiera de los estados 2N, donde N es un valor entero de al menos 2, opcionalmente, dondela mitad de los estados 2N que tiene un voltaje umbral negativo incluye una primera porción de estados de programa y el estado de borrado,más de la mitad de los estados 2N que tiene un voltaje umbral negativo incluyen una primera porción de estados programados y el estado borrado, menos de la mitad de los estados 2N que tiene un voltaje umbral negativo incluye una primera porción de estados programados y el estado borrado, oprogramar incluye controlar una línea (WLn) conectada a la celda de memoria flash (50) con un voltaje de programación para cambiar un voltaje umbral negativo que corresponde a un estado de borrado a un voltaje umbral positivo que corresponde a una cualquiera de los primeros estados programados y la segunda porción de los estados programados.
-
- 7.
- El dispositivo de memoria de la reivindicación 1, en donde
al menos una celda de memoria (50) de un arreglo de memoria es programable para tener una de los primeros estados de celda y un segundo estado de celda, el primer estado de celda tiene un voltaje umbral en un rango de voltaje umbral entre un voltaje negativo y un voltaje positivo. -
- 8.
- El dispositivo de memoria de la reivindicación 7; en donde el segundo estado de celda tiene un segundo voltaje umbral menor que el voltaje umbral del primer estado de celda.
-
- 9.
- El dispositivo de memoria de la reivindicación 8, en donde el primer estado de celda corresponde a un estado de borrado o un estado programado, y el segundo estado de celda corresponde a otro estado programado,
el primer estado de celda corresponde al primer estado programado y el rango de voltaje umbral es un primer rango de voltaje umbral y el segundo estado de celda corresponde a un segundo estado programado que tiene un segundo 5 estado umbral dentro de un segundo rango de voltaje umbral inferior a aquel del primer rango de voltaje umbral, oel segundo estado de celda corresponde a un estado de borrado. - 10. El dispositivo de memoria de la reivindicación 9 que comprende adicionalmente un estado de borrado que contiene un rango de voltaje umbral de borrado inferior a aquel del segundo rango de voltaje umbral, opcionalmente en donde al menos una celda de memoria es programable a un tercer estado programado que tiene un tercer rango10 de voltaje umbral mayor que el primer rango de voltaje umbral.
- 11. Un método para verificar la programación exitosa de una celda de memoria flash (50) acoplada a una línea de bit, caracterizada porque la celda de memoria flash (50) se programó de un estado de borrado que tiene un primer voltaje umbral negativo a un estado programado que tiene un segundo voltaje umbral negativo;que controla una línea (WLn) conectada a la celda de memoria flash (50) con un voltaje de referencia negativo; y15 determinar la programación fallida de la celda de memoria flash (50) si el nivel de voltaje de la línea de bit cambia en respuesta a la línea del voltaje de referencia negativo.
- 12. El método de la reivindicación 11, que además incluye pre cargar una línea de bit del nivel de voltaje antes de controlar la línea, en donde determinar incluye detectar un cambio en el nivel de voltaje de la línea de bit cuando la celda de memoria20 flash se prende en respuesta a la línea en el voltaje de referencia negativo, en donde el estado programado corresponde a un primer estado de celda, y el voltaje de referencia negativo es mayor que un voltaje umbral negativo que corresponde a un segundo estado de celda de la celda de memoria flash.
- 13. El método de la reivindicación 12 en donde el segundo estado de celda corresponde a otro estado programado. 25 14. El método de la reivindicación 11, en donde el estado programado tiene un rango de voltaje umbral definido porun límite de voltaje inferior y un límite de voltaje superior mayor que el límite de voltaje umbral, el límite de voltaje inferior que es un voltaje negativo, opcionalmente, en donde el límite de voltaje superior es otro voltaje negativo, o el límite de voltaje superior es un voltaje positivo.Precarga línea de bits al primer nivel de voltajeControla línea de palabra seleccionada a voltaje deref. de dominio de borradoControla líneas de palabra no seleccionadas a voltaje de lecturaDetecta línea de bitsLee otros estadosDatos de salidaFigura 15
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84415406P | 2006-09-13 | 2006-09-13 | |
US844154P | 2006-09-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2448417T3 true ES2448417T3 (es) | 2014-03-13 |
Family
ID=39183317
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES07815815T Active ES2404831T3 (es) | 2006-09-13 | 2007-09-12 | Esquema de distribución de umbral de Flash multi-nivel |
ES11009492.7T Active ES2448417T3 (es) | 2006-09-13 | 2007-09-12 | Esquema de distribución con umbral multinivel flash |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES07815815T Active ES2404831T3 (es) | 2006-09-13 | 2007-09-12 | Esquema de distribución de umbral de Flash multi-nivel |
Country Status (9)
Country | Link |
---|---|
US (6) | US7593259B2 (es) |
EP (2) | EP2064707B1 (es) |
JP (2) | JP2010503944A (es) |
KR (3) | KR20130125839A (es) |
CN (2) | CN103531238A (es) |
CA (1) | CA2659872A1 (es) |
ES (2) | ES2404831T3 (es) |
TW (2) | TW201503139A (es) |
WO (1) | WO2008031217A1 (es) |
Families Citing this family (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103258572B (zh) | 2006-05-12 | 2016-12-07 | 苹果公司 | 存储设备中的失真估计和消除 |
WO2007132456A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
US7697326B2 (en) | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
US8156403B2 (en) | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US7593259B2 (en) * | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
US7821826B2 (en) * | 2006-10-30 | 2010-10-26 | Anobit Technologies, Ltd. | Memory cell readout using successive approximation |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7924648B2 (en) * | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US7706182B2 (en) * | 2006-12-03 | 2010-04-27 | Anobit Technologies Ltd. | Adaptive programming of analog memory cells using statistical characteristics |
WO2008068747A2 (en) | 2006-12-03 | 2008-06-12 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7646636B2 (en) | 2007-02-16 | 2010-01-12 | Mosaid Technologies Incorporated | Non-volatile memory with dynamic multi-mode operation |
WO2008111058A2 (en) | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
KR100888842B1 (ko) * | 2007-06-28 | 2009-03-17 | 삼성전자주식회사 | 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법 |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US7773413B2 (en) * | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US7639532B2 (en) * | 2007-10-10 | 2009-12-29 | Micron Technology, Inc. | Non-equal threshold voltage ranges in MLC NAND |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US8270246B2 (en) | 2007-11-13 | 2012-09-18 | Apple Inc. | Optimized selection of memory chips in multi-chips memory devices |
US7633798B2 (en) * | 2007-11-21 | 2009-12-15 | Micron Technology, Inc. | M+N bit programming and M+L bit read for M bit memory cells |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
KR101458955B1 (ko) * | 2008-01-04 | 2014-11-10 | 삼성전자주식회사 | 넓은 패스 전압 윈도우를 얻는 플래쉬 메모리 장치의프로그램 검증 방법 |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US7864573B2 (en) * | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
JP2009301599A (ja) * | 2008-06-10 | 2009-12-24 | Toshiba Corp | 不揮発性半導体記憶装置 |
IT1391466B1 (it) | 2008-07-09 | 2011-12-23 | Micron Technology Inc | Rilevamento di una cella di memoria tramite tensione negativa |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
JP2010092559A (ja) * | 2008-10-10 | 2010-04-22 | Toshiba Corp | Nand型フラッシュメモリ |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US7852671B2 (en) | 2008-10-30 | 2010-12-14 | Micron Technology, Inc. | Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array |
US8713330B1 (en) | 2008-10-30 | 2014-04-29 | Apple Inc. | Data scrambling in memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
KR101596826B1 (ko) * | 2009-10-26 | 2016-02-23 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 바이어스 전압 인가 방법 |
US8248862B2 (en) * | 2009-12-14 | 2012-08-21 | Ercole Rosario Di Iorio | Source bias shift for multilevel memories |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
JP5268882B2 (ja) * | 2009-12-28 | 2013-08-21 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8677203B1 (en) | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
US8320185B2 (en) | 2010-03-31 | 2012-11-27 | Micron Technology, Inc. | Lifetime markers for memory devices |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8406051B2 (en) | 2010-05-17 | 2013-03-26 | Seagate Technology Llc | Iterative demodulation and decoding for multi-page memory architecture |
US8254167B2 (en) | 2010-05-17 | 2012-08-28 | Seagate Technologies Llc | Joint encoding of logical pages in multi-page memory architecture |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
KR101605911B1 (ko) * | 2010-07-09 | 2016-03-23 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 소자 및 그 소거방법 |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
KR101666942B1 (ko) | 2010-08-18 | 2016-10-18 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법과, 상기 방법을 수행할 수 있는 장치들 |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US8559229B2 (en) | 2010-09-30 | 2013-10-15 | Samsung Electronics Co., Ltd. | Flash memory device and wordline voltage generating method thereof |
KR101682189B1 (ko) * | 2011-01-04 | 2016-12-05 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 워드라인 전압 발생 방법 |
DE102011056141A1 (de) * | 2010-12-20 | 2012-06-21 | Samsung Electronics Co., Ltd. | Negativspannungsgenerator, Dekoder, nicht-flüchtige Speichervorrichtung und Speichersystem, das eine negative Spannung verwendet |
US8638618B2 (en) * | 2010-12-23 | 2014-01-28 | Macronix International Co., Ltd. | Decoder for NAND memory |
US8310877B2 (en) * | 2011-01-06 | 2012-11-13 | Freescale Semiconductor, Inc. | Read conditions for a non-volatile memory (NVM) |
US8526266B2 (en) | 2011-01-21 | 2013-09-03 | Qualcomm Incorporated | Row-decoder circuit and method with dual power systems |
US9588883B2 (en) * | 2011-09-23 | 2017-03-07 | Conversant Intellectual Property Management Inc. | Flash memory system |
US8711619B2 (en) | 2011-10-18 | 2014-04-29 | Seagate Technology Llc | Categorizing bit errors of solid-state, non-volatile memory |
US8760932B2 (en) | 2011-10-18 | 2014-06-24 | Seagate Technology Llc | Determination of memory read reference and programming voltages |
US8693257B2 (en) | 2011-10-18 | 2014-04-08 | Seagate Technology Llc | Determining optimal read reference and programming voltages for non-volatile memory using mutual information |
US8737133B2 (en) | 2011-10-18 | 2014-05-27 | Seagate Technology Llc | Shifting cell voltage based on grouping of solid-state, non-volatile memory cells |
US8837226B2 (en) * | 2011-11-01 | 2014-09-16 | Apple Inc. | Memory including a reduced leakage wordline driver |
KR101809202B1 (ko) | 2012-01-31 | 2017-12-14 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 |
KR101942274B1 (ko) | 2012-02-13 | 2019-01-28 | 삼성전자주식회사 | 저항성 메모리 장치 |
US8838883B2 (en) | 2012-04-13 | 2014-09-16 | Sandisk Technologies Inc. | System and method of adjusting a programming step size for a block of a memory |
KR20140008098A (ko) * | 2012-07-10 | 2014-01-21 | 삼성전자주식회사 | 메모리 장치 및 상기 메모리 장치의 독출 방법 |
WO2014020724A1 (ja) * | 2012-08-01 | 2014-02-06 | ルネサスエレクトロニクス株式会社 | レベルシフト回路、半導体装置 |
KR102009435B1 (ko) | 2012-08-24 | 2019-08-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
KR102016041B1 (ko) * | 2012-10-11 | 2019-08-30 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법 |
US10468096B2 (en) | 2012-10-15 | 2019-11-05 | Seagate Technology Llc | Accelerated soft read for multi-level cell nonvolatile memories |
US9048777B2 (en) * | 2012-12-31 | 2015-06-02 | Silicon Laboratories Inc. | Apparatus for integrated circuit interface and associated methods |
KR102068163B1 (ko) | 2013-02-27 | 2020-01-20 | 삼성전자주식회사 | 불휘발성 메모리 및 불휘발성 메모리의 동작 방법 |
US9135109B2 (en) | 2013-03-11 | 2015-09-15 | Seagate Technology Llc | Determination of optimum threshold voltage to read data values in memory cells |
US9183940B2 (en) | 2013-05-21 | 2015-11-10 | Aplus Flash Technology, Inc. | Low disturbance, power-consumption, and latency in NAND read and program-verify operations |
WO2014210424A2 (en) | 2013-06-27 | 2014-12-31 | Aplus Flash Technology, Inc. | Novel nand array architecture for multiple simultaneous program and read |
WO2015013689A2 (en) | 2013-07-25 | 2015-01-29 | Aplus Flash Technology, Inc. | Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations |
US9146850B2 (en) * | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9293205B2 (en) | 2013-09-14 | 2016-03-22 | Aplus Flash Technology, Inc | Multi-task concurrent/pipeline NAND operations on all planes |
US9213599B2 (en) * | 2013-09-18 | 2015-12-15 | Seagate Technology Llc | Method of erase state handling in flash channel tracking |
US9378840B2 (en) | 2013-10-28 | 2016-06-28 | Seagate Technology Llc | Systems and methods for sub-zero threshold characterization in a memory cell |
US9613704B2 (en) | 2013-12-25 | 2017-04-04 | Aplus Flash Technology, Inc | 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify |
US9269432B2 (en) * | 2014-01-09 | 2016-02-23 | Micron Technology, Inc. | Memory systems and memory programming methods |
KR102218722B1 (ko) | 2014-06-09 | 2021-02-24 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
WO2016014731A1 (en) | 2014-07-22 | 2016-01-28 | Aplus Flash Technology, Inc. | Yukai vsl-based vt-compensation for nand memory |
KR102235516B1 (ko) | 2014-09-30 | 2021-04-05 | 삼성전자주식회사 | 이레이즈 컨트롤 유닛을 포함하는 메모리 시스템 및 동작 방법 |
KR102293136B1 (ko) | 2014-10-22 | 2021-08-26 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 |
US9899102B2 (en) * | 2015-03-31 | 2018-02-20 | SK Hynix Inc. | Semiconductor device and operating method thereof |
US9679652B2 (en) * | 2015-05-04 | 2017-06-13 | Phison Electronics Corp. | Threshold based multi-level cell programming for reliability improvement |
KR102291456B1 (ko) * | 2015-08-13 | 2021-08-23 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 및 프로그램 검증 방법 |
US11437094B2 (en) | 2015-08-13 | 2022-09-06 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, storage device, and operation method of storage device |
KR102393323B1 (ko) | 2015-08-24 | 2022-05-03 | 삼성전자주식회사 | 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법 |
KR102456104B1 (ko) | 2015-08-24 | 2022-10-19 | 삼성전자주식회사 | 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법 |
KR102295528B1 (ko) * | 2015-08-25 | 2021-08-30 | 삼성전자 주식회사 | 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법 |
KR102333746B1 (ko) | 2015-09-02 | 2021-12-01 | 삼성전자주식회사 | 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법 |
KR20170073980A (ko) * | 2015-12-21 | 2017-06-29 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US10055159B2 (en) * | 2016-06-20 | 2018-08-21 | Samsung Electronics Co., Ltd. | Morphic storage device |
US10043573B2 (en) | 2016-08-04 | 2018-08-07 | Intel Corporation | Apparatus and method for endurance friendly programming using lower voltage thresholds |
US10095424B2 (en) * | 2016-08-04 | 2018-10-09 | Intel Corporation | Apparatus and method for programming non-volatile memory using a multi-cell storage cell group |
US10083742B2 (en) | 2016-09-26 | 2018-09-25 | Intel Corporation | Method and apparatus for programming non-volatile memory using a multi-cell storage cell group to provide error location information for retention errors |
KR102015298B1 (ko) * | 2016-12-07 | 2019-08-28 | 한국과학기술연구원 | 양극성 전하저장 특성을 이용한 비휘발성 메모리 장치 및 프로그래밍 방법 |
US9984759B1 (en) | 2017-03-28 | 2018-05-29 | Macronix International Co., Ltd. | Detecting data integrity in memory systems |
US10146460B1 (en) | 2017-06-01 | 2018-12-04 | Apple Inc. | Programming schemes for avoidance or recovery from cross-temperature read failures |
JP6997595B2 (ja) * | 2017-11-09 | 2022-01-17 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置、及び半導体記憶装置の制御方法 |
CN108986865B (zh) * | 2018-06-29 | 2020-06-19 | 长江存储科技有限责任公司 | 非易失性存储系统及其读取方法 |
TWI797408B (zh) | 2018-12-28 | 2023-04-01 | 美商美光科技公司 | 具有改善之跨溫度可靠度與讀取性能之記憶體 |
CN110993007B (zh) * | 2019-12-09 | 2022-04-12 | 中国科学院微电子研究所 | 一种存储器的编程方法和编程系统 |
CN111276176A (zh) * | 2020-02-11 | 2020-06-12 | 上海威固信息技术股份有限公司 | 一种三维堆叠闪存单元阈值电压分布模型构建方法 |
US11776629B2 (en) | 2020-08-17 | 2023-10-03 | Micron Technology, Inc. | Threshold voltage based on program/erase cycles |
US11189355B1 (en) | 2020-08-25 | 2021-11-30 | Micron Technology, Inc. | Read window based on program/erase cycles |
US11392312B2 (en) | 2020-08-25 | 2022-07-19 | Micron Technology, Inc. | Read calibration based on ranges of program/erase cycles |
US11430528B2 (en) | 2020-08-25 | 2022-08-30 | Micron Technology, Inc. | Determining a read voltage based on a change in a read window |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
US11705206B2 (en) | 2021-08-17 | 2023-07-18 | Sandisk Technologies Llc | Modifying program and erase parameters for single-bit memory cells to improve single-bit/multi-bit hybrid ratio |
TWI792967B (zh) * | 2022-03-31 | 2023-02-11 | 旺宏電子股份有限公司 | 記憶體裝置及其字元線驅動器 |
US11875854B2 (en) | 2022-03-31 | 2024-01-16 | Macronix International Co., Ltd. | Memory device and word line driver thereof |
Family Cites Families (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930000869B1 (ko) * | 1989-11-30 | 1993-02-08 | 삼성전자 주식회사 | 페이지 소거 가능한 플래쉬형 이이피롬 장치 |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
KR950000273B1 (ko) * | 1992-02-21 | 1995-01-12 | 삼성전자 주식회사 | 불휘발성 반도체 메모리장치 및 그 최적화 기입방법 |
US5396459A (en) * | 1992-02-24 | 1995-03-07 | Sony Corporation | Single transistor flash electrically programmable memory cell in which a negative voltage is applied to the nonselected word line |
JP2968906B2 (ja) * | 1992-04-07 | 1999-11-02 | 三菱電機株式会社 | 不揮発性半導体記憶装置 |
KR960000616B1 (ko) * | 1993-01-13 | 1996-01-10 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치 |
JP3626221B2 (ja) * | 1993-12-13 | 2005-03-02 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP3181454B2 (ja) * | 1993-12-13 | 2001-07-03 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP3737525B2 (ja) | 1994-03-11 | 2006-01-18 | 株式会社東芝 | 半導体記憶装置 |
KR0142367B1 (ko) * | 1995-02-04 | 1998-07-15 | 김광호 | 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로 |
JPH08256473A (ja) | 1995-03-16 | 1996-10-01 | Toshiba Corp | 昇圧回路 |
JP3205484B2 (ja) * | 1995-05-23 | 2001-09-04 | シャープ株式会社 | 不揮発性半導体記憶装置 |
JP3980094B2 (ja) * | 1995-09-13 | 2007-09-19 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US5835935A (en) * | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
TW389909B (en) | 1995-09-13 | 2000-05-11 | Toshiba Corp | Nonvolatile semiconductor memory device and its usage |
KR0169418B1 (ko) * | 1995-10-30 | 1999-02-01 | 김광호 | 페이지 소거시 데이터의 자기 보존회로를 가지는 불휘발성 반도체 메모리 |
KR0172408B1 (ko) | 1995-12-11 | 1999-03-30 | 김광호 | 다수상태 불휘발성 반도체 메모리 및 그의 구동방법 |
JP3740212B2 (ja) * | 1996-05-01 | 2006-02-01 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
KR100225852B1 (ko) | 1996-12-16 | 1999-10-15 | 윤종용 | 불휘발성 반도체 메모리 장치의 번-인 독출방법 |
JPH10241388A (ja) * | 1996-12-29 | 1998-09-11 | Sony Corp | 電圧供給回路および半導体不揮発性記憶装置 |
KR100252476B1 (ko) * | 1997-05-19 | 2000-04-15 | 윤종용 | 플레이트 셀 구조의 전기적으로 소거 및 프로그램 가능한 셀들을 구비한 불 휘발성 반도체 메모리 장치및 그것의 프로그램 방법 |
JPH1139887A (ja) * | 1997-07-14 | 1999-02-12 | Sony Corp | 不揮発性半導体記憶装置 |
JPH1145986A (ja) | 1997-07-28 | 1999-02-16 | Sony Corp | 不揮発性半導体記憶装置 |
KR100284916B1 (ko) | 1997-07-29 | 2001-03-15 | 니시무로 타이죠 | 반도체 기억 장치 및 그 기입 제어 방법 |
JP3805867B2 (ja) * | 1997-09-18 | 2006-08-09 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
JPH11134888A (ja) * | 1997-10-27 | 1999-05-21 | Matsushita Electric Ind Co Ltd | デコーダ回路 |
US5953255A (en) * | 1997-12-24 | 1999-09-14 | Aplus Flash Technology, Inc. | Low voltage, low current hot-hole injection erase and hot-electron programmable flash memory with enhanced endurance |
US5912844A (en) * | 1998-01-28 | 1999-06-15 | Macronix International Co., Ltd. | Method for flash EEPROM data writing |
US6118705A (en) * | 1998-03-13 | 2000-09-12 | Atmel Corporation | Page mode erase in a flash memory array |
US6359810B1 (en) * | 1998-03-13 | 2002-03-19 | Atmel Corporation | Page mode erase in a flash memory array |
JP3389856B2 (ja) * | 1998-03-24 | 2003-03-24 | 日本電気株式会社 | 半導体装置 |
US6128224A (en) * | 1998-07-29 | 2000-10-03 | Motorola, Inc. | Method and apparatus for writing an erasable non-volatile memory |
US5995417A (en) * | 1998-10-20 | 1999-11-30 | Advanced Micro Devices, Inc. | Scheme for page erase and erase verify in a non-volatile memory array |
CN100359601C (zh) * | 1999-02-01 | 2008-01-02 | 株式会社日立制作所 | 半导体集成电路和非易失性存储器元件 |
KR100347866B1 (ko) * | 1999-03-08 | 2002-08-09 | 삼성전자 주식회사 | 낸드 플래시 메모리 장치 |
KR100295598B1 (ko) * | 1999-05-03 | 2001-07-12 | 윤종용 | 반도체 메모리 장치 및 그 장치의 디코더 |
US6552580B2 (en) * | 1999-05-24 | 2003-04-22 | Level One Communications Inc. | Bias technique for operating point control in multistage circuits |
JP4242006B2 (ja) * | 1999-06-23 | 2009-03-18 | 株式会社ルネサステクノロジ | チャージポンプ回路およびそれを用いた不揮発性半導体記憶装置 |
US6108241A (en) * | 1999-07-01 | 2000-08-22 | Micron Technology, Inc. | Leakage detection in flash memory cell |
US6111787A (en) * | 1999-10-19 | 2000-08-29 | Advanced Micro Devices, Inc. | Address transistion detect timing architecture for a simultaneous operation flash memory device |
JP3967537B2 (ja) * | 2000-10-30 | 2007-08-29 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7082056B2 (en) * | 2004-03-12 | 2006-07-25 | Super Talent Electronics, Inc. | Flash memory device and architecture with multi level cells |
TW540053B (en) * | 2000-07-13 | 2003-07-01 | Samsung Electronics Co Ltd | Row decoder of a NOR-type flash memory device |
FR2816751A1 (fr) * | 2000-11-15 | 2002-05-17 | St Microelectronics Sa | Memoire flash effacable par page |
JP2002184190A (ja) | 2000-12-11 | 2002-06-28 | Toshiba Corp | 不揮発性半導体記憶装置 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP3875570B2 (ja) * | 2001-02-20 | 2007-01-31 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法及び半導体記憶装置 |
US6732221B2 (en) * | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6671204B2 (en) * | 2001-07-23 | 2003-12-30 | Samsung Electronics Co., Ltd. | Nonvolatile memory device with page buffer having dual registers and methods of using the same |
US7042770B2 (en) * | 2001-07-23 | 2006-05-09 | Samsung Electronics Co., Ltd. | Memory devices with page buffer having dual registers and method of using the same |
US6522584B1 (en) * | 2001-08-02 | 2003-02-18 | Micron Technology, Inc. | Programming methods for multi-level flash EEPROMs |
US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6714457B1 (en) * | 2001-09-19 | 2004-03-30 | Aplus Flash Technology, Inc. | Parallel channel programming scheme for MLC flash memory |
KR100454119B1 (ko) * | 2001-10-24 | 2004-10-26 | 삼성전자주식회사 | 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들 |
JP2003141885A (ja) * | 2001-11-01 | 2003-05-16 | Toshiba Corp | 半導体装置 |
US6614711B2 (en) * | 2001-11-08 | 2003-09-02 | Micron Technology, Inc. | Row decoder scheme for flash memory devices |
AU2002366683A1 (en) | 2001-12-13 | 2003-06-23 | Koninklijke Philips Electronics N.V. | A device and method to read a 2-transistor flash memory cell |
JP3702229B2 (ja) * | 2002-01-16 | 2005-10-05 | 株式会社東芝 | 半導体記憶装置 |
US6894931B2 (en) * | 2002-06-20 | 2005-05-17 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
JP2004103202A (ja) | 2002-07-18 | 2004-04-02 | Renesas Technology Corp | 薄膜磁性体記憶装置 |
JP4086583B2 (ja) | 2002-08-08 | 2008-05-14 | シャープ株式会社 | 不揮発性半導体メモリ装置およびデータ書き込み制御方法 |
JP4270832B2 (ja) * | 2002-09-26 | 2009-06-03 | 株式会社東芝 | 不揮発性半導体メモリ |
ITMI20022240A1 (it) * | 2002-10-22 | 2004-04-23 | Atmel Corp | Architettura di memoria flash con cancellazione di modo |
US6847550B2 (en) * | 2002-10-25 | 2005-01-25 | Nexflash Technologies, Inc. | Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor |
JP3866650B2 (ja) * | 2002-11-29 | 2007-01-10 | 株式会社東芝 | 不揮発性半導体記憶装置及びその消去ベリファイ方法 |
KR100514415B1 (ko) * | 2003-01-22 | 2005-09-09 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리의 페이지 버퍼 |
US6859397B2 (en) * | 2003-03-05 | 2005-02-22 | Sandisk Corporation | Source side self boosting technique for non-volatile memory |
JP2004348789A (ja) * | 2003-05-20 | 2004-12-09 | Sharp Corp | 半導体記憶装置及び携帯電子機器 |
US6947331B1 (en) * | 2003-06-16 | 2005-09-20 | National Semiconductor Corporation | Method of erasing an EEPROM cell utilizing a frequency/time domain based erased signal |
US6914823B2 (en) * | 2003-07-29 | 2005-07-05 | Sandisk Corporation | Detecting over programmed memory after further programming |
JP4315767B2 (ja) * | 2003-09-04 | 2009-08-19 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
JP4287235B2 (ja) * | 2003-10-09 | 2009-07-01 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR100562134B1 (ko) * | 2004-01-09 | 2006-03-21 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 페이지 버퍼 |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
JP4405405B2 (ja) * | 2004-04-15 | 2010-01-27 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR100575336B1 (ko) * | 2004-04-20 | 2006-05-02 | 에스티마이크로일렉트로닉스 엔.브이. | 듀얼 레지스터를 갖는 페이지 버퍼, 이를 구비한 반도체메모리 장치 및 그의 프로그램 방법 |
JP4427382B2 (ja) | 2004-04-28 | 2010-03-03 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7038945B2 (en) * | 2004-05-07 | 2006-05-02 | Micron Technology, Inc. | Flash memory device with improved programming performance |
KR100567912B1 (ko) * | 2004-05-28 | 2006-04-05 | 주식회사 하이닉스반도체 | 플래시 메모리 장치의 페이지 버퍼 및 이를 이용한 데이터프로그램 방법 |
JP4256305B2 (ja) | 2004-06-09 | 2009-04-22 | 株式会社東芝 | 半導体記憶装置 |
US7251158B2 (en) * | 2004-06-10 | 2007-07-31 | Spansion Llc | Erase algorithm for multi-level bit flash memory |
US7148742B2 (en) | 2004-07-07 | 2006-12-12 | Micron Technology, Inc. | Power supply voltage detection circuitry and methods for use of the same |
KR100609568B1 (ko) * | 2004-07-15 | 2006-08-08 | 에스티마이크로일렉트로닉스 엔.브이. | 비휘발성 메모리 장치의 페이지 버퍼 및 이를 이용한프로그램 방법과 독출 방법 |
US7272050B2 (en) * | 2004-08-10 | 2007-09-18 | Samsung Electronics Co., Ltd. | Non-volatile memory device and erase method of the same |
JP2006164408A (ja) * | 2004-12-08 | 2006-06-22 | Toshiba Corp | 不揮発性半導体記憶装置及びそのデータ消去方法。 |
JP4768256B2 (ja) | 2004-12-16 | 2011-09-07 | 株式会社東芝 | 半導体記憶装置 |
KR100585628B1 (ko) * | 2005-01-24 | 2006-06-07 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치의 프로그램 구동방법 |
KR100672122B1 (ko) * | 2005-03-10 | 2007-01-19 | 주식회사 하이닉스반도체 | 소비 전력이 감소된 플래시 메모리 장치의 페이지 버퍼 회로 |
JP4928752B2 (ja) | 2005-07-14 | 2012-05-09 | 株式会社東芝 | 半導体記憶装置 |
EP1746604B1 (en) * | 2005-07-22 | 2009-02-04 | STMicroelectronics S.r.l. | Method for accessing a multilevel nonvolatile memory device of the flash NAND type |
JP4828938B2 (ja) * | 2005-12-28 | 2011-11-30 | 株式会社東芝 | 不揮発性半導体記憶装置及びその駆動方法 |
US7561472B2 (en) * | 2006-09-11 | 2009-07-14 | Micron Technology, Inc. | NAND architecture memory with voltage sensing |
US7593259B2 (en) * | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
KR20070057716A (ko) * | 2007-04-02 | 2007-06-07 | 김경섭 | 멀티 레벨 셀을 갖는 플래시 메모리 장치의 프로그램 방법 |
ITRM20070273A1 (it) * | 2007-05-16 | 2008-11-17 | Micron Technology Inc | Lettura di celle di memoria non volatile a livello mutiplo. |
-
2007
- 2007-06-13 US US11/762,330 patent/US7593259B2/en active Active
- 2007-09-12 KR KR1020137027928A patent/KR20130125839A/ko not_active Application Discontinuation
- 2007-09-12 CN CN201310460506.6A patent/CN103531238A/zh active Pending
- 2007-09-12 ES ES07815815T patent/ES2404831T3/es active Active
- 2007-09-12 EP EP07815815A patent/EP2064707B1/en active Active
- 2007-09-12 KR KR1020097007534A patent/KR101515645B1/ko active IP Right Grant
- 2007-09-12 CN CN2007800341184A patent/CN101517652B/zh active Active
- 2007-09-12 JP JP2009527662A patent/JP2010503944A/ja active Pending
- 2007-09-12 CA CA002659872A patent/CA2659872A1/en not_active Abandoned
- 2007-09-12 EP EP11009492.7A patent/EP2426668B1/en active Active
- 2007-09-12 WO PCT/CA2007/001621 patent/WO2008031217A1/en active Application Filing
- 2007-09-12 ES ES11009492.7T patent/ES2448417T3/es active Active
- 2007-09-12 KR KR1020147005613A patent/KR20140033255A/ko not_active Application Discontinuation
- 2007-09-13 TW TW103132394A patent/TW201503139A/zh unknown
- 2007-09-13 TW TW096134279A patent/TWI462102B/zh active
-
2009
- 2009-05-11 US US12/463,759 patent/US7821827B2/en active Active
-
2010
- 2010-09-17 US US12/884,939 patent/US8102708B2/en active Active
-
2011
- 2011-12-16 US US13/328,762 patent/US8462551B2/en active Active
-
2013
- 2013-05-13 US US13/892,743 patent/US8711621B2/en active Active
- 2013-09-30 JP JP2013203787A patent/JP2013257938A/ja active Pending
-
2014
- 2014-03-13 US US14/208,812 patent/US9263146B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US7593259B2 (en) | 2009-09-22 |
KR101515645B1 (ko) | 2015-04-27 |
US20140192593A1 (en) | 2014-07-10 |
US8102708B2 (en) | 2012-01-24 |
US20110007564A1 (en) | 2011-01-13 |
US9263146B2 (en) | 2016-02-16 |
JP2010503944A (ja) | 2010-02-04 |
US8462551B2 (en) | 2013-06-11 |
US8711621B2 (en) | 2014-04-29 |
CN101517652A (zh) | 2009-08-26 |
EP2426668A1 (en) | 2012-03-07 |
CA2659872A1 (en) | 2008-03-20 |
KR20140033255A (ko) | 2014-03-17 |
WO2008031217A1 (en) | 2008-03-20 |
TWI462102B (zh) | 2014-11-21 |
US20130242653A1 (en) | 2013-09-19 |
KR20130125839A (ko) | 2013-11-19 |
TW200836202A (en) | 2008-09-01 |
US20120087193A1 (en) | 2012-04-12 |
TW201503139A (zh) | 2015-01-16 |
EP2064707A4 (en) | 2009-11-11 |
US20080062760A1 (en) | 2008-03-13 |
US20090225595A1 (en) | 2009-09-10 |
KR20090074763A (ko) | 2009-07-07 |
EP2064707A1 (en) | 2009-06-03 |
CN101517652B (zh) | 2013-10-23 |
CN103531238A (zh) | 2014-01-22 |
EP2426668B1 (en) | 2014-01-08 |
JP2013257938A (ja) | 2013-12-26 |
EP2064707B1 (en) | 2013-04-03 |
ES2404831T3 (es) | 2013-05-29 |
US7821827B2 (en) | 2010-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2448417T3 (es) | Esquema de distribución con umbral multinivel flash | |
JP5266393B2 (ja) | 最も速いおよび/または最も遅いプログラミングビットを無視することによってプログラムベリファイを削減する不揮発性メモリおよび方法 | |
US9324418B2 (en) | Nonvolatile memory and method for improved programming with reduced verify | |
KR20110051206A (ko) | 비휘발성 메모리와 램프-다운 프로그래밍 방법 | |
KR20070057716A (ko) | 멀티 레벨 셀을 갖는 플래시 메모리 장치의 프로그램 방법 | |
JP4004527B2 (ja) | 多状態eepromの読み書き回路 |