ES2448417T3 - Esquema de distribución con umbral multinivel flash - Google Patents

Esquema de distribución con umbral multinivel flash Download PDF

Info

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
Application number
ES11009492.7T
Other languages
English (en)
Inventor
Jin-Ki Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Application granted granted Critical
Publication of ES2448417T3 publication Critical patent/ES2448417T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel 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)

  1. REIVINDICACIONES
    1. 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. 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. 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. 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. 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. 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, donde
    la 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, o
    programar 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. 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. 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. 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, o
    el segundo estado de celda corresponde a un estado de borrado.
  10. 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 rango
    10 de voltaje umbral mayor que el primer rango de voltaje umbral.
  11. 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; y
    15 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. 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 memoria
    20 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. 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 por
    un 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 voltaje
    Controla línea de palabra seleccionada a voltaje deref. de dominio de borrado
    Controla líneas de palabra no seleccionadas a voltaje de lectura
    Detecta línea de bits
    Lee otros estados
    Datos de salida
    Figura 15
ES11009492.7T 2006-09-13 2007-09-12 Esquema de distribución con umbral multinivel flash Active ES2448417T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.

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の読み書き回路