DE112017002776T5 - Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung - Google Patents

Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung Download PDF

Info

Publication number
DE112017002776T5
DE112017002776T5 DE112017002776.4T DE112017002776T DE112017002776T5 DE 112017002776 T5 DE112017002776 T5 DE 112017002776T5 DE 112017002776 T DE112017002776 T DE 112017002776T DE 112017002776 T5 DE112017002776 T5 DE 112017002776T5
Authority
DE
Germany
Prior art keywords
memory cells
voltage
groups
memory cell
memory
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.)
Pending
Application number
DE112017002776.4T
Other languages
English (en)
Inventor
Hong-yan Chen
Yingda Dong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of DE112017002776T5 publication Critical patent/DE112017002776T5/de
Pending legal-status Critical Current

Links

Images

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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Abstract

Ein nichtflüchtiges Speichersystem beinhaltet eine oder mehrere Steuerschaltung(en), die eingerichtet sind, um Speicherzellen zu programmieren und die Programmierung zu überprüfen. Das Überprüfen der programmierten Speicherzellen beinhaltet das Anlegen einer oder mehrerer Spannungen, um eine Verstärkung eines Kanalbereichs, der einer nicht ausgewählten Speicherzelle zugeordnet ist, durchzuführen, das Verstärken des Kanalbereichs für einen Abschnitt der Zeit während des Anlegens der einen oder mehreren Spannungen zu ermöglichen, das Verhindern/Unterbrechen des Verstärkens des Kanalbereichs während des Anlegens der einen oder mehreren Spannungen für eine Zeitdauer basierend auf der Position einer zur Überprüfung ausgewählten Speicherzelle, das Anlegen eines Vergleichssignals an die zur Überprüfung ausgewählte Speicherzelle und das Ausführen eines Abtastvorgangs für die zur Überprüfung ausgewählte Speicherzelle als Reaktion auf das Vergleichssignal.

