DE60220590T2 - Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers - Google Patents

Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers Download PDF

Info

Publication number
DE60220590T2
DE60220590T2 DE60220590T DE60220590T DE60220590T2 DE 60220590 T2 DE60220590 T2 DE 60220590T2 DE 60220590 T DE60220590 T DE 60220590T DE 60220590 T DE60220590 T DE 60220590T DE 60220590 T2 DE60220590 T2 DE 60220590T2
Authority
DE
Germany
Prior art keywords
memory
data
memory elements
stored
programming
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
DE60220590T
Other languages
English (en)
Other versions
DE60220590D1 (de
Inventor
Jian San Jose CHEN
Tomoharu Tanaka
Yupin Fremont FONG
Khandker N. Sunnyvale Quader
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.)
Toshiba Corp
SanDisk Corp
Original Assignee
Toshiba Corp
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
Application filed by Toshiba Corp, SanDisk Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE60220590D1 publication Critical patent/DE60220590D1/de
Publication of DE60220590T2 publication Critical patent/DE60220590T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Description

  • Diese Erfindung betrifft im allgemeinen einen nicht-flüchtigen Speicher und seinen Betrieb und insbesondere Techniken zum Reduzieren der Auswirkungen von in einem Speicherelement gespeicherter Daten beim Lesen von Daten aus anderen Speicherelementen.
  • Die Prinzipien der vorliegenden Erfindung haben auf verschiedene Typen von nicht-flüchtigen Speichern Anwendung, diejenige, die derzeitig vorhanden sind und diejenige, die dazu in Betracht gezogen werden, um neue Techniken zu verwenden, die entwickelt werden. Implementierungen der vorliegenden Erfindung werden allerdings in Bezug auf einen elektrisch löschbaren, programmierbaren Nur-Lese-Flash-Speicher (EEPROM) beschrieben, wobei die Speicherelemente Floating Gates sind.
  • Feldeffektkopplung zwischen benachbarten Floating Gates wird in US-Patent 5,867,429 von Jian Chen und Yupin Fong beschrieben. Der Grad dieser Kopplung steigt zwangsläufig an, während die Größe von Speicherzellenarrays als Ergebnis der Verbesserungen von Herstellungstechniken integrierter Schaltungen verkleinert werden. Das Problem tritt am deutlichsten zwischen zwei Sätzen benachbarter Zellen auf, die zu unterschiedlichen Zeitpunkten programmiert worden sind. Ein Satz von Zellen wird programmiert, um einen Ladungspegel auf deren Floating Gates hinzuzufügen, der einem Satz von Daten entspricht. Nachdem der zweite Satz von Zellen mit einem zweiten Satz von Daten programmiert ist, erscheinen die vom Floating Gate des ersten Satzes von Zellen gelesenen Ladungspegel aufgrund der Auswirkung der Ladung auf den zweiten Satz von Floating Gates, die mit dem ersten gekoppelt sind, oftmals unterschiedlich zu sein. Dies ist als Yupin Effekt bekannt. Das oben erwähnte US-Patent 5,867,429 schlägt vor, entweder die zwei Sätze von Floating Gates physikalisch voneinander zu isolieren oder den Effekt der Ladung auf den zweiten Satz von Floating Gates zu berücksichtigen, wenn aus dem ersten gelesen wird.
  • Dieser Effekt liegt in verschiedenen Typen von Flash-EEPROM Zellenarrays vor. Bei einem NOR Array einer Bauart sind dessen Speicherzellen zwischen benachbarten (Spalten) Bitleitungen verbunden und Control Gates sind mit Wortleitungen (Reihen) verbunden. Die einzelnen Zellen enthalten entweder einen Floating Gate Transistor mit oder ohne einen Select Transistor, der damit in Reihe geschaltet ist, oder zwei Floating Gate Transistoren, die durch einen einzelnen Select Transistor getrennt werden. Beispiele derartiger Arrays und deren Verwendung in Speichersystemen werden in den folgenden US-Patenten und anhängigen Anmeldungen von SanDisk aufgeführt: US-Patent 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 09/505,555 , angemeldet am 17.02.2000 und als US-Patent 6,426,893 erteilt sowie 09/667 , angemeldet am 22.09.2000 und als US-Patent US 6,512,263 erteilt.
  • Ein NAND Array einer Bauart enthält eine Anzahl von Speicherzellen, wie zum Beispiel 8, 16 oder sogar 32, die in Reihe zwischen einer Bitleitung und einem Bezugspotential durch Select Transistoren an beiden Enden miteinander in Reihe verbunden sind. Wortleitungen sind mit Control Gates von Zellen in verschiedenen Reihensträngen verbunden. Relevante Beispiele derartiger Arrays und deren Betrieb werden in den folgende US-Patenten und anhängigen Patentanmeldungen von Toshiba angeführt: 5,570,315 , 5,774,397 und 6,046,935 sowie 09/667,0610 (erteilt als US-Patent 6,737,746 ).
  • Es ist weiterhin üblich, dass in derzeitigen kommerziellen Produkten für jedes Floating Gate ein einzelnes Bit Daten durch Betrieb in einer binären Betriebsart zu speichern, wobei nur zwei Bereiche von Schwellspannungen des Floating Gate Transistors als Speicherpegel definiert sind. Die Schwellspannungen eines Floating Gate Transistors entsprechen Bereichen von Ladungspegeln, die auf deren Floating Gates gespeichert sind. Zusätzlich zum Schrumpfen der Größe des Speicherarrays besteht die Tendenz darin, ferner die Ladungsspeicherdichte derartiger Speicherarrays durch Speichern von mehr als einem Bit Daten in jedem Floating Gate Transistor zu erhöhen. Dies wird durch Festlegen von mehr als zwei Schwellpegeln als Speicherzustände für jeden Floating Gate Transistor für derartige Zustände (2 Bit Daten pro Floating Gate) durchgeführt, die nun in kommerziellen Produkten enthalten sind. Mehr Speicherzustände, wie zum Beispiel 16 Zustände pro Speicherelement werden in Erwägung gezogen. Jeder Floating Gate Transistor hat einen Gesamtbereich (Fenster) von Schwellspannungen, in dem er praktisch betrieben werden kann, und dieser Bereich ist in die Anzahl von Zuständen unterteilt, die dafür festgelegt sind, plus Ränder zwischen den Zuständen um es diesen zu ermöglichen, klar voneinander unterschieden zu werden.
  • Eine übliche Operation von diesen Typen von nicht-flüchtigen Speichern besteht darin, Blöcke von Speicherzellen zu löschen, bevor diese re-programmiert werden. Die Zellen innerhalb des Blocks werden dann einzeln aus gelöschten Zuständen in Zustände programmiert, die durch die Eingangsdaten dargestellt werden, die gespeichert werden. Programmieren enthält typischerweise abwechselnde parallele Beaufschlagung einer großen Anzahl von Speicherzellen mit Programmierspannungspulsen und ein Lesen von deren einzelnen Zuständen, um zu ermitteln, ob die einzelnen Zellen deren vorgesehene Zustände erreicht haben. Programmieren wir für Zellen beendet, die bestätigt worden sind, dass diese deren vorgesehenen Schwellpegel erreicht haben, während paralleles Programmieren der anderen Zellen andauert, bis alle diese Zellen programmiert sind. Wenn die Anzahl von Speicherzuständen pro Speicherelement erhöht wird, wird die Zeit zum Durchführen der Programmierung gewöhnlich erhöht, da die kleineren Spannungsbe reiche für die einzelnen Zustände eine größere Programmiergenauigkeit erfordern. Dies kann eine erheblich nachteilige Auswirkung auf die Performance des Speichersystems haben.
  • Die engeren Bereiche der festgelegten Floating Gate Speicherpegel, die aus einem Mehrzustandbetrieb resultieren, erhöht die Empfindlichkeit einer ersten Gruppe von Speicherelementen auf den Betrag der Ladung, der in einer später programmierten zweiten Gruppe von benachbarten Speicherelementen gespeichert wird. Wenn die erste Gruppe gelesen wird, kann zum Beispiel die Ladung der zweiten Gruppe zu Fehlern beim Lesen der Zustände der ersten Gruppe führen. Das gekoppelte Feld von den benachbarten Speicherelementen kann den scheinbaren Zustand, der gelesen wird, einen ausreichenden Betrag verschieben, um zu einem fehlerhaften Lesen von zumindest einigen Bit einer Gruppe von gespeicherten Daten führen. Falls die Anzahl fehlerhafter Bit innerhalb des Leistungsvermögens eines Fehlerkorrekturcodes (EDD) beibehalten wird, werden die Fehler korrigiert, aber falls die Anzahl von Fehlern höher ist, ist es erforderlich, dass andere Struktur- und/oder Betriebstechnik(en) zum Einsatz kommen. Die im zuvor genannten US-Patent 5,867,429 beschriebenen Techniken sind für viele Arrays geeignet, aber es ist gewünscht, zusätzliche Techniken zum Kompensieren der betriebsbedingten Effekte von Feldkopplung zwischen benachbarten Floating Gates zur Verfügung zu stellen.
  • US-Patent 6,091,640 offenbart eine Technik zum Speichern von Daten, in der ein Satz von Daten in ein Speicherzellenarray anfänglich in einem rauen Schreibmodus geschrieben wird. Anschließend werden die Daten in einem Schreibmodus mit hoher Genauigkeit erneut geschrieben
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Betrieb eines nicht-flüchtigen Speichersystems zur Verfügung gestellt, wobei in einigen Speicherelementen eines Arrays von Speicherelementen gespeicherte Werte aus anderen Speicherelementen gelesene Werte aufgrund von zumindest elektrischer Feldkopplung zwischen Speicherelementen beeinflussen. Das Verfahren beinhaltet Schreiben eines ersten Satzes gespeicherter Werte, der einem ersten Datensatz entspricht, in eine erste Gruppe von Speicherelementen und danach Schreiben eines zweiten Satzes gespeicherter Werte, der einem zweiten Datensatz entspricht, in eine von der ersten Gruppe verschiedene zweite Gruppe von Speicherelementen. Zumindest einige des gespeicherten zweiten Satzes von Werten beeinflussen einige aus zumindest der ersten Gruppe von Speicherelementen gelesene Daten aufgrund von zumindest elektrischer Feldkopplung zwischen diesen. Um exaktes Lesen des ersten Datensatzes aus der ersten Gruppe von Speicherelementen zu vereinfachen, wird nur der erste Satz gespeicherter Werte, der in die erste Gruppe von Speicherelementen geschrieben wird, in einer Weise verändert, was einem Effekt des zweiten Satzes gespeicherter Werte auf die aus zumindest einigen aus der ersten Gruppe von Speicherelementen gelesenen Daten aufgrund von zumindest Feldkopplung zwischen diesen entgegenwirkt, ohne die zweite Gruppe von Speicherelementen nochmals zu schreiben.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein nicht-flüchtiges Speichersystem zum Speichern von Daten zur Verfügung gestellt, das ein Array von Speicherelementen auf einem integrierten Schaltungschip zur Verfügung stellt, eine Programmierschaltung auf dem integrierten Schaltungschip zur Verfügung stellt, der dazu programmiert ist, einen ersten Satz von Daten als ein ersten Satz von gespeicherten Werten in eine erste Gruppe der Speicherelemente zu schreiben und danach einen zweiten Satz von Daten als einen zweiten Satz von gespeicherten Werten in einen zweiten Satz der Speicherelemente zu schreiben. Die Werte in einigen der Speicherelemente gespeicherter Ladung beeinflussen aus anderen der Speicherelemente gelesene Daten aufgrund von zumindest elektrischer Feldkopplung zwischen Speicherelementen, wobei zumindest einige des zweiten Satzes von Werten einige aus der ersten Gruppe von Speicherelementen diese aufgrund der elektrischen Feldkopplung beeinflussen. Die Programmierschaltung ist ferner dazu programmiert, nur den ersten Satz gespeicherter Werte in einer Weise zu verändern, um einem Effekt vom zweiten Satz gespeicherter Werte auf aus der ersten Gruppe von Speicherelementen gelesene Daten zumindest aufgrund der Feldkopplung zwischen diesen entgegenzuwirken, ohne die zweite Gruppe von Speicherelementen nochmals zu Schreiben. Eine erste Gruppe von Speicherelementen wird auf deren gewünschten Zuständen erneut programmiert, nachdem eine zweite benachbarte Gruppe von Speicherelementen programmiert wurde. Da periodisches Lesen des Zustands der Zellen Bestandteil des Programmierprozesses ist, um zu wissen, wann abzubrechen, fügt das Re-Programmieren auf die erste Gruppe von Speicherelementen zusätzliche Ladung, die dazu notwendig ist, um den Effekt des Feldkoppelns mit den später programmierten benachbarten Speicherelementen auszugleichen. Eine alternierende Puls- und Lesesequenz einer typischen Programmieroperation kann dazu verwendet werden, die erste Gruppe von Speicherelementen in Gegenwart der Einwirkung auf die zweite benachbarte programmierte Gruppe von Speicherelementen zu re-programmieren. Ein späteres Lesen der ersten Gruppe von Zellen, obwohl diese noch von der Ladung auf benachbarten Zellen beeinflusst wird, ist genauer, da der Einfluss der Ladung der benachbarten Zelle als eine Folge des Re-Programmierens in Betracht gezogen wurde. Um zu Verhindern einen Datenpuffer aufrechtzuerhalten, der groß genug ist, um die im ersten Durchgang programmierten Daten zur späteren Verwendung im zweiten Programmierdurchgang aufzunehmen, können die Daten, die durch den ersten Durchgang gespeichert wurden, vom Speicher mit angepassten Lesegrenzen gelesen werden und dann werden diese Daten im zweiten Durchgang re-programmiert.
  • Eine Verteilung von Programmierpegeln unter Speicherelementen, die auf den gleichen Zustand programmiert wurden, können durch re-programmieren einiger der Speicherelementen an einer Seite der Verteilung in die andere Seite der Verteilung verdichtet werden. Die Speicherelemente eines vorgegebenen Zustands werden alle gelesen und diejenigen, die programmierte Pegel unterhalb einer festgelegten Schwelle innerhalb der Verteilung haben, werden zusätzlich programmiert, um deren Pegel über den festgelegten Pegel anzuheben. Dies hat das Ergebnis, den Betrag des Programmierfensters zu verringern, der für jeden der Zustände des Speichers notwendig ist, und ermöglicht auf diese Weise zusätzliche Zustände einzufügen und/oder zusätzlichen Raum zwischen Zuständen zur Verfügung zu stellen. Eine derartige Verdichtung kann unabhängig vom im vorstehend beschriebenen Abschnitt durchgeführt werden, kann aber auch vorteilhaft als Teil des Re-Programmierprozesses mit einbezogen sein. In der Tat kann der zweite Programmierdurchgang sofort nach dem ersten Programmieren der selben Gruppe von Zellen erfolgen, um die programmierte Zellenpegelverteilung auf ein Ausmaß zu beschränken, welche die scheinbare Verbreiterung dieser Verteilungen, die nach Programmieren benachbarter Zellen auftritt, berücksichtigt. Der Schritt die Programmierpulsspannungspegel zu erhöhen kann höher als gewöhnlich für den ersten Programmierdurchgang durchgeführt werden, um eine Gruppe von Zellen rasch in deren anfängliche Pegel innerhalb breiter Verteilungen zu programmieren, und dann den gewöhnlich schmalen inkrementelle Spannungsanstieg von Programmierpulsen während des zweiten Durchgangs durchzuführen, um die Ausdehnung dieser Verteilungen zu verdichten. Dadurch, dass die schmale Schwellspannungsverteilungen der programmierten Speicherzellen rasch erreicht werden, führen diese Techniken zu erhöhter Performance.
  • Die Reihenfolge, in der benachbarte Speicherzellen gemäß einer bisherigen Mehrzustand-Programmiertechnik programmiert werden, kann in einer Art und Weise durchgeführt werden, die den Yupin Effekt von Kreuzkopplung zwischen derartigen benachbarten Zellen minimiert. Gemäß der bestehenden Programmiertechnik wird eine erste Gruppe abwechselnder benachbarter Zellen in einer Reihe oder Spalte teilweise in einem ersten Programmierschritt auf die Pegel eines ersten Datenbits programmiert, eine verbleibende zweite Gruppe von abwechselnden Zellen wird dann ähnlich teilweise auf die Pegel eines ersten Datenbit für diese Zellen programmiert, gefolgt vom Beenden der Programmierung der ersten Gruppe mit einem zweiten Bit Daten pro Zelle, und abschließend ist dann die Programmierung der zweiten Gruppe mit seinem zweiten Bit abgeschlossen. Aber um den Yupin Effekt unter den Speicherelementen derartiger Zellen zu minimieren, können beide Bit in separaten Schritten in die erste Gruppe von Zellen programmiert werden, gefolgt vom Programmieren der zweiten Gruppe von Zellen mit deren zwei Bit Daten in separaten Schritten: Diese Technik ist insbesondere auf eine Programmierung eines NAND Spei chers anwendbar, aber nicht darauf beschränkt. Diese Technik kann an sich oder mit den in den vorangehenden zwei Abschnitten beschrieben Techniken verwendet werden, um dem Yupin Effekt oder der Kopplung zwischen benachbarten Speicherelementen in unterschiedlichen Ausmaßen entgegenzuwirken.
  • Zusätzliche Aspekte, Merkmale und Vorteile der vorliegenden Erfindung sind in der folgenden Beschreibung beispielhafter Ausgestaltungen enthalten, wobei die Beschreibung in Zusammenhang mit den beiliegenden Zeichnungen gesehen werden sollte.
  • 1 ist ein Blockdiagramm eines nichtflüchtigen Speichersystems, in dem die verschiedenen Aspekte zum Implementieren der vorliegenden Erfindung beschrieben werden,
  • 2 stellt einen vorliegenden Schaltkreis und Organisation 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 vorliegenden Verteilung von Schwellspannungen des NAND Speicherzellenarrays aus 25, wenn dieses in vier Zuständen betrieben wird,
  • 9B zeigt vorliegende Schwellspannungs-Reaktionen des Speicherzellenarrays von 25 als Antwort darauf, mit Spannungspulsen von 9A programmiert zu werden.
  • 10A und 10B sind Schwellspannungsverteilungen, die eine bestehende Mehrzustandtechnik zum Programmieren des Speicherzellenarrays aus 25 darstellt,
  • 11 zeigt den Yupin Effekt an Schwellverteilungen des Speichezellenarrays aus 25, wenn mit einer bestehenden Technik programmiert wird,
  • 12 zeigt den Yupin Effekt an Schwellverteilungen des Speichezellenarrays aus 25, wenn mit einer ersten Technik programmiert wird,
  • 13 stellt die Programmierschritte des Speicherzellenarrays aus 25 gemäß der ersten Technik dar, deren Ergebnisse in 12 gezeigt sind,
  • 14B zeigt Schwellspannungspegel-Antworten des Speicherzellenarrays von 25 auf Programmierpulse von 14A gemäß des Programmierverfahrens von 13,
  • 15B zeigt Schwellspannungspegel-Antworten des Speicherzellenarrays von 2-5 auf einen abwechselnden Satz von Programmierpulsen von 15A gemäß des Programmierverfahrens von 13,
  • 16 zeigt den Yupin Effekt an Schwellverteilungen des Speichezellenarrays von 25, wenn mit einer zweiten Technik programmiert wird,
  • 17 veranschaulicht die Programmierschritte des Speicherzellenarrays von 25 gemäß der zweiten Technik, deren Ergebnisse in 16 gezeigt sind,
  • 18 zeigt den Yupin Effekt an Schwellverteilungen des Speichezellenarrays von 25, wenn mit einer Veränderung der zweiten Technik programmiert wird,
  • 19 veranschaulicht die Programmierschritte des Speicherzellenarrays von 25 gemäß der Veränderung der zweiten Technik, deren Ergebnisse in 16 gezeigt sind,
  • 20 zeigt den Yupin Effekt an Schwellverteilungen des Speichezellenarrays von 25, wenn mit einer dritten Technik programmiert wird,
  • 21 ist ein Flussdiagramm, das einen ersten Teil einer beispielhaften Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 25 zeigt,
  • 22 ist ein Flussdiagramm, das einen zweiten Teil der beispielhaften Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 25 zeigt,
  • 23 ist ein Flussdiagramm, das einen ersten Teil einer beispielhaften zweiten Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 25 zeigt,
  • 24 ist ein Flussdiagramm, das einen zweiten Teil der zweiten beispielhaften Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 25 zeigt,
  • 25 ist ein Flussdiagramm, das, wenn es mit 21 kombiniert wird, einen ersten Teil einer dritten beispielhaften Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 25 zeigt,
  • 26 ist ein Flussdiagramm, das, wenn es mit 22 kombiniert wird, einen zweiten Teil der dritten beispielhaften Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 25 zeigt,
  • 27 ist ein Flussdiagramm, das, wenn es mit 23 kombiniert wird, einen ersten Teil einer vierten beispielhaften Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 25 zeigt,
  • 28 ist ein Flussdiagramm, das, wenn es mit 24 kombiniert wird, einen zweiten Teil der vierten beispielhaften Ausgestaltung eines Programmierverfahrens des Speicherzellenarrays von 2-5 zeigt,
  • 29 veranschaulicht eine Programmiersequenz, welche die dritte und vierte Ausgestaltung verwendet,
  • 30 zeigt einen ersten Teil eines Verfahrens, um Daten aus dem Speicher aus 25 auszulesen und
  • 31 zeigt einen zweiten Teil des Verfahrens, um Daten vom Speicher von 25 zu lesen.
  • Beispiele nichtflüchtiger Speichersysteme
  • Mit Bezug auf 17 wird ein spezifisches nichtflüchtiges Speichersystem beschrieben, in dem die verschiedenen Aspekte der vorliegenden Erfindung implementiert sind, um spezifische Beispiele zur Verführung zu stellen. 1 ist ein Blockdiagramm eines Flash-Speichersystems. Speicherzellenarray 1 enthält eine Mehrzahl von in einer Matrix angeordneten Speicherzellen M, die 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 zu ermöglichen oder die Programmierung zu sperren. Der Reihenkontrollschaltkreis 3 ist mit Wortleitungen (WL) verbunden, um eine der Wortleitungen (WL) auszuwählen, um Lesespannungen anzuwenden, um eine Programmierspannung anzuwenden, die mit den durch den Spaltenkontrollschaltkreis 2 kontrollierten Bitleitungs-Potentialen verbunden ist, und um eine Löschspannung anzuwenden, die mit einer Spannung eines p-Typ-Gebiets gekoppelt ist (als "c-p-well" 21 in 3 beschriftet), auf dem die Speicherzellen (M) ausgebildet sind. Der c-Source-Kontrollschaltkreis 4 kontrolliert eine gemeinsame Source-Leitung (als "c-Source" in 2 beschriftet), die mit den Speicherzellen (M) verbunden ist. Der c-p-well-Kontrollschaltkreis 5 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 Daten-Eingabe/Ausgabe-Puffer 6 ausgegeben. In den Speicherzellen zu speichernde Programmdaten sind über die externen I/O-Leitungen Input in den Daten-Eingabe/Ausgabe-Puffer 6 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, die mit dem Controller 20 verbundenen externen Kontrollleitungen verbunden sind. Die Befehlsdaten melden dem Flash-Speicher, welche Operation ange fordert wird. Der Eingangsbefehl wird zu einer State Machine 8 übertragen, die den Spaltenkontrollschaltkreis 2, den Reihenkontrollschaltkreis 3, den c-Source-Kontrollschaltkreis 4, den c-p-well-Kontrollschaltkreis 5 sowie den Daten-Eingabe/Ausgabe-Puffer 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 derartige Daten zur Verfügung beziehungsweise empfängt diese. Der Controller wandelt derartige Befehle in Befehlssignale um, die 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 schreibenden oder aus dem Speicherarray zu lesen Nutzdaten. Ein typisches Speichersystem enthält einen integrierten Schaltungschip 21, der den Controller 20 und einen oder mehrere integrierte Schaltungschips 22 umfasst, die jeweils ein Speicherarray und zugehörige 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 Teil des Host-Systems eingebettet werden oder kann in einer Speicherkarte enthalten sein, die in einen Verbindungssockel von Host-Systemen herausnehmbar einsetzbar ist. Eine derartige Karte kann das komplette Speichersystem oder den Controller und das Speicherarray mit zugehörigen externen Schaltkreisen enthalten und kann in separaten 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 ein 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, die gleichzeitig löschbar sind. In diesem Beispiel sind in jedem Block 8.512 Spalten enthalten, die 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 bis 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 Transis toren in jeder Zelleinheit enthalten sind, wird zur Vereinfachung 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 Byte Daten gleichzeitig gelesen oder programmiert werden. Diese gleichzeitig gelesenen oder programmierten 5328 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 das Floating Gate von jeder der Speicherzellen, zwei Bit Nutzdaten.
  • 3 zeigt eine Schnittansicht einer NAND Zelleinheit des Typs, der schematisch in 2 in Richtung der Bitleitung (BL) gezeigt ist. An einer Oberfläche eines p-leitenden Halbleitersubstrats 9 ist ein p-leitendes 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 elektrischer 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 gleitenden Diffusionsschicht 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, die 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, die 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, der 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 diese eine gestapelte Gate Struktur. Diese zwei Select Gate Leitungen (SG) sind am Ende der Leitungen parallel geschaltet.
  • Tabelle 1 in 6 fasst Spannungen zusammen, die dazu verwendet werden, das Speicherzellenarray 1 zu betreiben, wobei in einem spezifischen Beispiel jedes Floating Gate der Speicherzellen zwei Bit speichert, das einen der Zustände "11", "10", "01", "00" hat. Diese Tabelle zeigt den Fall, bei dem die Wortleitung "WL2" und die Bitleitungen "BLe" zum Lesen und Programmieren ausgewählt werden. Durch Erhöhen von c-p-well bis zu einer Löschspannung von 20V und Erden der Wortleitungen (WL) eines ausgewählten Blocks werden 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 auch fast 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, wenn 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), die programmiert wird, auf 0V gesetzt. Das Kanalpotential bei der Sperrung 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, der für jede Lese- und Prüf-Operation spezifiziert ist, um zu ermitteln, ob eine Schwellspannung der betroffenen Speicherzelle einen derartigen Pegel erreicht hat. Zum Beispiel ist die ausgewählte Wortleitung WL2 bei einer Lese 10 Operation geerdet, so dass ermittelt wird, ob die Schwellspannung höher als 0V ist. In diesem Lese-Fall kann gesagt werden, dass ein Lesepegel 0V beträgt. Bei einer Prüfen 01 Operation wird die ausgewählte Wortleitung WL2 mit 2,4V verbunden, so dass geprüft wird, ob die Schwellspannung 2,4V erreicht hat. In 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 Schwellspannung 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 Schwellspannung 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, der zwei Datenspeicherregister (DS1 und DS2) umfasst, wobei jedes dazu 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 Daten-Eingabe/Ausgabe-Puffer 6 verbunden.
  • Allgemeiner Betrieb des Speichersystems
  • 8 stellt Schwellspannungsverteilungen für das Speicherzellenarray 1 dar, wenn jedes Floating Gate Speicherelement zwei Bit Daten speichert, nämlich vier Datenzustände in jeder Speicherzelle (M). Die Kurve 25 stellt eine Verteilung der Schwellpegel VT der Zellen innerhalb des Arrays 1 dar, die sich im gelöschten Zustand (Datenzustand "11") befinden, welche negative Schwellspannungspegel sind. Die Schwellpegelverteilungen 26 und 27 von Speicherzellen, die "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 worden ist, wobei der höchste Schwellspannungspegel 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. Das heißt, 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 offenbarten Anordnung 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 an 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 einer derartig kleinen Schrittweitenerhöhung der Programmierspannung zu programmieren, wird die Programmierzeit um einen Faktor 4 vergrößert. Jedoch sind wie unten beschrieben, derartig signifikante Erhöhungen der Programmierzeit unnötig, um die Breite einer Schwellspannungsverteilung zu reduzieren.
  • 9A und 9B zeigen eine bestehende Programmierpulstechnik beziehungsweise eine resultierende Schwellverteilungsbreite von Zellen, die in einen bestimmten Zustand programmiert worden sind. Eine Programmierspannungs-Kurvenform Vpgm ist in 9A dargestellt. Die Programmierspannung Vpgm ist in viele Pulse unterteilt und um 0,2V bei jedem Puls erhöht. Es kann gesagt werden, dass eine Vpgm Schrittgröße 0,2V beträgt. Der Startpegel von Vpgm beträgt in diesem besonderen Beispiel 12V.
  • Die Veränderung der Schwellspannung der Speicherzelle, die am schnellsten programmiert wird, ist durch die weißen Vierecke von 9B gezeigt, die am langsamsten programmierte durch die schwarzen Vierecke. Die am schnellsten programmierte Speicherzelle hat den Prüfpegel vom ersten Durchgang nach 14V-Puls erreicht. Die maximale Breite der resultierenden Verteilung beträgt ΔVT = 0,2V.
  • In Zeiträumen zwischen den Pulsen werden die Programmierprüfoperationen durchgeführt. Das heißt, die programmierten Pegel von jeder Zelle, die parallel programmiert werden, werden zwischen jedem Programmierpuls gelesen, um zu ermitteln, ob diese gleich oder größer als der Prüfpegel ist, auf den diese programmiert wird. Falls ermittelt wird, dass die Schwellspannung einer gegebenen Speicherzelle den Prüfpegel überschritten hat, wird Vpgm durch Erhöhen der Spannung der Bitleitung entfernt, mit der die Reihenzelleneinheit der gegebenen Zelle von 0V auf Vdd verbunden ist. Programmieren anderer Zellen, die parallel programmiert werden, dauert an, bis diese wiederum deren Prüfpegel erreichen. Wenn die Schwellspannung der Zelle während des letzten Programmierpulses sich von unterhalb des Prüfpegels nach darüber bewegt, ist die Verschiebung der Schwellspannung gleich der Vpgm-Schrittweite von 0,2V. Daher werden die Schwellspannungen innerhalb einer 0,2V-Breite kontrolliert.
  • 10A und 10B stellen eine spezifische Technik zum Programmieren einer NAND-Zelle mit 4 Zuständen in einem Array des oben beschriebenen Typs dar. In einem ersten Programmierdurchgang wird die Schwellspannung der Zelle gemäß des Bit von der niedrigeren logischen Seite gesetzt. Falls dieses Bit eine "1" ist, wird nichts getan, da sich diese Zelle in einem Zustand als Folge früher gelöscht worden zu sein, befindet. Falls dieses Bit jedoch eine "0" ist, wird der Pegel der Zelle zum ersten programmierten Zustand 34 erhöht. Dies beendet den ersten Programmierdurchgang.
  • In einem zweiten Programmierdurchgang wird der Schwellpegel der Zelle gemäß des Bits, das in der Zelle von der oberen logischen Seite gespeichert ist, gesetzt. Im Falle einer "1" findet keine Programmierung statt, da sich die Zelle in einem der Zustände 33 oder 34 befindet, abhängig vom Programmieren des Bit der niedrigen Seite, die beide ein oberes Seiten-Bit „1" aufnehmen. Falls das obere Seiten-Bit eine "0" ist, wird die Zelle jedoch ein zweites Mal programmiert. Falls der erste Durchgang darauf hinausläuft, dass sich die Zelle im gelöschten Zustand 33 befindet, wird die Zelle von diesem Zustand zum höchsten Zustand 36 programmiert, wie durch den oberen Pfeil in 10B gezeigt. Falls die Zelle jedoch infolge des ersten Programmierdurchgangs in den Zustand 34 programmiert wurde, wird die Zelle im zweiten Durchgang von diesem Zustand weiter zum Zustand 35 programmiert, wie durch den niedrigeren Pfeil von 10B gezeigt. Das Ergebnis des zweiten Durchgangs besteht darin, die Zelle in den zum Speichern einer "0" vor gesehenen Zustand von der oberen Seite zu programmieren, ohne das Ergebnis des ersten Programmierdurchgangs zu verändern.
  • Falls die Zelle mit mehr als vier Zuständen betrieben wird, werden selbstverständlich eine Anzahl von Verteilungen mit dem festgelegten Schwellspannungsfenster der Speicherzelle vorhanden sein, die gleich der Anzahl der Zustände ist. Obwohl spezifische Bitmuster jeder der Verteilungen zugewiesen worden sind, können verschiedene Bitmuster so festgelegt werden, wobei in diesem Fall die Zustände zwischen denen, in denen Programmierung stattfinden kann, unterschiedlich von denen in 10A und 10B gezeigten sein können. Ein paar derartiger Variationen werden im Hintergrund des zuvor erwähnten Patents von Toshiba erörtert.
  • Normalerweise sind die parallel programmierte Zellen abwechselnde Zellen entlang einer Wortleitung. 11 stellt drei Speicherzellen 41, 42 und 43 einer viel größeren Anzahl von Zellen entlang einer Wortleitung 44 dar. Ein Satz abwechselnder Zellen, der die Zellen 41 und 43 enthält, speichert Bit von logischen Seiten 0 und 2 („gerade Seiten"), während der andere Satz von abwechselnden Zellen, der die Zelle 42 enthält, Bit von logischen Seiten 1 und 3 („ungerade Seiten") speichert: Dies führt zum Programmieren von mindestens 4 Seiten von Daten in einer einzelnen Reihe von Speicherzellen in einem vollständigen Programmierzyklus, der für 4 Seiten von Daten zu einem Zeitpunkt in Sequenz wiederholt wird.
  • In den ersten Schritten zum Programmieren der Speicherzellen von zumindest einem Teil einer Reihe, wie mit Bezug auf 10A und 10B oben beschrieben wurde, wird zuerst ein Bit von der niedrigeren 0 Seite in den einzelnen Satz von abwechselnden Zellen programmiert und dann ein Bit von der niedrigeren Seite 1 in den einzelnen zweiten Satz von abwechselnden Zellen. Nach diesen Schritten sind die "11" (auch der gelöschte Zustand) und "10” programmierten Zustandsverteilungen von beiden Seiten 0,2 und Seiten 1,3, wie mit durchgezogener Linen in 11 gezeigt, vorhanden. Die Bit von der oberen Seite 2 werden dann in den ersten Satz von abwechselnden Zellen programmiert, gefolgt von einem Endschritt, die Bit von der oberen Seite 3 in den zweiten Satz von abwechselnden Zellen zu programmieren. Aufgrund des oben erörterten Yuppin Effekts werden die scheinbaren Verteilungen der "11"-Zustände und „10" breiter als die Schwellverteilungen, die durch die durchgezogene Linien angedeutet sind, die sofort nach deren Programmieren existieren, wie durch die erweiterten gestrichelte Linien gezeigt. Dies ist infolge der anfänglich durchgeführten Programmierung von Daten von den niedrigeren Seiten 0 und 1 sowie ist in einer Umgebung durchgeführt, in der keine benachbarte Floating Gates die höheren Ladungspegel enthalten, welche die „00" und „01” Zustände repräsentieren. Die Verbreiterung der scheinbaren anfänglichen Verteilung tritt auf, wenn benachbarte Zellen auf diese höheren Schwellpegelzustände programmiert werden.
  • Ferner lassen die höheren Zustände "00" und "01" von Seiten 0,2 auch diesen scheinbaren Verbreiterungseffekt zu, da benachbarte Floating Gates mit Daten aus Seite 3 geschrieben werden, um deren Ladungspegel auf die „00" und „01" Zustände der ungeraden Seiten zu erhöhen. Der Effekt dieser scheinbaren Verbreiterung besteht darin, eine Grenze der Anzahl von Zuständen zu setzten, in denen der Speicher betrieben werden kann, und um andere Betriebsgrenzen zu erstellen. Es erfordert einen ausreichend breiten Rand zwischen den Zustandsverteilungen aufrechtzuerhalten, so dass die breitere scheinbaren Verteilungen während Datenleseoperationen klar unterschieden werden können. Nur die letzten 2 Zustände, die für Seiten 1,3 programmiert worden sind, wie in 11 ohne die gestrichelten Schwellpegelverbreiterungen gezeigt, die aufgetreten sind, sind vom Yupin Effekt unbeeinflusst, da die Ladungspegel der benachbarten Floating Gates danach nicht verändert sind. Wie in 10B dargestellt, werden die „00" und „01" Zustände der Speicherzellen, die Bit von Seiten 1,3 von 11 speichern, zuletzt programmiert. Für jeden der anderen sechs Zustände der Zellen, die Bit von Seiten 0,2 und 1,3 speichern, besteht eine anschließende Programmierung von benachbarten Zellen, die die Ausdehnung von deren scheinbaren Schwellspannungsverteilungen aufgrund der Feldkopplung zwischen den Floating Gates beeinflussen.
  • Beispiele neuer Programmiertechniken
  • 12 stellt den Effekt von zwei Verbesserungen der Programmiertechniken dar, die oben mit Bezug auf 911 beschrieben wurden. Erstens wird die Reihenfolge, in der die Seiten programmiert werden, verändert, so dass die ersten zwei Seiten Datenbit, die programmiert werden, in die ersten veränderten Speicherzellen in einer Reihe geschrieben werden, gefolgt von Schreiben der nächsten zwei Seiten Datenbit in die zweiten veränderten Seiten. Dies hat das Ergebnis, die zwei zusätzlichen programmierten Zustände vom Yupin Effekte auszuschließen. Zweitens werden die anfänglichen Zustandsverteilungen geschmälert (verdichtet), so dass die verbleibende scheinbare Verbreiterung durch den Yupin Effekt noch immer die Weite der effektiven Verteilungen schmal belässt, vorzugsweise nicht breiter als die aktuellen zuerst programmierten Verteilungen. Jede dieser Verbesserungen kann vorteilhaft einzeln implementiert werden oder diese können zusammen verwendet werden. Das Beispiel von 12 zeigt, wie diese gemeinsam verwendet werden.
  • Mit den gleichen Datenseiten, die für die erste und zweite Gruppen von abwechselnden Speicherzellen vorgesehen sind, werden wie in 11 programmiert. Die erste in 12 gezeigte Verbesserung ist das sequentielle Schreiben von Daten von beiden, sowohl Seite 0 als auch 2, in die erste Gruppe von Zellen, gefolgt vom Schreiben von Daten von beiden Seiten 1 und 3 in die zweite Gruppe von Zellen. Das heißt, anstelle abwech selnd vier Datenseiten in die erste und zweite Gruppe von abwechselnden Zellen zu schreiben, wie es im Beispiel von 11 durchgeführt wird, wird die erste Gruppe mit beiden Datenseiten programmiert, bevor die zweite Gruppe mit irgendwelchen Daten programmiert wird. Die zweite Gruppe von abwechselnden Speicherzellen wird dann mit der dritten und vierten Seite von Daten programmiert. Das Ergebnis ist, wie dargestellt, das Beseitigen des Yuppin Effekts mit Bezug auf Zustand "10" der Speicherzellen, die wie gezeigt, Seiten 1,3 speichern. Dies liegt daran, dass keine Erhöhung des Ladungspegels von Floating Gates der direkt benachbarten ersten Gruppe von benachbarten Speicherzellen (speichern Seite 0,2) vorliegt, nachdem der zweite Satz von Zellen mit Datenseiten 1,3 programmiert worden ist. Alle drei der programmierten Zustände von Seiten 1,3 sind dann vom Yupin Effekt befreit und reduziert deshalb die Wahrscheinlichkeit eines fehlerhaften Lesens der gespeicherten Seiten 1,3 von Daten.
  • Aber da der zweite abwechselnde Satz von Speicherzellen mit Datenseiten 1,3 programmiert wird, nachdem der erste Satz von Zellen mit Datenseiten 0,2 programmiert worden ist, unterliegen die Speicherzustände des ersten Satzes dem Yupin Effekt. Um dies zu überwinden, werden die Schwellspannungsverteilungen des ersten Satzes von Zellen verdichtet. Eine Verteilung 51 resultiert aus dem anfänglichen Programmieren der Datenseite 0 in Übereinstimmung mit 10A. Bevor Datenseite 2 programmiert wird, wird diese Verteilung re-programmiert, um die Breite der Verteilung zu reduzieren, wie durch Kurve 52 angedeutet. Nachdem das Programmieren aller vier Seiten beendet ist, verursacht der Yupin Effekt, dass sich die scheinbare Verbreiterung der Schwellverteilung des Zustands „10" zu der durch Kurve 53 angedeuteten verbreitert. Die scheinbare Verteilung 53 wird vorzugsweise kontrolliert, um gleich oder kleiner als die anfängliche Verteilung 51 zu sein.
  • Der gleiche Prozess wird durchgeführt, wenn Datenseiten 2 in einen der programmierten Zustände "00" und "01" programmiert werden, was durchgeführt wird, nachdem Datenseite 0 programmiert und verdichtet wurde. Die Daten werden zuerst in die erste Gruppe abwechselnder Zellen geschrieben, komprimiert und dann tatsächlich vom Yupin Effekt vom späteren Programmieren der benachbarten zweiten Gruppe von abwechselnden Zellen verbreitert.
  • 13 stellt die durchgeführten Schritte dar, um jede der zwei Verdichtungen von Zustandsverteilungen zu erreichen, die in 12 gezeigt sind. Der Zustand wird zuerst mit Daten in Abhängigkeit von einem ersten Prüfpegel 61 programmiert. Das heißt, nachdem jeder Programmierspannungspuls, der auf die Zellen angewendet wurde, die in diesen Zustand zu programmieren sind, werden diese Zellen durch Anwenden geeigneter Spannungsbedingungen gelesen, um zu ermitteln, ob die Schwellspannungspegel der einzelnen Zellen den Pegel 61 erreicht oder überschritten haben. Falls ja, wird die Pro grammierung gestoppt. Falls nein, wird ein zusätzlicher Programmierpuls angewendet und der Zustand wird erneut gelesen. Das Ergebnis ist eine Population von Speicherzellen, die in den festgelegten Zustand programmiert worden sind, der eine Schwellspannungsverteilung wie durch Kurve 62 angedeutet aufweist. Die Breite der Verteilung 62 wird durch die Größe der angewendeten Programmierpulse kontrolliert, im Wesentlichen wie zuvor beschrieben durch eine Spannungsveränderung zwischen Pulsen.
  • Um diese Verteilung zu kürzen, nachdem das parallele Programmieren aller Zellen in diesen Zustand abgeschlossen ist, werden deren Zustände unter Verwendung eines Schwellpegels 63, der niedriger als Pegel 61 ist, gelesen. Dies unterscheidend in andere Zustände programmierte Zellen nur durch Lesen derjenigen, die in den einen programmierten Zustand von Interesse programmiert worden sind. Alternativ können die Daten aus einem Register erhalten werden, falls dies vorhanden ist. Eine zweite Programmieroperation (second Pass) von den Zellen in diesen Zustand findet dann durch Verwendung eines Schwellspannungsprüfpegels 64 statt, der höher als der Prüfpegel 61 ist und innerhalb der Verteilung angeordnet ist. Der Effekt dieser zweiten Programmieroperation besteht darin, diejenigen Zellen mit einem programmierten Schwellpegel, der geringer als der Pegel 64 ist, auf einen Pegel zu re-programmieren, der größer als der Prüfpegel 64 ist, wie durch eine Verteilung 65 angezeigt ist. Die aktuelle Schwellpegelverteilung 65 ist schmaler als die ursprüngliche Verteilung 62, wie in 13 gesehen werden kann. Nach dem andere benachbarte Zellen durch Erhöhen derer gespeicherten Ladungspegel programmiert worden sind, verbreitert sich dann die scheinbare Verteilung aufgrund des Yupin Effekts, wie durch die Verteilung 66 angedeutet ist. Die Breite dieser scheinbaren Verteilung 66 ist schmaler als die, die auftreten würde, falls der zweite Programmierdurchgang nicht durchgeführt würde, und zwar um einen Betrag, der etwa gleich der Differenz zwischen den Prüfpegeln 61 und 64 ist.
  • 14A und 14B stellen eine Veränderung des mit Bezug auf 9A und 9B dargestellten Programmierverfahrens dar, die den zweiten Programmierdurchgang enthält, der mit Bezug auf 13 beschreiben wurde. Die Verwendung des zweiten Programmierdurchgangs (2ndPassWrite) ist sowohl gezeigt, als auch unterschiedliche Prüfpegel für den ersten Durchgang (61) und den zweiten Durchgang (64). Die Veränderung der Schwellspannung der am schnellsten programmierten Speicherzelle ist durch die weißen Quadrate in 14B dargestellt, die am langsamsten programmierten durch die schwarzen Quadrate. Der erste Programmierdurchgang (1stPassWrite) ist ähnlich zu dem vorhandenen Programmierprozeduren, aber es wird ein relativ niedriger Prüfpegel 61 verwendet. Die für den zweiten Programmierdurchgang verwendete Prüfpegel 64 kann der selben sein wie der nun verwendete Prüfpegel.
  • Wenn sich die Schwellspannung von unterhalb des ersten Prüfpegels 61 für den ersten Durchgang infolge eines Programmierpulses bewegt, ist die Verschiebung der Schwellspannung in diesem Beispiel gleich der Schrittweite ΔVpgm von 0,2V. Daher werden die Schwellspannungen innerhalb einer Verteilung 62 kontrolliert, die eine Breite von 0,2V hat, welche die selbe ist wie diejenigen derzeitiger Techniken, aber die Verteilung ist niedriger angeordnet als diejenige, die aus derzeitigen Techniken augrund des niedrigeren Prüfpegels 61 resultiert.
  • Nachdem der 1stPassWrite beendet ist und bevor der 2ndPassWrite beginnt, sind die Speicherzellen für den 2ndPassWrite Ziele, die höhere Schwellspannungen als der Prüfpegel 61 für den 1stPassWrite haben und niedrigere als der Prüfpegel 64 für den 2ndPassWrite haben, Ziele für den 2ndPassWrite.
  • Falls die Speicherzelle, die am schnellsten programmiert wird, den Prüfpegel 61 für den1stPassWrite nach beispielsweise dem 13,8V Puls erreicht, wird der Start-Pegel Vpgm des 2ndPassWrite auf 13,4V oder weniger als 13,4V gesetzt und dadurch die Schwellspannungsverschiebung unter 0,2V herabgesetzt. In einem spezifischen Beispiel wird die Start-Programmierspannung Vpgm des 2ndPassWrite auf 13,4V gesetzt und die des 1stPassWrite auf 12V. Wenn die Schwellspannung einer Zelle unterhalb dieses Prüfpegels 64 infolge eines Programmierpulses des 2ndPassWrite überschreitet, wird die Verschiebung der Schwellspannung unter 0,05V beibehalten. Daher wird die Verteilung der Schwellspannungen der Ziel-Speicherzellen innerhalb einer 0,05V-Breite, die viel dichter als die derzeit erlangte ist, kontrolliert. Falls der Prüfpegel 61 für den 1stPassWrite zumindest 0,15V kleiner als der Prüfpegel 64 für den 2ndPassWrite ist, beträgt daher die Gesamtbreite der Schwellspannungsverteilung 0,05V.
  • In diesem spezifischen Beispiel ist im schlimmsten Fall der maximale Vpgm Pegel des 2ndPassWrite 0,2V höher als der des 1stPassWrte aufgrund des 0,15V höheren Prüfpegels, der im zweiten Durchgang verwendet wird. Da zusätzlich die Start-Vpgm im 2ndPassWrite viel höher als diejenige im 1stPassWrite sein kann, ist die Zeitdauer des 2ndPassWrite immer kürzer als die des 1stPassWrite. So kann gesehen werden, dass die Kosten der Performance, die aus der Verringerung der Schwellspannungsverteilungsbreite von 0,2V auf 0,05V aus der Programmiertechnik in zwei Durchgängen resultiert, geringer als eine Verdopplung der Programmierzeit ist. Bei einer bestehenden Programmiertechnik, welche die gleiche schmale Programmierverteilungsbreite durch Verwendung einer 0,05V ΔVpgm Schrittweite erlangt, wird andererseits die Programmierzeit um einen Faktor 4 verlängert als in dem Fall, bei dem die Breite 0,2V beträgt. Die Programmiertechnik in zwei Durchgängen erhält Programmierzeiten, die über zweimal so schnell wie die bestehende Technik sind, um die selbe Schwellspannungsverteilung zu erhalten.
  • 15A und 156 entsprechen den zugehörigen 14A und 14B, die eine Modifikationen von diesen zeigen, wobei die ΔVpgm Schrittweite des ersten Programmierdurchgangs vergrößert ist, um die Programmierzeit zu verkürzen, während die des zweiten Programmierdurchgangs die selbe bleibt, um eine schmale Verteilungsbreite festzulegen. Die ΔVpgm Schrittweite des 1stPassWrite wird in diesem spezifischen Beispiel von 0,2V auf 0,4V erhöht. Der Prüfpegel für den 1stPassWrite ist um 0,2V verringert und die Differenz zwischen dem Prüfpegel für den 1stPassWrite und für den 2ndPassWrite wird von 0,2V auf zumindest 0,35V ausgedehnt. Die Ausdehnung von 0,2V ist gleich der Differenz zwischen den ΔVpgm Schrittweiten (0,4V–0,2V). Die Start-Pegel der Programmierspannung Vpgm für den 1stPassWrite und den 2ndPassWrite sind die gleichen wie im 0,2V-Schritt Vpgm Fall von 14A. Die Dauer des 1stPassWrite wird um etwa eine Hälfte verkürzt und dadurch wird die Programmierzeit um mehr als 25% im Fall der 0,2V-Schritt Vpgm von 14A und 14B reduziert.
  • In jeder der 14A und 15A können die wenigen anfänglichen Pulse des 1stPassWrite alternativ ohne die Zeiterfordernis zwischen diesen (nicht gezeigt) zum Lesen und Prüfen des in den Zielspeicherzellen gespeicherten Pegels erzeugt werden. Dies liegt daran, dass die Zielzellen selten auf deren erwünschten Schwellpegeln bei den ersten wenigen Pulsen programmiert werden. Dies kann auch mit den ersten wenigen Pulsen des 2ndPassWrite durchgeführt werden. Das Ergebnis ist eine weitere Verringerung der Programmierzeit.
  • Die mit Bezug auf 1215 beschriebenen Ausgestaltungen verdichten in einem Re-Programmierschritt eine programmierte Verteilung unmittelbar nach der anfänglichen Programmierung, bevor zum Programmieren der benachbarten Zellen fortgeschritten wird und auf diese Weise bevor die anfänglich programmierten Zustände durch den Yupin Effekt verändert werden. In der mit Bezug auf 1618 beschriebenen Ausgestaltung erfolgt der die Verteilung verdichtende Re-Programmier-Schritt in einem späteren Stadium, nachdem alle Zustände anfänglich programmiert worden sind und auf diese Weise nachdem eine Veränderung der Schwellspannungsverteilungen aufgrund des Yupin Effekts vorhanden ist.
  • Mit Bezug auf 16 ist eine Programmiertechnik dargestellt, wobei Seiten 0,2 zuerst in die erste Gruppe abwechselnder Speicherelemente entlang einer Reihe programmiert werden, gefolgt von programmieren der Seiten 1,3 in die zweite Gruppe von abwechselnden Speicherelementen entlang der selben Reihe. Da eine Gruppe vollständig mit Daten von beiden seiner Seiten programmiert worden ist, bevor die andere Gruppe von Speicherelementen programmiert werden, besteht keine scheinbare Verbreiterung der Zustandsverteilungen der zuletzt zu programmierenden Seiten, in diesem Fall 1,3 aufgrund des Yupin Effekts. Jedoch ist eine derart scheinbare Verbreiterung der Zu standsverteilungen der zuerst programmierten Seiten vorhanden, und zwar Seiten 0,2 aufgrund der kapazitiven Kopplung zwischen den benachbarten abwechselnden Speicherelementen der ersten und zweiten Gruppe entlang der ausgewählten Wortleitung. Ein Weg um die scheinbare Verteilungsverschiebung von Seiten 0,2 zu korrigieren, besteht darin, die erste Gruppe von Speicherelementen mit den selben Daten in einer normalen Art und Weise zu re-programmieren, wobei der gleiche Prüfpegel verwendet wird. Dies resultiert im Verschieben der Zustandsverteilungen von Seiten 0,2, da deren Re-Programmierung unter dem Einfluss der Ladungspegel von benachbarten Speicherelementen durchgeführt wird. Die neu re-programmierten Verteilungen werden dann für den Yupin Effekt auf die anfänglich programmierten Daten korrigiert, in diesem Fall Seiten 0,2.
  • Wie auch immer ist es üblich erwünscht, die Zustandsverteilungen zu verdichten, die zur gleichen Zeit re-programmiert werden. Dadurch besteht keine Verschlechterung, da der Hauptschritt bei der Verdichtung mit einem unterschiedlichen Prüfpegel re-programmiert wird. Dies wurde bereits mit Bezug auf 13 erklärt, wobei die verdichtende Re-Programmierung erfolgt, bevor die benachbarten Speicherelemente programmiert werden und dann die verdichteten Zustandsverteilungen beeinflussen. Im Falle der in 16 dargestellten Programmiersequenz findet das verdichtende Re-Programmieren jedoch statt, nachdem die benachbarten Speicherelemente programmiert worden sind.
  • 17 stellt die verdichtende Re-Programmierung der Zustandsverteilungen für die Daten-Seiten 0,2 in der Programmiersequenz von 17 dar. Nach dem anfänglichen Programmieren von Seiten 0,2 mit einem Prüfpegel 71 und vor Programmieren der Seiten 1,3 tritt die Verteilung von jedem Zustand, wie durch eine Kurve 72 dargestellt, auf. Nach der Programmierung von Seiten 1,3 erscheint diese Verteilung, wie durch die Kurve 75 dargestellt jedoch breiter zu sein. Nach Lesen der Zellen in diesem Zustand mit einem Lesepegel 73 und Re-programmieren mit einem Prüfpegel 74 ist eine durch Kurve 76 angedeutete scheinbare Verteilung das Ergebnis, während die aktuelle Verteilung in einer gepunkteten Linie 77 angezeigt ist. Die angewendeten Programmier- und Re-Programmierpulse sind denen in 14A gezeigten ähnlich. Es ist gezeigt, dass die gewünschte Verdichtung näher bei der scheinbaren Verteilung 76 aufgetreten ist als die scheinbare Verteilung 75.
  • 18 und 19 stellen die selbe Programmiersequenz und Re-Programmierschritte wie entsprechende 16 und 17 dar, außer, dass die anfängliche Programmierung mit Programmierpulsspannungspulsen (1stPassWrite) durchgeführt wird, die um 0,4V pro Puls ansteigen, während die Re-Programmierspannungspulse (2ndPassWrite) in der gleichen Art und Weise wie in 15A gezeigt um 0,2V pro Puls ansteigen. Diese höhere ΔVpgm beim anfänglichen Programmierdurchgang verkürzt die erforderliche Zeit, um den Programmierprozess und Re-Programmierprozess zu beenden.
  • 20 stellt eine andere mögliche Programmiertechnik dar. Dem mit Bezug auf 12 und 13 beschriebene Verfahren folgen zusätzliche Schritte der Re-Programmierung der anfänglichen Datenseiten 0,2. Das zweite Re-Programmieren tritt auf, nachdem die anderen Datenseiten 1,3 programmiert worden sind und erfordert nicht notwendigerweise ein Verdichten der Zustandsverteilungen zu enthalten, kann dies jedoch.
  • Obwohl beispielhafte Ausgestaltungen für ein Flash-EEPROM System beschrieben worden sind, das eine NAND Speicherzellen Architektur aufweist, ist zu erkennen, dass diese und andere Aspekte der vorliegenden Erfindung auf andere Flash-Speicherarchitekturen angewendet werden können (wie zum Beispiel Flash-EEPROM Systeme, die eine NOR Speicherzellenarchitektur haben) oder andere Typen von nichtflüchtigen Speichern, wobei eine Kopplung zwischen Speicherelementen vorhanden ist, was eine scheinbare Verteilung von gespeicherten Pegeln beeinflusst, die den gleichen Speicherzustand darstellen, und erwünscht ist, diesen Effekt zu minimieren.
  • Beispielhafte Programmier-Algorithmen
  • 21 zeigt einen beispielhaften Algorithmus zum Programmieren der geraden Spalten der niedrigen Seite gemäß den Techniken, die mit Bezug auf 12, 13 und 14 beschrieben worden sind. Der Algorithmus kann in drei Teile unterteilt werden. Der erste Teil ist mit einer gestrichelten Linie (S1 bis S4) umgeben. Dieser Teil zeigt Prozeduren des Interfaces. Zu Beginn (S1) wird "Datenlade" Kommando vom Flash Kontroller ausgegeben und in den Daten Eingabe/Ausgabe-Puffer (6) eingegeben. Die Eingabedaten werden als das Kommando erkannt und in die State Machine (8) geschoben, da ein nicht dargestelltes Kommando-Schiebe-Signal Eingabe zum Kommando Interface (7) zu diesem Zeitpunkt ist. Als nächstes (S2) werden Adressdaten, welche die Seitenadresse kennzeichnen, in den Daten-Eingabe/Ausgabe-Puffer (6) vom Kontroller eingegeben und dann geschoben. Die Eingabedaten werden als die Seitenadresse erkannt und in die State Machine (8) geschoben, da ein nicht gezeigtes Latch-Signal in das Kommandointerface (7) zu diesem Zeitpunkt eingegeben wird. Fortlaufend (S3), werden 532B-Programm-Daten in den Daten-Eingabe/Ausgabe-Puffer (6) eingegeben. Die Eingabedaten werden in den Datenspeicher 1 (DS1) geschoben, da zu diesem Zeitpunkt das "Datenlade" Kommando geschoben wird. Am Ende (S4) wird ein „program" Kommando vom Flash-Kontroller ausgegeben und in den Daten-Eingabe/Ausgabe-Puffer (6) eingegeben. Die Eingabedaten werden als Kommando erkannt und in die State Machine (8) geschoben, da das Kommando Latch Signal zum Kommandointerfache (9) zu diesem Zeitpunkt eingegeben wird. Durch das "Programmier" Kommando getriggert werden die in Daten speicher 1 (DS1) geschobenen Daten in die ausgewählten Speicherzellen (M), die von der State Machine (8) kontrolliert werden, automatisch programmiert (S5 bis S20).
  • Der zweite Teil des Algorithmus ist der 1stPassWrite der Schritte S5 bis S10. Zu Beginn wird die Start-Vpgm auf 12V gesetzt und ein in die State Machine (8) eingebetteter Programmzähler wird mit 0 initialisiert. Anschließend wird der erste Programmierpuls auf die ausgewählte Wort-Leitung angewendet, zum Beispiel WL2 wie in der Tabelle 1 (S6) gezeigt. Falls "0"-Daten in den Datenspeicher 1 (DS1) geschoben werden, wird entsprechende Bit-Leitung (BL) geerdet („Programmieren ermöglichen” in der Tabelle 1). Falls andererseits "1"-Daten in den Datenspeicher 1 (DS1) geschoben werden, wird entsprechende Bit-Leitung (BL) mit Vdd verbunden ("Programmieren sperren" in der Tabelle 1).
  • Nach dem Programmieren werden die Zustände der ausgewählten Speicherzellen überprüft. Um zu Prüfen wird die Prüfung 10 für den 1stPass durchgeführt (S7). Bei dieser Operation wird ermittelt, ob die Schwellspannung den Prüfpegel 0,2V für 1stPass, wie in Tabelle 1 gezeigt, erreicht hat. Falls erkannt wird, dass die Schwellspannung erreicht wurde, werden die in DS1 geschoben "0"-Daten zu „1"-Daten geändert. Falls erkannt wird, dass die Schwellspannung nicht erreicht wurde, werden die in DS1 geschoben "0"-Daten beibehalten. Bereits vorhandene "1"-Daten werden auch beibehalten. Auf diese Art und Weise, da unabhängig von den Zuständen der Speicherzellen "0"-Daten nacheinander zu "1"-Daten geändert werden, werden mindestens alle der in den Datenspeicher DS1 geschobenen Daten „1"-Daten. Das bedeutet, dass vom Prüfpegel von 1stPass aus beurteilt alle Speicherzellen erfolgreich programmiert worden sind.
  • Nach der Prüfoperation wird überprüft, ob alle in den Datenspeicher DS1 geschobene Daten „1"-Daten geworden sind (S8). Falls diese "1"-Daten geworden sind, wird der 1stPassWrite beendet und der 2ndPassWrite beginnt. Falls diese nicht "1"-Daten geworden sind, geht der Algorithmus zu Schritt S9 über.
  • Im Schritt S9 wird ein Zählwert, der den Programmzähler hat, geprüft. Falls der Zählwert kleiner als 20 ist, wird der Vpgm Pegel um 0,2V erhöht und der Zählwert um 1 erhöht (S10) und dann kehrt der Algorithmus zum Schritt S6 des Programms zurück. Falls der Zählwert nicht kleiner als 20 ist, wird ein Statusdatum in der State Machine auf „FAIL" gesetzt und der Algorithmus wird beendet (S11).
  • Der dritter Teil des Algorithmus ist der 2ndPassWrite (S12 bis S20). Zu Begin wird das Lesen 10 für 2ndPass durchgeführt (S12). Bei dieser Operation werden die Speicherzellen, die eine höhere Schwellspannung als 0V haben, extrahiert, und dann werden "0"-Daten in die entsprechenden Datenspeicher 1 (DS1) gesetzt. "1"-Daten werden in jeden der verbleibenden Datenspeicher 1 (DS1) gesetzt.
  • Als nächstes wird die Prüfung 10 für 2ndPass durchgeführt (S13). Bei dieser Operation werden die Speicherzellen, deren Schwellspannung höher als 0V und niedriger als 0,4V sind, durch Verwendung des Prüfpegels von 0,4V für 2stPass und die Daten, die bereits in den Datenspeichern 1 (DS1) gespeichert sind, extrahiert. Es wird ermittelt, ob die Schwellspannung den Prüfpegel von 0,4V für 2ndPass erreicht haben, wie in Tabelle 1 gezeigt. Falls ermittelt wird, dass die Schwellspannung erreicht wurde, werden die in DS1 geschobenen „0"-Daten zu "1"-Daten geändert. Falls ermittelt wird, dass die Schwellspannung nicht erreicht wurde, werden die in Datenspeicher 1 (DS1) geschobenen Daten auf "0"-Daten beibehalten. Bereits bestehende "1"-Daten werden auch beibehalten.
  • Nach der Prüfung 10 für 2ndPass (S13), wird die Anfangs-Vpgm auf 13,4V zurückgesetzt und der Programmzähler wird auf 0 re-initialisiert (S14). Dann wird der Programmierpuls von 13,4V auf die ausgewählte Wort-Leitung angewendet, wie in Tabelle 1 gezeigt. Falls "0"-Daten in den Datenspeicher 1 geschoben werden (DS1), wird entsprechende Bit-Leitung (BL) geerdet ("Programmieren ermöglichen" in der Tabelle 1). Falls anderseits "1"-Daten in den Datenspeicher 1 (DS1) geschoben werden, wird die entsprechende Bit-Leitung (BL1) mit Vdd verbunden ("Programmieren sperren" in der Tabelle 1).
  • Nach dem Programmieren (S15) werden die Zustände der ausgewählten Speicherzellen geprüft. Zum Prüfen wird die Prüfung 10 für 2ndPass ausgeführt (S16). Bei dieser Operation wird ermittelt, ob die Schwellspannung den Prüfpegel für 2ndPass von 0,4V erreicht hat, wie in der Tabelle 1 gezeigt. Falls ermittelt wird, dass die Schwellspannung erreicht wurde, werden die in DS1 geschobenen „0"-Daten in „1"-Daten geändert. Falls ermittelt wird, dass die Schwellspannung nicht erreicht wurde, werden die in DS1 geschobenen „0"-Daten beibehalten. Bereits vorhandenen "1"-Daten werden auch beibehalten. Da „0"-Daten nacheinander zu „1"-Daten geändert werden, werden auf diese Art und Weise die „1"-Daten unabhängig von den Zuständen der Speicherzellen beibehalten, zumindest werden alle der in den Datenspeicher 1 (DS1) geschobenen Daten „1"-Daten. Das bedeutet, dass alle Speicherzellen erfolgreich programmiert worden sind.
  • Nach der Prüfoperation (S16) wird geprüft, ob alle in den Datenspeicher 1 (DS1) geschobenen Daten „1"-Daten geworden sind (S17). Falls diese "1"-Daten geworden sind, wird der 2ndPassWrite beendet und der gesamte Programmieralgorithmus wird beendet und das Statusdatum auf „PASS" gesetzt (SO). Falls diese nicht "1"-Daten geworden sind, geht der Algorithmus zu Schritt S18 über.
  • Im Schritt S18 wird der Zählwert, den der Programmzähler hat, geprüft. Falls der Zählwert kleiner als 13 ist, wird der Vpgm-Pegel um 0,2V erhöht und der Zählwert wird um 1 erhöht (S19) und dann kehrt der Algorithmus zum Schritt S15 des Programms zurück. Falls der Zählwert nicht kleiner als 13 ist, wird das Statusdatum auf „FAIL" gesetzt und der Algorithmus wird dann beendet (S11).
  • 22 zeigt ein Beispiel für einen Programmalgorithmus zum Programmieren der geraden Spalten der oberen Seite gemäß des in 12, 13 und 14 dargestellten Verfah rens. Der Algorithmus kann in drei Teile unterteilt werden. Der erste Teil ist von einer gestrichelten Linie umgeben (S1 bis S4). Dieser Teil ist der gleiche wie der in 21 gezeigte mit Schritten S1 bis S4.
  • Der zweite Teil des Algorithmus ist der 1stPassWrite der Schritte S5 bis S13. Am Anfang wird das Lesen 10 für 1stPass durchgeführt (S5). Bei dieser Operation werden die Speicherzellen, deren Schwellspannung höher als 0V ist, extrahiert, und dann werden „0" Daten in entsprechende der zugehörigen Datenspeicher 2 (DS2) gesetzt. "1"-Daten werden in jeden der verbleibenden Datenspeicher 2 (DS2) gesetzt. Die Start-Vpgm wird auf 14V gesetzt und der Programmzähler wird mit 0 initialisiert (S6). Anschließend wird der erste Programmierpuls auf die ausgewählte Wort-Leitung angewendet, zum Beispiel WL2 wie in der Tabelle 1 (S7) gezeigt. Falls "0"-Daten in den Datenspeicher 1 (DS1) geschoben werden, wird entsprechende Bit-Leitung (BL) geerdet („Programmieren zulassen” in der Tabelle 1). Falls andererseits "1"-Daten in den Datenspeicher 1 (DS1) geschoben werden, wird entsprechende Bit-Leitung (BL) mit Vdd verbunden ("Programmieren sperren" in der Tabelle 1).
  • Nach dem Programmieren sind die Zustände der ausgewählten Speicherzellen überprüft. Zum Prüfen wird die Prüfung 01 an erster Stelle durchgeführt (S8). Bei dieser Operation wird ermittelt, ob die Schwellspannung den Prüfpegel von 2,4V wie in Tabelle 1 gezeigt, erreicht hat. Falls ermittelt wird, dass die Schwellspannung erreicht wurde, werden die in DS1 geschoben "0"-Daten zu „1"-Daten geändert. Falls ermittelt wird, dass die Schwellspannung nicht erreicht wurde, werden die in DS1 geschoben "0"-Daten beibehalten. Bereits vorhandene "1"-Daten werden auch beibehalten. An zweiter Stelle wird die Prüfung 00 für 1stPass durchgeführt (S9). Bei dieser Operation wird erkannt, ob die Schwellspannung den Prüfpegel 1,2V für 1stPass wie in Tabelle 1 gezeigt, erreicht hat. Falls erkannt wird, dass die Schwellspannung erreicht wurde, und falls die in den entsprechenden Datenspeichern 2 (DS2) gespeicherten Daten „0"-Daten sind, werden die in DS1 geschoben "0"-Daten zu „1"-Daten geändert. Die im Datenspeicher 1 (DS1) gespeicherten "0"-Daten werden in dem Fall beibehalten, in dem die zugehörigen Datenspeicher 2 (DS2) unabhängig vom ermittelten Ergebnis die "1"-Daten enthalten. Falls erkannt wird, dass die Schwellspannung nicht erreicht wurde, werden die in DS1 geschoben "0"-Daten beibehalten. Bereits vorhandene "1"-Daten werden ebenso beibehalten.
  • Da unabhängig von den Zuständen der Speicherzellen "0"-Daten nacheinander zu "1"-Daten geändert werden, werden auf diese Art und Weise mindestens alle der in den Datenspeicher DS1 geschobenen Daten „1"-Daten. Das bedeutet, dass vom Prüfpegel des „01"-Zustands und des Prüfpegels für 1stPass des Zustandes „00" aus beurteilt, alle Speicherzellen erfolgreich programmiert worden sind.
  • Nach der Prüfoperation wird überprüft, ob alle in den Datenspeicher DS1 geschobene Daten „1"-Daten geworden sind (S10). Falls diese "1"-Daten geworden sind, wird der 1stPassWrite beendet und der 2ndPassWrite beginnt. Falls diese nicht "1"-Daten geworden sind, geht der Algorithmus zu Schritt S9 über.
  • Im Schritt S11 wird der Zählwert geprüft, den der Programmzähler hat. Falls der Zählwert kleiner als 20 ist, wird der Vpgm Pegel um 0,2V erhöht und der Zählwert schreitet um 1 vor (S12) und dann kehrt der Algorithmus zum Schritt S7 des Programms zurück. Falls der Zählwert nicht kleiner als 20 ist, wird das Statusdatum in der State Machine auf „FAIL" gesetzt und der Algorithmus wird beendet (S13).
  • Der dritter Teil des Algorithmus ist der 2ndPassWrite (S14 bis S22). Zu Begin wird das Lesen 00 für 2ndPass durchgeführt (S14). Bei dieser Operation werden die Speicherzellen, die eine höhere Schwellspannung als 1V haben, extrahiert, und dann werden "0"-Daten in die entsprechenden Datenspeicher 1 (DS1) gesetzt. "1"-Daten werden in jeden der verbleibenden Datenspeicher 1 (DS1) gesetzt.
  • Als nächstes wird die Prüfung 00 für 2ndPass durchgeführt (S15). Bei dieser Operation werden die Speicherzellen, deren Schwellspannung höher als 1V und niedriger als 1,4V sind, durch Verwendung des Prüfpegels von 1,4V für 2stPass und die Daten, die bereits in den Datenspeichern 1 (DS1) gespeichert sind, extrahiert Es wird ermittelt, ob die Schwellspannung den Prüfpegel von 1,4V für 2ndPass erreicht haben, wie in Tabelle 1 gezeigt. Falls ermittelt wird, dass die Schwellspannung erreicht wurde, werden die in DS1 geschobenen „0"-Daten zu "1"-Daten geändert. Falls ermittelt wird, dass die Schwellspannung nicht erreicht wurde, werden die in Datenspeicher 1 (DS1) geschobenen Daten auf "0"-Daten belassen. Bereits bestehende "1"-Daten werden auch beibehalten.
  • Nach der Prüfung 00 für 2ndPass (S15), wird die Anfangs-Vpgm auf 14,4V zurückgesetzt und der Programmzähler wird auf 0 re-initialisiert (S16). Dann wird der Programmierpuls von 14,4V auf die ausgewählte Wort-Leitung angewendet, wie in Tabelle 1 gezeigt. Falls "0"-Daten in den Datenspeicher 1 geschoben werden (DS1), wird entsprechende Bit-Leitung (BL) geerdet ("program promotion" in der Tabelle 1). Falls anderseits "1"-Daten in den Datenspeicher 1 (DS1) geschoben werden, wird die entsprechende Bit-Leitung (BL1) mit Vdd verbunden ("program inhibition" in der Tabelle 1).
  • Nach dem Programmieren (S17) werden die Zustände der ausgewählten Speicherzellen geprüft. Zum Prüfen wird die Prüfung 00 für 2ndPass ausgeführt (S18). Bei dieser Operation wird ermittelt, ob die Schwellspannung den Prüfpegel 1,4V für 2ndPass erreicht hat, wie in der Tabelle 1 gezeigt. Falls ermittelt wird, dass die Schwellspannung erreicht wurde, werden die in DS1 geschobenen „0"-Daten in „1" geändert. Falls ermittelt wird, dass die Schwellspannung nicht erreicht wurde, werden die in DS1 geschobenen „0"-Daten beibehalten. Bereits bestehende "1"-Daten werden auch beibehalten. Da „0"- Daten nacheinander zu „1"-Daten geändert werden, werden auf diese Art und Weise die „1"-Daten unabhängig von den Zuständen der Speicherzellen beibehalten, zumindest werden alle der in den Datenspeicher 1 (DS1) geschobenen Daten „1"-Daten. Das bedeutet, dass alle Speicherzellen erfolgreich programmiert worden sind.
  • Nach der Prüfoperation (S18) wird geprüft, ob alle in den Datenspeicher 1 (DS1) geschobenen Daten „1"-Daten geworden sind (S19). Falls diese "1"-Daten geworden sind, wird der 2ndPassWrite beendet und der gesamte Programmalgorithmus wird beendet und das Statusdatum auf „PASS" (522) gesetzt (SO).
  • Im Schritt S20 wird der Zählwert des Programmzählers geprüft. Falls der Zählwert kleiner als 13 ist, wird der Vpgm-Pegel um 0,2V erhöht und der Zählwert schreitet um 1 weiter (S21) und dann kehrt der Algorithmus zum Schritt S15 des Programms zurück. Falls der Zählwert nicht kleiner als 13 ist, wird das Statusdatum auf „FAIL" gesetzt und der Algorithmus wird dann beendet (S11).
  • Im Algorithmus von 22 wird der 2ndPassWrite auf die auf „01"-Zustand zu programmierenden Daten vermieden, da der 2ndPassWrite für „01"-Zustände erneut die maximale Vpgm erfordert und dies in einer unnötigen Programmunterbrechung resultiert. Jedoch kann dies gemäß der vorliegenden Erfindung, falls erforderlich, durchgeführt werden.
  • 23 zeigt ein Beispielprogrammieralgorithmus zum Durchführen des in 12, 19 und 15 gezeigten Verfahrens zum Programmieren der geraden Spalten mit der unteren Datenseite. Dieser Algorithmus ist ähnlich zu dem in 21 gezeigten. Die Unterschiede bestehen in der Vpgm Schrittweite des ersten 1stPassWrite (S10) und dem zugehörigen maximalen Zählwert des Programmzählers im 1stPassWrite (S9). Die Vpgm Schrittweite wird von 0,2V auf 0,4V erhöht, um den 1stPassWrite zu beschleunigen.
  • 24 zeigt einen Beispielprogrammalgorithmus zum Ausführen des in 12, 19 und 15 gezeigten Verfahrens zum Programmieren der geraden Spalten mit den oberen Seiten von Daten. Dieser Algorithmus ist ähnlich zu dem in 22 gezeigten. Die Unterschiede bestehen in der Vpgm Schrittweite des ersten 1stPassWrite (S10) und dem zugehörigen maximalen Zählwert des Programmzählers im 1stPassWrite (S11). Die Vpgm Schrittweite wird von 0,2V auf 0,4V erhöht, um den 1stPassWrite zu beschleunigen.
  • 25 und 26 zeigen Beispielprogrammalgorithmen zum Ausführen des in 12, 13 und 14 dargestellten Verfahrens, wenn diese mit dem Programmalgorithmen von 21 beziehungsweise 22 kombiniert werden. Der Algorithmus von 25 zeigt Programmieren der ungeraden Spalten ohne den 2ndPassWrite, der im in 21 gezeigten Algorithmus zum Programmieren der geraden Spalten verwendet wird. Der Prüfpegel der Prüfung 10 für 1stPass wird von 0,2V auf 0,4V geändert, um die Verteilung mehr als 0,4V zu versetzen als die Verteilung um mehr als 0,4V durch den 2ndPassWrite zu versetzen.
  • 26 zeigt eine Programmierung der ungeraden Spalten ohne den 2ndPassWrite, der im in 22 gezeigten Algorithmus verwendet wird, um gerade Spalten zu programmieren. Der Prüfpegel des Prüfens 00 für 1stPass wird von 1,2V auf 1,4V geändert, um die Verteilung mehr als 1,4V zu versetzen als die Verteilung um mehr als 1,4V durch den 2ndPassWrite zu versetzen. Die Kombination von in 21, 22, 25 und 26 gezeigten Algorithmen kompensieren den Yupin Effekt. Als ein Resultat wird der Programmdurchsatz verbessert.
  • 27 und 28 zeigen Beispielalgorithmen zum Durchführen des Verfahrens von 12, 19 und 15, wenn diese mit den in 23 und 24 gezeigten Programmalgorithmen kombiniert werden. 27 zeigt Programmieren der ungeraden Spalten ohne den 2ndPassWrite, der im in 23 gezeigten Algorithmus verwendet wird, um die geraden Spalten zu programmieren. Der Prüfpegel der Prüfung 10 für 1stPass wird von 0,2V auf 0,4V geändert um die Verteilung um mehr als 0,4V zu versetzen als die Verteilung um mehr als 0,4V durch den 2ndPassWrite zu versetzen. 28 zeigt Programmierung der ungeraden Spalten ohne den 2ndPassWrite, der im in 24 gezeigten Algorithmus angewendet wird, um die geraden Spalten zu programmieren. Der Prüfpegel der Prüfung 00 für 1stPass wird von 0,2V auf 1,4V geändert, um die Verteilung um mehr als 1,4V zu versetzen als die Verteilung um mehr als 1,4V durch den 2ndPassWrite zu versetzen.
  • Die Kombination der in 23, 24, 27 und 28 dargestellten Algorithmen kompensieren den Yupin Effekt. Als ein Resultat wird der Programmdurchsatz außerordentlich verbessert.
  • 29 zeigt eine Beispielprogrammsequenz zum Implementieren des mit Bezug auf 12, 13 und 14 beschriebenen Verfahrens.
  • In jedem Block wird die Datenprogrammierung in Reihenfolge der Seitenadressen ausgehend von der niedrigeren Seite der geraden Bitleitungen der Wortleitungen WLO bis zur oberen Seite der ungeraden Bitleitungen der Wortleitung WL3 durchgeführt. Diese Sequenz wird unter Beachtung des Yupin Effekts gebildet.
  • 30 zeigt einen Beispiellesealgorithmus zum Lesen der niedrigen Seite von Daten, die gemäß des Verfahrens von 15 und 17 verdichtet wurden. Ein von einer gestrichelten Linie (S1 und S2) umgebener Teil zeigt Prozeduren des Interfaces. Zu Beginn wird "data read" Kommando vom Flash Kontroller ausgegeben und in den Daten-Eingabe/Ausgabe-Puffer 6 eingegeben. Die Eingabedaten werden als das Kommando erkannt und in die State Machine (8) geschoben, da ein nicht dargestelltes Kommando-Schiebe-Signal Eingabe zum Kommando Interface (7) zu diesem Zeitpunkt ist. Als nächstes (S2) werden Adressdaten, welche die Seitenadresse kennzeichnen, in den Daten-Eingabe/Ausgabe-Puffer (6) vom Kontroller eingegeben und dann geschoben. Die Eingabedaten werden als die Seitenadresse erkannt und in die State Machine (8) geschoben, da ein nicht gezeigtes Latch-Signal in das Kommando-Interface (7) zu diesem Zeitpunkt eingegeben wird. Durch die Adressdaten getriggert werden die in den ausgewählten Speicherzellen (M) gespeicherten Daten von der State Machine (8) kontrolliert automatisch ausgelesen (S4 und S5).
  • Beim Lesen 01 werden die Speicherzellen, deren Schwellspannung höher als 2V sind, extrahiert und dann werden „1"-Daten in entsprechende der zugehörigen Datenspeicher 2 (DS2) gesetzt. "0"-Daten werden in jeden der verbleibenden Datenspeicher 2 (DS2) gesetzt. Als nächstes wird das Lesen 10 durchgeführt. Bei dieser Operation werden die Speicherzellen, die eine niedrigere Schwellspannung als 0V oder eine höher als 2V haben, extrahiert. Falls erkannt wird, dass die Schwellspannung niedriger als 0V ist oder der Datenspeicher 2 (DS2) die „1"-Daten speichert, werden die „1"-Daten in den Datenspeicher 1 (DS1) gesetzt, andernfalls „0". Die im Datenspeicher 1 (DS1) gespeicherten Daten werden über den Daten-Eingabe/Ausgabe-Puffer (6) synchron mit einem Auslesesignal (nicht gezeigt) ausgegeben und in das Kommandointerface (7) eingegeben.
  • 31 zeigt einen Beispiellesealgorithmus zum Lesen der oberen Seite von Daten, die gemäß des Verfahrens von 16 und 17 verdichtet wurde. Ein Teil, der von einer gestrichelten Linie umgeben (S1 und S2) ist, ist der selbe wie der in 30 gezeigte. Beim Lesen 00 werden die Speicherzellen, die eine höhere Schwellspannung als 1V haben, extrahiert und dann werden „0"-Daten in entsprechende der zugehörigen Datenspeicher 1 (DS1) gesetzt. "1"-Daten werden in jeden der verbleibenden Datenspeicher 1 (DS1) gesetzt. Die im Datenspeicher 1 (DS1) gespeicherten Daten werden über die Daten-Eingabe/Ausgabe-Puffer (6) nach außen synchron mit dem Auslesesignal ausgegeben.

Claims (24)

  1. Verfahren zum Betrieb eines nicht-flüchtigen Speichersystems, wobei gespeicherte Werte in einigen Speicherelementen eines Arrays (1) von Speicherelementen aus anderen Speicherelementen gelesene Werte aufgrund von zumindest elektrischer Feldkopplung zwischen Speicherelementen beeinflussen, umfassend: Schreiben eines ersten Satzes gespeicherter Werte, der einem ersten Datensatz entspricht, in eine erste Gruppe von Speicherelementen, danach Schreiben eines zweiten Satzes gespeicherter Werte, der einem zweiten Datensatz entspricht, in eine von der ersten Gruppe verschiedene zweite Gruppe von Speicherelementen, DADURCH GEKENNZEICHNET, DASS zumindest einige des gespeicherten zweiten Satzes von Werten einige aus zumindest der ersten Gruppe von Speicherelementen gelesene Daten aufgrund von zumindest elektrischer Feldkopplung zwischen diesen beeinflussen, um exaktes Lesen des ersten Datensatzes aus der ersten Gruppe von Speicherelementen zu vereinfachen, wird nur der erste Satz gespeicherter Werte, der in die erste Gruppe von Speicherelementen geschrieben wird, in einer Weise verändert, was einem Effekt des zweiten Satzes gespeicherter Werte auf die aus zumindest einigen aus der ersten Gruppe von Speicherelementen gelesenen Daten aufgrund von zumindest Feldkopplung zwischen diesen entgegenwirkt, ohne die zweite Gruppe von Speicherelementen nochmals zu schreiben.
  2. Verfahren gemäß Anspruch 1, wobei ein Merkmal des ersten Satzes gespeicherter Werte, der vom zweiten Satz gespeicherter Werte beeinflusst wird, Verbreitern einer offensichtlichen Verteilung derjenigen des gespeicherten ersten Satzes von Werten, der besonderen Zuständen des ersten Datensatzes entspricht, beinhaltet, und wobei Verändern des ersten Satzes gespeicherter Werte ein Verdichten der Verteilung derjenigen des gespeicherten ersten Satzes von Werten, der besonderen Zuständen des ersten Datensatzes entspricht, beinhaltet.
  3. Verfahren gemäß Anspruch 2, wobei Verdichten der Verteilung nach Schreiben des zweiten Satzes gespeicherter Werte erfolgt.
  4. Verfahren gemäß Anspruch 3, wobei vor Verdichten der Verteilung des gespeicherten ersten Satzes von Werten der erste Datensatz aus der ersten Gruppe von Speicherelementen gelesen wird.
  5. Verfahren gemäß Anspruch 2, wobei Verdichten der Verteilung vor Schreiben des zweiten Satzes gespeicherter Werte erfolgt.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei Verändern des ersten Satzes gespeicherter Werte Lesen des ersten Satzes gespeicherter Werte beinhaltet, der in die erste Gruppe von Speicherelementen geschrieben wird, und danach Umprogrammieren der ersten Vielzahl von Speicherelementen mit den gelesenen Daten, wobei das Umprogrammieren durchgeführt wird, ohne eine Kopie der anfangs in die erste Vielzahl von Speicherelementen programmierten Daten speichern zu müssen.
  7. Verfahren gemäß Anspruch 1, wobei die Speicherelemente betrieben werden, um einzeln ein Speicherfenster aufzuweisen, das in eine Vielzahl von definierten Bereichen von Speicherpegeln, die mehr als ein Bit Daten darstellen und die voneinander getrennt sind, aufgeteilt sind, und die einzelnen Speicherelemente durch inkrementelles Verändern derjenigen Speicherpegel programmiert werden, bis einer der Speicherpegelbereiche erreicht wird, der den darin zu speichernden Daten entspricht, wobei Schreiben des ersten Satzes von Speicherwerten in die erste Gruppe von Speicherelementen inkrementelles Verändern der Speicherpegel von einzelnen Speicherelementen beinhaltet, bis einer eines ersten Satzes von Referenzspeicherpegeln, der den zu speichernden Daten entspricht, erreicht oder überschritten wird, dadurch die Daten mit Verteilungen von Speicherpegeln unter der Vielzahl von Speicherelementen mit definierten Bereichen zu speichern, die Breiten aufweisen, die aus inkrementellem Verändern der Speicherpegel resultieren, und wobei Verändern des ersten Satzes gespeicherter Werte, der in die erste Gruppe von Speicherelementen geschrieben wird, Umprogrammieren derjenigen aus der ersten Gruppe von Speicherelementen beinhaltet, die Speicherpegel in einem Teil von einzelnen der Verteilungen durch inkrementelles Verändern der Speicherpegel von diesen einzelnen Speicherelementen aufweisen, bis diese in einen anderen nicht-überlappenden Teil ihrer entsprechenden Verteilungen programmiert sind, wobei der Betrag der inkrementellen Veränderung während einer Programmierung größer als die inkrementelle Veränderung von Speicherpegeln während eines Umprogrammierens ist.
  8. Verfahren gemäß Anspruch 7, wobei die Speichersystemspeicherelemente Floating Gates beinhalten.
  9. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei das nicht-flüchtige Speichersystem, in dem das Verfahren durchgeführt wird, ein Array von Flash elektrisch löschbarer und programmierbarer Nur-Lese-Speicherzellen aufweist, die Speicherelemente in Form von zumindest einem Floating Gate pro Zelle aufweisen.
  10. Verfahren gemäß Anspruch 9, wobei das nicht-flüchtige Speichersystem, in dem das Verfahren durchgeführt wird, in einer NAND-Anordnung verbundene Speicherzellen beinhaltet.
  11. Verfahren gemäß Anspruch 9, wobei das nicht-flüchtige Speichersystem, in dem das Verfahren durchgeführt wird, Speicherzellen beinhaltet, die zwei Floating Gates pro Zelle aufweisen.
  12. Verfahren gemäß einem der Ansprüche 7 oder 8, wobei die Speicherelemente in einer NAND-Anordnung verbunden sind.
  13. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die Speicherelemente elektrische Floating Gates sind, und wobei die gespeicherten Werte auf dem Floating Gate gespeicherte Ladungspegel sind, die Leitung durch Speicherzellentransistoren, von denen die Floating Gates ein Teil sind, beeinflussen.
  14. Verfahren gemäß Anspruch 13, wobei mehr als zwei gespeicherte Werte für einzelne der Floating Gates definiert sind, um mehr als ein Bit Daten auf jedem einzelnen Floating Gate zu speichern.
  15. Nicht-flüchtiger Speicher zum Speichern von Daten, umfassend: ein Array (1) von Ladungsspeicherelementen auf einem integrierten Schaltungschip, eine Programmierschaltung (2, 3, 4, 5) auf dem integrierten Schaltungschip, die dazu programmiert ist, einen ersten Datensatz als einen ersten Satz gespeicherter Werte in eine erste Gruppe der Speicherelemente zu schreiben, danach einen zweiten Datensatz als einen zweiten Satz gespeicherter Werten in einen zweiten Satz der Speicherelemente zu schreiben, DADURCH GEKENNZEICHNET, DASS Ladungswerte, die in einigen der Speicherelemente gespeichert sind, die aus anderen Speicherelementen gelesene Daten aufgrund von zumindest elektrischer Feldkopplung zwischen Speicherelementen beeinflussen, wobei zumindest einige des gespeicherten zweiten Satzes von Werten gelesene Daten aus zumindest einigen aus der ersten Gruppe von Speicherelementen wegen Feldkopplung zwischen diesen beeinflussen, UND DASS die Programmierschaltung (2, 3, 4, 5) ferner dazu programmiert ist, nur den ersten Satz gespeicherter Werten in einer Weise zu verändern, um einem Effekt vom zweiten Satz gespeicherter Werte auf aus der ersten Gruppe von Speicherelementen gelesene Daten zumindest aufgrund der Feldkopplung zwischen diesen entgegenzuwirken, ohne die zweite Gruppe von Speicherelementen nochmals zu Schreiben.
  16. Speicher gemäß Anspruch 15, wobei die Programmierschaltung eine State Machine (8) beinhaltet, welche die Sequenz des Schreibens des ersten Datensatzes, Schreiben des zweiten Datensatzes und Verändern des ersten Satzes gespeicherter Daten steuert.
  17. Verfahren gemäß Anspruch 15 oder Anspruch 16, wobei die Speicherelemente elektrische Floating Gates beinhalten, wobei die gespeicherten Werte auf den Floating Gates gespeicherte Ladungspegel sind, die Leitung durch Speicherzellen, von denen die Floating Gates ein Teil sind, beeinflussen.
  18. Speicher gemäß Anspruch 15 oder Anspruch 16, wobei die Speicherelemente Teil von in parallelen Strängen angeordneten Speicherzellen mit leitenden Wortleitungen sind, die sich orthogonal über die Stränge der Speicherelemente erstrecken.
  19. Speicher gemäß einem der Ansprüche 15 bis Anspruch 18, wobei die Programmierschaltung (2, 3, 4, 5) dazu programmiert ist, den ersten Satz gespeicherter Werte durch Lesen des ersten Datensatzes aus dem ersten Satz gespeicherter Werte aus der ersten Gruppe von Speicherelementen zu verändern und danach den gelesenen ersten Datensatz in die erste Gruppe von Speicherelementen als den veränderten ersten Satz gespeicherter Werte neu schreibt.
  20. Speicher gemäß einem der Ansprüche 15 bis 18, wobei die Programmierschaltung (2, 3, 4, 5) dazu programmiert ist, den gelesenen ersten Datensatz in die erste Gruppe von Speicherelementen durch abwechselndes Programmieren und Prüfen der auf den einzelnen Speicherelementen gespeicherten Ladungspegel bis zum jeweiligen Erreichen des ersten Satzes gespeicherter Werte neu zu schreiben.
  21. Speicher gemäß Anspruch 20, wobei die Programmierschaltung Prüfflags beinhaltet, die gesetzt werden, wenn die auf einzelnen Speicherelementen gespeicherten Ladungspegel geprüft sind, dass diese einen vorläufigen Pegel erreicht haben, wonach eine Steigerungsrate von zumindest einer Programmierspannung abnimmt.
  22. Speicher gemäß einem der Ansprüche 15 bis 21, wobei das Array (1) von Ladungsspeicherelementen weiterin durch die auf dem zweiten Satz von Speicherelementen gespeicherten Werte gekennzeichnet ist, was ein Verbreitern einer Verteilung des ersten Satzes gespeicherter Werte aus der ersten Gruppe von Speicherelementen hervorruft.
  23. Speicher gemäß einem der Ansprüche 15 bis 21, wobei die Programmierschaltung dazu programmiert ist, den ersten Satz gespeicherter Werte durch Verdichten der Verteilung des ersten Satzes gespeicherter Werte aus der ersten Gruppe von Speicherelementen vor Schreiben des zweiten Satzes gespeicherter Werte zu verändern.
  24. Speicher gemäß einem der Ansprüche 13 bis 21, wobei die Programmierschaltung mehr als zwei gespeicherte Werte für einzelne Speicherelemente (M) definiert, um dadurch mehr als ein Bit Daten pro Speicherelement zu speichern.
DE60220590T 2001-06-27 2002-06-26 Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers Expired - Lifetime DE60220590T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/893,277 US6522580B2 (en) 2001-06-27 2001-06-27 Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US893277 2001-06-27

Publications (2)

Publication Number Publication Date
DE60220590D1 DE60220590D1 (de) 2007-07-26
DE60220590T2 true DE60220590T2 (de) 2008-02-14

Family

ID=25401316

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60220590T Expired - Lifetime DE60220590T2 (de) 2001-06-27 2002-06-26 Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers

Country Status (8)

Country Link
US (4) US6522580B2 (de)
EP (2) EP1271553B1 (de)
JP (1) JP4221196B2 (de)
KR (1) KR100926950B1 (de)
CN (2) CN101127240B (de)
AT (1) ATE364885T1 (de)
DE (1) DE60220590T2 (de)
TW (1) TW583672B (de)

Families Citing this family (702)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US7149110B2 (en) * 1999-01-14 2006-12-12 Silicon Storage Technology, Inc. Seek window verify program system and method for a multilevel non-volatile memory integrated circuit system
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
USRE40110E1 (en) * 1999-09-20 2008-02-26 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device for storing multivalued data
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6584017B2 (en) * 2001-04-05 2003-06-24 Saifun Semiconductors Ltd. Method for programming a reference cell
JP4907011B2 (ja) * 2001-04-27 2012-03-28 株式会社半導体エネルギー研究所 不揮発性メモリとその駆動方法、及び半導体装置
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
US6762092B2 (en) * 2001-08-08 2004-07-13 Sandisk Corporation Scalable self-aligned dual floating gate memory cell array and methods of forming the array
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7170802B2 (en) * 2003-12-31 2007-01-30 Sandisk Corporation Flexible and area efficient column redundancy for non-volatile memories
US6985388B2 (en) 2001-09-17 2006-01-10 Sandisk Corporation Dynamic column block selection
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
JP2003134414A (ja) * 2001-10-22 2003-05-09 Pioneer Electronic Corp 映像処理装置及び映像処理方法並びに映像処理用プログラム
US6967872B2 (en) * 2001-12-18 2005-11-22 Sandisk Corporation Method and system for programming and inhibiting multi-level, non-volatile memory cells
JP3977799B2 (ja) * 2003-12-09 2007-09-19 株式会社東芝 不揮発性半導体記憶装置
US7301806B2 (en) * 2001-12-27 2007-11-27 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device adapted to store a multi-valued in a single memory cell
DE60134870D1 (de) * 2001-12-28 2008-08-28 St Microelectronics Srl Programmierverfahren für eine Multibitspeicherzelle
US6542407B1 (en) * 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US6894930B2 (en) * 2002-06-19 2005-05-17 Sandisk Corporation Deep wordline trench to shield cross coupling between adjacent cells for scaled NAND
KR101110191B1 (ko) * 2002-06-19 2012-02-15 쌘디스크 코포레이션 스케일 낸드용 인접셀들 사이의 크로스 커플링을 실드하기위한 딥 워드라인 트렌치
US6894931B2 (en) * 2002-06-20 2005-05-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US6944063B2 (en) 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
US6859397B2 (en) * 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
KR100512181B1 (ko) * 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
US6914823B2 (en) * 2003-07-29 2005-07-05 Sandisk Corporation Detecting over programmed memory after further programming
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6933557B2 (en) * 2003-08-11 2005-08-23 Atmel Corporation Fowler-Nordheim block alterable EEPROM memory cell
US7046555B2 (en) 2003-09-17 2006-05-16 Sandisk Corporation Methods for identifying non-volatile memory elements with poor subthreshold slope or weak transconductance
US6958936B2 (en) * 2003-09-25 2005-10-25 Sandisk Corporation Erase inhibit in non-volatile memories
US7188228B1 (en) * 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
JP2005116132A (ja) * 2003-10-10 2005-04-28 Toshiba Corp 不揮発性半導体記憶装置
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US7187140B2 (en) * 2003-12-16 2007-03-06 Microsemi Corporation Lamp current control using profile synthesizer
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
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
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7173863B2 (en) 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7154779B2 (en) * 2004-01-21 2006-12-26 Sandisk Corporation Non-volatile memory cell using high-k material inter-gate programming
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory
US7068539B2 (en) * 2004-01-27 2006-06-27 Sandisk Corporation Charge packet metering for coarse/fine programming of non-volatile memory
US7139198B2 (en) * 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
JP4170952B2 (ja) 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
JP2008176924A (ja) * 2004-01-30 2008-07-31 Toshiba Corp 半導体記憶装置
US7161833B2 (en) * 2004-02-06 2007-01-09 Sandisk Corporation Self-boosting system for flash memory cells
US7466590B2 (en) 2004-02-06 2008-12-16 Sandisk Corporation Self-boosting method for flash memory cells
US7355237B2 (en) * 2004-02-13 2008-04-08 Sandisk Corporation Shield plate for limiting cross coupling between floating gates
US8019928B2 (en) * 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
US7716413B2 (en) * 2004-02-15 2010-05-11 Sandisk Il Ltd. Method of making a multi-bit-cell flash memory
JP2005235287A (ja) * 2004-02-19 2005-09-02 Nec Electronics Corp 不揮発性半導体記憶装置のプログラミング方法、プログラミング装置、及び、不揮発性半導体記憶装置
US20050213393A1 (en) * 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7310347B2 (en) * 2004-03-14 2007-12-18 Sandisk, Il Ltd. States encoding in multi-bit flash cells
JP4427361B2 (ja) * 2004-03-16 2010-03-03 株式会社東芝 不揮発性半導体メモリ
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
KR100847587B1 (ko) * 2004-04-06 2008-07-22 샌디스크 코포레이션 비휘발성 메모리의 가변 프로그래밍
US7057939B2 (en) 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
US7020026B2 (en) * 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory
US7023733B2 (en) * 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
US8429313B2 (en) * 2004-05-27 2013-04-23 Sandisk Technologies Inc. Configurable ready/busy control
US7274596B2 (en) * 2004-06-30 2007-09-25 Micron Technology, Inc. Reduction of adjacent floating gate data pattern sensitivity
US7110298B2 (en) * 2004-07-20 2006-09-19 Sandisk Corporation Non-volatile system with program time control
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7294882B2 (en) * 2004-09-28 2007-11-13 Sandisk Corporation Non-volatile memory with asymmetrical doping profile
US20060067127A1 (en) * 2004-09-30 2006-03-30 Matrix Semiconductor, Inc. Method of programming a monolithic three-dimensional memory
US8179711B2 (en) * 2004-10-26 2012-05-15 Samsung Electronics Co., Ltd. Semiconductor memory device with stacked memory cell and method of manufacturing the stacked memory cell
KR100645055B1 (ko) * 2004-10-28 2006-11-10 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US7493457B2 (en) * 2004-11-08 2009-02-17 Sandisk Il. Ltd States encoding in multi-bit flash cells for optimizing error rate
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7092290B2 (en) * 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
US7173859B2 (en) * 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7412560B2 (en) 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7395404B2 (en) 2004-12-16 2008-07-01 Sandisk Corporation Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US7149111B2 (en) * 2004-12-17 2006-12-12 Msystems Ltd. Method of handling limitations on the order of writing to a non-volatile memory
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7437653B2 (en) 2004-12-22 2008-10-14 Sandisk Corporation Erased sector detection mechanisms
US6980471B1 (en) * 2004-12-23 2005-12-27 Sandisk Corporation Substrate electron injection techniques for programming non-volatile charge storage memory cells
US7230851B2 (en) * 2004-12-23 2007-06-12 Sandisk Corporation Reducing floating gate to floating gate coupling effect
US7369438B2 (en) * 2004-12-28 2008-05-06 Aplus Flash Technology, Inc. Combo memory design and technology for multiple-function java card, sim-card, bio-passport and bio-id card applications
US7450433B2 (en) 2004-12-29 2008-11-11 Sandisk Corporation Word line compensation in non-volatile memory erase operations
KR100729351B1 (ko) * 2004-12-31 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
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
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
EP1688959B1 (de) * 2005-02-04 2013-04-24 Micron Technology, Inc. Programmierverfahren für Speicheranordnung zur Minimierung der lateralen Kopplungseffekten zwischen Speicherzellen
US9104315B2 (en) * 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7212436B2 (en) * 2005-02-28 2007-05-01 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
US8000502B2 (en) 2005-03-09 2011-08-16 Sandisk Technologies Inc. Portable memory storage device with biometric identification security
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
JP2006302345A (ja) * 2005-04-15 2006-11-02 Sony Corp データ処理装置、データ再生装置、データ処理方法及びプログラム
ITMI20050798A1 (it) * 2005-05-03 2006-11-04 Atmel Corp Metodo e sistema per la generazi0ne di impulsi di programmazione durante la programmazione di dispositivi elettronici non volatili
WO2006119327A2 (en) * 2005-05-03 2006-11-09 Atmel Corporation Method and system for program pulse generation during programming of nonvolatile electronic devices
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
KR100719368B1 (ko) * 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
US7457910B2 (en) 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
DE602005012625D1 (de) * 2005-07-22 2009-03-19 Hynix Semiconductor Inc Verfahren zum Zugreifen auf eine nichtflüchtige Mehrpegelspeichervorrichtung vom Typ FLASH NAND
US7230854B2 (en) * 2005-08-01 2007-06-12 Sandisk Corporation Method for programming non-volatile memory with self-adjusting maximum program loop
US7023737B1 (en) 2005-08-01 2006-04-04 Sandisk Corporation System for programming non-volatile memory with self-adjusting maximum program loop
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US20070036007A1 (en) * 2005-08-09 2007-02-15 Saifun Semiconductors, Ltd. Sticky bit buffer
US7170788B1 (en) 2005-09-09 2007-01-30 Sandisk Corporation Last-first mode and apparatus for programming of non-volatile memory with reduced program disturb
US7218552B1 (en) 2005-09-09 2007-05-15 Sandisk Corporation Last-first mode and method for programming of non-volatile memory with reduced program disturb
KR100705220B1 (ko) * 2005-09-15 2007-04-06 주식회사 하이닉스반도체 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7681109B2 (en) 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7286406B2 (en) * 2005-10-14 2007-10-23 Sandisk Corporation Method for controlled programming of non-volatile memory exhibiting bit line coupling
US7206235B1 (en) 2005-10-14 2007-04-17 Sandisk Corporation Apparatus for controlled programming of non-volatile memory exhibiting bit line coupling
US7526715B2 (en) * 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
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
TWI311762B (en) * 2005-10-27 2009-07-01 Sandisk Corporatio A non-volatile storage system and 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
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7379330B2 (en) * 2005-11-08 2008-05-27 Sandisk Corporation Retargetable memory cell redundancy methods
US8683082B2 (en) * 2005-11-14 2014-03-25 Sandisk Technologies Inc. Removable memory devices for displaying advertisement content on host systems using applications launched from removable memory devices
US8683081B2 (en) * 2005-11-14 2014-03-25 Sandisk Technologies Inc. Methods for displaying advertisement content on host system using application launched from removable memory device
US7353073B2 (en) * 2005-12-01 2008-04-01 Sandisk Corporation Method for managing appliances
US7739078B2 (en) * 2005-12-01 2010-06-15 Sandisk Corporation System for managing appliances
US7737483B2 (en) * 2005-12-06 2010-06-15 Sandisk Corporation Low resistance void-free contacts
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
DE602006021058D1 (de) 2005-12-06 2011-05-12 Sandisk Corp Minderung der lesestörungen in nicht-flüchtigen speichern
US7615448B2 (en) * 2005-12-06 2009-11-10 Sandisk Corporation Method of forming low resistance void-free contacts
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US7355888B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Apparatus for programming non-volatile memory with reduced program disturb using modified pass voltages
US7355889B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7917949B2 (en) * 2005-12-21 2011-03-29 Sandisk Corporation Voice controlled portable memory storage device
US8161289B2 (en) * 2005-12-21 2012-04-17 SanDisk Technologies, Inc. Voice controlled portable memory storage device
US20070143111A1 (en) * 2005-12-21 2007-06-21 Conley Kevin M Voice controlled portable memory storage device
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
US7655536B2 (en) * 2005-12-21 2010-02-02 Sandisk Corporation Methods of forming flash devices with shared word lines
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20070143566A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with data alignment in a directly mapped file storage system
US20070143117A1 (en) * 2005-12-21 2007-06-21 Conley Kevin M Voice controlled portable memory storage device
US7495294B2 (en) * 2005-12-21 2009-02-24 Sandisk Corporation Flash devices with shared word lines
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
US20070143378A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with adaptive file handling in a directly mapped file storage system
US8484632B2 (en) * 2005-12-22 2013-07-09 Sandisk Technologies Inc. System for program code execution with memory storage controller participation
US8479186B2 (en) * 2005-12-22 2013-07-02 Sandisk Technologies Inc. Method for program code execution with memory storage controller participation
EP2528096B1 (de) 2005-12-27 2016-08-31 SanDisk Technologies LLC Programmierverfahren einer Flash-Speichervorrichtung mit einer Verstärkerplatte
US7436703B2 (en) * 2005-12-27 2008-10-14 Sandisk Corporation Active boosting to minimize capacitive coupling effect between adjacent gates of flash memory devices
US7362615B2 (en) * 2005-12-27 2008-04-22 Sandisk Corporation Methods for active boosting to minimize capacitive coupling effect between adjacent gates of flash memory devices
US7365018B2 (en) * 2005-12-28 2008-04-29 Sandisk Corporation Fabrication of semiconductor device for flash memory with increased select gate width
US7352629B2 (en) * 2005-12-29 2008-04-01 Sandisk Corporation Systems for continued verification in non-volatile memory write operations
US7307887B2 (en) * 2005-12-29 2007-12-11 Sandisk Corporation Continued verification in non-volatile memory write operations
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
TW200727303A (en) * 2006-01-08 2007-07-16 Ememory Technology Inc A method and memory capable of improving the endurance of memory
KR100683858B1 (ko) * 2006-01-12 2007-02-15 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법
KR100673026B1 (ko) * 2006-01-24 2007-01-24 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법
KR100684909B1 (ko) * 2006-01-24 2007-02-22 삼성전자주식회사 읽기 에러를 방지할 수 있는 플래시 메모리 장치
KR100841336B1 (ko) * 2006-01-24 2008-06-26 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리를 구비한 메모리 시스템
JP4157563B2 (ja) 2006-01-31 2008-10-01 株式会社東芝 半導体集積回路装置
KR100732631B1 (ko) * 2006-02-01 2007-06-27 삼성전자주식회사 전하 손실로 인해 감소된 읽기 마진을 보상할 수 있는플래시 메모리 장치의 프로그램 방법
KR100666223B1 (ko) * 2006-02-22 2007-01-09 삼성전자주식회사 메모리셀 사이의 커플링 노이즈를 저감시키는 3-레벨불휘발성 반도체 메모리 장치 및 이에 대한 구동방법
US7436733B2 (en) * 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
DE602007012157D1 (de) 2006-03-03 2011-03-03 Sandisk Corp Leseverfahren für nichtflüchtigen Speicher mit Kompensation der Floating-Gate Kopplung
US7499319B2 (en) 2006-03-03 2009-03-03 Sandisk Corporation Read operation for non-volatile storage with compensation for coupling
US8848442B2 (en) * 2006-03-06 2014-09-30 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7327608B2 (en) * 2006-03-28 2008-02-05 Sandisk Corporation Program time adjustment as function of program voltage for improved programming speed in programming method
US7330373B2 (en) * 2006-03-28 2008-02-12 Sandisk Corporation Program time adjustment as function of program voltage for improved programming speed in memory system
US7428165B2 (en) * 2006-03-30 2008-09-23 Sandisk Corporation Self-boosting method with suppression of high lateral electric fields
US7511995B2 (en) * 2006-03-30 2009-03-31 Sandisk Corporation Self-boosting system with suppression of high lateral electric fields
EP1840901B1 (de) * 2006-03-31 2010-04-28 STMicroelectronics Srl Verfahren zum Programmieren einer Speicheranordnung dafür geeignet die Kopplungen der schwebeneden Gatter zu minimieren und eine Speicheranordnung
US7426137B2 (en) 2006-04-12 2008-09-16 Sandisk Corporation Apparatus for reducing the impact of program disturb during read
JP4995264B2 (ja) 2006-04-12 2012-08-08 サンディスク コーポレイション 読み出し中におけるプログラム外乱による影響の軽減
US7515463B2 (en) 2006-04-12 2009-04-07 Sandisk Corporation Reducing the impact of program disturb during read
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
US7467253B2 (en) * 2006-04-13 2008-12-16 Sandisk Corporation Cycle count storage systems
US7451264B2 (en) * 2006-04-13 2008-11-11 Sandisk Corporation Cycle count storage methods
US7440322B2 (en) * 2006-04-20 2008-10-21 Sandisk Corporation Method and system for flash memory devices
US7447821B2 (en) * 2006-04-21 2008-11-04 Sandisk Corporation U3 adapter
US7516261B2 (en) * 2006-04-21 2009-04-07 Sandisk Corporation Method for U3 adapter
US7701779B2 (en) * 2006-04-27 2010-04-20 Sajfun Semiconductors Ltd. Method for programming a reference cell
US7286408B1 (en) 2006-05-05 2007-10-23 Sandisk Corporation Boosting methods for NAND flash memory
US7436709B2 (en) * 2006-05-05 2008-10-14 Sandisk Corporation NAND flash memory with boosting
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
CN103280239B (zh) * 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US7876613B2 (en) 2006-05-18 2011-01-25 Samsung Electronics Co., Ltd. Multi-bit flash memory devices having a single latch structure and related programming methods, systems and memory cards
KR100778082B1 (ko) * 2006-05-18 2007-11-21 삼성전자주식회사 단일의 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드
US7583545B2 (en) * 2006-05-21 2009-09-01 Sandisk Il Ltd Method of storing data in a multi-bit-cell flash memory
WO2008097320A2 (en) * 2006-06-01 2008-08-14 Virginia Tech Intellectual Properties, Inc. Premixing injector for gas turbine engines
US7440331B2 (en) * 2006-06-01 2008-10-21 Sandisk Corporation Verify operation for non-volatile storage using different voltages
US7457163B2 (en) * 2006-06-01 2008-11-25 Sandisk Corporation System for verifying non-volatile storage using different voltages
US7450421B2 (en) * 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
US7310272B1 (en) * 2006-06-02 2007-12-18 Sandisk Corporation System for performing data pattern sensitivity compensation using different voltage
US7952922B2 (en) * 2006-06-06 2011-05-31 Micron Technology, Inc. Method for programming a non-volatile memory device to reduce floating-gate-to-floating-gate coupling effect
KR100733952B1 (ko) 2006-06-12 2007-06-29 삼성전자주식회사 플래그 셀들 사이의 커플링을 최소화시킬 수 있는멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
US7372715B2 (en) * 2006-06-14 2008-05-13 Micron Technology, Inc. Architecture and method for NAND flash memory
US7342831B2 (en) * 2006-06-16 2008-03-11 Sandisk Corporation System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7391650B2 (en) * 2006-06-16 2008-06-24 Sandisk Corporation Method for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
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
US7349261B2 (en) * 2006-06-19 2008-03-25 Sandisk Corporation Method for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
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
US7492633B2 (en) * 2006-06-19 2009-02-17 Sandisk Corporation System for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
EP2030205B1 (de) * 2006-06-22 2011-07-06 SanDisk Corporation Verfahren zur nichtrealen zeitprogrammierung eines nichtflüchtigen speichers zum erreichen einer festeren verteilung von schwellenspannungen
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US20070297247A1 (en) * 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
US7304893B1 (en) 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7533328B2 (en) * 2006-07-04 2009-05-12 Sandisk Il, Ltd. Method of error correction in a multi-bit-per-cell flash memory
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
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
WO2008011441A2 (en) * 2006-07-20 2008-01-24 Sandisk Corporation Method for configuring compensation for coupling between adjacent storage elements in a nonvolatile memory
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7522454B2 (en) * 2006-07-20 2009-04-21 Sandisk Corporation Compensating for coupling based on sensing a neighbor using coupling
US7506113B2 (en) * 2006-07-20 2009-03-17 Sandisk Corporation Method for configuring compensation
DE602007007480D1 (de) * 2006-07-20 2010-08-12 Sandisk Corp Floating-gate-speicher mit kopplungskompensation während der programmierung
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7716415B2 (en) 2006-08-01 2010-05-11 Sandisk Il Ltd. Method of avoiding errors in flash memory
MX2009001345A (es) * 2006-08-05 2009-07-17 Benhov Gmbh Llc Elemento y metodo de almacenamiento de estado solido.
US7474560B2 (en) * 2006-08-21 2009-01-06 Micron Technology, Inc. Non-volatile memory with both single and multiple level cells
JP2008052808A (ja) 2006-08-24 2008-03-06 Toshiba Corp 不揮発性半導体記憶装置及びそのデータの読出方法並びにメモリカード
KR100919156B1 (ko) * 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
WO2008026203A2 (en) * 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
KR100805839B1 (ko) 2006-08-29 2008-02-21 삼성전자주식회사 고전압 발생기를 공유하는 플래시 메모리 장치
US7684243B2 (en) 2006-08-31 2010-03-23 Micron Technology, Inc. Reducing read failure in a memory device
US7440326B2 (en) * 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
KR100771883B1 (ko) 2006-09-06 2007-11-01 삼성전자주식회사 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법
US7593259B2 (en) * 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
KR100753156B1 (ko) 2006-09-13 2007-08-30 삼성전자주식회사 플래시 메모리 장치 및 그것의 메모리 셀 어레이
US7646054B2 (en) * 2006-09-19 2010-01-12 Sandisk Corporation Array of non-volatile memory cells with floating gates formed of spacers in substrate trenches
US7696044B2 (en) * 2006-09-19 2010-04-13 Sandisk Corporation Method of making an array of non-volatile memory cells with floating gates formed of spacers in substrate trenches
KR100879387B1 (ko) * 2006-09-22 2009-01-20 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US7961511B2 (en) * 2006-09-26 2011-06-14 Sandisk Corporation Hybrid programming methods and systems for non-volatile memory storage elements
US8184478B2 (en) * 2006-09-27 2012-05-22 Sandisk Technologies Inc. Apparatus with reduced program disturb in non-volatile storage
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US8773934B2 (en) * 2006-09-27 2014-07-08 Silicon Storage Technology, Inc. Power line compensation for flash memory sense amplifiers
US7886204B2 (en) * 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US8189378B2 (en) * 2006-09-27 2012-05-29 Sandisk Technologies Inc. Reducing program disturb in non-volatile storage
US7977186B2 (en) * 2006-09-28 2011-07-12 Sandisk Corporation Providing local boosting control implant for non-volatile memory
US7705387B2 (en) * 2006-09-28 2010-04-27 Sandisk Corporation Non-volatile memory with local boosting control implant
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US7675802B2 (en) 2006-09-29 2010-03-09 Sandisk Corporation Dual voltage flash memory card
US7684247B2 (en) * 2006-09-29 2010-03-23 Sandisk Corporation Reverse reading in non-volatile memory with compensation for coupling
US7656735B2 (en) 2006-09-29 2010-02-02 Sandisk Corporation Dual voltage flash memory methods
US7447076B2 (en) * 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling
KR100773742B1 (ko) 2006-09-30 2007-11-09 삼성전자주식회사 저장 소자들 사이의 커플링 효과를 감소시킬 수 있는비휘발성 메모리 장치와 그 방법
KR100782329B1 (ko) 2006-10-02 2007-12-06 삼성전자주식회사 메모리 셀 어레이에 분산 배열된 플래그 셀 어레이를구비하는 비휘발성 메모리 장치 및 상기 메모리 장치의구동 방법
US7450426B2 (en) * 2006-10-10 2008-11-11 Sandisk Corporation Systems utilizing variable program voltage increment values in non-volatile memory program operations
WO2008045805A1 (en) * 2006-10-10 2008-04-17 Sandisk Corporation Variable program voltage increment values in non-volatile memory program operations
US7474561B2 (en) * 2006-10-10 2009-01-06 Sandisk Corporation Variable program voltage increment values in non-volatile memory program operations
US20080091871A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Non-volatile memory with worst-case control data management
EP2057635B1 (de) 2006-10-13 2014-03-19 SanDisk Technologies Inc. Unterteilte löschung und löschüberprüfung in nicht flüchtigem speicher
US7372748B2 (en) * 2006-10-16 2008-05-13 Sandisk Corporation Voltage regulator in a non-volatile memory device
US7691710B2 (en) * 2006-10-17 2010-04-06 Sandisk Corporation Fabricating non-volatile memory with dual voltage select gate structure
US7586157B2 (en) * 2006-10-17 2009-09-08 Sandisk Corporation Non-volatile memory with dual voltage select gate structure
US7616490B2 (en) * 2006-10-17 2009-11-10 Sandisk Corporation Programming non-volatile memory with dual voltage select gate structure
WO2008053472A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
CN101601094B (zh) * 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7596031B2 (en) * 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
JP2010508615A (ja) * 2006-10-30 2010-03-18 サンディスク コーポレイション 不揮発性メモリに用いられる最高マルチレベル状態の高速プログラミング
US7468911B2 (en) * 2006-11-02 2008-12-23 Sandisk Corporation Non-volatile memory using multiple boosting modes for reduced program disturb
US7426139B2 (en) * 2006-11-02 2008-09-16 Macronix International Co., Ltd. Dynamic program and read adjustment for multi-level cell memory array
US7440323B2 (en) * 2006-11-02 2008-10-21 Sandisk Corporation Reducing program disturb in non-volatile memory using multiple boosting modes
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
US7904788B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of varying read threshold voltage in nonvolatile memory
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US7904780B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US7508710B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Operating non-volatile memory with boost structures
US7696035B2 (en) * 2006-11-13 2010-04-13 Sandisk Corporation Method for fabricating non-volatile memory with boost structures
US7508703B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Non-volatile memory with boost structures
KR100851853B1 (ko) * 2006-11-22 2008-08-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7706182B2 (en) * 2006-12-03 2010-04-27 Anobit Technologies Ltd. Adaptive programming of analog memory cells using statistical characteristics
US7474565B2 (en) * 2006-12-11 2009-01-06 Macronix International Co., Ltd. Programming scheme for non-volatile flash memory
US7623387B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Non-volatile storage with early source-side boosting for reducing program disturb
US7623386B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Reducing program disturb in non-volatile storage using early source-side boosting
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US8504890B2 (en) * 2006-12-17 2013-08-06 Ramot At Tel Aviv University Ltd. Scheduling for LDPC decoding
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7642160B2 (en) * 2006-12-21 2010-01-05 Sandisk Corporation Method of forming a flash NAND memory cell array with charge storage elements positioned in trenches
US7800161B2 (en) * 2006-12-21 2010-09-21 Sandisk Corporation Flash NAND memory cell array with charge storage elements positioned in trenches
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US8046522B2 (en) * 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US7917686B2 (en) * 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US7701765B2 (en) * 2006-12-28 2010-04-20 Micron Technology, Inc. Non-volatile multilevel memory cell programming
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
US7539052B2 (en) * 2006-12-28 2009-05-26 Micron Technology, Inc. Non-volatile multilevel memory cell programming
KR100816155B1 (ko) * 2006-12-28 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 멀티레벨 셀 프로그램 방법
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
US7606070B2 (en) * 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7468918B2 (en) * 2006-12-29 2008-12-23 Sandisk Corporation Systems for programming non-volatile memory with reduced program disturb by removing pre-charge dependency on word line data
US7616498B2 (en) * 2006-12-29 2009-11-10 Sandisk Corporation Non-volatile storage system with resistance sensing and compensation
US7495962B2 (en) * 2006-12-29 2009-02-24 Sandisk Corporation Alternating read mode
US7489548B2 (en) * 2006-12-29 2009-02-10 Sandisk Corporation NAND flash memory cell array with adaptive memory state partitioning
US7518923B2 (en) * 2006-12-29 2009-04-14 Sandisk Corporation Margined neighbor reading for non-volatile memory read operations including coupling compensation
US7440324B2 (en) * 2006-12-29 2008-10-21 Sandisk Corporation Apparatus with alternating read mode
US7590002B2 (en) * 2006-12-29 2009-09-15 Sandisk Corporation Resistance sensing and compensation for non-volatile storage
US7450430B2 (en) * 2006-12-29 2008-11-11 Sandisk Corporation Programming non-volatile memory with reduced program disturb by using different pre-charge enable voltages
US7890724B2 (en) * 2006-12-29 2011-02-15 Sandisk Corporation System for code execution
US7890723B2 (en) * 2006-12-29 2011-02-15 Sandisk Corporation Method for code execution
US7489547B2 (en) * 2006-12-29 2009-02-10 Sandisk Corporation Method of NAND flash memory cell array with adaptive memory state partitioning
US7433241B2 (en) * 2006-12-29 2008-10-07 Sandisk Corporation Programming non-volatile memory with reduced program disturb by removing pre-charge dependency on word line data
US7463531B2 (en) * 2006-12-29 2008-12-09 Sandisk Corporation Systems for programming non-volatile memory with reduced program disturb by using different pre-charge enable voltages
US7468919B2 (en) * 2006-12-30 2008-12-23 Sandisk Corporation Biasing non-volatile storage based on selected word line
US7554853B2 (en) * 2006-12-30 2009-06-30 Sandisk Corporation Non-volatile storage with bias based on selective word line
US7583539B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Non-volatile storage with bias for temperature compensation
US7583535B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Biasing non-volatile storage to compensate for temperature variations
US7525843B2 (en) * 2006-12-30 2009-04-28 Sandisk Corporation Non-volatile storage with adaptive body bias
US7468920B2 (en) 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
KR100816161B1 (ko) 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
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
US7660166B2 (en) * 2007-01-31 2010-02-09 Sandisk Il Ltd. Method of improving programming precision in flash memory
US7397705B1 (en) * 2007-02-01 2008-07-08 Macronix International Co., Ltd. Method for programming multi-level cell memory array
KR101147522B1 (ko) 2007-02-20 2012-05-21 샌디스크 테크놀로지스, 인코포레이티드 임계전압 분포에 기반한 동적 검증
US7619930B2 (en) * 2007-02-20 2009-11-17 Sandisk Corporation Dynamic verify based on threshold voltage distribution
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US7535764B2 (en) * 2007-03-21 2009-05-19 Sandisk Corporation Adjusting resistance of non-volatile memory using dummy memory cells
US7573773B2 (en) * 2007-03-28 2009-08-11 Sandisk Corporation Flash memory with data refresh triggered by controlled scrub data reads
US7477547B2 (en) * 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
WO2008121553A1 (en) * 2007-03-29 2008-10-09 Sandisk Corporation Non-volatile storage with decoding of data using reliability metrics based on multiple reads
US7745285B2 (en) * 2007-03-30 2010-06-29 Sandisk Corporation Methods of forming and operating NAND memory with side-tunneling
US7532516B2 (en) * 2007-04-05 2009-05-12 Sandisk Corporation Non-volatile storage with current sensing of negative threshold voltages
US7606076B2 (en) * 2007-04-05 2009-10-20 Sandisk Corporation Sensing in non-volatile storage using pulldown to regulated source voltage to remove system noise
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US7903468B2 (en) 2007-04-23 2011-03-08 Ramot At Telaviv University Ltd. Adaptive dynamic reading of flash memories
US7606071B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Compensating source voltage drop in non-volatile storage
US7606072B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Non-volatile storage with compensation for source voltage drop
US7440327B1 (en) 2007-04-25 2008-10-21 Sandisk Corporation Non-volatile storage with reduced power consumption during read operations
US7606079B2 (en) * 2007-04-25 2009-10-20 Sandisk Corporation Reducing power consumption during read operations in non-volatile storage
US7656709B2 (en) 2007-05-03 2010-02-02 Micron Technology, Inc. NAND step up voltage switching method
US7577029B2 (en) 2007-05-04 2009-08-18 Mosaid Technologies Incorporated Multi-level cell access buffer with dual function
US7577026B2 (en) * 2007-05-07 2009-08-18 Sandisk Corporation Source and drain side early boosting using local self boosting for non-volatile storage
US7463522B2 (en) * 2007-05-07 2008-12-09 Sandisk Corporation Non-volatile storage with boosting using channel isolation switching
US7460404B1 (en) * 2007-05-07 2008-12-02 Sandisk Corporation Boosting for non-volatile storage using channel isolation switching
KR100890016B1 (ko) 2007-05-10 2009-03-25 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템 및그것의 프로그램 방법
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8073648B2 (en) * 2007-05-14 2011-12-06 Sandisk Il Ltd. Measuring threshold voltage distribution in memory using an aggregate characteristic
US20080294814A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US8429352B2 (en) * 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
US20080307156A1 (en) * 2007-06-08 2008-12-11 Sinclair Alan W System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium
US8713283B2 (en) * 2007-06-08 2014-04-29 Sandisk Technologies Inc. Method of interfacing a host operating through a logical address space with a direct file storage medium
KR100892583B1 (ko) 2007-06-08 2009-04-08 삼성전자주식회사 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법
US7936599B2 (en) * 2007-06-15 2011-05-03 Micron Technology, Inc. Coarse and fine programming in a solid state memory
US7630252B2 (en) * 2007-06-25 2009-12-08 Sandisk Corporation Systems for programming multilevel cell nonvolatile memory
US7719889B2 (en) 2007-06-25 2010-05-18 Sandisk Corporation Methods of programming multilevel cell nonvolatile memory
KR100888847B1 (ko) * 2007-06-28 2009-03-17 삼성전자주식회사 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
US7545678B2 (en) * 2007-06-29 2009-06-09 Sandisk Corporation Non-volatile storage with source bias all bit line sensing
US7471567B1 (en) 2007-06-29 2008-12-30 Sandisk Corporation Method for source bias all bit line sensing in non-volatile storage
US7599224B2 (en) * 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US7898885B2 (en) * 2007-07-19 2011-03-01 Micron Technology, Inc. Analog sensing of memory cells in a solid state memory device
KR100908560B1 (ko) * 2007-08-06 2009-07-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
KR101425958B1 (ko) * 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
US7818493B2 (en) * 2007-09-07 2010-10-19 Sandisk Corporation Adaptive block list management
US8151034B2 (en) * 2007-09-12 2012-04-03 Sandisk Technologies Inc. Write abort and erase abort handling
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7751237B2 (en) * 2007-09-25 2010-07-06 Sandisk Il, Ltd. Post-facto correction for cross coupling in a flash memory
US8026170B2 (en) * 2007-09-26 2011-09-27 Sandisk Technologies Inc. Method of forming a single-layer metal conductors with multiple thicknesses
US7577034B2 (en) * 2007-09-26 2009-08-18 Sandisk Corporation Reducing programming voltage differential nonlinearity in non-volatile storage
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US20090088876A1 (en) * 2007-09-28 2009-04-02 Conley Kevin M Portable, digital media player and associated methods
US7773413B2 (en) * 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
KR101403429B1 (ko) * 2007-10-09 2014-06-03 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
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
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US7668012B2 (en) * 2007-10-31 2010-02-23 Micron Technology, Inc. Memory cell programming
US7742335B2 (en) 2007-10-31 2010-06-22 Micron Technology, Inc. Non-volatile multilevel memory cells
US7848142B2 (en) 2007-10-31 2010-12-07 Micron Technology, Inc. Fractional bits in memory cells
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
WO2009063450A2 (en) * 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8565019B2 (en) * 2007-11-20 2013-10-22 Kabushiki Kaisha Toshiba Method for controlling threshold value in nonvolatile semiconductor memory device
US7613045B2 (en) * 2007-11-26 2009-11-03 Sandisk Il, Ltd. Operation sequence and commands for measuring threshold voltage distribution in memory
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
US7602639B2 (en) * 2007-12-14 2009-10-13 Spansion Llc Reading electronic memory utilizing relationships between cell state distributions
US8456905B2 (en) * 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8880483B2 (en) * 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US7813169B2 (en) 2008-01-18 2010-10-12 Qimonda Flash Gmbh Integrated circuit and method to operate an integrated circuit
US7808833B2 (en) * 2008-01-28 2010-10-05 Qimonda Flash Gmbh Method of operating an integrated circuit, integrated circuit and method to determine an operating point
KR101391361B1 (ko) * 2008-01-28 2014-05-07 삼성전자주식회사 플래시 메모리 장치 및 그것의 소거 방법
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
KR101448851B1 (ko) * 2008-02-26 2014-10-13 삼성전자주식회사 비휘발성 메모리 장치에서의 프로그래밍 방법
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
EP2592553B1 (de) 2008-03-11 2015-11-18 Agere Systems, Inc. Verfahren und Vorrichtung zur Speicherung von Daten in einem MLC-Flash-Speicher mit seitenübergreifenden Sektoren, Mehrseitencodierung und seitenweiser Codierung
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
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
CA2629960C (en) * 2008-04-28 2009-12-08 Westport Power Inc. Apparatus and method for improving the accuracy of measurements taken with a capacitance-type sensor
US7808836B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Non-volatile memory with adaptive setting of state voltage levels
US7808819B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Method for adaptive setting of state voltage levels in non-volatile memory
US9594679B2 (en) * 2008-05-01 2017-03-14 Sandisk Il Ltd. Flash cache flushing method and system
US8051240B2 (en) * 2008-05-09 2011-11-01 Sandisk Technologies Inc. Compensating non-volatile storage using different pass voltages during program-verify and read
KR101378602B1 (ko) * 2008-05-13 2014-03-25 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US20090287893A1 (en) * 2008-05-16 2009-11-19 Skymedi Corporation Method for managing memory
US7719902B2 (en) * 2008-05-23 2010-05-18 Sandisk Corporation Enhanced bit-line pre-charge scheme for increasing channel boosting in non-volatile storage
US7952928B2 (en) * 2008-05-27 2011-05-31 Sandisk Il Ltd. Increasing read throughput in non-volatile memory
US7813172B2 (en) 2008-06-12 2010-10-12 Sandisk Corporation Nonvolatile memory with correlated multiple pass programming
CN102089827B (zh) * 2008-06-12 2017-05-17 桑迪士克科技有限责任公司 非易失性存储器和关联多遍编程的方法
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
JP2009301679A (ja) * 2008-06-17 2009-12-24 Vantel Corp 不揮発性半導体記憶装置とその書き込み方法
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US7751249B2 (en) * 2008-06-27 2010-07-06 Sandisk Corporation Minimizing power noise during sensing in memory device
US7751250B2 (en) * 2008-06-27 2010-07-06 Sandisk Corporation Memory device with power noise minimization during sensing
US8014209B2 (en) 2008-07-02 2011-09-06 Sandisk Technologies Inc. Programming and selectively erasing non-volatile storage
US8762654B1 (en) 2008-07-02 2014-06-24 Marvell International Ltd. Selectively scheduling memory accesses in parallel based on access speeds of memory
US8706951B2 (en) * 2008-07-18 2014-04-22 Marvell World Trade Ltd. Selectively accessing faster or slower multi-level cell memory
WO2010011692A1 (en) * 2008-07-22 2010-01-28 Lsi Corporation Methods and apparatus for programming multiple program values per signal level in flash memories
KR101468099B1 (ko) * 2008-07-24 2014-12-03 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR101528167B1 (ko) * 2008-08-01 2015-06-12 삼성전자주식회사 메모리 장치 및 메모리 데이터 판정 방법
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7876611B2 (en) * 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
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
US8145855B2 (en) * 2008-09-12 2012-03-27 Sandisk Technologies Inc. Built in on-chip data scrambler for non-volatile memory
US8429330B2 (en) * 2008-09-12 2013-04-23 Sandisk Technologies Inc. Method for scrambling data in which scrambling data and scrambled data are stored in corresponding non-volatile memory locations
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8671327B2 (en) 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
EP2335245B1 (de) * 2008-09-28 2015-01-07 Ramot at Tel-Aviv University Ltd. Verfahren und system zur adaptiven codierung in flash-speichern
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US7839687B2 (en) * 2008-10-16 2010-11-23 Sandisk Corporation Multi-pass programming for memory using word line coupling
KR101486980B1 (ko) * 2008-10-27 2015-01-30 삼성전자주식회사 불휘발성 메모리의 문턱 전압 산포의 분석 방법
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
KR101518039B1 (ko) * 2008-12-08 2015-05-07 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101642465B1 (ko) * 2008-12-12 2016-07-25 삼성전자주식회사 불휘발성 메모리 장치의 액세스 방법
JP2010160871A (ja) * 2008-12-12 2010-07-22 Toshiba Corp 不揮発性半導体記憶装置
KR101559336B1 (ko) * 2008-12-29 2015-10-13 삼성전자주식회사 메모리 장치의 동작 방법 및 이에 따른 메모리 장치
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US7974133B2 (en) 2009-01-06 2011-07-05 Sandisk Technologies Inc. Robust sensing circuit and method
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US7924614B2 (en) * 2009-01-19 2011-04-12 Macronix International Co., Ltd. Memory and boundary searching method thereof
US8166368B2 (en) * 2009-02-24 2012-04-24 International Business Machines Corporation Writing a special symbol to a memory to indicate the absence of a data signal
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8026544B2 (en) 2009-03-30 2011-09-27 Sandisk Technologies Inc. Fabricating and operating a memory array having a multi-level cell region and a single-level cell region
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
KR101717798B1 (ko) 2009-04-08 2017-03-17 샌디스크 테크놀로지스 엘엘씨 수직의 비트 라인들 및 이중 전역 비트 라인 아키텍처를 가지는 재프로그래밍 가능한 메모리 요소들의 3차원 어레이
US8199576B2 (en) * 2009-04-08 2012-06-12 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines and a double-global-bit-line architecture
US7983065B2 (en) 2009-04-08 2011-07-19 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines
US8351236B2 (en) 2009-04-08 2013-01-08 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines and a single-sided word line architecture
US7907449B2 (en) 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8223555B2 (en) * 2009-05-07 2012-07-17 Micron Technology, Inc. Multiple level program verify in a memory device
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) * 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US7974124B2 (en) * 2009-06-24 2011-07-05 Sandisk Corporation Pointer based column selection techniques in non-volatile memories
US8054691B2 (en) 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
US20110002169A1 (en) * 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8134871B2 (en) 2009-08-05 2012-03-13 Sandisk Technologies Inc. Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage
US8144511B2 (en) * 2009-08-19 2012-03-27 Sandisk Technologies Inc. Selective memory cell program and erase
KR20120059506A (ko) * 2009-08-25 2012-06-08 샌디스크 아이엘 엘티디 플래시 저장 디바이스로의 데이터 복원
US8743629B2 (en) * 2009-08-31 2014-06-03 Sandisk Il Ltd. Preloading data into a flash storage device
US8400854B2 (en) 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
US8230276B2 (en) * 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8473809B2 (en) 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency
US8243521B2 (en) * 2009-12-04 2012-08-14 Micron Technology, Inc. Method for kink compensation in a memory
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8174895B2 (en) 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8054684B2 (en) * 2009-12-18 2011-11-08 Sandisk Technologies Inc. Non-volatile memory and method with atomic program sequence and write abort detection
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
KR20120137354A (ko) 2010-01-28 2012-12-20 샌디스크 아이엘 엘티디 슬라이딩-윈도우 에러 정정
JP5504936B2 (ja) * 2010-02-03 2014-05-28 富士通株式会社 ストレージ装置およびデータ格納制御方法
US8213255B2 (en) * 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US8429500B2 (en) 2010-03-31 2013-04-23 Lsi Corporation Methods and apparatus for computing a probability value of a received value in communication or storage systems
US8504885B2 (en) 2010-03-31 2013-08-06 Lsi Corporation Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems
US8775913B2 (en) 2010-03-31 2014-07-08 Lsi Corporation Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
TWI447733B (zh) * 2010-04-14 2014-08-01 Phison Electronics Corp 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8218366B2 (en) * 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8546214B2 (en) 2010-04-22 2013-10-01 Sandisk Technologies Inc. P-type control gate in non-volatile storage and methods for forming same
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8208310B2 (en) 2010-05-04 2012-06-26 Sandisk Technologies Inc. Mitigating channel coupling effects during sensing of non-volatile storage elements
US8406051B2 (en) 2010-05-17 2013-03-26 Seagate Technology Llc Iterative demodulation and decoding for multi-page memory architecture
US8254167B2 (en) 2010-05-17 2012-08-28 Seagate Technologies Llc Joint encoding of logical pages in multi-page memory architecture
KR101692451B1 (ko) * 2010-05-24 2017-01-04 삼성전자주식회사 메모리 반도체 장치 및 그 동작 방법
US8274831B2 (en) 2010-05-24 2012-09-25 Sandisk Technologies Inc. Programming non-volatile storage with synchronized coupling
US20110297912A1 (en) 2010-06-08 2011-12-08 George Samachisa Non-Volatile Memory Having 3d Array of Read/Write Elements with Vertical Bit Lines and Laterally Aligned Active Elements and Methods Thereof
US8526237B2 (en) 2010-06-08 2013-09-03 Sandisk 3D Llc Non-volatile memory having 3D array of read/write elements and read/write circuits and method thereof
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8503233B2 (en) 2010-07-07 2013-08-06 Skymedi Corporation Method of twice programming a non-volatile flash memory with a sequence
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US8369156B2 (en) 2010-07-13 2013-02-05 Sandisk Technologies Inc. Fast random access to non-volatile storage
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
KR101682666B1 (ko) * 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
JP5259667B2 (ja) * 2010-09-22 2013-08-07 株式会社東芝 不揮発性半導体記憶装置
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8374031B2 (en) 2010-09-29 2013-02-12 SanDisk Technologies, Inc. Techniques for the fast settling of word lines in NAND flash memory
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
US8464137B2 (en) 2010-12-03 2013-06-11 International Business Machines Corporation Probabilistic multi-tier error correction in not-and (NAND) flash memory
US8837216B2 (en) 2010-12-13 2014-09-16 Sandisk Technologies Inc. Non-volatile storage system with shared bit lines connected to a single selection device
EP2731110B1 (de) 2010-12-14 2016-09-07 SanDisk Technologies LLC Architektur für dreidimensionalen nichtflüchtigen Speicher mit vertikalen Bitleitungen
US9227456B2 (en) 2010-12-14 2016-01-05 Sandisk 3D Llc Memories with cylindrical read/write stacks
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US8917553B2 (en) * 2011-03-25 2014-12-23 Micron Technology, Inc. Non-volatile memory programming
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US8745369B2 (en) 2011-06-24 2014-06-03 SanDisk Technologies, Inc. Method and memory system for managing power based on semaphores and timers
US8537623B2 (en) * 2011-07-07 2013-09-17 Micron Technology, Inc. Devices and methods of programming memory cells
JP2011204356A (ja) * 2011-07-19 2011-10-13 Toshiba Corp 不揮発性半導体記憶装置
US8743615B2 (en) 2011-08-22 2014-06-03 Sandisk Technologies Inc. Read compensation for partially programmed blocks of non-volatile storage
JP2012014827A (ja) * 2011-09-12 2012-01-19 Toshiba Corp 半導体記憶装置
US8638606B2 (en) 2011-09-16 2014-01-28 Sandisk Technologies Inc. Substrate bias during program of non-volatile storage
WO2013043602A2 (en) 2011-09-19 2013-03-28 SanDisk Technologies, Inc. High endurance non-volatile storage
US8406053B1 (en) 2011-09-21 2013-03-26 Sandisk Technologies Inc. On chip dynamic read for non-volatile storage
US9588883B2 (en) 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
JP5380510B2 (ja) * 2011-09-30 2014-01-08 株式会社東芝 不揮発性半導体記憶装置
KR101845509B1 (ko) * 2011-10-05 2018-04-05 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
US8711619B2 (en) 2011-10-18 2014-04-29 Seagate Technology Llc Categorizing bit errors of solid-state, non-volatile memory
US8693257B2 (en) 2011-10-18 2014-04-08 Seagate Technology Llc Determining optimal read reference and programming voltages for non-volatile memory using mutual information
US8760932B2 (en) 2011-10-18 2014-06-24 Seagate Technology Llc Determination of memory read reference and programming voltages
US8737133B2 (en) 2011-10-18 2014-05-27 Seagate Technology Llc Shifting cell voltage based on grouping of solid-state, non-volatile memory cells
CN103065678B (zh) * 2011-10-21 2016-01-13 点序科技股份有限公司 闪速存储器装置及其数据储存方法
US8917554B2 (en) 2011-10-26 2014-12-23 Sandisk Technologies Inc. Back-biasing word line switch transistors
US9076544B2 (en) 2011-11-18 2015-07-07 Sandisk Technologies Inc. Operation for non-volatile storage system with shared bit lines
EP2780912B1 (de) 2011-11-18 2016-10-26 SanDisk Technologies LLC Nichtflüchtiger speicher mit datenwiederherstellung
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US8885404B2 (en) 2011-12-24 2014-11-11 Sandisk Technologies Inc. Non-volatile storage system with three layer floating gate
US8811075B2 (en) 2012-01-06 2014-08-19 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition
US8582381B2 (en) 2012-02-23 2013-11-12 SanDisk Technologies, Inc. Temperature based compensation during verify operations for non-volatile storage
US8937835B2 (en) 2012-03-13 2015-01-20 Sandisk Technologies Inc. Non-volatile storage with read process that reduces disturb
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US8804430B2 (en) 2012-03-26 2014-08-12 Sandisk Technologies Inc. Selected word line dependent select gate diffusion region voltage during programming
US8804425B2 (en) 2012-03-26 2014-08-12 Sandisk Technologies Inc. Selected word line dependent programming voltage
US8638608B2 (en) 2012-03-26 2014-01-28 Sandisk Technologies Inc. Selected word line dependent select gate voltage during program
US8902659B2 (en) 2012-03-26 2014-12-02 SanDisk Technologies, Inc. Shared-bit-line bit line setup scheme
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US9171627B2 (en) 2012-04-11 2015-10-27 Aplus Flash Technology, Inc. Non-boosting program inhibit scheme in NAND design
US9087595B2 (en) 2012-04-20 2015-07-21 Aplus Flash Technology, Inc. Shielding 2-cycle half-page read and program schemes for advanced NAND flash design
KR101915719B1 (ko) 2012-04-26 2019-01-08 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 동작 방법
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US8937837B2 (en) 2012-05-08 2015-01-20 Sandisk Technologies Inc. Bit line BL isolation scheme during erase operation for non-volatile storage
US9281029B2 (en) 2012-06-15 2016-03-08 Sandisk 3D Llc Non-volatile memory having 3D array architecture with bit line voltage control and methods thereof
US9147439B2 (en) 2012-06-15 2015-09-29 Sandisk 3D Llc Non-volatile memory having 3D array architecture with staircase word lines and vertical bit lines and methods thereof
US9142305B2 (en) 2012-06-28 2015-09-22 Sandisk Technologies Inc. System to reduce stress on word line select transistor during erase operation
US9053819B2 (en) 2012-07-11 2015-06-09 Sandisk Technologies Inc. Programming method to tighten threshold voltage width with avoiding program disturb
US8824203B2 (en) * 2012-07-13 2014-09-02 Micron Technology, Inc. Multiple step programming in a memory device
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US9036417B2 (en) 2012-09-06 2015-05-19 Sandisk Technologies Inc. On chip dynamic read level scan and error detection for nonvolatile storage
US20140071761A1 (en) 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US20140108705A1 (en) 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
US9159406B2 (en) 2012-11-02 2015-10-13 Sandisk Technologies Inc. Single-level cell endurance improvement with pre-defined blocks
US9087601B2 (en) 2012-12-06 2015-07-21 Sandisk Technologies Inc. Select gate bias during program of non-volatile storage
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9076545B2 (en) 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
US9026757B2 (en) 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
KR102106866B1 (ko) 2013-01-29 2020-05-06 삼성전자주식회사 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US9064547B2 (en) 2013-03-05 2015-06-23 Sandisk 3D Llc 3D non-volatile memory having low-current cells and methods
US9349452B2 (en) 2013-03-07 2016-05-24 Sandisk Technologies Inc. Hybrid non-volatile memory cells for shared bit line
US9135109B2 (en) 2013-03-11 2015-09-15 Seagate Technology Llc Determination of optimum threshold voltage to read data values in memory cells
US9165656B2 (en) 2013-03-11 2015-10-20 Sandisk Technologies Inc. Non-volatile storage with shared bit lines and flat memory cells
US9367389B2 (en) 2013-03-14 2016-06-14 Seagate Technology Llc Recovery strategy that reduces errors misidentified as reliable
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US8988947B2 (en) 2013-03-25 2015-03-24 Sandisk Technologies Inc. Back bias during program verify of non-volatile storage
TWI511156B (zh) * 2013-05-13 2015-12-01 Winbond Electronics Corp 參考記憶胞的偏壓產生器及偏壓提供方法
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
US9123430B2 (en) 2013-06-14 2015-09-01 Sandisk 3D Llc Differential current sense amplifier and method for non-volatile memory
US8933516B1 (en) 2013-06-24 2015-01-13 Sandisk 3D Llc High capacity select switches for three-dimensional structures
US9263137B2 (en) 2013-06-27 2016-02-16 Aplus Flash Technology, Inc. NAND array architecture for multiple simutaneous program and read
KR102125376B1 (ko) 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
KR102076231B1 (ko) * 2013-07-09 2020-02-12 에스케이하이닉스 주식회사 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9007841B1 (en) * 2013-10-24 2015-04-14 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
WO2015100434A2 (en) 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US9202559B2 (en) 2014-03-12 2015-12-01 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9123392B1 (en) 2014-03-28 2015-09-01 Sandisk 3D Llc Non-volatile 3D memory with cell-selectable word line decoding
US9343141B2 (en) * 2014-07-15 2016-05-17 Sandisk Technologies Inc. Reprogramming memory with single program pulse per data state
US9659636B2 (en) 2014-07-22 2017-05-23 Peter Wung Lee NAND memory array with BL-hierarchical structure for concurrent all-BL, all-threshold-state program, and alternative-WL program, odd/even read and verify operations
US9588701B2 (en) 2014-09-09 2017-03-07 Sandisk Technologies Llc Multi-stage programming at a storage device using multiple instructions from a host
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9443606B2 (en) 2014-10-28 2016-09-13 Sandisk Technologies Llc Word line dependent two strobe sensing mode for nonvolatile storage elements
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US20160181435A1 (en) * 2014-12-22 2016-06-23 Wafertech, Llc Floating gate transistors and method for forming the same
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US10157681B2 (en) 2015-09-14 2018-12-18 Sandisk Technologies Llc Programming of nonvolatile memory with verify level dependent on memory state and programming loop count
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US9711211B2 (en) * 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
KR102451154B1 (ko) 2015-12-07 2022-10-06 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
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
US10048887B2 (en) 2016-10-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for single level cell caching
JP2018160056A (ja) * 2017-03-22 2018-10-11 東芝メモリ株式会社 メモリコントローラ、メモリシステムおよび制御方法
US10146460B1 (en) 2017-06-01 2018-12-04 Apple Inc. Programming schemes for avoidance or recovery from cross-temperature read failures
US10877827B2 (en) * 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
JP7051546B2 (ja) * 2018-04-16 2022-04-11 キオクシア株式会社 メモリシステムおよび制御方法
CN110827904B (zh) * 2018-08-09 2023-04-14 旺宏电子股份有限公司 存储器装置及其编程方法
KR20200076524A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11205473B2 (en) * 2020-02-04 2021-12-21 Western Digital Technologies, Inc. Dual SLC/QLC programming and resource releasing
KR20220068541A (ko) 2020-11-19 2022-05-26 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
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 (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939690A (en) * 1987-12-28 1990-07-03 Kabushiki Kaisha Toshiba Electrically erasable programmable read-only memory with NAND cell structure that suppresses memory cell threshold voltage variation
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
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
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
KR0172401B1 (ko) * 1995-12-07 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 장치
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
JP3976839B2 (ja) * 1996-07-09 2007-09-19 株式会社ルネサステクノロジ 不揮発性メモリシステムおよび不揮発性半導体メモリ
JP3930074B2 (ja) 1996-09-30 2007-06-13 株式会社ルネサステクノロジ 半導体集積回路及びデータ処理システム
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JPH10228784A (ja) * 1997-02-12 1998-08-25 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US5926409A (en) * 1997-09-05 1999-07-20 Information Storage Devices, Inc. Method and apparatus for an adaptive ramp amplitude controller in nonvolatile memory application
KR19990029775A (ko) * 1997-09-11 1999-04-26 오카모토 세이시 불휘발성 반도체 기억 장치
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
DE59913479D1 (de) * 1998-03-23 2006-07-06 Infineon Technologies Ag Verfahren zur Programmierung einer Festwert-Speicherzellenanordnung
JP3098486B2 (ja) * 1998-03-31 2000-10-16 山形日本電気株式会社 不揮発性半導体記憶装置
US6151248A (en) * 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
JP2001067884A (ja) * 1999-08-31 2001-03-16 Hitachi Ltd 不揮発性半導体記憶装置
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
KR100318325B1 (ko) * 1999-10-19 2001-12-22 박종섭 플래쉬 메모리 셀의 소거 방법
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
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
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode

Also Published As

Publication number Publication date
US20030128586A1 (en) 2003-07-10
KR100926950B1 (ko) 2009-11-17
JP4221196B2 (ja) 2009-02-12
CN1414566A (zh) 2003-04-30
US6807095B2 (en) 2004-10-19
TW583672B (en) 2004-04-11
EP1814122A1 (de) 2007-08-01
US20030002348A1 (en) 2003-01-02
US20050047223A1 (en) 2005-03-03
EP1271553A3 (de) 2004-05-06
KR20030011248A (ko) 2003-02-07
US6522580B2 (en) 2003-02-18
CN100350503C (zh) 2007-11-21
CN101127240A (zh) 2008-02-20
US7224613B2 (en) 2007-05-29
EP1271553B1 (de) 2007-06-13
JP2003109386A (ja) 2003-04-11
US7061798B2 (en) 2006-06-13
EP1814122B1 (de) 2013-05-15
EP1271553A2 (de) 2003-01-02
US20050276101A1 (en) 2005-12-15
DE60220590D1 (de) 2007-07-26
ATE364885T1 (de) 2007-07-15
CN101127240B (zh) 2012-02-08

Similar Documents

Publication Publication Date Title
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE60214023T2 (de) Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus
DE4433098C2 (de) Halbleiter-Permanentspeichervorrichtung
DE602005003924T2 (de) Programmierung nicht-flüchtiger speicher
DE10002266B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE4035660C2 (de) Elektrisch programmierbare Speichereinrichtung und Verfahren zum Zugreifen/Programmieren von Speicherzellen
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE60315532T2 (de) Verfahren zur Reudzierung der Programmier- und Lese-Störungen eines nicht-flüchtigen Speichers
DE4207934C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung und Programmierverfahren für eine nichtflüchtige Halbleiterspeichervorrichtung
DE4422810C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE10392492B4 (de) Durch Algorithmus dynamisierte Referenzprogrammierung
DE4232025C2 (de) Elektrisch löschbarer und programmierbarer nichtflüchtiger Halbleiterspeicher mit automatischem Schreibprüfungs-Controller
DE60115716T2 (de) Weichprogrammierung und weichprogrammierverifikation von flash-speicherzellen
DE60029206T2 (de) Nichtflüchtiger Speicher zur Speicherung von Multibitdaten
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE19860506B4 (de) System und Verfahren zum Programmieren eines nichtflüchtigen Speichers
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE19612666C2 (de) Verfahren und Vorrichtung zur Programmierung eines nichtflüchtigen Halbleiterspeichers mit Zellen in NAND-Struktur
DE3839114C2 (de) Nichtflüchtige programmierbare Halbleiterspeicheranordnung
DE60318714T2 (de) System und verfahren zur steuerung einer löschspannung während des löschens mehrerer sektoren eines flash-speichers
DE4302223C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung sowie Herstellungsverfahren dafür
DE102005030661B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes
DE19724221B4 (de) Nichtflüchtiger Speicher
DE60303511T2 (de) Verfahren zum löschen eines flash-speichers unter verwendung eines prä-lösch verfahrensschritts
DE4110371A1 (de) Elektrisch loeschbarer programmierbarer festwertspeicher mit schwellenwertsteuereinheit fuer datenprogrammierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition