DE112019000157T5 - Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung - Google Patents

Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung Download PDF

Info

Publication number
DE112019000157T5
DE112019000157T5 DE112019000157.4T DE112019000157T DE112019000157T5 DE 112019000157 T5 DE112019000157 T5 DE 112019000157T5 DE 112019000157 T DE112019000157 T DE 112019000157T DE 112019000157 T5 DE112019000157 T5 DE 112019000157T5
Authority
DE
Germany
Prior art keywords
nand
voltage
bit lines
memory
chains
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.)
Granted
Application number
DE112019000157.4T
Other languages
English (en)
Inventor
Xiang Yang
Huai-Yuan Tseng
Deepanshu Dutta
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 DE112019000157T5 publication Critical patent/DE112019000157T5/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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/24Bit-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/186Passive fault masking when reading multiple copies of the same data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/5671Digital 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 trapping in an insulator
    • 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/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • 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/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
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/20Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B41/23Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B41/27Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

Techniken für schnelle Programmier- und Lesevorgänge für Speicherzellen. Ein erster Satz von Bitleitungen ist mit einem ersten Satz von NAND-Ketten verbunden und ist mit einem zweiten Satz von Bitleitungen verschachtelt, die mit einem zweiten Satz von NAND-Ketten verbunden sind. Der erste Satz von NAND-Ketten kann durch Ansteuern einer Spannung auf dem ersten Satz von Bitleitungen programmiert werden, während eine Spannung auf dem zweiten Satz von Bitleitungen gefloatet wird, um eine Kapazität zwischen den Bitleitungen zu reduzieren und eine relativ hohe Zugriffsgeschwindigkeit und eine relativ niedrige Speicherdichte (z. B. Bits pro Speicherzelle) bereitzustellen. Der zweite Satz von NAND-Ketten kann durch gleichzeitiges Ansteuern einer Spannung auf dem ersten und dem zweiten Satz von Bitleitungen programmiert werden, um eine relativ niedrige Zugriffsgeschwindigkeit und eine relativ hohe Speicherdichte bereitzustellen.