Description

  • HINTERGRUND
  • Halbleiterspeicher wird weithin in verschiedenen elektronischen Geräten, wie beispielsweise Mobiltelefonen, Digitalkameras, PDAs, medizinischer Elektronik, mobilen und nicht mobilen Rechenvorrichtungen, verwendet. Ein Halbleiterspeicher kann nichtflüchtigen Speicher oder flüchtigen Speicher aufweisen. Ein nichtflüchtiger Speicher ermöglicht, dass Informationen gespeichert und behalten werden, selbst wenn der nichtflüchtige Speicher nicht mit einer Stromquelle (z. B. einer Batterie) verbunden ist. Beispiele für nichtflüchtigen Speicher beinhalten Flash-Speicher (z. B. Flash-Speicher vom NAND-Typ und NOR-Typ) und elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM).
  • Ein Ladungsfängermaterial kann in nichtflüchtigen Speichervorrichtungen verwendet werden, um eine Ladung zu speichern, die einen Datenzustand repräsentiert. Das Ladungsfängermaterial kann vertikal in einer dreidimensionalen (3D) gestapelten Speicherstruktur angeordnet sein. Ein Beispiel für eine 3D-Speicherstruktur ist die Bit-Cost-Scalable (BiCS)-Architektur, die einen Stapel alternierender leitender und dielektrischer Schichten aufweist. Ein Speicherloch ist in dem Stapel ausgebildet und ein vertikaler NAND-String wird dann gebildet, indem das Speicherloch mit Materialien gefüllt wird, die eine Ladungsfängerschicht einschließen, um eine vertikale Spalte von Speicherzellen zu erzeugen. Jede Speicherzelle kann ein oder mehrere Datenbits speichern.
  • Wenn ein Speichersystem in einem elektronischen Gerät eingesetzt wird, kann das Speichersystem verwendet werden, um Daten zu programmieren, Daten zu lesen und/oder Daten zu löschen.
  • Figurenliste
  • Gleichnamige Elemente beziehen sich auf gemeinsame Komponenten in den verschiedenen Figuren.
    • 1 ist eine perspektivische Ansicht einer 3D-gestapelten nichtflüchtigen Speichervorrichtung.
    • 2 ist ein Funktionsblockdiagramm einer Speichervorrichtung, wie beispielsweise der 3D-gestapelten nichtflüchtigen Speichervorrichtung 100 von 1.
    • 3 ist ein Blockdiagramm, das eine Ausführungsform einer Steuerung darstellt.
    • 4 ist eine perspektivische Ansicht eines Abschnitts einer Ausführungsform einer dreidimensionalen monolithischen Speicherstruktur.
    • 4A ist ein Blockdiagramm einer Speicherstruktur mit zwei Ebenen.
    • 4B zeigt eine Draufsicht eines Abschnitts eines Blocks von Speicherzellen.
    • 4C zeigt eine Querschnittsansicht eines Abschnitts eines Blocks von Speicherzellen.
    • 4D zeigt eine Ansicht der Auswahl-Gate-Schichten und Wortleitungsschichten.
    • 4E ist eine Querschnittsansicht einer vertikalen Spalte von Speicherzellen.
    • 4F ist eine schematische Darstellung einer Vielzahl von NAND-Strings.
    • 5 zeigt Schwellenspannungsverteilungen.
    • 5A ist eine Tabelle, die ein Beispiel für eine Zuordnung von Datenwerten zu Datenzuständen beschreibt.
    • 5B zeigt Schwellenspannungsverteilungen.
    • 6A ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zum Programmieren beschreibt.
    • 6B ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zum Programmieren beschreibt.
    • 7 ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zum Überprüfen der Programmierung beschreibt.
    • Die 8A-F sind Zeitdiagramme, die ein beispielhaftes Verhalten von verschiedenen Signalen während eines Überprüfungsvorgangs darstellen.
    • 9 ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zur Verhinderung/Minderung der Verstärkung beschreibt.
    • 10 ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zum Lesen beschreibt.
    • 11 ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zur Verhinderung/Minderung der Verstärkung beschreibt.
  • DETAILLIERTE BESCHREIBUNG
  • Als Teil des Programmierprozesses überprüft das Speichersystem, dass die Programmierung erfolgreich durchgeführt wurde. Der Verifizierungsprozess beinhaltet das Durchführen verschiedener Abtastvorgänge. Um Störungen von Daten während des Erfassens zu verhindern, verstärkt das Speichersystem die Kanäle bestimmter nicht ausgewählter Speicherzellen. Unter Umständen kann diese Verstärkung zu einer Störung der Heißelektroneninjektion führen; Daher kann die Verstärkung vorübergehend unterbrochen werden, um die Störung der Heißelektroneninjektion zu mildern. Jedoch kann ein Unterbrechen der Verstärkung den Verifizierungsprozess verlangsamen, und nicht alle Speicherzellen benötigen denselben Betrag an Unterbrechung. Daher wird vorgeschlagen, die Unterbrechung der Verstärkung basierend auf der Position der Speicherzelle anzupassen, um die verwendete Unterbrechung zu minimieren und Leistungsprobleme zu mildern.
  • Eine beispielhafte Ausführungsform beinhaltet eine oder mehrere Steuerschaltung(en), die eingerichtet sind, um Speicherzellen zu programmieren und die Programmierung zu überprüfen. Das Überprüfen der programmierten Speicherzellen beinhaltet das Anlegen einer oder mehrerer Spannungen, um das Verstärken eines Kanalbereichs, der einer nicht ausgewählten Speicherzelle zugeordnet ist, durchzuführen, das Verstärken des Kanalbereichs für einen Abschnitt der Zeit während des Anlegens der einen oder mehreren Spannungen zu ermöglichen, das Verhindern/Unterbrechen des Verstärkens des Kanalbereichs während des Anlegens der einen oder mehreren Spannungen für eine Zeitdauer basierend auf der Position einer zur Überprüfung ausgewählten Speicherzelle, das Anlegen eines Vergleichssignals an die zur Überprüfung ausgewählte Speicherzelle und das Ausführen eines Abtastvorgangs für die zur Überprüfung ausgewählte Speicherzelle als Reaktion auf das Vergleichssignal.
  • 1-4F beschreiben ein Beispiel für ein Speichersystem, das verwendet werden kann, um die hier vorgeschlagene Technologie zu implementieren. 1 ist eine perspektivische Ansicht einer dreidimensionalen (3D) gestapelten nichtflüchtigen Speichervorrichtung. Die Speichervorrichtung 100 beinhaltet ein Substrat 101. Auf und über dem Substrat befinden sich Beispielblöcke BLK0 und BLK1 von Speicherzellen (nichtflüchtige Speicherelemente). Außerdem befindet sich auf dem Substrat 101 ein Umfangsbereich 104 mit Unterstützungsschaltungen zur Verwendung durch die Blöcke. Das Substrat 101 kann auch Schaltungen unter den Blöcken tragen, zusammen mit einer oder mehreren unteren Metallschichten, die in Leiterbahnen strukturiert sind, um Signale der Schaltungen zu übertragen. Die Blöcke sind in einem Zwischenbereich 102 der Speichervorrichtung ausgebildet. In einem oberen Bereich 103 der Speichervorrichtung sind eine oder mehrere obere Metallschicht(en) in Leiterbahnen strukturiert, um Signale der Schaltungen zu tragen. Jeder Block weist einen gestapelten Bereich von Speicherzellen auf, wobei alternierende Ebenen des Stapels Wortleitungen darstellen. Während zwei Blöcke beispielhaft dargestellt sind, können zusätzliche Blöcke verwendet werden, die sich in x - und/oder y-Richtung erstrecken.
  • In einer beispielhaften Implementierung repräsentiert die Länge der Ebene in x-Richtung eine Richtung, in der sich Signalpfade für Wortleitungen erstrecken (eine Wortleitung oder SGD-Zeilenrichtung), und die Breite der Ebene in y-Richtung repräsentiert eine Richtung, in der sich Signalpfade für Bitleitungen erstrecken (eine Bitleitungsrichtung). Die z-Richtung stellt eine Höhe der Speichervorrichtung dar.
  • 2 ist ein Funktionsblockdiagramm einer beispielhaften Speichervorrichtung, wie beispielsweise der 3D-gestapelten nichtflüchtigen Speichervorrichtung 100 von 1. Die in 2 dargestellten Komponenten sind elektrische Schaltungen. Die Speichervorrichtung 100 beinhaltet einen oder mehrere Speicher-Rohchip(s) 108. Der Speicher-Rohchip 108 beinhaltet eine dreidimensionale Speicherstruktur 126 aus Speicherzellen (wie beispielsweise ein 3D-Array von Speicherzellen), eine Steuerschaltlogik 110 und Lese/Schreib-Schaltungen 128. In anderen Ausführungsformen kann ein zweidimensionales Array von Speicherzellen verwendet werden. Die Speicherstruktur 126 ist durch Wortleitungen über einen Zeilendecoder 124 und durch Bitleitungen über einen Spaltendecoder 132 adressierbar. Die Lese-/Schreibschaltungen 128 beinhalten mehrere Leseblöcke 150, einschließlich SB1, SB2,..., SBp (Abtastschaltlogik), und ermöglichen, dass eine Seite von Speicherzellen parallel gelesen oder programmiert wird. In einigen Systemen ist eine Steuerung 122 in derselben Speichervorrichtung 100 (z.B. einer Wechselspeicherkarte) enthalten wie der eine oder die mehreren Speicher-Rohchip(s) 108. In anderen Systemen kann die Steuerung jedoch vom Speicher-Rohchip 108 getrennt werden. In einigen Ausführungsformen befindet sich die Steuerung auf einem anderen Rohchip als der Speicher-Rohchip. In einigen Ausführungsformen kommuniziert eine Steuerung 122 mit mehreren Speicher-Rohchips 108. In anderen Ausführungsformen hat jeder Speicher-Rohchip 108 seine eigene Steuerung. Befehle und Daten werden zwischen dem Host 140 und der Steuerung 122 über einen Datenbus 120 und zwischen der Steuerung 122 und dem einen oder den mehreren Speicher-Rohchip(s) 108 über Leitungen 118 übertragen. In einer Ausführungsform beinhaltet der Speicher-Rohchip 108 einen Satz von Eingabe- und/oder Ausgabe- (I/O-)Stiften, die mit Leitungen 118 verbunden sind.
  • Die Speicherstruktur 126 kann ein oder mehrere Array(s) von Speicherzellen aufweisen, die ein 3D-Array beinhalten. Die Speicherstruktur kann eine monolithische dreidimensionale Speicherstruktur aufweisen, in der mehrere Speicherebenen über (und nicht in) einem einzelnen Substrat, wie beispielsweise einem Wafer, ohne dazwischen liegende Substrate ausgebildet sind. Die Speicherstruktur kann jede Art von nichtflüchtigem Speicher aufweisen, der monolithisch in einer oder mehreren physikalischen Ebenen von Arrays von Speicherzellen ausgebildet ist, die einen aktiven Bereich aufweisen, der über einem Siliziumsubstrat angeordnet ist. Die Speicherstruktur kann sich in einer nichtflüchtigen Speichervorrichtung befinden, die eine Schaltlogik aufweist, die dem Betrieb der Speicherzellen zugeordnet ist, unabhängig davon, ob die zugehörige Schaltlogik über oder innerhalb des Substrats ist.
  • Die Steuerschaltlogik 110 arbeitet mit den Lese-/Schreibschaltungen 128 zusammen, um Speichervorgänge (z.B. Löschen, Programmieren, Lesen und andere) auf der Speicherstruktur 126 durchzuführen, und beinhaltet eine Zustandsmaschine 112, einen On-Chip-Adressdecodierer 114 und ein Leistungssteuermodul 116. Die Zustandsmaschine 112 stellt eine Chip-Ebenensteuerung von Speichervorgängen bereit. Die Temperaturerfassungsschaltung 113 ist eingerichtet, um Temperatur zu erfassen, und kann jede geeignete Temperaturerfassungsschaltung sein, die nach dem Stand der Technik bekannt ist. In einer Ausführungsform ist die Zustandsmaschine 112 durch die Software programmierbar. In anderen Ausführungsformen verwendet die Zustandsmaschine 112 keine Software und ist vollständig in Hardware (z.B. elektrischen Schaltungen) implementiert. In einer Ausführungsform beinhaltet die Steuerschaltlogik 110 Register, ROM-Sicherungen und andere Speichervorrichtungen zum Speichern von Standardwerten, wie beispielsweise Basisspannungen und anderen Parametern.
  • Der On-Chip-Adressdecoder 114 stellt eine Adressschnittstelle zwischen den vom Host 140 oder der Steuerung 122 verwendeten Adressen und der von den Decodern 124 und 132 verwendeten Hardwareadresse bereit. Das Leistungssteuermodul 116 steuert die Leistung und Spannungen, die den Wortleitungen und Bitleitungen während der Speichervorgänge zugeführt werden. Es kann Treiber für Wortleitungsschichten (nachstehend erörtert) in einer 3D-Konfiguration, Auswahltransistoren (z.B. SGS- und SGD-Transistoren, nachstehend beschrieben) und Quellleitungen beinhalten. Das Leistungssteuermodul 116 kann Ladungspumpen zum Generieren von Spannungen beinhalten. Die Leseblöcke schließen Bitleitungstreiber ein. Ein SGS-Transistor ist ein Auswahl-Gate-Transistor an einem Source-Ende eines NAND-Strings, und ein SGD-Transistor ist ein Auswahl-Gate-Transistor an einem Drain-Ende eines NAND-Strings.
  • Jede beliebige Kombination der Steuerschaltlogik 110, der Zustandsmaschine 112, der Decoder 114/124/132, der Temperaturerfassungsschaltung 113, des Leistungssteuerungsmoduls 116, der Abtastblöcke 150, der Lese-/Schreibschaltungen 128 und der Steuerung 122 kann als ein oder mehrere Schaltung(en) betrachtet werden, welche die hierin beschriebenen Funktionen ausführen.
  • Die (On-Chip- oder Off-Chip-) Steuerung 122 (die in einer Ausführungsform eine elektrische Schaltung ist) kann einen Prozessor 122c, ROM 122a, RAM 122b und eine Speicherschnittstelle 122d aufweisen, die alle miteinander verbunden sind. Der Prozessor 122C ist ein Beispiel für eine Steuerschaltung. Andere Ausführungsformen können Zustandsmaschinen oder andere kundenspezifische Schaltungen verwenden, die zur Ausführung einer oder mehrerer Funktionen ausgelegt sind. Die Speichervorrichtungen (ROM 122a, RAM 122b) weisen einen Code auf, wie beispielsweise einen Satz von Anweisungen, und der Prozessor 122c ist betreibbar, um den Satz von Anweisungen auszuführen und die hierin beschriebene Funktionalität bereitzustellen. Alternativ oder zusätzlich kann der Prozessor 122c auf den Code einer Speichervorrichtung in der Speicherstruktur zugreifen, wie beispielsweise einen reservierten Bereich von Speicherzellen, die mit einer oder mehreren Wortleitungen verbunden sind. Die Speicherschnittstelle 122d, in Kommunikation mit dem ROM 122a, dem RAM 122b und dem Prozessor 122c, ist eine elektrische Schaltung, die eine elektrische Schnittstelle zwischen der Steuerung 122 und dem Speicher-Rohchip 108 bereitstellt. Beispielsweise kann die Speicherschnittstelle 122d das Format oder den Zeitpunkt von Signalen ändern, einen Puffer bereitstellen, von Überspannungen isolieren, I/Os speichern usw. Der Prozessor 122C kann Befehle an die Steuerschaltlogik 110 (oder jede andere Komponente des Speicher-Dies 108) über die Speicherschnittstelle 122d ausgeben.
  • Mehrere Speicherelemente in der Speicherstruktur 126 können so eingerichtet sein, dass sie in Reihe geschaltet sind oder dass jedes Element einzeln zugänglich ist. Als nicht einschränkendes Beispiel enthalten Flash-Speichervorrichtungen in einer NAND-Konfiguration (NAND-Flash-Speicher) üblicherweise Speicherelemente, die in Reihe geschaltet sind. Ein NAND-String ist ein Beispiel für einen Satz von in Reihe geschalteten Speicherzellen und Auswahl-Gate-Transistoren.
  • Ein NAND-Flash-Speicherarray kann so eingerichtet sein, dass das Array aus mehreren NAND-Strings zusammengesetzt ist, von denen ein NAND-String aus mehreren Speicherzellen zusammengesetzt ist, die sich eine einzelne Bitleitung teilen und auf die als eine Gruppe zugegriffen wird. Alternativ können Speicherelemente so eingerichtet sein, dass jedes Element einzeln zugänglich ist, z. B. ein NOR-Speicherarray. NAND- und NOR-Speicherkonfigurationen sind beispielhaft, und Speicherzellen können anderweitig eingerichtet sein.
  • Die Speicherzellen können auf der einzelnen Speichervorrichtungsebene in einem geordneten Array angeordnet sein, wie z.B. in einer Vielzahl von Zeilen und/oder Spalten. Jedoch können die Speicherelemente in nicht regelmäßigen oder nicht orthogonalen Konfigurationen oder in in Strukturen angeordnet sein, die nicht als Arrays betrachtet werden.
  • Ein dreidimensionales Speicherarray ist so angeordnet, dass Speicherzellen mehrere Ebenen oder mehrere Speichervorrichtungsebenen belegen, wodurch eine Struktur in drei Dimensionen gebildet wird (d. h. in der x-, y- und z-Richtung, wo die z-Richtung im Wesentlichen senkrecht ist und die x- und y-Richtungen im Wesentlichen parallel zur Hauptoberfläche des Substrats verlaufen).
  • Als ein nicht einschränkendes Beispiel kann eine dreidimensionale Speicherstruktur vertikal als ein Stapel von mehreren zweidimensionalen Speichervorrichtungsebenen angeordnet sein. Als weiteres nicht einschränkendes Beispiel kann ein dreidimensionales Speicherarray als mehrere vertikale Spalten (z. B. Spalten, die sich im Wesentlichen senkrecht zur Hauptfläche des Substrats erstrecken, d. h. in y-Richtung) angeordnet sein, wobei jede Spalte mehrere Speicherzellen in jeder Spalte aufweist. Die senkrechten Spalten können in einer zweidimensionalen Konfiguration angeordnet sein, z. B. in einer x-y-Ebene, was zu einer dreidimensionalen Anordnung von Speicherzellen mit Speicherzellen auf mehreren vertikal gestapelten Speicherebenen führt. Andere Konfigurationen von Speicherelementen in drei Dimensionen können auch ein dreidimensionales Speicherarray bilden.
  • Als ein nicht einschränkendes Beispiel können in einem dreidimensionalen NAND-Speicherarray die Speicherelemente miteinander gekoppelt sein, um vertikale NAND-Strings zu bilden, die mehrere horizontale Speichervorrichtungsebenen durchlaufen. Andere dreidimensionale Konfigurationen können in Betracht gezogen werden, wobei einige NAND-Strings Speicherelemente in einer einzelnen Speicherebene enthalten, während andere Strings Speicherelemente enthalten, die sich durch mehrere Speicherebenen erstrecken. Dreidimensionale Speicheranordnungen können auch in einer NOR-Konfiguration und in einer ReRam-Konfiguration ausgebildet sein.
  • Ein Fachmann in der Technik wird erkennen, dass die hierin beschriebene Technologie nicht auf eine einzige spezifische Speicherstruktur beschränkt ist, sondern viele relevante Speicherstrukturen gemäß dem Geist und Umfang der Technologie, wie hierin beschrieben und wie einem Fachmann der Technik bekannt, abdeckt.
  • 3 ist ein Blockdiagramm eines beispielhaften Speichersystems 100, das mehr Details der Steuerung 122 zeigt. Wie hier verwendet, ist die Steuerung eine Vorrichtung, welche die in einem Flash-Speicher gespeicherten Daten verwaltet und mit einem Host, wie beispielsweise einem Computer oder einer elektronischen Vorrichtung, kommuniziert. Die Flash-Speichersteuerung kann verschiedene Funktionen zusätzlich zu der hierin beschriebenen spezifischen Funktionalität haben. Beispielsweise kann die Flash-Speichersteuerung den nichtflüchtigen Speicher formatieren, um sicherzustellen, dass der Speicher ordnungsgemäß funktioniert, schlechte Speicherzellen ausweisen und Ersatzspeicherzellen zuweisen, die für zukünftige ausgefallene Zellen ersetzt werden sollen. Ein Teil der freien Speicherzellen kann verwendet werden, um die Firmware für den Betrieb der Flash-Speichersteuerung zu halten und andere Funktionen zu implementieren. Wenn ein Host Daten aus dem nichtflüchtigen Speicher lesen oder in ihn schreiben muss, kommuniziert er mit der Flash-Speichersteuerung. Wenn der Host eine logische Adresse bereitstellt, an die Daten gelesen/schreiben werden sollen, wandelt die Flash-Speichersteuerung die vom Host empfangene logische Adresse in eine physische Adresse im Flash-Speicher um. (Alternativ kann der Host die physische Adresse bereitstellen). Die Flash-Speichersteuerung kann auch verschiedene Speicherverwaltungsfunktionen ausführen, wie beispielsweise, aber nicht beschränkt auf, Abnutzungsausgleich (Verteilen von Schreibvorgängen zum Vermeiden eines Verschleißes spezifischer Speicherblöcke, auf die ansonsten wiederholt geschrieben werden würde) und Speicherbereinigung (nachdem ein Block voll ist, nur die gültigen Datenseiten zu einem neuen Block zu bewegen, sodass der volle Block gelöscht und wiederverwendet werden kann).
  • Die Schnittstelle zwischen der Steuerung 122 und dem nichtflüchtigen Speicher-Rohchip 108 kann jede geeignete Flash-Schnittstelle wie beispielsweise Toggle-Modus 200, 400 oder 800 sein. In einer Ausführungsform kann das Speichersystem 100 ein kartenbasiertes System sein, wie beispielsweise eine sichere digitale (SD) oder eine sichere digitale Mikro-Karte (Mikro-SD). In einer alternativen Ausführungsform kann das Speichersystem 100 Teil eines eingebetteten Speichersystems sein. Zum Beispiel kann der Flash-Speicher in dem Host eingebettet sein, wie beispielsweise in Form einer Solid-State-Festplatte (SSD), die in einem Personal Computer installiert ist.
  • In einigen Ausführungsformen beinhaltet das nichtflüchtige Speichersystem 100 einen einzelnen Kanal zwischen der Steuerung 122 und dem nichtflüchtigen Speicher-Rohchip 108, wobei der hierin beschriebene Gegenstand nicht auf einen einzelnen Speicherkanal beschränkt ist. Beispielsweise können in einigen Speichersystemarchitekturen 2, 4, 8 oder mehr Kanäle zwischen der Steuerung und dem Speicher-Rohchip, je nach den Steuerungsfunktionen, vorhanden sein. In jeder der hier beschriebenen Ausführungsformen kann mehr als ein einzelner Kanal zwischen der Steuerung und dem Speicher-Rohchip vorhanden sein, selbst wenn ein einzelner Kanal in den Zeichnungen dargestellt ist.
  • Wie in 3 dargestellt, beinhaltet die Steuerung 112 ein Frontend-Modul 208, das mit einem Host interagiert, ein Backend-Modul 210, das mit einem oder mehreren nichtflüchtigen Speicher-Dies 108 interagiert, und verschiedene andere Module, die Funktionen durchführen, die nun ausführlich beschrieben werden.
  • Die in 3 dargestellten Komponenten der Steuerung 122 können in Form einer gebündelten funktionalen Hardwareeinheit (z.B. einer elektrischen Schaltung), die zur Verwendung mit anderen Komponenten bestimmt ist, eines Programmcodes (z.B. Software oder Firmware), der von einem oder mehreren (Mikro-)Prozessoren oder einer Verarbeitungsschaltlogik ausführbar ist, die normalerweise eine bestimmte Funktion verwandter Funktionen erfüllt, oder einer eigenständigen Hard- oder Softwarekomponente, die zum Beispiel mit einem größeren System interagiert, vorliegen. Zum Beispiel kann jedes Modul eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit - ASIC), eine anwenderprogrammierbare Gatteranordnung (field programmable gate array - FPGA), eine Schaltung, eine digitale Logikschaltung, eine analoge Schaltung, eine Kombination diskreter Schaltungen, Gatter oder irgendeine andere Art von Hardware oder Kombination davon beinhalten. Alternativ oder zusätzlich kann jedes Modul Software beinhalten, die in einer prozessorlesbaren Vorrichtung (z. B. einem Speicher) gespeichert ist, um einen Prozessor für die Steuerung 122 zur Durchführung der hierin beschriebenen Funktionen zu programmieren. Die in 3 dargestellte Architektur ist eine beispielhafte Implementierung, welche die Komponenten der in 2 dargestellten Steuerung 122 (d.h. RAM, ROM, Prozessor, Schnittstelle) verwenden kann (oder nicht).
  • Die Steuerung 122 kann eine Rekonditionierungsschaltlogik 212 beinhalten, die zum Rekonditionieren von Speicherzellen oder Speicherblöcken verwendet wird. Die Rekonditionierung kann das Auffrischen von Daten an ihrem aktuellen Standort oder das Neuprogrammieren von Daten in eine neue Wortleitung oder einen neuen Block als Teil der Durchführung einer fehlerhaften Wortleitungspflege, wie nachfolgend beschrieben, beinhalten.
  • Unter erneuter Bezugnahme auf die Module der Steuerung 122 verwaltet eine Puffermanager-/Bussteuerung 214 im Direktzugriffsspeicher (random access memory - RAM) 216 und steuert die interne Busarbitrierung der Steuerung 122. Ein Nur-Lese-Speicher (read only memory - ROM) 218 speichert den Bootcode des Systems. Obwohl sie in 3 als von der Steuerung 122 getrennt angeordnet dargestellt sind, können in anderen Ausführungsformen entweder der RAM 216 oder der ROM 218 innerhalb der Steuerung angeordnet sein. In noch anderen Ausführungsformen können Teile des RAM und des ROM sowohl innerhalb der Steuerung 122 als auch außerhalb der Steuerung angeordnet sein. Weiterhin können in einigen Implementierungen die Steuerung 122, der RAM 216 und der ROM 218 auf separaten Halbleiterelementen angeordnet sein.
  • Das Frontend-Modul 208 beinhaltet eine Host-Schnittstelle 220 und eine Physical-Layer-Schnittstelle (PHY) 222, welche die elektrische Schnittstelle mit dem Host oder der Speichersteuerung der nächsten Ebene bereitstellen. Die Wahl des Typs der Host-Schnittstelle 220 kann von der Art des verwendeten Speichers abhängen. Beispieltypen der Host-Schnittstelle 220 können SATA, SATA Express, SAS, Fibre Channel, USB, PCle und NVMe beinhalten, sind aber nicht darauf beschränkt. Die Host-Schnittstelle 220 erleichtert üblicherweise die Übertragung von Daten, Steuersignalen und Zeitsignalen.
  • Das Backend-Modul 210 beinhaltet eine Fehlerkorrektursteuerungs(error correction controller - ECC)-Engine 224, welche die vom Host empfangenen Datenbytes kodiert und die aus dem nichtflüchtigen Speicher gelesenen Datenbytes dekodiert und Fehler korrigiert. Ein Befehlssequenzer 226 generiert Befehlssequenzen, wie beispielsweise Programmier- und Lösch-Befehlssequenzen, die an den nichtflüchtigen Speicher-Rohchip 108 zu übertragen sind. Ein RAID- (Redundant Array of Independent Dies) Modul 228 verwaltet die Generierung der RAID-Parität und die Wiederherstellung ausgefallener Daten. Die RAID-Parität kann als ein zusätzlicher Grad des Integritätsschutzes für die Daten verwendet werden, die in das nichtflüchtige Speichersystem 100 geschrieben werden. In einigen Fällen kann das RAID-Modul 228 ein Teil der ECC-Engine 224 sein. Es ist zu beachten, dass die RAID-Parität als zusätzlicher Rohchip oder zusätzliche Rohchips hinzugefügt werden kann, wie aus der gebräuchlichen Bezeichnung hervorgeht, aber sie kann auch innerhalb des bestehenden Rohchips hinzugefügt werden, z.B. als extra Ebene, oder extra Block, oder extra WLs innerhalb eines Blocks. Eine Speicherschnittstelle 230 liefert die Befehlssequenzen an den nichtflüchtigen Speicher-Rohchip 108 und empfängt Statusinformationen von dem nichtflüchtigen Speicher-Rohchip 108. In einer Ausführungsform kann die Speicherschnittstelle 230 eine Schnittstelle mit doppelter Datenrate (double fate rata - DDR), wie beispielsweise eine Toggle-Modus 200, 400, oder 800 Schnittstelle sein. Eine Flash-Steuerschicht 232 steuert den Gesamtbetrieb des Backend-Moduls 210.
  • Zusätzliche Komponenten des in 3 dargestellten Systems 100 beinhalten eine Medienverwaltungsschicht 238, die den Abnutzungsausgleich von Speicherzellen des nichtflüchtigen Speicher-Rohchips 108 durchführt. Das System 100 beinhaltet auch andere diskrete Komponenten 240, wie beispielsweise externe elektrische Schnittstellen, externen RAM, Widerstände, Kondensatoren oder andere Komponenten, die mit der Steuerung 122 interagieren können. In alternativen Ausführungsformen sind eine oder mehrere der Physical-Layer-Schnittstelle 222, das RAID-Modul 228, die Medienverwaltungsschicht 238 und die Pufferverwaltungs-/ Bussteuerung 214 optionale Komponenten, die in der Steuerung 122 möglicherweise nicht notwendig sind.
  • Die Flash-Übersetzungsschicht (FTL) oder die Medienverwaltungsschicht (MML) 238 kann als Teil der Flash-Verwaltung integriert werden, die Flash-Fehler behandeln und mit dem Host interagieren kann. Insbesondere kann MML ein Modul in der Flash-Verwaltung sein und für die internen Abläufe der NAND-Verwaltung verantwortlich sein. Insbesondere kann die MML 238 einen Algorithmus in der Firmware der Speichervorrichtung beinhalten, der Schreibvorgänge von dem Host in Schreibvorgänge an den Flash-Speicher 126 des Rohchips 108 übersetzt. Die MML 238 kann erforderlich sein, weil: 1) der Flash-Speicher eine begrenzte Ausdauer aufweisen kann; 2) der Flash-Speicher 126 nur in Vielfachen von Seiten geschrieben werden kann; und/oder 3) der Flash-Speicher 126 nicht geschrieben werden kann, es sei denn, er wird als Block gelöscht. MML 238 versteht diese potentiellen Beschränkungen des Flash-Speichers 126, die für den Host möglicherweise nicht sichtbar sind. Dementsprechend versucht die MML 238, die Schreibvorgänge von dem Host in Schreibvorgänge in den Flash-Speicher 126 zu übersetzen. Wie nachstehend beschrieben, können fehlerhafte Bits unter Verwendung der MML 238 identifiziert und aufgezeichnet werden. Diese Aufzeichnung von fehlerhaften Bits kann zur Bewertung der Gesundheit von Blöcken und/oder Wortleitungen (den Speicherzellen auf den Wortleitungen) verwendet werden.
  • Die Steuerung 122 kann mit einem oder mehreren Speicher-Rohchip(s) 108 interagieren. In einer Ausführungsform implementieren die Steuerung 122 und mehrere Speicher-Rohchips (zusammen aufweisend das nichtflüchtige Speichersystem 100) eine Solid-State-Festplatte (SSD), die anstelle eines Festplattenlaufwerks innerhalb eines Hosts, als NAS-Vorrichtung usw. emuliert, ersetzt oder verwendet werden kann. Darüber hinaus muss die SSD nicht als Festplatte verwendet werden.
  • In einer Ausführungsform, wie nachfolgend in Bezug auf die 7-12B erläutert, bestimmt die Steuerung 122 fehlerhafte Kandidatenblöcke, um sie auf ihre Verwendbarkeit zu testen, basierend auf zuvor aufgezeichneten Fehlercodes, verursacht die Prüfung der fehlerhaften Kandidatenblöcke auf ihre Verwendbarkeit und bewirkt die Speicherung von Informationen in noch verwendbaren Kandidatenblöcken.
  • 4 ist eine perspektivische Ansicht eines Abschnitts einer monolithischen dreidimensionalen Speicherstruktur 126, die eine Vielzahl von Speicherzellen beinhaltet. Zum Beispiel zeigt 4 einen Abschnitt eines Speicherblocks. Die dargestellte Struktur beinhaltet einen Satz von Bitleitungen BL, die über einem Stapel von alternierenden dielektrischen Schichten und leitenden Schichten positioniert sind. Als Beispiel wird eine der dielektrischen Schichten als D und eine der leitenden Schichten (auch als Wortleitungsschichten bezeichnet) wird als W markiert. Die Anzahl der alternierenden dielektrischen Schichten und der leitenden Schichten kann basierend auf spezifischen Implementierungsanforderungen variieren. Ein Satz von Ausführungsformen beinhaltet zwischen 108 und 216 alternierende dielektrische Schichten und leitende Schichten, beispielsweise 96 Datenwortleitungsschichten, 8 Auswahlschichten, 4 Dummy-Wortleitungsschichten und 108 dielektrische Schichten. Mehr oder weniger als 108 bis 216 Schichten können ebenfalls verwendet werden. Wie im Folgenden erläutert, werden die alternierenden dielektrischen Schichten und leitenden Schichten durch lokale Zwischenverbindungen LI in vier „Finger“ unterteilt. 4 zeigt nur zwei Finger und zwei lokale Zwischenverbindungen LI. Unterhalb der alternierenden dielektrischen Schichten und Wortleitungsschichten befindet sich eine Source-Leitungsschicht SL. Im Stapel von alternierenden dielektrischen Schichten und leitenden Schichten sind Speicherlöcher ausgebildet. Zum Beispiel ist eine der Speicherlöcher als MH markiert. Es ist zu beachten, dass in 4 die dielektrischen Schichten durchsichtig dargestellt sind, sodass der Leser die Speicherlöcher sehen kann, die in dem Stapel von alternierenden dielektrischen Schichten und leitenden Schichten positioniert sind. In einer Ausführungsform werden NAND-Strings gebildet, indem das Speicherloch mit Materialien gefüllt wird, die eine Ladungsfängerschicht beinhalten, um eine vertikale Spalte von Speicherzellen zu erzeugen. Jede Speicherzelle kann ein oder mehrere Datenbits speichern. Mehr Details der dreidimensionalen monolithischen Speicherstruktur 126 werden nachstehend mit Bezug auf die 4A-4F bereitgestellt.
  • 4A ist ein Blockdiagramm, das eine beispielhafte Organisation der Speicherstruktur 126 erläutert, die in zwei Ebenen 302 und 304 unterteilt ist. Jede Ebene wird dann in M Blöcke unterteilt. In einem Beispiel hat jede Ebene etwa 2000 Blöcke. Jedoch können auch unterschiedliche Anzahlen von Blöcken und Ebenen verwendet werden. In einer Ausführungsform, für den Zwei-Ebenen-Speicher, sind die Block-IDs normalerweise so aufgebaut, dass gerade Blöcke zu einer Ebene gehören und ungerade Blöcke zu einer anderen Ebene; Daher beinhaltet Ebene 302 Block 0, 2, 4, 6,... und Ebene 304 beinhaltet Blöcke 1, 3, 5, 7,... In einer Ausführungsform ist ein Block von Speicherzellen eine Löscheinheit. Das heißt, dass alle Speicherzellen in einem Block zusammen gelöscht werden. In anderen Ausführungsformen können Speicherzellen aus anderen Gründen in Blöcke gruppiert werden, beispielsweise um die Speicherstruktur 126 so zu organisieren, dass die Signalisierungs- und Auswahlschaltungen aktiviert werden.
  • 4B-4F zeigen eine beispielhafte 3D-NAND-Struktur. 4B ist ein Blockdiagramm, das eine Draufsicht eines Abschnitts eines Blocks aus der Speicherstruktur 126 zeigt. Der Abschnitt des in 4B dargestellten Blocks entspricht dem Abschnitt 306 in Block 2 von 4A. Wie aus 4B ersichtlich ist, erstreckt sich der in 4B dargestellte Block in der Richtung von 332. In einer Ausführungsform hat das Speicherarray 60 Schichten. Andere Ausführungsformen haben weniger als oder mehr als 60 Schichten. Jedoch zeigt 4B nur die obere Schicht.
  • 4B zeigt eine Vielzahl von Kreisen, welche die vertikalen Spalten darstellen. Jede der vertikalen Spalten beinhaltet mehrere Auswahltransistoren und mehrere Speicherzellen. In einer Ausführungsform implementiert jede vertikale Spalte einen NAND-String. Zum Beispiel zeigt 4B vertikale Spalten 422, 432, 442 und 452. Die vertikale Spalte 422 implementiert den NAND-String 482. Die vertikale Spalte 432 implementiert den NAND-String 484. Die vertikale Spalte 442 implementiert den NAND-String 486. Die vertikale Spalte 452 implementiert den NAND-String 488. Mehr Details der vertikalen Spalten werden nachstehend bereitgestellt. Da sich der in 4B dargestellte Block in der Richtung des Pfeils 330 und in der Richtung des Pfeils 332 erstreckt, beinhaltet der Block mehr vertikale Spalten als in 4B dargestellt
  • 4B zeigt auch einen Satz von Bitleitungen 415, einschließlich Bitleitungen 411, 412, 413, 414,...419. 4B zeigt vierundzwanzig Bitleitungen, da nur ein Teil des Blocks dargestellt ist. Es wird in Betracht gezogen, dass mehr als vierundzwanzig Bitleitungen mit vertikalen Spalten des Blocks verbunden sind. Jeder der Kreise, die vertikale Spalten darstellen, hat ein „x“, um seine Verbindung zu einer Bitleitung anzuzeigen. Zum Beispiel ist die Bitleitung 414 mit vertikalen Spalten 422, 432, 442 und 452 verbunden.
  • Der in 4B dargestellte Block beinhaltet einen Satz von lokalen Zwischenverbindungen 402, 404, 406, 408 und 410, welche die verschiedenen Schichten mit einer Source-Leitung unterhalb der vertikalen Spalten verbinden. Die lokalen Zwischenverbindungen 402, 404, 406, 408 und 410 dienen auch dazu, jede Schicht des Blocks in vier Bereiche zu unterteilen; beispielsweise ist die in 4B gezeigte obere Schicht in Bereiche 420, 430, 440 und 450 unterteilt, die als Finger bezeichnet werden. In den Schichten des Blocks, die Speicherzellen implementieren, werden die vier Bereiche als Wortleitungsfinger bezeichnet, die durch die lokalen Zwischenverbindungen getrennt sind. In einer Ausführungsform verbinden sich die Wortleitungsfinger auf einer gemeinsamen Ebene eines Blocks am Ende des Blocks miteinander, um eine einzelne Wortleitung zu bilden. In einer anderen Ausführungsform sind die Wortleitungsfinger auf der gleichen Ebene nicht miteinander verbunden. In einer beispielhaften Implementierung ist eine Bitleitung nur mit einer vertikalen Spalte in jedem der Bereiche 420, 430, 440 und 450 verbunden. In dieser Implementierung hat jeder Block sechzehn Reihen von aktiven Spalten und jede Bitleitung ist mit vier Reihen in jedem Block verbunden. In einer Ausführungsform sind alle vier Reihen, die mit einer gemeinsamen Bitleitung verbunden sind, mit derselben Wortleitung verbunden (über verschiedene Wortleitungsfinger auf der gleichen Ebene, die miteinander verbunden sind); Daher verwendet das System die source-seitigen Auswahlleitungen und die drain-seitigen Auswahlleitungen, um eine (oder eine andere Teilmenge) der vier zu wählen, die einem Speichervorgang (Programmieren, Überprüfen, Lesen und/oder Löschen) unterzogen werden sollen.
  • Obwohl 4B jeden Bereich mit vier Reihen vertikaler Spalten, vier Regionen und sechzehn Reihen vertikaler Spalten in einem Block zeigt, sind diese genauen Zahlen eine beispielhafte Implementierung. Andere Ausführungsformen können mehr oder weniger Bereiche pro Block, mehr oder weniger Reihen vertikaler Spalten pro Bereich und mehr oder weniger Reihen vertikaler Spalten pro Block beinhalten.
  • 4B zeigt auch, dass die vertikalen Spalten gestaffelt sind. In anderen Ausführungsformen können verschiedene Muster der Staffelung verwendet werden. In einigen Ausführungsformen sind die vertikalen Spalten nicht gestaffelt.
  • 4C stellt einen Abschnitt einer Ausführungsform der dreidimensionalen Speicherstruktur 126 dar, die eine Querschnittsansicht entlang der Linie AA von 4B zeigt. Diese Querschnittsansicht schneidet durch vertikale Spalten 432 und 434 und einen Bereich 430 (siehe 4B). Die Struktur von 4C beinhaltet vier drain-seitige Auswahlschichten SGD0, SGD1, SGD2 und SGD3; vier source-seitige Auswahlschichten SGS0, SGS1, SGS2 und SGS3; vier Dummy-Wortleitungsschichten DD0, DD1, DS0 und DS1; und achtundvierzig Datenwortleitungsschichten WLL0 - WLL47 zum Verbinden mit Datenspeicherzellen. Andere Ausführungsformen können mehr oder weniger als vier drain-seitige Auswahlschichten, mehr oder weniger als vier source-seitige Auswahlschichten, mehr oder weniger als vier Dummy-Wortleitungsschichten und mehr oder weniger als achtundvierzig Wortleitungsschichten (z.B. 96 Wortleitungsschichten) implementieren. Die vertikalen Spalten 432 und 434 sind durch die drain-seitigen Auswahlschichten, source-seitigen Auswahlschichten, Dummy-Wortleitungsschichten und Wortleitungsschichten herausragend dargestellt. In einer Ausführungsform weist jede vertikale Spalte einen NAND-String auf. Beispielsweise weist die vertikale Spalte 432 den NAND-String 484 auf. Unter den vertikalen Spalten und den unten aufgelisteten Schichten befinden sich ein Substrat 101, eine Isolationsschicht 454 auf dem Substrat und eine Source-Leitung SL. Der NAND-String der vertikalen Spalte 432 weist ein Source-Ende an einer Unterseite des Stapels und ein Drain-Ende an einer Oberseite des Stapels auf. Wie in Übereinstimmung mit 4B zeigt 4C die vertikale Spalte 432, die mit der Bitleitung 414 über den Verbinder 415 verbunden ist. Die lokalen Zwischenverbindungen 404 und 406 sind ebenfalls dargestellt.
  • Zur besseren Identifizierung werden die drain-seitigen Auswahlschichten SGD0, SGD1, SGD2 und SGD3; die source-seitigen Auswahlschichten SGS0, SGS1, SGS2 und SGS3; die Dummy-Wortleitungsschichten DD0, DD1, DS0 und DS1; und die Wortleitungsschichten WLL0-WLL47 kollektiv als die leitenden Schichten bezeichnet. In einer Ausführungsform sind die leitenden Schichten aus einer Kombination aus TiN und Wolfram hergestellt. In anderen Ausführungsformen können andere Materialien verwendet werden, um die leitenden Schichten zu bilden, wie beispielsweise dotiertes Polysilizium, Metall, wie beispielsweise Wolfram oder Metallsilizid. In einigen Ausführungsformen können verschiedene leitende Schichten aus unterschiedlichen Materialien gebildet werden. Zwischen den leitenden Schichten befinden sich dielektrische Schichten DL0-DL59. Beispielsweise befinden sich die dielektrischen Schichten DL49 über der Wortleitungsschicht WLL43 und unter der Wortleitungsschicht WLL44. In einer Ausführungsform sind die dielektrischen Schichten aus SiO2 hergestellt. In anderen Ausführungsformen können andere dielektrische Materialien verwendet werden, um die dielektrischen Schichten zu bilden.
  • Die nichtflüchtigen Speicherzellen sind entlang vertikaler Spalten ausgebildet, die sich durch alternierende leitende und dielektrische Schichten in dem Stapel erstrecken. In einer Ausführungsform sind die Speicherzellen in NAND-Strings angeordnet. Die Wortleitungsschicht WLL0-WLL47 ist mit Speicherzellen (auch Datenspeicherzellen genannt) verbunden. Dummy-Wortleitungsschichten DD0, DD1, DS0 und DS1 sind mit Dummy-Speicherzellen verbunden. Eine Dummy-Speicherzelle speichert keine Benutzerdaten, während eine Datenspeicherzelle berechtigt ist, Benutzerdaten zu speichern. Drain-seitige Auswahlschichten SGD0, SGD1, SGD2 und SGD3 werden verwendet, um NAND-Strings von Bitleitungen elektrisch zu verbinden und zu trennen. Source-seitige Auswahlschichten SGS0, SGS1, SGS2 und SGS3 werden verwendet, um NAND-Strings von der Source-Leitung SL elektrisch zu verbinden und zu trennen.
  • 4D zeigt eine logische Darstellung der leitenden Schichten (SGD0, SGD1, SGD2, SGD3, SGS0, SGS1, SGS2, SGS3, DD0, DD1, DS0, DS1 und WLL0-WLL47) für den Block, der teilweise in 4C dargestellt ist. Wie vorstehend mit Bezug auf 4B erwähnt, brechen in einer Ausführungsform die lokalen Zwischenverbindungen 402, 404, 406, 408 und 410 jede leitende Schicht in vier Bereiche oder Finger auf. Beispielsweise ist die Wortleitungsschicht WLL31 in die Bereiche 460, 462, 464 und 466 unterteilt. Für Wortleitungsschichten (WLL0-WLL31) werden die Bereiche als Wortleitungsfinger bezeichnet; Beispielsweise ist die Wortleitungsschicht WLL46 in die Wortleitungsfinger 460, 462, 464 und 466 unterteilt. In einer Ausführungsform sind die vier Wortleitungsfinger auf einer gleichen Ebene miteinander verbunden. In einer anderen Ausführungsform arbeitet jeder Wortleitungsfinger als eine separate Wortleitung.
  • Die drain-seitige Auswahl-Gate-Schicht SGD0 (die oberste Schicht) ist ebenfalls in die Bereiche 420, 430, 440 und 450 unterteilt, die auch als Finger oder Auswahlleitungsfinger bekannt sind. In einer Ausführungsform sind die vier Auswahlleitungsfinger auf einer gleichen Ebene miteinander verbunden. In einer anderen Ausführungsform arbeitet jeder Auswahlleitungsfinger als eine separate Wortleitung.
  • 4E zeigt eine Querschnittsansicht des Bereichs 429 von 4C, der einen Abschnitt der vertikalen Spalte 432 beinhaltet. In einer Ausführungsform sind die vertikalen Spalten rund und beinhalten vier Schichten; Jedoch können in anderen Ausführungsformen mehr oder weniger als vier Schichten beinhaltet sein und andere Formen können verwendet werden. In einer Ausführungsform beinhaltet die vertikale Säule 432 eine innere Kernschicht 470, die aus einem Dielektrikum, wie beispielsweise SiO2, hergestellt ist. Andere Materialien können ebenfalls verwendet werden. Der umgebende innere Kern 470 ist ein Polysiliziumkanal 471. Es können auch andere Materialien als Polysilizium verwendet werden. Es ist zu beachten, dass es der Kanal 471 ist, der mit der Bitleitung verbunden ist. Der umgebende Kanal 471 ist ein Tunneldielektrikum 472. In einer Ausführungsform weist das Tunneldielektrikum 472 eine ONO-Struktur auf. Das umgebende Tunneldielektrikum 472 ist eine Ladungsfängerschicht 473, wie (zum Beispiel) Siliziumnitrid. Andere Speichermaterialien und Strukturen können ebenfalls verwendet werden. Die hierin beschriebene Technologie ist nicht auf ein spezifisches Material oder eine spezifische Struktur beschränkt.
  • 4E zeigt die dielektrischen Schichten DLL49, DLL50, DLL51, DLL52 und DLL53 sowie die Wortleitungsschichten WLL43, WLL44, WLL45, WLL46 und WLL47. Jede der Wortleitungsschichten beinhaltet einen Wortleitungsbereich 476, der von einer Aluminiumoxidschicht 477 umgeben ist, die von einer Blockieroxidschicht 478 (SiO2) umgeben ist. Die physikalische Wechselwirkung der Wortleitungsschichten mit der vertikalen Säule bildet die Speicherzellen. Somit weist eine Speicherzelle in einer Ausführungsform Kanal 471, Tunneldielektrikum 472, Ladungsfängerschicht 473, Blockieroxidschicht 478, Aluminiumoxidschicht 477 und Wortleitungsbereich 476 auf. Beispielsweise weisen die Wortleitungsschicht WLL47 und ein Abschnitt der vertikalen Spalte 432 eine Speicherzelle MC1 auf. Die Wortleitungsschicht WLL46 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC2 auf. Die Wortleitungsschicht WLL45 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC3 auf. Die Wortleitungsschicht WLL44 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC4 auf. Die Wortleitungsschicht WLL43 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC5 auf. In anderen Architekturen kann eine Speicherzelle eine andere Struktur haben; die Speicherzelle wäre jedoch immer noch die Speichereinheit.
  • Wenn eine Speicherzelle programmiert wird, werden Elektronen in einem Teil der Ladungsfängerschicht 473 gespeichert, welcher der Speicherzelle zugeordnet ist. Diese Elektronen werden in die Ladungsfängerschicht 473 aus dem Kanal 471, durch das Tunneldielektrikum 472 in Reaktion auf eine entsprechende Spannung im Wortleitungsbereich 476 gezogen. Die Schwellenspannung (Vth) einer Speicherzelle wird proportional zu der Menge der gespeicherten Ladung erhöht. In einer Ausführungsform wird die Programmierung durch Fowler Nordheim-Tunneln der Elektronen in die Ladungsfängerschicht erreicht. Während einer Löschoperation kehren die Elektronen in den Kanal zurück oder Löcher werden in die Ladungsfängerschicht injiziert, um mit Elektronen zu rekombinieren. In einer Ausführungsform wird Löschen unter Verwendung von Löcherinjektion in die Ladungsfängerschicht über einen physikalischen Mechanismus, wie etwa durch Gate induziertes Drain-Leck (GIDL), erreicht.
  • 4F zeigt physikalische Wortleitungen WLL0-WLL47, die über den gesamten Block verlaufen. Die Struktur von 4G entspricht dem Abschnitt 306 in Block 2 von 4A, einschließlich der Bitleitungen 411, 412, 413, 414,.419. Innerhalb des Blocks ist jede Bitleitung mit vier NAND-Strings verbunden. Drain-seitige Auswahlleitungen SGD0, SGD1, SGD2 und SGD3 werden verwendet, um zu bestimmen, welche der vier NAND-Strings mit der zugehörigen Bitleitung verbunden ist. Der Block kann auch als in vier Teilblöcke SB0, SB1, SB2 und SB3 unterteilt betrachtet werden. Unterblock SB0 entspricht den von SGD0 und SGS0 gesteuerten vertikalen NAND-Strings, Unterblock SB1 den von SGD1 und SGS1 gesteuerten vertikalen NAND-Strings, Unterblock SB2 den von SGD2 und SGS2 gesteuerten vertikalen NAND-Strings und Unterblock SB3 den von SGD3 und SGS3 gesteuerten vertikalen NAND-Strings.
  • Obwohl das beispielhafte Speichersystem der 4-4F eine dreidimensionale Speicherstruktur ist, die vertikale NAND-Strings mit Ladungsfängermaterial beinhaltet, können auch andere (2D und 3D) Speicherstrukturen mit der hierin beschriebenen Technologie verwendet werden. Beispielsweise können Floating-Gate-Speicher (z. B. Flash-Speicher vom NAND-Typ und NOR-Typ), ReRAM-Speicher, magnetoresistive Speicher (z B. MRAM), Phasenwechselspeicher (z.B. PCRAM) auch verwendet werden.
  • Ein Beispiel für einen ReRAM-Kreuzpunktspeicher beinhaltet reversible Widerstandschaltelemente, die in Kreuzpunktarrays angeordnet sind, auf die durch X-Leitungen und Y-Leitungen (z.B. Wortleitungen und Bitleitungen) zugegriffen wird. In einer anderen Ausführungsform können die Speicherzellen leitende Brückenspeicherelemente beinhalten. Ein leitfähiges Brückenspeicherelement kann auch als programmierbare Metallisierungszelle bezeichnet werden. Ein leitfähiges Brückenspeicherelement kann als ein Zustandsänderungselement basierend auf der physikalischen Verlagerung von Ionen innerhalb eines festen Elektrolyten verwendet werden. In einigen Fällen kann ein leitfähiges Brückenspeicherelement zwei feste Metallelektroden beinhalten, eine relativ inerte (z.B. Wolfram) und eine elektrochemisch aktive (z.B. Silber oder Kupfer), mit einem dünnen Film des festen Elektrolyten zwischen den beiden Elektroden. Mit steigender Temperatur steigt auch die Mobilität der Ionen, sodass die Programmierschwelle für die leitfähige Brückenspeicherzelle abnimmt. Somit kann das leitfähige Brückenspeicherelement einen weiten Bereich von Programmschwellenwerten über die Temperatur haben.
  • Ein magnetoresistiver Speicher (MRAM) speichert Daten durch magnetische Speicherelemente. Die Elemente sind aus zwei ferromagnetischen Platten gebildet, von denen jede eine Magnetisierung halten kann, die durch eine dünne Isolierschicht getrennt ist. Eine der beiden Platten ein Permanentmagnet, der auf eine bestimmte Polarität eingestellt ist; Die Magnetisierung der anderen Platte kann so geändert werden, dass sie der eines externen Feldes zum Speichern des Speichers entspricht. Diese Konfiguration ist als Spin-Ventil bekannt und ist die einfachste Struktur für ein MRAM-Bit. Eine Speichervorrichtung ist aus einem Gitter solcher Speicherzellen aufgebaut. In einer Ausführungsform zur Programmierung liegt jede Speicherzelle zwischen rechtwinklig zueinander angeordneter Schreibleitungen, parallel zur Zelle, eine über und eine unter der Zelle. Wenn Strom durch sie geleitet wird, wird ein induziertes Magnetfeld generiert.
  • Phasenwechselspeicher (PCRAM) nutzt das einzigartige Verhalten von Chalkogenidglas. Eine Ausführungsform verwendet ein GeTe-Sb2Te3-Übergitter, um nichtthermische Phasenänderungen zu erreichen, indem man einfach den Koordinationszustand der Germaniumatome mit einem Laserimpuls (oder Lichtimpuls von einer anderen Quelle) ändert. Daher sind die Dosen der Programmierung Laserimpulse. Die Speicherzellen können gehemmt werden, indem man die Speicherzellen daran hindert, das Licht zu empfangen. Es ist zu beachten, dass die Verwendung von „Impuls“ in diesem Dokument keinen Rechteckimpuls erfordert, sondern eine (kontinuierliche oder nicht kontinuierliche) Vibration oder einen Stoß von Schall, Strom, Spannungslicht oder einer anderen Welle beinhaltet.
  • Am Ende eines erfolgreichen Programmierprozesses (mit Verifizierung) sollten die Schwellenspannungen der Speicherzellen innerhalb einer oder mehrerer Verteilungen von Schwellenspannungen für programmierte Speicherzellen oder innerhalb einer Verteilung von Schwellenspannungen für gelöschte Speicherzellen, wie zutreffend, liegen. 5 stellt beispielhafte Schwellenspannungsverteilungen für das Speicherzellenarray dar, wenn jede Speicherzelle drei Datenbits speichert. Andere Ausführungsformen können jedoch andere Datenkapazitäten pro Speicherzelle verwenden (z.B. ein, zwei, vier oder fünf Datenbits pro Speicherzelle). 5 zeigt acht Schwellenspannungsverteilungen, die acht Datenzuständen entsprechen. Die erste Schwellenspannungsverteilung (Datenzustand) S0 stellt Speicherzellen dar, die gelöscht werden. Die anderen sieben Schwellenspannungsverteilungen (Datenzustände) S1 bis S17 stellen Speicherzellen dar, die programmiert sind und daher auch programmierte Zustände genannt werden. Jede Schwellenspannungsverteilung (Datenzustand) entspricht vorbestimmten Werten für den Satz von Datenbits. Die spezifische Beziehung zwischen den in die Speicherzelle programmierten Daten und den Schwellenspannungspegeln der Zelle hängt von dem Datencodierschema ab, das für die Zellen verwendet wird. In einer Ausführungsform werden Datenwerte den Schwellenspannungsbereichen unter Verwendung einer Gray-Code-Zuweisung zugewiesen, sodass, wenn sich die Schwellenspannung eines Speichers fälschlicherweise in seinen benachbarten physikalischen Zustand verschiebt, nur ein Bit betroffen ist.
  • 5 zeigt auch sieben Lesereferenzspannungen Vr1, Vr2, Vr3, Vr4, Vr5, Vr6 und Vr7 zum Lesen von Daten von Speicherzellen. Durch Testen, ob die Schwellenspannung einer gegebenen Speicherzelle über oder unter den sieben Lesereferenzspannungen liegt, kann das System bestimmen, in welchem Datenzustand (d.h. S0, S1, S2, S3,...) sich eine Speicherzelle befindet.
  • 5 zeigt auch sieben Prüfreferenzspannungen, Vv1, Vv2, Vv3, Vv4, Vv5, Vv6 und Vv7. Wenn Speicherzellen in den Datenzustand S1 programmiert werden, prüft das System, ob diese Speicherzellen eine Schwellenspannung aufweisen, die größer oder gleich Vv1 ist. Wenn Speicherzellen in den Datenzustand S2 programmiert werden, prüft das System, ob diese Speicherzellen eine Schwellenspannung aufweisen, die größer oder gleich Vv2 ist. Wenn Speicherzellen in den Datenzustand S3 programmiert werden, bestimmt das System, ob Speicherzellen ihre Schwellenspannung haben, die größer oder gleich Vv3 ist. Wenn Speicherzellen in den Datenzustand S4 programmiert werden, prüft das System, ob diese Speicherzellen eine Schwellenspannung aufweisen, die größer oder gleich Vv4 ist. Wenn Speicherzellen in den Datenzustand S5 programmiert werden, prüft das System, ob diese Speicherzellen eine Schwellenspannung aufweisen, die größer oder gleich Vv4 ist. Wenn Speicherzellen in den Datenzustand S6 programmiert werden, prüft das System, ob diese Speicherzellen eine Schwellenspannung aufweisen, die größer oder gleich Vv6 ist. Wenn Speicherzellen in den Datenzustand S7 programmiert werden, prüft das System, ob diese Speicherzellen eine Schwellenspannung aufweisen, die größer oder gleich Vv7 ist.
  • In einer Ausführungsform, die als Vollsequenzprogrammierung bekannt ist, können Speicherzellen aus dem gelöschten Datenzustand S0 direkt in einen der programmierten Datenzustände S1 bis S7 programmiert werden. Beispielsweise kann eine Population von Speicherzellen, die programmiert werden sollen, zuerst gelöscht werden, sodass alle Speicherzellen in der Population im gelöschten Datenzustand S0 sind. Dann wird ein Programmierprozess verwendet, um Speicherzellen direkt in Datenzustände S1, S2, S3, S4, S5, S6 und/oder S7 zu programmieren. Während zum Beispiel einige Speicherzellen von dem Datenzustand S0 in den Datenzustand S1 programmiert werden, werden andere Speicherzellen vom Datenzustand S0 in den Datenzustand S2 und/oder vom Datenzustand S0 in den Datenzustand S3 und so weiter programmiert. Die Pfeile von 5 stellen die Vollsequenzprogrammierung dar. Die hierin beschriebene Technologie kann auch mit anderen Programmierarten zusätzlich zur Vollsequenzprogrammierung (einschließlich, aber nicht beschränkt auf Mehrstufen-/Phasenprogrammierung) verwendet werden. In einigen Ausführungsformen können sich die Datenzustände S1 bis S7 überlappen, wobei sich die Steuerung 122 auf ECC stützt, um die korrekten gespeicherten Daten zu identifizieren.
  • 5A ist eine Tabelle, die ein Beispiel für eine Zuordnung von Datenwerten zu Datenzuständen beschreibt. In der Tabelle von 5A, S0-111. S1=110, S2=200, S3=000, S4=010, S5=011, S6=001 und S7=101. Andere Datencodierungen können ebenfalls verwendet werden. Keine spezifische Datencodierung ist von der hier offenbarten Technologie erforderlich.
  • 6A ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zum Programmieren beschreibt, der von die Steuerung 122 durchgeführt wird. In einigen Ausführungsformen kann der Host die Funktionen der Steuerung ausführen, anstatt über eine dedizierte Steuerung zu verfügen. In Schritt 702 sendet die Steuerung 122 Anweisungen an einen oder mehrere Speicher-Rohchip(s) 108, um Daten zu programmieren. In Schritt 704 sendet die Steuerung 122 eine oder mehrere physische Adresse(n) an einen oder mehrere Speicher-Rohchip(s) 108. Die eine oder die mehreren logische(n) Adresse(n) zeigen an, wo die Daten zu programmieren sind. In Schritt 706 sendet die Steuerung 122 die zu programmierenden Daten an einen oder mehrere Speicher-Rohchip(s) 108. In Schritt 708 empfängt die Steuerung 122 ein Ergebnis der Programmierung von einem oder mehreren Speicher-Rohchip(s) 108. Beispielhafte Ergebnisse beinhalten das erfolgreiche Programmieren der Daten, eine Anzeige, dass der Programmiervorgang fehlgeschlagen ist, und eine Anzeige, dass die Daten an einer anderen Stelle programmiert wurden, oder ein anderes Ergebnis. In Schritt 710 aktualisiert die Steuerung 122 als Reaktion auf das in Schritt 708 empfangene Ergebnis die Systeminformationen, die sie aufrechterhält. In einer Ausführungsform hält das System Tabellen von Daten aufrecht, die Statusinformationen für jeden Block anzeigen. Diese Informationen können eine Abbildung von logischen Adressen auf physikalische Adressen beinhalten, welche Blöcke/Wort-Zeilen geöffnet/geschlossen sind (oder teilweise geöffnet/geschlossen), welche Blöcke/Wort-Zeilen fehlerhaft sind, usw.
  • In einigen Ausführungsformen, vor Schritt 702, würde die Steuerung 122 Benutzerdaten und eine Anweisung zur Programmierung vom Host empfangen, und die Steuerung würde die ECC-Engine ausführen, um Codewörter aus den Benutzerdaten zu erstellen. Diese Codewörter sind die im Schritt 706 übertragenen Daten. Die Steuerung kann auch die Daten verschlüsseln, um einen Abnutzungsausgleich in Bezug auf die Speicherzellen zu erreichen.
  • 6B ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zum Programmieren beschreibt. Der Prozess von 6B wird von dem Speicher-Rohchip als Reaktion auf die Schritte von 6A (d.h. als Reaktion auf die Anweisungen, Daten und Adressen aus der Steuerung 122) durchgeführt. In einer beispielhaften Ausführungsform wird der Prozess von 6B auf dem Speicher-Rohchip 108 unter Verwendung der vorstehend beschriebenen einen oder mehreren Steuerschaltungen in Richtung der Zustandsmaschine 112 durchgeführt. Das Verfahren von 6B kann auch verwendet werden, um die vorstehend besprochene Vollsequenzprogrammierung zu implementieren. Zusätzlich kann der Prozess auch verwendet werden, um jede Phase eines mehrphasigen Programmierprozesses zu implementieren.
  • Üblicherweise wird die Programmierspannung, die an die Steuergates (über eine ausgewählte Wortleitung) während eines Programmiervorgangs angelegt wird, als eine Reihe von Programmierimpulsen angelegt. Zwischen Programmierimpulsen befindet sich ein Satz von Prüfimpulsen, um eine Prüfung durchzuführen. In vielen Implementierungen wird die Größe der Programmierimpulse mit jedem sukzessiven Impuls durch eine vorbestimmte Schrittgröße erhöht. In Schritt 770 von 6B wird die Programmierspannung (Vpgm) auf die Startgröße (z.B. -12 bis 16 V oder einen anderen geeigneten Pegel) initialisiert und ein Programmzähler PC, der durch die Zustandsmaschine 112 unterhalten wird, wird bei 1 initialisiert. In Schritt 772 wird ein Programmierimpuls des Programmsignals Vpgm auf die ausgewählte Wortleitung (die zur Programmierung ausgewählte Wortleitung) angewendet. In einer Ausführungsform ist die Gruppe von Speicherzellen, die gleichzeitig programmiert werden, alle mit derselben Wortleitung (der ausgewählten Wortleitung) verbunden. Die nicht ausgewählten Wortleitungen empfangen eine oder mehrere Verstärkungsspannungen (z. B. ~7 bis 11 Volt), um Verstärkungsschemata durchzuführen, die nach dem Stand der Technik bekannt sind. Sollte eine Speicherzelle programmiert werden, so wird die entsprechende Bitleitung geerdet. Wenn andererseits die Speicherzelle auf ihrer gegenwärtigen Schwellenspannung bleiben sollte, dann wird die entsprechende Bitleitung mit Vdd verbunden, um Programmierung zu verhindern. In Schritt 772 wird der Programmierimpuls gleichzeitig an alle Speicherzellen angelegt, die mit der ausgewählten Wortleitung verbunden sind, sodass alle Speicherzellen, die mit der ausgewählten Wortleitung verbunden sind, gleichzeitig programmiert werden. Das heißt, sie werden zur gleichen Zeit oder während überlappenden Zeiten (die beide als gleichzeitig betrachtet werden) programmiert. Auf diese Weise ändern alle Speicherzellen, die mit der ausgewählten Wortleitung verbunden sind, gleichzeitig ihre Schwellenspannung, sofern sie nicht aus der Programmierung ausgeschlossen wurden.
  • In Schritt 774 werden die entsprechenden Speicherzellen unter Verwendung des geeigneten Satzes von Prüfreferenzspannungen überprüft, um einen oder mehrere Prüfvorgänge durchzuführen. In einer Ausführungsform wird der Überprüfungsprozess durchgeführt, indem getestet wird, ob die Schwellenspannungen der zur Programmierung ausgewählten Speicherzellen die geeignete Prüfreferenzspannung erreicht haben.
  • In Schritt 776 wird bestimmt, ob alle Speicherzellen ihre Zielschwellenspannungen erreicht haben (bestanden). Falls dies der Fall ist, ist der Programmierprozess vollständig und erfolgreich, weil alle ausgewählten Speicherzellen auf ihre Zielzustände programmiert und verifiziert wurden. In Schritt 778 wird ein Status von „BESTANDEN“ gemeldet. Falls in 776 bestimmt wird, dass nicht alle der Speicherzellen ihre Zielschwellenspannungen erreicht haben (fehlgeschlagen), fährt der Programmierprozess mit Schritt 780 fort.
  • In Schritt 780 zählt das System die Anzahl von Speicherzellen, die noch nicht ihre jeweilige Zielschwellenspannungsverteilung erreicht haben. Das heißt, das System zählt die Anzahl von Speicherzellen, die bisher den Verifizierungsprozess nicht bestanden haben. Dieses Zählen kann durch die Zustandsmaschine, die Steuerung oder eine andere Logik erfolgen. In einer Implementierung speichert jeder der Leseblöcke den Status (bestanden/fehlgeschlagen) ihrer jeweiligen Zellen. In einer Ausführungsform gibt es einen Gesamtzählwert, der die Gesamtzahl der gegenwärtig programmierten Speicherzellen wiedergibt, die den letzten Prüfschritt nicht bestanden haben. In einer anderen Ausführungsform werden separate Zählwerte für jeden Datenzustand ermittelt.
  • In Schritt 782 wird bestimmt, ob der Zählwert von Schritt 780 kleiner oder gleich einem vorbestimmten Grenzwert ist. In einer Ausführungsform ist die vorbestimmte Grenze die Anzahl von Bits, die durch Fehlerkorrektur-Codes (ECC) während eines Leseprozesses für die Seite von Speicherzellen korrigiert werden können. Wenn die Anzahl der fehlerhaften Speicherzellen kleiner oder gleich der vorbestimmten Grenze ist, dann kann der Programmierprozess anhalten und in Schritt 778 wird der Status „BESTANDEN“ gemeldet. In dieser Situation können ausreichend Speicherzellen korrekt programmiert werden, sodass die wenigen verbleibenden Speicherzellen, die nicht vollständig programmiert worden sind, unter Verwendung von ECC während des Lesevorgangs korrigiert werden können. In einigen Ausführungsformen zählt Schritt 780 die Anzahl ausgefallener Zellen für jeden Sektor, jeden Zieldatenzustand oder eine andere Einheit, und diese Zählwerte werden einzeln oder kollektiv mit einem Schwellenwert in Schritt 782 verglichen.
  • In einer anderen Ausführungsform kann die vorbestimmte Grenze kleiner als die Anzahl von Bits sein, die durch ECC während eines Leseprozesses korrigiert werden können, um zukünftige Fehler einzuplanen. Wenn weniger als alle Speicherzellen für eine Seite programmiert werden oder ein Zählwert für nur einen Datenzustand (oder weniger als alle Zustände) verglichen wird, dann kann die vorbestimmte Grenze ein Anteil (pro rata oder nicht pro rata) der Anzahl von Bits sein, die durch ECC während eines Leseprozesses für die Seite von Speicherzellen korrigiert werden können. In einigen Ausführungsformen ist die Grenze nicht vorbestimmt. Stattdessen ändert sie sich basierend auf der Anzahl der bereits gezählten Fehler für die Seite, der Anzahl der durchgeführten Programmier-/Löschzyklen oder anderer Kriterien.
  • Wenn die Anzahl fehlerhafter Speicherzellen nicht kleiner als die vorbestimmte Grenze ist, dann fährt der Programmierprozess mit Schritt 784 fort und der Programmzähler PC wird gegen den Programmgrenzwert (PL) überprüft. Beispiele für Programmgrenzwerte schließen 20 und 30 ein; jedoch können andere Werte verwendet werden. Wenn der Programmzähler PC nicht kleiner als der Programmgrenzwert PL ist, dann wird der Programmprozess als fehlgeschlagen betrachtet und der Status FEHLGESCHLAGEN wird in Schritt 788 gemeldet. Wenn der Programmzähler PC kleiner als der Programmgrenzwert PL ist, dann fährt der Prozess mit Schritt 786 fort, während der Programmzähler PC um 1 erhöht wird und die Programmierspannung Vpgm auf die nächste Größe erhöht wird. Zum Beispiel hat der nächste Impuls eine Größe, die um eine Schrittgröße (z. B. eine Schrittgröße von 0,1 bis 0,4 Volt) größer als der vorherige Impuls ist. Nach Schritt 786 kehrt der Prozess zu Schritt 772 zurück und ein weiterer Programmierimpuls wird an die ausgewählte Wortleitung angelegt, sodass eine weitere Iteration (Schritte 772 bis 786) des Programmierprozesses von 6B durchgeführt wird.
  • In einer Ausführungsform werden Daten in Einheiten von Seiten programmiert. So wird zum Beispiel der Prozess von 6B verwendet, um eine Seite von Daten zu programmieren. Da es möglich ist, dass Fehler beim Programmieren oder Lesen auftreten können und Fehler beim Speichern von Daten auftreten können (z. B. aufgrund von Driften von Elektronen, Datenhalteproblemen oder anderen Phänomenen), wird eine Fehlerkorrektur mit der Programmierung einer Seite von Daten verwendet. Viele ECC-Codierungsschemata sind nach dem Stand der Technik gut bekannt.
  • Schritt 774 von 6B beinhaltet das Durchführen einer Überprüfung. Der Überprüfungsprozesses beinhaltet das Durchführen verschiedener Abtastvorgänge, die das Anlegen einer Prüfvergleichsspannung (z. B. Vv1, Vv2, Vv3,...) auf der ausgewählten Wortleitung beinhalten, um zu bestimmen, ob ausgewählte Speicherzellen eine Schwellenspannung aufweisen, die kleiner oder größer als die Prüfvergleichsspannung ist. Da die ausgewählte Wortleitung mit ausgewählten Speicherzellen und nicht ausgewählten Speicherzellen verbunden werden kann, ist es möglich, dass das Anlegen der Prüfvergleichsspannung dazu führen kann, dass nicht ausgewählte Speicherzellen, die mit der ausgewählten Wortleitung verbunden sind (und dadurch die Prüfvergleichsspannung empfangen), eine Änderung der Schwellenspannung bewirken. Dies wird Lesestörung genannt. Um eine Lesestörung während der Prüfvorgänge zu verhindern, verstärkt das Speichersystem die Kanäle von nicht ausgewählten NAND-Strings durch Anlegen einer Verstärkungsspannung (als Vread bezeichnet) an nicht ausgewählte Wortleitungen. Infolgedessen verstärken sich die Kanäle nicht ausgewählter NAND-Strings auf eine positive Spannung, was die Spannungsdifferenz zwischen dem Kanal und den Steuergates reduziert, wodurch die Änderung einer Lesestörung verringert wird.
  • In BiCS- (Bit-Cost-skalierbaren) Flash-Speicherstrukturen (und anderen Speicherstrukturen) besteht ein Block aus mehreren Unterblöcken. Alle Unterblöcke teilen gleiche Wortleitungen, Bitleitungen und Source-Leitungsvorspannungen, haben jedoch separate Vorspannungen der Auswahlleitung (SGS und SGD). Im Gegensatz zur herkömmlichen 2D-NAND-Speicherzellenstruktur hat die BiCS-Speicherzelle eine dünne Poly-Si-Kanal-Dicke (normalerweise < 20 nm) und einen schwimmenden Körper (kein Substrat). Diese beiden Merkmale ermöglichen eine ausgezeichnete Gate-Steuerung, was eine ausgezeichnete kapazitive Kopplung zwischen Gate und Si-Kanal bedeutet. Wenn jedoch in Signaltransientenperioden Spannungssignale zwischen zwei benachbarten Wortleitungen zwischen verschiedenen Spannungspegeln umgeschaltet werden müssen, ist es möglich, dass im Transientenzeitraum der Kanalpotentialgradient zwischen zwei benachbarten Wortleitungen groß genug ist, um eine Elektronen/Loch-Generierung und damit eine Heißelektroneninjektion in den Ladungsfängerbereich zu erzeugen, was zu einer Heißelektroneninjektionsstörung führt. Während des Programmprüfvorgangs (Schritt 774 von 6B), wenn die Verstärkungsspannung Vread zu steigen beginnt, kann es in einem nicht ausgewählten NAND-String für Wortleitungen, die an die ausgewählte Wortleitung angrenzen, unter dem Programmprüfvorgang zu schweren Störungen der Heißelektroneninjektion kommen. Somit erfährt der Speicher eine Störung der Heißelektroneninjektion aufgrund der Mittel zur Reduktion von Lesestörungen (z.B. die Verstärkung als Folge von Vread).
  • Ein Ansatz zur Adressierung einer solchen Heißelektroneninjektion beinhaltet das Einschalten von SGD/SGS in den nicht ausgewählten NAND-Strings, wenn Vread steigt, um die Verstärkung zu unterbrechen, wie in dem US-Patent 9,171,632 gelehrt. Jedoch erfordert dieser Ansatz eine zusätzliche Zeitsteuerungszuteilung für alle Wortleitungen und alle Programmierimpulse und verschlechtert somit die Programmierleistung. Um die Verschlechterung der Leistung zu berücksichtigen, wird vorgeschlagen, eine kundenspezifische Zeitsteuerungsbehandlung für die Unterbrechung der Verstärkung basierend auf der Speicherzellen- und/oder Wortleitungsposition zu implementieren.
  • 7 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum Überprüfen der Programmierung beschreibt. Der Prozess von 7 ist eine beispielhafte Implementierung von Schritt 774 von 6B, der nach Anwenden einer Programmierung (z.B. Schritt 772) durchgeführt wird. In einer Ausführungsform wird der Prozess von 7 durch die eine oder die mehreren Steuerschaltung(en) (z.B. in der Richtung der Zustandsmaschine 112 oder der Steuerung 122) durchgeführt.
  • In Schritt 800 legen die eine oder die mehreren Steuerschaltung(en) eine Spannung an, um Gates für ausgewählte Unterblöcke auszuwählen, um die Auswahl-Gates einzuschalten. Wenn man beispielsweise auf 4F zurückblickt, kann Schritt 800 das Anlegen einer positiven Gate-Spannung für eine beliebige oder SGDS0, SGD1, SGD2, SGD3, SGS0, SGS1, SGS2 oder SGS3 beinhalten. Wenn der Unterblock SB0 ausgewählt ist, dann beinhaltet Schritt 800 das Anlegen des Signals an SGD0 und/oder SGS0, um die Auswahl-Gates einzuschalten, sodass die NAND-Strings in SB0 mit der geeigneten Bitleitung und/oder der Source-Leitung in Kommunikation stehen. In Schritt 802 legen die eine oder die mehreren Steuerschaltung(en) eine Spannung an, um Gates für nicht ausgewählte Unterblöcke auszuwählen, um die Auswahl-Gates auszuschalten und eine Verstärkung zu ermöglichen. Wenn beispielsweise der Unterblock SB0 ausgewählt wird, dann beinhaltet Schritt 802 das Anlegen des geeigneten Signals an zumindest SGD1, SGD2, SGD3, SGS1, SGS2 und SGS3, um die Auswahl-Gates einzuschalten, sodass die NAND-Strings in SB1, SB2 und SB3 nicht in Kommunikation mit der geeigneten Bitleitung und der Source-Leitung stehen. In Schritt 804 legen die eine oder die mehreren Steuerschaltung(en) eine oder mehrere Verstärkungsspannung(en) an nicht ausgewählte Wortleitungen an und erhöhen diese, um Kanäle von nicht ausgewählten NAND-Strings zu verstärken, um eine Lesestörung zu verhindern. Zum Beispiel empfangen nicht ausgewählte Wortleitungen eine Spannung zwischen 7 und 10 Volt, bezeichnet als Vread, die dazu führt, dass die mit den nicht ausgewählten Wortleitungen verbundenen Speicherzellen eingeschaltet werden und als Durchlassgates fungieren. Folglich ist der Strom durch einen NAND-String repräsentativ für den Strom durch die ausgewählte Speicherzelle auf diesem NAND-String. Durch Anlegen der Verstärkungsspannung an nicht ausgewählte Wortleitungen werden diejenigen NAND-Strings (d.h. nicht ausgewählte NAND-Strings), deren Auswahl-Gates ausgeschaltet sind, mit ihrer Kanalspannung verstärkt. Diese Verstärkung der Kanalspannung reduziert die Spannungsdifferenz zwischen dem Kanal und der ausgewählten Wortleitung und reduziert daher die Lesestörung.
  • In Schritt 806 ändern die eine oder mehreren Steuerschaltung(en) unter Erhöhung der Verstärkungsspannungen von Schritt 804 vorübergehend die an die Auswahl-Gates in Schritt 802 angelegte Spannung für nicht ausgewählte NAND-Strings, um die Auswahl-Gates für nicht ausgewählte NAND-Strings vorübergehend einzuschalten, um die Verstärkung der Kanäle der nicht ausgewählten NAND-Strings für eine Zeitdauer basierend auf der Position der ausgewählten Wortleitung vorübergehend zu verhindern/stoppen. Dies hat den Effekt, dass die Verstärkung des Kanals verringert wird. Mehr Details von Schritt 806 werden nachstehend beschrieben. In Schritt 808 legen die eine oder die mehreren Steuerschaltung(en) eine datenzustandsabhängige Prüfvergleichsspannung (z. B. Vv1, Vv2, Vv3, Vv4, Vv5, Vv6, Vv7 von 5) an die ausgewählte Wortleitung an (die mit den zur Programmierung ausgewählten Speicherzellen verbunden ist). In Schritt 810 tasten die eine oder die mehreren Steuerschaltung(en) Schwellenspannungsinformationen ausgewählter Speicherzellen in den ausgewählten NAND-Strings als Reaktion auf die Prüfvergleichsspannung ab. Wenn das System beispielsweise versucht, die Programmierung auf den Datenzustand S5 zu überprüfen, beinhaltet Schritt 808 das Anlegen von Vv5 an die ausgewählte Wortleitung und Schritt 810 das Abtasten, ob die Schwellenspannung der ausgewählten Speicherzellen (die mit der ausgewählten Wortleitung verbunden sind) über oder unter Vv5 liegt. Wenn beispielsweise ein NAND-String eingeschaltet wird und Strom leitet, liegt die Schwellenspannung der ausgewählten Speicherzelle unter Vv5.
  • In einer Ausführungsform überprüft das System nach jedem Programmierimpuls (Schritt 772) die Programmierung auf mehrere Datenzustände. Daher müssen die Schritte 800 bis 810 für jeden Datenzustand, der überprüft wird, wiederholt werden. Wenn es mehr Datenzustände gibt, die überprüft werden müssen (Schritt 812), kehrt der Prozess zu Schritt 800 zurück; Andernfalls wird der Prozess von 7 bei Schritt 814 fortgesetzt und die Ergebnisse der Überprüfung werden gespeichert und berichtet. An diesem Punkt ist diese Instanz des Überprüfungsprozesses abgeschlossen. Jedoch wird in einer Ausführungsform der Prozess von 7 nach jedem Programmierimpuls durchgeführt.
  • Die 8A-F sind Zeitdiagramme, die ein beispielhaftes Verhalten von verschiedenen Signalen während eines Überprüfungsvorgangs darstellen. Die 8A-F stellen eine beispielhafte Implementierung der Schritte 800 - 810 von 7 bereit. Die 8A F stellen die Signale Vsgd_unsel, Vsgs_unsel, Vsgd_sel, Vsgs_sel, WLunsel, WL-sel, Vbl, Vkanel_sel und Vkanel_unsel dar.
  • Das Signal Vsgd_unsel ist die an die nicht ausgewählten drain-seitigen Auswahlleitungen angelegte Spannung. Wenn zum Beispiel SB0 ausgewählt ist, dann wird Vsgd_unsel an SGD1, SGD2 und SGD3 angelegt. Das Signal Vsg-unsel ist die an die nicht ausgewählten source-seitigen Auswahlleitungen angelegte Spannung. Wenn zum Beispiel SB0 ausgewählt ist, dann wird Vsgd_unsel an SGS1, SGS2 und SGS3 angelegt. In einer Ausführungsform gilt Vsg-unsel = Vsgd_unsel. Das Signal Vsgd_sel ist die an die ausgewählten drain-seitigen Auswahlleitungen angelegte Spannung. Wenn zum Beispiel SB0 ausgewählt ist, dann wird Vsgd_sel an SGD0 angelegt. Das Signal Vsg-sel ist die an die ausgewählten source-seitigen Auswahlleitungen angelegte Spannung. Wenn zum Beispiel SB0 ausgewählt ist, dann wird Vsgd_sel an SGS0 angelegt. In einer Ausführungsform gilt Vsg-sel = Vsgd_sel. Das Signal WL-unsel ist die an die nicht ausgewählten Wortleitungen angelegte Spannung. Das Signal WL-sel ist die an die ausgewählten Wortleitungen angelegte Spannung. Wenn beispielsweise WL47 ausgewählt ist, dann wird WL_unsel an WL0 - WL46 angelegt, und WL_sel wird an WL47 angelegt. Das Signal Vbl ist die Bitleitungsspannung. Das Signal Vkanel_sel ist die Spannung im Kanal der NAND-Strings, die zur Überprüfung ausgewählt wurden. In einer Ausführungsform ist Vbl = Vchannel_sel. Das Signal Vkanel_unsel ist die Spannung im Kanal der NAND-Strings, die nicht zur Überprüfung ausgewählt wurden.
  • 8A zeigt eine spitzenförmige Spannung (Spannungsspitze), die sowohl an die SGD- als auch an die Auswahl-Gates für nicht ausgewählte NAND-Strings angelegt wird. Eine spitzenförmige Spannungswellenform kann eine Spannungswellenform sein, die in Richtung eines vorgegebenen Pegels erhöht und abrupt verringert wird. In einem Ansatz wird die Spannungswellenform verringert, bevor sie den vorgegebenen Pegel erreicht. In einem Ansatz wird die Spannungswellenform verringert, nachdem sie den vorgegebenen Pegel erreicht. Eine spitzenförmige Spannungswellenform kann durch ihre Spitzenamplitude und ihre Dauer oder Breite gekennzeichnet sein. Die Spannung kann auch als ein Anstieg der Spannung/des Signals beschrieben werden, gefolgt von einem Rückgang der Spannung/des Signals oder einem steilen Anstieg der Größe, gefolgt von einem starken Rückgang der Größe.
  • 8A zeigt den Übergang von Vsgs_unsel und Vsgd_unsel oder den Anstieg von 0 V ab t1, das Überschreiten eines Pegels von V1 bei t2, das Erreichen eines Peaks von V2 bei t3, das Unterschreiten von V1 bei t4 und anschließend wieder auf 0 V bei t4a. Insbesondere von t1-t3 aus fordert die eine oder die mehreren Steuerschaltung(en) an, dass Vsgd_unsel und Vsgs_unsel auf einem bestimmten Pegel sein sollen. Aufgrund endlicher Reaktionszeiten und RC-Verzögerungen wird sich der tatsächliche Pegel von Vsgd_unsel und Vsgs_unsel über einen längeren Zeitraum von t1-t3 nach oben verschieben. In einem Ansatz ist die Periode t1-t3 nicht ausreichend, damit Vsgd_unsel und Vsgs_unsel den angeforderten Pegel erreichen können. Stattdessen werden Vsgd_unsel und Vsgs_unsel Peak auf t3 auf einem als V2 bezeichneten Pegel angezeigt. Von t2-t4 sind Vsgd_unsel und Vsgs_unsel ausreichend hoch, z.B. über V1, sodass die SGD- und SGS- Auswahl-Gates in einen leitenden Zustand übergehen. V1 basiert auf Faktoren, einschließlich der Vth der SGD- und SGS-Auswahl-Gates. Die SGD- und SGS-Auswahl-Gates befinden sich in einem nicht leitenden Zustand vor t2 und nach t4, was dem Schritt 802 entspricht. Bei t3 fordert die Steuerschaltung an, dass Vsgd_unsel und Vsgs_unsel eingestellt werden, z. B. auf 0 V, als Reaktion darauf, dass Vsgd_unsel und Vsgs_unsel in Richtung 0 V abfallen.
  • 8B zeigt den Übergang von Vsgd_sel und Vsgs_sel von 0 V bei t0 auf einen Pegel, der als V3 (V3>V2) bei t1 bezeichnet wird, verbleibt bei V3, einem Steady-State-Pegel, für eine Zeitdauer des Überprüfungs-/Lesevorgangs und einen Übergang zurück zu 0 V bei t10. Vsgd_sel und Vsgs_sel treten kurz nach t1 in einen leitenden Zustand über, was Schritt 800 entspricht.
  • 8C, die Schritt 804 entspricht, zeigt den Übergang von WL_unsel von 0 V bei t1 zu einem Steady-State Pegel von Vread bei t5, in einer kontinuierlichen Erhöhung, verbleibt bei Vread von t5-t10, und geht zurück zu 0 V bei t10. Vread ist ausreichend hoch, um alle nicht ausgewählten Speicherzellen in einem leitenden Zustand zu bereitzustellen. Durch Anlegen von Vread auf die nicht ausgewählten Wortleitungen wird der Kanal der nicht ausgewählten NAND-Strings verstärkt, wie nachstehend in Bezug auf 8F beschrieben.
  • 8D, die Schritt 808 entspricht, zeigt den Übergang von WL_sel von 0 V zu Vread und zurück zu 0 V, in einer Verstärkungsphase eines Überprüfungs- oder Lesevorgangs, und dann zu Vcgr und zurück zu 0 V, in einer Abtastphase eines Überprüfungs- oder Lesevorgangs. Beispielsweise zeigt 8D, wie WL-sel von 0 V bei t1 nach oben übergeht, Vread bei t5 erreicht und nach t5 wieder auf 0 V übergeht. Das Anheben von WL_sel über das Vth der ausgewählten Speicherzellen bewirkt, dass die ausgewählten Speicherzellen in einem leitenden Zustand sind. Bei t6 geht WL-sel von 0 V zu Vcgr über und verbleibt auf diesem Pegel bis t10. Vcge kann eine der Prüfvergleichsspannungen (z.B. Vv1, Vv2, Vv3, Vv4, Vv5, Vv6, Vv7) oder eine der Lesevergleichsspannungen (z. B. Vr1, Vr2, Vr3, Vr4, Vr5, Vr6, Vr7) sein.
  • 8E zeigt den Übergang der Bitleitungsspannung Vbl von 0 V auf Vbl0 (ein erhöhter Nicht-Nullpegel, der zum Abtasten geeignet ist) bei t1, und bleibt entweder bei Vbl0 oder zerfällt während des Abtastens (Schritt 810) von t8-t10, und geht bei t10 zurück auf 0 V. In einem beispielhaften Ansatz wird die Spannung in dem Kanal des ausgewählten NAND-Strings, Vchannel_sel, auf Vbl gesetzt, wenn Vsgd_sel und Vsg-sel leitend sind. Die Zeit t9 ist eine Abtastzeit (Tsense), bei der die jedem ausgewählten NAND-Strang zugeordnete Abtastschaltlogik einen leitenden Zustand des NAND-Strangs bestimmt (Schritt 810). Da WL_unsel bewirkt, dass die nicht ausgewählten Speicherzellen in einem NAND-String in einem leitenden Zustand sind, zeigt der durch Abtasten bestimmte leitende Zustand des NAND-Strings den leitenden Zustand der ausgewählten Speicherzelle an. Wenn Vcgr auf die ausgewählte Speicherzelle angewendet wird, zeigt der leitende Zustand des NAND-Strings an, ob das Vth der ausgewählten Speicherzelle Vcgr überschreitet. In einem Ansatz zerfällt Vbl unterhalb eines Pegels Vsense bei t9, wenn der String leitend ist, wie durch die Wellenform 624 dargestellt, und dieser Zerfall wird von der Abtastschaltlogik erfasst. Die Wellenform 622 stellt den Fall dar, in dem der String nicht leitend ist, wobei in diesem Fall Vbl nicht unter Vsense abfällt.
  • In 8A, ab t1-t2, befinden sich die SGD- und SGS-Auswahl-Gates der nicht ausgewählten NAND-Strings, wie bereits erwähnt, in einem nicht leitenden Zustand, sodass der Kanal isoliert ist. Infolgedessen steigt beim Hochfahren von WL_unsel, Vchannel_unsel, die Kanalspannung eines nicht ausgewählten NAND-Strings (Wellenformen 626 und 628) aufgrund der kapazitiven Kopplung an. Ab t2-t4 sind die SGD- und SGS-Auswahl-Gates für die nicht ausgewählten NAND-Stränge in einem leitenden Zustand, da die spitzenförmige Spannung sowohl an die SGD- als auch an die SGS-Auswahl-Gates für nicht ausgewählte NAND-Stränge angelegt wird (siehe 8A). Infolgedessen kommuniziert das Drain-Ende des Kanals mit der Bitleitung, die sich auf einem Pegel befindet, z.B. zwischen 0 V und Vbl0, und das Source-Ende des Kanals kommuniziert mit der Source-Leitung, die sich z.B. auf 0 V befindet. Vchannel_unsel liefert eine repräsentative Gesamtspannung des Kanals. Der exakte Pegel kann schwer vorherzusagen sein, aber er wird durch die Betriebsspannungen an den gegenüberliegenden Enden bestimmt. Als Beispiel, in 8F, steigt der Vchannel 628 von t1-t2 mit einer relativ hohen Rate, aufgrund der relativ hohen Rate von WL_unsel von t1-t2. Der Anstieg von Vchannel_unsel wird von t2-t4 unterbrochen, da der Kanal nicht mehr isoliert ist, da die SGD- und SGS-Auswahl-Gates gemäß der in 8A dargestellten Spannungsspitze leitend werden. Nach t4 wird der Kanal wieder isoliert, da die SGD- und SGS-Auswahl-Gates nicht leitend werden. Vchannel nimmt ab t4 - t5 wieder zu, jedoch mit einer relativ niedrigen Rate aufgrund der relativ niedrigen Rate von WL-unsel ab t4 - t5. Indem die SGD- und SGS-Auswahl-Gates eines nicht ausgewählten NAND-Strings während des Anstiegs von WL_unsel vorübergehend und kurzzeitig leitend gemacht werden, wird die kapazitive Kopplung von WL_unsel und WL_sel vorübergehend unterbrochen. Nach t4 befinden sich die SGD- und SGS-Auswahl-Gates in einem nicht leitenden Zustand. Während WL_unsel ab t4-t5 weiter ansteigt, steigt der V-Kanal (Wellenform 628) aufgrund der kapazitiven Kopplung von WL_unsel und erreicht einen Pegel, der als Vch0 bezeichnet wird. Wenn WL_unsel bei Vread ab t5-t10 konstant ist, steigt der V-Kanal (Wellenform 628) nicht an, da es keine kapazitive Kopplung von der konstanten Spannung gibt.
  • Die Wellenform 626 in 8F stellt einen Vergleichsfall für Vchannel dar, bei dem kein Spiking der SGD- oder SGS-Auswahl-Gates verwendet wird, sodass das gesamte Maß der Kanalverstärkung (auf einem als Vch1 bezeichneten Pegel) realisiert wird. Durch die Reduzierung der Kanalverstärkung auf den als Vch0 (Vbl0<Vch0<Vch1) bezeichneten optimalen Pegel ist die Lesestörung noch Adressen; jedoch wird die Störung der Heißelektroneninjektion durch die Mittel zur Reduzierung der Lesestörung reduziert.
  • Eine nicht ausgewählte Speicherzelle (in einem nicht ausgewählten Unterblock), die mit derselben Wortleitung oder demselben Wortleitungsabschnitt (z.B. auf dem gleichen Pegel) wie eine ausgewählte Speicherzelle in einem ausgewählten Unterblock verbunden ist, geht in einen leitenden Zustand über, da Vread oder ein ähnlicher Pegel das Vth der höchsten Zustand-Speicherzelle überschreitet. Infolgedessen wird der Kanal des nicht ausgewählten NAND-Strings nicht an der nicht ausgewählten Speicherzelle abgeschnitten, die mit derselben Wortleitung oder demselben Wortleitungsabschnitt wie eine ausgewählte Speicherzelle verbunden ist, und der temporäre leitende Zustand des SGD-Auswahl-Gates kann beispielsweise das gewünschte Ziel erreichen, den Kanal mit der Bitleitung kommunizieren zu lassen. Der Kanal des nicht ausgewählten NAND-Strings ist ebenfalls nicht an den anderen nicht ausgewählten Speicherzellen abgeschnitten (die nicht mit derselben Wortleitung oder demselben Wortleitungsabschnitt wie eine ausgewählte Speicherzelle verbunden sind und die mit derselben Wortleitung oder demselben Wortleitungsabschnitt wie eine nicht ausgewählte Speicherzelle in einem ausgewählten NAND-String verbunden sind).
  • Obwohl das Anlegen der Spannungsspitze auf die in 8A nicht ausgewählten Auswahlleitungen die Störungen der Heißelektroneninjektion reduziert, erhöht dies auch die Zeit für den Abtastprozess, was sich negativ auf die Leistung der Überprüfungs- und Leseprozesse auswirkt. Das Verlangsamen der Überprüfung verlangsamt die Programmierung. Es wurde festgestellt, dass die vorstehend erläuterte Störung der Heißelektroneninjektion unterschiedliche Schweregrade für Speicherzellen auf verschiedenen Wortleitungen aufweist. Für ein Speichersystem, das Speicherzellen programmiert, die gleichzeitig mit einer gemeinsamen Wortleitung verbunden sind, und (auf Wortleitungsbasis) von der Source-Seite zur Drain-Seite programmiert, erleben Speicherzellen auf Wortleitungen, die der Source-Seite am nächsten liegen (z.B. WL0, WL1, WL2,....) die schwerwiegendste Störung der Heißelektroneninjektion während der Überprüfung und Wortleitungen, die der Drain-Seite am nächsten liegen (z.B. WL47, WL46, WL45,....) die längste Störung der Heißelektroneninjektion während der Überprüfung erleben. Um die Leistung mit dem Schweregrad der Störung der Heißelektroneninjektion auszugleichen, wird daher vorgeschlagen, die Dauer oder Breite der Spannungsspitze auf den in 8A dargestellten nicht ausgewählten Auswahlleitungen basierend auf der Position der zu überprüfenden oder zu lesenden Wortleitung anzupassen (Schritt 806). Das Basieren der Dauer oder Breite der Spannungsspitze auf die Position der Wortleitung ist auch das Basieren der Dauer oder Breite der Spannungsspitze auf die Position der Speicherzelle innerhalb des Blocks. In einer Ausführungsform wird die Dauer oder Breite der Spannungsspitze von t1 bis t4a gemessen, was den Beginn und das Ende der Spannungsspitze darstellt. In einer anderen Ausführungsform wird die Dauer oder Breite der Spannungsspitze von t2 bis t4 gemessen, was darstellt, wann die Spitze eine Größe aufweist, die ausreichend ist, um die Auswahl-Gates einzuschalten. In einer anderen Ausführungsform wird die Dauer oder Breite der Spannungsspitze von t2 bis t3, t1 bis t3 oder t1 bis t4 gemessen. Es können auch andere Messungen verwendet werden.
  • In einer Ausführungsform wird jede Wortleitung in einem Block einen separaten von unterschiedlicher Zeitdauer zum Anlegen der Spannungsspitze an die nicht ausgewählten Auswahlleitungen zugeordnet, wie in 8A dargestellt. In anderen Ausführungsformen sind die Wortleitungen in Sätze oder Zonen von Wortleitungen unterteilt, wobei jeder Satz oder jede Zone einer Zeitdauer der Spannungsspitze zugeordnet ist.
  • 9 ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zur Verhinderung/Minderung der Verstärkung beschreibt. Das heißt, dass der Prozess von 9 eine beispielhafte Implementierung von Schritt 806 von 7 ist. Der Prozess von 9 kann von jeglichen der einen oder mehreren Steuerschaltungen durchgeführt werden. In einer Ausführungsform beinhaltet der Prozess von 9 das Anlegen der Spannungsspitze auf die nicht ausgewählten Auswahlleitungen, die in 8A dargestellt sind, für eine Dauer, die auf der Position der ausgewählten Wortleitung basiert.
  • In Schritt 902 von 9 bestimmen die eine oder die mehreren Steuerschaltung(en) die Position der Wortleitung, die zur Überprüfung ausgewählt wurde. In dieser Ausführungsform werden die Wortleitungen in drei Zonen unterteilt: (1) eine source-seitige Zone, die der Source-Leitung am nächsten liegt (z.B. WL0-WL15), (2) eine drain-seitige Zone, die sich zur Drain-Seite und zur Bitleitung schließt (z.B. WL32-WL47), und (3) eine mittlere Zone, die sich zwischen den beiden anderen Zonen befindet (z.B. WL16-WL31). Wenn sich die zur Überprüfung ausgewählte Wortleitung in der source-seitigen Zone befindet, wird in Schritt 904 die Spannungsspitze an die nicht ausgewählten Auswahlleitungen angelegt, wie in 8A für eine erste Zeitdauer dargestellt. Wenn sich die zur Überprüfung ausgewählte Wortleitung in der drain-seitigen Zone befindet, wird in Schritt 908 die Spannungsspitze an die nicht ausgewählten Auswahlleitungen angelegt, wie in 8A für eine zweite Zeitdauer dargestellt. In einer Ausführungsform ist die erste Zeitdauer länger als die zweite Zeitdauer. Beispiele beinhalten die erste Zeitdauer bei 2,64us und die zweite Zeitdauer bei 1,36us. Wenn sich die zur Überprüfung ausgewählte Wortleitung in der mittleren Zone befindet, dann legen in Schritt 906 die eine oder mehreren Steuerschaltung(en) die Spannungsspitze an, um Gates für nicht ausgewählte Auswahlleitungen (und damit die nicht ausgewählten NAND-Strings) für die erste Zeitdauer auszuwählen, wenn aktuell eine gerade Iteration des Programmiervorgangs durchgeführt wird, und legen die Spannungsspitze an, um Gates für nicht ausgewählte Auswahlleitungen (und damit die nicht ausgewählten NAND-Strings) für die zweite Zeitdauer auszuwählen, wenn aktuell eine ungerade Iteration des Programmiervorgangs ausgeführt wird. Wenn man auf 6B zurückblickt, beinhaltet der Programmierprozess eine Schleife, welche die Schritte 772-786 aufweist. Jede Leistung dieser Schleife ist eine Iteration des Programmierprozesses. Wenn somit die zur Überprüfung ausgewählte Wortleitung in der mittleren Zone ist, verwendet die Hälfte der Iterationen des Programmierprozesses die erste Zeitdauer für die Spannungsspitze und die Hälfte der Iterationen des Programmierprozesses verwendet die zweite Zeitdauer für die Spannungsspitze. Andere Ausführungsformen können die Mischung von 50 - 50 auf andere Kombinationen der zwei oder mehr Zeitdauern ändern. In einer anderen Implementierung können mehr als zwei Zeitdauern verwendet werden und mehr als drei Zonen können verwendet werden. In einigen Ausführungsformen hat die mittlere Zone ihre eigene Zeitdauer.
  • Die 7, 8A-F und 9 beschrieben Prozesse zum Überprüfen der Programmierung, die das Reduzieren von Lesestörungen nicht ausgewählter Speicherzellen während der Überprüfung und das Reduzieren von Störungen der Heißelektroneninjektion aufgrund der reduzierenden Lesestörung beinhalten, wobei die reduzierende Störung der Heißelektroneninjektion eine Störungsreduzierung basierend auf der ausgewählten Wortleitungsposition durchführt. Es ist zu beachten, dass in einigen Ausführungsformen anstelle von NAND-Strings andere Arten von Gruppen von verbundenen Speicherzellen verwendet werden können.
  • Wie vorstehend erläutert, ist es in Signaltransientenperioden, wenn Spannungssignale zwischen zwei benachbarten Wortleitungen zwischen verschiedenen Spannungspegeln umgeschaltet werden müssen, möglich, dass im Transientenzeitraum der Kanalpotentialgradient zwischen zwei benachbarten Wortleitungen groß genug ist, um eine Elektronen/Loch-Generierung und damit eine Heißelektroneninjektion in den Ladungsfängerbereich zu erzeugen, was zu einer Heißelektroneninjektionsstörung führt. Während der Lesevorgänge (wenn die Verstärkungsspannung Vread zu steigen beginnt) kann es in einem nicht ausgewählten NAND-String für Wortleitungen, die an die ausgewählte Wortleitung angrenzen, zu schweren Störungen der Heißelektroneninjektion kommen. Somit erfährt der Speicher eine Störung der Heißelektroneninjektion aufgrund der Mittel zur Reduktion von Lesestörungen (z.B. die Verstärkung als Folge von Vread).
  • Ein Ansatz zur Adressierung einer solchen Heißelektroneninjektion beinhaltet das Einschalten von SGD/SGS in den nicht ausgewählten NAND-Strings, wenn Vread steigt, um die Verstärkung zu unterbrechen. Jedoch erfordert dieser Ansatz, wie vorstehend erwähnt, eine zusätzliche Zeitsteuerungszuteilung für alle Wortleitungen und alle Programmierimpulse und verschlechtert somit die Programmierleistung. Um die Verschlechterung der Leistung zu berücksichtigen, wird vorgeschlagen, eine angepasste Zeitsteuerungsbehandlung für die Unterbrechung der Verstärkung basierend auf der Speicherzellen- und/oder Wortleitungsposition zu implementieren.
  • 10 ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zum Lesen von Daten aus Speicherzellen beschreibt. In einer Ausführungsform wird der Prozess von 10 durch die eine oder die mehreren Steuerschaltung(en) (z.B. in der Richtung der Zustandsmaschine 112 oder der Steuerung 122) durchgeführt. Das Verfahren zum Lesen von Daten weist das Abtasten der verschiedenen Lesevergleichsspannungen (z.B. Vr1, Vr2, Vr3, Vr4, Vr5, Vr6, Vr7) auf, das Aufzeichnen, welche Speicherzellen als Reaktion auf welche Vergleichsspannungen eingeschaltet werden und das Ableiten des gespeicherten Datenzustands entsprechend. Die vorstehend beschriebenen 8A-F können auch verwendet werden, um eine beispielhafte Implementierung der Schritte 950 - 960 von 10 bereitzustellen.
  • In Schritt 950 von 10 legen die eine oder die mehreren Steuerschaltung(en) eine Spannung an, um Gates für ausgewählte Unterblöcke auszuwählen, um die Auswahl-Gates einzuschalten. Wenn man beispielsweise auf 4F zurückblickt, kann Schritt 950 das Anlegen einer positiven Gate-Spannung für eine beliebige oder SGDS0, SGD1, SGD2, SGD3, SGS0, SGS1, SGS2 oder SGS3 beinhalten. Wenn der Unterblock SB0 ausgewählt ist, dann beinhaltet Schritt 950 das Anlegen des Signals an SGD0 und/oder SGS0, um die Auswahl-Gates einzuschalten, sodass die NAND-Strings in SB0 mit der geeigneten Bitleitung und/oder der Source-Leitung in Kommunikation stehen. 8B zeigt eine beispielhafte Implementierung von Schritt 950. In Schritt 952 legen die eine oder die mehreren Steuerschaltung(en) eine Spannung an, um Gates für nicht ausgewählte Unterblöcke auszuwählen, um die Auswahl-Gates auszuschalten und eine Verstärkung zu ermöglichen. Wenn beispielsweise der Unterblock SB0 ausgewählt wird, dann beinhaltet Schritt 952 das Anlegen des geeigneten Signals an zumindest SGD1, SGD2, SGD3, SGS1, SGS2 und SGS3, um die Auswahl-Gates einzuschalten, sodass die NAND-Strings in SB1, SB2 und SB3 nicht in Kommunikation mit der geeigneten Bitleitung und der Source-Leitung stehen. Die Nullspannungen, die vor dem Zeitpunkt t1 und nach dem Zeitpunkt t4a auf die nicht ausgewählten Auswahlleitungen angelegt werden, in 8A zeigen eine beispielhafte Implementierung von Schritt 952.
  • In Schritt 954 legen die eine oder die mehreren Steuerschaltung(en) eine oder mehrere Verstärkungsspannung(en) an nicht ausgewählte Wortleitungen an und erhöhen diese, um Kanäle von nicht ausgewählten NAND-Strings zu verstärken, um eine Lesestörung zu verhindern. Zum Beispiel empfangen nicht ausgewählte Wortleitungen eine Spannung zwischen 7 und 10 Volt, bezeichnet als Vread, die dazu führt, dass die mit den nicht ausgewählten Wortleitungen verbundenen Speicherzellen eingeschaltet werden und als Durchlass-Gates fungieren. Folglich ist der Strom durch einen NAND-String repräsentativ für den Strom durch die ausgewählte Speicherzelle auf diesem NAND-String. Durch Anlegen der Verstärkungsspannung an nicht ausgewählte Wortleitungen werden diejenigen NAND-Strings (d.h. nicht ausgewählte NAND-Strings), deren Auswahl-Gates ausgeschaltet sind, mit ihrer Kanalspannung verstärkt. Diese Verstärkung der Kanalspannung reduziert die Spannungsdifferenz zwischen dem Kanal und der ausgewählten Wortleitung und reduziert daher die Lesestörung. 8C zeigt eine beispielhafte Implementierung von Schritt 954.
  • In Schritt 956 ändern die eine oder mehreren Steuerschaltung(en) unter Erhöhung der Verstärkungsspannungen von Schritt 954 vorübergehend die an die Auswahl-Gates in Schritt 952 angelegte Spannung für nicht ausgewählte NAND-Strings, um die Auswahl-Gates für nicht ausgewählte NAND-Strings vorübergehend einzuschalten, um die Verstärkung der Kanäle der nicht ausgewählten NAND-Strings für eine Zeitdauer basierend auf der Position der ausgewählten Wortleitung vorübergehend zu verhindern/stoppen (oder anderweitig zu unterbrechen). Dies hat den Effekt, dass die Verstärkung des Kanals verringert wird. Die Spannungsspitze zwischen der Zeit t1 und der Zeit t4a in 8A stellt eine beispielhafte Implementierung des Schritts 956 bereit, wobei die Zeitdauer der Spannungsspitze durch die eine oder die mehreren Steuerschaltung(en) basierend auf der Position der ausgewählten Speicherzelle und/oder ausgewählten Wortleitung eingestellt wird. In Schritt 958 legen die eine oder die mehreren Steuerschaltung(en) eine datenzustandsabhängige Lesevergleichsspannung (z. B. Vr1, Vr2, Vr3,Vr4, Vr5, Vr6, Vr7 von 5) an die ausgewählte Wortleitung an (die mit den zur Programmierung ausgewählten Speicherzellen verbunden ist). 8D zeigt eine beispielhafte Implementierung von Schritt 958. In Schritt 960 tasten die eine oder die mehreren Steuerschaltung(en) Schwellenspannungsinformationen ausgewählter Speicherzellen in den ausgewählten NAND-Strings als Reaktion auf die Lesevergleichsspannung ab. 8E zeigt ein beispielhaftes Abtasten von Schritt 960. Das Abtasten von Schritt 960 wird nach der Minderung der Verstärkung in Schritt 956 durchgeführt.
  • In einer Ausführungsform wird ein Abtastvorgang für jeden der programmierten Datenzustände (z.B. S1 - S7) durchgeführt. Daher müssen die Schritte 950-960 für jeden programmierten Datenzustand wiederholt werden. Wenn es mehr Datenzustände gibt, die überprüft werden müssen (Schritt 962), kehrt der Prozess zu Schritt 950 zurück; Andernfalls wird der Prozess von 10 bei Schritt 964 fortgesetzt und die Ergebnisse des Lesens werden verarbeitet, um zu bestimmen, in welchem Datenzustand sich jede der Lesespeicherzellen befindet. Das Ergebnis wird gespeichert und berichtet.
  • Es wurde festgestellt, dass die vorstehend erläuterte Störung der Heißelektroneninjektion unterschiedliche Schweregrade für Speicherzellen auf verschiedenen Wortleitungen hat. Um die Leistung mit dem Schweregrad der Störung der Heißelektroneninjektion auszugleichen, wird daher vorgeschlagen, die Dauer oder Breite der Spannungsspitze auf den in 8A dargestellten nicht ausgewählten Auswahlleitungen basierend auf der Position der zu lesenden Wortleitung anzupassen (Schritt 956). In einer Ausführungsform wird jede Wortleitung in einem Block einen separaten von unterschiedlicher Zeitdauer zum Anlegen der Spannungsspitze an die nicht ausgewählten Auswahlleitungen zugeordnet, wie in 8A dargestellt. In anderen Ausführungsformen sind die Wortleitungen in Sätze oder Zonen von Wortleitungen unterteilt, wobei jeder Satz oder jede Zone einer Zeitdauer der Spannungsspitze zugeordnet ist.
  • Speicherzellen auf Wortleitungen, die der Source-Seite am nächsten liegen (z.B. WL0, WL1, WL2,....) oder der Drain-Seite am nächsten liegen (z.B. WL47, WL46, WL45,....), erfahren beim Lesen die schwerwiegendste Störung der Heißelektroneninjektion, während Wortleitungen in der Mitte (z.B. WL 29, WL30 , WL31,....) eine weniger starke Störung der Heißelektroneninjektion beim Lesen erfahren. Eine Wortleitung an jedem Ende des Blocks (Source-Seite oder Drain-Seite) kann als eine Randwortleitung betrachtet werden. In dem Beispiel von 46 sind WL0 und WL47 Randwortleitungen. In anderen Ausführungsformen können die Randwortleitungen 2 oder mehr Wortleitungen am entfernten Ende jeder Seite beinhalten; Zum Beispiel können WL0, WL1, WL2, WL45, WL46 und WL7 als Randwortleitungen betrachtet werden. In einer beispielhaften Ausführungsform werden Randwortleitungen mit unterschiedlicher Zeitdauer für die Spannungsspitze von 8A gelesen als mittlere Wortleitungen. In einer Ausführungsform weist ein Block einen oder mehrere Endbereiche und einen mittleren Bereich auf, sodass die Endbereiche mit einer ersten Zeitdauer für die Spannungsspitze gelesen werden und der mittlere Bereich mit einer anderen Zeitdauer für die Spannungsspitze gelesen wird.
  • 11 ist ein Flussdiagramm, das eine Ausführungsform eines Prozesses zur Verhinderung/Minderung der Verstärkung beschreibt. Das heißt, dass der Prozess von 1 eine beispielhafte Implementierung von Schritt 856 von 10 ist. Der Prozess von 11 kann von jeglichen der einen oder mehreren Steuerschaltungen durchgeführt werden. In einer Ausführungsform beinhaltet der Prozess von 11 das Anlegen der Spannungsspitze auf die nicht ausgewählten Auswahlleitungen, die in 8A dargestellt sind, für eine Zeitdauer, die auf der Position der ausgewählten Wortleitung und/oder der Position der ausgewählten Speicherzelle basiert. In Schritt 990 von 11 bestimmen die eine oder die mehreren Steuerschaltungen die Position der Wortleitung, die zum Lesen ausgewählt wurde. In dieser Ausführungsform sind die Wortleitungen in zwei Gruppen unterteilt: Randwortleitungen und mittlere Wortleitungen. Wenn die ausgewählte Wortleitung (die zum Lesen ausgewählte Wortleitung, d.h. die Speicherzellen, die mit der ausgewählten Wortleitung verbunden sind, werden gelesen) eine Randwortleitung ist, dann legen die eine oder die mehreren Steuerschaltungen in Schritt 956 von 10 eine Spannungsspitze (siehe 8A) an die nicht ausgewählten Auswahlleitungen mit einer Dauer gleich einer ersten Zeitdauer an. Wenn die ausgewählte Wortleitung (die zum Lesen ausgewählte Wortleitung, d.h. die Speicherzellen, die mit der ausgewählten Wortleitung verbunden sind, werden gelesen) eine mittlere Wortleitung ist, dann legen die eine oder die mehreren Steuerschaltungen in Schritt 956 von 10 eine Spannungsspitze (siehe 8A) an die nicht ausgewählten Auswahlleitungen mit einer Dauer gleich einer zweiten Zeitdauer an. Die erste Zeitdauer (z.B. 2,64 us) ist größer als die zweite Zeitdauer (z.B. 1,36 us). Die 10, 11 und 8 beschreiben das Abtasten der nichtflüchtigen Speicherzellen, einschließlich der Reduzierung von Störungen der Heißelektroneninjektion basierend auf der ausgewählten Wortleitungsposition.
  • Eine Ausführungsform beinhaltet eine nichtflüchtige Speichervorrichtung, die Folgendes aufweist: eine Vielzahl von nichtflüchtigen Speicherzellen; und eine oder mehrere Steuerschaltung(en) in Kommunikation mit den Speicherzellen, wobei die eine oder mehreren Steuerschaltung(en) eingerichtet sind, um die Speicherzellen zu programmieren und die Programmierung zu überprüfen. Um die Programmierung zu überprüfen, sind die eine oder mehreren Steuerschaltung(en) eingerichtet, um eine oder mehrere Spannung(en) anzulegen, um die Verstärkung eines Kanalbereichs durchzuführen, der einer nicht ausgewählten Speicherzelle zugeordnet ist, um die Verstärkung des Kanalbereichs für einen Teil der Zeit zu ermöglichen, während die eine oder mehreren Spannung(en) angelegt werden, um die Verstärkung des Kanalbereichs zu verhindern, während die eine oder mehreren Spannung(en) für eine bestimmte Zeitdauer angelegt werden, basierend auf der Position einer zur Überprüfung ausgewählten Speicherzelle, um ein Vergleichssignal an die zur Überprüfung ausgewählte Speicherzelle und die nicht ausgewählte Speicherzelle anzulegen, und um einen Abtastvorgang für die zur Überprüfung ausgewählte Speicherzelle als Reaktion auf das Vergleichssignal durchzuführen.
  • Eine beispielhafte Implementierung beinhaltet weiterhin Wortleitungen und Auswahlleitungen, die mit dem einen oder den mehreren Auswahl-Gate(s) verbunden sind. Die nichtflüchtigen Speicherzellen sind in NAND-Strings angeordnet, die ein oder mehrere Auswahl-Gate(s) beinhalten. Die Wortleitungen sind mit den nichtflüchtigen Speicherzellen der NAND-Strings verbunden. Die eine oder mehreren Steuerschaltung(en) sind eingerichtet, um die Programmierung zu überprüfen, und zwar durch Anlegen einer Spannung an eine oder mehrere Auswahlleitung(en) für ausgewählte NAND-Strings, um ein oder mehrere Auswahl-Gates für ausgewählte NAND-Strings einzuschalten, Anlegen einer Spannung an eine oder mehrere Auswahlleitung(en) für nicht ausgewählte NAND-Strings, um ein oder mehrere Auswahl-Gates für nicht ausgewählte NAND-Strings auszuschalten, Anlegen und Erhöhen einer Verstärkungsspannung an nicht ausgewählte Wortleitungen, um Kanäle von nicht ausgewählten NAND-Strings zu verstärken, sodass die nicht ausgewählten Wortleitungen mit den ausgewählten NAND-Strings und den nicht ausgewählten NAND-Strings verbunden sind, Anlegen einer Vergleichsspannung an eine ausgewählte Wortleitung, die mit dem ausgewählten NAND-String und den nicht ausgewählten NAND-Strings verbunden ist, Abtasten einer Schwellenspannung ausgewählter Speicherzellen in den ausgewählten NAND-Strings als Reaktion auf die Vergleichsspannung und während der Erhöhung der Durchlassspannung, vorübergehendes Ändern der an die Auswahlleitungen angelegten Spannung für nicht ausgewählte NAND-Strings, um die Auswahl-Gates für nicht ausgewählte NAND-Strings vorübergehend einzuschalten, um eine Verstärkung der Kanäle der nicht ausgewählten NAND-Strings für eine Zeitdauer basierend auf der Position der ausgewählten Wortleitung zu verhindern.
  • Ein Ausführungsbeispiel beinhaltet ein Verfahren zum Betreiben eines nichtflüchtigen Speichers, aufweisend: Programmieren von nichtflüchtigen Speicherzellen; und Überprüfen der Programmierung. Die Überprüfung der Programmierung weist Folgendes auf: Anlegen einer Spannung an ein oder mehrere Auswahl-Gates für ausgewählte Gruppen von Speicherzellen, um das eine oder die mehreren Auswahl-Gates für ausgewählte Gruppen von Speicherzellen einzuschalten, Anlegen einer Spannung an ein oder mehrere Auswahl-Gates für nicht ausgewählte Gruppen von Speicherzellen, um das eine oder die mehreren Auswahl-Gates für die nicht ausgewählten Gruppen von Speicherzellen auszuschalten, Anlegen und Erhöhen einer Verstärkungsspannung an nicht ausgewählte Steuerleitungen, um Kanäle von nicht ausgewählten Gruppen von Speicherzellen zu verstärken, die nicht ausgewählten Steuerleitungen sind mit den ausgewählten Gruppen von Speicherzellen und den nicht ausgewählten Gruppen von Speicherzellen verbunden, Anlegen einer Vergleichsspannung an eine ausgewählte Steuerleitung, die mit den ausgewählten Gruppen von Speicherzellen und den nicht ausgewählten Gruppen von Speicherzellen verbunden ist, Anlegen einer Schwellenspannung ausgewählter Speicherzellen an die ausgewählten Gruppen von Speicherzellen als Reaktion auf die Vergleichsspannung, und unter Erhöhung der Verstärkungsspannung, vorübergehendes Ändern der an die Auswahl-Gates angelegten Spannung für nicht ausgewählte Gruppen von Speicherzellen, um die Auswahl-Gates für nicht ausgewählte Gruppen von Speicherzellen vorübergehend einzuschalten, um ein Verstärken der Kanäle der nicht ausgewählten Gruppen von Speicherzellen für eine Zeitdauer basierend auf der Position der ausgewählten Steuerleitung zu verhindern.
  • Eine Ausführungsform beinhaltet eine nichtflüchtige Speichervorrichtung, aufweisend: eine dreidimensionale Speicherstruktur, die eine Vielzahl von nichtflüchtigen Speicherzellen, Wortleitungen, Auswahlleitungen und Bitleitungen aufweist; Mittel zum Programmieren der nichtflüchtigen Speicherzellen; und Mittel zum Überprüfen der Programmierung, einschließlich Mittel zum Reduzieren der Lesestörung von nicht ausgewählten Speicherzellen während des Überprüfens und Mittel zum Reduzieren der Störung der Heißelektroneninjektion aufgrund der Mittel zum Reduzieren der Lesestörung, wobei die Mittel zur Reduktion der Störung der Heißelektroneninjektion eine Störungsminderung basierend auf der ausgewählten Wortleitungsposition durchführen.
  • Im Sinne dieses Dokuments kann der Bezug in der Beschreibung auf „eine Ausführungsform“, „eine (einzelne) Ausführungsform“, „einige Ausführungsformen“ oder „eine andere Ausführungsform“ verwendet werden, um verschiedene Ausführungsformen oder die gleiche Ausführungsform zu beschreiben.
  • Im Sinne dieses Dokuments kann eine Verbindung eine direkte Verbindung oder eine indirekte Verbindung sein (z.B. über einen oder mehrere andere Teile). In einigen Fällen, wenn ein Element als mit einem anderen Element verbunden oder gekoppelt bezeichnet wird, kann das Element direkt mit dem anderen Element oder indirekt mit dem anderen Element über dazwischenliegende Elemente verbunden sein. Wenn ein Element als direkt mit einem anderen Element verbunden bezeichnet wird, dann gibt es keine Zwischenelemente zwischen dem Element und dem anderen Element. Zwei Vorrichtungen stehen „in Kommunikation“, wenn sie direkt oder indirekt verbunden sind, um elektronische Signale untereinander übertragen zu können.
  • Für die Zwecke dieses Dokumentes kann der Begriff „basierend auf“ als „zumindest teilweise basierend auf‟ gelesen werden.
  • Für die Zwecke dieses Dokuments impliziert ohne zusätzlichen Kontext die Verwendung numerischer Ausdrücke, wie z. B. ein „erstes“ Objekts, ein „zweites“ Objekts und ein „drittes“ Objekts möglicherweise keine Sortierung von Objekten, sondern kann stattdessen zu Identifikationszwecken verwendet werden, um verschiedene Objekte zu identifizieren.
  • Für die Zwecke dieses Dokuments kann sich der Ausdruck „Satz“ von Objekten auf einen „Satz“ von einem oder mehreren der Objekte beziehen.
  • Die vorgenannte ausführliche Beschreibung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgelegt. Sie soll nicht erschöpfend sein oder die genaue offenbarte Form beschränken. Viele Modifikationen und Variationen sind unter Berücksichtigung der vorstehend genannten Lehre möglich. Die beschriebenen Ausführungsformen wurden gewählt, um die Prinzipien der vorgeschlagenen Technologie und ihre praktische Anwendung am besten zu erläutern und damit anderen Fachleuten die Möglichkeit zu geben, sie in verschiedenen Ausführungsformen und mit verschiedenen Modifikationen, die für die jeweilige vorgesehene Verwendung geeignet sind, am besten zu nutzen. Es ist beabsichtigt, dass der Schutzumfang durch die hier beigefügten Ansprüche definiert ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 9171632 [0074]

Claims (17)

  1. Nichtflüchtige Speichervorrichtung, aufweisend: eine Vielzahl von nichtflüchtigen Speicherzellen; und eine oder mehrere Steuerschaltung(en) in Kommunikation mit den Speicherzellen, wobei die eine oder die mehreren Steuerschaltung(en) eingerichtet sind, um die Speicherzellen zu programmieren und die Programmierung zu überprüfen; um die Programmierung zu überprüfen, sind die eine oder mehreren Steuerschaltung(en) eingerichtet, um eine oder mehrere Spannung(en) anzulegen, um die Verstärkung eines Kanalbereichs durchzuführen, der einer nicht ausgewählten Speicherzelle zugeordnet ist, um die Verstärkung des Kanalbereichs für einen Teil der Zeit zu ermöglichen, während die eine oder mehreren Spannung(en) angelegt werden, um die Verstärkung des Kanalbereichs zu verhindern, während die eine oder mehreren Spannung(en) für eine bestimmte Zeitdauer angelegt werden, basierend auf der Position einer zur Überprüfung ausgewählten Speicherzelle, um ein Vergleichssignal an die zur Überprüfung ausgewählte Speicherzelle und die nicht ausgewählte Speicherzelle anzulegen, und um einen Abtastvorgang für die zur Überprüfung ausgewählte Speicherzelle als Reaktion auf das Vergleichssignal durchzuführen.
  2. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, wobei: die nichtflüchtigen Speicherzellen in Gruppen von verbundenen nichtflüchtigen Speicherzellen angeordnet sind; die zur Überprüfung ausgewählte Speicherzelle sich in einer ausgewählten Gruppe von verbundenen nichtflüchtigen Speicherzellen befindet; die ausgewählte Gruppe von verbundenen nichtflüchtigen Speicherzellen ein erstes Ende und ein zweites Ende hat; die eine oder mehreren Steuerschaltung(en) eingerichtet sind, um Speicherzellen in der ausgewählten Gruppe in einer Reihenfolge von dem ersten Ende zu dem zweiten Ende zu programmieren; und die eine oder die mehreren Steuerschaltung(en) eingerichtet sind, um die Verstärkung des Kanalbereichs zu verhindern, während die eine oder die mehreren Spannung(en) für eine Zeitdauer angelegt werden, basierend auf der Position der zur Überprüfung ausgewählten Speicherzelle in Bezug auf das erste Ende der ausgewählten Gruppe.
  3. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, weiterhin aufweisend: Wortleitungen, wobei die nichtflüchtigen Speicherzellen in Gruppen von verbundenen nichtflüchtigen Speicherzellen angeordnet sind, wobei die Wortleitungen mit den Gruppen von verbundenen nichtflüchtigen Speicherzellen verbunden sind, die eine oder mehreren Steuerschaltung(en) eingerichtet sind, um die Verstärkung des Kanalbereichs zu verhindern, während die eine oder mehreren Spannung(en) für eine Zeitdauer basierend auf der Wortleitungsposition der zur Überprüfung ausgewählten Speicherzelle angelegt werden.
  4. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, wobei: die nichtflüchtigen Speicherzellen in NAND-Strings angeordnet sind; und die eine oder die mehreren Steuerschaltungen eingerichtet sind, die Verstärkung des Kanalbereichs zu verhindern, während die eine oder die mehreren Spannungen angelegt werden, um eine Verstärkung für eine Zeitdauer basierend auf der Position in einem NAND-String der zur Überprüfung ausgewählten Speicherzelle durchzuführen.
  5. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, weiterhin aufweisend: Wortleitungen, wobei die nichtflüchtigen Speicherzellen in Gruppen von verbundenen nichtflüchtigen Speicherzellen angeordnet sind, die Gruppen eine erste Seite und eine zweite Seite beinhalten, die eine oder mehrere Steuerschaltung(en) eingerichtet sind, um die Wortleitungen als mindestens zwei Sätze von Wortleitungen zu betreiben, aufweisend einen ersten Satz von Wortleitungen, die mit der ersten Seite der Gruppen von verbundenen nichtflüchtigen Speicherzellen verbunden sind, und einen zweiten Satz von Wortleitungen, die mit der zweiten Seite der Gruppen von verbundenen nichtflüchtigen Speicherzellen verbunden sind, wobei die eine oder mehreren Steuerschaltung(en) eingerichtet sind, um die Verstärkung des Kanalbereichs für eine erste Zeitdauer zu verhindern, wenn die zur Überprüfung ausgewählte Speicherzelle mit dem ersten Satz verbunden ist, und für eine zweite Zeitdauer, wenn die zur Überprüfung ausgewählte Speicherzelle mit dem zweiten Satz verbunden ist.
  6. Nichtflüchtige Speichervorrichtung gemäß Anspruch 5, wobei: die Wortleitungen einen dritten Satz von Wortleitungen beinhalten, die eine oder mehrere Steuerschaltung(en) eingerichtet sind, um die Verstärkung des Kanalbereichs für eine dritte Zeitdauer zu verhindern, wenn die zur Überprüfung ausgewählte Speicherzelle mit dem dritten Satz von Wortleitungen verbunden ist.
  7. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, weiterhin aufweisend: Wortleitungen, wobei die nicht flüchtigen Speicherzellen in Gruppen von verbundenen nicht-flüchtigen Speicherzellen angeordnet sind, die Gruppen eine erste Seite und eine zweite Seite beinhalten, die eine oder die mehreren Steuerschaltungen eingerichtet sind, die Wortleitungen als drei Sätze von Wortleitungen zu betreiben, aufweisend einen ersten Satz von Wortleitungen, die mit der ersten Seite der Gruppen von verbundenen nicht-flüchtigen Speicherzellen verbunden sind, und einen zweiten Satz von Wortleitungen, die mit der zweiten Seite der Gruppen von verbundenen nicht-flüchtigen Speicherzellen verbunden sind, sowie einen dritten Satz von Wortleitungen zwischen dem ersten Satz und dem zweiten Satz, wobei die einen oder mehrere Steuerschaltungen eingerichtet sind, um die Verstärkung des Kanalbereichs für eine erste Zeitdauer zu verhindern, wenn die zur Überprüfung ausgewählte Speicherzelle mit dem ersten Satz verbunden ist, und für eine zweite Zeitdauer zu verhindern, wenn die zur Überprüfung ausgewählte Speicherzelle mit dem zweiten Satz verbunden ist, wobei, wenn die zur Überprüfung ausgewählte Speicherzelle mit dem dritten Satz verbunden ist, die eine oder die mehreren Steuerschaltungen eingerichtet sind, um die Verstärkung des Kanalbeeichs für die erste Dauer wärend einiger Iterationen eines Programmierprozesses und für die zweite Dauer während anderer Iterationen des Programmierprozesses zu verhindern.
  8. Nichtflüchtige Speichervorrichtung gemäß Anspruch 7, wobei: die Gruppen von verbundenen nichtflüchtigen Speicherzellen vertikale NAND-Strings sind; die eine oder mehreren Steuerschaltung(en) eingerichtet sind, um Speicherzellen in der ausgewählten Gruppe in einer Reihenfolge von der ersten Seite zu der zweiten Seite zu programmieren; und die erste Zeitdauer länger ist als die zweite Zeitdauer.
  9. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, weiterhin aufweisend: Wortleitungen, wobei die nichtflüchtigen Speicherzellen in NAND-Strings angeordnet sind, die ein oder mehrere Auswahl-Gates beinhalten, wobei die Wortleitungen mit den nichtflüchtigen Speicherzellen der NAND-Strings verbunden sind; und Auswahlleitungen, die mit dem einen oder den mehreren Auswahl-Gate(s) verbunden sind; wobei die eine oder die mehreren Steuerschaltung(en) eingerichtet sind, um die Programmierung zu überprüfen, indem eine Spannung an eine oder mehrere Auswahlleitung(en) für ausgewählte NAND-Strings angelegt wird, um ein oder mehrere Auswahl-Gates für ausgewählte NAND-Strings einzuschalten, eine Spannung an eine oder mehrere Auswahlleitung(en) für nicht ausgewählte NAND-Strings angelegt wird, um ein oder mehrere Auswahl-Gates für nicht ausgewählte NAND-Strings auszuschalten, eine Verstärkungsspannung an nicht ausgewählte Wortleitungen angelegt und erhöht wird, um Kanäle von nicht ausgewählten NAND-Strings zu verstärken, sodass die nicht ausgewählten Wortleitungen mit den ausgewählten NAND-Strings und den nicht ausgewählten NAND-Strings verbunden sind, Anlegen einer Vergleichsspannung an eine ausgewählte Wortleitung, die mit dem ausgewählten NAND-String und den nicht ausgewählten NAND-Strings verbunden ist, Abtasten einer Schwellenspannung ausgewählter Speicherzellen in den ausgewählten NAND-Strings als Reaktion auf die Vergleichsspannung und unter Erhöhung der Verstärkungsspannung, vorübergehendes Ändern der an die Auswahlleitungen angelegten Spannung für nicht ausgewählte NAND-Strings, um die Auswahl-Gates für nicht ausgewählte NAND-Strings vorübergehend einzuschalten, um eine Verstärkung der Kanäle der nicht ausgewählten NAND-Strings für eine Zeitdauer basierend auf der Position der ausgewählten Wortleitung zu verhindern.
  10. Nichtflüchtige Speichervorrichtung gemäß einem der Ansprüche 1 bis 9, wobei: die eine oder die mehreren Steuerschaltung(en) eingerichtet sind, um die Verstärkung des Kanalbereichs zu verhindern, indem sie die Verstärkung nach dem Start unterbrechen und anschließend die Verstärkung fortsetzen lassen.
  11. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, wobei: die nicht ausgewählte Speicherzelle Teil eines NAND-Strings ist; und der Kanalbereich, welcher der nicht ausgewählten Speicherzelle zugeordnet ist, ein Kanalgebiet für den NAND-String ist.
  12. Nichtflüchtige Speichervorrichtung gemäß Anspruch 1, wobei: die Vielzahl von nichtflüchtigen Speicherzellen in vertikalen NAND-Strings einer monolithischen dreidimensionalen Speicherstruktur angeordnet sind.
  13. Verfahren zum Betreiben eines nichtflüchtigen Speichers, aufweisend: Programmieren von nichtflüchtigen Speicherzellen; Überprüfen der Programmierung, wobei die Überprüfung der Programmierung Folgendes aufweist: Anlegen einer Spannung an ein oder mehrere Auswahl-Gates für ausgewählte Gruppen von Speicherzellen, um das eine oder die mehreren Auswahl-Gates für ausgewählte Gruppen von Speicherzellen einzuschalten, Anlegen einer Spannung an ein oder mehrere ausgewählte Gatter für nicht ausgewählte Gruppen von Speicherzellen, um das eine oder die mehreren ausgewählten Gatter für die nicht ausgewählten Gruppen von Speicherzellen auszuschalten, Anlegen und Erhöhen einer Ladespannung an nicht ausgewählte Steuerleitungen, um Kanäle von nicht ausgewählten Gruppen von Speicherzellen zu verstärken, wobei die nicht ausgewählten Steuerleitungen mit den ausgewählten Gruppen von Speicherzellen und den nicht ausgewählten Gruppen von Speicherzellen verbunden sind, Anlegen einer Vergleichsspannung an eine ausgewählte Steuerleitung, die mit den ausgewählten Gruppen von Speicherzellen und den nicht ausgewählten Gruppen von Speicherzellen verbunden ist, Abtasten einer Schwellenspannung ausgewählter Speicherzellen in den ausgewählten Gruppen von Speicherzellen als Reaktion auf die Vergleichsspannung und unter Erhöhung der Verstärkungsspannung vorübergehendes Ändern der an die Auswahlgatter für nicht ausgewählte Gruppen von Speicherzellen angelegte Spannung, um die Auswahlgatter für nicht ausgewählte Gruppen von Speicherzellen vorübergehend einzuschalten, um eine Verstärkung der Kanäle der nicht ausgewählten Gruppen von Speicherzellen für eine Zeitdauer basierend auf der Position der ausgewählten Steuerleitung zu verhindern.
  14. Verfahren gemäß Anspruch 13, wobei: das vorübergehende Ändern der an die Auswahl-Gates angelegten Spannung für nicht ausgewählte Gruppen von Speicherzellen das Anlegen einer Spannungsspitze an die Auswahl-Gates für nicht ausgewählte Gruppen von Speicherzellen beinhaltet.
  15. Verfahren gemäß Anspruch 13, wobei: das vorübergehende Ändern der an die Auswahl-Gates angelegten Spannung für nicht ausgewählte Gruppen von Speicherzellen die bereits begonnene Verstärkung vorübergehend unterbricht.
  16. Verfahren gemäß einem der Ansprüche 13 bis 15, wobei: die nicht ausgewählten Steuerleitungen und die ausgewählte Steuerleitung als eine Gruppe von Steuerleitungen mit einem ersten Rand und einem zweiten Rand angeordnet sind. Speicherzellen, die mit den nicht ausgewählten Steuerleitungen verbunden sind und die ausgewählte Steuerleitung von dem ersten Rand bis zum zweiten Rand programmiert sind, die Gruppe von Steuerleitungen in eine erste Zone und eine zweite Zone unterteilt ist, die erste Zone näher an dem ersten Rand liegt als die zweite Zone; und die Zeitdauer eine erste Dauer ist, wenn sich die ausgewählte Steuerleitung in der ersten Zone befindet, und eine zweite Dauer, wenn sich die ausgewählte Steuerleitung in der zweiten Zone befindet, die erste Dauer länger als die zweite Dauer ist.
  17. Verfahren gemäß einem der Ansprüche 13 bis 15, wobei: die nicht ausgewählten Steuerleitungen und die ausgewählte Steuerleitung als eine Gruppe von Steuerleitungen mit einem ersten Rand und einem zweiten Rand angeordnet sind, die Gruppe von Steuerleitungen in eine erste Zone, eine zweite Zone und eine dritte Zone unterteilt ist, die erste Zone näher an dem ersten Rand als die zweite Zone liegt, die zweite Zone näher an dem zweiten Rand liegt als die erste Zone, die dritte Zone zwischen der ersten Zone und der zweiten Zone liegt; und die Zeitdauer eine erste Dauer ist, wenn sich die ausgewählte Steuerleitung in der ersten Zone befindet, und eine zweite Dauer, wenn sich die ausgewählte Steuerleitung in der zweiten Zone befindet, die erste Dauer länger als die zweite Dauer ist, die Zeitdauer die erste Dauer für einige Iterationen eines Programmiervorgangs ist nd die zweite Dauer für andere Iterationen des Programmiervorgangs ist, wenn sich die ausgewählte Wortleitung in der dritten Zone befindet.
DE112017002776.4T 2016-06-03 2017-02-21 Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung Pending DE112017002776T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/172,653 US10026487B2 (en) 2016-06-03 2016-06-03 Non-volatile memory with customized control of injection type of disturb during program verify for improved program performance
US15/172,653 2016-06-03
PCT/US2017/018636 WO2017209811A1 (en) 2016-06-03 2017-02-21 Non-volatile memory with customized control of injection type of disturb during program verify for improved program performance

Publications (1)

Publication Number Publication Date
DE112017002776T5 true DE112017002776T5 (de) 2019-02-14

Family

ID=58213358

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017002776.4T Pending DE112017002776T5 (de) 2016-06-03 2017-02-21 Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung

Country Status (5)

Country Link
US (1) US10026487B2 (de)
JP (1) JP6571295B2 (de)
CN (1) CN109074849B (de)
DE (1) DE112017002776T5 (de)
WO (1) WO2017209811A1 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102461726B1 (ko) 2016-07-19 2022-11-02 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR102551799B1 (ko) * 2016-12-06 2023-07-05 삼성전자주식회사 반도체 소자
US10210941B1 (en) 2018-01-24 2019-02-19 Sandisk Technologies Llc Reducing injection type of read disturb in a cold read of a memory device
US10580504B2 (en) 2018-06-07 2020-03-03 Sandisk Technologies Llc Non-volatile memory with countermeasure for program disturb including spike during boosting
US10541037B2 (en) 2018-06-07 2020-01-21 Sandisk Technologies Llc Non-volatile memory with countermeasure for program disturb including delayed ramp down during program verify
US10643718B2 (en) 2018-06-07 2020-05-05 Sandisk Technologies Llc Non-volatile memory with countermeasure for program disturb including purge during precharge
US10643721B2 (en) * 2018-06-21 2020-05-05 Sandisk Technologies Llc Interleaved program and verify in non-volatile memory
US10643677B2 (en) 2018-06-26 2020-05-05 Sandisk Technologies Llc Negative kick on bit line control transistors for faster bit line settling during sensing
US10553298B1 (en) 2018-07-27 2020-02-04 Sandisk Technologies Llc Non-volatile memory with countermeasure for select gate disturb
US10559368B1 (en) 2018-08-07 2020-02-11 Sandisk Technologies Llc Non-volatile memory with countermeasures for select gate disturb during program pre-charge
US10726920B2 (en) 2018-11-26 2020-07-28 Sandisk Technologies Llc Pre-charge voltage for inhibiting unselected NAND memory cell programming
US10777286B2 (en) 2018-12-28 2020-09-15 Micron Technology, Inc. Apparatus and methods for determining data states of memory cells
US10643713B1 (en) 2019-02-08 2020-05-05 Sandisk Technologies Llc Toggling power supply for faster bit line settling during sensing
US10665299B1 (en) 2019-04-16 2020-05-26 Sandisk Technologies Llc Memory device with channel discharge before program-verify based on data state and sub-block position
US10910076B2 (en) * 2019-05-16 2021-02-02 Sandisk Technologies Llc Memory cell mis-shape mitigation
US10839915B1 (en) * 2019-06-27 2020-11-17 Sandisk Technologies Llc Bitline boost for nonvolatile memory
US10832790B1 (en) * 2019-09-26 2020-11-10 Western Digital Technologies, Inc. Performance of non data word line maintenance in sub block mode
US10978152B1 (en) * 2019-11-13 2021-04-13 Sandisk Technologies Llc Adaptive VPASS for 3D flash memory with pair string structure
EP3899711B1 (de) * 2020-02-20 2024-02-07 Yangtze Memory Technologies Co., Ltd. Verfahren zur programmierung einer mehrebenenspeichervorrichtung
WO2021168674A1 (en) * 2020-02-26 2021-09-02 Yangtze Memory Technologies Co., Ltd. Method of programming memory device and related memory device
JP2021182457A (ja) 2020-05-18 2021-11-25 キオクシア株式会社 半導体記憶装置
KR20210144190A (ko) * 2020-05-21 2021-11-30 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
JP2022020287A (ja) 2020-07-20 2022-02-01 キオクシア株式会社 半導体記憶装置
US11205493B1 (en) * 2020-10-26 2021-12-21 Sandisk Technologies Llc Controlling word line voltages to reduce read disturb in a memory device
KR20220072242A (ko) * 2020-11-25 2022-06-02 삼성전자주식회사 비휘발성 메모리 장치의 데이터 기입 방법 및 이를 수행하는 비휘발성 메모리 장치
CN112506443B (zh) * 2020-12-22 2022-01-04 长江存储科技有限责任公司 三维存储器的读取方法及设备
US11386968B1 (en) 2021-01-14 2022-07-12 Sandisk Technologies Llc Memory apparatus and method of operation using plane dependent ramp rate and timing control for program operation
US11521686B2 (en) 2021-03-31 2022-12-06 Sandisk Technologies Llc Memory apparatus and method of operation using state bit-scan dependent ramp rate for peak current reduction during program operation
US11600343B2 (en) 2021-05-25 2023-03-07 Sandisk Technologies Llc Efficient read of NAND with read disturb mitigation
WO2023070612A1 (en) * 2021-10-30 2023-05-04 Yangtze Memory Technologies Co., Ltd. Memory device and program operation thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171632B2 (en) 2012-02-02 2015-10-27 Sandisk Technologies Inc. Reducing weak-erase type read disturb in 3D non-volatile memory

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997015929A1 (en) 1995-10-25 1997-05-01 Nvx Corporation Semiconductor non-volatile memory device having a nand cell structure
US6614070B1 (en) 1998-04-16 2003-09-02 Cypress Semiconductor Corporation Semiconductor non-volatile memory device having a NAND cell structure
JP3938309B2 (ja) 2002-01-22 2007-06-27 富士通株式会社 リードディスターブを緩和したフラッシュメモリ
US7170785B2 (en) 2004-09-09 2007-01-30 Macronix International Co., Ltd. Method and apparatus for operating a string of charge trapping memory cells
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
US7515463B2 (en) 2006-04-12 2009-04-07 Sandisk Corporation Reducing the impact of program disturb during read
US7623387B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Non-volatile storage with early source-side boosting for reducing program disturb
KR100811278B1 (ko) 2006-12-29 2008-03-07 주식회사 하이닉스반도체 셀프 부스팅을 이용한 낸드 플래시 메모리소자의 읽기 방법
US7468920B2 (en) 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
KR101431195B1 (ko) * 2007-05-07 2014-08-18 샌디스크 테크놀로지스, 인코포레이티드 채널 절연 스위칭을 이용한 비휘발성 저장을 위한 부스팅
KR100877103B1 (ko) 2007-06-01 2009-01-07 주식회사 하이닉스반도체 리드 디스터브가 억제되도록 하는 플래시 메모리소자의리드 방법
JP5259242B2 (ja) 2008-04-23 2013-08-07 株式会社東芝 三次元積層不揮発性半導体メモリ
US7719902B2 (en) * 2008-05-23 2010-05-18 Sandisk Corporation Enhanced bit-line pre-charge scheme for increasing channel boosting in non-volatile storage
JP5279560B2 (ja) 2009-03-11 2013-09-04 株式会社東芝 不揮発性半導体記憶装置
KR101635502B1 (ko) 2009-07-22 2016-07-01 삼성전자주식회사 반도체 메모리 장치 및 그것의 프로그램 방법
KR101682660B1 (ko) 2010-06-28 2016-12-06 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
US8526233B2 (en) * 2011-05-23 2013-09-03 Sandisk Technologies Inc. Ramping pass voltage to enhance channel boost in memory device, with optional temperature compensation
US9171636B2 (en) * 2013-01-29 2015-10-27 Macronix International Co. Ltd. Hot carrier generation and programming in NAND flash
US9293205B2 (en) * 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US8988945B1 (en) * 2013-10-10 2015-03-24 Sandisk Technologies Inc. Programming time improvement for non-volatile memory
US9530506B2 (en) 2014-11-21 2016-12-27 Sandisk Technologies Llc NAND boosting using dynamic ramping of word line voltages
US9361993B1 (en) 2015-01-21 2016-06-07 Sandisk Technologies Inc. Method of reducing hot electron injection type of read disturb in memory
US9336892B1 (en) 2015-06-02 2016-05-10 Sandisk Technologies Inc. Reducing hot electron injection type of read disturb in 3D non-volatile memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171632B2 (en) 2012-02-02 2015-10-27 Sandisk Technologies Inc. Reducing weak-erase type read disturb in 3D non-volatile memory

Also Published As

Publication number Publication date
US10026487B2 (en) 2018-07-17
JP6571295B2 (ja) 2019-09-04
CN109074849A (zh) 2018-12-21
CN109074849B (zh) 2022-12-09
WO2017209811A1 (en) 2017-12-07
JP2019521463A (ja) 2019-07-25
US20170352430A1 (en) 2017-12-07

Similar Documents

Publication Publication Date Title
DE102018105529B4 (de) Managementschema zur Vermeidung einer Lösch- und Programmierstörung von Subblöcken im nichtflüchtigen Datenspeicher
DE112017002776T5 (de) Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung
DE112017001761B4 (de) NAND-Struktur mit Stufenauswahl-Gate-Transistoren
DE112017004208B4 (de) 3d-nand mit teilblocklöschen
DE102017120325A1 (de) Nichtflüchtiger Arbeitsspeicher mit intelligenter Temperaturerfassung und lokaler Drosselung
EP3420555B1 (de) Nichtflüchtiger speicher mit angepasster steuerung von injektionsstörung bei leseoperationen
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102018129517A1 (de) Leseverstärker mit negativer schwellenwerterfassung für nicht-flüchtige speicher
DE112019000164T5 (de) Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
DE112019000165T5 (de) Gleichzeitiges programmieren mehrerer zellen für nichtflüchtigespeichervorrichtungen
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE102018123918A1 (de) Zustandsabhängige Abtastschaltungen und Vorladevorgänge für Speichervorrichtungen
DE112015006285T5 (de) Mehrchip-doppelschreiben
DE102020115935A1 (de) Nichtflüchtiger speicher mit dem überspringen der programmprürung
DE112019000157T5 (de) Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung
DE112018003426T5 (de) Reduzieren der lesestörung der art durch injektion heisser elektronen in 3d-speichervorrichtung mit verbundenen sourceendauswahlgates
DE112020000174T5 (de) Adaptive vpass für 3d-flash-speicher mit paarkettenstruktur
DE102019124653A1 (de) Ortsabhängige impedanzabschwächung in einem nichtflüchtigen speicher
DE102020116188B4 (de) Verbesserung der sourceseitigen vorladung und verstärkung für das programmieren in umgekehrter reihenfolge
DE102018105623A1 (de) Zustandsabhängige Abtastschaltungen und Abtastoperationen für Speichervorrichtungen
DE102020105991A1 (de) SUBBLOCK-GRÖßENREDUKTION FÜR NICHTFLÜCHTIGE 3D-SPEICHER
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE102018123887A1 (de) Nichtflüchtiges Speichersystem. das fehlerhafte Blöcke regeneriert

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE