DE60214023T2 - Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus - Google Patents
Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus Download PDFInfo
- Publication number
- DE60214023T2 DE60214023T2 DE60214023T DE60214023T DE60214023T2 DE 60214023 T2 DE60214023 T2 DE 60214023T2 DE 60214023 T DE60214023 T DE 60214023T DE 60214023 T DE60214023 T DE 60214023T DE 60214023 T2 DE60214023 T2 DE 60214023T2
- Authority
- DE
- Germany
- Prior art keywords
- threshold level
- threshold
- states
- blocks
- memory cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Non-Volatile Memory (AREA)
- Static Random-Access Memory (AREA)
- Semiconductor Memories (AREA)
Description
- Diese Erfindung bezieht sich allgemein auf einen nichtflüchtigen Speicher und seinen Betrieb sowie spezifischer auf Techniken, um einen Mehrzustandspeicher in einer geringeren Anzahl von seinen zum Betrieb tauglichen Zuständen selektiv zu betreiben.
- Die Grundsätze der vorliegenden Erfindung haben Anwendung auf verschiedene Typen von nichtflüchtigen Speichern. Auf diejenigen, die zurzeit existieren und auf diejenigen, die dazu vorgesehen sind, neue Technologien zu verwenden, welche entwickelt werden. Implementierungen der vorliegenden Erfindung werden jedoch in Bezug auf einen Flash elektrisch löschbaren, programmierbaren Nur-Lese-Speicher (EEPROM) beschrieben, wobei die Speicherelemente beispielsweise Floating Gates sind.
- Bei derzeitigen kommerziellen Produkten ist es bei jedem Floating Gate Speicherelement eines Flash EEPROM Arrays üblich, ein einzelnes Bit Daten bei einem Betrieb in einem binären Modus zu speichern, wobei zwei Bereiche von Schwellenpegeln der Floating Gate Transistoren als Speicherpegel definiert werden. Die Schwellenpegel eines Floating Gate Transistors entsprechen Bereichen von Ladungspegeln, welche auf ihren Floating Gates gespeichert werden. Neben dem Verringern der Größe des Speicherarrays besteht ferner die Tendenz, die Dichte der Datenspeicherung solcher Speicherarrays durch Speichern von mehr als einem Bit Daten in jedem Floating Gate Transistor zu erhöhen. Dies wird durch Definieren von mehr als zwei Schwellenpegeln als Speicherzustände für jeden Floating Gate Transistor erreicht, wobei vier solcher Zustände (2 Bit Daten pro Floating Gate Speicherelement) nun in kommerziellen Produkte einbezogen werden. Mehr Speicherzustände, so wie beispielsweise 16 Zustände pro Speicherelement, werden in Erwägung gezogen. Jeder Floating Gate Speichertransistor hat einen bestimmten Gesamtbereich (Fenster) von Schwellenspannungen, in welchem dieser praktisch betrieben werden kann, und dieser Bereich ist in die dafür definierte Anzahl von Zuständen unterteilt zuzüglich Rändern zwischen den Zuständen, um zu gewährleisten, diese klar voneinander zu unterscheiden.
- Da die Anzahl von Zuständen, welche in jeder Speicherzelle gespeichert werden, zunimmt, nimmt die Toleranz bezüglich jeglicher Verschiebung des programmierten Ladungspegels auf den Floating Gate Speicherelementen ab. Da die Bereiche der für jeden Speicherzustand vorgesehene Ladung notwendigerweise schmaler und näher zusammenliegend gebildet werden müssen, wenn die Anzahl der in jedem Speicherzellenspeicherelement gespeicherten Zuständen zunimmt, muss die Programmierung mit einem erhöhten Präzisionsgrad durchgeführt werden und das Ausmaß jeglicher Post-Programmierverschiebungen der gespeicherten Ladungspegel, entweder wirkliche oder scheinbare Verschiebungen, welche toleriert werden können, nimmt ab. Wirkliche Verschiebungen der in einer Zelle gespeicherten Ladung können gestört werden, wenn der Zustand dieser Zelle und wenn andere Zellen gelesen, programmiert und gelöscht werden, welche einen elektrischen Kopplungsgrad mit dieser Zelle aufweisen, sowie diejenigen in derselben Spalte oder Reihe sowie jene, welche eine Leitung oder Knoten teilen.
- Scheinbare Verschiebungen der gespeicherten Ladung kommen aufgrund von Feldkopplungen zwischen Speicherelementen vor. Der Grad dieser Kopplung nimmt notwendigerweise zu, wenn die Größe der Speicherzellenarrays infolge Verbesserungen der Produktionstechnik integrierter Schaltkreise verringert werden. Dieses Problem tritt am deutlichsten zwischen zwei Sätzen angrenzender Zellen auf, welche zu verschiedenen Zeiten programmiert worden sind. Ein Satz Zellen wird zum Hinzufügen eines Ladungspegels auf ihren Floating Gates programmiert, welcher einem Datensatz entspricht. Nachdem der zweite Satz Zellen mit einem zweiten Datensatz programmiert wird, scheinen die von den Floating Gates des ersten Satzes Zellen gelesen Ladungspegel aufgrund der Wirkung der Ladung auf den zweiten Satz Floating Gates, welche mit dem ersten gekoppelt sind, sich häufig von den programmierten zu unterscheiden. Dies ist als Yupin-Effekt bekannt und wird in US Patenten 5,867,429 und 5,930,167 beschrieben, wobei diese Patente hierin in ihrer Gesamtheit durch Bezugnahme eingebunden werden. Diese Patente beschreiben entweder physikalisches Isolieren der zwei Sätze Floating Gates voneinander oder ziehen die Wirkung der Ladung auf den zweiten Satz von Floating Gates in Betracht, wenn die des ersten Satzes gelesen wird. Ferner beschreibt US Patent 5,930,167 Verfahren zum selektiven Programmieren von Teilen eines Mehrzustandspeichers als Cache-Speicher in nur zwei Zuständen oder mit einem reduzierten Rand, um die notwendige Zeit zum anfänglichen Programmieren der Daten zu verkürzen. Diese Daten werden später gelesen und in dem Speicher in mehr als zwei Zuständen oder mit einem vergrößerten Rand re-programmiert. Beispiele solcher Arrays und deren Verwendung in Speichersystemen sind in US Patenten 5,095,344, 5,172,338, 5,602,987, 5,663,901, 5,430,859, 5,657,332, 5,712,180, 5,890,192 und 6,151,248 sowie in US Anmeldungen 09/505,555 und 09/67,344 angeführt. Es wird auch auf die Internationale Patentveröffentlichung WO 01/63614 Bezug genommen, welche einen Speicherbaustein offenbart, welcher eine Mehrzahl von Speicherzellen in zumindest zwei Gruppen gruppiert, wobei jede Zelle dazu imstande ist, in zumindest zwei Modi programmiert zu werden.
- Ein NAND Array einer Bauart weist mehrere Speicherzellen, wie zum Beispiel 8, 16 oder sogar 32 auf, welche in einem Strang zwischen einer Bitleitung und einem Bezugspotential durch Select Transistoren an jedem Ende miteinander verbunden sind.
- Wortleitungen sind mit Control Gates von Zellen in verschiedenen Strängen verbunden. Relevante Beispiele solcher Arrays und deren Betrieb werden in den US Patenten 5,570,315, 5,774,397 und 6,046,935 angeführt. In Kürze: Zwei Bit Daten von unterschiedlichen logischen Seiten von eingehenden Daten werden in einen von vier Zuständen der individuellen Zellen in zwei Schritten programmiert. Zuerst wird eine Zelle in einen Zustand gemäß einem Bit Daten programmiert und wenn die Daten es dann notwendig machen wird dann diese Zelle in einen anderen seiner Zustände gemäß dem zweiten Bit eingehender Daten re-programmiert.
- Eine andere potentiell nachteilige Auswirkung, die Anzahl der Programmierzustände der individuellen Speicherzellen zu erhöhen, besteht in einer Reduzierung der Lebensdauer der Speicherzellen im Hinblick auf die Anzahl der Lösch/Programmier-Zyklen, welche sie überstehen können. Dies beruht auf der höheren Präzision der Programmierung, welche zum Programmieren erforderlich ist, um mehrere Zustände in einer Zelle zu speichern. Aufgrund der Ladung, welche in Dielektrika nach wiederholender Verwendung eingefangen wird, sowie aufgrund anderer Faktoren kann es eine längere Zeit zum Programmieren erfordern und es kann schwieriger sein, im Mehrzustand mit der notwendigen hohen Präzision zu arbeiten, nachdem die Speicherzellen eine große Anzahl von Zyklen durchlaufen haben.
- Die vorliegende Erfindung richtet sich auf ein Verfahren, um eine Mehrzahl von Blöcken von nichtflüchtigen Speicherzellen in entweder zumindest vier Schwellenpegelzuständen oder in genau zwei Schwellenpegelzuständen kontrollierbar zu betreiben, wobei diese zumindest vier Schwellenpegelzustände über einem Betriebsschwellenfenster einer Speicherzelle voneinander getrennt sind. Dies betrifft auch ein Speichersystem umfassend eine Mehrzahl von Blöcken nichtflüchtiger Speicherzellen, welche auf diese Weise programmiert werden können. Gemäß der Erfindung wird zumindest einer aus dieser Vielzahl von Blöcken von Speicherzellen anfangs in zumindest vier dieser Schwellenpegelzustände betrieben, bis seine Verwendung eine Ermüdungsgrenze einer Anzahl von Lösch/Programmier-Zyklen erreicht, woraufhin dieser zumindest eine Block danach in diesen genau zwei Schwellenpegelzuständen, welche im Wesentlichen mit zwei dieser zumindest vier Schwellenpegelzuständen übereinstimmen, welche maximal voneinander getrennt sind, betrieben wird.
- In der Praxis der Erfindung werden in einer Ausgestaltung normalerweise zumindest vier Zustände in jedes Speicherzellenspeicherelement programmiert, wobei zumindest zwei Bit pro Zelle gespeichert werden, aber mit der Vorkehrung, weniger Zustände pro Speicherelement bei einer ausgewählten Grundlage zu speichern, wenn es notwendig oder wünschenswert ist, die Programmierleistung zu verbessern oder die Lebensdauer eines Teils des Speichers hinsichtlich der Anzahl der Lösch- und Programmier-Zyklen, welche überstanden werden können, oder um einen anderen Vorteil zu erhalten. Zumindest werden normalerweise vier Zustände in einer Speicherzelle durch Programmieren des Speicherelements der Zelle in einen von zumindest vier Schwellenpegelbereichen zur Verfügung gestellt, welche über das Betriebsfenster von Schwellenpegeln voneinander getrennt sind. Wenn zur Speicherung von nur zwei Zuständen geschaltet wird, als Beispiel weniger Zustände als normal zu speichern, werden zwei der zumindest vier Schwellenpegelbereiche verwendet, welche am weitesten voneinander getrennt sind. Beim Implementieren in den Vier-Zustand NAND-Typ des oben beschrieben Speichers werden Bits von nur einer Seite auf einmal in die zwei Schwellenpegelzustände programmiert, welche voneinander durch den maximalen Betrag getrennt sind. Die Programmierung wird von vier auf zwei Zustände in einer ausgewählten Gruppe von Speicherzellen durch einfaches Auslösen des Schritts, die Programmierung des zweiten Seitendatenbits für die ausgewählten Zellen auszulassen, geschaltet.
- Zusätzliche Merkmale, Vorteile und Anwendungen der Erfindung werden aus der folgenden Beschreibung beispielhafter Ausgestaltungen ersichtlich. Die Beschreibung sollte in Zusammenhang mit den beiliegenden Zeichnungen betrachtet werden, worin:
-
1 ist ein Blockdiagramm eines nichtflüchtigen Speichersystems, in welchem die verschiedenen Aspekte zum Implementieren der vorliegenden Erfindung beschrieben werden, -
2 stellt einen existierenden Schaltkreis sowie eine Organisierung des Speicherarrays aus1 bei einem NAND Typ dar, -
3 zeigt eine Schnittansicht entlang einer Spalte eines NAND Typs eines auf einem Halbleitersubstrat gebildeten Speicherarrays, -
4 ist eine Schnittansicht des Speicherarrays aus3 entlang der Schnittlinie 4-4, -
5 ist eine Schnittansicht des Speicherarrays aus3 entlang der Schnittlinie 5-5, -
6 stellt Tabelle 1 als Beispiel für Betriebsspannungen des NAND Speicherzellenarrays aus2 –5 zur Verfügung, -
7 stellt ein anderes Merkmal des NAND Speicherzellenarrays aus2 –5 dar, -
8 zeigt ein Beispiel einer existierenden Verteilung von Schwellenspannungen des NAND Speicherzellenarrays aus2 –5 , wenn dieses in vier Zuständen betrieben wird, -
9 zeigt ein Beispiel eines Programmierspannungssignals, welches im Speicherzellenarray aus2 –5 verwendet werden kann, -
10A und10B sind Schwellenspannungsverteilungen, welche eine Mehrzustandtechnik zum Programmieren des Speicherzellenarrays aus2 –5 veranschaulicht, -
11 bildet die Verteilungen der Mehrzustand-Spannungsschwellenpegel aus10A und10B mit hinzugefügten Lese- und Prüfbezugsspannungen nach und -
12 zeigt Verteilungen von Spannungsschwellenpegeln von Speicherzellen des Arrays aus2 –5 wenn diese in zwei Zuständen programmiert sind. - Beispiele nichtflüchtiger Speichersysteme
- Mit Bezug auf
1 –7 wird ein besonderes nichtflüchtiges Speichersystem beschrieben, in welchem die verschiedenen Aspekte der vorliegenden Erfindung implementiert sind, um besondere Beispiele zur Verführung zu stellen.1 ist ein Blockdiagramm eines Flash-Speichersystems. Speicherzellenarray1 umfassend eine Mehrzahl von in einer Matrix angeordneten Speicherzellen M, welche von einem Spaltenkontrollschaltkreis2 , einem Reihenkontrollschaltkreis3 , einem c-Source-Kontrollschaltkreis4 und einem c-p-well-Kontrollschaltkreis5 kontrolliert werden. Der Spaltenkontrollschaltkreis2 ist mit Bitleitungen (BL) des Speicherzellenarrays1 verbunden, um in Speicherzellen (M) gespeicherte zu Daten zu lesen, einen Zustand der Speicherzellen (M) während einer Programmier-Operation zu bestimmen sowie Potentialpegel der Bitleitungen (BL) zu kontrollieren, um die Programmierung freizuschalten oder die Programmierung zu sperren. Der Reihenkontrollschaltkreis3 ist mit Wortleitungen (WL) verbunden, um eine der Wortleitungen (WL) auszuwählen, um eine Lesespannung anzuwenden, um eine Programmierspannung anzuwenden, welche mit den durch den Spaltenkontrollschaltkreis2 kontrollierten Bitleitungs-Potentialen verbunden ist, sowie um eine Löschspannung anzuwenden, welche mit einer Spannung eines p-Typ-Gebiets gekoppelt ist (als "c-p-well"21 in3 beschriftet), auf welchem die Speicherzellen (M) gebildet werden. Der c-Source-Kontrollschaltkreis4 kontrolliert eine gemeinsame Source-Leitung (als "c-Source" in2 beschriftet), welche mit den Speicherzellen (M) verbunden sind. Der c-p-well-Kontrollschaltkreis kontrolliert die c-p-well-Spannung. - Die in den Speicherzellen (M) gespeicherten Daten werden durch den Spaltenkontrollschaltkreis
2 ausgelesen und werden zu externen I/O-Leitungen über eine I/O-Leitung und einem Eingabe/Ausgabe-Datenpuffer6 ausgegeben. In den Speicherzellen zu speichernde Programmierdaten sind Input zum Eingabe/Ausgabe-Datenpuffer6 über die externen I/O-Leitungen und werden zum Spaltenkontrollschaltkreis2 transferiert. Die externen I/O-Leitungen sind mit einem Controller20 verbunden. - Befehlsdaten zum Kontrollieren des Flash-Speicherbausteins sind Input in eine Befehls-Schnittstelle, welche mit dem Controller
20 verbundenen externen Kontrollleitungen verbunden sind. Die Befehlsdaten teilen dem Flash-Speicher mit, welche Operation angefordert wird. Der Eingangsbefehl wird zu einer State Machine8 übertragen, welche den Spaltenkontrollschaltkreis2 , den Reihenkontrollschaltkreis3 , den c-Source-Kontrollschaltkreis4 , den c-p-well-Kontrollschaltkreis5 sowie den Eingabe/Ausgabe-Datenpuffer6 kontrolliert. Die State Machine8 kann Statusdaten des Flash-Speichers wie READY/BUSY oder PASS/FAIL ausgeben. - Der Controller
20 ist oder kann mit einem Host-System verbunden werden wie zum Beispiel mit einem Arbeitsplatzrechner, einer Digitalkamera oder einem Minicomputer. Es ist der Host, der Befehle auslöst, wie beispielsweise Daten im Speicherarray1 zu speichern oder daraus auszulesen und stellt solche Daten zur Verfügung beziehungsweise empfängt diese. Der Controller wandelt solche Befehle in Befehlssignale um, welche von den Befehlsschaltkreisen7 interpretiert und ausgeführt werden können. Der Controller enthält üblicherweise auch Pufferspeicher für die in das Speicherarray zu schreibende oder aus dem Speicherarray zu lesen Daten. Ein typisches Speichersystem umfasst einen integrierten Schaltungschip21 , welcher den Controller20 und einen oder mehrere integrierte Schaltungschips22 umfasst, welche jeweils ein Speicherarray und damit verbundene Kontroll-, Eingabe/Ausgabe- und State Machine-Schaltkreise enthält. Die Tendenz besteht natürlich darin, das Speicherarray und die Kontrollschaltkreise eines Systems zusammen auf einem oder mehreren integrierten Schaltungschips zu integrieren. Das Speichersystem kann als ein Teil des Host-Systems eingebettet werden oder kann in einer Speicherkarte enthalten sein, welche in einen Verbindungssockel von Host-Systemen herausnehmbar einsetzbar ist. Solch eine Karte kann das komplette Speichersystem oder den Controller und das Speicherarray mit zugehörigen externen Schaltkreisen umfassen und kann in getrennten Karten zur Verfügung gestellt werden. - Mit Bezug auf
2 wird eine beispielhafte Struktur des Speicherzellenarrays1 beschrieben. Ein Flash EEPROM eines NAND-Typs wird als Beispiel beschrieben. In einem spezifischen Beispiel sind die Speicherzellen (M) in 1.024 Blöcke unterteilt. Die in jedem Block gespeicherten Daten werden gleichzeitig gelöscht. Der Block ist somit die Mindesteinheit einer Anzahl von Zellen, welche gleichzeitig löschbar sind. In diesem Beispiel sind in jedem Block 8.512 Spalten enthalten, welche in gerade Spalten und ungerade Spalten unterteilt sind. Die Bitleitungen sind auch in gerade Bitleitungen (BLe) und ungerade Bitleitungen (BLo) unterteilt. Vier mit den Wortleitungen (WL0 zu WL3) verbundene Speicherzellen sind an jeder Gate Elektrode in Reihe verbunden um eine NAND Zelleinheit zu bilden. Ein Anschluss der NAND Zelleinheit ist mit der entsprechenden Bitleitung (BL) über einen ersten Select Transistor (S) verbunden, dessen Gate Elektrode mit einer ersten Select Gate Leitung (SGD) gekoppelt ist und ein anderer Anschluss ist mit der C-Source über einen zweiten Select Transistor (S) verbunden, dessen Gate Elektrode mit einer zweiten Select Gate Leitung (SGS) gekoppelt ist. Obwohl vier Floating Gate Transistoren in jeder Zelleinheit enthalten sind, wird für die Einfachheit eine höhere Anzahl von Transistoren, wie beispielsweise 8, 16 oder sogar 32 verwendet. - In diesem Beispiel werden während einer Lese- und Programmieroperation von Nutzdaten 4.256 Zellen (M) gleichzeitig ausgewählt. Die ausgewählten Zellen (M) haben dieselbe Wortleitung (WL), zum Beispiel WL2, und dieselbe Art Bitleitungen (BL), wie zum Beispiel die geraden Bitleitungen BLe0 bis BLe4255. Deshalb können 532 Bytes Daten gleichzeitig gelesen oder programmiert werden. Diese gleichzeitig gelesenen oder programmierten 532B Daten bilden eine "Seite" logisch. Deshalb kann ein Block zumindest acht Seiten speichern. Wenn jede Speicherzelle (M) zwei Bit Daten speichert, nämlich eine Mehrfachpegelzelle, speichert ein Block
16 Seiten im Fall von zwei Bit pro Zellenspeicherung. In dieser Ausgestaltung speichert das Speicherelement von jeder der Speicherzellen. In diesem Fall speichert das Floating Gate von jeder der Speicherzellen, zwei Bit Nutzdaten. -
3 zeigt eine Schnittansicht einer NAND Zelleinheit des Typs, welcher schematisch in2 in Richtung der Bitleitung (BL) gezeigt ist. An einer Oberfläche eines p-leitenden Halbleitersubstrats9 ist ein p-leitende Gebiet c-p-well11 gebildet, wobei der c-p-well durch ein n-leitendes Gebiet10 eingeschlossen ist, um den c-p-well vom p- leitenden Substrat elektrisch zu isolieren. Das n-leitende Gebiet10 ist mit einer c-p-well-Leitung, welche aus einem ersten Metall MO besteht, über ein erstes Kontaktloch (CB) und eine n-leitende Diffusionsschicht12 verbunden. Das p-leitende Gebiet c-p-well11 ist auch mit der c-p-well-Leitung über das erste Kontaktloch (CB) und eine p-leitende Diffusionsschicht13 verbunden. Die c-p-well-Leitung ist mit dem c-p-well-Kontrollschaltkreis5 (1 ) verbunden. - Jede Speicherzelle hat ein Floating Gate (FG), welches einen Betrag der elektrischen Ladung entsprechend den in der Zelle gespeicherten Daten speichert, wobei die Wortleitung (WL) die Gate Elektrode bildet und die Drain und Source Elektroden aus der p-leitendenDiffusionsschicht
12 gebildet werden. Das Floating Gate (FG) ist auf der Oberfläche des c-p-well über einen Tunnel-Oxidfilm (14 ) gebildet. Die Wortleitung (WL) ist auf dem Floating Gate (FG) über einen Isolationsfilm (15 ) gestapelt. Die Source Elektrode ist mit der gemeinsamen Source-Leitung (c-source) verbunden, welche aus dem ersten Metall (MO) über den zweiten Select Transistor (S) und dem ersten Kontaktloch (CB) gebildet ist. Die gemeinsame Source-Leitung ist mit dem c-Source-Kontrollschaltkreis (4 ) verbunden. Die Drain Elektrode ist mit der Bitleitung (BL) verbunden, welche aus einem zweiten Metall (M1) gebildet wird, welche über den ersten Select Transistor (S), das erste Kontaktloch (CB), eine Zwischenverdrahtung des ersten Metalls (MO) und einem zweiten Kontaktloch (V1) verbunden ist. Die Bitleitung ist mit dem Spaltenkontrollschaltkreis (2 ) verbunden. -
4 und5 zeigen Schnittansichten entlang einer Speicherzelle (Schnittlinie 4-4 in3 ) beziehungsweise eines Select Transistors (Schnittlinie 5-5 in3 ) in Richtung der Wortleitung (WL2). Jede Spalte ist von den benachbarten Spalten durch einen Graben isoliert, welcher im Substrat gebildet ist und mit Isolationsmaterial gefüllt ist, was als Shallow Trench Isolation (STI) bekannt ist. Die Floating Gates (FG) sind voneinander durch den STI und Isolationsfilm15 sowie Wortleitung (WL) isoliert. Heutzutage ist ein Abstand zwischen dem Floating Gate (FG) im Begriff weniger als 0,1 μm zu werden und eine kapazitive Kopplung zwischen den Floating Gates hat zugenommen. Da die Gate Elektrode (SG) des Select Transistors (S) in den selben Herstellungsprozessschritten wie das Floating Gate (FG) und die Wortleitung (WL) gebildet wird, zeigt es eine gestapelte Gate Struktur. Diese zwei Select Gate Leitungen (SG) sind am Ende der Leitungen parallel geschaltet. - Tabelle I in
6 fasst Spannungen zusammen, welche dazu verwendet werden, das Speicherzellenarray1 zu betreiben, wobei in einem spezifischen Beispiel jedes Floa ting Gate der Speicherzellen zwei Bit speichert und einen der Zustände "11", "10", "01", "00" aufweist. Diese Tabelle zeigt den Fall, bei dem die Wortleitung "WL2" und die Bitleitungen "BLe" zum Lesen und Programmieren ausgewählt sind. Durch Erhöhen von c-p-well zu einer Löschspannung von 20V und Erden der Wortleitungen (WL) eines ausgewählten Blocks sind die Daten des ausgewählten Blocks gelöscht. Da alle Wortleitungen (WL) der nicht ausgewählten Blöcke, Bitleitungen (BL), Select-Leitungen (SG) und c-Source in einen floating Zustand gesetzt werden, werden diese aufgrund einer kapazitiven Kopplung mit dem c-p-well fast auch bis zu 20V erhöht. Deshalb wird ein starkes elektrisches Feld nur auf die Tunnel-Oxidfilme14 (4 und5 ) der ausgewählten Speicherzellen (M) angewendet und die Daten der ausgewählten Speicherzellen werden gelöscht, weil ein Tunnel-Strom über den Tunnel-Oxidfilm14 fließt. Die gelöschte Zelle ist in diesem Beispiel in einem der vier möglichen programmierten Zustände, nämlich "11". - Um Elektronen im Floating Gate (FG) während einer Programmieroperation zu speichern, ist die ausgewählte Wortleitung mit WL2 mit einem Programmier-Puls Vpgm verbunden und die ausgewählten Bitleitungen BLe sind geerdet. Um andererseits die Programmierung der Speicherzellen (M) zu sperren, in denen die Programmierung nicht stattfinden soll, sind die entsprechenden Bitleitungen BLe sowie die nicht ausgewählten Bitleitungen BLo mit Vdd, zum Beispiel 3V, einer Spannungsversorgung verbunden. Die nicht ausgewählten Wortleitungen WL0, WL1 und WL3 sind mit 10V verbunden, das erste Select Gate (SGD) ist mit Vdd verbunden und das zweite Select Gate (SGS) ist geerdet. Infolgedessen wird ein Kanalpotential der Speicherzelle (M), welche programmiert wird, auf 0V gesetzt. Das Kanalpotential bei der Hemmung der Programmierung wird auf ungefähr 6V infolge des Heraufziehen des Kanalpotentials durch die kapazitive Kopplung mit den Wortleitungen (WL) erhöht. Wie oben erklärt wird nur während der Programmierung an den Tunnel-Oxidfilmen
14 der Speicherzellen (M) ein starkes elektrisches Feld angewendet und der Tunnel-Strom fließt über den Tunnel-Oxidfilm14 in der entgegengesetzten Richtung im Vergleich zum Löschen und dann wird der logische Zustand von "11" zu einem der anderen Zustände "10", "01, oder "00" verändert. - Bei den Lese- und Prüf-Operationen werden die Select Gates (SGD und SGS) und die nicht ausgewählten Wortleitungen (WL0, WL1 und WL3) auf eine Read Pass Spannung von 4,5V angehoben, um diese als Pass Gates zu bilden. Die ausgewählte Wortleitung (WL2) wird mit einer Spannung mit einem Pegel verbunden, welcher für jede Lese- und Prüf-Operation spezifiziert ist, um zu bestimmen, ob eine Schwellenspannung der betroffenen Speicherzelle einen solchen Pegel erreicht hat. Zum Beispiel ist die ausgewählte Wortleitung WL2 bei einer READ
10 Operation geerdet, so dass ermittelt wird, ob die Schwellenspannung höher als 0V ist. Bei diesem Lese-Fall kann gesagt werden, dass ein Lesepegel 0V beträgt. Bei einer VERIFY01 Operation wird die ausgewählte Wortleitung WL2 mit 2,4V verbunden, so dass geprüft wird, ob die Schwellenspannung 2,4V erreicht hat. Bei diesem Prüf-Fall kann gesagt werden, dass ein Prüfpegel 2,4V beträgt. - Die ausgewählten Bitleitungen (BLe) werden auf einen hohen Pegel, zum Beispiel 0,7V, vorgeladen. Wenn die Schwellenspannung höher als der Lese- oder Prüfpegel ist, hält der Potentialpegel der betroffenen Bitleitung (BLe) aufgrund der nichtleitenden Speicherzelle (M) den hohen Pegel aufrecht. Wenn die Schwellenspannung andererseits niedriger als der Lese- oder Prüfpegel ist, sinkt der Potentialpegel der betroffenen Bitleitung (BLe) aufgrund der leitenden Speicherzelle (M) auf einen niedrigen Pegel ab, zum Beispiel auf weniger als 0,5V. Weitere Details der Lese- und Prüf-Operationen werden unten erklärt.
-
7 zeigt einen Teil des Spaltenkontrollschaltkreises2 aus1 . Jedes Paar Bitleitungen (BLe und BLo) ist mit einem Datenspeicherteil16 gekoppelt, welcher zwei Datenspeicherregister (DS1 und DS2) umfasst, wobei jedes in der Lage ist, ein Bit Daten zu speichern. Der Datenspeicherteil16 tastet den Potentialpegel der ausgewählten Bitleitung (BL) während einer Lese- oder Prüf-Operationen ab und speichert dann die Daten auf eine binäre Weise und kontrolliert die Bitleitungsspannung in der Programmieroperation. Der Datenspeicherteil16 wird durch Auswählen eines Signals von "EVENBL" und "ODDBL" selektiv mit der ausgewählten Bitleitung (BL) verbunden. Der Datenspeicherteil16 ist auch mit der Eingabe/Ausgabe-Leitung gekoppelt, um die Lesedaten auszugeben und die Programmierdaten zu speichern. Die Eingabe/Ausgabe-Leitung ist, wie oben unter Bezugnahme auf1 beschrieben, mit dem Eingabe/Ausgabe-Datenpuffer6 verbunden. - Betrieb des Speichersystems mit mehr als zwei Zuständen pro Speicherelement
-
8 stellt Schwellenspannungsverteilungen für das Speicherzellenarray1 dar, wenn jedes Floating Gate Speicherelement zwei Bit Daten, nämlich vier Datenzustände in jeder Speicherzelle (M) speichert. Die Kurve25 stellt eine Verteilung der Schwellenpegel VT der Zellen innerhalb des Arrays1 dar, welche sich im gelöschten Zustand (Datenzustand "11") befinden, welche negative Schwellenspannungspegel sind. Die Schwellenpegelverteilungen26 und27 von Speicherzellen, welche "10" beziehungsweise "00" Nutzdaten speichern, liegen wie gezeigt zwischen 0V und 1V sowie zwischen 1V und 2V. Eine Kurve28 zeigt die Zellenverteilung, welche in den "01" Datenzustand programmiert wor den sind, wobei der höchste Schwellenspannungspegel mehr als 2V und weniger als 4,5V der Read-Pass-Spannung beträgt. - In diesem Beispiel stammt jedes der zwei in einer einzelnen Speicherzelle (M) gespeicherten Bit aus einer unterschiedlichen logischen Seite. D.h. jedes Bit der in jeder Speicherzelle gespeicherten zwei Bit trägt eine voneinander verschiedene logische Seitenadresse. Auf das in
8 gezeigte rechte Seitenbit wird zugegriffen, wenn eine niedrigere Seitenadresse (= 0, 2, 4 ..., 16.382) eingegeben wird. Auf das linke Seitenbit wird zugegriffen, wenn eine obere Seitenadresse (= 1, 3, 5 ..., 16.383) eingegeben wird. - Um eine verbesserte Zuverlässigkeit zur Verfügung zu stellen, ist es für die individuellen Verteilungen besser, enger zu sein (Verteilung wird geschmälert), weil die dichtere Verteilung einen breiteren Leserand (Entfernung zwischen ihnen) hervorbringt. Gemäß der vorliegenden Erfindung wird die Verteilungsbreite ohne eine deutliche Verminderung der Programmiergeschwindigkeit dichter gemacht.
- Gemäß dem Artikel "Fast and Accurate Programming Method for Multi-level NAND EEPROMs" Digest of 1995 Symposium on VLSI Technology, S. 129–130 erfordert es prinzipiell, eine Verteilung auf eine Breite von 0,2V zu beschränken, so dass die üblichen wiederholenden Programmierpulse zwischen Schritten um 0,2V erhöht werden. Um die Verteilung innerhalb einer Breite von 0,05V zu verdichten, sind Pulse mit einem Anstieg von 0,05V erforderlich. Um Zellen mit solch kleinen Schrittweitenerhöhung der Programmierspannung zu programmieren, wird die Programmierzeit um einen Faktor
4 vergrößert. Jedoch sind gemäß den Hauptaspekten der vorliegenden Erfindung wie unten beschrieben, solche signifikanten Erhöhungen der Programmierzeit unnötig um die Breite einer Schwellenspannungsverteilung zu reduzieren -
9 zeigt eine existierende Programmierpulstechnik. Es ist eine Programmierspannung Vpgm in Wellenform dargestellt. Die Programmierspannung Vpgm ist in viele Pulse unterteilt und um 0,2V Puls für Puls vergrößert. In diesem besonderen Beispiel beträgt der Anfangspegel Vpgm 12V. - In Perioden zwischen den Pulsen werden die Prüf- (Lese-) Operationen ausgeführt. D.h. der programmierte Pegel jeder Zelle, welche parallel programmiert wird, wird zwischen jedem Programmierpuls gelesen, um zu bestimmen, ob dieser gleich oder größer als der Prüfpegel ist, auf welchen diese programmiert wird. Wenn ermittelt wird, dass die Schwellenspannung einer gegebenen Speicherzelle den Prüfpegel überschritten hat, wird Vpgm durch Erhöhen der Spannung der Bitleitung von 0V auf Vdd, mit welcher die Strangzelleneinheit der gegebenen Zelle verbunden ist, entfernt. Die Programmierung von anderen Zellen, welche parallel programmiert werden, dauert an, bis diese wiederum ihre Prüfpegel erreichen. Wenn sich die Schwellenspannung während des letzten Programmierpulses der Zelle von unterhalb zu oberhalb des Prüfegels bewegt, ist die Verschiebung der Schwellenspannung gleich der Vpgm Schrittgröße von 0,2V. Deshalb werden die Schwellenspannungen innerhalb einer Breite von 0,2V kontrolliert.
-
10A und10B stellen eine spezifische existierende Technik dar, um eine 4-Zustand NAND-Speicherzelle in einem Array des oben beschrieben Typs zu programmieren. In einem ersten Programmierdurchlauf wird der Schwellenpegel der Zelle gemäß dem Bit von der niedrigeren logischen Seite gesetzt. Wenn dieses Bit "1" ist, wird nichts getan, da sich diese in diesem Zustand befindet, weil diese früher gelöscht worden ist. Wenn dieses Bit jedoch "0" ist, wird der Pegel der Zelle zum ersten programmierten Zustand34 erhöht. Dies schließt den ersten Programmierdurchlauf ab. - In einem zweiten Programmierdurchlauf wird der Schwellenpegel der Zelle gemäß dem Bit gesetzt, welches in der Zelle aus der oberen logischen Seite gespeichert wird. Bei einer "1" findet keine Programmierung statt, da sich die Zelle in einem der Zustände
33 oder34 in Abhängigkeit von der Programmierung des niedrigeren Seitenbits befindet, von denen beide ein oberes Seitenbit "1" tragen. Wenn das obere Seitenbit jedoch "0" ist, wird die Zelle ein zweites Mal programmiert. Wenn der erste Durchlauf darauf hinauslief, dass die Zelle im gelöschten Zustand33 verbleibt, wird die Zelle von diesem Zustand zum höchstmöglichen Zustand36 , wie durch den oberen Pfeil in10B gezeigt, programmiert. Wenn die Zelle jedoch in den Zustand34 infolge des ersten Programmierdurchlaufs programmiert worden ist, wird die Zelle im zweiten Durchlauf von diesem Zustand weiter in Zustand35 programmiert, wie durch den unteren Pfeil in10B gezeigt. Das Ergebnis des zweiten Durchlaufs soll die Zelle in den Zustand programmieren, welcher dafür vorgesehen ist, eine "0" von der oberen Seite zu speichern, ohne das Ergebnis des ersten Programmierdurchlaufs zu verändern. - Wenn der Speicher in mehr als vier Zuständen betrieben wird, gibt es natürlich eine Anzahl von Verteilung innerhalb des definierten Betriebsschwellenfensters der Speicherzellen, welche gleich der Anzahl von Zuständen ist. Obwohl spezifische Bit-Muster jeder der Verteilungen zugeteilt worden sind, können ferner verschiedene Bit-Muster derart zugeteilt werden, in welchem Fall die Zustände, zwischen denen eine Programmierung erfolgt, von denjenigen verschieden sein können, welche in
10A und10B gezeigt sind. Einige solcher Variationen werden im Hintergrund für NAND Systeme in den Patenten besprochen, auf welche zuvor Bezug genommen wurde. Weitere Techniken zum Reduzieren der Folgen des Yupin-Effektes in NAND und anderen Speicherarraytypen, welche in mehrfachen Zuständen betrieben werden, werden in der US Anmeldung 09/893 177 von Jian Chen, Tomoharu Tanaka, Yupin Fong und Khandker N. "Operating Techniques for Reducing Effects of Coupling Between Storage Elements of a Non-Volatile Memory Operated in Multiple Data States", angemeldet am 27.06.2001, beschrieben. -
11 stellt die Spannungen dar, welche dazu verwendet werden, jede Zelle auszulesen, um zu bestimmen, in welchem der vier Schwellenzustände sich die Zelle befindet. Die Spannungen Vv10, V00 und Vv01 sind Bezugsspannungen, welche dazu verwendet werden, die Speicherzustände 10, 00 und 01 von Speicherzellen zu lesen, beziehungsweise welche während der Programmierung zum Prüfen derer Zustände verwendet werden. Diese Überprüfung kommt normalerweise zwischen sich wiederholenden Programmierpulsen vor. Jede der sich ergebenden programmierten Verteilungen weisen wie gezeigt eine dieser Prüfspannungen auf, welche mit einem niedrigeren Rand der Verteilung übereinstimmt. - Die Spannungen 0, VR00 und VR01, welche ungefähr halbwegs zwischen den angrenzenden Verteilungen
33 –36 angeordnet sind, werden dazu verwendet, Daten aus dem Speicherzellenarray zu lesen. Diese sind die Schwellenspannungen, mit denen der Schwellenspannungszustand jeder gelesener Zelle verglichen wird. Dies wird durch Vergleichen eines von der Zelle gemessenen Stromes oder Spannung mit Bezugsströmen beziehungsweise Spannungen erreicht. Zwischen diesen Lesespannungen und der programmierten Schwellenspannungsverteilungen existieren Ränder, was dadurch einige Verbreiterung der Verteilungen von Störungen und Ähnlichem wie oben besprochen erlaubt, solange die Verteilungen keine der gelesenen Spannungen 0, VR00 und VR01 überlappen. Da die Anzahl von Speicherzuständen ansteigt, wird dieser Rand jedoch reduziert und die Programmierung wird dann vorzugsweise mit mehr Präzision durchgeführt, um solche Verbreiterung zu vermeiden. - Betrieb des Speichersystems mit zwei Zuständen pro Speicherelement
- Der Zweizustandbetrieb des oben beschriebenen Mehrzustandspeichers ist in
12 dargestellt. Nur die ersten zwei Zustände33 und36 aus10 und11 werden programmiert, welche in12 mit33' beziehungsweise36' bezeichnet sind. Wenn ein in einer Zelle zu speicherndes Datenbit "1" ist, wird während einer Programmieroperation keine Maßnahme in Bezug auf diese Zelle durchgeführt. Deren Schwellenpegel bleibt innerhalb der gelöschten Schwellenpegelverteilung33' . Wenn das in der Zelle zu speichernde Datenbit jedoch "0" ist, wird die Zelle in einer Weise wie in9 dargestellt programmiert, um seinen Schwellenpegel in die Verteilung36' zu bewegen. Das wird auf dieselbe Weise, wie in10B dargestellt, durchgeführt, wenn ein oberes Seitenbit "0" vom gelöschten Zustand33 in den programmierten Zustand36 programmiert wird. Die Bezugsspannung Vv01 wird dazu verwendet, die Programmierung auf dieselbe Weise wie im Fall des Mehrzustands zu prüfen. Ein Vorteil dieser Technik besteht darin, dass es ziemlich einfach ist, einige der Zellen in zwei Zustände zu programmieren, während der Hauptteil des Speichers in mehrfache Zustände gemäß den oben beschriebenen Techniken programmiert wird. Oder es wird ein integrierter Schaltungschips erzeugt, welcher durch eine Sicherung oder eine Firmware innerhalb der State Machine8 eingestellt werden kann, um das komplette Speicherzellenarray entweder im Mehrzustand oder Zweizustand zu betreiben. Die Programmierung bleibt beim Betrieb in zwei Zuständen dieselbe wie beim Betrieb in mehr als zwei Zuständen, außer dass beim Betrieb in nur zwei Zuständen die Programmierung der niedrigeren Seiten ausgelassen wird. - Das Lesen der individuellen Zellen verwendet die Referenz VR00 um zu bestimmen, ob ihre Schwellenzustände in die gelöschte Verteilung
33' oder die programmierte Verteilung36' fällt. Das ist anders gegenüber einem Lesen eines Mehrzustands, bei dem die niedrigere Referenz 0 Volt und die höhere Referenz VR01 verwendet werden (11 ), um zu bestimmen, ob eine Zelle in einen der Zustände33 oder36 programmiert ist. Da während des Zweizustandbetriebs (12 ) keine Daten in die Mehrzustandverteilung34 oder35 (11 ) programmiert wurden, wird die Referenz VR00 ungleich Null welche sich ungefähr in der Mitte der Verteilungen33' und36' befindet, dazu verwendet wird, die Speicherzellen auszulesen, welche in zwei Zustände programmiert worden sind. Dies vergrößert signifikant die Ränder zwischen diesen Verteilungen und der während des Lesens verwendeten Referenz gegenüber derjenigen während einer Mehrzustand-Leseoperation. Weiteres Verbreitern und Bewegen dieser Verteilungen, sowohl wirkliche als auch scheinbare, können deshalb im Zwei-Zustandbetrieb toleriert werden. - Ein Hauptvorteil dieser Technik besteht in der Verminderung der Störeffekte von Ladungspegeln einer programmierten oder gelöschten Zelle, die aus Programmier-, Lese- und/oder Löschoperationen resultiert. Insbesondere die Verwendung des positiven Schwellenpegels ungleich null VR00 zum Lesen von Daten vergrößert die Toleranz der Speicherzellen gegenüber den Auswirkungen von Lesestörungen. Wie bekannt ist, neigt die Löschverteilung
33' dazu, infolge jener und anderer Zellen, welche in denselben Reihen gelesen werden, sich zu bewegen. Und diese Wirkung tritt häufiger ein, wenn die Speicherzellen mit einer großen Anzahl von Lösch/Programmier-Zyklen beansprucht werden. In einer Mehrheit von Anwendungen ist der gelöschte Zustand auch einer der programmierten Zustände. Wenn null Volt als ein Schwellenunterbrechungspegel verwendet wird, um Zellen innerhalb der negativen Schwellenverteilung33' , wie mit Bezug auf11 beschrieben, zu lesen, kann eine positive Verschiebung dieser Verteilung im Laufe der Zeit die unerwünschte Wirkung haben, null Volt zu erreichen und sogar positiv werden. Das kann auch in existierenden Zweizustand (binären) Speichersystemen vorkommen, bei denen null Volt während des Lesens als Unterbrechungspunkt zwischen den zwei Schwellenpegeln, in welche die Speicherzellen programmiert wurden, verwendet werden. Aber weil die zweite programmierte Zustandverteilung36' aus12 durch einen wesentlichen Rand von der gelöschten Verteilung33' infolge einer Programmierung mit dem Prüfpegel VR01 getrennt ist, erlaubt der höhere Leseschwellenunterbrechungspunkt VR00 signifikant eine positivere Verschiebung der Verteilung33' , bevor ihre gespeicherten Zustände falsch gelesen werden. Dies ist ein bedeutender Vorteil, das selbe Schwellenfenster für einen Zweizustandbetrieb wie für einen Mehrzustandbetrieb aufrechtzuerhalten. - Ein anderer Vorteil der Verwendung der vergrößerten Ränder aus
12 ist eine längere Zeitdauer, in welcher Daten beibehalten werden. Die Verteilungen33' und36' können sich um einen größeren Betrag verschieben, bevor ihre Datenpegel durch die Schwelle VR00 falsch gelesen werden. Die Rate, bei der solche Verschiebungen vorkommen, nimmt zu, während die Anzahl von Lösch/Programmier-Zyklen, unter denen die Speicherzellen beansprucht werden, ansteigt. Die Verminderung von Lesestörungen und/oder die Zunahme der Datenbeibehaltung führen deshalb auch zu einer längeren Lebenszeit des Speichers. - Die breiteren Ränder ermöglichen der Programmierung auch, pro Bit im Zweizustand-Fall viel schneller als bei Mehrfach-Bit Programmierung zu sein, da der letztendliche Schwellenpegel von jeder programmierten Zelle nicht in solch einer schmalen Verteilung enthalten zu sein braucht. Eine höhere ΔVpgm (
9 ) oder höhere absolute Spannungen können dazu verwendet werden, die für die Programmierung einer Zelle notwendige Zeit zu verringern, was auf eine Ausweitung der Verteilung36' hinauslaufen wird, was mit den höheren Rändern toleriert werden kann. - Es gibt viele Verwendungen einer Mehrzustandspeicherarchitektur, welche auch für einen binären Betrieb der oben beschriebenen Weise vorgesehen sind. Einige der Blöcke
1 (2 ) des Speichersystems können für die Zweizustandspeicherung vorgesehen werden, während die restlichen Blöcke mit Mehrzustandspeicherung in Betrieb sind. - Dies wird innerhalb der State Machine
8 festgelegt, wobei die Anzahl von Speicherzuständen während Programmieren und Lesen von der physikalischen Adresse abhängt oder von einer Adresse, welche mit der physikalischen Adresse des Blocks in Verbindung steht, in welche Daten programmiert oder gelesen werden. - In einer weiteren Anwendung werden Speicherzellenblöcke, in welche Daten am häufigsten geschrieben werden, in zwei Zuständen betrieben, während die verbleibenden Blöcke, welche weniger häufig umgeschrieben werden, im Mehrzustand betrieben werden. Beispiele von Daten, welche oft umgeschrieben werden, umfassen eine Tabelle von Speicherblöcken, in welche Nutzdaten gespeichert werden, so wie beispielsweise ein System File Allocation Table (FAT), Block-Zyklus-Zählungen und andere Overhead-Daten, welche als Teil eines Betriebes eines Flash EEPROM Systems gespeichert werden. Hinsichtlich der FAT Tabelle können deren häufige Aktualisierungen in diesen Host-Systemen leicht identifiziert werden, welche zum Schreiben einer kleineren Datenmenge vorgesehen sind, wenn die FAT Tabelle aktualisiert wird als wenn Nutzdaten gespeichert werden. Solche identifizierten FAT Tabellendaten werden dann vom Controller
20 (1 ) zu einem Block geleitet, welcher in zwei Zuständen betrieben wird. Hinsichtlich der Speicherzellenblock Experience Counts und anderer solcher Overhead-Daten kennt der Controller20 die Blöcke, in denen solche Daten geschrieben werden. Daher wird der Betrieb von diesen Blöcken in zwei Zuständen festgelegt. Der vorzeitige Bedarf Blöcke, welche ihre Ermüdungsgrenze erreicht haben, zu ersetzen ist zumindest etwas kontrolliert, wenn diese nicht im Ganzen entfernt werden. - Eine andere Anwendung der Erfindung besteht darin, zumindest einige der Blöcke des Speicherarrays vom Mehrzustand- in den Zweizustand-Betrieb zu schalten, wenn dies für die Lebensdauer des Speichers vorteilhaft wird. Dies kann dynamisch getan werden, zum Beispiel für Blöcke, welche weit mehr umzuschreibende Daten als andere Blöcke erhalten. Ein anderes Beispiel besteht darin, ausgewählte Blöcke in den Zweizustand-Betrieb zu schalten, welche ihre Ermüdungsgrenze von Lösch/Programmier-Zyklen im Mehrzustand-Betrieb erreichen. Obwohl Gegebenheiten der Speicherzellen fortgesetzten Mehrzustandbetrieb ausschließen können, können diese danach in zwei Zuständen gemäß der mit Bezug auf
12 beschriebenen Technik weiter betrieben werden. Natürlich muss die doppelte Anzahl von Blöcken verwendet werden, um dieselbe Datenmenge in zwei Zuständen wie in vier Zuständen zu speichern. Zählungen der Anzahl von Lösch/Programmier-Zyklen der einzelnen Blöcke oder Gruppen von Blöcken sollten dann beibehalten werden, um die State Machine8 mit Daten zu versorgen, aus denen bestimmt werden kann, wann Blöcke von einer Betriebsart in die andere geschaltet werden. - Die Aufbewahrung solcher Zählungen, welche in den einzelnen Blöcken gezählt werden, wird in US Patent 5,043,940 beschrieben. Alternativ können Zyklus-Zählungen zusammen in verschiedenen Blöcken, als diejenigen, welche gezählt werden, beibehalten werden, wie in der US Anmeldung 09/505,555, angemeldet am 17.02.2000, beschrieben wird. Eine besondere Technik, die Zyklus-Zählung zu generieren wird in US Anmeldung 09/662,032, angemeldet am 14.09.2000, beschrieben.
- In der obigen Beschreibung besonderer Beispiele der vorliegenden Erfindung hat eine Mehrzustandoperation vier Zustände eingeschlossen. Natürlich kann eine Mehrzustandoperation mehr als vier Zustände einschließen, wie zum Beispiel acht oder sechzehn, wobei die Schwellenspannungsverteilungen viel schmaler gehalten werden und Ränder zwischen ihnen kleiner als die in
10 und11 für vier Zustände gezeigten gemacht werden. Obwohl ein Zweizustandmodus als eine Alternative beschrieben worden ist, um größere Ränder, eine erweiterte Lebensdauer und eine Verbesserung der Leistungsfähigkeit der Programmierung zur Verfügung zu stellen, kann die Alternative ferner mehr als zwei Speicherzustände verwenden, welche geringer als die Anzahl der Zustände beim normalen Betrieb ist. Wenn zum Beispiel ein normaler Mehrzustandbetrieb sechzehn Zustände programmiert und liest, kann die Alternative auf vier von diesen Speicherzuständen eingeschränkt werden, welche um den maximalen Betrag, den Niedrigsten, den Höchsten und zwei andere gleichmäßig voneinander getrennte sind. - Alternative Verwendung von dielektrischen Speicherelementen
- Die vorhergehenden Beispiele von Flash EEPROM Speicherzellen sind in Bezug auf den Typ der Zelle beschrieben worden, welcher leitende Floating Gates als Ladungsspeicherelemente verwertet. Jedoch kann die gegenwärtige Erfindung auch in einem System implementiert werden, welches ein ladungseinfangendes Dielektrikum als Speicherelement in individuellen Speicherzellen anstelle von Floating Gates verwendet. Das dielektrische Speicherelement wird zwischen einem leitenden Control Gate und dem Substrat innerhalb des Kanalgebiets der Zelle eingelegt. Obwohl das Dielektrikum in individuelle Elemente mit denselben Größen und Positionen wie das Floating Gate unterteilt werden kann, ist es gewöhnlich nicht notwendig dies zu tun, da Ladung lokal von solch einem Dielektrikum eingefangen wird. Das ladungseinfangende Dielektrikum kann sich über das gesamte Array erstrecken, außer in Bereichen, welche durch die Select Transistoren oder Ähnliches belegt sind.
- Dielektrische Speicherelement-Speicherzellen werden allgemein in folgenden technischen Artikeln und folgendem Patent beschrieben: Chan et al., "A True Single- Transistor Oxide-Nitride-Oxide EEPROM Device," IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, S. 93–95; Nozaki et al., "A 1-Mb EEPROM with MONOS Memon Cell for Semiconductor Disk Application," IEEE Journal of Solid State Circuits, Vol. 26, No. 4, April 1991, S. 497–501, Eitan et al, "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, Vol. 21, No. 11, November 2000, S. 543–545 sowie US Patent 5,851,881.
- Es gibt zwei spezifische ladungseinfangende dielektrische Materialien und Konfigurationen, welche für den Gebrauch geeignet sind. Eines ist ein Dreischichtdielektrikum mit auf dem Substrat anfangs aufgewachsenem Siliziumdioxid, eine darüber liegende Schicht Siliziumnitrid sowie eine weitere Schicht Silikonoxid, welche auf der Siliziumnitridschicht aufgewachsen und/oder aufgetragen ist ("ONO"). Eine zweite Alternative besteht in einer einzelnen siliziumreichen Siliziumdioxidschicht, welche zwischen dem Gate und der Halbleitersubstratoberfläche eingeschoben ist. Dieses Material wird in den folgenden zwei Artikeln von DiMaria et al. beschrieben: "Electrically-alterable read-only-memory using Si-rich SIO2 injectors and a floating polycrystalline silicon storage layer" J. Appl. Phys. 52 (7), Juli 1981, S. 4825–4842 sowie Hori et al.," A MOSFET with Si-implanted Gate-SiO2 Insulator for Nonvolatile Memon Applications" IEDM 92, April 1992, S. 469–472.
- Schlussfolgerung
- Obwohl die gegenwärtige Erfindung in Form von spezifischen Beispielen und Variationen beschrieben worden ist, versteht sich, dass die Erfindung innerhalb des vollen Geltungsbereichs der folgenden Ansprüche geschützt werden soll.
Claims (11)
- Verfahren zum kontrollierten Betrieb einer Vielzahl von Blöcken von nichtflüchtigen Speicherzellen in entweder zumindest vier Schwellenpegelzuständen oder genau zwei Schwellenpegelzuständen, wobei diese zumindest vier Schwellenpegelzustände über ein Speicherzellenbetriebsschwellenfenster voneinander getrennt verteilt sind, dadurch gekennzeichnet, dass zumindest einer aus dieser Vielzahl von Blöcken von Speicherzellen anfangs in diesen zumindest vier Schwellenpegelzuständen betrieben wird, bis seine Verwendung eine Ermüdungsgrenze einer Anzahl von Lösch/Programmier-Zyklen erreicht, woraufhin dieser zumindest eine Block danach in diesen genau zwei Schwellenpegelzuständen betrieben wird, welche im Wesentlichen mit zwei von diesen zumindest vier Schwellenpegelzuständen übereinstimmen, welche maximal voneinander getrennt sind.
- Verfahren gemäß Anspruch 1, wobei die Speicherzellen zumindest innerhalb einem aus der Vielzahl von Blöcken in genau diesen zwei Schwellenpegelzuständen betrieben werden und die Speicherzellen innerhalb zumindest einem anderen aus der Vielzahl von Blöcken in zumindest diesen vier Schwellenpegelzuständen betrieben werden.
- Verfahren gemäß Anspruch 2, wobei eine Tabelle von Blöcken von Speicher, in welcher Benutzerdaten gespeichert werden, in Speicherzellen geschrieben wird, von denen zumindest einer aus der Vielzahl von Blöcken, der in genau diesen zwei Schwellenpegeln betrieben wird und die Benutzerdaten in Speicherzellen gespeichert werden, von denen zumindest eine andere aus der Vielzahl von Blöcken, die in diesen zumindest vier Schwellenpegelzuständen betrieben werden.
- Verfahren gemäß einem der vorhergehenden Ansprüche, wobei Lesen von Daten aus den individuellen Zellen von zumindest einigen der Blöcke, welche in genau diesen zwei der vier Schwellenpegelzuständen durch Gebrauch einer Schwellenreferenz gespeichert werden, welche einen anderen dazwischenliegenden von diesen zumindest vier Schwellenpegelzuständen haben als diese zwei am weitesten voneinander versetzen Schwellenpegelzustände.
- Verfahren gemäß Anspruch 4, wobei einer dieser zwei am weitesten voneinander versetzten Schwellenpegelzuständen ein gelöschter Zustand innerhalb eines negativen Bereichs des Betriebsschwellenfensters ist und diese gelesene Schwellenreferenz eine positive Spannung ungleich Null ist.
- Ein Verfahren gemäß einem der vorhergehenden Ansprüche in einem NAND Speichersystem.
- Verfahren gemäß Anspruch 1, wobei die Speicherzellen von individuellen Blöcken zu einem Extrem der Schwellenpegelzustände über das Betriebsschwellenfenster gelöscht werden und dann zumindest einige der gelöschten Speicherzellen von diesem einen extremen Schwellenpegelzustand zu anderen von diesen zumindest vier Schwellenpegelzuständen durch Verwendung von Prüfpegeln programmiert werden, welche sich über das Betriebsschwellenfenster zu anderen von diesen zumindest vier Schwellenpegelzuständen erstrecken, wenn in zumindest vier Schwellenpegelzuständen gearbeitet wird und wenn in genau zwei Schwellenpegelzuständen gearbeitet wird, werden zumindest einige der gelöschten Speicherzellen von diesem einen extremen Schwellenpegelzustand zu einem anderen von diesen zumindest vier Schwellenpegelzuständen durch Verwendung eines der Prüfpegel programmiert, welches maximal von diesem einen extremen Schwellenpegelzustand entfernt ist.
- Speichersystem umfassend eine Vielzahl von Blöcken von nichtflüchtigen Speicherzellen, welche in entweder zumindest vier Schwellenpegelzuständen oder genau zwei Schwellenpegelzuständen programmierbar sind, wobei diese zumindest vier Schwellenpegelzustände über ein Speicherzellenbetriebsschwellenfenster voneinander getrennt verteilt sind, dadurch gekennzeichnet, dass Mittel zum anfänglichen Programmieren zumindest eines aus dieser Vielzahl von Blöcken von Speicherzellen in zumindest vier Schwellenpegelzuständen bis seine Verwendung eine Ermüdungsgrenze von einer Anzahl von Lösch/Programmier-Zyklen erreicht und zum anschließenden Programmieren dieses zumindest einen Blocks in diesen genau zwei Schwellenpegelzuständen, welche im Wesentlichen mit zwei dieser zumindest vier Schwellenpegelzuständen übereinstimmen, welche maximal voneinander getrennt sind, aufweist.
- Speichersystem gemäß Anspruch 8, wobei eine Tabelle von Blöcken von Speicher, in welche Benutzerdaten gespeichert werden, in Speicherzellen aus diesem zumindest einen aus der Vielzahl von Blöcken geschrieben werden, die in diesen genau zwei Schwellenpegelzuständen betrieben werden und die Benutzerdaten in Speicherzellen von diesem zumindest anderen aus der Vielzahl von Blöcken gespeichert werden, welche in diesen zumindest vier Schwellenpegelzuständen betrieben werden.
- Speichersystem gemäß Anspruch 8 oder Anspruch 9, wobei einer dieser zwei am weitesten voneinander versetzten Schwellenpegelzustände ein gelöschter Zustand innerhalb eines negativen Bereichs des Betriebsschwellenfensters ist und wobei eine gelesene positive Spannung ungleich Null als Schwellenreferenz definiert ist, welche einen anderen dazwischenliegenden von diesen zumindest vier Schwellenpegelzuständen als diese zwei am weitesten voneinander versetzten Schwellenpegelzustände hat.
- Ein NAND Speichersystem gemäß einem der vorhergehenden Ansprüche.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US956340 | 2001-09-17 | ||
US09/956,340 US6456528B1 (en) | 2001-09-17 | 2001-09-17 | Selective operation of a multi-state non-volatile memory system in a binary mode |
US10/229,258 US6717847B2 (en) | 2001-09-17 | 2002-08-26 | Selective operation of a multi-state non-volatile memory system in a binary mode |
US229258 | 2002-08-26 | ||
PCT/US2002/029177 WO2003025949A1 (en) | 2001-09-17 | 2002-09-13 | Selective operation of a multi-state non-volatile memory system in a binary mode |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60214023D1 DE60214023D1 (de) | 2006-09-28 |
DE60214023T2 true DE60214023T2 (de) | 2007-03-29 |
Family
ID=26923119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60214023T Expired - Lifetime DE60214023T2 (de) | 2001-09-17 | 2002-09-13 | Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus |
Country Status (9)
Country | Link |
---|---|
US (3) | US6717847B2 (de) |
EP (1) | EP1433182B1 (de) |
JP (1) | JP2005503640A (de) |
KR (1) | KR100918591B1 (de) |
CN (1) | CN1555559B (de) |
AT (1) | ATE336788T1 (de) |
DE (1) | DE60214023T2 (de) |
TW (1) | TW574696B (de) |
WO (1) | WO2003025949A1 (de) |
Families Citing this family (213)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100544175B1 (ko) * | 1999-05-08 | 2006-01-23 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
US7463195B2 (en) * | 2001-06-21 | 2008-12-09 | Rosum Corporation | Position location using global positioning signals augmented by broadcast television signals |
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 |
US6717847B2 (en) * | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US7554842B2 (en) * | 2001-09-17 | 2009-06-30 | Sandisk Corporation | Multi-purpose non-volatile memory card |
US7564436B2 (en) * | 2002-09-20 | 2009-07-21 | Polymer Vision Limited | Luminescence and color variation compensation in a flexible display |
US7571287B2 (en) | 2003-03-13 | 2009-08-04 | Marvell World Trade Ltd. | Multiport memory architecture, devices and systems including the same, and methods of using the same |
US7254690B2 (en) * | 2003-06-02 | 2007-08-07 | S. Aqua Semiconductor Llc | Pipelined semiconductor memories and systems |
US7139213B2 (en) | 2003-06-02 | 2006-11-21 | Silicon Aquarius, Inc. | Multiple data path memories and systems |
KR100512181B1 (ko) * | 2003-07-11 | 2005-09-05 | 삼성전자주식회사 | 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법 |
US6917542B2 (en) * | 2003-07-29 | 2005-07-12 | Sandisk Corporation | Detecting over programmed memory |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
EP1758027B1 (de) * | 2003-12-30 | 2010-07-14 | SanDisk Corporation | Nichtflüchtiger Speicher und Verfahren mit Steuerdatenverwaltung |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US7177977B2 (en) | 2004-03-19 | 2007-02-13 | Sandisk Corporation | Operating non-volatile memory without read disturb limitations |
US7020017B2 (en) * | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7180775B2 (en) * | 2004-08-05 | 2007-02-20 | Msystems Ltd. | Different numbers of bits per cell in non-volatile memory devices |
US7882299B2 (en) * | 2004-12-21 | 2011-02-01 | Sandisk Corporation | System and method for use of on-chip non-volatile memory write cache |
US7308525B2 (en) * | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
JP4768298B2 (ja) * | 2005-03-28 | 2011-09-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7196928B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7196946B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling in non-volatile storage |
US7187585B2 (en) * | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7339834B2 (en) * | 2005-06-03 | 2008-03-04 | Sandisk Corporation | Starting program voltage shift with cycling of non-volatile memory |
JP4801935B2 (ja) * | 2005-06-08 | 2011-10-26 | 株式会社東芝 | 半導体記憶装置 |
US7161831B2 (en) * | 2005-06-10 | 2007-01-09 | Macronix International Co., Ltd. | Leaf plot analysis technique for multiple-side operated devices |
EP1748446A1 (de) * | 2005-07-28 | 2007-01-31 | STMicroelectronics S.r.l. | Zweiseitenprogrammierung |
US7362616B2 (en) | 2005-07-28 | 2008-04-22 | Stmicroelectronics S.R.L. | NAND flash memory with erase verify based on shorter evaluation time |
KR100666185B1 (ko) | 2005-07-29 | 2007-01-09 | 삼성전자주식회사 | 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법 |
US7352626B1 (en) | 2005-08-29 | 2008-04-01 | Spansion Llc | Voltage regulator with less overshoot and faster settling time |
US7307878B1 (en) * | 2005-08-29 | 2007-12-11 | Spansion Llc | Flash memory device having improved program rate |
US7752382B2 (en) * | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
US7957204B1 (en) | 2005-09-20 | 2011-06-07 | Spansion Llc | Flash memory programming power reduction |
US7433228B2 (en) * | 2005-09-20 | 2008-10-07 | Spansion Llc | Multi-bit flash memory device having improved program rate |
US8358543B1 (en) | 2005-09-20 | 2013-01-22 | Spansion Llc | Flash memory programming with data dependent control of source lines |
US7301817B2 (en) * | 2005-10-27 | 2007-11-27 | Sandisk Corporation | Method for programming of multi-state non-volatile memory using smart verify |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7366022B2 (en) * | 2005-10-27 | 2008-04-29 | Sandisk Corporation | Apparatus for programming of multi-state non-volatile memory using smart verify |
US7262994B2 (en) * | 2005-12-06 | 2007-08-28 | Sandisk Corporation | System for reducing read disturb for non-volatile storage |
US7349258B2 (en) * | 2005-12-06 | 2008-03-25 | Sandisk Corporation | Reducing read disturb for non-volatile storage |
US7366013B2 (en) * | 2005-12-09 | 2008-04-29 | Micron Technology, Inc. | Single level cell programming in a multiple level cell non-volatile memory device |
US7245556B1 (en) * | 2005-12-28 | 2007-07-17 | Sandisk Corporation | Methods for writing non-volatile memories for increased endurance |
US20070150644A1 (en) * | 2005-12-28 | 2007-06-28 | Yosi Pinto | System for writing non-volatile memories for increased endurance |
US7349260B2 (en) | 2005-12-29 | 2008-03-25 | Sandisk Corporation | Alternate row-based reading and writing for non-volatile memory |
US7443726B2 (en) * | 2005-12-29 | 2008-10-28 | Sandisk Corporation | Systems for alternate row-based reading and writing for non-volatile memory |
JP2007200388A (ja) * | 2006-01-24 | 2007-08-09 | Megachips Lsi Solutions Inc | 半導体記憶装置及び半導体記憶装置の使用方法 |
EP1814123A1 (de) * | 2006-01-26 | 2007-08-01 | Samsung Electronics Co.,Ltd. | Nichtflüchtiger Speicher in NAND-Anordnung mit besonderer Bitleitungs-Struktur |
US7499319B2 (en) * | 2006-03-03 | 2009-03-03 | Sandisk Corporation | Read operation for non-volatile storage with compensation for coupling |
US7436733B2 (en) * | 2006-03-03 | 2008-10-14 | Sandisk Corporation | System for performing read operation on non-volatile storage with compensation for coupling |
US7397703B2 (en) * | 2006-03-21 | 2008-07-08 | Freescale Semiconductor, Inc. | Non-volatile memory with controlled program/erase |
US7436713B2 (en) | 2006-04-12 | 2008-10-14 | Sandisk Corporation | Reducing the impact of program disturb |
US7426137B2 (en) | 2006-04-12 | 2008-09-16 | Sandisk Corporation | Apparatus for reducing the impact of program disturb during read |
US7515463B2 (en) | 2006-04-12 | 2009-04-07 | Sandisk Corporation | Reducing the impact of program disturb during read |
US7499326B2 (en) | 2006-04-12 | 2009-03-03 | Sandisk Corporation | Apparatus for reducing the impact of program disturb |
US7606075B2 (en) * | 2006-04-19 | 2009-10-20 | Micron Technology, Inc. | Read operation for NAND memory |
JP2007305210A (ja) | 2006-05-10 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
WO2007132456A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
US8050086B2 (en) | 2006-05-12 | 2011-11-01 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
WO2007132457A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
WO2007132452A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
US7518911B2 (en) * | 2006-05-25 | 2009-04-14 | Sandisk Corporation | Method and system for programming multi-state non-volatile memory devices |
US7440331B2 (en) * | 2006-06-01 | 2008-10-21 | Sandisk Corporation | Verify operation for non-volatile storage using different voltages |
US7457163B2 (en) * | 2006-06-01 | 2008-11-25 | Sandisk Corporation | System for verifying non-volatile storage using different voltages |
US7310272B1 (en) * | 2006-06-02 | 2007-12-18 | Sandisk Corporation | System for performing data pattern sensitivity compensation using different voltage |
US7450421B2 (en) * | 2006-06-02 | 2008-11-11 | Sandisk Corporation | Data pattern sensitivity compensation using different voltage |
US7352628B2 (en) * | 2006-06-19 | 2008-04-01 | Sandisk Corporation | Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory |
US7606084B2 (en) * | 2006-06-19 | 2009-10-20 | Sandisk Corporation | Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory |
US20070297247A1 (en) * | 2006-06-26 | 2007-12-27 | Gerrit Jan Hemink | Method for programming non-volatile memory using variable amplitude programming pulses |
TW200807421A (en) * | 2006-06-26 | 2008-02-01 | Sandisk Corp | Method and system for programming non-volatile memory using variable amplitude programming pulses |
KR100736103B1 (ko) * | 2006-06-27 | 2007-07-06 | 삼성전자주식회사 | 비휘발성 메모리, 상기 비휘발성 메모리의 데이터 유효성을판단하는 장치 및 방법 |
US7495953B2 (en) * | 2006-07-20 | 2009-02-24 | Sandisk Corporation | System for configuring compensation |
US7443729B2 (en) * | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7506113B2 (en) * | 2006-07-20 | 2009-03-17 | Sandisk Corporation | Method for configuring compensation |
US7522454B2 (en) * | 2006-07-20 | 2009-04-21 | Sandisk Corporation | Compensating for coupling based on sensing a neighbor using coupling |
US7400535B2 (en) * | 2006-07-20 | 2008-07-15 | Sandisk Corporation | System that compensates for coupling during programming |
US7885119B2 (en) * | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US8407395B2 (en) | 2006-08-22 | 2013-03-26 | Mosaid Technologies Incorporated | Scalable memory system |
US7904639B2 (en) * | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
EP1892720B1 (de) * | 2006-08-24 | 2011-07-27 | STMicroelectronics Srl | Nichtflüchtiger, elektrisch programmierbarer Speicher mit einer Vielzahl von Speicherdichten und Datenübertragungs-Geschwindigkeiten |
US8060806B2 (en) | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
KR100855467B1 (ko) * | 2006-09-27 | 2008-09-01 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법 |
US7447076B2 (en) | 2006-09-29 | 2008-11-04 | Sandisk Corporation | Systems for reverse reading in non-volatile memory with compensation for coupling |
US7684247B2 (en) | 2006-09-29 | 2010-03-23 | Sandisk Corporation | Reverse reading in non-volatile memory with compensation for coupling |
KR100830580B1 (ko) * | 2006-10-20 | 2008-05-21 | 삼성전자주식회사 | 플래시 메모리 장치를 포함한 메모리 시스템의 데이터 복원방법 |
US7821826B2 (en) | 2006-10-30 | 2010-10-26 | Anobit Technologies, Ltd. | Memory cell readout using successive approximation |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
KR100771521B1 (ko) | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US7511996B2 (en) | 2006-11-30 | 2009-03-31 | Mosaid Technologies Incorporated | Flash memory program inhibit scheme |
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 |
US7593263B2 (en) * | 2006-12-17 | 2009-09-22 | Anobit Technologies Ltd. | Memory device with reduced reading latency |
US7616506B2 (en) * | 2006-12-28 | 2009-11-10 | Sandisk Corporation | Systems for complete word line look ahead with efficient data latch assignment in non-volatile memory read operations |
US7616505B2 (en) * | 2006-12-28 | 2009-11-10 | Sandisk Corporation | Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations |
US7518923B2 (en) * | 2006-12-29 | 2009-04-14 | Sandisk Corporation | Margined neighbor reading for non-volatile memory read operations including coupling compensation |
US7616498B2 (en) * | 2006-12-29 | 2009-11-10 | Sandisk Corporation | Non-volatile storage system with resistance sensing and compensation |
US7495962B2 (en) * | 2006-12-29 | 2009-02-24 | Sandisk Corporation | Alternating read mode |
US7606070B2 (en) * | 2006-12-29 | 2009-10-20 | Sandisk Corporation | Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation |
US7440324B2 (en) * | 2006-12-29 | 2008-10-21 | Sandisk Corporation | Apparatus with alternating read mode |
US7590002B2 (en) * | 2006-12-29 | 2009-09-15 | Sandisk Corporation | Resistance sensing and compensation for non-volatile storage |
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 |
KR101444491B1 (ko) * | 2007-02-07 | 2014-09-24 | 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 | 소스 측 비대칭 사전 충전 프로그래밍 방식 |
US20080201588A1 (en) * | 2007-02-16 | 2008-08-21 | Mosaid Technologies Incorporated | Semiconductor device and method for reducing power consumption in a system having interconnected devices |
US7646636B2 (en) * | 2007-02-16 | 2010-01-12 | Mosaid Technologies Incorporated | Non-volatile memory with dynamic multi-mode operation |
WO2008101316A1 (en) * | 2007-02-22 | 2008-08-28 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
US8086785B2 (en) * | 2007-02-22 | 2011-12-27 | Mosaid Technologies Incorporated | System and method of page buffer operation for memory devices |
US8369141B2 (en) * | 2007-03-12 | 2013-02-05 | Apple Inc. | Adaptive estimation of memory cell read thresholds |
US7535764B2 (en) * | 2007-03-21 | 2009-05-19 | Sandisk Corporation | Adjusting resistance of non-volatile memory using dummy memory cells |
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 |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
ITMI20071012A1 (it) | 2007-05-18 | 2008-11-19 | St Microelectronics Srl | Dispositivo di memoria migliorato a veloce programmazione |
US8654592B2 (en) * | 2007-06-12 | 2014-02-18 | Micron Technology, Inc. | Memory devices with isolation structures |
US7460398B1 (en) * | 2007-06-19 | 2008-12-02 | Micron Technology, Inc. | Programming a memory with varying bits per cell |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8127104B1 (en) | 2007-08-06 | 2012-02-28 | Marvell International Ltd. | Alignment matrix memory copy |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US7802132B2 (en) * | 2007-08-17 | 2010-09-21 | Intel Corporation | Technique to improve and extend endurance and reliability of multi-level memory cells in a memory device |
US8174905B2 (en) * | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
JP5314873B2 (ja) * | 2007-10-05 | 2013-10-16 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US8068360B2 (en) * | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US7742335B2 (en) * | 2007-10-31 | 2010-06-22 | Micron Technology, Inc. | Non-volatile multilevel memory cells |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US7849275B2 (en) * | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US7903486B2 (en) * | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
US8688947B1 (en) | 2007-11-21 | 2014-04-01 | Marvell International Ltd. | Aligned data access |
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 |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US7983099B2 (en) | 2007-12-20 | 2011-07-19 | Mosaid Technologies Incorporated | Dual function compatible non-volatile memory device |
US8085586B2 (en) * | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US7940572B2 (en) | 2008-01-07 | 2011-05-10 | Mosaid Technologies Incorporated | NAND flash memory having multiple cell substrates |
JP5223869B2 (ja) * | 2008-01-16 | 2013-06-26 | 富士通株式会社 | 半導体記憶装置、制御装置、制御方法 |
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 |
US8059457B2 (en) * | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8131915B1 (en) | 2008-04-11 | 2012-03-06 | Marvell Intentional Ltd. | Modifying or overwriting data stored in flash memory |
US8683085B1 (en) | 2008-05-06 | 2014-03-25 | Marvell International Ltd. | USB interface configurable for host or device mode |
US7848144B2 (en) | 2008-06-16 | 2010-12-07 | Sandisk Corporation | Reverse order page writing in flash memories |
US8111548B2 (en) | 2008-07-21 | 2012-02-07 | Sandisk Technologies Inc. | Programming non-volatile storage using binary and multi-state programming processes |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
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 |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for 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 |
US8037235B2 (en) * | 2008-12-18 | 2011-10-11 | Mosaid Technologies Incorporated | Device and method for transferring data to a non-volatile memory device |
US8194481B2 (en) * | 2008-12-18 | 2012-06-05 | Mosaid Technologies Incorporated | Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation |
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 |
US8423710B1 (en) | 2009-03-23 | 2013-04-16 | Marvell International Ltd. | Sequential writes to flash memory |
US8832354B2 (en) * | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8213236B1 (en) | 2009-04-21 | 2012-07-03 | Marvell International Ltd. | Flash memory |
US7916533B2 (en) * | 2009-06-24 | 2011-03-29 | Sandisk Corporation | Forecasting program disturb in memory by detecting natural threshold voltage distribution |
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 |
US8423866B2 (en) * | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8634240B2 (en) * | 2009-10-28 | 2014-01-21 | SanDisk Technologies, Inc. | Non-volatile memory and method with accelerated post-write read to manage errors |
US8214700B2 (en) * | 2009-10-28 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
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 |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8756394B1 (en) | 2010-07-07 | 2014-06-17 | Marvell International Ltd. | Multi-dimension memory timing tuner |
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 |
US9424930B2 (en) * | 2010-09-15 | 2016-08-23 | Sandisk Technologies Llc | Apparatus, system, and method for non-volatile storage element programming |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US8825977B1 (en) * | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life |
US8456911B2 (en) | 2011-06-07 | 2013-06-04 | Sandisk Technologies Inc. | Intelligent shifting of read pass voltages for non-volatile storage |
US8726104B2 (en) | 2011-07-28 | 2014-05-13 | Sandisk Technologies Inc. | Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages |
US8566671B1 (en) | 2012-06-29 | 2013-10-22 | Sandisk Technologies Inc. | Configurable accelerated post-write read to manage errors |
KR101949987B1 (ko) * | 2012-12-18 | 2019-02-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9026757B2 (en) | 2013-01-25 | 2015-05-05 | Sandisk Technologies Inc. | Non-volatile memory programming data preservation |
US8913428B2 (en) | 2013-01-25 | 2014-12-16 | Sandisk Technologies Inc. | Programming non-volatile storage system with multiple memory die |
US8942043B2 (en) | 2013-03-04 | 2015-01-27 | Sandisk Technologies Inc. | Non-volatile storage with process that reduces read disturb on end wordlines |
US9117530B2 (en) | 2013-03-14 | 2015-08-25 | Sandisk Technologies Inc. | Preserving data from adjacent word lines while programming binary non-volatile storage elements |
US9009568B2 (en) | 2013-08-09 | 2015-04-14 | Sandisk Technologies Inc. | Sensing parameter management in non-volatile memory storage system to compensate for broken word lines |
US9213601B2 (en) | 2013-12-03 | 2015-12-15 | Sandisk Technologies Inc. | Adaptive data re-compaction after post-write read verification operations |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
KR102456104B1 (ko) * | 2015-08-24 | 2022-10-19 | 삼성전자주식회사 | 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법 |
KR102393323B1 (ko) | 2015-08-24 | 2022-05-03 | 삼성전자주식회사 | 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법 |
KR102333746B1 (ko) | 2015-09-02 | 2021-12-01 | 삼성전자주식회사 | 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법 |
US10248499B2 (en) | 2016-06-24 | 2019-04-02 | Sandisk Technologies Llc | Non-volatile storage system using two pass programming with bit error control |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US10437512B2 (en) * | 2016-12-29 | 2019-10-08 | Intel Corporation | Techniques for non-volatile memory page retirement |
JP2018160056A (ja) * | 2017-03-22 | 2018-10-11 | 東芝メモリ株式会社 | メモリコントローラ、メモリシステムおよび制御方法 |
US10956076B2 (en) * | 2017-05-23 | 2021-03-23 | Texas Instruments Incorporated | Integrated circuit capable of switching between non-volatile memory-based and volatile memory-based processor execution |
US10553301B2 (en) | 2017-06-03 | 2020-02-04 | Sandisk Technologies Llc | Dynamic read table block filter |
KR102671402B1 (ko) * | 2019-04-16 | 2024-05-31 | 삼성전자주식회사 | 문턱전압 산포 특성을 향상한 메모리 컨트롤러, 메모리 시스템 및 그 동작방법 |
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 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095344A (en) | 1988-06-08 | 1992-03-10 | Eliyahou Harari | Highly compact eprom and flash eeprom devices |
US5043940A (en) | 1988-06-08 | 1991-08-27 | Eliyahou Harari | Flash EEPROM memory systems having multistate storage cells |
DE69024086T2 (de) | 1989-04-13 | 1996-06-20 | Sundisk Corp | EEprom-System mit Blocklöschung |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
JPH0679293B2 (ja) | 1990-10-15 | 1994-10-05 | 富士通株式会社 | 計算機システム |
US5663901A (en) | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
US5369757A (en) | 1991-06-18 | 1994-11-29 | Digital Equipment Corporation | Recovery logging in the presence of snapshot files by ordering of buffer pool flushing |
US5287478A (en) | 1991-08-06 | 1994-02-15 | R-Byte, Inc. | Digital data tape storage system utilizing plurality of read/write heads with system diagnostic capability |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5187338A (en) | 1991-10-04 | 1993-02-16 | Robertshaw Controls Company | Fluid pressure operated switch and contact assembly |
US5359569A (en) | 1991-10-29 | 1994-10-25 | Hitachi Ltd. | Semiconductor memory |
TW261687B (de) | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
US5313585A (en) | 1991-12-17 | 1994-05-17 | Jeffries Kenneth L | Disk drive array with request fragmentation |
US5361227A (en) | 1991-12-19 | 1994-11-01 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and memory system using the same |
US5712180A (en) | 1992-01-14 | 1998-01-27 | Sundisk Corporation | EEPROM with split gate source side injection |
US5657332A (en) | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5450341A (en) | 1992-08-31 | 1995-09-12 | Nippon Steel Corporation | Non-volatile semiconductor memory device having memory cells, each for at least three different data writable thereinto selectively and a method of using the same |
US5479633A (en) | 1992-10-30 | 1995-12-26 | Intel Corporation | Method of controlling clean-up of a solid state memory disk storing floating sector data |
US5488711A (en) | 1993-04-01 | 1996-01-30 | Microchip Technology Incorporated | Serial EEPROM device and associated method for reducing data load time using a page mode write cache |
US5555204A (en) | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
KR0169267B1 (ko) | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
GB9326499D0 (en) | 1993-12-24 | 1994-03-02 | Deas Alexander R | Flash memory system with arbitrary block size |
US5515317A (en) | 1994-06-02 | 1996-05-07 | Intel Corporation | Addressing modes for a dynamic single bit per cell to multiple bit per cell memory |
US5539690A (en) | 1994-06-02 | 1996-07-23 | Intel Corporation | Write verify schemes for flash memory with multilevel cells |
US5485422A (en) | 1994-06-02 | 1996-01-16 | Intel Corporation | Drain bias multiplexing for multiple bit flash cell |
US5640032A (en) | 1994-09-09 | 1997-06-17 | Nippon Steel Corporation | Non-volatile semiconductor memory device with improved rewrite speed |
JPH08171515A (ja) | 1994-12-19 | 1996-07-02 | Nec Corp | ディスクキャッシュにおけるメモリ管理方式 |
US5475693A (en) | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
US5606532A (en) | 1995-03-17 | 1997-02-25 | Atmel Corporation | EEPROM array with flash-like core |
US5671388A (en) | 1995-05-03 | 1997-09-23 | Intel Corporation | Method and apparatus for performing write operations in multi-level cell storage device |
JPH08328762A (ja) | 1995-06-06 | 1996-12-13 | Mitsubishi Electric Corp | 半導体ディスク装置及びそのメモリ管理方法 |
DE69635105D1 (de) * | 1996-01-31 | 2005-09-29 | St Microelectronics Srl | Mehrstufige Speicherschaltungen und entsprechende Lese- und Schreibverfahren |
US5903495A (en) | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
JP3200012B2 (ja) * | 1996-04-19 | 2001-08-20 | 株式会社東芝 | 記憶システム |
KR100205309B1 (ko) * | 1996-07-23 | 1999-07-01 | 구본준 | 비휘발성 메모리셀 및 이 비휘발성 메모리셀을 프로그래밍하는 방법 |
JP3930074B2 (ja) * | 1996-09-30 | 2007-06-13 | 株式会社ルネサステクノロジ | 半導体集積回路及びデータ処理システム |
US5862074A (en) * | 1996-10-04 | 1999-01-19 | Samsung Electronics Co., Ltd. | Integrated circuit memory devices having reconfigurable nonvolatile multi-bit memory cells therein and methods of operating same |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
KR100259972B1 (ko) * | 1997-01-21 | 2000-06-15 | 윤종용 | 메모리 셀당 2개 이상의 저장 상태들을 갖는 불휘발성 반도체 메모리 장치 |
GB2325546B (en) | 1997-05-21 | 2001-10-17 | Motorola Inc | Electrically programmable memory and method of programming |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US5851881A (en) | 1997-10-06 | 1998-12-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of making monos flash memory for multi-level logic |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
KR100327421B1 (ko) * | 1997-12-31 | 2002-07-27 | 주식회사 하이닉스반도체 | 비휘발성 메모리 소자의 프로그램 시스템 및 그의 프로그램 방법 |
KR100332950B1 (ko) * | 1998-04-10 | 2002-08-21 | 삼성전자 주식회사 | 단일비트동작모드와다중비트동작모드를갖는불휘발성반도체메모리장치및그것의기입/독출방법 |
JP2000106276A (ja) | 1998-09-28 | 2000-04-11 | Fuji Photo Film Co Ltd | フルカラー発光デバイス |
KR100371022B1 (ko) * | 1998-11-26 | 2003-07-16 | 주식회사 하이닉스반도체 | 다중비트 메모리셀의 데이터 센싱장치 |
JP2001006374A (ja) * | 1999-06-17 | 2001-01-12 | Hitachi Ltd | 半導体記憶装置及びシステム |
JP2001093288A (ja) * | 1999-09-20 | 2001-04-06 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4282197B2 (ja) * | 2000-01-24 | 2009-06-17 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6297988B1 (en) * | 2000-02-25 | 2001-10-02 | Advanced Micro Devices, Inc. | Mode indicator for multi-level memory |
US6426896B1 (en) * | 2000-05-22 | 2002-07-30 | Actrans System Inc. | Flash memory cell with contactless bit line, and process of fabrication |
US6345001B1 (en) * | 2000-09-14 | 2002-02-05 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US6512263B1 (en) * | 2000-09-22 | 2003-01-28 | Sandisk Corporation | Non-volatile memory cell array having discontinuous source and drain diffusions contacted by continuous bit line conductors and methods of forming |
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 |
US6717847B2 (en) | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
-
2002
- 2002-08-26 US US10/229,258 patent/US6717847B2/en not_active Expired - Lifetime
- 2002-09-13 CN CN028181689A patent/CN1555559B/zh not_active Expired - Fee Related
- 2002-09-13 DE DE60214023T patent/DE60214023T2/de not_active Expired - Lifetime
- 2002-09-13 KR KR1020047003923A patent/KR100918591B1/ko active IP Right Grant
- 2002-09-13 JP JP2003529480A patent/JP2005503640A/ja active Pending
- 2002-09-13 WO PCT/US2002/029177 patent/WO2003025949A1/en active IP Right Grant
- 2002-09-13 AT AT02798963T patent/ATE336788T1/de not_active IP Right Cessation
- 2002-09-13 EP EP02798963A patent/EP1433182B1/de not_active Expired - Lifetime
- 2002-09-16 TW TW91121164A patent/TW574696B/zh not_active IP Right Cessation
-
2004
- 2004-04-05 US US10/818,926 patent/US7177184B2/en not_active Expired - Lifetime
-
2007
- 2007-01-03 US US11/619,533 patent/US7385854B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20040190337A1 (en) | 2004-09-30 |
US7177184B2 (en) | 2007-02-13 |
KR20040047835A (ko) | 2004-06-05 |
EP1433182A4 (de) | 2004-12-29 |
TW574696B (en) | 2004-02-01 |
CN1555559A (zh) | 2004-12-15 |
DE60214023D1 (de) | 2006-09-28 |
CN1555559B (zh) | 2012-05-30 |
WO2003025949A1 (en) | 2003-03-27 |
KR100918591B1 (ko) | 2009-09-24 |
US6717847B2 (en) | 2004-04-06 |
JP2005503640A (ja) | 2005-02-03 |
US20030053334A1 (en) | 2003-03-20 |
EP1433182A1 (de) | 2004-06-30 |
EP1433182B1 (de) | 2006-08-16 |
US20070109864A1 (en) | 2007-05-17 |
US7385854B2 (en) | 2008-06-10 |
ATE336788T1 (de) | 2006-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60214023T2 (de) | Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus | |
DE60220590T2 (de) | Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers | |
DE602005003924T2 (de) | Programmierung nicht-flüchtiger speicher | |
DE69521882T2 (de) | Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement | |
DE102007002248B4 (de) | Nichtflüchtiges Halbleiter-Speicherbauelement und Verfahren zum Löschen eines Flash-Speicherbauelements | |
DE60315532T2 (de) | Verfahren zur Reudzierung der Programmier- und Lese-Störungen eines nicht-flüchtigen Speichers | |
DE69729502T2 (de) | Mehrpegelspeicher-System | |
DE4422810C2 (de) | Nichtflüchtige Halbleiterspeichervorrichtung | |
DE102004033443B4 (de) | Flashspeicherbauelement mit Mehrpegelzelle | |
DE102005052696B4 (de) | Nichtflüchtiges Speicherbauelement | |
DE69936028T2 (de) | Nichtflüchtiger Halbleiterspeicher | |
DE102005030661B4 (de) | Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes | |
DE68929225T2 (de) | Nichtflüchtiger Halbleiterspeicher | |
DE102005022611B4 (de) | Programmierverfahren für ein nichtflüchtiges Speicherbauelement | |
DE602004005211T2 (de) | Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen | |
DE60304220T2 (de) | Techniken zur reduzierung von kopplungseffekten zwischen speicherzellen benachbarter zeilen | |
DE19724221B4 (de) | Nichtflüchtiger Speicher | |
DE602004013347T2 (de) | Verfahren zum identifizieren nichtflüchtiger speicherelmente mit schlechter subschwellensteigung oder schwacher transkonduktanz | |
DE69614787T2 (de) | Speichermatrix mit mehrzustandsspeicherzellen | |
DE102005057553A1 (de) | Nicht volatiles Speicherbauelement und Verfahren zur Verhinderung eines Heisse-Elektronen-Programmier-Störungsphänomens | |
DE4112070A1 (de) | Elektrisch loeschbarer programmierbarer festwertspeicher mit steuereinheit zur verringerung der elektrischen feldstaerke | |
DE102018105685A1 (de) | Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet | |
DE102005058601A1 (de) | Flash-Speicherbauelement | |
DE4014117A1 (de) | Elektrisch loeschbarer programmierbarer festwertspeicher mit nand-zellenbloecken | |
DE112005000866T5 (de) | Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8327 | Change in the person/name/address of the patent owner |
Owner name: SANDISK CORP., MILPITAS, CALIF., US |
|
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Ref document number: 1433182 Country of ref document: EP Representative=s name: PATENTANWAELTE MAXTON LANGMAACK & PARTNER, DE |