Description

  • HINTERGRUND
  • Die vorliegende Technologie bezieht sich auf den Betrieb von Speichervorrichtungen.
  • Halbleiterspeichervorrichtungen sind zur Verwendung in verschiedenen elektronischen Vorrichtungen beliebter geworden. Zum Beispiel wird ein nichtflüchtiger Halbleiterspeicher in Mobiltelefonen, Digitalkameras, persönlichen digitalen Assistenten, mobilen Rechenvorrichtungen, nichtmobilen Rechenvorrichtungen und anderen Vorrichtungen verwendet.
  • Ein Ladungsspeichermaterial wie ein Floating-Gate oder ein Ladungsfängermaterial kann in solchen Speichervorrichtungen verwendet werden, um eine Ladung zu speichern, die einen Datenzustand darstellt. Ein Ladungsfängermaterial kann vertikal in einer dreidimensionalen (3D) gestapelten Speicherstruktur oder horizontal in einer zweidimensionalen (2D) Speicherstruktur angeordnet sein. Ein Beispiel für eine 3D-Speicherstruktur ist die Bit-Cost-Scalable-Architektur (BiCS-Architektur), die einen Stapel alternierender leitender und dielektrischer Schichten aufweist.
  • Eine Speichervorrichtung schließt Speicherzellen ein, die beispielsweise in Reihe, in NAND-Ketten, angeordnet sein können, wobei Auswahlgatetransistoren an den Enden einer NAND-Kette bereitgestellt sind, um einen Kanal der NAND-Kette wahlweise mit einer Sourceleitung oder einer Bitleitung zu verbinden. Beim Betrieb solcher Speichervorrichtungen ergeben sich jedoch verschiedene Herausforderungen.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer beispielhaften Speichervorrichtung.
    • 2 ist ein Blockdiagramm, das eine Ausführungsform des Abtastblocks 51 aus 1 darstellt.
    • 3 stellt eine beispielhafte Implementierung des Leistungssteuermoduls 116 aus 1 zum Bereitstellen von Spannungen an Blöcke von Speicherzellen dar.
    • 4 ist eine perspektivische Ansicht einer Speichervorrichtung 500, die einen Satz von Blöcken in einer beispielhaften 3D-Einrichtung der Speicherstruktur 126 aus 1 aufweist.
    • 5A stellt eine beispielhafte Querschnittsansicht eines Abschnitts von BLKO aus 4 dar, wobei die NAND-Ketten 700n und 710n über die Durchkontaktierungen 621 und 621a jeweils mit einer Bitleitung BL0 verbunden sind.
    • 5B stellt einen beispielhaften Transistor 650 dar.
    • 5C stellt eine Detailansicht der Region 622 des Stapels aus 5A dar.
    • 5D stellt eine beispielhafte Querschnittsansicht eines Abschnitts von BLKO aus 4 dar, wobei die NAND-Ketten 700n und 710z von einer Bitleitung BL0 getrennt sind.
    • 6 stellt eine beispielhafte Ansicht von NAND-Ketten in BLKO in Übereinstimmung mit 4, 5A und 5D dar.
    • 7 stellt Steuer-Gate-Schichten in BLKO in Übereinstimmung mit 6 dar.
    • 8 stellt zusätzliche Details von SB0 und SB1 von 6 und 7 dar.
    • 9A stellt die Schwellenwertspannungsverteilungen (Vth-Verteilungen) 900 und 901 von SLC-Speicherzellen in einem gelöschten Zustand (Er-Zustand) bzw. einem programmierten Zustand (P-Zustand) dar.
    • 9B stellt eine beispielhafte Vth-Verteilung eines Satzes von MLC-Speicherzellen in acht Datenzuständen dar.
    • 9C stellt eine beispielhafte Vth-Verteilung von ausgewählten Gate-Transistoren dar.
    • 10A stellt ein Spannungssignal dar, das in einer Reihe von Programmschleifen in einem beispielhaften Programmvorgang für SLC-Speicherzellen verwendet wird, das zu der Vth-Verteilung aus 9A führt.
    • 10B stellt ein Spannungssignal dar, das in einer Reihe von Programmschleifen in einem beispielhaften Programmvorgang für MLC-Speicherzellen verwendet wird, das zu der Vth-Verteilung aus 9B führt.
    • 11A stellt einen beispielhaften Prozess für den Zugriff auf einen ersten Satz von NAND-Ketten unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit und auf einen zweiten Satz von NAND-Ketten unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit dar.
    • 11B stellt einen beispielhaften Programmvorgang dar, der den Prozess von 11A implementieren kann.
    • 11C stellt eine beispielhafte Implementierung des Programms und der Verifizierungsphase von 11B unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit dar.
    • 11D stellt eine beispielhafte Implementierung des Programms und der Verifizierungsphase von 11B unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit dar.
    • 11E stellt einen beispielhaften Lesevorgang dar, der den Prozess von 11A implementieren kann.
    • 11 F stellt einen beispielhaften Programmvorgang für SGD-Transistoren in Übereinstimmung mit 9C dar.
    • 12A stellt eine Draufsicht auf den Satz von Blöcken BLKO bis BLK3 aus 4, einschließlich NAND-Ketten und deren Verbindungen zu Bitleitungen, in einer beispielhaften Einrichtung einer Speichervorrichtung zur Implementierung des Prozesses von 11A mit Blöcken hoher und niedriger Zugriffsgeschwindigkeit dar.
    • 12B stellt eine beispielhafte Architektur in Übereinstimmung mit 12A dar.
    • 12C stellt eine beispielhafte rechenzentrierte Architektur dar.
    • 12D stellt eine beispielhafte speicherzentrierte Architektur dar.
    • 12E stellt eine Draufsicht auf den Block BLKO in einer beispielhaften Einrichtung einer Speichervorrichtung zur Implementierung des Prozesses von 11A mit Unterblöcken hoher und niedriger Zugriffsgeschwindigkeit dar.
    • 12F stellt eine Draufsicht auf den Block BLKO in einer beispielhaften Einrichtung einer Speichervorrichtung zur Implementierung des Prozesses von 11A mit datenspeichernden NAND-Ketten dar, die anstelle von Dummy-NAND-Ketten durch isolierende Bereiche getrennt sind.
    • 13 stellt beispielhafte Bitleitungen BL0 bis BL2 in Übereinstimmung mit 8, 12A, 12E und 12F dar, die zeigen, wie eine Kapazität zwischen benachbarten Bitleitungen besteht.
    • 14 stellt einen Graph der Spannung im Vergleich zur Zeit dar und zeigt eine relativ schnelle Erhöhung und eine relativ langsame Erhöhung.
    • 15 stellt Beispiele von Spannungssignalen, die in einer Programmschleife eines Programmvorgangs verwendet werden können, in Übereinstimmung mit 11B dar.
    • 16 stellt Beispiele von Spannungssignalen, die in einem Lesevorgang verwendet werden können, in Übereinstimmung mit 11E dar.
  • DETAILLIERTE BESCHREIBUNG
  • Es werden Vorrichtungen und Techniken für schnelle Programmier- und Lesevorgänge für Speicherzellen beschrieben.
  • Bei einigen Speichervorrichtungen sind Speicherzellen wie in NAND-Ketten in einem Block oder Unterblock miteinander verbunden. Eine NAND-Kette weist eine Reihe von in Reihe geschalteten Speicherzellen zwischen einem oder mehreren Drainend-Auswahlgatetransistoren (als SGD-Transistoren bezeichnet) auf einem Drainende der NAND-Kette, die mit einer Bitleitung verbunden ist, und einem oder mehreren Sourceend-Auswahlgatetransistoren (als SGS-Transistoren bezeichnet) auf einem Sourceende der NAND-Kette oder einer anderen Speicherkette oder einem Satz von verbundenen Speicherzellen, der bzw. die mit einer Sourceleitung verbunden ist bzw. sind, auf. Ferner können die Speicherzellen mit einer gemeinsamen Steuergateleitung (z. B. Wortleitung), die auf ein Steuergate wirkt, angeordnet sein. Ein Satz von Wortleitungen erstreckt sich von der Sourceseite eines Blocks zu der Drainseite eines Blocks. Speicherzellen können auch in anderen Arten von Ketten sowie auf andere Weisen verbunden werden.
  • Bei einer 3D-Speicherstruktur können die Speicherzellen in vertikalen NAND-Ketten in einem Stapel angeordnet sein, wobei der Stapel alternierende leitende und dielektrische Schichten aufweist. Die leitenden Schichten wirken als Wortleitungen, die mit den Speicherzellen verbunden sind. Jede NAND-Kette kann die Form einer Säule haben, die sich mit den Wortleitungen schneidet, um die Speicherzellen zu bilden.
  • Die Speicherzellen können Datenspeicherzellen einschließen, die dazu geeignet sind, Benutzerdaten zu speichern, und Dummy- oder Nichtdatenspeicherzellen, die nicht dazu geeignet sind, Benutzerdaten zu speichern. Eine Dummy-Speicherzelle kann die gleiche Konstruktion wie eine Datenspeicherzelle aufweisen, wird aber von der Steuerung als ungeeignet betrachtet, um eine beliebige Art von Daten einschließlich Benutzerdaten zu speichern. Eine Dummy-Wortleitung ist mit einer Dummy-Speicherzelle verbunden. Eine oder mehrere Dummy-Speicherzellen können an dem Drain- und/oder Sourceende einer Kette von Speicherzellen bereitgestellt werden, um einen graduellen Übergang in dem Kanalspannungsgradienten bereitzustellen.
  • Während eines Programmiervorgangs werden die Speicherzellen gemäß einer Wortleitungsprogrammierreihenfolge programmiert. Zum Beispiel kann das Programmieren an der Wortleitung an der Sourceseite des Blocks beginnen und an der Wortleitung an der Drainseite des Blocks fortgesetzt werden. Bei einem Ansatz wird jede Wortleitung vollständig programmiert, bevor eine nächste Wortleitung programmiert wird. Zum Beispiel wird eine erste Wortleitung, WL0, unter Verwendung einer oder mehrerer Programmierdurchgänge programmiert, bis das Programmieren abgeschlossen ist. Als Nächstes wird eine zweite Wortleitung, WL1, unter Verwendung einer oder mehrerer Programmierdurchgänge programmiert, bis das Programmieren abgeschlossen ist, und so weiter. Ein Programmierdurchgang kann einen Satz von sich erhöhenden Spannungen einschließen, die an die Wortleitung in jeweiligen Programmschleifen oder Programmierverifizierdurchläufen angelegt werden, wie in 10B dargestellt. Verifiziervorgänge können nach jeder Programmierspannung durchgeführt werden, um zu bestimmen, ob die Speicherzellen ein Programmieren abgeschlossen haben. Wenn ein Programmieren für eine Speicherzelle abgeschlossen ist, kann sie von einem weiteren Programmieren ausgeschlossen werden, während ein Programmieren für andere Speicherzellen in nachfolgenden Programmschleifen fortgeführt wird.
  • Die Speicherzellen können auch gemäß einer Unterblock-Programmieranordnung programmiert werden, wobei die Speicherzellen, die mit einer Wortleitung verbunden sind, in einem Unterblock programmiert werden, dann in einem nächsten Unterblock und so weiter.
  • Jede Speicherzelle kann einem Datenzustand gemäß Schreibdaten in einem Programmierbefehl zugeordnet sein. Basierend auf ihrem Datenzustand bleibt eine Speicherzelle entweder in dem gelöschten Zustand oder wird in einen programmierten Zustand programmiert. Zum Beispiel gibt es in einer Speichervorrichtung mit einem einzelnen Bit pro Zelle, auch als SLC- oder Single-Level-Cell-Speichervorrichtung bezeichnet, zwei Datenzustände einschließlich des gelöschten Zustands und des programmierten Zustands. Siehe 9A. MLC- oder Multi-Level-Cell-Speichervorrichtungen speichern zwei oder mehr Bits pro Zelle als eine Speicherzelle mit mehreren Bits. Zum Beispiel gibt es in einer Speichervorrichtung mit zwei Bits pro Zelle vier Datenzustände einschließlich des gelöschten Zustands und drei höheren Datenzuständen, die als A-, B- und C-Datenzustand bezeichnet werden. In einer Speichervorrichtung mit drei Bits pro Zelle gibt es acht Datenzustände einschließlich des gelöschten Zustands und sieben höheren Datenzuständen, die als A-, B-, C-, D-, E-, F- und G-Datenzustand bezeichnet werden (siehe 9B). In einer Speichervorrichtung mit vier Bits pro Zelle gibt es sechzehn Datenzustände einschließlich des gelöschten Zustands (S0) und fünfzehn höheren Datenzuständen (S0 bis S15).
  • Die SLC-Programmierung ist relativ schnell und weist eine hohe Haltbarkeit auf, obwohl die Speicherdichte (Anzahl der pro Speicherzelle gespeicherten Bits) niedriger ist als wenn mehrere Bits in jeder Speicherzelle gespeichert werden. Hinsichtlich der Programmiergeschwindigkeit kann die SLC-Programmierung in vielen Fällen mit nur einem Programmierimpuls durchgeführt werden. Die Lesegeschwindigkeit ist ebenfalls hoch, da nur eine Lesespannung benötigt wird und eine Fehlerkorrektur aufgrund eines breiten Spielraums zwischen den zwei Datenzuständen vereinfacht werden kann. Hinsichtlich der Haltbarkeit können Daten, die durch SLC-Programmierung programmiert werden, nach vielen Lesezyklen genau zurückgelesen werden, da es einen breiteren Spielraum zwischen den gelöschten und programmierten Datenzuständen im Vergleich zu MLC-Programmierung gibt. SLC-Programmierung kann daher für Anwendungen verwendet werden, bei denen Programm- und Lesegeschwindigkeit und Haltbarkeit von höchster Bedeutung sind. Zum Beispiel kann ein Satz von SLC-Speicherzellen als ein Cache zwischen einer CPU und einem Satz von MLC-Speicherzellen verwendet werden. Siehe auch 12B bis 12D. Eine externe Steuerung kann Daten schnell in einen Block von SLC-Speicherzellen programmieren, und diese Daten können anschließend in einen Block von MLC-Speicherzellen übertragen werden, während die externe Steuerung eine andere Aufgabe ausführt. Hohe Haltbarkeit ist wichtig, wenn die Daten viele Male in wiederholten Lesezyklen gelesen werden, wie beispielsweise in einem Server gespeicherte Daten.
  • Nachdem die Speicherzellen programmiert sind, können die Daten in einem Lesevorgang zurückgelesen werden. Ein Lesevorgang kann ein Anlegen einer Lesespannung, einer Reihe von Lesespannungen an eine Wortleitung beinhalten, während ein Abtastschaltkreis bestimmt, ob Zellen, die mit der Wortleitung verbunden sind, in einem leitenden (eingeschalteten) oder nichtleitenden (ausgeschalteten) Zustand sind. Wenn eine Zelle in einem nichtleitenden Zustand ist, überschreitet die Vth der Speicherzelle die Lesespannung. Die Lesespannungen werden auf Pegel eingestellt, von denen erwartet wird, dass sie zwischen den Schwellenwertspannungen von benachbarten Datenzuständen liegen. Während des Lesevorgangs werden die Spannungen der nicht ausgewählten Wortleitungen auf eine Lesedurchgangsspannung hochgefahren, die ausreichend hoch ist, um die nicht ausgewählten Speicherzellen in einen stark leitenden Zustand zu versetzen, um ein Stören des Abtastens der ausgewählten Speicherzellen zu vermeiden.
  • Jedoch begrenzen Widerstandskapazitätsverzögerungen (RC-Verzögerungen) die Fähigkeit zur Verbesserung der Programm- und Lesegeschwindigkeiten. Wenn zum Beispiel ein Spannungssignal an eine Bitleitung angelegt wird, wird eine bestimmte Zeitdauer zugewiesen, um eine Spannung basierend auf der RC-Zeitkonstante der Bitleitung zu ändern. Die RC-Zeitkonstante ist abhängig von den Bitleitungsabmessungen und dem Material. Zusätzlich kann eine Kapazität zwischen Bitleitungen die Leistung weiter reduzieren.
  • Techniken, die hierin bereitgestellt werden, befassen sich mit den obigen und anderen Problemen. In einem Gesichtspunkt sind verschiedene Sätze von NAND-Ketten mit einem Satz von Bitleitungen verbunden. Die Sätze von Bitleitungen können einen ersten Satz von Bitleitungen einschließen, die mit einem zweiten Satz von Bitleitungen verschachtelt sind. Die erste Gruppe von NAND-Ketten weist eine relativ hohe Zugriffsgeschwindigkeit (z. B. Lese-/Schreibgeschwindigkeit) und eine relativ niedrige Speicherdichte (z.B. Bits pro Speicherzelle) auf. Im Gegensatz dazu weist der zweite Satz von NAND-Ketten eine relativ niedrige Zugriffsgeschwindigkeit und eine relativ hohe Speicherdichte auf. So kann beispielsweise die für einen Abtastvorgang benötigte Zeit um etwa die Hälfte reduziert werden, z. B. von 20 auf 10 µsec. und das bei relativ niedrigen bzw. hohen Zugriffsgeschwindigkeiten.
  • Die ersten und zweiten Sätze von NAND-Ketten können beispielsweise in verschiedenen Unterblöcken oder Blöcken vorliegen. Darüber hinaus kann auf den ersten Satz von NAND-Ketten durch Anlegen einer Spannung an den ersten Satz von Bitleitungen zugegriffen werden, während an den zweiten Satz von Bitleitungen eine Spannung potentialfrei angelegt wird. Das Floating reduziert eine Inter-Bit-Leitungskapazität, so dass die Zeit, die für die Änderung einer Spannung auf dem ersten Satz von Bitleitungen vorgesehen ist, reduziert wird, was zu der relativ hohen Zugriffsgeschwindigkeit führt. Der Zugriff auf den zweiten Satz von NAND-Ketten erfolgt durch das gleichzeitige Anlegen einer Spannung an den ersten und zweiten Satz von Bitleitungen, wobei für die Änderung einer Spannung an dem ersten und zweiten Satz von Bitleitungen eine längere Zeit vorgesehen ist als im Falle der relativ hohen Zugriffsgeschwindigkeit.
  • Insbesondere während eines Programmvorgangs für den ersten Satz von NAND-Ketten, wenn eine Untergruppe von Bitleitungen in dem ersten Satz von Bitleitungen von 0 V auf eine Sperrspannung wie z. B. 2 V ansteigt, ermöglicht das Floaten der Spannungen des zweiten Satzes von Bitleitungen, dass die Bitleitungsspannung der Untergruppe von Bitleitungen schneller 2 V erreicht und sich bei 2 V einpendelt, als wenn die Spannungen des zweiten Satzes von Bitleitungen z. B. auf 0 V geregelt würden.
  • Während eines Abtastvorgangs wie einem Lesevorgang oder einem Verifizierungstest können der erste und zweite Satz von Bitleitungen auf einem gemeinsamen Pegel angesteuert werden, um die Kapazität zwischen den Bitleitungen zu minimieren. Außerdem zieht der zweite Satz von Bitleitungen während der Erfassung des ersten Satzes von NAND-Ketten keinen Strom, so dass der Verschiebungsstrom reduziert wird. Dies ermöglicht auch ein schnelleres Aufladen der Spannungen auf dem ersten Satz von Bitleitungen während des Erfassungsprozesses.
  • Verschiedene Unterblöcke oder Blöcke können bereitgestellt werden, die unterschiedliche Zugriffsgeschwindigkeiten in ein und derselben Speichervorrichtung ermöglichen.
  • In einem Ansatz sind die NAND-Ketten im ersten Satz von NAND-Ketten datenspeichernde NAND-Ketten, die voneinander durch Dummy-NAND-Ketten getrennt sind, die zum Speichern von Daten ungeeignet sind. Siehe 12A und 12E. Die Speichervorrichtung kann ohne leitende Durchkontaktierungen (siehe Isolationsbereiche 621c und 621d in 5D) zwischen den Dummy-NAND-Ketten und den Bitleitungen hergestellt werden. Siehe 5D. In einem anderen Ansatz wird der erste Satz von NAND-Ketten durch isolierte Bereiche des Stapels getrennt, und eine Inter-NAND-Kettenentfernung (sp2, 12F) im ersten Satz von NAND-Ketten (z. B. BLK0) ist größer als eine Inter-NAND-Kettenentfernung (sp1, 12A) im zweiten Satz von NAND-Ketten (z. B. BLK1 bis 3). Siehe isolierter Bereich 1252 in 12F.
  • Bei einem anderen Ansatz sind leitende Durchkontaktierungen (siehe Durchkontaktierungen 621 und 621a in 5A) zwischen den Dummy-NAND-Ketten und den Bitleitungen vorhanden, aber die SGD-Transistoren der Dummy-NAND-Ketten sind auf ein höheres Vth programmiert als die SGD-Transistoren der datenspeichernden NAND-Ketten. Siehe 9C. Mit einer gemeinsamen Steuergate-Vorspannung können sich die SGD-Transistoren der Dummy-NAND-Ketten in einem nicht leitenden Zustand befinden und elektrisch von den Bitleitungen getrennt sein, während sich die datenspeichernden NAND-Ketten in einem leitenden Zustand befinden und elektrisch mit den Bitleitungen verbunden sein können. Dieser Ansatz ist vorteilhaft, da die SGD-Transistoren nach Belieben gelöscht und neu eingerichtet werden können. So kann ein Block oder Unterblock mit hoher Zugriffsgeschwindigkeit und niedriger Speicherdichte in einen Block oder Unterblock mit niedriger Zugriffsgeschwindigkeit und hoher Speicherdichte geändert werden und umgekehrt, falls gewünscht.
  • In einem Ansatz sind die Speicherzellen mit der relativ hohen Zugriffsgeschwindigkeit SLC-Speicherzellen und die Speicherzellen mit der relativ niedrigen Zugriffsgeschwindigkeit MLC-Speicherzellen. Die SLC- und MLC-Speicherzellen können sich in verschiedenen Blöcken oder in verschiedenen Unterblöcken eines Blocks befinden.
  • Diese und andere Merkmale werden unten weiter erläutert.
  • 1 ist ein Blockdiagramm einer beispielhaften Speichervorrichtung. Die Speichervorrichtung 100, wie ein nichtflüchtiges Speichersystem, kann ein oder mehrere Speicherchips 108 einschließen, die auch als ein Chip oder eine integrierte Schaltung bezeichnet werden. Der Speicherchip 108 schließt eine Speicherstruktur 126 aus Speicherzellen, wie ein Array aus Speicherzellen, eine Steuerschaltung 110 und Lese/Schreib-Schaltungen 128 ein. Die Speicherstruktur 126 ist durch Wortleitungen über einen Zeilendecoder 124 und durch Bitleitungen über einen Spaltendecoder 132 adressierbar. In einer Ausführungsform weist die Speicherstruktur Blöcke von Speicherzellen auf, die in einer oder mehreren Ebenen angeordnet sind. Zum Beispiel sind die Blöcke BLK0 bis BLKm-1 in jeder der Ebenen P0 und P1 angeordnet. Eine Ebene kann in einem Ansatz ein Bereich eines Substrats mit einer Diffusionsschicht (wie die Wellregion 433 in 3) sein, die jedem Block in der Ebene gemeinsam ist. Die Blöcke in einer Ebene teilen sich in der Regel einen gemeinsamen Satz von Bitleitungen.
  • Die Lese-/Schreibschaltungen 128 schließen mehrere Abtastblöcke 51 bis 54 (Abtastschaltkreise) ein und ermöglichen ein paralleles Lesen oder Programmieren einer Seite von Speicherzellen. Üblicherweise ist eine Steuerung 122 in der gleichen Speichervorrichtung 100 (z. B. einer entfernbaren Speicherkarte) wie das eine oder die mehreren Speicherchips 108 enthalten. Die Steuerung kann von dem Speicherchip getrennt sein. Befehle und Daten werden zwischen dem Host 140 und der Steuerung 122 über einen Datenbus 120 und zwischen der Steuerung und dem einen oder den mehreren Speicherchips 108 über einen Pfad 118 übertragen.
  • Die Speicherstruktur kann 2D oder 3D sein. Die Speicherstruktur kann ein oder mehrere Arrays von Speicherzellen aufweisen, einschließlich eines 3D-Arrays. Die Speicherstruktur kann eine monolithische dreidimensionale Speicherstruktur aufweisen, in der mehrere Speicherniveaus oberhalb (und nicht in) einem einzelnen Substrat wie einem Wafer ohne dazwischenliegende Substrate ausgebildet sind. Die Speicherstruktur kann jede Art von nichtflüchtigem Speicher aufweisen, der monolithisch in einer oder mehreren physischen Ebenen von Speicherzellenanordnungen ausgebildet ist, die einen aktiven Bereich aufweisen, der über einem Siliziumsubstrat angeordnet ist. Die Speicherstruktur kann sich in einer nichtflüchtigen Speichervorrichtung befinden, die Schaltlogik aufweist, die dem Betrieb der Speicherzellen zugeordnet sind, ganz gleich, ob sich die zugehörige Schaltung oberhalb oder innerhalb des Substrats befindet.
  • Die Steuerschaltung 110 arbeitet mit den Lese-/Schreibschaltungen 128 zusammen, um Speichervorgänge auf der Speicherstruktur 126 auszuführen, und schließt eine Zustandsmaschine 112, eine Spaltenredundanzschaltung 111, einen On-Chip-Adressdecodierer 114 und ein Leistungssteuermodul 116 (Leistungssteuerschaltung) ein. Die Zustandsmaschine 112 stellt eine Steuerung von Speichervorgängen auf Speicherebene bereit. Eine Speicherregion 113 kann bereitgestellt werden, z.B. für Betriebsparameter, und Software/Code. Bei einer Ausführungsform ist die Zustandsmaschine durch die Software programmierbar. Bei anderen Ausführungsformen verwendet die Zustandsmaschine keine Software und ist vollständig in Hardware (z. B. elektrischen Schaltungen) implementiert.
  • Die Spaltenredundanzschaltung stellt eine Abbildung zwischen Reserve-NAND-Ketten bereit, die defekte primäre NAND-Ketten ersetzen. Der On-Chip-Adressdecodierer 114 stellt eine Adressschnittstelle zwischen derjenigen, die von dem Host oder einer Speichersteuerung verwendet wird, zu der Hardwareadresse, die von den Decodierern 124 und 132 verwendet wird, bereit. Das Leistungssteuermodul 116 steuert die Leistung und die Spannungen, die den Wortleitungen, Auswahlgateleitungen, Bitleitungen und Sourceleitungen während Speichervorgängen zugeführt werden. Es kann Treiber für Wortleitungen, SGS- und SGD-Transistoren und Sourceleitungen einschließen. Siehe auch 3. Die Abtastblöcke können in einem Ansatz Bitleitungstreiber einschließen.
  • Das Leistungssteuermodul kann eine Spannungszeitsteuerschaltung 116 einschließen, die Daten speichert, die zum Bestimmen des Zeitpunkts des Anlegens von Spannungssignalen verwendet werden. Die Daten können eine Zeitdauer angeben, die für ein Spannungssignal zuzuweisen ist, um eine stationäre Spannung während einer Spannungserhöhung oder -abnahme zu erreichen. Wie nachstehend beschrieben, kann die Zeitdauer, die für eine Spannungsänderung auf einer Bitleitung zugewiesen wird, basierend auf einer RC-Zeitkonstante der Bitleitung variieren. Wenn ein Spannungssignal an zwei oder mehr benachbarte Bitleitungen für Speicherzellen mit relativ niedriger Zugriffsgeschwindigkeit und hoher Speicherdichte angelegt wird, besteht die Möglichkeit, dass die Spannungssignale unterschiedliche Pegel haben. Beispielsweise kann eine Bitleitung von 0 V auf 2 V geändert werden, um die Programmierung einer NAND-Kette zu verhindern, während eine benachbarte Bitleitung auf 0 V bleibt, um die Programmierung einer NAND-Kette zu ermöglichen. Für die Bitleitungsänderung von 0 V auf 2 V sollte eine relativ lange Zeitdauer zugewiesen werden. Wenn dagegen ein Spannungssignal an eine ausgewählte Bitleitung für eine Speicherzelle mit relativ hoher Zugriffsgeschwindigkeit und geringer Speicherdichte angelegt wird, können die Spannungssignale auf den benachbarten Bitleitungen gefloatet werden, so dass die RC-Zeitkonstante reduziert wird. Für die Bitleitungsänderung von 0 V auf 2 V kann dann eine relativ kurze Zeitspanne zugewiesen werden. Die Spannungszeitsteuerschaltung kann eine Zeitdauer für eine Bitleitungsspannungsänderung basierend auf der Block- und/oder Unterblockposition der Speicherzellen, auf die zugegriffen wird, und auf dem Wissen, ob die Speicherzellen für niedrige oder hohe Zugriffsgeschwindigkeit eingerichtet sind, basierend auf Verbindungen zwischen den NAND-Ketten (oder Kanälen der Speicherzellen der NAND-Ketten) und den Bitleitungen einstellen.
  • Die Spannungszeitsteuerungsschaltung kann die Zeitdauer zwischen dem Beginn einer Änderung einer Spannung, z. B. einer Bitleitungsspannung, und dem Beginn einer Änderung einer anderen Spannung, z. B. einer Wortleitungsspannung, steuern. Die Spannungszeitsteuerungsschaltung kann auch die Zeitdauer zwischen dem Beginn einer Änderung einer Spannung, wie z. B. einer Bitleitungsspannung, und einem Ereignis, wie z. B. dem Beginn einer Entladung eines Erfassungsknotens in einer Abtastschaltung während der Erfassung, steuern. Siehe 15 und 16 zum Beispiel Spannungssignale.
  • Die Spannungszeitsteuerungsschaltung 117 kann mit Hardware, Firmware und/oder Software eingerichtet werden, um die hier beschriebenen Techniken, einschließlich der Prozesse der hier beschriebenen Flussdiagramme, durchzuführen.
  • In einigen Implementierungen können einige der Komponenten kombiniert werden. Bei verschiedenen Ausführungen können eine oder mehrere der Komponenten (allein oder in Kombination), die sich von der Speicherstruktur 126 unterscheiden, als mindestens eine Steuerschaltung betrachtet werden, die dazu eingerichtet ist, die hierin beschriebenen Techniken einschließlich der Schritte der hierin beschriebenen Verfahren durchzuführen. Zum Beispiel kann eine Steuerschaltung eine beliebige der Komponenten oder eine Kombination aus einer Steuerschaltung 110, einer Zustandsmaschine 112, Decodierern 114 und 132, einem Leistungssteuermodul 116, Abtastblöcken 51 bis 54, Lese-/Schreibschaltungen 128, einer Steuerung 122 und so weiter einschließen.
  • Die Off-Chip-Steuerung 122 (die in einer Ausführungsform eine elektrische Schaltung ist) kann einen Prozessor 122c, Speichervorrichtungen (Speicher) wie ROM 122a und RAM 122b und eine Fehlerkorrekturcodeengine (ECC-Engine) 245 aufweisen. Die ECC-Engine kann eine Reihe von Lesefehlern korrigieren.
  • Die Steuerung 122 oder die Steuerschaltung 110 kann durch Hardware, Firmware und/oder Software zum Implementieren der hierin beschriebenen Prozesse, einschließlich der Prozesse der Flussdiagramme von 11A bis 11K eingerichtet sein.
  • Eine Speicherschnittstelle 122d kann auch bereitgestellt werden. Die Speicherschnittstelle, die mit ROM, RAM und Prozessor in Kommunikation steht, ist eine elektrische Schaltung, die eine elektrische Schnittstelle zwischen Steuerung und Speicherchip bereitstellt. Zum Beispiel kann die Speicherschnittstelle das Format oder die Zeitsteuerungssignale verändern, einen Buffer bereitstellen, von Spitzen isolieren, ein E/A zwischenspeichern und so weiter. Der Prozessor kann dem Steuerschaltkreis 110 (oder einer beliebigen anderen Komponente des Speicherchips) über die Speicherschnittstelle 122d Befehle erteilen.
  • Die Speichervorrichtung weist einen Code wie einen Satz von Anweisungen auf und der Prozessor ist dazu betreibbar, den Satz von Anweisungen auszuführen, um die hierin beschriebene Funktionalität bereitzustellen. Alternativ oder zusätzlich kann der Prozessor auf Code von einer Speichervorrichtung 126a der Speicherstruktur zugreifen, wie einen reservierten Bereich von Speicherzellen in einer oder mehreren Wortleitungen.
  • Der Code kann zum Beispiel von der Steuerung verwendet werden, um auf die Speicherstruktur zuzugreifen, wie für Programmier-, Lese- und Löschvorgänge. Der Code kann Bootcode und Steuercode (z. B. einen Satz von Befehlen) einschließen. Der Bootcode ist eine Software, die die Steuerung während eines Boot- oder Startvorgangs initialisiert und der Steuerung ermöglicht, auf die Speicherstruktur zuzugreifen. Der Code kann von der Steuerung verwendet werden, um eine oder mehrere Speicherstrukturen zu steuern. Beim Hochfahren ruft der Prozessor 122c den Bootcode aus dem ROM 122a oder der Speichervorrichtung 126a zur Ausführung ab, und der Bootcode initialisiert die Systemkomponenten und lädt den Steuercode in den RAM 122b. Sobald der Steuercode in den RAM geladen ist, wird er durch den Prozessor ausgeführt. Der Steuercode enthält Treiber zum Durchführen grundlegender Aufgaben, wie beispielsweise Steuern und Zuweisen von Speicher, Priorisieren der Verarbeitung von Befehlen und Steuern von Eingabe- und Ausgabeports.
  • Im Allgemeinen kann der Steuercode Anweisungen einschließen, um die hierin beschriebenen Funktionen einschließlich der weiter unten erläuterten Schritte der Flussdiagramme durchzuführen und um die Spannungswellenformen einschließlich der weiter unten erläuterten bereitzustellen. Eine Steuerschaltung kann dazu eingerichtet sein, die Anweisungen auszuführen, um die hierin beschriebenen Funktionen durchzuführen.
  • Bei einer Ausführungsform ist der Host eine Rechenvorrichtung (z. B. ein Laptop, ein Desktop, ein Smartphone, ein Tablet, eine Digitalkamera), die einen oder mehrere Prozessoren, eine oder mehrere prozessorlesbare Speichervorrichtungen (RAM, ROM, Flashspeicher, Festplattenlaufwerk, Solid-State-Memory) einschließt, die einen prozessorlesbaren Code (z. B. eine Software) zum Programmieren der einen oder der mehreren Prozessoren speichert, um die hierin beschriebenen Verfahren durchzuführen. Der Host kann auch einen zusätzlichen Systemspeicher, eine oder mehrere Eingabe-/Ausgabeschnittstellen und/oder eine oder mehrere Eingabe-/Ausgabevorrichtungen einschließen, die mit dem einem oder den mehreren Prozessoren in Kommunikation stehen.
  • Andere Arten von nichtflüchtigen Speichern zusätzlich zu NAND-Flash-Speichern können ebenfalls verwendet werden.
  • Halbleiterspeichervorrichtungen schließen flüchtige Speichervorrichtungen ein, wie Dynamic Random Access Memory-Vorrichtungen („DRAM-Vorrichtungen“) oder Static Random Access Memory-Vorrichtungen („SRAM-Vorrichtungen“), nichtflüchtige Speichervorrichtungen, wie Resistive Random Access Memory („ReRAM“), Electrically Erasable Programmable Read Only Memory („EEPROM“), Flash-Speicher (der auch als Untergruppe eines EEPROM betrachtet werden kann), Ferroelectric Random Access Memory („FRAM“) und Magnetoresistive Random Access Memory („MRAM“), und andere Halbleiterelemente, die Informationen speichern können. Jeder Typ von Speichervorrichtung kann unterschiedliche Einrichtungen aufweisen. Zum Beispiel können Flash-Speichervorrichtungen in einer NAND- oder NOR-Einrichtung eingerichtet sein.
  • Die Speichervorrichtungen können aus passiven und/oder aktiven Elementen in beliebigen Kombinationen gebildet sein. Als nicht einschränkendes Beispiel schließen passive Halbleiterspeicherelemente ReRAM-Vorrichtungselemente ein, die in einigen Ausführungsformen ein widerstandsschaltendes Speicherelement wie ein Anti-Fuse- oder Phasenwechselmaterial und gegebenenfalls ein Lenkelement wie eine Diode oder einen Transistor einschließen. Ferner schließen als nicht einschränkendes Beispiel aktive Halbleiterspeicherelemente EEPROM- und Flash-Speichervorrichtungselemente ein, die in einigen Ausführungsformen Elemente einschließen, die einen Ladungsspeicherbereich enthalten, wie ein Floating-Gate, leitende Nanopartikel oder ein dielektrisches Ladungsspeichermaterial.
  • Mehrere Speicherelemente können derart eingerichtet sein, dass sie in Reihe geschaltet sind, oder derart, dass jedes Element einzeln zugänglich ist. Als nicht einschränkendes Beispiel enthalten Flash-Speichervorrichtungen in einer NAND-Einrichtung (NAND-Speicher) üblicherweise Speicherelemente, die in Reihe geschaltet sind. Eine NAND-Kette ist ein Beispiel für einen Satz von in Reihe geschalteten Transistoren, aufweisend Speicherzellen und SG-Transistoren.
  • Ein NAND-Speicherarray kann derart eingerichtet sein, dass das Array aus mehreren Speicherketten zusammengesetzt ist, in denen eine Kette aus mehreren Speicherelementen zusammengesetzt ist, die sich eine einzelne Bitleitung teilen und auf die als eine Gruppe zugegriffen wird. Alternativ können Speicherelemente derart eingerichtet sein, dass jedes Element einzeln zugänglich ist, z. B. ein NOR-Speicherarray. NAND- und NOR-Speichereinrichtungen sind Beispiele, und Speicherelemente können anderweitig eingerichtet sein.
  • Die Halbleiterspeicherelemente, die innerhalb eines und/oder über einem Substrat liegen, können in zwei oder drei Dimensionen angeordnet sein, wie als eine zweidimensionale Speicherstruktur oder eine dreidimensionale Speicherstruktur. Bei einer zweidimensionalen Speicherstruktur sind die Halbleiterspeicherelemente in einer einzigen Ebene oder einem einzigen Speichervorrichtungsniveau angeordnet. Üblicherweise sind Speicherelemente bei einer 2D-Speicherstruktur in einer Ebene (z. B. in einer x-y-Richtung-Ebene) angeordnet, die sich im Wesentlichen parallel zu einer Hauptoberfläche eines Substrats erstreckt, das die Speicherelemente trägt. Das Substrat kann ein Wafer sein, über oder in dem die Schicht der Speicherelemente gebildet ist, oder es kann ein Trägersubstrat sein, das an den Speicherelementen befestigt wird, nachdem diese gebildet werden. Als ein nicht einschränkendes Beispiel kann das Substrat einen Halbleiter, wie Silizium, einschließen.
  • Die Speicherelemente können auf der einzelnen Speichervorrichtungsebene in einem geordneten Array angeordnet sein, wie in einer Vielzahl von Zeilen und/oder Spalten. Jedoch können die Speicherelemente in nicht regelmäßigen oder nicht orthogonalen Einrichtungen angeordnet sein. Die Speicherelemente können jeweils zwei oder mehr Elektroden oder Kontaktleitungen, wie Bitleitungen und Wortleitungen, aufweisen.
  • Ein 3D-Speicherarray ist so angeordnet, dass Speicherelemente mehrere Ebenen oder mehrere Speichervorrichtungsniveaus belegen, wodurch eine Struktur in drei Dimensionen gebildet wird (d. h. in der x-, y- und z-Richtung, wobei die z-Richtung im Wesentlichen senkrecht und die x- und y-Richtung im Wesentlichen parallel zu der Hauptoberfläche des Substrats sind).
  • Als nichteinschränkendes Beispiel kann eine 3D-Speicherstruktur vertikal als Stapel mehrerer 2D-Speichervorrichtungsniveaus angeordnet sein. Als anderes nichteinschränkendes Beispiel kann ein 3D-Speicherarray als mehrere vertikale Spalten (z. B. Spalten, die sich im Wesentlichen senkrecht zu der Hauptoberfläche des Substrats erstrecken, d. h. in der y-Richtung) angeordnet sein, wobei jede Spalte mehrere Speicherelemente hat. Die Spalten können in einer 2D-Einrichtung angeordnet sein, z. B. in einer x-y-Ebene, was eine 3D-Anordnung von Speicherelementen mit Elementen auf mehreren vertikal gestapelten Speicherebenen ergibt. Andere Einrichtungen von Speicherelementen in drei Dimensionen können auch ein 3D-Speicherarray bilden.
  • Als nicht einschränkendes Beispiel können die Speicherelemente in einem 3D-NAND-Speicherarray miteinander gekoppelt sein, um eine NAND-Kette innerhalb eines einzigen horizontalen (z. B. x-y) Speichervorrichtungsniveaus zu bilden. Alternativ können die Speicherelemente miteinander gekoppelt sein, um eine vertikale NAND-Kette zu bilden, die über mehrere horizontale Speichervorrichtungsebenen verläuft. Andere 3D-Einrichtungen können in Betracht gezogen werden, wobei einige NAND-Ketten Speicherelemente in einem einzigen Speicherniveau enthalten, während andere Ketten Speicherelemente enthalten, die sich über mehrere Speicherniveaus erstrecken. 3D-Speicherarrays können auch als eine NOR-Einrichtung und als eine ReRAM-Einrichtung ausgelegt sein.
  • Üblicherweise werden in einem monolithischen 3D-Speicherarray ein oder mehrere Speichervorrichtungsniveaus oberhalb eines einzigen Substrats gebildet. Gegebenenfalls kann das monolithische 3D-Speicherarray auch eine oder mehrere Speicherschichten zumindest teilweise innerhalb des einzigen Substrats haben. Als ein nicht einschränkendes Beispiel kann das Substrat einen Halbleiter, wie Silizium, einschließen. In einem monolithischen 3D-Array werden die Schichten, die jedes Speichervorrichtungsniveau des Arrays bilden, üblicherweise auf den Schichten der darunter liegenden Speichervorrichtungsniveaus des Arrays gebildet. Schichten von benachbarten Speichervorrichtungsniveaus eines monolithischen 3D-Speicherarrays können jedoch gemeinsam genutzt werden oder Zwischenschichten zwischen Speichervorrichtungsniveaus haben.
  • 2D-Arrays können getrennt gebildet und dann zusammengepackt werden, um eine nichtmonolithische Speichervorrichtung mit mehreren Speicherschichten zu bilden. Zum Beispiel können nicht monolithische gestapelte Speicher konstruiert werden, indem Speicherebenen auf separaten Substraten gebildet und dann die Speicherebenen übereinander gestapelt werden. Die Substrate können vor dem Stapeln gedünnt oder aus den Speichervorrichtungsniveaus entfernt werden, aber da die Speichervorrichtungsniveaus anfangs über getrennten Substraten gebildet werden, sind die sich ergebenden Speicherarrays keine monolithischen 3D-Speicherarrays. Ferner können mehrere 2D-Speicherarrays oder 3D-Speicherarrays (monolithisch oder nichtmonolithisch) auf getrennten Chips gebildet und dann zusammengepackt werden, um eine Speichervorrichtung mit gestapelten Chips zu bilden.
  • Eine zugehörige Schaltung ist üblicherweise für den Betrieb der Speicherelemente und für die Kommunikation mit den Speicherelementen erforderlich. Als nicht einschränkende Beispiele können Speichervorrichtungen Schaltungen aufweisen, die zum Steuern und Ansteuern von Speicherelementen verwendet werden, um Funktionen, wie Programmieren und Lesen, auszuführen. Diese zugehörige Schaltung kann sich auf demselben Substrat wie die Speicherelemente und/oder auf einem separaten Substrat befinden. Zum Beispiel kann eine Steuerung für Schreib-/Lesevorgänge des Speichers auf einem separaten Steuerungschip und/oder auf demselben Substrat wie die Speicherelemente angeordnet sein.
  • Ein Fachmann wird erkennen, dass diese Technologie nicht auf die beschriebenen beispielhaften 2D- und 3D-Strukturen beschränkt ist, sondern alle relevanten Speicherstrukturen in dem Geist und Umfang der Technologie abdeckt, wie hierin beschrieben und wie es von einem Fachmann verstanden wird.
  • 2 ist ein Blockdiagramm, das eine Ausführungsform des Abtastblocks 51 aus 1 darstellt. Ein einzelner Abtastblock 51 kann in einen oder mehrere Kernabschnitte, die als Abtastschaltungen 60-63 oder Abtastverstärker bezeichnet werden, und in einen gemeinsamen Abschnitt, der als Verwaltungsschaltung 190 bezeichnet wird, unterteilt sein. Bei einer Ausführungsform gibt es eine getrennte Abtastschaltung für jede Bitleitung/NAND-Kette und eine gemeinsame Verwaltungsschaltung 190 für einen Satz von mehreren, z. B. vier oder acht, Abtastschaltungen. Jede der Abtastschaltungen in einer Gruppe kommuniziert mit der zugehörigen Verwaltungsschaltung über Datenbus 172. Somit gibt es eine oder mehrere Verwaltungsschaltungen, die mit den Abtastschaltungen eines Satzes von Speicherelementen kommunizieren.
  • Die Abtastschaltung 60 weist als ein Beispiel eine Abtastschaltlogik 170 auf, die ein Abtasten durchführt, indem bestimmt wird, ob sich ein Leitungsstrom in einer verbundenen Bitleitung oberhalb oder unterhalb eines vorbestimmten Schwellenpegels befindet. Die Abtastschaltung kann einen Abtastknoten 171 einschließen, der während des Abtastens aufgeladen wird. Ein Abfallbetrag des Abtastknotens wird verwendet, um zu bestimmen, ob sich eine Speicherzelle in einem leitenden oder nicht leitenden Zustand befindet. Siehe auch 16, Graph 1690. Die Abtastschaltung 60 schließt auch einen Bitleitungslatch 184 ein, der dazu verwendet wird, einen Spannungszustand an der verbundenen Bitleitung einzustellen. Zum Beispiel ergibt ein vorbestimmter Zustand, der in dem Bitleitungslatch zwischengespeichert ist, die verbundene Bitleitung, die in einen Zustand gezogen wird, der eine Programmiersperrung bezeichnet (z. B. 1,5 bis 3 V). Als ein Beispiel kann eine Flag = 0 ein Programmieren verhindern, während Flag = 1 ein Programmieren nicht verhindert. Während eines Programmvorgangs kann die Flag einem Bitleitungs(BL)-Selektor 173 bereitgestellt werden, der so ausgelegt ist, dass er VBL_sel, eine Spannung für eine ausgewählte Bitleitung oder NAND-Kette, oder VBL_unsel, eine Spannung für eine nicht ausgewählte Bitleitung oder NAND-Kette, an die Bitleitung weiterleitet. VBL_unsel, z. B. 2 V, verhindert die Programmierung, während VBL_sel, z. B. 0 V, die Programmierung nicht verhindert.
  • Während einem Abtastvorgang kann der BL-Selektor eine Erfassungsspannung, VBL_sense, z. B. 2 V, an einen Transistor 55 weiterleiten, um die Bitleitung aufzuladen. Der Transistor 55 kann zwischen der Bitleitung und der Abtastschaltung bereitgestellt werden, um eine Spannung der Bitleitung während des Abtastvorgangs zu klemmen. Vbl wird auf einen Pegel geklemmt, der gleich der Steuer-Gatespannung Vblc minus der Vth des Transistors ist. Zum Beispiel kann Vbl bei 2-1=1 V geklemmt werden. VBL_sense wird am Drain des Transistors angelegt und Vbl wird an der Source des Transistors bereitgestellt, der als Source-Folger fungiert. Die zum Aufladen einer Bitleitung benötigte Zeit kann je nach Datenzustand der ausgewählten Speicherzelle in der zugehörigen NAND-Kette variieren. Wenn der Datenzustand relativ hoch ist, z. B. der G-Zustand, ist der Widerstand der ausgewählten Speicherzelle relativ hoch, da der Betrag der Übersteuerung relativ niedrig ist. Das heißt, Vread bis Vth der Zelle ist relativ hoch. Daher wird die zum Aufladen einer Bitleitung benötigte Zeit relativ lang sein. Bei ausgewählten Speicherzellen verschiedener NAND-Ketten in verschiedenen Datenzuständen variieren die Spannungssignale auf verschiedenen Bitleitungen.
  • Wenn ein Abtastvorgang benachbarte NAND-Ketten beinhaltet, wie z. B. im Fall eines zweiten Satzes von NAND-Ketten, wie vorstehend erwähnt, verursacht die Variation auf benachbarten Bitleitungen eine Inter-Bit-Leitungskapazität und einen Verschiebungsstrom, der die zum Aufladen der Bitleitungen benötigte Zeit verlängert. Im Gegensatz dazu werden bei einem Abtastvorgang, der jede andere NAND-Kette beinhaltet, wie im Fall eines ersten Satzes von NAND-Ketten, die benachbarten Bitleitungen elektrisch von den Speicherzellen der NAND-Ketten getrennt, so dass es keine datenzustandsabhängigen Variationen in der Zeit zum Aufladen dieser Bitleitungen gibt. Außerdem wird kein Strom von der Bitleitung zum Speicherzellenkanal abgegriffen. Die zum Aufladen der Bitleitungen zugewiesene Zeit kann somit reduziert werden.
  • Die Verwaltungsschaltung 190 weist einen Prozessor 192, vier beispielhafte Sätze von Datenlatches 194 bis 197 und eine E/A-Schnittstelle 196 auf, die zwischen den Satz von Datenlatches 194 und Datenbus 120 gekoppelt ist. Für jede Abtastschaltung kann ein Satz von Daten-Latches bereitgestellt werden, der z. B. einzelne Latches LDL, MDL und UDL aufweist. In einigen Fällen können zusätzliche Datenlatches verwendet werden. LDL speichert ein Bit für eine untere Seite von Daten, MDL speichert ein Bit für eine untere Seite von Daten und UDL speichert ein Bit für eine obere Seite von Daten. Dies gilt für eine Speicherelement-Speichervorrichtung mit acht Niveaus oder drei Bits. Ein zusätzliches Datenlatch pro Bitleitung kann für jedes zusätzliche Datenbit pro Speicherelement bereitgestellt werden.
  • Der Prozessor 192 führt Berechnungen durch, um beispielsweise die Daten, die in dem abgetasteten Speicherelement gespeichert sind, zu bestimmen und die bestimmten Daten in dem Satz von Datenlatches zu speichern. Jeder Satz von Datenlatches 194 bis 197 wird verwendet, um Datenbits, die von dem Prozessor 192 während eines Lesevorgangs bestimmt werden, zu speichern und Datenbits, die von dem Datenbus 120 während eines Programmvorgangs importiert werden, zu speichern, die Schreibdaten darstellen, die in den Speicher programmiert werden sollen. Die E/A-Schnittstelle 196 stellt eine Schnittstelle zwischen Datenlatches 194 bis 197 und dem Datenbus 120 bereit.
  • Während eines Lesens steht der Betrieb des Systems unter der Steuerung von Zustandsmaschine 112, welche die Zufuhr von unterschiedlichen Steuergatespannungen zu dem adressierten Speicherelement steuert. Wenn es die verschiedenen vordefinierten SteuergateSpannungen entsprechend den verschiedenen Speicherzuständen, die von dem Speicher unterstützt werden, schaltet, kann die Abschaltschaltung bei einer dieser Spannungen auslösen und eine entsprechende Ausgabe wird von der Abtastschaltung an den Prozessor 192 über den Datenbus 172 bereitgestellt. An diesem Punkt bestimmt Prozessor 192 den sich ergebenden Speicherzustand unter Berücksichtigung des/der Auslöseereignisse(s) der Abtastschaltung und der Information über die angelegte Steuergatespannung von der Zustandsmaschine über Eingabeleitungen 193. Er berechnet dann eine binäre Codierung für den Speicherzustand und speichert die sich ergebenden Datenbits in Datenlatches 194 bis 197. In einer anderen Ausführungsform der Verwaltungsschaltung 190 dient der Bitleitungslatch sowohl als Latch zum Zwischenspeichern der Ausgabe der Abtastschaltung als auch als Bitleitungslatch, wie vorstehend beschrieben.
  • Einige Implementierungen können mehrere Prozessoren 192 einschließen. Bei einer Ausführungsform schließt jeder Prozessor 192 eine (nicht dargestellte) Ausgabeleitung ein, sodass jede der Ausgabeleitungen miteinander über eine ODER-Leitung verdrahtet ist. Bei einigen Ausführungsformen werden die Ausgabeleitungen invertiert, bevor sie mit der verdrahteten ODER-Leitung verbunden werden. Diese Einrichtung ermöglicht eine schnelle Bestimmung während eines Programmierverifizierungstests, wann der Programmierprozess abgeschlossen ist, weil die Zustandsmaschine, die das verdrahtete ODER empfängt, bestimmen kann, wann alle programmierten Bits den gewünschten Pegel erreicht haben. Wenn beispielsweise jedes Bit seinen gewünschten Pegel erreicht hat, wird eine logische Null für dieses Bit an die verdrahtete ODER-Leitung gesendet (oder eine Daten-Eins wird invertiert). Wenn alle Bits eine Daten-0 (oder eine invertierte Daten-Eins) ausgeben, dann weiß die Zustandsmaschine, dass sie das Programmierverfahren zu beenden hat. Da jeder Prozessor mit acht Abtastschaltungen kommuniziert, muss die Zustandsmaschine die verdrahtete ODER-Leitung acht mal lesen, oder dem Prozessor 192 wird eine Logik hinzugefügt, um die Ergebnisse der zugehörigen Bitleitungen zu akkumulieren, sodass die Zustandsmaschine die verdrahtete ODER-Leitung nur einmal lesen muss. In ähnlicher Weise kann die globale Zustandsmaschine durch korrektes Wählen der Logikpegel detektieren, wann das erste Bit seinen Zustand ändert, und die Algorithmen entsprechend ändern.
  • Während Programm- oder Verifiziervorgängen für Speicherzellen werden die zu programmierenden Daten (Schreibdaten) in dem Satz von Datenlatches 194 bis 197 von dem Datenbus 120 in den LDL-, MDL- und UDL-Latches in einer Implementierung mit drei Bits pro Speicherzelle gespeichert.
  • Der Programmvorgang weist unter der Steuerung der Zustandsmaschine eine Reihe von Programmierspannungsimpulsen auf, die an die Steuergates der adressierten Speicherelemente angelegt werden. Auf jeden Programmierspannungsimpuls folgt ein Rücklesen (Verifizieren), um zu bestimmen, ob das Speicherelement in den gewünschten Speicherzustand programmiert worden ist. In einigen Fällen überwacht Prozessor 192 den Zustand des zurückgelesenen Speichers in Bezug auf den gewünschten Speicherzustand. Wenn beide in Übereinstimmung sind, stellt der Prozessor 192 das Bitleitungslatch ein, um zu bewirken, dass die Bitleitung in einen Zustand gezogen wird, der eine Programmiersperrung bezeichnet. Dies verhindert, dass das Speicherelement, das an die Bitleitung gekoppelt ist, weiter programmiert wird, selbst wenn Programmierimpulse auf seinem Steuergate erscheinen. In anderen Ausführungsformen lädt der Prozessor anfänglich den Bitleitungs-Latch, und die Abtastschaltung stellt ihn während des Verifizierungsprozesses auf einen Sperrwert ein.
  • Jeder Satz von Datenlatches 194 bis 197 kann als ein Stapel von Daten-Latches für jede Abtastschaltung implementiert sein. Bei einer Ausführungsform gibt es drei Datenlatches pro Abtastschaltung 60. In einigen Implementierungen sind die Daten-Latches als Schieberegister implementiert, sodass die darin gespeicherten parallelen Daten in serielle Daten für den Datenbus 120 umgewandelt werden und umgekehrt. Alle Datenlatches, die dem Lese-/Schreibblock von Speicherelementen entsprechen, können miteinander verbunden werden, um ein Blockschieberegister zu bilden, sodass ein Datenblock durch serielle Übertragung eingegeben oder ausgegeben werden kann. Insbesondere ist die Bank von Lese/Schreibschaltungen so angepasst, dass jeder von ihrem Satz von Datenlatches Daten sequentiell in den Datenbus hinein oder aus diesem heraus verschiebt, als ob sie Teil eines Schieberegisters für den gesamten Lese-/Schreibblock sind.
  • Die Datenlatches identifizieren, wann ein zugehöriges Speicherelement bestimmte Abschnitte bei einem Programmvorgang erreicht hat. Zum Beispiel können Latches identifizieren, dass sich eine Vth eines Speicherelements unterhalb einer bestimmten Verifizierspannung befindet. Die Datenlatches geben an, ob ein Speicherelement gegenwärtig ein oder mehrere Bits von einer Seite von Daten speichert. Zum Beispiel können die LDL-Latches dazu verwendet werden, eine untere Seite von Daten zu speichern. Ein LDL-Latch wird gekippt (z. B. von 0 auf 1), wenn ein Bit der unteren Seite in einem zugehörigen Speicherelement gespeichert wird. Ein MDL- oder UDL-Latch wird gekippt, wenn ein Bit der mittleren oder oberen Seiten in einem zugehörigen Speicherelement gespeichert wird. Dies erfolgt, wenn ein zugehöriges Speicherelement ein Programmieren abschließt, z. B. wenn seine Vth eine Zielverifizierspannung wie VvA bis VvG überschreitet (siehe 9B).
  • 3 stellt eine beispielhafte Implementierung des Leistungssteuermoduls 116 aus 1 zum Bereitstellen von Spannungen an Blöcke von Speicherzellen dar. In diesem Beispiel schließt die Speicherstruktur 126 einen Satz 410 von vier zugehörigen Blöcken, BLK_0 bis BLK_3, und einen weiteren Satz 411 von vier zugehörigen Blöcken, BLK_4 bis BLK_7, ein. Die Blöcke können sich in einer oder mehreren Ebenen befinden. Der Zeilendecodierer 124 aus 1 stellt Spannungen an Wortleitungen und Auswahlgates jedes Blocks über Durchgangstransistoren 422 bereit. Der Zeilendecodierer stellt ein Steuersignal an Durchgangstransistoren bereit, die die Blöcke mit dem Zeilendecodierer verbinden. In einem Ansatz werden die Durchgangstransistoren jeden Satzes von Blöcken durch eine gemeinsame Steuer-Gate-Spannung gesteuert. Somit sind die Durchgangstransistoren für einen Satz von Blöcken zu einer gegebenen Zeit entweder alle ein- oder ausgeschaltet. Wenn die Durchgangstransistoren eingeschaltet sind, wird eine Spannung von dem Zeilendecodierer an die jeweiligen Steuer-Gate-Leitungen oder Wortleitungen bereitgestellt. Wenn die Durchgangstransistoren ausgeschaltet sind, wird der Zeilendecodierer von den jeweiligen Steuer-Gate-Leitungen oder Wortleitungen getrennt, so dass die Spannung auf den jeweiligen Steuer-Gate-Leitungen oder Wortleitungen floatet.
  • Zum Beispiel ist eine Steuer-Gate-Leitung 412 mit Sätzen von Durchgangstransistoren 413, 414, 415 und 416 verbunden, die wiederum mit Steuer-Gate-Leitungen von BLK_4, BLK_5, BLK_6 bzw. BLK_7 verbunden sind. Zum Beispiel ist eine SteuerGate-Leitung 417 mit Sätzen von Durchgangstransistoren 418, 419, 420 und 421 verbunden, die wiederum mit Steuer-Gate-Leitungen von BLK_0, BLK_1, BLK_2 bzw. BLK_3 verbunden sind.
  • In der Regel werden Programm- oder Lesevorgänge auf jeweils einem ausgewählten Block und auf einem ausgewählten Unterblock des Blocks durchgeführt. Ein Löschvorgang kann auf einem ausgewählten Block oder Unterblock durchgeführt werden. Der Zeilendecodierer kann globale Steuerleitungen 402 mit lokalen Steuerleitungen 403 verbinden. Die Steuerleitungen stellen Leiterbahnen dar. Spannungen werden auf den globalen Steuerleitungen von einer Anzahl von Spannungstreibern bereitgestellt. Einige der Spannungstreiber können Schaltern 450, die mit den globalen Steuerleitungen verbunden sind, Spannungen bereitstellen. Durchgangstransistoren 424 werden gesteuert, um Spannungen von den Spannungstreibern zu den Schaltern 450 zu leiten.
  • Die Spannungstreiber können einen ausgewählten Datenwortleitungstreiber (WL-Treiber) 447 einschließen, der eine Spannung auf einer Datenwortleitung bereitstellt, die während eines Programm- oder Lesevorgangs ausgewählt wird. Die Spannungstreiber können auch einen Treiber 448 für nicht ausgewählte Datenwortleitungen einschließen. Dabei kann es sich um restliche, nicht ausgewählte Wortleitungen, außer der ausgewählten Wortleitung, handeln. Die Spannungstreiber können auch einen drainseitigen Dummy-Wortleitungstreiber 449 einschließen, der Spannungen auf drainseitigen Dummy-Wortleitungen wie WLDD0 und WLDD1 bereitstellt, und einen sourceseitigen Dummy-Wortleitungstreiber 451, der Spannungen auf sourceseitigen Dummy-Wortleitungen wie WLDS1 und WLDS0 bereitstellt. Siehe 5A.
  • Die Spannungstreiber können auch separate SGD-Treiber für jeden Unterblock in einem Block einschließen. Zum Beispiel können SGD-Treiber 446, 446a, 446b und 446c für SB0, SB1, SB2 bzw. SB3 von BLK0, wie in 6 bis 8, bereitgestellt werden. In einer Option ist ein SGS-Treiber 445 den verschiedenen Unterblöcken in einem Block gemeinsam. In einer anderen Option werden separate SGS-Treiber für jeden Unterblock eines Blocks bereitgestellt. Darüber hinaus kann es in einigen Fällen, wie in 6 und 8 dargestellt, mehrere SGD-Transistoren, mehrere SGS-Transistoren, mehrere drainseitige Dummy-Speicherzellen und/oder mehrere sourceseitige Dummy-Speicherzellen in jeder NAND-Kette geben. Um die größte Flexibilität bei der Programmierung dieser Speicherzellen und Transistoren mit Programmierspannungen oder anderen wortleitungsspezifischen Parametern bereitzustellen, kann in einem Ansatz für jeden Auswahlgatetransistor und jede Dummy-Speicherzelle in einer NAND-Kette ein separater Treiber vorgesehen sein. Oder, der Einfachheit halber, die mehreren SGD-Transistoren können verbunden sein und gemeinsam angetrieben werden, die mehreren SGS-Transistoren können verbunden sein und gemeinsam angetrieben werden, die mehreren drainseitigen Dummy-Speicherzellen können verbunden sein und gemeinsam angetrieben werden und die mehreren sourceseitigen Dummy-Speicherzellen können verbunden sein und gemeinsam angetrieben werden.
  • Die verschiedenen Komponenten einschließlich des Zeilendecodierers können Befehle von einer Steuerung wie der Zustandsmaschine 112 oder der Steuerung 122 empfangen, um die hierin beschriebenen Funktionen durchzuführen.
  • In einem Ansatz ist die Wellregion 433 (siehe auch 5A) den Blöcken gemeinsam und kann durch einen Spannungstreiber 430 angetrieben werden. Ein Satz von Bitleitungen wird von den Blöcken auch gemeinsam genutzt. Während eines Programmvorgangs stellt ein BL_sel-Bitleitungsspannungstreiber 440 Spannungen an die ausgewählten Bitleitungen bereit und ein BL_unsel-Bitleitungsspannungstreiber 440a stellt Spannungen an die nicht ausgewählten Bitleitungen bereit. Diese Bitleitungstreiber können auch von den entsprechenden Bitleitungen getrennt werden, damit die Bitleitungsspannung floaten kann. In einigen Fällen ist es, wie erwähnt, wünschenswert, die Spannungen von Bitleitungen, die nicht mit NAND-Ketten verbunden sind, zu floaten. Während eines Abtastvorgangs stellt ein BL_sense-Bitleitungsspannungstreiber 440b den Bitleitungen Spannungen zur Verfügung.
  • In einer gestapelten Speichervorrichtung, wie sie in den 4 bis 8 dargestellt ist, können Sätze von verbundenen Speicherzellen in NAND-Ketten angeordnet sein, die sich vertikal von dem Substrat nach oben erstrecken. Die Unterseite (oder das Sourceende) jeder NAND-Kette ist in Kontakt mit der Wellregion, und das obere Ende (oder Drainende) jeder NAND-Kette ist in einem Ansatz mit einer jeweiligen Bitleitung verbunden. Die sich vertikal erstreckenden NAND-Ketten haben einen Floating-Kanal.
  • 4 ist eine perspektivische Ansicht einer Speichervorrichtung 500, die einen Satz von Blöcken in einer beispielhaften 3D-Einrichtung der Speicherstruktur 126 aus 1 aufweist. Auf dem Substrat 501 befinden sich Beispielblöcke BLK0, BLK1, BLK2 und BLK3 von Speicherzellen (Speicherelementen) und Peripheriebereiche mit Schaltungen zur Verwendung durch die Blöcke. Der Peripheriebereich 504 verläuft entlang einer Kante jedes Blocks, während sich der Peripheriebereich 505 an einem Ende des Satzes von Blöcken befindet. Der Schaltkreis kann Spannungstreiber einschließen, die mit Steuergateschichten, Bitleitungen und Sourceleitungen der Blöcke verbunden werden können. Bei einem Ansatz werden Steuergateschichten auf einer gemeinsamen Höhe in den Blöcken gemeinsam angesteuert. Das Substrat 501 kann auch einen Schaltkreis unter den Blöcken und eine oder mehrere untere Metallschichten tragen, die in Leiterbahnen strukturiert sind, um Signale des Schaltkreises zu tragen. Die Blöcke sind in einer Zwischenregion 502 der Speichervorrichtung ausgebildet. In einem oberen Bereich 503 der Speichervorrichtung sind eine oder mehrere obere Metallschichten in Leiterbahnen strukturiert, um Signale des Schaltkreises zu tragen. Jeder Block weist einen gestapelten Bereich von Speicherzellen auf, wobei alternierende Ebenen des Stapels Wortleitungen darstellen. In einem möglichen Ansatz hat jeder Block gegenüberliegende abgestufte Seiten, von denen sich vertikale Kontakte nach oben zu einer oberen Metallschicht erstrecken, um Verbindungen zu Leiterbahnen herzustellen. Während vier Blöcke beispielhaft dargestellt sind, können zwei oder mehr Blöcke verwendet werden, die sich in x - und/oder y-Richtung erstrecken.
  • In einem möglichen Ansatz befinden sich die Blöcke in einer Ebene und die Länge der Ebene in x-Richtung stellt eine Richtung dar, in der sich Signalpfade zu Wortleitungen in der einen oder den mehreren oberen Metallschichten erstrecken (eine Wortleitungs- oder SGD-Leitungsrichtung), und die Breite der Ebene in der y-Richtung stellt eine Richtung dar, in der sich Signalpfade zu Bitleitungen in der einen oder den mehreren oberen Metallschichten (einer Bitleitungsrichtung) erstrecken. Die z-Richtung stellt eine Höhe der Speichervorrichtung dar. Die Blöcke könnten auch in mehreren Ebenen angeordnet sein.
  • 5A zeigt eine beispielhafte Querschnittsansicht eines Abschnitts von BLKO aus 4 dar, wobei die NAND-Ketten 700n und 710z über die Durchkontaktierungen 621 und 621a jeweils mit einer Bitleitung BL0 verbunden sind. Der Block weist einen Stapel 610 von alternierenden leitenden und dielektrischen Schichten auf. In diesem Beispiel weisen die leitenden Schichten zwei SGD-Schichten, eine SGS-Schicht, zwei sourceseitige Dummy-Wortleitungsschichten (oder Wortleitungen) WLDS1 und WLDS0, zwei drainseitige Dummy-Wortleitungsschichten WLDD1 und WLDD0 und zehn Datenwortleitungsschichten (oder Datenwortleitungen) WLL0 bis WLL9 auf. WLL0 ist eine Sourceseitendatenwortleitung und WLDS1 ist eine Dummy-Wortleitungsschicht, die der Sourceseitendatenwortleitung benachbart ist. WLDS0 ist eine andere Dummy-Wortleitungsschicht, die WLDS1 benachbart ist. WLL9 ist eine drainseitige Datenwortleitung und WLDD1 ist eine Dummy-Wortleitungsschicht, die der drainseitigen Datenwortleitung benachbart ist. WLDD0 ist eine andere Dummy-Wortleitungsschicht, die WLDD1 benachbart ist. Die dielektrischen Schichten werden als DL1 bis DL18 bezeichnet. Weiterhin sind Bereiche des Stapels dargestellt, die die NAND-Ketten 700n und 710z aufweisen. Jede NAND-Kette umfasst ein Speicherloch 618 oder 619, das mit Materialien gefüllt ist, die Speicherzellen bilden, die den Wortleitungen benachbart sind. Die Region 622 des Stapels ist in 5C ausführlicher gezeigt.
  • Der Stapel schließt ein Substrat 611 ein. In einem Ansatz weist ein Abschnitt der Sourceleitung SL eine Wellregion 433 (siehe auch 3) als eine n-artige Sourcediffusionsschicht oder einen Well in dem Substrat auf. Die Wellregion ist in Kontakt mit einem Sourceende jeder Kette von Speicherzellen in einem Block. An diese Schicht kann in einem Löschvorgang ein Löschimpuls angelegt werden. In einer möglichen Implementierung ist die n-artige Wellregion 433 in einer p-artigen Wellregion 611a ausgebildet, die wiederum in einer n-artigen Wellregion 611b ausgebildet ist, die wiederum in einer möglichen Implementierung in einem p-artigen Halbleitersubstrat 611c ausgebildet ist. Die n-artige Sourcediffusionsschicht kann bei einem Ansatz von allen Blöcken in einer Ebene gemeinsam genutzt werden.
  • Die NAND-Kette 700n hat ein Sourceende 613 an einer Unterseite 616b des Stapels 616 und ein Drainende 615 an einer Oberseite 616a des Stapels. Die NAND-Kette 710z hat ein Sourceende 613a an einer Unterseite 616b des Stapels 616 und ein Drainende 615a an einer Oberseite 616a des Stapels. Metallgefüllte Schlitze 617 und 620 können periodisch über dem Stapel als Verbindungen bereitgestellt werden, die sich durch den Stapel erstrecken, um beispielsweise die Sourceleitung mit einer Leitung über dem Stapel zu verbinden. Die Schlitze können während der Herstellung der Wortleitungen verwendet und anschließend mit Metall gefüllt werden. Ein Abschnitt einer Bitleitung BL0 ist auch dargestellt. Leitende Durchkontaktierungen 621 und 621a verbinden die Drainenden 615 und 615a auf den NAND-Ketten mit BL0. Die Durchkontaktierungen sind Leiterbahnen, die die Oberseite der NAND-Ketten mit den Bitleitungen verbinden, die sich horizontal über den Stapel erstrecken. Die Durchkontaktierungen können zum Beispiel Metall aufweisen. Eine Durchkontaktierung kann an ihrer Unterseite an einen obersten SGD-Transistor (z. B. den Drain-Anschluss D des SGD-Transistors, siehe 5B) einer NAND-Kette und an ihrer Oberseite an das Ende einer Bitleitung angeschlossen werden. Die Durchkontaktierungen können in einem isolierenden Bereich 550 auf der Oberseite des Stapels gebildet werden, indem der isolierende Bereich abgeschieden wird, eine Maske gebildet wird, durch die Maske geätzt wird, um Hohlräume zu bilden, und die Hohlräume mit Metall oder einem anderen leitfähigen Material gefüllt werden. Die Durchkontaktierungen können in einem Ansatz einen kreisförmigen Querschnitt besitzen.
  • Bei einem Ansatz weist der Block von Speicherzellen einen Stapel von alternierenden Steuergate- und dielektrischen Schichten auf und die Speicherzellen sind in sich vertikal erstreckenden Speicherlöchern in dem Stapel angeordnet.
  • In einem Ansatz weist jeder Block eine terrassenförmige Kante auf, in der vertikale Verbindungen mit jeder Schicht, einschließlich der Schichten SGS, WL und SGD, verbunden sind und sich nach oben bis zu horizontalen Pfaden zu Spannungstreibern erstrecken.
  • Ein isoliergefüllter Bereich 614 trennt den Block in Unterblöcke, wobei sich die NAND-Ketten 700n und 710z in verschiedenen Unterblöcken befinden.
  • 5B stellt einen beispielhaften Transistor 650 dar. Der Transistor weist ein Steuergate CG, einen Drain D, eine Source S und einen Kanal CH auf und kann zum Beispiel eine Speicherzelle oder einen Auswahlgatetransistor darstellen.
  • 5C stellt eine Detailansicht der Region 622 des Stapels aus 5A dar. Speicherzellen sind an den verschiedenen Ebenen des Stapels an dem Schnittpunkt einer Wortleitungsschicht und eines Speicherlochs ausgebildet. In diesem Beispiel sind die SGD-Transistoren 717 und 716 über die Dummy-Speicherzellen 715 und 714 und einer Datenspeicherzelle 713 bereitgestellt. Diese SGD-Transistoren befinden sich am Drainende der NAND-Kette.
  • Eine Reihe von Schichten kann entlang der Seitenwand (SW) des Speicherlochs 630 und/oder innerhalb jeder Wortleitungsschicht abgeschieden werden, z. B. unter Verwendung von atomarer Schichtabscheidung. Zum Beispiel kann jede Säule 685 oder Spalte, die von den Materialien innerhalb eines Speicherlochs gebildet wird, eine Blockieroxidschicht 663, eine Ladungsfängerschicht 664 oder eine Folie wie Siliziumnitrid (Si3N4) oder ein anderes Nitrid, eine Tunnelschicht 665 (z. B. ein Gate-Oxid aufweisend, das sich im Lauf der Zeit abbaut), einen Kanal 660 (z. B. Polysilizium aufweisend) und einen dielektrischen Kern 666 (z. B. ein Siliziumdioxid aufweisend) einschließen. Eine Wortleitungsschicht kann eine Metallbarriere 661 und ein leitendes Metall 662 wie Wolfram als ein Steuer-Gate einschließen. Beispielsweise sind die Steuer-Gates 690 bis 694 bereitgestellt. In diesem Beispiel sind alle Schichten mit Ausnahme des Metalls in dem Speicherloch bereitgestellt. In anderen Ansätzen können einige der Schichten in der Steuergateschicht sein. Zusätzliche Säulen sind gleichermaßen in den verschiedenen Speicherlöchern ausgebildet. Eine Säule kann eine säulenförmige aktive Fläche (AA) einer NAND-Kette bilden.
  • Jede NAND-Kette oder jeder Satz von verbundenen Transistoren weist einen Kanal auf, der sich kontinuierlich von einem oder mehreren Sourceend-Auswahlgatetransistoren zu einem oder mehreren Drainend-Auswahlgatetransistoren erstreckt. Zum Beispiel erstrecken sich die Kanäle 700a, 710a, 720a und 730a kontinuierlich in den NAND-Ketten 700n, 710z, 720n bzw. 730n. Der Kanal 700a erstreckt sich kontinuierlich in den NAND-Ketten 700n von dem SGS-Transistor 701 zu den SGD-Transistoren 716 und 717. Der Kanal 700a ist kontinuierlich, da er ununterbrochen ist und daher eine kontinuierliche Leiterbahn in der NAND-Kette bereitstellen kann.
  • Wenn eine Speicherzelle programmiert wird, werden Elektronen in einem Teil der Ladungseinfangschicht gespeichert, welche der Speicherzelle zugeordnet ist. Diese Elektronen werden in die Ladungseinfangschicht aus dem Kanal und durch die Tunnelschicht gezogen. Die Vth einer Speicherzelle wird proportional zu der Menge der gespeicherten Ladung erhöht. Während eines Löschvorgangs kehren die Elektronen in den Kanal zurück.
  • Jedes der Speicherlöcher kann mit einer Vielzahl von ringförmigen Schichten gefüllt sein, die eine Blockieroxidschicht, eine Ladungseinfangschicht, eine Tunnelschicht und eine Kanalschicht aufweisen. Eine Kernregion jedes der Speicherlöcher ist mit einem Körpermaterial gefüllt und die Vielzahl von ringförmigen Schichten befindet sich zwischen der Kernregion und der Wortleitung in jedem der Speicherlöcher.
  • Die NAND-Kette kann als einen Floating-Body-Kanal aufweisend betrachtet werden, da die Länge des Kanals nicht auf einem Substrat ausgebildet ist. Weiterhin wird die NAND-Kette durch eine Vielzahl von Wortleitungsschichten bereitgestellt, die übereinander in einem Stapel angeordnet und durch dielektrische Schichten voneinander getrennt sind.
  • 5D stellt eine beispielhafte Querschnittsansicht eines Abschnitts von BLKO aus 4 dar, wobei die NAND-Ketten 700n und 710z von einer Bitleitung BL0 getrennt sind. In diesem Fall werden im isolierenden Bereich 550 auf der Oberseite des Stapels keine Durchkontaktierungen gebildet, so dass die NAND-Ketten 700n und 710z nicht mit einer Bitleitung verbunden sind. Die Bereiche 621c und 621d repräsentieren Abschnitte des isolierten Bereichs 550, in denen sonst die Durchkontaktierungen hergestellt würden. Die NAND-Ketten sind Dummy- oder Opfer-NAND-Ketten, da auf sie nicht zum Lesen oder Schreiben von Daten zugegriffen werden kann. Möglicherweise ist es wünschenswert, die Dummy-NAND-Ketten herzustellen und die Herstellung der Durchkontaktierungen zu unterlassen, anstatt den Herstellungsprozess so anzupassen, dass die Herstellung der Dummy-NAND-Ketten vermieden wird. Eine andere Option, die in 12F gezeigt wird, vermeidet jedoch die Herstellung der Dummy-NAND-Strings und der Hohlräume.
  • 6 stellt eine beispielhafte Ansicht von NAND-Ketten in BLKO in Übereinstimmung mit 4, 5A und 5D dar. Die NAND-Ketten sind in Unterblöcken des Blocks in einer 3D-Einrichtung angeordnet. Jeder Unterblock schließt mehrere NAND-Ketten ein, wobei eine beispielhafte NAND-Kette dargestellt ist. Zum Beispiel weisen SB0, SB1, SB2 und SB3 beispielhafte NAND-Ketten 700n, 710z, 720n bzw. 730n auf. Die NAND-Ketten haben Datenwortleitungen, Dummy-Wortleitungen und Auswahlgateleitungen in Übereinstimmung mit 5A. Jeder Unterblock weist einen Satz von NAND-Ketten auf, die sich in der x-Richtung erstrecken und die eine gemeinsame SGD-Leitung oder Steuer-Gate-Schicht haben. Die NAND-Ketten 700n, 710z, 720n und 730n befinden sich in Unterblöcken SB0, SB1, SB2 beziehungsweise SB3. Die Programmierung des Blocks kann basierend auf einer Wortleitungsprogrammierreihenfolge erfolgen. Eine Möglichkeit besteht darin, die Speicherzellen in unterschiedlichen Abschnitten einer Wortleitung zu programmieren, die sich in den unterschiedlichen Unterblöcken befinden, jeweils ein Unterblock nacheinander, bevor die Speicherzellen der nächsten Wortleitung programmiert werden. Eine andere Möglichkeit besteht darin, alle Speicherzellen in einem Unterblock zu programmieren, jeweils einen Wortleitungsabschnitt nacheinander, bevor die Speicherzellen des nächsten Unterblocks programmiert werden. Die Wortleitungsprogrammierreihenfolge kann bei WL0, der Sourceend-Wortleitung, beginnen und beispielsweise bei WLL9, der Drainend-Wortleitung, enden.
  • Die NAND-Ketten 700n, 710z, 720n und 730n weisen Kanäle 700a, 710a, 720a beziehungsweise 730a auf.
  • Zusätzlich schließt die NAND-Kette 700n den SGS-Transistor 701, die Dummy-Speicherzellen 702 und 703, die Datenspeicherzellen 704 bis 713, die Dummy-Speicherzellen 714 und 715 und die SGD-Transistoren 716 und 717 ein. Die NAND-Kette 710z schließt den SGS-Transistor 721, die Dummy-Speicherzellen 722 und 723, die Datenspeicherzellen 724 bis 733, die Dummy-Speicherzellen 734 und 735 und die SGD-Transistoren 736 und 737 ein. Die NAND-Kette 720n schließt den SGS-Transistor 741, die Dummy-Speicherzellen 742 und 743, die Datenspeicherzellen 744 bis 753, die Dummy-Speicherzellen 754 und 755 und die SGD-Transistoren 756 und 757 ein. Die NAND-Kette 730n schließt den SGS-Transistor 761, die Dummy-Speicherzellen 762 und 763, die Datenspeicherzellen 764 bis 773, die Dummy-Speicherzellen 774 und 775 und die SGD-Transistoren 776 und 777 ein.
  • Ein oder mehrere SGD-Transistoren sind an dem Drainende jeder NAND-Kette bereitgestellt, und ein oder mehrere SGS-Transistoren sind an dem Source-Ende jeder NAND-Kette bereitgestellt. Die SGD-Transistoren in SB0, SB1, SB2 und SB3 können in einem Ansatz durch separate Steuerleitungen SGD0(0) und SGD1(0), SGD0(1) und SGD1(1), SGD0(2) und SGD1(2) bzw. SGD0(3) und SGD1(3) angesteuert werden. In einem anderen Ansatz sind alle SGD-Transistoren in einem Unterblock verbunden und werden gemeinsam angesteuert. Die SGS-Transistoren in SB0, SB1, SB2 und SB3 können durch separate Steuerleitungen SGS(0), SGS(1), SGS(2) bzw. SGS(3) angesteuert werden. In einem anderen Ansatz sind alle SGS-Transistoren in einem Block verbunden und werden gemeinsam angesteuert.
  • 7 stellt Steuer-Gate-Schichten in BLKO in Übereinstimmung mit 6 dar. Die Steuer-Gate-Schichten sind in einem Stapel 800 angeordnet und schließen die Dummy-Wortleitungsschichten oder Steuer-Gate-Schichten WLDS0, WLDS1, WLDD0 und WLDD1 sowie die Datenwortleitungsschichten oder Steuer-Gate-Schichten WLL0 bis WLL9 ein, die von den verschiedenen Unterblöcken SB0 bis SB3 gemeinsam genutzt werden. Die Steuer-Gate-Schichten schließen eine gemeinsame SGS-Steuer-Gate-Schicht für den Block ein. Optional könnte eine separate SGS-Steuer-Gate-Schicht für jeden Unterblock bereitgestellt werden. Zum Beispiel schließen SB0, SB1, SB2 und SB3 SGD0(0) und SGD1(0), SGD0(1) und SGD1(1), SGD0(2) und SGD1(2), bzw. SB3 SGD0(3) und SGD1(3) ein. Außerdem sind vier beispielhafte Speicherlöcher in jedem Unterblock dargestellt. Die SGD-Transistoren 717, 717a, 717b und 717c sind in SGD0(0) dargestellt, der SGD-Transistor 716 ist in SGD1(0) dargestellt und eine Dummy-Speicherzelle 715 ist in WLDD0 dargestellt.
  • 8 stellt zusätzliche Details von SB0 und SB1 von 6 und 7 dar. Die NAND-Kette 700n von 6 ist zusammen mit zusätzlichen NAND-Ketten 701n bis 707n dargestellt, die ebenfalls in SB0 sind. Die NAND-Ketten in einem Unterblock haben SGD-Transistoren mit verbundenen Steuergates. Jede Speicherzelle ist der Einfachheit halber als Würfel dargestellt. Eine Bitleitung ist mit jeder jeweiligen NAND-Kette verbunden. In diesem Beispiel sind sechzehn NAND-Ketten mit den Bitleitungen BL0 bis BL15 verbunden. Beispielsweise sind BL0 bis BL3 jeweils mit den NAND-Ketten 700n bis 703n und BL12 bis BL15 mit den NAND-Ketten 712n bis 715n verbunden. Abtastschaltungen können mit jeder Bitleitung verbunden sein. Zum Beispiel können die Abtastschaltungen 60 bis 63 von 2. jeweils mit den Bitleitungen BL0 bis BL3 verbunden sein.
  • Jede Seite von Speicherzellen ist mit einer Wortleitung verbunden. Beispielsweise ist ein Satz von Speicherzellen 704 bis 704g in NAND-Ketten 700n bis 707n jeweils mit WLL0 verbunden.
  • Während eines Programmvorgangs können einige der NAND-Ketten in einem Unterblock zum Programmieren ausgewählt werden, wenn die zugehörigen Latches einen Programmzustand haben, und andere NAND-Ketten in dem Unterblock können zum Programmieren nicht ausgewählt werden, wenn die zugehörigen Latches einen Sperrzustand haben. Die NAND-Ketten mit einem Programm- oder Sperrzustand sind datenspeichernde NAND-Ketten, die zum Speichern von Daten geeignet sind. Bei Dummy-NAND-Ketten, die nicht zur Datenspeicherung geeignet sind, können die zugeordneten Bitleitungen während der Programm- oder Lesevorgänge in einem Ansatz gefloatet werden, um eine Kapazität der Bitleitungen zur Datenspeicherung von NAND-Ketten zu verringern.
  • Beispielhafte NAND-Ketten 710z und 711z im Unterblock SB1 sind ebenfalls dargestellt und verfügen über beispielhafte Speicherzellen 724 bzw. 724a, die mit WLL0 verbunden sind. Während eines Programm- oder Lesevorgangs kann ein Unterblock angewählt werden, während andere Unterblöcke nicht angewählt sind. Außerdem werden die mit einer ausgewählten Wortleitung verbundenen Speicherzellen für den Programm- oder Lesevorgang ausgewählt, während die mit den verbleibenden, nicht ausgewählten Wortleitungen verbundenen Speicherzellen für den Programm- oder Lesevorgang nicht ausgewählt werden.
  • 9A stellt die Schwellenwertspannungsverteilungen (Vth-Verteilungen) 900 und 901 von SLC-Speicherzellen in einem gelöschten Zustand (Er-Zustand) bzw. einem programmierten Zustand (P-Zustand) dar. In 9A bis 9C stellt die vertikale Achse eine Reihe von Speicherzellen auf einer logarithmischen Skala dar und die horizontale Achse stellt die Vth auf einer linearen Skala dar. Zu Beginn wird ein Block von Speicherzellen gelöscht, und die Speicherzellen befinden sich in dem Er-Zustand. Der Löschvorgang kann die Löschverifizierspannung VvEr verwenden, um die Vth-Verteilung 900 bereitzustellen. Anschließend bleiben, wenn ein Programmvorgang durchgeführt wird, einige der Speicherzellen in dem Er-Zustand, während andere in den P-Zustand in einer oder mehreren Programmschleifen programmiert werden. Der Programmvorgang kann die Programmierverifizierspannung VvP verwenden, um die Vth-Verteilung 901 bereitzustellen.
  • In diesem Beispiel sind die Speicherzellen SLC- Speicherzellen, die in einer oder zwei Programmschleifen, z. B. unter Verwendung von einem oder zwei Programmierspannungen oder -impulsen, programmiert werden, so wie beim Verwenden des Spannungssignals von 10A. Es sei beispielsweise angenommen, dass die Vth-Verteilung 901 nach einem Programmierimpuls erhalten wird. Ein Verifizierungstest kann nach dem ersten Programmierimpuls durchgeführt werden, um sicherzustellen, dass Vth>VvP ist; andernfalls kann ein zweiter Programmierimpuls angelegt werden. Die SLC-Speicherzellen können somit sehr schnell programmiert werden, im Vergleich zu MLC Speicherzellen, die unter Verwendung von mehreren Programmierimpulsen programmiert werden.
  • 9B stellt eine beispielhafte Vth-Verteilung eines Satzes von MLC-Speicherzellen in acht Datenzuständen dar. In einem Ansatz befinden sich die Speicherzellen zu Beginn eines Programmvorgangs alle in dem gelöschten Zustand, wie durch die Vth-Verteilung 910 dargestellt. Nachdem der Programmvorgang erfolgreich abgeschlossen ist, werden die dem Er-Zustand zugewiesenen Speicherzellen durch die Vth-Verteilung 910a dargestellt, wobei die Vth-Verteilung aufgrund von Programmstörung heraufgeschaltet wird.
  • Die Speicherzellen, die unter Verwendung von Verifizierspannungen von VvA, VvB, VvC, VvD, VvE, VvF bzw. VvG in den A-, B-, C-, D-, E-, F-, und G-Zustand programmiert werden sollen, sind durch die Vth-Verteilungen 911, 912, 913, 914, 915, 916 beziehungsweise 917 dargestellt. Die Verifizierspannungen werden in den Programmierverifizierungstests der Speicherzellen verwendet. Die Lesespannungen VrA, VrB, VrC, VrD, VrE, VrF und VrG können zum Lesen der Zustände der Speicherzellen in einem Lesevorgang verwendet werden. Diese Verifizierspannungen und Lesespannungen sind Beispiele für Steuergatelesepegel der ausgewählten Wortleitungsspannung.
  • In einem Löschvorgang gehen die Datenspeicherzellen von den Vth-Verteilungen der programmierten Datenzustände, z. B. Zustände A bis G, in den gelöschten Zustand über. Der Löschvorgang schließt eine Löschphase ein, in der die Speicherzellen zum Löschen vorgespannt werden, gefolgt von einem Löschverifizierungstest. Der Löschverifizierungstest kann eine Löschverifizierspannung VvEr verwenden.
  • 9C stellt eine beispielhafte Vth-Verteilung von ausgewählten Gate-Transistoren dar. Wie z. B. in Verbindung mit 11F beschrieben, können Dummy-NAND-Ketten erstellt werden, indem ihre SGD-Transistoren auf eine höhere Vth-Verteilung programmiert werden als die SGD-Transistoren von datenspeichernden NAND-Ketten. Beispielsweise können die SGD-Transistoren zum Zeitpunkt der Herstellung oder periodisch während der Lebensdauer der Speichervorrichtung unter Verwendung einer Löschspannung VvEr gelöscht werden, um die Vth-Verteilung 920 zu erreichen. Anschließend können die SGD-Transistoren unter Verwendung eines Spannungssignals ähnlich demjenigen in 10A und 10B programmiert werden. Insbesondere kann eine Prüfspannung VvP1 oder VvP2 verwendet werden, um die Vth-Verteilung 921 oder 922 in den jeweiligen Zuständen P1 oder P2 zu erreichen. Die niedrigere Vth-Verteilung 921 dient für Dummy-NAND-Ketten und die höhere Vth-Verteilung 922 dient für datenspeichernde NAND-Ketten.
  • Angenommen, ein Unterblock weist Dummy-NAND-Ketten und datenspeichernde NAND-Ketten auf, und die Steuer-Gates der SGD-Transistoren sind verbunden. Die Vtel des Zustands P2 (und VvP2) kann höher eingestellt werden als Vsgd_max, die höchste SGD-Spannung, die beim Zugriff auf die datenspeichernden NAND-Ketten angelegt wird. Zum Beispiel kann Vsgd_max eine SGD-Spannung sein, die während der Vorladephase eines Programmvorgangs (siehe Vsg in 15) oder während eines Lesevorgangs (siehe Vsg in 16) angelegt wird. In einem Beispiel ist Vsgd_max=6 V und VvP2=6,5 bis 7 V. Wenn die SGD Vth ausreichend hoch eingestellt ist, bleiben die SGD-Transistoren für die Dummy-NAND-Ketten während eines Programm- oder Lesevorgangs für eine datenspeichernde NAND-Kette, die mit gemeinsamen Bitleitungen verbunden ist, auch bei Vbl=0 V in einem nichtleitenden Zustand. Im Gegensatz dazu können die SGD-Transistoren für die datenspeichernden NAND-Ketten mit einer niedrigeren SGD Vth (z. B. 3 V) beispielsweise zwischen einem leitenden Zustand, durch Anlegen von Vbl=0 V und einem nicht leitenden Zustand, durch Anlegen von Vbl=2,5 bis 3 V, übergehen. Ein SGD-Transistor ist leitend, wenn seine Steuer-Gate-Spannung (Vsg) größer ist als die Summe aus Vth und der Drain-Spannung (z. B. Vbl). Die Vth der SGD-Transistoren sollte nicht zu hoch sein, um Störungen benachbarter Transistoren zu vermeiden.
  • Für einen Dummy-NAND-String mit mehreren SGD-Transistoren können einer oder mehrere wie beschrieben mit der hohen Vth versehen werden.
  • 10A stellt ein Spannungssignal dar, das in einer Reihe von Programmschleifen in einem beispielhaften Programmvorgang für SLC-Speicherzellen verwendet wird, das zu der Vth-Verteilung aus 9A führt. Wie erwähnt, kann die SLC-Programmierung relativ schnell sein, da sie in einem Ansatz einen oder manchmal zwei Programmierimpulse involviert. In 10A und 10B bezeichnet die horizontale Achse eine Programmschleifenanzahl und die vertikale Achse bezeichnet die Spannung. Das Spannungssignal 1050 schließt einen Programmierimpuls 1051 und eine Programmierverifizierspannung VvP 1052 in einer ersten Programmschleife, und einen Programmierimpuls 1053 und eine Programmierverifizierspannung VvP 1054 in einer zweiten und letzten Programmschleife ein. Das Spannungssignal wird an eine zum Programmieren ausgewählte Wortleitung angelegt. Die Anfangsprogrammierspannung und die Schrittgröße können für die SLC-Programmierung von 10A unterschiedlich sein im Vergleich zu der MLC-Programmierung von 10B.
  • 10B stellt ein Spannungssignal dar, das in einer Reihe von Programmschleifen in einem beispielhaften Programmvorgang für MLC-Speicherzellen verwendet wird, das zu der Vth-Verteilung aus 9B führt. Während eines Programmvorgangs werden Programmschleifen für eine ausgewählte Wortleitung in einem ausgewählten Block durchgeführt. Eine Programmschleife weist einen Programmabschnitt auf, in dem eine Programmierspannung oder ein Programmierimpuls an die ausgewählte Wortleitung angelegt wird, gefolgt von einem Verifizierabschnitt, in dem ein Verifiziersignal an die ausgewählte Wortleitung angelegt wird, während ein oder mehrere Verifizierungstests, die als Programmverifizierungstests bezeichnet werden, für die zugewiesenen Speicherzellen durchgeführt werden. Anders als der Löschzustand hat jeder zugewiesene Zustand eine Verifizierspannung, die in dem Verifizierungstest für den Zustand in einem Programmvorgang verwendet wird.
  • Das Spannungssignal 1000 schließt eine Reihe von Programmierimpulsen ein, die eine Anfangsprogrammierspannung 1001 einschließen, die an eine zum Programmieren ausgewählte Wortleitung angelegt werden. In diesem Beispiel schließt das Spannungssignal Programmierspannungen ein, bei denen sich die Amplitude schrittweise bei einer oder mehreren Programmschleifen eines Programmierdurchgangs unter Verwendung einer festen oder variierenden Schrittgröße erhöht. Diese wird als inkrementelle Gatespannungs-Programmierung bezeichnet, wobei die Programmierspannung bei einer Anfangsspannung (siehe Programmierspannung 1001) beginnt und in jeder aufeinanderfolgenden Programmschleife um einen Schritt ansteigt, beispielsweise bis der Programmvorgang abgeschlossen ist. Der Vorgang wird erfolgreich abgeschlossen, wenn die Schwellenspannungen der ausgewählten Speicherzellen die Verifizierspannungen der zugewiesenen Datenzustände erreichen.
  • Ein Programmvorgang kann einen einzigen Programmierdurchgang oder mehrere Programmierdurchgänge einschließen, wobei jeder Durchgang beispielsweise inkrementelle Gatespannungs-Programmierung verwendet.
  • Das Verifiziersignal in jeder Programmschleife, einschließlich des beispielhaften Verifiziersignals 1002, kann eine oder mehrere Verifizierspannungen einschließen, basierend auf den zugewiesenen Datenzuständen, die für die Programmschleife verifiziert werden. Die Verifizierungstests können niedrigere zugewiesene Datenzustände und dann mittlere zugewiesene Datenzustände und dann höhere zugewiesene Datenzustände umfassen, während die Programmvorgänge fortschreiten. Die beispielhaften Verifiziersignale stellen der Einfachheit halber drei Verifizierspannungen dar. Siehe auch die Verifizierungsphase von 15.
  • Zum Beispiel können alle Speicherzellen zu Beginn des Programmvorgangs anfänglich in dem gelöschten Zustand sein. Nachdem der Programmvorgang abgeschlossen ist, können die Daten unter Verwendung von Lesespannungen, die sich zwischen den Vth-Verteilungen befinden, aus den Speicherzellen gelesen werden. Gleichzeitig wird an die verbleibenden (nicht ausgewählten) Wortleitungen eine Lesedurchgangsspannung, Vread (z. B. 8 bis 10 V) angelegt, die auch als Durchgangsspannung oder Einschaltspannung bezeichnet wird. Durch Testen, ob die Vth einer gegebenen Speicherzelle über oder unter einer oder mehreren der gelesenen Referenzspannungen liegt, kann das System den Datenzustand bestimmen, der durch eine Speicherzelle dargestellt wird. Diese Spannungen sind Abgrenzungsspannungen, da sie zwischen Vth-Bereichen von unterschiedlichen Datenzuständen abgrenzen.
  • Zudem können die Daten, die programmiert oder gelesen werden, in Seiten angeordnet werden. Zum Beispiel können bei vier Datenzuständen oder zwei Bits pro Zelle zwei Seiten von Daten gespeichert werden. Eine beispielhafte Codierung von Bits für den Er-, A-, Bund C-Zustand ist 11, 10, 00 beziehungsweise 01 in dem Format des Bits der oberen Seite (UP) / des Bits der unteren Seite (LP). Bei einer unteren Seite, die gelesen wird, kann VrA und VrC verwendet werden und bei einer oberen Seite, die gelesen wird, kann VrB verwendet werden.
  • Bei acht Datenzuständen oder drei Bits pro Zelle können drei Seiten von Daten gespeichert werden. Eine beispielhafte Codierung von Bits für den A-, B-, C-, D-, E-, F- und G-Zustand ist 111, 110, 100, 000, 010, 011, 001 beziehungsweise 101. Die Daten der unteren Seite können durch Lesen der Speicherzellen unter Verwendung von Lesespannungen von VrA und VrE bestimmt werden. Siehe auch 21. Die Daten der mittleren Seite können durch Lesen der Speicherzellen unter Verwendung von Lesespannungen von VrB, VrD und VrF bestimmt werden. Die Daten der oberen Seite können durch Lesen der Speicherzellen unter Verwendung von Lesespannungen von VrC und VrG bestimmt werden.
  • 11A stellt einen beispielhaften Prozess für den Zugriff auf einen ersten Satz von NAND-Ketten unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit und auf einen zweiten Satz von NAND-Ketten unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit dar. Schritt 1100 schließt den Zugriff auf eine erste Gruppe von NAND-Ketten ein, die mit einer relativ hohen Zugriffsgeschwindigkeit mit einer ersten Gruppe von Bitleitungen verbunden sind, während die Spannungen einer zweiten Gruppe von Bitleitungen floaten. Eine relativ hohe Zugriffsgeschwindigkeit bezieht sich auf die Änderung einer Bitleitungsspannung von einer vorhandenen Spannung auf eine angeforderte Spannung in einer relativ kurzen Zeitdauer. Siehe 14. Schritt 1101 schließt das Zugreifen auf einen zweiten Satz von NAND-Ketten ein, die mit dem ersten Satz von Bitleitungen und mit einem zweiten Satz von Bitleitungen unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit verbunden sind. Der zweite Satz von Bitleitungen ist entweder nicht mit dem ersten Satz von NAND-Ketten verbunden oder ist mit SGD-Transistoren des ersten Satzes von NAND-Ketten verbunden, aber diese SGD-Transistoren befinden sich aufgrund ihrer hohen Vth in einem nicht leitenden Zustand, so dass der zweite Satz von Bitleitungen nicht elektrisch mit den Speicherzellen des ersten Satzes von NAND-Ketten verbunden ist. Mit anderen Worten, der zweite Satz von Bitleitungen ist nicht elektrisch mit einem Kanal der Speicherzellen des ersten Satzes von NAND-Ketten verbunden. Das Fehlen einer elektrischen Verbindung zwischen zwei Punkten in der Speichervorrichtung bezieht sich auf das Fehlen einer Leiterbahn zwischen den beiden Punkten. Das Zugreifen kann beispielsweise Programmier- oder Lesevorgänge einschließen. Darüber hinaus kann auf die Sätze von NAND-Ketten abwechselnd, wiederholt oder sequentiell in beliebiger Reihenfolge zugegriffen werden.
  • Beispielsweise kann in 12A ein erster Satz von NAND-Ketten die NAND-Ketten 700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n in BLKO einschließen, und ein zweiter Satz von NAND-Ketten kann die NAND-Ketten 790 bis 790p in BLK1 einschließen. Ein erster Satz von Bitleitungen kann BL0, BL2, BL4, BL6, BL8, BL10, BL12 und BL12 einschließen, z. B. geradzahlige Bitleitungen, und ein zweiter Satz von Bitleitungen kann BL1, BL3, BL5, BL7, BL9, BL11, BL13 und BL15 einschließen, z. B. ungeradzahlige Bitleitungen. Schritt 1100 kann das Ändern einer Spannung oder anderweitige Anlegen einer Spannung auf den geradzahligen Bitleitungen in Verbindung mit dem Zugreifen auf den ersten Satz von NAND-Ketten beinhalten, während eine Spannung auf den ungeradzahligen NAND-Ketten floaten kann. Schritt 1101 kann das Ändern einer Spannung oder das anderweitige Anlegen einer Spannung auf jeder der Bitleitungen in Verbindung mit dem Zugreifen auf den zweiten Satz von NAND-Ketten beinhalten.
  • 11B stellt einen beispielhaften Programmvorgang dar, der den Prozess von 11A implementieren kann. Schritt 1100 beginnt einen Programmvorgang für eine ausgewählte Wortleitung (WLsel) eines ausgewählten Unterblocks. In Schritt 1101 werden Latches für die ausgewählten Speicherzellen auf der Grundlage von Programmdaten festgelegt. Beispielsweise können die Latches einen Datenzustand bezeichnen, der einer Speicherzelle zugewiesen ist. Wenn der Datenzustand der gelöschte Zustand ist, bezeichnen die Latches, dass die Speicherzelle einen Sperrzustand hat, und von der Programmierung abgehalten werden sollte. Wenn der Datenzustand ein programmierter Zustand ist, bezeichnen die Latches, dass die Speicherzelle einen Programmzustand hat und programmiert werden sollte. Bei Schritt 1102 beginnt eine Programmschleife für WLsel. Schritt 1103 schließt das Durchführen einer Vorladephase ein. Siehe 15 bei t0 bis t3. Schritt 1104 schließt das Lesen der Latches der ausgewählten Speicherzellen ein, z. B. um zu bestimmen, ob sich die Speicherzellen in einem Sperr- oder Programmierzustand befinden. Schritt 1105 schließt das Durchführen einer Programmierphase ein. Siehe 11C und 11D, und 15 bei t3 bis t8. Schritt 1106 schließt das Durchführen einer Verifizierungsphase ein. Siehe 11C und 11D, und 15 bei t8 bis t16.
  • Schritt 1107 schließt das Aktualisieren der Latches basierend auf den Ergebnissen der Verifizierungstests in der Verifizierungsphase ein. Zum Beispiel können die Latches von dem Programmierzustand in den Sperrzustand für Speicherzellen aktualisiert werden, die einen Verifizierungstest bei Schritt 1106 durchlaufen. Ein Entscheidungsschritt 1108 bestimmt, ob es eine nächste Programmschleife gibt. Eine nächste Programmschleife kann durchgeführt werden, wenn viele Speicherzellen die Programmierung nicht abgeschlossen haben, wenn sie sich z. B. in dem Programmierzustand befinden. Wenn dies der Fall ist, schließt Schritt 1111 das Hochfahren von Vpgm ein, und eine nächste Programmschleife startet bei Schritt 1102. Wenn der Entscheidungsschritt 1108 falsch ist, bestimmt ein Entscheidungsschritt 1109, ob es eine nächste Wortzeile und/oder einen nächsten Unterblock zu programmieren gibt. Wenn der Entscheidungsschritt 1109 richtig ist, startet ein anderer Programmvorgang in Schritt 1100. Wenn der Entscheidungsschritt 1109 falsch ist, gibt Schritt 1110 das Ende des Programmvorgangs an.
  • 11C stellt eine beispielhafte Implementierung des Programms und der Verifizierungsphase von 11B unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit dar. Dies könnte zum Beispiel auf SLC-Speicherzellen in einem ersten Satz von NAND-Ketten zutreffen, die mit einem ersten Satz von Bitleitungen verbunden sind. Die Programmierphase schließt die Schritte 1120 und 1121 ein, und die Verifizierungsphase schließt die Schritte 1122 bis 1124 ein. Schritt 1120 schließt für den ersten Satz von Bitleitungen das Erhöhen von Vbl auf eine Sperrspannung (z. B. 2 V) für Speicherzellen mit einem Sperrzustand (z. B. durch Zuweisen einer ersten Zeitdauer für diese Spannungserhöhung wie t2 bis t3 in 15) und das Festlegen von Vbl=0 V für Speicherzellen mit einem Programmzustand ein. Gleichzeitig schließt der Schritt das Floaten von Spannungen eines zweiten Satzes von Bitleitungen ein. Dadurch wird eine Kapazität der Inter-Bit-Leitung reduziert. Schritt 1121 schließt nach der ersten Zeitdauer das Erhöhen der Spannung an WLsel auf Vpgm und das Erhöhen der Spannung an den nicht ausgewählten Wortleitungen auf Vpass ein.
  • Anschließend können die Spannungen auf den Wortleitungen und dem ersten Satz Bitleitungen wieder auf die Anfangsspannung, z. B. 0 V, abgesenkt werden. Siehe 15 bei t8. Die Verifizierungsphase findet als nächstes statt. Schritt 1122 schließt das Festlegen der Spannung an WLsel auf eine Prüfspannung (z. B. VvE, VvF oder VvG in 15) und das Einstellen der Spannung an den nicht ausgewählten WLs auf Vread ein. Schritt 1123 schließt das Erhöhen der Spannungen des ersten und zweiten Satzes von Bitleitungen auf BL_sense ein, wie zuvor im Zusammenhang mit 2 erörtert (z. B. durch Zuweisen einer ersten Zeitdauer für diese Erhöhung, wie t9 bis t10 in 15). Wie erwähnt, kann beim Erfassen des ersten Satzes von NAND-Ketten die Inter-Bit-Leitungskapazität reduziert werden, indem die gleiche Spannung an die ersten und zweiten Sätze von Bitleitungen angelegt wird, während der zweite Satz von Bitleitungen von den Speicherzellenkanälen der jeweiligen NAND-Ketten getrennt ist. Schritt 1124 schließt für jede Verifizierungsspannung das Erfassen des leitenden Zustands der ausgewählten Speicherzellen auf WLsel im ersten Satz von NAND-Ketten ein.
  • In den Schritten 1120 und 1123 kann die erste Zeitdauer gleich oder unterschiedlich sein. Im Allgemeinen kann für eine gegebene Änderung in Vbl, z. B. eine Erhöhung oder Verringerung, eine gegebene erste Zeitdauer zugewiesen werden, wenn die relativ hohe Zugriffsgeschwindigkeit verwendet wird. Die erste Zeitdauer kann im Verhältnis zur Veränderung der Vbl zugewiesen werden.
  • 11D stellt eine beispielhafte Implementierung des Programms und der Verifizierungsphase von 11B unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit dar. Dies könnte zum Beispiel auf MLC-Speicherzellen in einem zweiten Satz von NAND-Ketten zutreffen, die mit ersten und zweiten Sätzen von Bitleitungen verbunden sind. Die Programmierphase schließt die Schritte 1130 und 1131 ein, und die Verifizierungsphase schließt die Schritte 1132 bis 1134 ein. Schritt 1130 schließt für die ersten und zweiten Sätze von Bitleitungen das Erhöhen von Vbl auf eine Programmiersperrspannung für Speicherzellen mit einem Sperrzustand (z. B. durch Zuweisen einer zweiten Zeitdauer für diese Spannungserhöhung wie t2 bis t3 in 15) und das Festlegen von Vbl=0 V für Speicherzellen mit einem Programmzustand ein. Die zweite Zeitdauer kann aufgrund der größeren RC-Zeitkonstante der Bitleitungen beim Zugreifen auf den zweiten Satz von NAND-Ketten größer als die erste Zeitdauer in 11C sein. Schritt 1131 schließt nach der zweiten Zeitdauer das Erhöhen der Spannung an WLsel auf Vpgm und das Erhöhen der Spannung an den nicht ausgewählten Wortleitungen auf Vpass ein.
  • Anschließend können die Spannungen auf den Wortleitungen und dem ersten Satz Bitleitungen wieder auf die Anfangsspannung abgesenkt werden. Siehe 15 bei t8. Die Verifizierungsphase findet als nächstes statt. Schritt 1132 schließt das Festlegen der Spannung an WLsel auf eine Prüfspannung und das Einstellen der Spannung an den nicht ausgewählten WLs auf Vread ein. Schritt 1133 schließt das Erhöhen der Spannungen des ersten und zweiten Satzes von Bitleitungen zu einem BL_sense (z. B. durch Zuweisen einer zweiten Zeitdauer für diese Erhöhung, wie z. B. t9 bis t10 in 15) ein. Schritt 1134 schließt für jede Verifizierungsspannung das Erfassen des leitenden Zustands der ausgewählten Speicherzellen auf WLsel im zweiten Satz von NAND-Ketten ein.
  • In den Schritten 1130 und 1133 kann die zweite Zeitdauer gleich oder unterschiedlich sein. Für eine gegebene Änderung in Vbl, z. B. eine Erhöhung oder Verringerung, kann eine gegebene zweite Zeitdauer zugewiesen werden, wenn die relativ niedrige Zugriffsgeschwindigkeit verwendet wird. Die zweite Zeitdauer kann im Verhältnis zur Veränderung der Vbl zugewiesen werden.
  • 11E stellt einen beispielhaften Lesevorgang dar, der den Prozess von 11A implementieren kann. Ein Lesevorgang startet bei Schritt 1140. Schritt 1141 schließt das Festlegen der Spannung an WLsel auf eine Lesespannung und das Einstellen der Spannung an den nicht ausgewählten WLs auf Vread ein. Siehe 16 und die beispielhaften Lesespannungen von VrA und VrE. Schritt 1142 schließt das Festlegen von Spannungen von Abtastschaltungen ein. Beispielsweise kann eine Abtastschaltung einen Abtastknoten einschließen, der auf eine spezifizierte Spannung aufgeladen wird. Siehe 2. Anschließend können die Schritte 1143a und 1144a oder 1143b und 1144b für einen Lesevorgang mit relativ hoher oder niedriger Zugriffsgeschwindigkeit befolgt werden. Schritt 1143a schließt das Erhöhen der Spannungen der ersten und zweiten Sätze von Bitleitungen zu BL_sense (z. B. durch Zuweisen einer ersten Zeitdauer für die Erhöhung, wie z. B. t2 bis t3 in 16) ein. Schritt 1144a beinhaltet das Lesen des ersten Satzes von NAND-Ketten. Er schließt für jede Lesespannung das Erfassen des leitenden Zustands der ausgewählten Speicherzellen im ersten Satz von NAND-Ketten ein.
  • Schritt 1143b schließt das Erhöhen der Spannungen der ersten und zweiten Sätze von Bitleitungen zu BL_sense (z. B. durch Zuweisen einer zweiten Zeitdauer für die Erhöhung, wie z. B. t2 bis t3 in 16) ein. Schritt 1144b beinhaltet das Lesen des zweiten Satzes von NAND-Ketten. Er schließt für jede Lesespannung das Erfassen des leitenden Zustands der ausgewählten Speicherzellen im zweiten Satz von NAND-Ketten ein.
  • Schritt 1145 schließt das Speichern der gelesenen Ergebnisse in die Latches ein. Beispielsweise kann ein einzelnes Bit für jede Lesespannung gespeichert werden, um anzugeben, ob sich eine Speicherzelle in einem leitenden oder nicht leitenden Zustand befindet, wenn die Lesespannung angelegt wird. Der Lesevorgang wird in Schritt 1146 durchgeführt.
  • Ein anderer Ansatz besteht darin, beim Lesen des ersten Satzes von NAND-Ketten, die mit dem ersten Satz von Bitleitungen verbunden sind, einen Spannungsimpuls für die Spannungen des zweiten Satzes von Bitleitungen bereitzustellen. Dies kann helfen, die Spannung des ersten Satzes von Bitleitungen zu koppeln, um die Spannungsanstiegszeit zu verkürzen. Siehe 16, Graph 1680a. Für die Spannungen des ersten Satzes von Bitleitungen könnte auch ein Spannungsimpuls bereitgestellt werden.
  • 11F stellt einen beispielhaften Programmvorgang für SGD-Transistoren in Übereinstimmung mit 9C dar. Wie erwähnt, kann eine Dummy-NAND-Kette umkehrbar erstellt werden, bei der der Kanal der Speicherzellen elektrisch von der jeweiligen Bitleitung getrennt ist, indem der SGD-Transistor der Dummy-NAND-Kette eine ausreichend hohen Vth bereitstellt, um den SGD-Transistor in einem nicht leitenden Zustand zu halten. Der SGD-Transistor der datenspeichernden NAND-Kette hat eine niedrigere Vth, die es dem SGD-Transistor ermöglicht, zwischen einem leitenden Zustand (wenn die datenspeichernde NAND-Kette zum Programmieren oder Lesen ausgewählt wird) und einem nicht leitenden Zustand (wenn die datenspeichernde NAND-Kette zum Programmieren oder Lesen nicht ausgewählt wird) zu wechseln. Schritt 1150 schließt das Programmieren von SGD-Transistoren in einem ersten Satz von NAND-Ketten (die mit einem ersten Satz von Bitleitungen verbunden sind) unter Verwendung einer niedrigeren Verifizierungsspannung (VvP1) ein, und Schritt 1151 schließt das Programmieren von SGD-Transistoren in Dummy-NAND-Ketten ein, die mit dem ersten Satz von NAND-Ketten verschachtelt sind (und mit einem zweiten Satz von Bitleitungen verbunden sind), unter Verwendung einer höheren Verifizierungsspannung (VvP2), wobei VvP2>VvP1. Wie erwähnt, kann ein schrittweises Schrittimpuls-Programmierverfahren verwendet werden, wie z. B. in 10A oder 10B.
  • 12A stellt eine Draufsicht auf den Satz von Blöcken BLKO bis BLK3 aus 4, einschließlich NAND-Ketten und deren Verbindungen zu Bitleitungen, in einer beispielhaften Einrichtung einer Speichervorrichtung zur Implementierung des Prozesses von 11A mit Blöcken hoher und niedriger Zugriffsgeschwindigkeit dar. Die NAND-Ketten sind durch Kreise dargestellt. Eine Anzahl von Blöcken ist in einer Ebene angeordnet, und jeder Block weist Unterblöcke auf. Die NAND-Ketten BLK0, BLK1, BLK2 und BLK3 schließen Unterblöcke SB0 bis SB3, SB4 bis SB7, SB8 bis SB11 bzw. SB12 bis SB15 ein. Zusätzlich ist jedem Block ein Zeilendecodierer zugeordnet. Die Zeilendecodierer wechseln sich zwischen der linken und rechten Seite der Blöcke ab, um zusätzlichen Raum für das Layout der Zeilendecodierer zu ermöglichen. In einer anderen Option befinden sich die Zeilendecodierer alle auf der gleichen Seite der Blöcke. Den Zeilendecodierern 124a bis 124d sind jeweils die Blöcke BLKO bis BLK3 zugeordnet. Die Zeilendecodierer sind mit Beispielkontakten verbunden, die durch Quadrate dargestellt sind.
  • In diesem vereinfachten Beispiel schließt jeder Unterblock sechzehn NAND-Ketten ein. Ebenso gibt es sechzehn Bitleitungen BL0 bis BL15, die von den verschiedenen Blöcken gemeinsam genutzt werden. Die Bitleitungen sind mit dem Zeilendecodierer 132 verbunden, wie in Verbindung mit 1 erläutert. Der Zeilendecodierer empfängt VBL_sel und VBL_unsel von den Bitleitungstreibern 440 bzw. 440a und kann die Spannungen zu den Abtastschaltungen 60 bis 75 in einem Satz von Abtastschaltungen 99 leiten. Jede Abtastschaltung kann ihrerseits eine der Bitleitungsspannungen basierend auf einem Kennzeichen an eine entsprechende Bitleitung weiterleiten, wie in Verbindung mit 2 erörtert. Ein Pfad 132a erstreckt sich zwischen dem Zeilendecodierer und den Abtastschaltungen, und ein Pfad 118 erstreckt sich zwischen dem Zeilendecodierer und der Steuerung 122 (1).
  • In einem Beispiel wird BLKO (ein Block) für eine relativ hohe Zugriffsgeschwindigkeit mit SLC-Speicherzellen und BLK1 bis BLK3 (ein weiterer Block) für eine relativ niedrige Zugriffsgeschwindigkeit mit MLC-Speicherzellen verwendet. In diesem Fall ist die Anzahl der pro Speicherzelle gespeicherten Bits (eine Speicherdichte) in einem zweiten Block (BLK1 bis BLK3) größer als in einem ersten Block (BLKO). Der Block oder die Blöcke mit hoher Zugriffsgeschwindigkeit kann/können sich am nächsten zum Zeilendecodierer 132 befinden, um RC-Verzögerungen bei Spannungsänderungen auf den Bitleitungen zu minimieren. Zum Beispiel kann BLKO für eine relativ hohe Zugriffsgeschwindigkeit gewählt werden, weil es der Block ist, der dem Zeilendecodierer und damit den Bitleitungstreibern am nächsten liegt. BLKO befindet sich in einem Abstand d1 (oder in einem Bereich von Abständen d1 bis d2) vom Zeilendecodierer, und BLK1 befindet sich in einem größeren Abstand d3>d1 (oder in einem Bereich von Abständen d3 bis d4) vom Zeilendecodierer. Diese Abstände sind entlang einer vertikalen Achse markiert, die einen Abstand vom Zeilendecodierer darstellt.
  • Wenn in BLKO in jeder zweiten Speicherzelle ein Bit gespeichert ist, beträgt die effektive Speicherdichte ein halbes Bit pro Speicherzelle.
  • In einer Option können unterschiedliche Zeitperioden zum Ändern einer Bitleitungsspannung basierend auf einem Abstand eines Blocks von den Lese-/Schreibschaltungen zugewiesen werden, wobei eine kürzere Zeit zugewiesen wird, wenn der Abstand kleiner ist.
  • Ferner kann der Block mit hoher Zugriffsgeschwindigkeit als ein Cache für die Blöcke mit niedrigerer Geschwindigkeit verwendet werden. Siehe 12B. Zum Beispiel können die Daten in einem Programmvorgang für einen Block mit niedrigerer Geschwindigkeit zunächst auf einen Block mit höherer Geschwindigkeit programmiert werden, der als ein Cache fungiert, und dann auf den Block mit niedrigerer Geschwindigkeit übertragen werden. Es ist auch möglich, dass Daten zunächst auf einen Abschnitt eines Blocks mit höherer Geschwindigkeit programmiert werden, wie einen Unterblock, und dann auf einen Abschnitt des Blocks mit niedrigerer Geschwindigkeit übertragen werden, wie einen anderen Unterblock. Diese Ansätze ermöglichen es der externen Steuerung, eine relativ hohe Zugriffsgeschwindigkeit durch Programmieren und Lesen von Speicherzellen mit hoher Zugriffsgeschwindigkeit zu realisieren und dann die Aufmerksamkeit der Steuerung auf andere Aufgaben zu lenken, während Daten anschließend intern innerhalb eines Blocks oder zwischen Blöcken auf Speicherzellen mit niedrigerer Zugriffsgeschwindigkeit verschoben werden.
  • Die beispielhaften NAND-Ketten 700n bis 715n werden in SB0 in BLKO bereitgestellt, einem Block mit hoher Zugriffsgeschwindigkeit, in Übereinstimmung mit 8. Die beispielhaften NAND-Ketten 790n bis 790p werden in SB4 in BLK1 bereitgestellt, einem Block mit niedriger Zugriffsgeschwindigkeit. Die offenen Kreise stellen datenspeichernde NAND-Ketten dar und die schattierten Kreise stellen Dummy-NAND-Ketten dar. Zum Beispiel schließt SB0 die datenspeichernden NAND-Ketten (z. B. Nicht-Dummy-NAND-Ketten, aktive NAND-Ketten oder NAND-Ketten, die zum Speichern von Daten geeignet sind) 700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n und die Dummy-NAND-Ketten 701n, 703n, 705n, 707n, 709n, 711n, 713n und 715n ein. Die datenspeichernden NAND-Ketten sind mit den Dummy-NAND-Ketten verschachtelt, wobei sich eine Dummy-NAND-Kette zwischen einem Paar von benachbarten datenspeichernden NAND-Ketten befindet. In anderen Worten: die NAND-Ketten in einem ersten Satz von NAND-Ketten 700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n sind mit den Dummy-NAND-Ketten 701n, 703n, 705n, 707n, 709n, 711n, 713n und 715n verschachtelt.
  • In einer anderen Option befindet sich mehr als eine Dummy-NAND-Kette zwischen einem Paar von benachbarten datenspeichernden NAND-Ketten. Außerdem werden die NAND-Ketten in einem Unterblock als in x-Richtung ausgerichtet dargestellt, wobei eine Bitleitung direkt über einer NAND-Kette verläuft, jedoch sind andere Anordnungen ebenfalls möglich. Zum Beispiel können die NAND-Ketten in einem Unterblock gestaffelt werden, um ein dichteres Layout bereitzustellen.
  • Die Unterblöcke von BLKO sind einheitlich mit datenspeichernden NAND-Ketten eingerichtet, die mit Dummy-NAND-Ketten alternieren. Die Unterblöcke von BLK1 bis BLK2 sind ebenfalls einheitlich mit aufeinanderfolgenden datenspeichernden NAND-Ketten eingerichtet, und nicht mit Dummy-NAND-Ketten.
  • In diesem Beispiel kann, wie in Verbindung mit 11A erwähnt, ein erster Satz von Bitleitungen BL0, BL2, BL4, BL6, BL8, BL10, BL12 und BL12 einschließen, z. B. geradzahlige Bitleitungen, und ein zweiter Satz von Bitleitungen kann BL1, BL3, BL5, BL7, BL9, BL11, BL13 und BL15 einschließen, z. B. ungeradzahlige Bitleitungen. Der erste Satz von Bitleitungen ist mit datenspeichernden NAND-Ketten in jedem Block und Unterblock verbunden. Der zweite Satz von Bitleitungen ist mit datenspeichernden NAND-Ketten in BLK1 bis BLK3a, jedoch nicht in BLKO verbunden. Stattdessen ist der zweite Satz von Bitleitungen mit Dummy-NAND-Ketten in BLKO verbunden. Der zweite Satz von Bitleitungen ist aktiv, wenn ein beliebiger Block von BLK1 bis BLK3 ausgewählt und inaktiv ist, wenn BLKO ausgewählt ist. Der erste Satz von Bitleitungen ist aktiv, wenn ein beliebiger Block von BLKO bis BLK3 ausgewählt ist.
  • 12B stellt eine beispielhafte Architektur in Übereinstimmung mit 12A dar. Der Ansatz von 12A ermöglicht es einer Speichervorrichtung auf einem Chip, hohe und niedrige Zugriffsgeschwindigkeiten bereitzustellen. Computersysteme sind oft durch die Zugriffsgeschwindigkeit ihres Speichers und nicht durch die CPU-Geschwindigkeit beschränkt. Ein Ansatz besteht darin, einen dedizierten Cache, wie einen Speicherklassenspeicher oder schnellen SLC-Cache auf einem Chip für die Verwendung durch einen Speicher mit niedrigerer Geschwindigkeit auf einem anderen Chip bereitzustellen. Dies führt jedoch zu Leistungs- und Kosteneinbußen aufgrund von Verbindungen zwischen den Chips und zugehörigen RC-Verzögerungen. Der Herstellungsprozess ist ebenfalls komplexer. Stattdessen können, wie hierin beschrieben, durch die Verwendung eines Abschnitts der Speicherzellen auf einem Chip als ein Cache mit hoher Zugriffsgeschwindigkeit, während ein anderer Abschnitt für die Langzeitspeicherung verwendet wird, die Kosten gesenkt werden, während eine konkurrenzfähige Cache-Geschwindigkeit und eine kompakte Architektur erreicht werden.
  • Die beispielhafte Architektur kombiniert CPUs und Speichervorrichtungen in vier Einheiten 1230a bis 1230d, um eine Datenübertragung zwischen den Speichervorrichtungen zu ermöglichen.
  • Insbesondere kann in einer Einheit 1230a eine CPU 1230 mit einem Cache mit hoher Zugriffsgeschwindigkeit wie ein L1-, L2- oder L3-Cache 1231 bereitgestellt werden. Die CPU könnte beispielsweise der Prozessor 122c in der Off-Chip-Steuerung 122 von 1 sein. Ein Speicher 1232 stellt den Satz von Blöcken aus 12A auf einem gemeinsamen Chip dar, während der Cache 1233 einen Abschnitt der Blöcke darstellt, die hohe Zugriffsgeschwindigkeiten bereitstellen. Dies könnten beispielsweise ein oder mehrere SLC-Blöcke mit hoher Zugriffsgeschwindigkeit mit verbundenen Wortleitungen oder ein Abschnitt eines Blocks mit SLC-Speicherzellen auf verbundenen Wortleitungen sein. Ein verbleibender Abschnitt des Speichers kann beispielsweise MLC-Blöcke mit niedrigerer Geschwindigkeit mit getrennten Wortleitungen oder einen Abschnitt eines Blocks mit MLC-Speicherzellen auf getrennten Wortleitungen einschließen.
  • In ähnlicher Weise schließt eine Einheit 1230b eine CPU 1236 mit einem L1-, L2- oder L3-Cache 1237 und einen Speicher 1234 mit einem Cache 1235 ein, eine Einheit 1230c schließt eine CPU 1238 mit einem L1-, L2- oder L3-Cache 1239 und einen Speicher 1240 mit einem Cache 1241 ein, und eine Einheit 1230d schließt eine CPU 1244 mit einem L1-, L2- oder L3-Cache 1245 und einen Speicher 1242 mit einem Cache 1243 ein. Die Speichervorrichtungen 1232, 1234, 1240 und 1242 können miteinander kommunizieren, um Daten zu übertragen.
  • 12C stellt eine beispielhafte rechenzentrierte Architektur dar. Dieser Ansatz schließt einen Speicher auf einem Chip und eine CPU auf einem anderen Chip mit einem DRAM dazwischen ein. Die CPU schließt einen L1-, L2- oder L3-Cache ein. Wie bereits erwähnt, birgt dieser Ansatz Zusatzkosten, da sich der Cache und der Speicher auf unterschiedlichen Chips befinden. Insbesondere schließt eine Einheit 1260a eine CPU 1262 (mit einem L1-, L2- oder L3-Cache 1263), einen Speicher 1260 und ein DRAM 1261 zwischen der CPU und dem Speicher ein. Eine Einheit 1260b schließt eine CPU 1264 (mit einem L1-, L2- oder L3-Cache 1265), einen Speicher 1267 und ein DRAM 1266 zwischen der CPU und dem Speicher ein. Eine Einheit 1260c schließt eine CPU 1272 (mit einem L1-, L2- oder L3-Cache 1273), einen Speicher 1270 und ein DRAM 1271 zwischen der CPU und dem Speicher ein. Eine Einheit 1260d schließt eine CPU 1274 (mit einem L1-, L2- oder L3-Cache 1275), einen Speicher 1277 und ein DRAM 1276 zwischen der CPU und dem Speicher ein. Die CPUs 1262, 1264, 1272 und 1274 können miteinander kommunizieren.
  • 12D stellt eine beispielhafte speicherzentrierte Architektur dar. Dieser Ansatz schließt einen Speicher auf einem Chip und eine CPU auf einem anderen Chip mit einem Cache dazwischen ein. Dieser Ansatz birgt auch Zusatzkosten, da sich der CPU-Cache und der Speicher auf unterschiedlichen Chips befinden. Eine Einheit 1280a schließt eine CPU 1280 (mit einem L1-, L2- oder L3-Cache 1281), einen Speicher 1283 und einen Cache 1282 zwischen der CPU und dem Speicher ein. Eine Einheit 1280b schließt eine CPU 1286 (mit einem L1-, L2- oder L3-Cache 1287), einen Speicher 1284 und einen Cache 1285 zwischen der CPU und dem Speicher ein. Eine Einheit 1280c schließt eine CPU 1288 (mit einem L1-, L2- oder L3-Cache 1289), einen Speicher 1291 und einen Cache 1290 zwischen der CPU und dem Speicher ein. Eine Einheit 1280d schließt eine CPU 1294 (mit einem L1-, L2- oder L3-Cache 1295), einen Speicher 1292 und einen Cache 1293 zwischen der CPU und dem Speicher ein. Die Speichervorrichtungen 1283, 1284, 1291 und 1292 können miteinander kommunizieren, um Daten zu übertragen.
  • 12E stellt eine Draufsicht auf den Block BLKO in einer beispielhaften Einrichtung einer Speichervorrichtung zur Implementierung des Prozesses von 11A mit Unterblöcken hoher und niedriger Zugriffsgeschwindigkeit dar. Ein Bereich 1250 von BLKO schließt SB0 als einen Unterblock mit hoher Zugriffsgeschwindigkeit ein, und ein Bereich 1251 von BLKO schließt SB1 bis SB3 als Unterblöcke mit niedriger Zugriffsgeschwindigkeit ein.
  • 12F stellt eine Draufsicht auf den Block BLKO in einer beispielhaften Einrichtung einer Speichervorrichtung zur Implementierung des Prozesses von 11A mit datenspeichernden NAND-Ketten 700n, 702n, 704n, 706n, 708n, 710n, 712n, 714n, 716n und 718n, die anstelle von Dummy-NAND-Ketten durch isolierende Bereiche getrennt sind. Wie erwähnt, kann der Herstellungsprozess der Speichervorrichtung durch Bereitstellen von isolierenden Bereichen (wie zum Beispiel den isolierenden Bereich 1252) anstelle von Dummy-NAND-Ketten modifiziert werden. Eine Maske, die zum Ätzen der Speicherlöcher verwendet wird, kann für BLKO modifiziert werden, um zum Beispiel eine größere Entfernung sp2 zwischen den NAND-Ketten in jedem Unterblock von BLK0 bereitzustellen. Eine weitere Option ist das Bereitstellen der isolierenden Bereiche anstelle der Dummy-NAND-Ketten in einem Unterblock, und das Bereitstellen der Dummy-NAND-Ketten in einem anderen Unterblock.
  • 13 stellt beispielhafte Bitleitungen BL0 bis BL2 in Übereinstimmung mit 8, 12A, 12E und 12F dar, die zeigen, wie eine Kapazität (Kap.) zwischen benachbarten Bitleitungen besteht. Die Größenordnung der Kapazität hängt von Faktoren wie der Entfernung zwischen den Bitleitungen, den Materialien und den Längen und Breiten der Bitleitungen und den Spannungssignalen auf den Bitleitungen ab. In diesem Beispiel kann eine gewünschte Änderung der Spannung einer Bitleitung, wie BL1, verlangsamt werden durch die Kapazität von BL1 relativ zu ihren beiden benachbarten Bitleitungen, BL0 und BL2. Im Allgemeinen kann das Vorhandensein unterschiedlicher Spannungen auf benachbarten Bitleitungen einen Verschiebungsstrom zwischen den Bitleitungen induzieren, was dazu führt, dass die Spannungen auf den Bitleitungen eine längere Zeit benötigen, um sich auf einem gewünschten Pegel einzupendeln. Dies gilt insbesondere, wenn die Größe des Elements aufgrund der Zunahme der Länge der Bitleitungen größer wird.
  • In einigen Fällen können die drei benachbarten Bitleitungen ein gleiches Spannungssignal empfangen, beispielsweise wenn Vbl von 0 V auf 2 V ansteigt, um das Programmieren einer NAND-Kette während eines Programmierimpulses zu verhindern. Die Kapazität zwischen den Bitleitungen ist in dieser Situation relativ niedrig. In einem anderen Beispiel steigt Vbl von 0 V auf 2 V auf BL1 an, bleibt jedoch für BL0 und BL2 auf 0 V, beispielsweise wenn BL0 und BL2 mit ausgewählten NAND-Ketten verbunden sind, die während eines Programmierimpulses nicht gesperrt werden. Die Kapazität zwischen den Bitleitungen ist in dieser Situation relativ hoch. In einem weiteren Beispiel empfängt eine benachbarte Bitleitung das gleiche Spannungssignal wie BL1, die andere benachbarte Bitleitung empfängt jedoch ein anderes Spannungssignal als BL1. Die Kapazität zwischen den Bitleitungen ist in dieser Situation moderat.
  • Im Allgemeinen muss bei der Programmierung eines Satzes von benachbarten NAND-Ketten die Zeit, die für die Änderung der Bitleitungsspannung zugewiesen wird, basierend auf dem ungünstigsten Szenario, z. B. der ungünstigsten Kapazität zwischen den Bitleitungen, eingestellt werden. Die hierin bereitgestellten Techniken können die ungünstigste Kapazität zwischen den Bitleitungen verringern, indem jede zweite Bitleitung beim Programmieren gefloatet wird. Eine Floating-Bitleitung stellt eine minimale Kapazität für eine aktive Bitleitung dar, auf der sich die Spannung ändert. Dieser Ansatz stellt sicher, dass die Spannungen auf beiden benachbarten Bitleitungen einer aktiven Bitleitung floaten. Ferner wird während des Abtastens durch elektrisches Trennen jeder zweiten Bitleitung (Dummy-Bitleitungen) von einem Speicherzellenkanal einer entsprechenden NAND-Kette eine datenzustandsabhängige Bitleitungsaufladezeit und Stromentnahme von der Bitleitung zu dem Kanal für diese Dummy-Bitleitungen vermieden. Dies reduziert unter anderem die Kapazität zwischen den Bitleitungen.
  • 14 stellt einen Graph der Spannung im Vergleich zur Zeit dar und zeigt eine relativ schnelle Erhöhung und eine relativ langsame Erhöhung. Bei t0 befiehlt eine Steuerung einem Spannungstreiber, seine Ausgabe von 0 V in Vreq, eine angeforderte Spannung, zu ändern. Wenn der Spannungstreiber mit einer Bitleitung verbunden ist, wird die Zeit zum Ändern der Spannung durch die RC-Zeitkonstante der Bitleitung beeinflusst. In einem Beispiel (Graph 1400) tritt der Anstieg relativ schnell, in einer Zeitperiode ths (hs=hohe Geschwindigkeit), auf. In einem anderen Beispiel (Graph 1401) tritt der Anstieg relativ langsam, in einer Zeitperiode tls (ls=niedrige Geschwindigkeit) auf. Die Zeitperioden ths und tls könnten die Zeitperiode t2 bis t3 oder t9 bis t10 in 15 darstellen, in denen Vbl beispielsweise von 0 V auf 2 V ansteigt. Während eines Programmvorgangs kann die Spannungszeitsteuerschaltung 117 (1) eine Zeit zum Ändern einer Bitleitungsspannung basierend auf der Kenntnis, ob die Spannungen auf den benachbarten Bitleitungen floaten, zuweisen. Wenn die Spannungen auf den benachbarten Bitleitungen floaten, kann eine kürzere Zugriffszeit (z. B. ths) zugewiesen werden. Wenn die Spannungen nicht floaten, kann eine längere Zugriffszeit (z. B. tls) zugewiesen werden. Die zugeteilte Zeitperiode kann für verschiedene Änderungen in einem Spannungssignal eingestellt werden, die beispielsweise während eines Programm- oder Lesevorgangs auftreten. Siehe zum Beispiel 15 und 16. Für eine gleiche Änderung eines Spannungssignals können für hohe oder niedrige Zugriffsgeschwindigkeiten von Speicherzellen verschiedene Zeitperioden eingestellt werden.
  • In ähnlicher Weise kann die Spannungszeitsteuerschaltung 117 während eines Abtastvorgangs, der als der Verifizierungstest eines Programmvorgangs oder als ein separater Lesevorgang auftreten kann, eine kürzere Zeit zum Aufladen einer Bitleitungsspannung zuweisen, wenn jede zweite Bitleitung zum Abtasten verwendet wird, als wenn alle Bitleitungen verwendet werden.
  • Eine relativ hohe Zugriffsgeschwindigkeit wird erreicht, indem eine relativ kurze Zeitperiode für die Änderung einer Spannung auf einer Wortleitung zugewiesen wird, während eine relativ niedrige Zugriffsgeschwindigkeit erreicht wird, indem eine relativ lange Zeitperiode für die Änderung einer Spannung (z. B. um den gleichen Betrag) auf einer Wortleitung zugewiesen wird.
  • 15 stellt Beispiele von Spannungssignalen, die in einer Programmschleife eines Programmvorgangs verwendet werden können, in Übereinstimmung mit 11B dar. In 15 und 16 bezeichnet die vertikale Abmessung Spannung und die horizontale Abmessung bezeichnet Zeit, mit den Zeitpunkten t0 bis t16. Die dargestellte Zeitperiode entspricht einer Programmschleife und schließt eine Vorladephase 1587 (t0 bis t3), eine Programmierphase 1588 (t3 bis t9) und eine Verifizierungsphase 1589 (t9 bis t16) ein. Beispielhafte Spannungen der Signale sind ebenfalls dargestellt. Ein Spannungssignal 1500 stellt VWLn, die Spannung der ausgewählten Wortleitung, dar, ein Spannungssignal 1510 stellt Vwl_unsel, eine Spannung der verbleibenden nicht ausgewählten Wortleitungen, dar, ein Spannungssignal 1530 stellt die ausgewählten Gate-Spannungen, z. B. Vsgd und/oder Vsgs, dar, und ein Spannungssignal 1540 stellt Vbl, eine Bitleitungsspannung, dar.
  • Das Spannungssignal 1500 wird durch einen Graph 1501 bei einem Anfangswert wie 0 V dargestellt, einen Graph 1502, der einen ersten Schritt des Anstiegs in WLn, von dem Anfangswert auf einen Zwischenwert, z. B. Vpass, darstellt, einen Graph 1503, bei dem WLn auf Vpass gehalten wird, einen Graph 1504, der einen zweiten Schritt des Anstiegs, von Vpass auf Vpgm, darstellt, einen Graph 1505, der eine Halteperiode bei Vpgm darstellt, einen Graph 1506, der einen Abfall von Vpgm auf den Anfangswert darstellt, und ein Graph 1507, der Verifizierspannungen von VvE, VvF und VvG darstellt.
  • Während eines Programmvorgangs sind die beispielhaften Zeitperioden, die für eine Spannungserhöhung von VWLsel zugewiesen werden, t3 bis t4 (Erhöhung von einer Ausgangsspannung auf Vpass), t6 bis t7 (Erhöhung von einer Vpass auf Vpgm), t10 bis t11 (Erhöhung von einer Ausgangsspannung auf VvE), t12 bis t13 (Erhöhung von VvE auf VvF) und t14 bis t15 (Erhöhung von VvF auf VvG).
  • Das Spannungssignal 1510 wird durch einen Graph 1511 bei einem Anfangswert wie 0 V dargestellt, einen Graph 1512, der einen Anstieg von Vwl_unsel von dem Anfangswert auf einen Durchgangswert, z. B. Vpass, darstellt, und einen Graph 1513, in dem Vwl_unsel auf Vpass von t3 bis t4 gehalten wird.
  • Das Spannungssignal 1530 wird durch einen Graph 1531 während der Vorladung für ausgewählte und nicht ausgewählte Auswahlgatetransistoren dargestellt. Die ausgewählten Auswahlgatetransistoren (SG-Transistoren) befinden sich in einem ausgewählten Unterblock (ein zum Programmieren ausgewählter Unterblock), und die nicht ausgewählten SG-Transistoren befinden sich in nicht ausgewählten Unterblöcken (Unterblöcke, die nicht zum Programmieren ausgewählt sind). Anschließend stellt ein Graph 1532 mit Vsg_sel=2,5 V die Spannung der ausgewählten SG-Transistoren dar, und eine Graph 1533 mit Vsg_unsel=2,5 V stellt die Spannung der nicht ausgewählten SG-Transistoren dar.
  • In einem Ansatz wird das Spannungssignal 1540 durch einen Graph 1541 dargestellt, der eine Spannung Vbl_active=2 V während der Vorladung für die aktiven Bitleitungen darstellt, z. B. die ausgewählten und nicht ausgewählten Bitleitungen, die mit ausgewählten bzw. nicht ausgewählten NAND-Ketten in einem ausgewählten Unterblock verbunden sind. Anschließend stellt ein Graph 1542 Vbl_unsel=2 V (eine Spannung auf nicht ausgewählten Bitleitungen) dar, und ein Graph 1543 stellt Vbl_sel=0 V (eine Spannung auf ausgewählten Bitleitungen) dar. Die Spannung auf den Dummy-Bitleitungen kann gegebenenfalls gefloatet werden und tendiert dazu, den Spannungen der benachbarten aktiven Bitleitungen zu folgen. Beispielhafte Zeitperioden, die zum Ändern von Vbl zugewiesen werden, schließen t2 bis t3 und t9 bis t10 ein, wobei Vbl von 0 V auf Vbl_unsel ansteigen kann. Diese Zeitperiode kann eine relativ kurze erste Zeitperiode sein, wenn Spannungen auf jeder zweiten Bitleitung gefloatet werden, oder eine relativ lange zweite Zeitperiode, wenn Spannungen auf allen Bitleitungen angesteuert werden. Eine weitere Zeitperiode, die für hohe oder niedrige Zugriffsgeschwindigkeit kürzer oder länger eingestellt werden kann, ist die Zeitperiode vom Beginn des Anstiegs der Vbl (bei t2) bis zu dem Beginn des Anstiegs von VWLsel oder Vwl_unsel zu t3. Eine weitere Zeitperiode, die für hohe oder niedrige Zugriffsgeschwindigkeit kürzer bzw. länger eingestellt werden kann, ist beispielsweise die Zeitperiode von dem Beginn des Anstiegs der Vbl (bei t9) bis zu dem Beginn des Abtastvorgangs bei t11, wenn die Bitleitungsaufladung auftritt.
  • In der Vorladephase wird eine positive Vbl_active (Graph 1541) an die Drainseite der Kanäle der Kette bereitgestellt, um Restelektronen zu entfernen und um einen kleinen Betrag an Verstärkung bereitzustellen, wie 1 bis 2 V. Die SGD-Transistoren der ausgewählten und nicht ausgewählten Unterblöcke befinden sich zu diesem Zeitpunkt in einem leitenden Zustand, beispielsweise mit einer Spannung von 6 V. Dies ermöglicht, dass die Bitleitungsspannung zu dem Drain-Endkanal geleitet wird. Es ist auch möglich, dass die SGS-Transistoren der ausgewählten und nicht ausgewählten Unterblöcke zu diesem Zeitpunkt in einem leitenden Zustand sind, beispielsweise mit einer Spannung von 6 V (Graph 1531), um zu ermöglichen, dass die Sourceleitungsspannung (Vsl) zum Sourceende des Kanals geleitet wird.
  • In der Programmierphase werden VWLn und Vwl_unsel hochgefahren, z. B. beginnend bei t2, um eine kapazitive Kopplung der Kanäle der nicht ausgewählten NAND-Ketten bereitzustellen. VWLn wird dann weiter bei t6 bis t7 bis zu dem Spitzenprogrammierimpulspegel von Vpgm hochgefahren und auf Vpgm bis t8 gehalten. Nach dem Programmierimpuls wird VWLn auf Vss (0 V) bei t8 heruntergefahren. Anschließend werden in der Verifizierungsphase ein oder mehrere Verifizierungstests durch Anlegen einer oder mehrerer Steuer-Gate-Lesespannungen (Graph 1507) auf WLn und durch Abtasten, für jede Lesespannung, des leitenden Zustands der Speicherzellen in den ausgewählten NAND-Ketten der ausgewählten Unterblöcke durchgeführt.
  • Während der Programmier- und Verifizierungsphasen kann Vsg_sel z. B. auf 2,5 V bzw. 0 V für den ausgewählten Unterblock (Graph 1532) und die nicht ausgewählten Unterblöcke (Graph 1533) eingestellt werden. Während des Programmierimpulses mit Vbl=0 (Graph 1543), ist Vsg_sel hoch genug, um die SG_sel-Transistoren in einen leitenden Zustand für die ausgewählten NAND-Ketten zu versetzen. Sie ist jedoch niedrig genug, um die SG_sel-Transistoren in einen nicht leitenden Zustand für die nicht ausgewählten NAND-Ketten zu versetzen, indem für diese Ketten eine hohe Vbl eingestellt wird. Während der Programm- und Verifizierungsphasen kann Vbl_unsel für die ausgewählten NAND-Ketten auf einem hohen Wert von 2 V verbleiben (Graph 1542). Vbl_sel kann während der Verifizierungsphase als Teil eines Erfassungsprozesses erhöht werden, in dem die Bitleitungen aufgeladen werden.
  • Während der Verifizierungsphase befindet sich der SGD-Transistor in einem stark leitenden Zustand, um ein Abtasten für die ausgewählte Speicherzelle zu ermöglichen. Somit befindet sich der Drainend-Auswahlgatetransistor während der Vorladephase und der Programmierphase für die ausgewählten NAND-Ketten in einem leitenden Zustand. Vsg_unsel wird auf einen reduzierten Pegel wie 0 V abgesenkt, wodurch die SG_unsel-Transistoren für die Ketten in den nicht ausgewählten Unterblöcken in einen nicht leitenden Zustand versetzt werden. Nach der Verifizierungsphase wird Vb1 bei t16 auf 0 V verringert, so dass die SGD-Transistoren abgeschaltet sind und der Kanalbereich eine Floating-Spannung hat.
  • Die Zeitlinien und -punkte in 14 und 15 stellen sowohl die hohen und niedrigen Zugriffsgeschwindigkeitsfälle dar. In 14 und 15 sind die Werte der Zeitpunkte nach t3 bzw. t2 für den hohen Zugriffsgeschwindigkeitsfall niedriger als für den niedrigen Zugriffsgeschwindigkeitsfall.
  • 16 stellt Beispiele von Spannungssignalen, die in einem Lesevorgang verwendet werden können, in Übereinstimmung mit 11E dar. Ein Graph 1650 stellt VWLsel dar. In diesem Beispiel schließt der Lesevorgang zwei Lesespannungen, VrA und VrE, ein, die zum Lesen einer unteren Seite von Daten in einer Einrichtung verwendet werden, die MLC-Speicherzellen mit acht Datenzuständen verwendet. Die Spannung steigt dabei von einer Anfangsspannung wie 0 V auf VrA bei t2 an, und von VrA auf VrE bei t6.
  • Ein Graph 1660 stellt Vwl_unsel, die Spannung auf den nicht ausgewählten Wortleitungen, dar. Vwl_unsel steigt von einer Anfangsspannung auf Vpass bei t2, wird auf Vpass bis t10 gehalten und sinkt dann wieder auf die Anfangsspannung.
  • Ein Graph 1670 stellt Vsg, die Spannung an den SGD- und SGS-Transistoren, dar. Bezugnehmend auf Graph 1671, der für den ausgewählten Unterblock verwendet wird, steigt Vsg von einer Anfangsspannung auf einen Einschaltpegel wie 6 V bei t2, wird auf diesem Pegel bis t10 gehalten, und sinkt dann wieder auf die Anfangsspannung ab. Vsg ist hoch genug, um die SGD- und SGS-Transistoren in einen stark leitenden Zustand zu versetzen, damit ein Abtasten stattfinden kann. Für die nicht ausgewählten Unterblöcke zeigt Diagramm 1672, dass Vsg auf 0 V eingestellt werden kann, um die SGD- und SGS-Transistoren in einem nicht leitenden Zustand zu halten, so dass sie das Abtasten des ausgewählten Unterblocks nicht stören.
  • Ein Graph 1680 stellt Vbl, die Bitleitungsspannung, dar. Vbl steigt von einer Anfangsspannung auf eine positive Spannung wie 2 V bei t2, wird auf diesem Pegel bis t10 gehalten und sinkt dann wieder auf die Anfangsspannung. In einem Ansatz kann ein gemeinsames Spannungssignal auf die Dummy- und aktiven Bitleitungen angelegt werden. Beispielhafte Zeitperioden, die zum Ändern von Vbl zugewiesen werden, schließen t2 bis t3 ein, wobei Vbl von 0 V auf 2 V ansteigen kann, wenn sie beispielsweise zum Vorbereiten auf das Abtasten aufgeladen wird oder auf einen anderen zum Abtasten geeigneten Pegel. Bei dieser Zeitperiode kann es sich um eine relativ kurze erste Zeitperiode handeln, wenn ein Abschnitt mit relativ hoher Zugriffsgeschwindigkeit der Speichervorrichtung ausgelesen wird, oder eine relativ lange zweite Zeitperiode, wenn ein Abschnitt mit relativ niedriger Zugriffsgeschwindigkeit der Speichervorrichtung ausgelesen wird. Ein weiteres Beispiel einer Zeitperiode, die für hohe oder niedrige Zugriffsgeschwindigkeit kürzer bzw. länger eingestellt werden kann, ist beispielsweise die Zeitperiode von dem Beginn des Anstiegs der Vbl (bei t2) bis zu dem Beginn des Abtastvorgangs bei t4.
  • Der Graph 1680a zeigt eine Option, bei der Vbl mit einem Spannungsimpuls ansteigt, wie in Verbindung mit 11E erwähnt. Ein Spannungssignal mit Impuls bezieht sich z. B. auf ein Spannungssignal, das von einer Startspannung vorübergehend auf eine Spitzenspannung erhöht und dann leicht auf eine Endspannung abgesenkt wird. Eine angeforderte Ausgabe eines Spannungstreibers wird auf die Spitzenspannung und dann auf die Endspannung eingestellt, damit die Spannung schneller von der Anfangsspannung auf die Endspannung ansteigt, als wenn die angeforderte Ausgabe des Spannungstreibers direkt von der Anfangsspannung auf die Endspannung wechselt. Die Spitzenspannung könnte z. B. bis zu 10 bis 30 % höher als die Endspannung sein. Das Spannungssignal weist ein Überschwingen über der gewünschten Endspannung auf. In einem Ansatz kann Vbl auf eine Spitzenspannung von 2,2 V erhöht und dann auf eine Endspannung von 2 V abgesenkt werden, was ein Überschwingen von 20 % darstellt. Der Graph 1680b zeigt eine Option, bei der Vbl ohne einen Spannungsimpuls ansteigt.
  • Im Allgemeinen können die Bitleitungstreiber während des Abtastens eines ersten Satzes von NAND-Ketten eingerichtet sein, um einen ersten Satz von Bitleitungen ohne Spannungsimpuls anzusteuern, während sie einen zweiten Satz von Bitleitungen mit einem Spannungsimpuls ansteuern, wobei der erste Satz von Bitleitungen mit datenspeichernden NAND-Ketten und der zweite Satz von Bitleitungen mit Dummy-NAND-Ketten verbunden ist. Es ist ebenfalls möglich, auch den ersten Satz von Bitleitungen mit einem Spannungsimpuls anzusteuern.
  • Ein Graph 1680 stellt Vsense, eine Spannung in einem Abtastknoten einer Abtastschaltung, dar. Vsense steigt von einer Anfangsspannung auf eine positive Spannung, wie 2 V bei t2. Bei t4 wird dem Abtastknoten ermöglicht, mit der Bitleitung zu kommunizieren, wenn VrA angelegt wird. Ein Abfallbetrag in dem Abtastknoten wird verwendet, um zu bewerten, ob sich eine Speicherzelle in einem leitenden oder nicht leitenden Zustand befindet. Wenn die Speicherzelle VrA>Vth hat und sich daher in einem leitenden Zustand befindet, zeigt Graph 1693, dass die Spannung des Abtastknotens bei einer Abtastzeit t5 unter eine Auslösespannung Vtrip fällt. Wenn die Speicherzelle VrA≤Vth hat und sich daher in einem nicht leitenden Zustand befindet, zeigt Graph 1691, dass die Spannung des Abtastknotens bei der Abtastzeit t5 nicht deutlich fällt.
  • In ähnlicher Weise wird dem Abtastknoten bei t8 ermöglicht, mit der Bitleitung zu kommunizieren, wenn VrE angelegt wird. Wenn die Speicherzelle VrE>Vth hat und sich daher in einem leitenden Zustand befindet, zeigt Graph 1694, dass die Spannung des Abtastknotens bei einer Abtastzeit t9 unter eine Auslösespannung Vtrip fällt. Wenn die Speicherzelle VrE≤Vth hat und sich daher in einem nicht leitenden Zustand befindet, zeigt Graph 1692, dass die Spannung des Abtastknotens bei der Abtastzeit t5 nicht deutlich fällt.
  • Das Abtasten einer SLC-Speicherzelle kann ähnlich ablaufen, mit der Ausnahme, dass VWLsel auf eine einzige Lesespannung von Vr eingestellt ist (9A).
  • In einer Implementierung weist eine Vorrichtung auf: einen ersten Satz von NAND-Ketten (700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n); einen zweiten Satz von NAND-Ketten (790 bis 790p); einen ersten Satz von Bitleitungen (BL0, BL2, BL4, BL6, BL8, BL10, BL12 und BL12), die mit einem zweiten Satz von Bitleitungen (BL1, BL3, BL5, BL7, BL9, BL11, BL13 und BL15) verschachtelt sind; und die Bitleitungstreiber (440, 440a, 440b), die dazu eingerichtet sind, den ersten Satz von Bitleitungen und den zweiten Satz von Bitleitungen beim Programmierens des zweiten Satzes von NAND-Ketten anzusteuern und den ersten Satz von Bitleitungen anzusteuern und den zweiten Satz von Bitleitungen beim Programmieren des ersten Satzes von NAND-Ketten zu floaten.
  • In einer anderen Implementierung weist ein Verfahren auf: beim Programmieren eines ersten Unterblocks (SB0), der eine nicht ausgewählte NAND-Kette (700n) aufweist, die mit einer ersten Bitleitung (BL0) verbunden ist: Erhöhen einer Spannung auf der ersten Bitleitung auf eine Sperrspannung während eine Spannung auf einer Bitleitung (BL1), die zu der ersten Bitleitung benachbart ist, gefloatet wird, und nachdem eine erste Zeitperiode (ths) seit dem Beginn des Erhöhens der Spannung auf der ersten Bitleitung auf die Sperrspannung verstrichen ist, Erhöhen einer Spannung auf einer ausgewählten Wortleitung (VWLsel) auf eine Programmierspannung (z. B. beginnend bei t3 in 15); und beim Programmieren eines zweiten Unterblocks (SB1), der eine nicht ausgewählte NAND-Kette (710z) aufweist, die mit der ersten Bitleitung verbunden ist: Erhöhen einer Spannung auf der ersten Bitleitung auf die Sperrspannung während eine Spannung auf der Bitleitung, die zu der ersten Bitleitung benachbart ist, angesteuert wird, und nachdem eine zweite Zeitperiode (tls), die größer als die erste Zeitperiode ist, seit dem Beginn des Erhöhens der Spannung auf der ersten Bitleitung auf die Sperrspannung verstrichen ist, Erhöhen einer Spannung auf einer ausgewählten Wortleitung auf eine Programmierspannung (z. B. beginnend bei t3 in 15).
  • Bei einer anderen Implementierung weist eine Vorrichtung auf: NAND-Ketten (700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n) in einem ersten Block (BLKO); NAND-Ketten (790 bis 790p) in einem zweiten Block (BLK1); einen ersten Satz von Bitleitungen BL0 BL2, BL4, BL6, BL8, BL10, BL12 und BL12), der mit einem zweiten Satz von Bitleitungen (BL1, BL3, BL5, BL7, BL9, BL11, BL13 und BL15) verschachtelt ist, wobei der erste Satz von Bitleitungen mit den NAND-Ketten in dem ersten Block und mit den NAND-Ketten in dem zweiten Block verbunden ist, und wobei der zweite Satz von Bitleitungen von den NAND-Ketten in dem ersten Block getrennt ist und mit den NAND-Ketten in dem zweiten Block verbunden ist; Mittel (440, 440a) zum Ansteuern des ersten Satzes von Bitleitungen und zum Floaten des zweiten Satzes von Bitleitungen beim Programmieren der NAND-Ketten in dem ersten Block; und Mittel (440, 440a) zum Ansteuern des ersten Satzes von Bitleitungen und des zweiten Satzes von Bitleitungen beim Programmieren der NAND-Ketten in dem zweiten Block.
  • Die Mittel zum Ansteuern des ersten Satzes von Bitleitungen und zum Floaten des zweiten Satzes von Bitleitungen, und die Mittel zum Ansteuern des ersten Satzes von Bitleitungen und des zweiten Satzes von Bitleitungen können die Steuerung 122, die Steuerschaltung 110, das Leistungssteuermodul 116 einschließlich der Spannungszeitgeberschaltung 117, die Lese-/Schreibschaltungen 128 einschließlich des Spaltendecodierers 132 und die Bitleitungs-Spannungstreiber 440 und 440a und den BL-Selektor 173 von 1 bis 3 oder andere Logikhardware und/oder einen anderen ausführbaren Code, der auf einem computerlesbaren Speichermedium oder auf einer computerlesbaren Speichervorrichtung gespeichert ist, einschließen. Andere Ausführungsformen können ähnliche oder äquivalente Mittel einschließen.
  • In einer anderen Implementierung weist eine Vorrichtung auf: einen Satz von NAND-Ketten, die sich vertikal in einem Stapel erstrecken, wobei der Satz von NAND-Ketten eine NAND-Kette (700n), die zum Speichern von Daten geeignet ist, und eine NAND-Kette (710z), die nicht zum Speichern von Daten geeignet ist, aufweist, wobei die NAND-Kette, die zum Speichern von Daten geeignet ist, Speicherzellen (704 bis 713) aufweist, die entlang eines Kanals (700a) angeordnet sind, und die NAND-Kette, die nicht zum Speichern von Daten geeignet ist, Speicherzellen (724 bis 733) aufweist, die entlang eines Kanals (710a) angeordnet sind; und eine Bitleitung (BL0), die sich horizontal und direkt über der NAND-Kette, die zum Speichern von Daten geeignet ist, und der NAND-Kette, die nicht zum Speichern von Daten geeignet ist, erstreckt, wobei die Bitleitung elektrisch mit dem Kanal der NAND-Kette, die zum Speichern von Daten geeignet ist, verbunden ist und elektrisch von dem Kanal der NAND-Kette, die nicht zum Speichern von Daten geeignet ist, getrennt ist.
  • In einer anderen Implementierung weist ein System auf: eine Steuerung (110, 122); und einen Speicherchip (108), der mit der Steuerung verbunden ist. Der Speicherchip weist auf: eine erste Gruppe, die Sätze von verbundenen Speicherzellen (700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n) aufweist; eine zweite Gruppe, die Sätze von verbundenen Speicherzellen (790 bis 790p) aufweist; einen ersten Satz von Bitleitungen (BL0, BL2, BL4, BL6, BL8, BL10, BL12 und BL12), die mit einem zweiten Satz von Bitleitungen (BL1, BL3, BL5, BL7, BL9, BL11, BL13 und BL15) verschachtelt sind; und einen Bitleitungstreiber (440, 440a), der dazu eingerichtet ist, als Reaktion auf einen Programmbefehl, der die zweite Gruppe betrifft, eine Bitleitung in dem zweiten Satz von Bitleitungen anzusteuern und als Reaktion auf einen Programmbefehl, der die erste Gruppe betrifft, die Bitleitung in dem zweiten Satz von Bitleitungen zu floaten und eine Bitleitung in dem ersten Satz von Bitleitungen anzusteuern.
  • Die vorhergehende detaillierte Beschreibung der Erfindung wurde zu Zwecken der Veranschaulichung und Beschreibung präsentiert. Sie soll nicht erschöpfend sein oder die Erfindung auf die genaue offenbarte Form beschränken. Viele Modifikationen und Variationen sind im Lichte der obigen Lehren möglich. Die beschriebenen Ausführungsformen wurden gewählt, um die Prinzipien der Erfindung und ihre praktische Anwendung am besten zu erklären, um dadurch anderen Fachleuten zu ermöglichen, die Erfindung in verschiedenen Ausführungsformen und mit verschiedenen Modifikationen, wie sie für die jeweilige beabsichtigte Verwendung geeignet sind, am besten zu nutzen. Es ist beabsichtigt, dass der Schutzumfang der Erfindung durch die hieran angehängten Ansprüche definiert wird.

Claims (15)

  1. Vorrichtung aufweisend: einen ersten Satz von NAND-Ketten (700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n); einen zweiten Satz von NAND-Ketten (790 bis 790p); einen ersten Satz von Bitleitungen (BL0, BL2, BL4, BL6, BL8, BL10, BL12 und BL12), die mit einem zweiten Satz von Bitleitungen (BL1, BL3, BL5, BL7, BL9, BL11, BL13 und BL15) verschachtelt sind; und Bitleitungstreiber (440, 440a und 440b), die dazu eingerichtet sind, den ersten Satz von Bitleitungen und den zweiten Satz von Bitleitungen beim Programmieren des zweiten Satzes von NAND-Ketten anzusteuern, und den ersten Satz von Bitleitungen anzusteuern und den zweiten Satz von Bitleitungen beim Programmieren des ersten Satzes von NAND-Ketten zu floaten.
  2. Vorrichtung nach Anspruch 1, wobei: jede NAND-Kette in dem ersten Satz von NAND-Ketten und in dem zweiten Satz von NAND-Ketten einen Auswahlgatetransistor aufweist; die Auswahlgatetransistoren in dem zweiten Satz von NAND-Ketten mit dem ersten Satz von Bitleitungen und dem zweiten Satz von Bitleitungen elektrisch verbunden sind; und die Auswahlgatetransistoren in dem ersten Satz von NAND-Ketten mit dem ersten Satz von Bitleitungen und nicht dem zweiten Satz von Bitleitungen elektrisch verbunden sind.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei: die NAND-Ketten (700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n) in dem ersten Satz von NAND-Ketten mit den Dummy-NAND-Ketten (701n, 703n, 705n, 707n, 709n, 711n, 713n und 715n) verschachtelt sind; jede NAND-Kette in dem ersten Satz von NAND-Ketten und jede Dummy-NAND-Kette einen Auswahlgatetransistor aufweist; die Auswahlgatetransistoren in dem ersten Satz von NAND-Ketten mit dem ersten Satz von Bitleitungen elektrisch verbunden sind; die Auswahlgatetransistoren in den Dummy-NAND-Ketten mit dem zweiten Satz von Bitleitungen elektrisch verbunden sind; und eine Schwellenspannung des Auswahlgatetransistors in den Dummy-NAND-Ketten höher ist als eine Schwellenspannung des Auswahlgatetransistors der NAND-Kette in dem ersten Satz von NAND-Ketten.
  4. Vorrichtung nach Anspruch 1 oder 2, wobei: die NAND-Ketten (700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n) in dem ersten Satz von NAND-Ketten mit den Dummy-NAND-Ketten (701n, 703n, 705n, 707n, 709n, 711n, 713n und 715n) verschachtelt sind; jede NAND-Kette in dem ersten Satz von NAND-Ketten und jede Dummy-NAND-Kette einen Auswahlgatetransistor aufweist; und sich Durchkontaktierungen (621, 621a in) zwischen den Auswahlgatetransistoren in dem ersten Satz von NAND-Ketten und dem ersten Satz von Bitleitungen, aber nicht zwischen den Auswahlgatetransistoren in den Dummy-NAND-Ketten und dem zweiten Satz von Bitleitungen erstrecken.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei: sich der erste Satz von NAND-Ketten in einem ersten Abstand (d1) von den Bitleitungstreibern befindet; sich der zweite Satz von NAND-Ketten in einem zweiten Abstand (d3) von den Bitleitungstreibern befindet; und der zweite Abstand größer als der erste Abstand ist.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, wobei: eine Entfernung (sp2) zwischen den NAND-Ketten in dem ersten Satz von NAND-Ketten größer als eine Entfernung (sp1) zwischen den NAND-Ketten in dem zweiten Satz von NAND-Ketten ist.
  7. Vorrichtung nach Anspruch 6, wobei: jede Bitleitung in dem ersten Satz von Bitleitungen zu zwei Bitleitungen des zweiten Satzes von Bitleitungen benachbart ist.
  8. Vorrichtung nach einem der Ansprüche 1 bis 7, wobei: eine erste Zeitperiode (ths) für eine Änderung einer Spannung des ersten Satzes von Bitleitungen beim Programmieren des ersten Satzes von NAND-Ketten zugewiesen wird; und eine zweite Zeitperiode (tls), die größer als die erste Zeitperiode ist, für eine Änderung einer Spannung des zweiten Satzes von Bitleitungen beim Programmieren des zweiten Satzes von NAND-Ketten zugewiesen wird.
  9. Vorrichtung nach Anspruch 8, wobei: die Änderung der Spannung des ersten Satzes von Bitleitungen einen Anstieg auf eine Programmsperrspannung aufweist; und die Änderung der Spannung von dem zweiten Satz von Bitleitungen einen Anstieg auf die Programmsperrspannung aufweist.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, wobei: sich der erste Satz von NAND-Ketten in einem Block befindet und sich der zweite Satz von NAND-Ketten in einem anderen Block befindet.
  11. Vorrichtung nach einem der Ansprüche 1 bis 9, wobei: sich der erste Satz von NAND-Ketten in einem Unterblock (SB0 bis SB3, SB4 bis SB7, SP8 bis SB11, SB12 bis SB15) eines Blocks (BLKO bis BLK3) befindet und sich der zweite Satz von NAND-Ketten in einem anderen Unterblock des Blocks befindet.
  12. Vorrichtung nach einem der Ansprüche 1 bis 11, wobei: ein Satz von Speicherzellen, die in dem ersten Satz von NAND-Ketten angeordnet sind, einzelne Bitspeicherzellen aufweist; ein Satz von Speicherzellen, die in dem zweiten Satz von NAND-Ketten angeordnet sind, mehrere Bitspeicherzellen aufweist; und der erste Satz von NAND-Ketten dazu eingerichtet ist, Daten für den zweiten Satz von NAND-Ketten in den Cachespeicher aufzunehmen.
  13. Verfahren, aufweisend: beim Programmieren eines ersten Unterblocks (SB0), der eine nicht ausgewählte NAND-Kette (700n) aufweist, die mit einer ersten Bitleitung (BL0) verbunden ist: Erhöhen einer Spannung auf der ersten Bitleitung auf eine Sperrspannung während eine Spannung auf einer Bitleitung (BL1), die zu der ersten Bitleitung benachbart ist, gefloatet wird, und nachdem eine erste Zeitperiode (ths) seit dem Beginn des Erhöhens der Spannung auf der ersten Bitleitung auf die Sperrspannung verstrichen ist, Erhöhen einer Spannung (VWsel) auf einer ausgewählten Wortleitung auf eine Programmierspannung; und beim Programmieren eines zweiten Unterblocks (SB1), der eine nicht ausgewählte NAND-Kette (710z) aufweist, die mit der ersten Bitleitung verbunden ist: Erhöhen einer Spannung auf der ersten Bitleitung auf die Sperrspannung während eine Spannung auf der Bitleitung, die zu der ersten Bitleitung benachbart ist, angesteuert wird, und nachdem eine zweite Zeitperiode (tls), die größer als die erste Zeitperiode ist, seit dem Beginn des Erhöhens der Spannung auf der ersten Bitleitung auf die Sperrspannung verstrichen ist, Erhöhen einer Spannung auf einer ausgewählten Wortleitung auf eine Programmierspannung.
  14. Verfahren nach Anspruch 13, wobei: die Spannung auf der Bitleitung, die zu der ersten Bitleitung benachbart ist, auf einem Pegel angesteuert wird, der auf einem Programmier- oder Sperrzustand einer zugeordneten NAND-Kette basiert.
  15. Verfahren nach Anspruch 13 oder 14, wobei: der erste Unterblock NAND-Ketten (700n, 702n, 704n, 706n, 708n, 710n, 712n und 714n), die zum Speichern von Daten geeignet sind, aufweist, und mit NAND-Ketten (701n, 703n, 705n, 707n, 709n, 711n, 713n und 715n), die nicht zum Speichern von Daten geeignet sind, verschachtelt ist.
DE112019000157.4T 2018-06-05 2019-02-09 Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung Granted DE112019000157T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/000,257 US10636487B2 (en) 2018-06-05 2018-06-05 Memory device with bit lines disconnected from NAND strings for fast programming
US16/000,257 2018-06-05
PCT/US2019/017393 WO2019236153A1 (en) 2018-06-05 2019-02-09 Memory device with bit lines disconnected from nand strings for fast programming

Publications (1)

Publication Number Publication Date
DE112019000157T5 true DE112019000157T5 (de) 2020-09-03

Family

ID=68693651

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019000157.4T Granted DE112019000157T5 (de) 2018-06-05 2019-02-09 Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung

Country Status (4)

Country Link
US (2) US10636487B2 (de)
CN (1) CN111406289B (de)
DE (1) DE112019000157T5 (de)
WO (1) WO2019236153A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10586832B2 (en) 2011-02-14 2020-03-10 Attopsemi Technology Co., Ltd One-time programmable devices using gate-all-around structures
US11062786B2 (en) 2017-04-14 2021-07-13 Attopsemi Technology Co., Ltd One-time programmable memories with low power read operation and novel sensing scheme
US11615859B2 (en) 2017-04-14 2023-03-28 Attopsemi Technology Co., Ltd One-time programmable memories with ultra-low power read operation and novel sensing scheme
US10726914B2 (en) * 2017-04-14 2020-07-28 Attopsemi Technology Co. Ltd Programmable resistive memories with low power read operation and novel sensing scheme
US10636487B2 (en) 2018-06-05 2020-04-28 Sandisk Technologies Llc Memory device with bit lines disconnected from NAND strings for fast programming
KR20210001134A (ko) * 2019-06-27 2021-01-06 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR102651816B1 (ko) * 2019-10-23 2024-03-26 양쯔 메모리 테크놀로지스 씨오., 엘티디. 3차원 플래시 메모리를 판독하는 방법
KR102655678B1 (ko) * 2019-12-09 2024-04-09 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 디바이스의 프로그램 교란을 감소시키는 방법 및 이를 이용한 메모리 디바이스
US11036407B1 (en) * 2020-05-29 2021-06-15 Western Digital Technologies, Inc. Storage system and method for smart folding
US11361816B2 (en) 2020-08-18 2022-06-14 Sandisk Technologies Llc Memory block with separately driven source regions to improve performance

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100387529B1 (ko) 2001-06-11 2003-06-18 삼성전자주식회사 랜덤 억세스 가능한 메모리 셀 어레이를 갖는 불휘발성반도체 메모리 장치
JP4832767B2 (ja) 2005-02-03 2011-12-07 株式会社東芝 半導体集積回路装置及びそのデータプログラム方法
JP4113211B2 (ja) * 2005-07-27 2008-07-09 株式会社東芝 半導体集積回路装置
US7551466B2 (en) 2006-02-23 2009-06-23 Micron Technology, Inc. Bit line coupling
US7450414B2 (en) 2006-07-31 2008-11-11 Sandisk 3D Llc Method for using a mixed-use memory array
EP1892720B1 (de) * 2006-08-24 2011-07-27 STMicroelectronics Srl Nichtflüchtiger, elektrisch programmierbarer Speicher mit einer Vielzahl von Speicherdichten und Datenübertragungs-Geschwindigkeiten
US7577031B2 (en) 2007-03-29 2009-08-18 Sandisk Corporation Non-volatile memory with compensation for variations along a word line
US8368137B2 (en) 2007-06-26 2013-02-05 Sandisk Technologies Inc. Dual bit line metal layers for non-volatile memory
KR100866145B1 (ko) 2007-10-05 2008-10-31 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 바이어싱 방법
KR101434401B1 (ko) 2007-12-17 2014-08-27 삼성전자주식회사 집적 회로 메모리 장치
US7885100B2 (en) * 2008-03-12 2011-02-08 Hynix Semiconductor Inc. Phase change random access memory and layout method of the same
US7986554B2 (en) 2008-03-19 2011-07-26 Sandisk Technologies Inc. Different combinations of wordline order and look-ahead read to improve non-volatile memory performance
US8130556B2 (en) 2008-10-30 2012-03-06 Sandisk Technologies Inc. Pair bit line programming to improve boost voltage clamping
US8081514B2 (en) * 2009-08-25 2011-12-20 Sandisk Technologies Inc. Partial speed and full speed programming for non-volatile memory using floating bit lines
US8218381B2 (en) * 2009-11-24 2012-07-10 Sandisk Technologies Inc. Programming memory with sensing-based bit line compensation to reduce channel-to-floating gate coupling
US8520441B2 (en) 2010-11-16 2013-08-27 Sandisk Technologies Inc. Word line kicking when sensing non-volatile storage
CN104115231B (zh) * 2011-12-23 2017-12-26 英特尔公司 用于确定对存储器阵列的访问的方法、装置和***
US9176862B2 (en) 2011-12-29 2015-11-03 Sandisk Technologies Inc. SLC-MLC wear balancing
KR102054223B1 (ko) 2012-07-23 2019-12-10 삼성전자주식회사 더미비트라인을 가진 반도체 메모리 장치
US8867272B2 (en) 2012-07-24 2014-10-21 Skymedi Corporation Method of accessing a non-volatile memory
KR102204394B1 (ko) 2013-10-14 2021-01-19 삼성전자주식회사 메모리 시스템에서의 코딩 방법 및 디코딩 방법
US9229644B2 (en) 2013-11-25 2016-01-05 Sandisk Technologies Inc. Targeted copy of data relocation
WO2015100434A2 (en) * 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US8918577B1 (en) 2014-06-13 2014-12-23 Sandisk Technologies Inc. Three dimensional nonvolatile memory with variable block capacity
US9595345B2 (en) 2014-08-07 2017-03-14 Sandisk Technologies Llc Adaptive selective bit line pre-charge for current savings and fast programming
US9595338B2 (en) 2014-09-24 2017-03-14 Sandisk Technologies Llc Utilizing NAND strings in dummy blocks for faster bit line precharge
US9318210B1 (en) 2015-02-02 2016-04-19 Sandisk Technologies Inc. Word line kick during sensing: trimming and adjacent word lines
US9653167B2 (en) 2015-02-19 2017-05-16 Kabushiki Kaisha Toshiba Semiconductor memory device using grounded dummy bit lines
JP6290124B2 (ja) 2015-03-12 2018-03-07 東芝メモリ株式会社 半導体記憶装置
US9703719B2 (en) 2015-05-08 2017-07-11 Sandisk Technologies Llc Fast read for non-volatile storage
US10636487B2 (en) 2018-06-05 2020-04-28 Sandisk Technologies Llc Memory device with bit lines disconnected from NAND strings for fast programming
US10726923B2 (en) * 2018-11-21 2020-07-28 Sandisk Technologies Llc Bias scheme for dummy lines of data storage devices

Also Published As

Publication number Publication date
US10636487B2 (en) 2020-04-28
US20200243138A1 (en) 2020-07-30
CN111406289A (zh) 2020-07-10
US11081180B2 (en) 2021-08-03
US20190371394A1 (en) 2019-12-05
WO2019236153A1 (en) 2019-12-12
CN111406289B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
DE112019000164T5 (de) Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung
DE112019000157T5 (de) Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung
DE112017004208B4 (de) 3d-nand mit teilblocklöschen
DE112017001761B4 (de) NAND-Struktur mit Stufenauswahl-Gate-Transistoren
DE102018114250B4 (de) Reduzieren eines heißen Elektroneninjektionstypen von Lesestörungen in einer 3D-Speichervorrichtung während Signal-schaltenden Störsignalen
DE112017003298T5 (de) Schema für das Herunterfahren von Wortleitungen zum Entfernen von Restelektronen
DE112019000152T5 (de) Verschachteltes programmieren und prüfen in nichtflüchtigem speicher
DE102017104265A1 (de) Dummy-Spannung zum Verringern des Erst-Lese-Effekts in einem Speicher
DE112019000148T5 (de) Dynamische Bitabtastungstechniken für die Programmierung von Speichervorrichtungen
DE112018003426T5 (de) Reduzieren der lesestörung der art durch injektion heisser elektronen in 3d-speichervorrichtung mit verbundenen sourceendauswahlgates
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
DE112015003834T5 (de) Abtasten mehrerer referenzpegel in nichtflüchtigen speicherelementen
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE112016003568B4 (de) Intelligente Überprüfung bzw. Verifizierung zur Programmierung nicht-flüchtiger Speicher
DE102021115501A1 (de) Leseaktualisierung zur verbesserung der leistung bei datenerhaltung für nichtflüchtigen speicher
DE112019000159T5 (de) Ramp-down-abtastung zwischen programmspannung und prüfspannung in einer speichervorrichtung
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102020105991A1 (de) SUBBLOCK-GRÖßENREDUKTION FÜR NICHTFLÜCHTIGE 3D-SPEICHER
DE112019005518T5 (de) Mehrzustandsprogrammierung in einer speichervorrichtung mit schleifenabhängiger bitleitungsspannung während der verifizierung
DE102018106111A1 (de) Selektives Boosting von Strom in Speicherkanälen basierend auf einem Datenmuster oder physischen Nicht-Uniformitäten
DE102022102591A1 (de) Systeme und verfahren zum einstellen der schwellenspannungsverteilung aufgrund von halbkreis-sgd
DE102022102593A1 (de) Speicherprogrammierung mit selektiv übersprungenen verifizierungsimpulsen zur leistungsverbesserung
DE102021106907A1 (de) Lochvorladeschema mit gate-induzierter drain-leckstromerzeugung
DE102021107268A1 (de) Programmierung von speicherzellen unter verwendung von kodiertem tlc-fine
DE112023000257T5 (de) Zeit-tagging von lesepegeln mehrerer wortleitungen für die aufbewahrung von daten in offenen blöcken

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

R016 Response to examination communication
R018 Grant decision by examination section/examining division