DE60214023T2 - Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus - Google Patents

Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus Download PDF

Info

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
Application number
DE60214023T
Other languages
English (en)
Other versions
DE60214023D1 (de
Inventor
Jian San Jose CHEN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/956,340 external-priority patent/US6456528B1/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of DE60214023D1 publication Critical patent/DE60214023D1/de
Application granted granted Critical
Publication of DE60214023T2 publication Critical patent/DE60214023T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

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 aus 1 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 aus 3 entlang der Schnittlinie 4-4,
  • 5 ist eine Schnittansicht des Speicherarrays aus 3 entlang der Schnittlinie 5-5,
  • 6 stellt Tabelle 1 als Beispiel für Betriebsspannungen des NAND Speicherzellenarrays aus 25 zur Verfügung,
  • 7 stellt ein anderes Merkmal des NAND Speicherzellenarrays aus 25 dar,
  • 8 zeigt ein Beispiel einer existierenden Verteilung von Schwellenspannungen des NAND Speicherzellenarrays aus 25, wenn dieses in vier Zuständen betrieben wird,
  • 9 zeigt ein Beispiel eines Programmierspannungssignals, welches im Speicherzellenarray aus 25 verwendet werden kann,
  • 10A und 10B sind Schwellenspannungsverteilungen, welche eine Mehrzustandtechnik zum Programmieren des Speicherzellenarrays aus 25 veranschaulicht,
  • 11 bildet die Verteilungen der Mehrzustand-Spannungsschwellenpegel aus 10A und 10B mit hinzugefügten Lese- und Prüfbezugsspannungen nach und
  • 12 zeigt Verteilungen von Spannungsschwellenpegeln von Speicherzellen des Arrays aus 25 wenn diese in zwei Zuständen programmiert sind.
  • Beispiele nichtflüchtiger Speichersysteme
  • Mit Bezug auf 17 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. Speicherzellenarray 1 umfassend eine Mehrzahl von in einer Matrix angeordneten Speicherzellen M, welche von einem Spaltenkontrollschaltkreis 2, einem Reihenkontrollschaltkreis 3, einem c-Source-Kontrollschaltkreis 4 und einem c-p-well-Kontrollschaltkreis 5 kontrolliert werden. Der Spaltenkontrollschaltkreis 2 ist mit Bitleitungen (BL) des Speicherzellenarrays 1 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 Reihenkontrollschaltkreis 3 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 Spaltenkontrollschaltkreis 2 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 in 3 beschriftet), auf welchem die Speicherzellen (M) gebildet werden. Der c-Source-Kontrollschaltkreis 4 kontrolliert eine gemeinsame Source-Leitung (als "c-Source" in 2 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-Datenpuffer 6 ausgegeben. In den Speicherzellen zu speichernde Programmierdaten sind Input zum Eingabe/Ausgabe-Datenpuffer 6 über die externen I/O-Leitungen und werden zum Spaltenkontrollschaltkreis 2 transferiert. Die externen I/O-Leitungen sind mit einem Controller 20 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 Machine 8 übertragen, welche den Spaltenkontrollschaltkreis 2, den Reihenkontrollschaltkreis 3, den c-Source-Kontrollschaltkreis 4, den c-p-well-Kontrollschaltkreis 5 sowie den Eingabe/Ausgabe-Datenpuffer 6 kontrolliert. Die State Machine 8 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 Speicherarray 1 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 Befehlsschaltkreisen 7 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 Schaltungschip 21, welcher den Controller 20 und einen oder mehrere integrierte Schaltungschips 22 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 Speicherzellenarrays 1 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 in 2 in Richtung der Bitleitung (BL) gezeigt ist. An einer Oberfläche eines p-leitenden Halbleitersubstrats 9 ist ein p-leitende Gebiet c-p-well 11 gebildet, wobei der c-p-well durch ein n-leitendes Gebiet 10 eingeschlossen ist, um den c-p-well vom p- leitenden Substrat elektrisch zu isolieren. Das n-leitende Gebiet 10 ist mit einer c-p-well-Leitung, welche aus einem ersten Metall MO besteht, über ein erstes Kontaktloch (CB) und eine n-leitende Diffusionsschicht 12 verbunden. Das p-leitende Gebiet c-p-well 11 ist auch mit der c-p-well-Leitung über das erste Kontaktloch (CB) und eine p-leitende Diffusionsschicht 13 verbunden. Die c-p-well-Leitung ist mit dem c-p-well-Kontrollschaltkreis 5 (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 und 5 zeigen Schnittansichten entlang einer Speicherzelle (Schnittlinie 4-4 in 3) beziehungsweise eines Select Transistors (Schnittlinie 5-5 in 3) 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 Isolationsfilm 15 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 Speicherzellenarray 1 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-Oxidfilme 14 (4 und 5) der ausgewählten Speicherzellen (M) angewendet und die Daten der ausgewählten Speicherzellen werden gelöscht, weil ein Tunnel-Strom über den Tunnel-Oxidfilm 14 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-Oxidfilm 14 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 Spaltenkontrollschaltkreises 2 aus 1. Jedes Paar Bitleitungen (BLe und BLo) ist mit einem Datenspeicherteil 16 gekoppelt, welcher zwei Datenspeicherregister (DS1 und DS2) umfasst, wobei jedes in der Lage ist, ein Bit Daten zu speichern. Der Datenspeicherteil 16 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 Datenspeicherteil 16 wird durch Auswählen eines Signals von "EVENBL" und "ODDBL" selektiv mit der ausgewählten Bitleitung (BL) verbunden. Der Datenspeicherteil 16 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 auf 1 beschrieben, mit dem Eingabe/Ausgabe-Datenpuffer 6 verbunden.
  • Betrieb des Speichersystems mit mehr als zwei Zuständen pro Speicherelement
  • 8 stellt Schwellenspannungsverteilungen für das Speicherzellenarray 1 dar, wenn jedes Floating Gate Speicherelement zwei Bit Daten, nämlich vier Datenzustände in jeder Speicherzelle (M) speichert. Die Kurve 25 stellt eine Verteilung der Schwellenpegel VT der Zellen innerhalb des Arrays 1 dar, welche sich im gelöschten Zustand (Datenzustand "11") befinden, welche negative Schwellenspannungspegel sind. Die Schwellenpegelverteilungen 26 und 27 von Speicherzellen, welche "10" beziehungsweise "00" Nutzdaten speichern, liegen wie gezeigt zwischen 0V und 1V sowie zwischen 1V und 2V. Eine Kurve 28 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 und 10B 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 Zustand 34 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 oder 34 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 Zustand 33 verbleibt, wird die Zelle von diesem Zustand zum höchstmöglichen Zustand 36, wie durch den oberen Pfeil in 10B gezeigt, programmiert. Wenn die Zelle jedoch in den Zustand 34 infolge des ersten Programmierdurchlaufs programmiert worden ist, wird die Zelle im zweiten Durchlauf von diesem Zustand weiter in Zustand 35 programmiert, wie durch den unteren Pfeil in 10B 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 und 10B 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 3336 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ände 33 und 36 aus 10 und 11 werden programmiert, welche in 12 mit 33' beziehungsweise 36' 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 Schwellenpegelverteilung 33'. Wenn das in der Zelle zu speichernde Datenbit jedoch "0" ist, wird die Zelle in einer Weise wie in 9 dargestellt programmiert, um seinen Schwellenpegel in die Verteilung 36' zu bewegen. Das wird auf dieselbe Weise, wie in 10B dargestellt, durchgeführt, wenn ein oberes Seitenbit "0" vom gelöschten Zustand 33 in den programmierten Zustand 36 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 Machine 8 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 Verteilung 36' 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ände 33 oder 36 programmiert ist. Da während des Zweizustandbetriebs (12) keine Daten in die Mehrzustandverteilung 34 oder 35 (11) programmiert wurden, wird die Referenz VR00 ungleich Null welche sich ungefähr in der Mitte der Verteilungen 33' und 36' 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 Schwellenverteilung 33', wie mit Bezug auf 11 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 Zustandverteilung 36' aus 12 durch einen wesentlichen Rand von der gelöschten Verteilung 33' infolge einer Programmierung mit dem Prüfpegel VR01 getrennt ist, erlaubt der höhere Leseschwellenunterbrechungspunkt VR00 signifikant eine positivere Verschiebung der Verteilung 33', 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 Verteilungen 33' und 36' 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 Verteilung 36' 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 Controller 20 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 Machine 8 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 und 11 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Ein Verfahren gemäß einem der vorhergehenden Ansprüche in einem NAND Speichersystem.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. Ein NAND Speichersystem gemäß einem der vorhergehenden Ansprüche.
DE60214023T 2001-09-17 2002-09-13 Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus Expired - Lifetime DE60214023T2 (de)

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 (212)

* Cited by examiner, † Cited by third party
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
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
EP1543491B1 (de) * 2002-09-20 2015-07-08 Creator Technology B.V. Lumineszenz- und farbvariationskompensation in einer flexiblen anzeige
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
US7139213B2 (en) 2003-06-02 2006-11-21 Silicon Aquarius, Inc. Multiple data path memories and systems
US7254690B2 (en) * 2003-06-02 2007-08-07 S. Aqua Semiconductor Llc Pipelined semiconductor 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
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
KR20070007265A (ko) * 2003-12-30 2007-01-15 쌘디스크 코포레이션 제어 데이터 관리를 구비한 비휘발성 메모리 및 방법
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
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 株式会社東芝 不揮発性半導体記憶装置
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
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
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
US7362616B2 (en) 2005-07-28 2008-04-22 Stmicroelectronics S.R.L. NAND flash memory with erase verify based on shorter evaluation time
EP1748446A1 (de) * 2005-07-28 2007-01-31 STMicroelectronics S.r.l. Zweiseitenprogrammierung
KR100666185B1 (ko) * 2005-07-29 2007-01-09 삼성전자주식회사 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법
US7307878B1 (en) * 2005-08-29 2007-12-11 Spansion Llc Flash memory device having improved program rate
US7352626B1 (en) 2005-08-29 2008-04-01 Spansion Llc Voltage regulator with less overshoot and faster settling time
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7433228B2 (en) * 2005-09-20 2008-10-07 Spansion Llc Multi-bit flash memory device having improved program rate
US7957204B1 (en) 2005-09-20 2011-06-07 Spansion Llc Flash memory programming power reduction
US8358543B1 (en) 2005-09-20 2013-01-22 Spansion Llc Flash memory programming with data dependent control of source lines
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus 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
US7301817B2 (en) * 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
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
US20070150644A1 (en) * 2005-12-28 2007-06-28 Yosi Pinto System for writing non-volatile memories for increased endurance
US7245556B1 (en) * 2005-12-28 2007-07-17 Sandisk Corporation Methods for writing non-volatile memories for increased endurance
US7443726B2 (en) * 2005-12-29 2008-10-28 Sandisk Corporation Systems for alternate row-based reading and writing for non-volatile memory
US7349260B2 (en) 2005-12-29 2008-03-25 Sandisk Corporation 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
US7499326B2 (en) * 2006-04-12 2009-03-03 Sandisk Corporation Apparatus for 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
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 半導体記憶装置
KR101202537B1 (ko) * 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
KR101375955B1 (ko) 2006-05-12 2014-03-18 애플 인크. 메모리 디바이스 내의 왜곡 추정 및 상쇄
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7518911B2 (en) * 2006-05-25 2009-04-14 Sandisk Corporation Method and system for programming multi-state non-volatile memory devices
US7457163B2 (en) * 2006-06-01 2008-11-25 Sandisk Corporation System for verifying non-volatile storage using different voltages
US7440331B2 (en) * 2006-06-01 2008-10-21 Sandisk Corporation Verify operation for 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 삼성전자주식회사 비휘발성 메모리, 상기 비휘발성 메모리의 데이터 유효성을판단하는 장치 및 방법
US7522454B2 (en) * 2006-07-20 2009-04-21 Sandisk Corporation Compensating for coupling based on sensing a neighbor using coupling
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates 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
US7495953B2 (en) * 2006-07-20 2009-02-24 Sandisk Corporation System for configuring compensation
US7506113B2 (en) * 2006-07-20 2009-03-17 Sandisk Corporation Method for configuring compensation
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8407395B2 (en) * 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable 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
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
KR100855467B1 (ko) * 2006-09-27 2008-09-01 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법
US7684247B2 (en) * 2006-09-29 2010-03-23 Sandisk Corporation Reverse reading in non-volatile memory with compensation for coupling
US7447076B2 (en) 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling
KR100830580B1 (ko) * 2006-10-20 2008-05-21 삼성전자주식회사 플래시 메모리 장치를 포함한 메모리 시스템의 데이터 복원방법
KR100771521B1 (ko) 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US7511996B2 (en) 2006-11-30 2009-03-31 Mosaid Technologies Incorporated Flash memory program inhibit scheme
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
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
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
US7616498B2 (en) * 2006-12-29 2009-11-10 Sandisk Corporation Non-volatile storage system with resistance sensing and compensation
US7606070B2 (en) * 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7518923B2 (en) * 2006-12-29 2009-04-14 Sandisk Corporation Margined neighbor reading for non-volatile memory read operations including coupling compensation
US7495962B2 (en) * 2006-12-29 2009-02-24 Sandisk Corporation Alternating read mode
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
CA2672245A1 (en) 2007-02-07 2008-08-14 Mosaid Technologies Incorporated Source side asymmetrical precharge programming scheme
KR101494023B1 (ko) * 2007-02-16 2015-02-16 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 반도체 장치 및 상호접속된 장치들을 갖는 시스템에서의 전력 소비를 감소시키는 방법
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US8046527B2 (en) 2007-02-22 2011-10-25 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
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
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
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
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8127104B1 (en) 2007-08-06 2012-02-28 Marvell International Ltd. Alignment matrix memory copy
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
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies 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
US7742335B2 (en) * 2007-10-31 2010-06-22 Micron Technology, Inc. Non-volatile multilevel memory cells
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
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
KR101092823B1 (ko) * 2008-01-16 2011-12-12 후지쯔 가부시끼가이샤 반도체 기억 장치, 제어 장치, 및 제어 방법
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
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
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass 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
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
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
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
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
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
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
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
US8634240B2 (en) * 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read 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 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US9026757B2 (en) 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
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
KR102393323B1 (ko) 2015-08-24 2022-05-03 삼성전자주식회사 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법
KR102456104B1 (ko) * 2015-08-24 2022-10-19 삼성전자주식회사 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법
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
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)

* Cited by examiner, † Cited by third party
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
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
EP0617363B1 (de) 1989-04-13 2000-01-26 SanDisk Corporation Austausch von fehlerhaften Speicherzellen einer EEprommatritze
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
US5485422A (en) 1994-06-02 1996-01-16 Intel Corporation Drain bias multiplexing for multiple bit flash cell
US5539690A (en) 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
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

Also Published As

Publication number Publication date
EP1433182A4 (de) 2004-12-29
TW574696B (en) 2004-02-01
ATE336788T1 (de) 2006-09-15
EP1433182A1 (de) 2004-06-30
US20040190337A1 (en) 2004-09-30
US7385854B2 (en) 2008-06-10
DE60214023D1 (de) 2006-09-28
CN1555559A (zh) 2004-12-15
US7177184B2 (en) 2007-02-13
JP2005503640A (ja) 2005-02-03
KR100918591B1 (ko) 2009-09-24
KR20040047835A (ko) 2004-06-05
US6717847B2 (en) 2004-04-06
US20070109864A1 (en) 2007-05-17
WO2003025949A1 (en) 2003-03-27
CN1555559B (zh) 2012-05-30
EP1433182B1 (de) 2006-08-16
US20030053334A1 (en) 2003-03-20

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
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
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
DE4112070C2 (de) Elektrisch löschbare, nichtflüchtige Halbleiter-Speicheranordnung und selektives Datenlöschverfahren
DE4014117C2 (de)
DE19724221B4 (de) Nichtflüchtiger Speicher
DE60200498T2 (de) Programmierverfahren für einen nichtflüchtigen Halbleiterspeicher
DE602004013347T2 (de) Verfahren zum identifizieren nichtflüchtiger speicherelmente mit schlechter subschwellensteigung oder schwacher transkonduktanz
DE102005057553A1 (de) Nicht volatiles Speicherbauelement und Verfahren zur Verhinderung eines Heisse-Elektronen-Programmier-Störungsphänomens
DE102007002248A1 (de) Nichtflüchtiges Halbleiter-Speicherbauelement und Verfahren zum Löschen eines Flash-Speicherbauelements
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
DE102005058601A1 (de) Flash-Speicherbauelement
DE112005000866T5 (de) Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen
DE112004000703B4 (de) Verfahren zum Betrieb einer Doppelzellenspeichereinrichtung mit einer verbesserten Lesebereichsspanne über die Lebensdauer hinweg
DE102008007685B4 (de) Integrierte Schaltung und Verfahren zum Betreiben einer integrierten Schaltung

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