DE112019000164T5 - Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung - Google Patents

Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung Download PDF

Info

Publication number
DE112019000164T5
DE112019000164T5 DE112019000164.7T DE112019000164T DE112019000164T5 DE 112019000164 T5 DE112019000164 T5 DE 112019000164T5 DE 112019000164 T DE112019000164 T DE 112019000164T DE 112019000164 T5 DE112019000164 T5 DE 112019000164T5
Authority
DE
Germany
Prior art keywords
word line
voltage
memory cells
adjacent
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112019000164.7T
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 DE112019000164T5 publication Critical patent/DE112019000164T5/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/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/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/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/26Sensing or reading circuits; Data output circuits
    • 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
    • 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/50Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the boundary region between the core region and the peripheral circuit region
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/30EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
    • H10B43/35EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B51/00Ferroelectric RAM [FeRAM] devices comprising ferroelectric memory transistors
    • H10B51/50Ferroelectric RAM [FeRAM] devices comprising ferroelectric memory transistors characterised by the boundary region between the core and peripheral circuit regions
    • 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
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators 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
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators 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

Landscapes

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

Abstract

Vorrichtungen und Techniken für schnelle Programmier- und Lesevorgänge für Speicherzellen. Eine Gruppe von Wortleitungen, die eine ausgewählte Wortleitung und eine oder mehrere benachbarte Wortleitungen aufweisen, wird während Programm- und Lesevorgängen mit einem gemeinsamen Spannungssignal angesteuert. Die Wortleitungen können permanent miteinander verbunden sein oder durch einen Schalter verbunden sein. In einem anderen Ansatz werden die Wortleitungen separat durch gemeinsame Spannungssignale angesteuert. In einem Satz von Blöcken kann ein Block von Speicherzellen mit verbundenen Wortleitungen bereitgestellt werden, um eine relativ hohe Zugriffsgeschwindigkeit bereitzustellen, während ein anderer Block von Speicherzellen getrennte Wortleitungen hat, um eine höhere Speicherdichte bereitzustellen. In einem anderen Gesichtspunkt sind die Speicherzellen einer Wortleitung in Abschnitte unterteilt, und ein Abschnitt, der einem Zeilendecodierer am nächsten ist, ist für eine hohe Zugriffsgeschwindigkeit mit einer niedrigen Speicherdichte reserviert.

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 von 1 darstellt.
    • 3 stellt eine beispielhafte Implementierung des Leistungssteuermoduls 116 von 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 von 1 aufweist.
    • 5A stellt eine beispielhafte Querschnittsansicht eines Abschnitts von BLK0 von 4 dar.
    • 5B stellt einen beispielhaften Transistor 650 dar.
    • 5C stellt eine Detailansicht der Region 622 des Stapels von 5A dar.
    • 6 stellt eine beispielhafte Ansicht von NAND-Ketten in BLK0 in Übereinstimmung mit 4 und 5A dar.
    • 7 stellt Steuer-Gate-Schichten in BLK0 in Übereinstimmung mit 6 dar.
    • 8 stellt zusätzliche Details von SB0 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.
    • 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 von 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 von 9B führt.
    • 11A stellt einen beispielhaften Prozess zum Bereitstellen eines gemeinsamen Spannungssignals an eine ausgewählte Wortleitung und eine benachbarte Wortleitung dar.
    • 11B stellt einen beispielhaften Prozess zum Bereitstellen eines Spannungssignals ohne einen Impuls an eine ausgewählte Wortleitung und eines Spannungssignals mit einem Impuls an eine benachbarte Wortleitung dar.
    • 11C stellt eine beispielhafte Implementierung des Prozesses von 11A dar, bei dem ein erstes Spannungssignal über jeweilige Selektoren an eine ausgewählte Wortleitung und eine benachbarte Wortleitung geleitet wird.
    • 11D stellt eine beispielhafte Implementierung des Prozesses von 11A dar, bei dem ein erstes Spannungssignal über einen jeweiligen Selektor der ausgewählten Wortleitung an eine ausgewählte Wortleitung und eine benachbarte Wortleitung geleitet wird und die ausgewählte Wortleitung über einen Schalter mit der benachbarten Wortleitung verbunden wird.
    • 11 E stellt eine beispielhafte Implementierung des Prozesses von 11A dar, bei dem ein erstes Spannungssignal über einen jeweiligen Selektor der ausgewählten Wortleitung an eine ausgewählte Wortleitung und eine benachbarte Wortleitung geleitet wird und die ausgewählte Wortleitung permanent mit der benachbarten Wortleitung verbunden wird.
    • 11 F stellt eine beispielhafte Implementierung des Prozesses von 11A in einem Programmvorgang dar.
    • 11G stellt eine beispielhafte Implementierung des Prozesses von 11A in einem Lesevorgang dar.
    • 11H stellt einen beispielhaften Prozess zum Erfassen eines Kurzschlusses zwischen Wortleitungen während eines Programmvorgangs dar.
    • 11I stellt einen beispielhaften Prozess zum Programmieren und Lesen von Daten von einem Abschnitt einer Wortleitung dar, der einem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit.
    • 11J stellt einen beispielhaften Prozess zum Programmieren und Lesen von Daten von einem Abschnitt einer Gruppe von verbundenen Wortleitungen dar, der einem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit.
    • 11K stellt einen beispielhaften Prozess zum Zugreifen auf Speicherzellen in ersten und zweiten Blöcken unter Verwendung unterschiedlicher Zugriffszeiten dar.
    • 12A stellt eine weitere Ansicht des Stapels 610 von 5A dar, die die terrassenartigen Steuer-Gate-Schichten und ein erstes Beispiel von Verbindungen zu Kontakten zeigt, wobei jede Wortleitungsschicht mit einem separaten Kontakt verbunden ist.
    • 12B stellt ein Beispiel des Plans 119 von Steuer-Gate-Schichten zu Kontakten von 1 in Übereinstimmung mit 12A dar.
    • 12C stellt ein Beispiel des Plans 121 von Wortleitungen zu Seiten von Daten von 1 in Übereinstimmung mit 12A dar.
    • 13A stellt eine weitere Ansicht des Stapels 610 von 5A dar und zeigt terrassenartige Steuer-Gate-Schichten und ein zweites Beispiel von Verbindungen zu Kontakten, wobei Paare der Wortleitungsschichten WLL0 und WLL1, WLL2 und WLL3, WLL4 und WLL5, WLL6 und WLL7, und WLL8 und WLL9 mit separaten Kontakten verbunden sind.
    • 13B stellt eine Draufsicht des Stapels von 13A dar.
    • 13C stellt ein Beispiel des Plans 119 von Steuer-Gate-Schichten zu Kontakten von 1 in Übereinstimmung mit 13A dar.
    • 13D stellt ein Beispiel des Plans 121 von Wortleitungen zu Seiten von Daten von 1 in Übereinstimmung mit 13A dar.
    • 14A stellt eine weitere Ansicht des Stapels 610 von 5A dar und zeigt terrassenartige Steuer-Gate-Schichten und ein drittes Beispiel von Verbindungen zu Kontakten, wobei Paare der Wortleitungsschichten WLL0 und WLL1, WLL2 und WLL3 mit separaten Kontakten verbunden sind und die einzelnen Wortleitungsschichten WLL4 bis WLL9 mit separaten entsprechenden Kontakten verbunden sind.
    • 14B stellt eine Draufsicht des Stapels von 14A dar.
    • 14C stellt ein Beispiel des Plans 119 von Steuer-Gate-Schichten zu Kontakten von 1 in Übereinstimmung mit 14A dar.
    • 14D stellt ein Beispiel des Plans 121 von Wortleitungen zu Seiten von Daten von 1 in Übereinstimmung mit 14A dar.
    • 15A stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten in Übereinstimmung mit 12A bis 12C dar.
    • 15B stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten in Übereinstimmung mit 13A bis 13D dar.
    • 15C stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten in Übereinstimmung mit 14A bis 14D dar.
    • 15D stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten, ähnlich zu 15A, jedoch mit geschalteten Pfaden zwischen WLL0 und WLL1 und zwischen WLL2 und WLL3, dar.
    • 16A stellt eine Draufsicht des Satzes von Blöcken BLK0 bis BLK3 von 4 dar, die NAND-Ketten, Zeilendecodierer und Bitleitungen darstellen.
    • 16B stellt eine beispielhafte Architektur in Übereinstimmung mit 16A dar.
    • 16C stellt eine beispielhafte rechenzentrierte Architektur dar.
    • 16D stellt eine beispielhafte speicherzentrierte Architektur dar.
    • 16E stellt BLK0 von 16A dar und zeigt, wie die NAND-Ketten in unterschiedlichen Abständen von dem Zeilendecodierer angeordnet sind.
    • 17A stellt die beispielhaften Wortleitungsschichten WLL1 bis WLL4 dar und zeigt, wie eine Kapazität zwischen benachbarten Wortleitungsschichten besteht, die getrennt sind.
    • 17B stellt die beispielhaften Wortleitungsschichten WLL1 bis WLL4 dar und zeigt, wie eine reduzierte Kapazität besteht, wenn die benachbarten Wortleitungsschichten verbunden sind.
    • 18 stellt einen Graph der Spannung im Vergleich zur Zeit dar und zeigt eine relativ schnelle Erhöhung und eine relativ langsame Erhöhung.
    • 19 stellt ein Modell einer Wortleitung als ein verteiltes RC-Glied 1900 in Übereinstimmung mit 16E dar.
    • 20 stellt Beispiele von Spannungssignalen, die in einer Programmschleife eines Programmvorgangs verwendet werden können, in Übereinstimmung mit 11 F dar.
    • 21 stellt Beispiele von Spannungssignalen, die in einem Lesevorgang verwendet werden können, in Übereinstimmung mit 11G 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 das Programmieren für eine Speicherzelle abgeschlossen ist, kann sie von weiterem Programmieren ausgeschlossen werden, während das 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 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. 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 16B bis 16D. 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 Wortleitung angelegt wird, wird eine bestimmte Zeitdauer zugewiesen, um eine Spannung basierend auf der RC-Zeitkonstante der Wortleitung zu ändern. Die RC-Zeitkonstante ist abhängig von den Wortleitungsabmessungen und dem Material. Zusätzlich kann eine Kapazität zwischen Wortleitungen die Leistung weiter reduzieren.
  • Techniken, die hierin bereitgestellt werden, befassen sich mit den vorstehenden und anderen Problemen. In einem Gesichtspunkt wird eine Gruppe von Wortleitungen, die eine ausgewählte Wortleitung und eine oder mehrere benachbarte Wortleitungen aufweisen, während Programm- und Lesevorgängen mit einem gemeinsamen Spannungssignal angesteuert. Die Speicherzellen dieser Gruppe von Wortleitungen speichern gemeinsame Daten für jede NAND Kette, und auf diese kann für einen Vorgang wie Programmieren oder Lesen mit einer relativ hohen Zugriffsgeschwindigkeit zugegriffen werden. In einem Ansatz sind die Wortleitungen in der Gruppe durch eine Leiterbahn dauerhaft miteinander verbunden, und ein Zeilendecodierer stellt eine Spannung an einer der Wortleitungen bereit, die wiederum zu der einen oder den mehreren benachbarten Wortleitungen geleitet wird, so dass die Wortleitungen gemeinsam angesteuert werden. In einem anderen Ansatz können die Wortleitungen in der Gruppe durch einen Schalter verbunden oder getrennt werden, so dass sie unabhängig oder gemeinsam angesteuert werden können. In einem anderen Ansatz sind die Wortleitungen in der Gruppe nicht verbunden, sondern werden separat durch gemeinsame Spannungssignale angesteuert. In einem anderen Ansatz sind die Wortleitungen in der Gruppe nicht miteinander verbunden, und mindestens eine Wortleitung wird mit einem Spannungsimpuls angetrieben, was dabei hilft, eine benachbarte Wortleitung anzukoppeln.
  • In einem anderen Gesichtspunkt wird ein Kurzschluss zwischen Wortleitungen während eines Programmvorgangs erfasst und diese Wortleitungen werden als eine verbundene Gruppe von Wortleitungen in zukünftigen Vorgängen behandelt.
  • In einem Ansatz hat ein Block von Speicherzellen eine relativ hohe Zugriffsgeschwindigkeit und eine relativ geringe Speicherdichte, während ein weiterer Block von Speicherzellen eine relativ geringe Zugriffsgeschwindigkeit und eine relativ hohe Speicherdichte hat. In einem anderen Ansatz hat ein Abschnitt eines Blocks von Speicherzellen (wie eine oder mehrere verbundene Gruppen von Wortleitungen) eine relativ hohe Zugriffsgeschwindigkeit und eine relativ geringe Speicherdichte, während ein anderer Abschnitt des Blocks (wie eine oder mehrere getrennte Wortleitungen) eine relativ niedrige Zugriffsgeschwindigkeit und eine relativ hohe Speicherdichte hat.
  • In einem Ansatz weist ein Block SLC-Speicherzellen auf, während ein anderer Block MLC-Speicherzellen aufweist. In einem anderen Ansatz weist ein Abschnitt eines Blocks SLC-Speicherzellen auf, während ein anderer Abschnitt des Blocks MLC-Speicherzellen aufweist.
  • In einem anderen Ansatz sind die Speicherzellen einer Wortleitung in Abschnitte unterteilt, und ein Abschnitt, der einem Zeilendecodierer am nächsten liegt, ist für eine hohe Zugriffsgeschwindigkeit mit einer niedrigen Speicherdichte (z. B. SLC) reserviert, während ein verbleibender Abschnitt der Speicherzellen, der von dem Zeilendecodierer weiter entfernt ist, nicht verwendet wird oder für eine niedrige Zugriffsgeschwindigkeit mit einer hohen Speicherdichte (z. B. MLC) reserviert ist.
  • Diese und andere Merkmale werden nachstehend weiter erläutert.
  • 1 ist ein Blockdiagramm einer beispielhaften Speichervorrichtung. Die Speichervorrichtung 100, wie ein nichtflüchtiges Speichersystem, kann einen 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-/Schreibschaltungen 128 ein. Die Speicherstruktur 126 ist durch Wortleitungen über einen Zeilendecodierer 124 und durch Bitleitungen über einen Spaltendecodierer 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, 52,... 53 (Abtastschaltkreis) ein und ermöglichen das parallele Lesen oder Programmieren einer Seite von Speicherzellen. Üblicherweise ist eine Steuerung 122 in der gleichen Speichervorrichtung 100 (z. B. einer entfernbaren Speicherkarte) wie der eine oder die mehreren Speicherchips 108 eingeschlossen. 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 Leitungen 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 mit einer Schaltung befinden, 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, um Speichervorgänge auf der Speicherstruktur 126 durchzuführen und schließt eine Zustandsmaschine 112, eine Spaltenredundanzschaltung 111, einen On-Chip-Adressdecodierer 114, ein Leistungssteuermodul 116 (Leistungssteuerschaltung), eine Wortleitungsaktivierungsschaltung 117 (einschließlich einer Spannungszeitsteuerschaltung 117a), einen Plan 119 von Steuer-Gate-Schichten (z. B. Wortleitungen und Auswahlgateleitungen) zu Kontakten, wobei die Kontakte mit einem Zeilendecodierer verbunden sind, um Spannungssignale zu empfangen, und einen Plan 121 von Wortleitungen zu Seiten von Daten, 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. In 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.
  • Die Spannungszeitsteuerschaltung 117a kann Daten speichern, die zum Bestimmen des Zeitpunkts des Anlegens von Spannungssignalen verwendet werden können. 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 zugewiesen wird, basierend auf einer RC-Zeitkonstante einer Wortleitung variieren. Wenn ein Spannungssignal an zwei oder mehr verbundene Wortleitungen angelegt wird, wird die RC-Zeitkonstante im Vergleich zum Anlegen des Spannungssignals an eine einzelne Wortleitung reduziert, so dass ein reduzierter Zeitraum für ein Spannungssignal zugewiesen werden kann, um eine stabile Spannung während einer Spannungserhöhung oder -abnahme zu erreichen. Beispielsweise wird der Widerstand um die Hälfte reduziert, wenn zwei Wortleitungen verbunden werden. Allgemein wird der Widerstand um 1/N reduziert, wenn N-Wortleitungen verbunden sind, wobei N≥2 ist. Die RC-Zeitkonstante wird daher ebenfalls um 1/N reduziert, so dass die Zeit, die zum Ändern einer Spannung auf den verbundenen Wortleitungen zugewiesen ist, reduziert werden kann. Basierend auf der Zeitsteuerschaltung kann die Wortleitungsaktivierungsschaltung den Zeilendecodierer steuern, um die gewünschten Spannungssignale zu den gewünschten Zeiten während eines Programm- oder Lesevorgangs an die Wortleitungen anzulegen. Siehe 20 und 21 zum Beispiel Spannungssignale. Der Plan 119 der Steuer-Gate-Schichten zu Kontakten kann verwendet werden, um einen Querverweis zwischen Steuer-Gate-Schichten und Kontakten, die zu einem Zeilendecodierer führen, bereitzustellen. Siehe 12B, 13C und 14C. Der Plan 121 von Wortleitungen zu Seiten von Daten kann verwendet werden, um einen Querverweis zwischen Wortleitungen und Seiten von Daten bereitzustellen, die in die Wortleitungen geschrieben oder von diesen gelesen werden. Siehe 12C, 13D und 14D. Die Wortleitungsaktivierungsschaltung 117 kann verwendet werden, um den Zeilendecodierer zu steuern, um Spannungssignale an die Wortleitungen bereitzustellen.
  • Die Wortleitungsaktivierungsschaltung 117, die Spannungszeitsteuerschaltung 117a und die Pläne 119 und 121 können durch Hardware, Firmware und/oder Software zum Ausführen der hierin beschriebenen Techniken einschließlich der hierin beschriebenen Prozesse in den Flussdiagrammen eingerichtet sein.
  • 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, 52, ..., 53, 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 der Steuerschaltung 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 schließt Treiber zum Durchführen grundlegender Aufgaben ein, 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.
  • In 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. Weiterhin 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 einschließen, 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 nicht einschränkendes Beispiel kann eine 3D-Speicherstruktur vertikal als Stapel mehrerer 2D-Speichervorrichtungsniveaus angeordnet sein. Als anderes nicht einschrä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 separat 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 separaten 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 separaten Chips gebildet und dann zusammengepackt werden, um eine Speichervorrichtung mit gestapelten Chips zu bilden.
  • Eine zugehörige Schaltung ist in der Regel für den Betrieb der Speicherelemente und für die Kommunikation mit den Speicherelementen erforderlich. Als nicht einschränkende Beispiele können Speichervorrichtungen Schaltungen haben, 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 von 1 darstellt. Ein einzelner Abtastblock 51 kann in einen oder mehrere Kernabschnitte, die als Abtastschaltungen 180 bis 183 oder Abtastverstärker bezeichnet werden, und in einen gemeinsamen Abschnitt, der als Verwaltungsschaltung 190 bezeichnet wird, unterteilt sein. In einer Ausführungsform gibt es eine separate 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 180 weist als ein Beispiel einen Abtastschaltkreis auf, die ein Abtasten durchführt, indem bestimmt wird, ob sich ein Leitungsstrom in einer verbundenen Bitleitung oberhalb oder unterhalb eines vorbestimmten Schwellenpegels befindet. Der Abtastschaltkreis 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 21, Graph 2090. Die Abtastschaltung 180 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.
  • 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 Datenlatches 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 des Lesens steht der Betrieb des Systems unter der Steuerung der Zustandsmaschine 112, welche die Zufuhr von unterschiedlichen Steuer-Gate-Spannungen zu dem adressierten Speicherelement steuert. Wenn es die verschiedenen vordefinierten Steuergate-Spannungen entsprechend den verschiedenen Speicherzuständen, die von dem Speicher unterstützt werden, schaltet, kann die Abschaltschaltung 180 bei einer dieser Spannungen auslösen und eine entsprechende Ausgabe wird von der Abtastschaltung 180 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 die Datenlatches 194 bis 197. In einer anderen Ausführungsform der Verwaltungsschaltung 190 dient der Bitleitungslatch sowohl als Latch zum Zwischenspeichern der Ausgabe der Abtastschaltung 180 als auch als Bitleitungslatch, wie vorstehend beschrieben.
  • Einige Implementierungen können mehrere Prozessoren 192 einschließen. In einer Ausführungsform schließt jeder Prozessor 192 eine (nicht dargestellte) Ausgabeleitung ein, sodass jede der Ausgabeleitungen miteinander über eine ODER-Leitung verdrahtet ist. In 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 die zwei 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 der Abtastschaltkreis stellt ihn während des Verifizierungsprozesses auf einen Sperrwert ein.
  • Jeder Satz von Datenlatches 194 bis 197 kann als ein Stapel von Datenlatches für jede Abtastschaltung implementiert sein. In einer Ausführungsform gibt es drei Datenlatches pro Abtastschaltung 180. In einigen Implementierungen sind die Datenlatches 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 von 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 ein weiterer 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 von 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 floated.
  • 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 Steuer-Gate-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 benachbarten Datenwortleitungstreiber 447a einschließen, der eine Spannung auf einer Datenwortleitung bereitstellt, die zu der ausgewählten Wortleitung benachbart ist. Der benachbarte Datenwortleitungstreiber kann auch eine Spannung an Datenwortleitungen bereitstellen, die benachbart zu der ausgewählten Wortleitung auf beiden Seiten der ausgewählten Wortleitung sind. Die Spannungstreiber können auch einen Treiber 448 für nicht ausgewählte Datenwortleitungen einschließen. Diese können verbleibende nicht ausgewählte Wortleitungen sein, die sich von der ausgewählten Wortleitung und der einen oder den mehreren benachbarten Wortleitungen unterscheiden. 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, wie in 12A, 13A und 14A.
  • 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 über einen Pfad 432 angetrieben werden. Ein Satz von Bitleitungen 442 wird von den Blöcken auch gemeinsam genutzt. Ein Bitleitungsspannungstreiber 440 stellt den Bitleitungen Spannungen bereit. 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 von 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. Die Schaltung kann Spannungstreiber einschließen, die mit Steuer-Gate-Schichten, Bitleitungen und Sourceleitungen der Blöcke verbunden werden können. In einem Ansatz werden Steuergateschichten auf einer gemeinsamen Höhe in den Blöcken gemeinsam angesteuert. Das Substrat 501 kann auch eine Schaltung unter den Blöcken und eine oder mehrere untere Metallschichten tragen, die in Leiterbahnen strukturiert sind, um Signale der Schaltung 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 der Schaltung 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 stellt eine beispielhafte Querschnittsansicht eines Abschnitts von BLK0 von 4 dar. 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 sourceseitige Datenwortleitung und WLDS1 ist eine Dummy-Wortleitungsschicht, die der sourceseitigen Datenwortleitung 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 710n 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. 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. Ein leitender Weg 621 verbindet das Drainende 615 mit BL0.
  • 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 Spannungstreiber erstrecken.
  • 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 von 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 NAN D-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, 710n, 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.
  • 6 stellt eine beispielhafte Ansicht von NAND-Ketten in BLK0 in Übereinstimmung mit 4 und 5A 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, 710n, 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, 710n, 720n und 730n befinden sich in Unterblöcken SB0, SB1, SB2 bzw. 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, 710n, 720n und 730n haben Kanäle 700a, 710a, 720a bzw. 730a.
  • 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 710n 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 BLK0 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 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. 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 704n bis 707n verbunden. Abtastschaltungen können mit jeder Bitleitung verbunden sein. Zum Beispiel können die Abtastschaltungen 180 bis 183 von 2. jeweils mit den Bitleitungen BL0 bis BL3 verbunden sein.
  • Jede Seite von Speicherzellen ist mit einer Wortleitung verbunden. Zum Beispiel ist ein Satz von Speicherzellen 704 bis 704g jeweils mit WLL0 in den NAND-Ketten 700n bis 707n verbunden, und ein Satz von Speicherzellen 780 bis 780g ist mit WLL1 jeweils in den NAND-Ketten 700n bis 707n verbunden. Ferner sind in jeder NAND-Kette die Speicherzellen von WLL0 und WLL1 benachbart zueinander und können in einen gemeinsamen Datenzustand programmiert werden oder als in einem gemeinsamen Datenzustand befindlich abgetastet werden, wenn WLL0 und WLL1 durch ein gemeinsames Spannungssignal wie hierin beschrieben angesteuert werden.
  • 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.
  • 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 und 9B stellt die vertikale Achse eine Anzahl von Speicherzellen auf einer logarithmischen Skala dar und die horizontale Achse stellt die Spannung 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.
  • 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 von 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 von 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 Programmierschleife, 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 20.
  • 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 10V) 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-, B- und C-Zustand ist 11, 10, 00 bzw. 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 bzw. 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 zum Bereitstellen eines gemeinsamen Spannungssignals an eine ausgewählte Wortleitung und eine benachbarte Wortleitung dar. Wie eingangs erwähnt, können durch Anlegen eines gemeinsamen Spannungssignals an eine Gruppe von zwei oder mehr benachbarten Wortleitungen schnellere Zugriffszeiten bei Programm- und Lesevorgängen erreicht werden. Siehe 20 und 21 für Beispiele von Spannungssignalen. Ein Spannungssignal kann sich beispielsweise auf eine einzelne Spannung oder auf eine Reihe von Spannungen beziehen, einschließlich Übergänge zwischen Spannungen. Eine der Wortleitungen kann als eine ausgewählte Wortleitung bezeichnet werden, während eine andere Wortleitung eine benachbarte Wortleitung ist. Die Wortleitungen können auch als eine Gruppe von zwei oder mehr benachbarten Wortleitungen bezeichnet werden. Wenn ein gemeinsames Spannungssignal an die ausgewählte Wortleitung und die benachbarte Wortleitung in einem Programmiervorgang angelegt wird, werden dieselben Daten in die Speicherzellen dieser Wortleitungen programmiert. Das heißt, in jeder NAND-Kette wird eine Speicherzelle, die mit der ausgewählten Wortleitung verbunden ist, auf den gleichen Zustand wie eine Speicherzelle programmiert, die mit der benachbarten Wortleitung verbunden ist. Während dies die Datenspeicherdichte reduziert, wird die Zugriffszeit verbessert. In ähnlicher Weise werden, wenn ein gemeinsames Spannungssignal an die ausgewählte Wortleitung und die benachbarte Wortleitung in einem Lesevorgang angelegt wird, die gleichen Daten aus den Speicherzellen dieser Wortleitungen gelesen. Optional können in einem Lesevorgang Daten von der ausgewählten Wortleitung gelesen werden, aber nicht von der benachbarten Wortleitung, wenn die Wortleitungen nicht verbunden sind. Um dies zu erreichen, wird die Lesespannung an die ausgewählte Wortleitung angelegt, während Vread an die nicht ausgewählte Wortleitung angelegt wird.
  • In einem Ansatz wird in einer Gruppe von benachbarten Wortleitungen ein Befehl empfangen, um einen Vorgang durchzuführen, die die ausgewählte Wortleitung involviert (Schritt 1100). Zum Beispiel kann ein Befehl zum Ausführen eines Programm- oder Lesevorgangs die ausgewählte Wortleitung durch eine Adresse identifizieren. Es ist möglich, dass ein Befehl die ausgewählte Wortleitung und die benachbarte Wortleitung identifiziert, aber ein Befehlsprotokoll, das eine einzelne Wortleitung identifiziert - die ausgewählte Wortleitung - einfacher ist. Der Befehl kann zum Beispiel an der Steuerung 122 von dem Host oder an der Steuerschaltung 110 von der Steuerung 122 empfangen werden. In Schritt 1101 wird als Reaktion auf den Befehl, ein gemeinsames Spannungssignal an die ausgewählte Wortleitung und die benachbarte Wortleitung angelegt.
  • In Schritt 1102 wird eine Einschaltspannung (ein zweites Spannungssignal) an die verbleibenden nicht ausgewählten Wortleitungen angelegt. Dies kann die Datenwortleitungen einschließen, die sich von der ausgewählten Wortleitung unterscheiden, und eine oder mehrere benachbarte Wortleitungen der Schritte 1100 und 1101.
  • Ein gemeinsames Spannungssignal kann auf verschiedene Weisen an die ausgewählte Wortleitung und die benachbarte Wortleitung angelegt werden. In einem Ansatz leiten separate Selektoren eines Zeilendecodierers (siehe 15A) das gemeinsame Spannungssignal separat zu diesen Wortleitungen, und diese Wortleitungen sind nicht durch eine Leiterbahn elektrisch miteinander verbunden. Dieser Ansatz führt zu einer reduzierten RC-Zeitkonstante und hilft somit, eine schnellere Spannungsanstiegszeit zu erreichen. Tests haben vorteilhaft gezeigt, dass die Programmierung benachbarter Speicherzellen auf einer NAND-Kette in einen gemeinsamen Datenzustand zu engeren Vth-Verteilungen führen kann, im Vergleich zum separaten Programmieren der benachbarten Speicherzellen. In einem anderen Ansatz leitet ein einzelner Selektor eines Zeilendecodierers das gemeinsame Spannungssignal an die ausgewählte Wortleitung, und die Spannung wird über eine Leiterbahn zwischen der ausgewählten Wortleitung und der benachbarten Wortleitung an die benachbarte Wortleitung geleitet. Die Leiterbahn kann permanent sein, wie in dem Fall eines festen leitenden Materials zwischen den Wortleitungen (siehe die Kontakte in den 15B und 15C), oder schaltbar (nicht permanent), wie in dem Fall einer geschalteten Leiterbahn (siehe die Schalter 1531a und 1532a in 15D). Dieser Ansatz führt zu einer reduzierten RC-Zeitkonstante und somit einer kürzeren Spannungsanstiegsdauer. Siehe 18.
  • In einem Ansatz weist der Befehl des Schrittes 1100 einen Programmbefehl auf, und die ausgewählte Wortleitung und die benachbarte Wortleitung weisen benachbarte Speicherzellen in einer NAND-Kette auf, die auf einen gemeinsamen Datenzustand programmiert sind. Zum Beispiel sei angenommen, dass in dem Unterblock von 8 Fig. WLL0 eine ausgewählte Wortleitung ist und WLL1 die benachbarte Wortleitung ist. Dementsprechend sind die Speicherzellen 704 bis 704g jeweils benachbarte Speicherzellen der Speicherzellen 780 bis 780g von WLL1 in den NAND-Ketten 700n bis 707n und sind in einen gemeinsamen Datenzustand programmiert. Dies könnte zum Beispiel der programmierte Zustand (P-Zustand) für SLC-Speicherzellen sein (9A). In einem anderen Ansatz weist der Befehl des Schrittes 1100 einen Abtastbefehl auf, wie einen Lese- oder Verifizierungsbefehl, und die ausgewählte Wortleitung und die jeweilige benachbarte Wortleitung weisen benachbarte Speicherzellen in einer NAND-Kette auf, die als in einem gemeinsamen Datenzustand befindlich erfasst werden. In einem Ansatz werden Daten redundant in N-benachbarten SLC-Speicherzellen auf einer NAND-Kette gespeichert, wobei N≥2 ist, so dass die Speicherdichte 1/N Bits pro Speicherzelle beträgt.
  • 11B stellt einen beispielhaften Prozess zum Bereitstellen eines Spannungssignals ohne einen Impuls an eine ausgewählte Wortleitung und eines Spannungssignals mit einem Impuls an eine benachbarte Wortleitung dar. 20 und 21 stellen Beispiele von Spannungssignalen mit und ohne Impuls bereit. 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 einer Ausführungsform werden die Spannungen der ausgewählten Wortleitung und ihrer einen oder mehreren benachbarten Wortleitungen erhöht, beispielsweise während eines Programm- oder Lesevorgangs. In der Programmierphase eines Programmvorgangs könnte eine Erhöhung von einer Anfangsspannung wie 0 V auf eine Zwischenspannung wie Vpass oder von der Zwischenspannung auf eine höhere Programmierspannung von Vpgm erfolgen. Siehe 20. In der Verifizierungsphase eines Programmvorgangs könnte eine Erhöhung von einer Anfangsspannung wie 0 V auf eine Anfangsverifizierspannung wie VvE oder von einer Verifizierspannung auf eine höhere Verifizierspannung, z. B. von VvE zu VvF oder von VvF auf VvG in 20 erfolgen. In einem Lesevorgang könnte eine Erhöhung von einer Anfangsspannung wie 0 V auf eine Anfangslesespannung wie VrA oder von einer Lesespannung auf eine höhere Lesespannung, z. B. von VrA auf VrE in 21 erfolgen.
  • Der Spannungsimpuls auf der benachbarten Wortleitung sorgt für ein erhöhtes Maß an kapazitiver Kopplung mit der ausgewählten Wortleitung, so dass die Spannung auf der ausgewählten Wortleitung schneller erhöht werden kann, als wenn der Spannungsimpuls nicht verwendet wird. Siehe 17A, 17B und 18. Eine weitere Möglichkeit besteht darin, auch an der ausgewählten Wortleitung einen Spannungsimpuls bereitzustellen. Der Spannungsimpuls auf der benachbarten Wortleitung kann in einem Ansatz größer sein als auf der ausgewählten Wortleitung.
  • In Schritt 1105 wird ein Befehl empfangen, um einen Vorgang durchzuführen, der eine ausgewählte Wortleitung involviert. In Schritt 1106 wird, als Reaktion auf den Befehl, ein Spannungssignal ohne einen Impuls an eine ausgewählte Wortleitung angelegt und ein Spannungssignal mit einem Impuls an eine benachbarte Wortleitung angelegt. In Schritt 1107 wird eine Einschaltspannung an die verbleibenden nicht ausgewählten Wortleitungen angelegt.
  • 11C stellt eine beispielhafte Implementierung des Prozesses von 11A dar, bei dem ein erstes Spannungssignal über jeweilige Selektoren an eine ausgewählte Wortleitung und eine benachbarte Wortleitung geleitet wird. In diesem Beispiel können die ausgewählte Wortleitung und die benachbarte Wortleitung ihre eigenen Selektoren haben und voneinander getrennt werden. Siehe beispielsweise 15A, wobei jede Wortleitung einen jeweiligen Selektor 1500 bis 1509 hat, der ein Spannungssignal VWLunsel, VWLsel oder WLadj von einem Spannungstreiber 1550, 1560 bzw. 1570 an die Wortleitung leiten kann. Ferner sei angenommen, dass WLL2 die ausgewählte Wortleitung ist und WLL1 und WLL3 benachbarte Wortleitungen sind. Die verbleibenden nicht ausgewählten Wortleitungen sind WLL0 und WLL4 bis WLL9.
  • Schritt 1110 schließt das Bereitstellen eines ersten und zweiten Spannungssignals (z. B. VWLsel bzw. VWLunsel) an einen Selektor 1502 für die ausgewählte Wortleitung und an einen Selektor 1501, 1503 für die benachbarte Wortleitung ein. Schritt 1111 schließt das Bereitstellen der ersten und zweiten Spannungssignale an einen Selektor 1500, 1504 bis 1509 für die verbleibenden nicht ausgewählten Wortleitungen ein. Schritt 1112 schließt das Bereitstellen eines Steuersignals (CTRL) an den Selektor für die ausgewählte Wortleitung ein, um das erste Spannungssignal an die ausgewählte Wortleitung bereitzustellen. Schritt 1113 schließt das Bereitstellen eines Steuersignals (CTRL) an den Selektor für die benachbarte Wortleitung ein, um das erste Spannungssignal an die ausgewählte Wortleitung bereitzustellen. Schritt 1114 schließt das Bereitstellen eines Steuersignals an die Selektoren für die verbleibenden nicht ausgewählten Wortleitungen ein, um das zweite Spannungssignal an die verbleibenden nicht ausgewählten Wortleitungen bereitzustellen. Somit wird in diesem Beispiel VWLsel an WLL1 bis WLL3 und VWLunsel an WLL1 und WLL4 bis WLL9 bereitgestellt. In einem anderen Beispiel empfängt nur eine der benachbarten Wortleitungen WLL1 oder WLL3 VWLsel, und die andere benachbarte Wortleitung ist in den verbleibenden nicht ausgewählten Wortleitungen eingeschlossen.
  • 11 D stellt eine beispielhafte Implementierung des Prozesses von 11A dar, bei dem ein erstes Spannungssignal über einen jeweiligen Selektor (z. B. 1502) der ausgewählten Wortleitung an eine ausgewählte Wortleitung und eine benachbarte Wortleitung geleitet wird und die ausgewählte Wortleitung über einen Schalter mit der benachbarten Wortleitung verbunden wird. Zum Beispiel, siehe 15D und der Schalter 1531a und 1532a in den geschalteten Pfaden 1531 bzw. 1532. Der geschaltete Pfad 1531 kann WLL0 mit WLL1 verbinden, und der geschaltete Pfad 1532 kann WLL2 und WLL3 verbinden. Ferner können die Schalter 1531a und 1532a durch die Steuersignale EN1 bzw. EN2, gesteuert werden. Zum Beispiel können die Schalter nMOSFETs sein, die leitend gemacht werden, um den jeweiligen geschalteten Weg zu schließen, wenn das Freigabesignal hoch ist, oder die nicht leitend gemacht werden, um den geschalteten Pfad zu öffnen, wenn das Freigabesignal niedrig ist.
  • Schritt 1120 schließt das Bereitstellen eines Steuersignals (EN1, EN2) an einen Schalter ein, um eine ausgewählte Wortleitung mit einer benachbarten Wortleitung zu verbinden. Es sei angenommen, dass WLL2 und WLL3 die ausgewählten bzw. benachbarten Wortleitungen sind. Schritt 1121 schließt das Bereitstellen eines ersten und zweiten Spannungssignals (z. B. VWLsel bzw. VWLunsel) an einen Selektor (z. B. 1502) für die ausgewählte Wortleitung und an einen Selektor (z.B. 1503) für die benachbarte Wortleitung ein. Schritt 1122 schließt das Bereitstellen der ersten und zweiten Spannungssignale an einen Selektor (z. B. 1500, 1501, 1503 bis 1509) für die verbleibenden nicht ausgewählten Wortleitungen ein. Schritt 1123 schließt das Bereitstellen eines Steuersignals an den Selektor für die ausgewählte Wortleitung ein, um das erste Spannungssignal an die ausgewählte Wortleitung zu leiten. Schritt 1124 schließt das Bereitstellen eines Steuersignals an den Selektor für die ausgewählte Wortleitung ein, um die Eingangsspannungen zu blockieren. Da die Eingangsspannungen für die benachbarte Wortleitung blockiert sind, und der Schalter geschlossen (leitend) ist, wird die benachbarte Wortleitung durch die Spannung (VWLsel) angetrieben, die an die ausgewählte Wortleitung auf dem Pfad 1523 bereitgestellt wird. Schritt 1125 schließt das Bereitstellen eines Steuersignals an die Selektoren für die verbleibenden nicht ausgewählten Wortleitungen ein, um das zweite Spannungssignal an die verbleibenden nicht ausgewählten Wortleitungen zu leiten.
  • 11E stellt eine beispielhafte Implementierung des Prozesses von 11A dar, bei dem ein erstes Spannungssignal über einen jeweiligen Selektor der ausgewählten Wortleitung an eine ausgewählte Wortleitung und eine benachbarte Wortleitung geleitet wird und die ausgewählte Wortleitung permanent (nicht schaltbar) mit der benachbarten Wortleitung verbunden wird. Siehe zum Beispiel 15B, wobei WLL0 und WLL1, WLL2 und WLL3, WLL4 und WLL5, WLL6 und WLL7 und WLL8 und WLL9 permanent verbunden sind. Siehe auch 15C, wobei WLL0 und WLL1 und WLL2 und WLL3 permanent verbunden sind. Schritt 1126 schließt das Bereitstellen eines ersten und zweiten Spannungssignals (z. B. VWLsel bzw. VWLunsel) an einen Selektor für die ausgewählte Wortleitung ein. Ist zum Beispiel WLL2 die ausgewählte Wortleitung, wird der Selektor 1502 verwendet. Schritt 1127 schließt das Liefern der ersten und zweiten Spannungssignale an Selektoren für die verbleibenden nicht ausgewählten Wortleitungen ein. Beispielsweise könnte dies die Selektoren 1500, 1504, 1506, 1508 in 15B einschließen. Schritt 1128 schließt das Bereitstellen eines Steuersignals an den Selektor für die ausgewählte Wortleitung ein, um das erste Spannungssignal an die ausgewählte Wortleitung und eine benachbarte Wortleitung, z. B. WLL2 bzw. WLL3 zu leiten. Schritt 1129 schließt das Bereitstellen eines Steuersignals an die Selektoren für die verbleibenden nicht ausgewählten Wortleitungen ein, um das zweite Spannungssignal an die verbleibenden nicht ausgewählten Wortleitungen zu leiten.
  • 11 F stellt eine beispielhafte Implementierung des Prozesses von 11A in einem Programmvorgang dar. Schritt 1130 startet einen Programmvorgang. In Schritt 1131 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. Schritt 1132 startet eine Programmschleife für die ausgewählte Wortleitung, WLsel. Schritt 1133 schließt das Durchführen einer Vorladephase ein. Siehe 20 bei t0 bis t3. Schritt 1134 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. Der Schritt schließt auch das Setzen von Bitleitungsspannungen ein, um das Programmieren von Speicherzellen mit dem Sperrzustand zu verhindern, z. B. durch Setzen von Vbl=2 V, und um das Programmieren von Speicherzellen mit dem Programmierzustand zu ermöglichen, z. B. durch Setzen von Vbl=0 V. Die Programmierphase tritt als nächstes ein. Schritt 1135 schließt das Erhöhen der Spannung auf WLsel und einer benachbarten Wortleitung (oder beiden benachbarten Wortleitungen von WLsel) von einer ersten Spannung (z. B. 0 V) auf eine Durchgangsspannung, Vpass, ein. Siehe 20 bei t3 bis t4.
  • Schritt 1135a zeigt an, dass es eine Möglichkeit gibt, einen Spannungsimpuls für die benachbarte Wortleitung zu verwenden. Ein Spannungsimpuls könnte auch für WLsel verwendet werden. Beispielsweise sei angenommen, dass WLsel WLL0 in 8 ist und WLL1 eine benachbarte Wortleitung ist. Ein Satz von Speicherzellen (z. B. einschließlich Speicherzellen 704 bis 704g) wird mit der ersten Wortleitung in einem Block BLK0 verbunden. Ferner wird ein Satz von Speicherzellen (z. B. einschließlich Speicherzellen 780 bis 780g) mit der zweiten Wortleitung in dem Block verbunden. Daten (wie SLC-Daten) können gleichzeitig Daten in den Satz von Speicherzellen programmieren, die mit der ersten Wortleitung verbunden sind und den Satz von Speicherzellen, die mit der zweiten Wortleitung verbunden sind. Das gleichzeitige Programmieren kann das Anlegen eines gemeinsamen Programmierspannungssignals an den Satz von Speicherzellen einschließen, die mit der ersten Wortleitung verbunden sind und den Satz von Speicherzellen, die mit der zweiten Wortleitung verbunden sind. Das gleichzeitige Programmieren kann das Erhöhen einer Spannung auf der ersten Wortleitung ohne einen Spannungsimpuls (siehe z. B. 20 und die Graphen 2002 und 2004) einschließen, während eine Spannung auf der zweiten Wortleitung mit einem Spannungsimpuls (siehe, z. B. 20 und die Graphen 2003a und 2005a) erhöht wird. Separate Selektoren können in einem Zeilendecodierer für WLL0 und WLL1 verwendet werden, um die Spannungssignale mit und ohne den Spannungsimpuls bereitzustellen.
  • Schritt 1136 schließt das Absenken der Spannungen auf den Wortleitungen, z. B. WLsel und WLadj, zurück auf die Anfangsspannung ein. Siehe 20 bei t8. Die Verifizierungsphase findet als nächstes statt. Schritt 1137 schließt das Erhöhen der Spannung auf WLsel und der benachbarten WL auf Verifizierpegel (z. B. VvE, VvF und VvG in 20) und das Bereitstellen der Spannung auf den verbleibenden nicht ausgewählten WLs bei Vread ein. Schritt 1138 schließt das Durchführen von Verifizierungstests für ausgewählte Speicherzellen ein, die mit WLn verbunden sind. Dies schließt, für jede Verifizierspannung, das Abtasten des leitenden Zustands der ausgewählten Speicherzellen auf WLsel und der benachbarten WL ein. Optional involviert das Abtasten in Schritt 1138a die ausgewählten Speicherzellen auf WLsel, aber nicht die Speicherzellen auf der benachbarten WL. In diesem Fall kann Vread an die benachbarte Wortleitung angelegt werden.
  • Schritt 1139 schließt das Aktualisieren der Latches basierend auf den Ergebnissen der Verifizierungstests ein. Zum Beispiel können die Latches von dem Programmierzustand in den Sperrzustand für Speicherzellen aktualisiert werden, die einen Verifizierungstest bei Schritt 1138 durchlaufen. Ein Entscheidungsschritt 1140 bestimmt, ob es eine nächste Programmschleife gibt. Eine nächste Programmschleife kann durchgeführt werden, wenn viele Speicherzellen die Programmierung nicht abgeschlossen haben oder sich anderweitig in dem Programmierzustand befinden. Wenn dies der Fall ist, schließt Schritt 1142 das Hochfahren von Vpgm ein, und eine nächste Programmschleife startet bei Schritt 1132. Wenn der Entscheidungsschritt 1140 falsch ist, gibt Schritt 1141 das Ende des Programmvorgangs an. Der Programmvorgang kann beendet werden, wenn alle, oder nahezu alle der Speicherzellen, die mit WLn verbunden sind, im Sperrzustand sind.
  • 11G stellt eine beispielhafte Implementierung des Prozesses von 11A in einem Lesevorgang dar. Ein Lesevorgang startet bei Schritt 1150. Schritt 1151 schließt das Setzen der Spannungen ausgewählter Bitleitungen und Abtastschaltungen ein. In einigen Fällen kann ein Lesevorgang alle Speicherzellen einer ausgewählten Wortleitung involvieren, so dass alle Bitleitungen ausgewählte Bitleitungen sind. Eine Abtastschaltung kann einen Abtastknoten einschließen, der während des Abtastens aufgeladen wird. Siehe 2. Schritt 1152 schließt das Erhöhen der Spannung auf WLsel und einer benachbarten WL auf Lesespannungen und das Erhöhen der Spannung auf den verbleibenden WLs auf Vread ein. Siehe 21 und die beispielhaften Lesespannungen von VrA und VrE. Schritt 1152a gibt an, dass es eine Möglichkeit eines Spannungsimpulses für die benachbarte WL gibt. Ein Spannungsimpuls könnte auch für WLsel verwendet werden. Schritt 1153 schließt, für jede Verifizierspannung, das Abtasten des leitenden Zustands der ausgewählten Speicherzellen auf WLsel und der benachbarten WL ein. Optional involviert das Abtasten in Schritt 1153a die ausgewählten Speicherzellen auf WLsel, aber nicht die Speicherzellen auf der benachbarten WL. In diesem Fall kann Vread an die benachbarte Wortleitung angelegt werden. Schritt 1154 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 1155 durchgeführt.
  • 11H stellt einen beispielhaften Prozess zum Erfassen eines Kurzschlusses zwischen Wortleitungen während eines Programmvorgangs dar. In einigen Fällen kann ein Kurzschluss zwischen benachbarten Wortleitungen entstehen. Beispielsweise kann in der gestapelten Speichervorrichtung von 5 ein Kurzschlusspfad zwischen benachbarten Wortleitungen in der dielektrischen Schicht entstehen, die sich zwischen den Wortleitungsschichten befindet, oder zwischen Leiterbahnen, die beispielsweise Spannungen mit den Wortleitungen verbinden. Der Kurzschluss verhindert, dass die Wortleitungen getrennte Spannungen halten, da Strom zwischen den Wortleitungen fließt. In einigen Fällen ist der Kurzschluss ein sanfter Kurzschluss, so dass die Stromleckage relativ klein ist und die Wortleitungen in einem gewissen Ausmaß separate Spannungen halten können. Ein Kurzschluss kann aus verschiedenen Gründen verursacht werden, wie zum Beispiel Schwankungen oder Fehler bei der Herstellung der Speichervorrichtung. Darüber hinaus kann das Entstehen eines Kurzschlusses zwischen Wortleitungen durch das Vorhandensein eines relativ großen elektrischen Feldes zwischen den Wortleitungen induziert werden, das während der Programmierung besteht. Ein Kurzschluss entsteht wahrscheinlicher, wenn eine Speichervorrichtung viele Programm-Löschzyklen durchläuft. Eine Möglichkeit, einen Kurzschluss zu erfassen, besteht darin, zu beobachten, dass die Speicherzellen einer Wortleitung nicht in der Lage sind, die Programmierung innerhalb einer maximal zulässigen Anzahl von Programmschleifen abzuschließen. In diesem Fall tritt der Kurzschluss am wahrscheinlichsten zwischen der aktuell programmierten Wortleitung und der zuvor programmierten Wortleitung und die benachbart zu und unter der aktuell programmierten Wortleitung in einem Stapel ist, auf.
  • In einer Ausführungsform kann ein Kurzschluss zwischen benachbarten Wortleitungen während der Programmierung eines Blocks erfasst und Schritte unternommen werden, um die benachbarten Wortleitungen zum Speichern gemeinsamer Daten zu verwenden. Schritt 1160 beginnt damit, Speicherzellen einer Wortleitung zu programmieren. Ein Entscheidungsschritt 1161 bestimmt, ob die Programmierung erfolgreich abgeschlossen ist. Beispielsweise kann die Programmierung erfolgreich abgeschlossen sein, wenn alle oder fast alle der Speicherzellen innerhalb einer maximal zulässigen Anzahl von Programmschleifen, z. B. 20 bis 30 Programmschleifen, einen Sperrzustand erreichen. Wenn der Entscheidungsschritt 1161 richtig ist, bestimmt ein Entscheidungsschritt 1162, ob eine weitere Wortleitung zu programmieren ist. Wenn Entscheidungsschritt 1162 richtig ist, wird die nächste Wortleitung in Schritt 1160 programmiert. Wenn der Entscheidungsschritt 1162 falsch ist, wird der Programmvorgang in Schritt 1163 abgeschlossen.
  • Wenn der Entscheidungsschritt 1161 falsch ist, bestimmt Schritt 1164, dass ein Kurzschluss zwischen der aktuellen Wortleitung (WLn) und der nächsten programmierten benachbarten Wortleitung (WLn+1) entstanden ist. Beispielsweise kann dies die aktuelle Wortleitung einschließen, die die Programmierung nicht erfolgreich abgeschlossen hat, und die Wortleitung über der aktuellen Wortleitung in dem Stapel, die nicht programmiert wurde. Schritt 1165 schließt das Programmieren von Daten der aktuellen Wortleitung auf eine andere Wortleitung ein. Zum Beispiel könnte dies die zweite nächsthöhere Wortleitung in dem Stapel, oder eine Wortleitung in einem anderen Block sein. Schritt 1166 schließt das Speichern gemeinsamer Daten auf einer Gruppe von benachbarten kurzgeschlossener Wortleitungen (die Wortleitungen, die in Schritt 1164 identifiziert werden) in einem zukünftigen Programmvorgang ein. In einem Ansatz können die jeweiligen Selektoren der kurzgeschlossenen Wortleitungen ein gemeinsames Spannungssignal an diese Wortleitungen unter Verwendung der hierin beschriebenen Techniken liefern. Zum Beispiel sei angenommen, dass WLL0 und dann WLL1 erfolgreich programmiert werden, WLL2 dann jedoch erfolglos programmiert wird. Der Prozess kann entscheiden, dass WLL3 und WLL2 zusammen kurzgeschlossen sind und daher gemeinsame Daten speichern sollten. Der Plan 121 von Wortleitungen zu Seiten von Daten kann aktualisiert werden, um widerzuspiegeln, dass gemeinsame Daten auf benachbarten Wortleitungen gespeichert werden.
  • Dieser Ansatz ermöglicht dem Block, weiter zum Speichern von Daten verwendet zu werden, im Vergleich zu anderen Ansätzen, in denen ein defekter Block zum Speichern von Daten vollständig ungeeignet ist. Darüber hinaus ist es möglich, dass mehrere Instanzen von kurzgeschlossenen Wortleitungen in einem Block erfasst und untergebracht werden.
  • 11I stellt einen beispielhaften Prozess zum Programmieren und Lesen von Daten von einem Abschnitt einer Wortleitung dar, der einem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit. Wie ferner beschrieben, ist z. B. in Verbindung mit 16E und 19, eine RC-Zeitkonstante einer Wortleitung deutlich geringer, wenn der Zugriff auf die Wortleitung auf einen Abschnitt (einen engen Abschnitt) beschränkt wird, der sich am nächsten zu dem Zeilendecodierer befindet. Als Ergebnis kann der nahe Abschnitt der Wortleitung für eine relativ hohe Zugriffsgeschwindigkeit reserviert werden, während ein verbleibender großer Abschnitt der Wortleitung entweder ungenutzt sein kann oder auf diesen mit einer relativ niedrigen Zugriffsgeschwindigkeit zugegriffen werden kann. Eine relativ hohe oder niedrige Zugriffsgeschwindigkeit beinhaltet das Zuweisen einer relativ kurzen bzw. langen Zeitperiode zum Ändern einer Spannung auf der Wortleitung, wie das Erhöhen der Spannung. Eine Zeitperiode, die für eine gleiche Spannungsänderung eines Spannungssignals zugewiesen ist, ist bei einer relativ hohen Zugriffsgeschwindigkeit im Vergleich zu einer relativ niedrigen Zugriffsgeschwindigkeit kürzer.
  • Schritt 1170 beinhaltet das Programmieren von Daten auf einen Abschnitt einer Wortleitung, der einem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit. Siehe zum Beispiel den Abschnitt 1651 in 16E. Anschließend kann Schritt 1171 oder 1172 folgen. Schritt 1171 beinhaltet das Deaktivieren eines Abschnitts der Wortleitung, der am weitesten von dem Zeilendecodierer entfernt ist. Siehe zum Beispiel Abschnitt 1650 in 16E. Dies kann dazu führen, dass dieser Abschnitt zum Speichern von Daten ungeeignet ist. Schritt 1173 beinhaltet das Lesen der Daten von dem Abschnitt der Wortleitung, der dem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit. Schritt 1172 beinhaltet das Programmieren von Daten auf einen Abschnitt einer Wortleitung, der am weitesten von dem Zeilendecodierer entfernt ist, unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit. Siehe zum Beispiel Abschnitt 1650 in 16E. Schritt 1174 beinhaltet das Lesen der Daten von dem Abschnitt der Wortleitung, der am weitesten von dem Zeilendecodierer entfernt ist, unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit. Es ist zu beachten, dass sich ein Abschnitt einer Wortleitung hier auf die Speicherzellen bezieht, die mit dem Abschnitt der Wortleitung verbunden sind. Diese Speicherzellen bilden einen Abschnitt (weniger als alle) der Speicherzellen, die mit der gesamten Wortleitung verbunden sind.
  • 11J stellt einen beispielhaften Prozess zum Programmieren und Lesen von Daten von einem Abschnitt einer Gruppe von verbundenen Wortleitungen dar, der einem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit. Beim Zugriff auf eine Gruppe von verbundenen benachbarten Wortleitungen kann aufgrund der niedrigeren RC-Zeitkonstante der Gruppe von verbundenen benachbarten Wortleitungen eine noch höhere Zugriffsgeschwindigkeit verglichen mit einem Zugriff auf eine einzelne Wortleitung erreicht werden. Schritt 1180 beinhaltet das Programmieren von Daten auf einen Abschnitt einer benachbarten Gruppe verbundener Wortleitungen, der einem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit. Siehe zum Beispiel den Abschnitt 1651 in 16E. Anschließend kann Schritt 1181 oder 1182 folgen. Schritt 1181 beinhaltet das Deaktivieren eines Abschnitts der benachbarten Gruppe von verbundenen Wortleitungen, der am weitesten von dem Zeilendecodierer entfernt ist. Siehe zum Beispiel Abschnitt 1650 in 16E. Dies kann dazu führen, dass dieser Abschnitt zum Speichern von Daten ungeeignet ist. Schritt 1183 beinhaltet das Lesen der Daten von dem Abschnitt der benachbarten Gruppe von verbundenen Wortleitungen, der dem Zeilendecodierer am nächsten ist, unter Verwendung einer relativ hohen Zugriffsgeschwindigkeit. Schritt 1182 beinhaltet das Programmieren von Daten auf einen Abschnitt der benachbarten Gruppe von Wortleitungen, der am weitesten von dem Zeilendecodierer entfernt ist, unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit. Schritt 1184 beinhaltet das Lesen der Daten von dem Abschnitt der benachbarten Gruppe von verbundenen Wortleitungen, der am weitesten von dem Zeilendecodierer entfernt ist, unter Verwendung einer relativ niedrigen Zugriffsgeschwindigkeit.
  • In einer Option kann der nahe Abschnitt der Wortleitungen für SLC-Speicherzellen reserviert werden, um die Zugriffsgeschwindigkeit weiter zu erhöhen. Der entfernte Abschnitt der Wortleitungen kann, falls verwendet, für MLC-Speicherzellen reserviert werden, um die Speicherdichte zu erhöhen. In einer beispielhaften Implementierung speichern der nahe und entfernte Abschnitt einer Wortleitung jeweils eine andere Seite von Daten.
  • 11 K stellt einen beispielhaften Prozess zum Zugreifen auf Speicherzellen in ersten und zweiten Blöcken unter Verwendung unterschiedlicher Zugriffszeiten dar. Schritt 1190 schließt den Zugriff auf Speicherzellen in einem ersten Block ein, die sich von einem Zeilendecodierer (z. B. Zeilendecodierer 124a in 16A oder 16E) zu einem ersten Abstand (d2, siehe 16E) erstrecken, unter Verwendung einer ersten Zugriffszeit. Schritt 1191 schließt den Zugriff auf Speicherzellen in einem zweiten Block ein, die sich von einem Zeilendecodierer (z. B. Zeilendecodierer 124b bis 124d in 16A) zu einem zweiten Abstand (z. B. d3>d2) erstrecken, unter Verwendung einer zweiten Zugriffszeit, die größer als die erste Zugriffszeit ist. Das Zugreifen kann beispielsweise Programmieren oder Lesen einschließen. Die Zugriffszeit kann eine Zeitperiode beinhalten, die zum Ändern einer Spannung zugewiesen ist, z. B. zum Erhöhen oder Absenken einer Spannung. Die unterschiedlichen Zugriffszeiten werden auf eine gleiche Änderung einer Spannung angewendet, z. B. von 0 V auf Vpass oder von Vpass auf Vpgm.
  • In einem Ansatz weist der erste Block SLC-Speicherzellen auf, auf die unter Verwendung einer relativ kurzen Zeitperiode zugegriffen werden kann, und der zweite Block weist die MLC-Speicherzellen auf, auf die unter Verwendung einer relativ langen Zeitperiode zugegriffen werden kann. Zum Beispiel kann in 16A der erste Block BLK0 und der zweite Block kann BLK1 sein. Der erste und der zweite Block können einen gemeinsamen Satz von Bitleitungen BL0 bis BL15 haben, die mit ihren NAND-Ketten verbunden sind.
  • 12A stellt eine weitere Ansicht des Stapels 610 von 5A dar, die die terrassenartigen Steuer-Gate-Schichten und ein erstes Beispiel von Verbindungen zu Kontakten zeigt, wobei jede Wortleitungsschicht mit einem separaten Kontakt verbunden ist. In diesem Beispiel bilden die Steuer-Gate-Schichten, einschließlich die Auswahlgatschichten und die Wortleitungsschichten, eine Terrasse oder eine Treppe an einem Ende des Blocks aus. Eine Durchkontaktierung ist auf einem freigelegten oberen Abschnitt jeder Steuer-Gate-Schicht ausgebildet. Jede Durchkontaktierung kann sich zu einer Metallisierungsschicht über dem Stapel erstrecken, wo Kontakte oder Kontaktpads auf den Durchkontaktierungen ausgebildet sind. Die Durchkontaktierungen können Metall oder ein anderes leitendes Material aufweisen. Die Kontakte können aus Metall sein und sich zu einem Zeilendecodierer erstrecken, um Spannungen zum Anlegen an die Steuer-Gate-Schichten zu empfangen. Jeder Kontakt kann mit einem oder mehreren Durchkontaktierungen verbunden sein.
  • In diesem Beispiel ist ein Kontakt N mit einer Durchkontaktierung 1226 verbunden, die wiederum mit der SGS-Schicht verbunden ist. Der Kontakt M ist mit den Durchkontaktierungen 1224 bzw. 1225 verbunden, die wiederum mit den WLDS1- bzw. WLDS0-Schichten verbunden sind. Die Kontakte C bis L sind jeweils mit den Durchkontaktierungen 1214 bis 1223 verbunden, die wiederum jeweils mit den WLL9- bis WLL0-Schichten verbunden sind. Der Kontakt B ist mit den Durchkontaktierungen 1212 bzw. 1213 verbunden, die wiederum mit den WLD0- bzw. WLD1-Schichten verbunden sind. Der Kontakt A0 ist mit den Durchkontaktierungen 1210 bzw. 1211 verbunden, die wiederum mit den SGD0(0) bzw. SGD1(0)-Schichten verbunden sind. Die SGD0(0) und SGD1(0)-Schichten werden in SB0 verwendet. Andere SGD-Schichten, die hier nicht gezeigt sind, aber in 6 und 7 gezeigt werden, werden in SB1 bis SB3 verwendet.
  • In diesem Beispiel kann ein gemeinsames Spannungssignal über entsprechende Selektoren eines Zeilendecodierers separat an eine ausgewählte Wortleitung und eine benachbarte Wortleitung angelegt werden. Das heißt, eine separate Instanz eines gemeinsamen Spannungssignals wird an eine ausgewählte Wortleitung und eine benachbarte Wortleitung angelegt. Die ausgewählte Wortleitung und eine benachbarte Wortleitung sind in diesem Beispiel nicht miteinander verbunden.
  • 12B stellt ein Beispiel des Plans 119 von Steuer-Gate-Schichten zu Kontakten von 1 in Übereinstimmung mit 12A dar. Wie beispielsweise in Verbindung mit 1 erwähnt, kann die Speichervorrichtung einen Plan speichern, der Verbindungen zwischen Kontakten und Steuer-Gate-Schichten (CG-Schichten) angibt, um zu ermöglichen, dass Spannungssignale auf den geeigneten Steuer-Gate-Schichten bereitgestellt werden. Die Speichervorrichtung kann Steuersignale an Selektoren in den Zeilendecodierern bereitstellen, um eine Eingangsspannung an einen jeweiligen Kontakt zu leiten, wie z. B. in Verbindung mit 15A bis 15D beschrieben.
  • Die SGD0(0)- und SGD1(0)-Schichten (d. h. SGD0/1(0)) sind mit dem Kontakt A0 von 12A verbunden. Die SGD0(0)- und SGD1(0)-Schichten (d.h. SGD0/1(1)), SGD0(2)- und SGD1(2)-Schichten (d. h. SGD0/1(2)), und die SGD0(3)- und SGD1(3)-Schichten (d. h. SGD0/1(3)), sind mit den Kontakten A1, A2 bzw. A3 (nicht gezeigt) verbunden. Die WLD0- und WLD1-Schichten (d. h. WLDO/1) sind mit dem Kontakt B verbunden, die WLL9- bis WLL0-Schichten sind jeweils mit den Kontakten C bis L verbunden, die WLDS0- und WLDS1-Schichten (d. h. WLDSO/1) sind mit dem Kontakt M verbunden, und die SGS-Schicht ist mit dem Kontakt N von 12 verbunden.
  • 12C stellt ein Beispiel des Plans 121 von Wortleitungen zu Seiten von Daten von 1 in Übereinstimmung mit 12A dar. Die Speichervorrichtung kann Daten in Einheiten von Seiten programmieren und lesen, wobei in der Regel eine oder mehrere Seiten pro Wortleitung gespeichert werden. In diesem Beispiel wird eine Seite pro Wortleitung gespeichert, und eine andere Seite wird in jeder Wortleitung von Speicherzellen gespeichert. Der Plan ermöglicht es der Speichervorrichtung, die Daten zu verfolgen, die sie speichert.
  • In einer anderen Option wird eine Seite von Daten redundant in mehreren Wortleitungen gespeichert, z. B. in mehreren benachbarten Wortleitungen. Zum Beispiel könnte die Karte von 13D mit der Struktur von 12A erreicht werden.
  • 13A stellt eine weitere Ansicht des Stapels 610 von 5A dar und zeigt terrassenartige Steuer-Gate-Schichten und ein zweites Beispiel von Verbindungen zu Kontakten, wobei Paare der Wortleitungsschichten WLL0 und WLL1, WLL2 und WLL3, WLL4 und WLL5, WLL6 und WLL7, und WLL8 und WLL9 mit separaten Kontakten verbunden sind. In diesem Beispiel ist ein Kontakt N mit der Durchkontaktierung 1226 verbunden, die wiederum mit der SGS-Schicht verbunden ist. Die Kontakte A0, B, M und N sind mit Durchkontaktierungen verbunden, wie in Verbindung mit 12A erläutert. Der Kontakt G1 ist mit den Durchkontaktierungen 1222 bzw. 1223 verbunden, die wiederum mit den WLL1- bzw. WLL0-Schichten verbunden sind. Der Kontakt F1 ist mit den Durchkontaktierungen 1220 bzw. 1221 verbunden, die wiederum mit den WLL3- bzw. WLL2-Schichten verbunden sind. Der Kontakt E1 ist mit den Durchkontaktierungen 1218 bzw. 1219 verbunden, die wiederum mit den WLL5- bzw. WLL4-Schichten verbunden sind. Der Kontakt D1 ist mit den Durchkontaktierungen 1216 bzw. 1217 verbunden, die wiederum mit den WLL7- bzw. WLL6-Schichten verbunden sind. Der Kontakt C1 ist mit den Durchkontaktierungen 1214 bzw. 1215 verbunden, die wiederum mit den WLL9- bzw. WLL8-Schichten verbunden sind.
  • Angenommen, WLL2 ist eine ausgewählte Wortleitung, dann ist die Durchkontaktierung 1221 ein Beispiel für eine erste Durchkontaktierung, die sich von der ausgewählten Wortleitung nach oben zu einem Kontakt F1 erstreckt, und die Durchkontaktierung 1220 ist ein Beispiel für eine zweite Durchkontaktierung, die sich von der benachbarten Wortleitung WLL3 nach oben zu dem Kontakt erstreckt, wobei der Kontakt mit dem Zeilendecodierer verbunden ist. Ferner sind WLL2 und WLL3 Teil einer Gruppe 1310 von zwei oder mehr benachbarten Wortleitungen.
  • In diesem Beispiel kann ein gemeinsames Spannungssignal an Paare von benachbarten Wortleitungen angelegt werden, z. B. WLL0 und WLL1, WLL2 und WLL3, WLL4 und WLL5, WLL6 und WLL7 und WLL8 und WLL9. Dieser Ansatz ermöglicht eine relativ hohe Zugriffsgeschwindigkeit auf alle Datenspeicherzellen des Blocks. Die Datenspeicherzellen können SLC-Speicherzellen zum schnellen Programmieren und Lesen sein.
  • 13B stellt eine Draufsicht des Stapels von 13A dar. Die Ansicht ist in der x-y-Ebene und zeigt die Durchkontaktierungen und jeweiligen Kontakte von 13A. Die Durchkontaktierungen haben einen kreisförmigen Querschnitt und erstrecken sich beispielsweise vertikal als Spalten zwischen den Kontakten und Steuer-Gate-Schichten. Leiterbahnen, nicht gezeigt, verbinden die Kontakte mit einem Zeilendecodierer. Siehe auch 15A bis 15D. Die Kontakte A1 bis A3 sind in 13A nicht gezeigt, sind jedoch mit Durchkontaktierungen gemäß den Plänen von 12B, 13C und 14C verbunden.
  • 13C stellt ein Beispiel des Plans 119 von Steuer-Gate-Schichten zu Kontakten von 1 in Übereinstimmung mit 13A dar. Der Plan ist ähnlich zu dem Plan von 12A mit der Ausnahme, dass zwei Datenwortleitungen mit jedem Kontakt verbunden sind. Beispielsweise sind WLL0 und WLL1 (d. h. WLL0/1) mit dem Kontakt G1 verbunden, WLL2 und WLL3 (d. h. WLL2/3) sind mit dem Kontakt F1 verbunden, WLL4 und WLL5 (d. h. WLL4/5) sind mit dem Kontakt E1 verbunden, WLL6 und WLL7 (d. h. WLL6/7) sind mit dem Kontakt D1 verbunden, und WLL8 und WLL9 (d. h. WLL8/9) sind mit dem Kontakt C1 verbunden. Somit ist eine an einen der Kontakte C1 bis G1 angelegte Spannung eine gemeinsame Spannung, die das zugehörige Wortleitungspaar erreicht.
  • 13D stellt ein Beispiel des Plans 121 von Wortleitungen zu Seiten von Daten von 1 in Übereinstimmung mit 13A dar. Jedes Paar von benachbarten Wortleitungen speichert in diesem Beispiel eine Seite von Daten. WLLO/1, WLL2/3, WLL4/5, WLL6/7 und WLL8/9 speichern Seite0, Seite1, Seite2, Seite3 bzw. Seite4.
  • 14A stellt eine weitere Ansicht des Stapels 610 von 5A dar und zeigt terrassenartige Steuer-Gate-Schichten und ein drittes Beispiel von Verbindungen zu Kontakten, wobei Paare der Wortleitungsschichten WLL0 und WLL1, WLL2 und WLL3 mit separaten Kontakten verbunden sind und die einzelnen Wortleitungsschichten WLL4 bis WLL9 mit separaten entsprechenden Kontakten verbunden sind. Die Kontakte A0, B, M und N sind mit Durchkontaktierungen verbunden, wie in Verbindung mit 12A erläutert. Die Kontakte F1 und G1 sind mit Durchkontaktierungen verbunden, wie in Verbindung mit 13A erläutert. Die Kontakte E bis H sind jeweils mit den Durchkontaktierungen 1216 bis 1219 verbunden, die wiederum jeweils mit den WLL9- bis WLL4-Schichten verbunden sind.
  • In diesem Beispiel kann ein gemeinsames Spannungssignal an Paare von benachbarten Wortleitungen angelegt werden, z. B. WLL0 und WLL1, WLL2 und WLL3, während die verbleibenden Wortleitungen WLL4 bis WLL9 unabhängig angetrieben werden können. Dieser Ansatz ermöglicht eine relativ hohe Zugriffsgeschwindigkeit auf einige der Datenspeicherzellen des Blocks und eine relativ niedrige Zugriffsgeschwindigkeit auf andere Datenspeicherzellen des Blocks. Zum Beispiel können die Datenspeicherzellen, die mit WLL0 bis WLL3 verbunden sind, SLC-Speicherzellen für relativ schnelles Programmieren und Lesen mit einer niedrigen Speicherdichte sein, und die Datenspeicherzellen, die mit WLL4 bis WLL9 verbunden sind, können MLC-Speicherzellen für langsameres Programmieren und Lesen mit einer hohen Speicherdichte sein.
  • 14B stellt eine Draufsicht des Stapels von 14A dar. Die Ansicht ist ähnlich zu der von 13B, mit der Ausnahme, dass die Datenwortleitungsschichten WLL4 bis WLL9 mit jeweils separaten Kontakten verbunden sind.
  • 14C stellt ein Beispiel des Plans 119 von Steuer-Gate-Schichten zu Kontakten von 1 in Übereinstimmung mit 14A dar. Der Plan ist ähnlich zu dem in 13C mit der Ausnahme, dass WLL9 bis WLL4 jeweils mit den Kontakten C bis H verbunden sind.
  • 14D stellt ein Beispiel des Plans 121 von Wortleitungen zu Seiten von Daten von 1 in Übereinstimmung mit 14A dar. Der Plan ist ähnlich zu dem in 13D mit der Ausnahme, dass WLL4 bis WLL9 Daten für jeweils Seite2 bis Seite7 speichern. Wie erwähnt ermöglicht dieser Ansatz einigen Paaren oder anderen Gruppen von benachbarten Wortleitungen, eine Seite von Daten mit einer relativ hohen Zugriffsgeschwindigkeit und niedriger Speicherdichte zu speichern, während er anderen einzelnen Wortleitungen ermöglicht, eine entsprechende Seite von Daten mit niedrigerer Zugriffsgeschwindigkeit und hoher Speicherdichte zu speichern. Dies stellt Flexibilität beim Einrichten eines Blocks bereit.
  • 15A stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten in Übereinstimmung mit 12A bis 12C dar. Die Zeilendecodierer von 15A bis 15D sind Beispiele des Zeilendecodierers 124 von 1. Der Zeilendecodierer 1510 schließt eine Anzahl von Wortleitungsselektoren 1500 bis 1509 ein, die eingerichtet sind, um eine Spannung von einem Spannungstreiber zu jeweils den Kontakten L bis C zu leiten. Ein Zeilendecodierer ermöglicht es, eine kleine Anzahl von Spannungssignalen von Spannungstreibern mit einer größeren Anzahl von Wortleitungen zu verbinden. Eine weniger effiziente Option besteht darin, für jede Wortleitung oder jeden Kontakt einen separaten Spannungstreiber zu haben.
  • Jeder Selektor kann eine Spannung an einen jeweiligen Kontakt leiten, und jeder Kontakt ist mit jeweils einer Durchkontaktierung und Steuer-Gate-Schicht verbunden. Selektoren können auch für die Auswahl-Gate-Schichten und Dummy-Wortleitungsschichten bereitgestellt werden, werden jedoch der Einfachheit halber weggelassen. Jeder Selektor empfängt Spannungssignale von einer Anzahl von Spannungstreibern. Beispielsweise können Spannungssignale von einem nicht ausgewählten Wortleitungsspannungstreiber (VWLunsel-Treiber 1550) über die Pfade 1551, von einem ausgewählten Wortleitungsspannungstreiber (VWLsel-Treiber 1560) über die Pfade 1561 und von einem benachbarten WortleitungsSpannungstreiber (VWLadj-Treiber 1570) über die Pfade 1571 bereitgestellt werden. Jeder Selektor kann auch mit einem Massepfad 1581 verbunden sein.
  • Jeder Selektor empfängt ein Steuersignal CTRL über einen Pfad 1511. Das Steuersignal befiehlt dem Selektor VWLsel, VWLunsel oder VWLadj an den jeweiligen Kontakt zu leiten oder den jeweiligen Kontakt über den Massepfad zu erden. Eine weitere Möglichkeit besteht darin, den Selektor in eine Aus-Stellung zu bringen. In diesem Fall ist der Kontakt weder mit Masse noch mit einem der Eingangsspannungssignale der Spannungstreiber verbunden. Eine Wortleitungsspannung kann in dieser Situation floaten, es sei denn, sie ist mit einem anderen Wortleitungstreiber über einen Schalter wie in 15D verbunden. In diesem Fall kann sie ein Spannungssignal über den Schalter empfangen. Jeder Selektor kann mit seinem jeweiligen Kontakt über ein Durchgangsgate verbunden sein, das durch ein Freigabesignal (EN) auf einem Pfad 1512 gesteuert wird. EN kann beispielsweise auf einen hohen Wert eingestellt werden, um die Durchgangsgates in einen leitenden Zustand zu versetzen, um den Kontakt mit dem Selektor zu verbinden. EN kann mit den Steuer-Gates der Durchgangstransistoren (wie dem Steuer-Gate 1521a des beispielhaften Durchgangsgates 1521b) verbunden sein. Jeder Selektor 1500 bis 1509 kann mit seinem jeweiligen Kontakt L bis C jeweils über einen Pfad 1521 bis 1530 verbunden sein, der ein Durchgangsgate einschließt.
  • 15B stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten in Übereinstimmung mit 13A bis 13D dar. Der Zeilendecodierer 1510a schließt halb so viele Wortleitungsselektoren wie 15A ein, da jeder Wortleitungsselektor über seinen jeweiligen Kontakt mit zwei Wortleitungen verbunden ist. Dies reduziert die Komplexität und Kosten. Insbesondere sind die Wortleitungsselektoren 1500, 1502, 1504, 1506 und 1508 eingerichtet, um eine Spannung von einem Spannungstreiber zu den Kontakten G1, F1, E1, D1 bzw. C1 zu leiten. Jeder Selektor kann eine Spannung an einen jeweiligen Kontakt leiten, und jeder Kontakt ist mit jeweils zwei Durchkontaktierungen und Steuer-Gate-Schichten verbunden. In diesem Beispiel stellen der VWLunsel-Treiber 1550 und der VWLsel-Treiber 1560 eine Spannung an die Selektoren über die Pfade 1551a bzw. 1561a bereit. Der VWLadj-Treiber 1570 von 15A wird weggelassen, da jedes Paar von Wortleitungen durch ein gleiches Spannungssignal angesteuert wird. Jeder Selektor kann auch mit einem Massepfad 1581a verbunden sein.
  • Jeder Selektor empfängt ein Steuersignal CTRL über einen Pfad 1511a. Das Steuersignal befiehlt dem Selektor VWLsel oder VWLunsel an den jeweiligen Kontakt zu leiten oder den jeweiligen Kontakt über den Massepfad zu erden. Jeder Selektor kann mit seinem jeweiligen Kontakt über ein Durchgangsgate verbunden sein, das durch ein Freigabesignal (EN) auf einem Pfad 1512a gesteuert wird. Jeder Selektor 1500, 1502, 1504, 1506 und 1508 kann mit seinem Kontakt G1, F1, E1, D1 bzw. C1 über einen Pfad 1521, 1523, 1525, 1527 bzw. 1529 verbunden sein, der ein Durchgangsgate einschließt.
  • 15C stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten in Übereinstimmung mit 14A bis 14D dar. Der Zeilendecodierer 1510b schließt zwei Wortleitungsselektoren weniger wie 15A ein, da zwei der Wortleitungsselektoren über einen jeweiligen Kontakt mit zwei Wortleitungen verbunden sind. Insbesondere sind die Wortleitungsselektoren 1500 und 1502 eingerichtet, um eine Spannung von einem Spannungstreiber zu den Kontakten J2 bzw. I2 zu leiten. Die Wortleitungsselektoren 1504 bis 1509 sind eingerichtet, um eine Spannung von einem Spannungstreiber zu jeweils den Kontakten H bis C zu leiten. Jeder der Kontakte J2 und I2 ist mit zwei jeweiligen Durchkontaktierungen und Steuer-Gate-Schichten verbunden. In diesem Beispiel stellen der VWLunsel-Treiber 1550 und der VWLsel-Treiber 1560 eine Spannung an die Selektoren über die Pfade 1551b bzw. 1561b bereit. Der VWLadj-Treiber 1570 von 15A wird weggelassen, da jedes Paar von Wortleitungen, die mit J2 und I2 verbunden sind, durch ein gleiches Spannungssignal angesteuert wird. Jedoch ist es möglich den VWLadj-Treiber 1570 mit den Selektoren 1504 bis 1509 in einer ähnlichen Weise zu verwenden, wie in Verbindung mit 15A erläutert. Jeder Selektor kann auch mit einem Massepfad 1581b verbunden sein.
  • Jeder Selektor empfängt ein Steuersignal CTRL über einen Pfad 1511b. Das Steuersignal befiehlt dem Selektor VWLsel oder VWLunsel an den jeweiligen Kontakt zu leiten oder den jeweiligen Kontakt über den Massepfad zu erden. Jeder Selektor kann mit seinem jeweiligen Kontakt über ein Durchgangsgate verbunden sein, das durch ein Freigabesignal (EN) auf einem Pfad 1512b gesteuert wird. Jeder Selektor 1500 und 1502 kann mit seinem Kontakt J2 bzw. I2 über einen Pfad 1521, bzw. 1523 verbunden sein, der ein Durchgangsgate einschließt. Jeder Selektor 1504 bis 1509 kann mit seinem jeweiligen Kontakt H bis C jeweils über einen Pfad 1525 bis 1530 verbunden sein, der ein Durchgangsgate einschließt.
  • 15D stellt eine beispielhafte Implementierung eines Zeilendecodierers und Verbindungen zu Kontakten für Wortleitungsschichten, ähnlich zu 15A, jedoch mit geschalteten Pfaden zwischen WLL0 und WLL1 und zwischen WLL2 und WLL3, dar. Die Einrichtung ist ähnlich zu der in von 15A mit der Ausnahme, dass ein Schalter 1531a in einem Pfad 1531 zum Verbinden der Kontakte K und L eingestellt werden kann, und ein Schalter 1532a in einem Pfad 1532 zum Verbinden der Kontakte I und J eingestellt werden kann. Dieses Beispiel stellt zwei Paare von Kontakten bereit, die schaltbar verbunden oder getrennt werden können. In einer anderen Option kann jedes Datenwortleitungspaar schaltbar verbunden oder getrennt werden. In einer anderen Option können Gruppen von drei oder mehr benachbarten Wortleitungen schaltbar verbunden oder getrennt werden. Die Schalter 1531a und 1532a werden durch die Freigabesignale EN1 bzw. EN2 gesteuert. Die Freigabesignale können auf einen hohen Wert eingestellt werden, zum Beispiel, um die Schalter in einem leitenden Zustand zu versetzen, um den Pfad zu schließen und die Kontakte und die jeweiligen Wortleitungen miteinander elektrisch zu verbinden. Durch schaltbares Verbinden der Wortleitungen wird eine Flexibilität bereitgestellt, um die Wortleitungen paarweise oder in anderen Gruppen für eine relativ hohe Zugriffsgeschwindigkeit und niedrige Speicherdichte zu verwenden, oder um einzelne Wortleitungen zum Speichern von Daten mit einer niedrigeren Zugriffsgeschwindigkeit, aber einer höheren Speicherdichte zu verwenden. Darüber hinaus können beide verbundenen und nicht verbundenen Wortleitungen in einem Block verwendet werden.
  • Wenn der Schalter 1531a geschlossen ist und die Kontakte K und L (und die Pfade 1522 und 1521) elektrisch verbunden sind, können die Kontakte durch einen der Wortleitungsselektoren 1500 oder 1501, jedoch nicht durch beide, in einem Ansatz angesteuert werden. Wenn zum Beispiel der WLL0-Selektor 1500 verwendet wird, um eine Eingangsspannung von dem VWLsel-Treiber 1560 weiterzuleiten, kann der WLL1-Selektor 1501 in einem Aus-Zustand bereitgestellt werden, in dem er keine Eingangsspannung von den Treibern 1550 und 1560 weiterleitet.
  • In diesem Beispiel stellen der VWLunsel-Treiber 1550 und der VWLsel-Treiber 1560 eine Spannung an die Selektoren über die Pfade 1551c bzw. 1561c bereit. Es ist auch möglich, den VWLadj-Treiber 1570 mit den Selektoren 1504 bis 1509 in einer ähnlichen Weise zu verwenden, wie in Verbindung mit 15A erläutert. Es ist auch möglich, den VWLadj-Treiber 1570 mit den Selektoren 1500 bis 1503 in einer ähnlichen Weise zu verwenden, wie in Verbindung mit 15A erläutert, wenn die geschalteten Pfade offen sind und die Kontakte nicht verbinden. Jeder Selektor kann auch mit einem Massepfad 1581c verbunden sein.
  • Jeder Selektor empfängt ein Steuersignal CTRL über einen Pfad 1511c. Das Steuersignal befiehlt dem Selektor VWLsel oder VWLunsel an den jeweiligen Kontakt zu leiten oder den jeweiligen Kontakt über den Massepfad zu erden. Jeder Selektor kann mit seinem jeweiligen Kontakt über ein Durchgangsgate verbunden sein, das durch ein Freigabesignal (EN) auf einem Pfad 1512c gesteuert wird.
  • 16A stellt eine Draufsicht des Satzes von Blöcken BLK0 bis BLK3 von 4 dar, die NAND-Ketten, Zeilendecodierer und Bitleitungen darstellen. Die NAND-Ketten sind durch Kreise dargestellt. Die beispielhaften NAND-Ketten 700n bis 703n und 704n bis 707n sind in SB0 bereitgestellt, in Übereinstimmung mit 8. In einem 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 den Lese-/Schreibschaltungen 128 verbunden, wie in Verbindung mit 1 erläutert. 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. In diesem Beispiel wechseln sich die Zeilendecodierer 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 BLK0 bis BLK3 zugeordnet. Die Zeilendecodierer sind mit Beispielkontakten verbunden, die durch Quadrate dargestellt sind.
  • In einem Beispiel wird BLK0 für eine relativ hohe Zugriffsgeschwindigkeit mit SLC-Speicherzellen verwendet, die gemeinsame Daten auf benachbarten Wortleitungen speichern, und BLK1 bis BLK3 werden mit MLC-Speicherzellen verwendet, die Daten auf einzelnen Wortleitungen speichern. In diesem Fall ist eine Anzahl von gespeicherten Bits pro Speicherzelle (eine Speicherdichte) für den Satz von Speicherzellen, die mit der Vielzahl von Wortleitungen in dem zweiten Block verbunden sind, größer als eine Anzahl von Bits, die pro Speicherzelle für die ausgewählte Wortleitung und eine benachbarte Wortleitung in dem ersten Block gespeichert sind.
  • Die Wortleitungsaktivierungsschaltung kann auch eingerichtet sein, um eine Zeitperiode (z. B. t1 in 18) zum Ändern einer Spannung auf der ausgewählten Wortleitung und der benachbarten Wortleitung in dem ersten Block zuzuweisen, die kleiner als eine Zeitperiode (z. B. t2 in 18) ist, die zum Ändern einer Spannung auf einer der Wortleitungen in dem zweiten Block zugewiesen ist.
  • BLK0 kann für eine relativ hohe Zugriffsgeschwindigkeit ausgewählt werden, da er der nächste Block zu den Lese-/Schreibschaltungen ist. Unterschiedliche Zeitperioden können 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.
  • BLK0 kann ein erster Block sein, der Gruppen von Datenwortleitungen einschließt, die miteinander verbunden sind, und BLK1 kann ein zweiter Block sein, der keine Gruppen von Datenwortleitungen einschließt, die miteinander verbunden sind. Der zweite Block kann einen Satz von Speicherzellen einschließen, die mit einer Vielzahl von Wortleitungen verbunden sind, wobei die Vielzahl von Wortleitungen Wortleitungen aufweisen, die von benachbarten Wortleitungen getrennt sind, und der erste Block und der zweite Block einen gemeinsamen Satz von Bitleitungen nutzen.
  • Ferner kann der Hochgeschwindigkeitsblock als ein Cache für die Blöcke mit niedrigerer Geschwindigkeit verwendet werden. 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 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 und dann auf einen Abschnitt des Blocks mit niedrigerer Geschwindigkeit übertragen werden. Diese Ansätze ermöglichen es der externen Steuerung, eine relativ hohe Zugriffsgeschwindigkeit beim Programmieren und Lesen von Speicherzellen 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 geringerer Zugriffsgeschwindigkeit verschoben werden.
  • 16B stellt eine beispielhafte Architektur in Übereinstimmung mit 16A dar. Der Ansatz von 16A 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 Hochgeschwindigkeits-Cache, 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 1630a bis 1630d, um eine Datenübertragung zwischen den Speichervorrichtungen zu ermöglichen.
  • Insbesondere kann in einer Einheit 1630a eine CPU 1630 mit einem Hochgeschwindigkeits-Cache wie ein L1-, L2- oder L3-Cache 1631 bereitgestellt werden. Die CPU könnte beispielsweise der Prozessor 122c in der Off-Chip-Steuerung 122 von 1 sein. Ein Speicher 1632 stellt den Satz von Blöcken aus 16A auf einem gemeinsamen Chip dar, während der Cache 1633 einen Abschnitt der Blöcke darstellt, die hohe Zugriffsgeschwindigkeiten bereitstellen. Dies könnten beispielsweise ein oder mehrere Hochgeschwindigkeits-SLC-Blöcke 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 1630b eine CPU 1636 mit einem L1-, L2- oder L3-Cache 1637 und einen Speicher 1634 mit einem Cache 1635 ein, eine Einheit 1630c schließt eine CPU 1638 mit einem L1-, L2- oder L3-Cache 1639 und einen Speicher 1640 mit einem Cache 1641 ein, und eine Einheit 1630d schließt eine CPU 1644 mit einem L1-, L2- oder L3-Cache 1645 und einen Speicher 1642 mit einem Cache 1643 ein. Die Speichervorrichtungen 1632, 1634, 1640 und 1642 können miteinander kommunizieren, um Daten zu übertragen.
  • 16C 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 1660a eine CPU 1662 (mit einem L1-, L2- oder L3-Cache 1663), einen Speicher 1660 und ein DRAM 1661 zwischen der CPU und dem Speicher ein. Eine Einheit 1660b schließt eine CPU 1664 (mit einem L1-, L2- oder L3-Cache 1665), einen Speicher 1667 und ein DRAM 1666 zwischen der CPU und dem Speicher ein. Eine Einheit 1660c schließt eine CPU 1672 (mit einem L1-, L2- oder L3-Cache 1673), einen Speicher 1670 und ein DRAM 1671 zwischen der CPU und dem Speicher ein. Eine Einheit 1660d schließt eine CPU 1674 (mit einem L1-, L2- oder L3-Cache 1675), einen Speicher 1677 und ein DRAM 1676 zwischen der CPU und dem Speicher ein. Die CPUs 1662, 1664, 1672 und 1674 können miteinander kommunizieren.
  • 16D 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 1680a schließt eine CPU 1680 (mit einem L1-, L2- oder L3-Cache 1681), einen Speicher 1683 und einen Cache 1682 zwischen der CPU und dem Speicher ein. Eine Einheit 1680b schließt eine CPU 1686 (mit einem L1-, L2- oder L3-Cache 1687), einen Speicher 1684 und einen Cache 1685 zwischen der CPU und dem Speicher ein. Eine Einheit 1680c schließt eine CPU 1688 (mit einem L1-, L2- oder L3-Cache 1689), einen Speicher 1691 und einen Cache 1690 zwischen der CPU und dem Speicher ein. Eine Einheit 1680d schließt eine CPU 1694 (mit einem L1-, L2- oder L3-Cache 1695), einen Speicher 1692 und einen Cache 1693 zwischen der CPU und dem Speicher ein. Die Speichervorrichtungen 1683, 1684, 1691 und 1692 können miteinander kommunizieren, um Daten zu übertragen.
  • 16E stellt BLK0 von 16A dar und zeigt, wie die NAND-Ketten in unterschiedlichen Abständen von dem Zeilendecodierer angeordnet sind. Wie in Verbindung mit 11I und 11J erläutert, ist es möglich, eine relativ hohe Zugriffsgeschwindigkeit zu verwenden, wenn auf einen Abschnitt einer Wortleitung zugegriffen wird, der relativ nahe an einem Zeilendecodierer liegt, der ein Spannungssignal an die Wortleitung liefert. In diesem Beispiel befinden sich ein Abschnitt 1651 des Blocks oder seine Wortleitungen relativ nahe an dem Zeilendecodierer 124a, und ein Abschnitt 1650 des Blocks oder seine Wortleitungen sind relativ weit von dem Zeilendecodierer 124a entfernt. Dieser Ansatz teilt die Speicherzellen in zwei Abschnitte, möglich ist aber auch die Verwendung von mehr als zwei Abschnitten. Beispielsweise kann es einen relativ nahen Abschnitt geben, für den eine relativ hohe Zugriffsgeschwindigkeit verwendet wird, einen relativ entfernten Abschnitt, für den eine relativ niedrige Zugriffsgeschwindigkeit verwendet wird, und einen Zwischenabschnitt, für den eine Zwischenzugriffsgeschwindigkeit verwendet wird. Die Zwischenzugriffsgeschwindigkeit liegt zwischen der relativ niedrigen Zugriffsgeschwindigkeit und der relativ hohen Zugriffsgeschwindigkeit. Der nahe Abschnitt 1651 schließt die beispielhaften NAND-Ketten 700n bis 703n ein und der entfernte Abschnitt schließt die beispielhaften NAND-Ketten 704n bis 707n ein, in Übereinstimmung mit 8.
  • Insbesondere erstreckt sich der nahe Abschnitt 1651 in einem Bereich von Abständen d1 bis d2 von dem Zeilendecodierer und der entfernte Abschnitt 1650 erstreckt sich in einem Bereich von Abständen d2 bis d3 (größer als der Bereich d1 bis d2) von dem Zeilendecodierer. Mit anderen Worten: der nahe Abschnitt 1651 erstreckt sich von dem Zeilendecodierer zu einem Abstand d2, und der entfernte Abschnitt 1650 erstreckt sich von dem Zeilendecodierer von dem Abstand d2 zu einem Abstand d3>d2.
  • 17A stellt die beispielhaften Wortleitungsschichten WLL1 bis WLL4 dar und zeigt, wie eine Kapazität (Kap.) zwischen benachbarten Wortleitungsschichten besteht, die getrennt sind. Die Größenordnung der Kapazität hängt von Faktoren wie dem Abstand zwischen den Wortleitungen, den Materialien und Breiten der Wortleitungen und den dielektrischen Schichten ab. In diesem Beispiel wird eine gewünschte Änderung der Spannung einer ausgewählten Wortleitung durch die Kapazität der ausgewählten Wortleitung relativ zu ihren beiden benachbarten Wortleitungen verlangsamt. Zum Beispiel wird eine gewünschte Änderung der Spannung von WLL3 durch ihre Kapazität mit WLL2 und WLL4 verlangsamt.
  • 17B stellt die beispielhaften Wortleitungsschichten WLL1 bis WLL4 dar und zeigt, wie eine reduzierte Kapazität besteht, wenn die benachbarten Wortleitungsschichten verbunden sind. Wenn benachbarte Wortleitungen elektrisch verbunden sind, besteht zwischen ihnen keine Kapazität. In diesem Beispiel wird eine gewünschte Änderung der Spannung von WLL3 durch ihre Kapazität mit WLL4 verlangsamt, aber nicht durch eine Kapazität mit WLL2, da WLL3 und WLL2 verbunden sind. Die Verringerung der Kapazität zusammen mit dem reduzierten Widerstand trägt dazu bei, die RC-Zeitkonstante und die für eine Spannungsänderung benötigte Zeit zu reduzieren.
  • Eine Möglichkeit besteht darin, nicht benachbarte Wortleitungen in einem Block durch einen permanenten (nicht geschalteten) oder geschalteten Pfad zu verbinden. Dieser Ansatz erzielt den Vorteil einer reduzierten RC-Zeitkonstante aufgrund eines reduzierten Widerstands. Die Bereitstellung eines Pfades zwischen nicht benachbarten Wortleitungen kann jedoch komplexer sein als die Bereitstellung eines Pfades zwischen benachbarten Wortzeilen.
  • 18 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 Wortleitung verbunden ist, wird die Zeit zum Ändern der Spannung durch die RC-Zeitkonstante der Wortleitung beeinflusst. In einem Beispiel (Graph 1800) tritt der Anstieg relativ schnell, in einer Zeitperiode t1, auf. In einem anderen Beispiel (Graph 1801) tritt der Anstieg relativ langsam, in einer Zeitperiode t2, auf. Die Spannungszeitsteuerschaltung 117a (1) kann eine Zeit zum Ändern einer Wortleitungsspannung basierend auf der Kenntnis, ob die Wortleitung mit einer anderen Wortleitung verbunden ist, zuweisen. Wenn die Wortleitung verbunden ist, kann eine kürzere Zugriffszeit (z.B. t1) zugewiesen werden. Wenn die Wortleitung nicht verbunden ist, kann eine längere Zugriffszeit (z. B. t2) zugewiesen werden. Die zugeteilte Zeitperiode kann für verschiedene Änderungen in einem Spannungssignal eingestellt werden, die beispielsweise während eines Programmier- oder Lesevorgangs auftreten. Siehe zum Beispiel 20 und 21. Für eine gleiche Änderung eines Spannungssignals können für verbundene und getrennte Wortleitungen unterschiedliche zugewiesene Zeitperioden eingestellt 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.
  • 19 stellt ein Modell einer Wortleitung als ein verteiltes RC-Glied 1900 in Übereinstimmung mit 16E dar. Die Speicherzellen in einer NAND-Kette sind in Reihe geschaltet und können durch eine Reihe von Widerständen (siehe beispielhafter Widerstand 1901) und einen Kondensator zwischen jedem Widerstand (siehe beispielhaften Kondensator 1902) dargestellt werden. Die RC-Zeitkonstante eines Abschnitts einer Wortleitung ist proportional zu 1/N^2, wobei N die Anzahl der Speicherzellen in dem Abschnitt ist. Somit beträgt eine Zeitkonstante zum Ändern der Größenordnung eines Spannungssignals für eine Hälfte der mit einer Wortleitung verbundenen Speicherzellen ein Viertel der Zeitkonstante zum Ändern der Größe des Spannungssignals für alle mit der Wortleitung verbundenen Speicherzellen. Dementsprechend kann eine hohe Zugriffsgeschwindigkeit erreicht werden, indem der Zugriff auf einen Abschnitt der Wortleitung beschränkt wird, der dem Zeilendecodierer oder einer anderen Spannungsquelle am nächsten ist.
  • 20 stellt Beispiele von Spannungssignalen, die in einer Programmschleife eines Programmvorgangs verwendet werden können, in Übereinstimmung mit 11D dar. In 20 und 21 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 2087 (t0 bis t3), eine Programmierphase 2088 (t3 bis t9) und eine Verifizierungsphase 2089 (t9 bis t16) ein. Beispielhafte Spannungen der Signale sind ebenfalls dargestellt. Ein Spannungssignal 2000 stellt VWLn/VWLadj, die Spannung der ausgewählten Wortleitung und einer benachbarten Wortleitung dar, ein Spannungssignal 2010 stellt Vwl_unsel, eine Spannung der verbleibenden nicht ausgewählten Wortleitungen dar, ein Spannungssignal 2030 stellt die ausgewählten Gate-Spannungen, z. B. Vsgd und/oder Vsgs dar, und ein Spannungssignal 2040 stellt Vbl, eine Bitleitungsspannung, dar. VWLn/VWLadj ist ein Beispiel eines einzelnen Spannungssignals, das zu einer ausgewählten Wortleitung und einer benachbarten Wortleitung als ein gemeinsames Spannungssignal geleitet wird.
  • Das Spannungssignal 2000 wird durch einen Graph 2001 bei einem Anfangswert wie 0 V dargestellt, einen Graph 2002, der einen ersten Schritt des Anstiegs in WLn, von dem Anfangswert auf einen Zwischenwert, z. B. Vpass, darstellt, einen Graph 2003, bei dem WLn auf Vpass gehalten wird, einen Graph 2004, der einen zweiten Schritt des Anstiegs, von Vpass auf Vpgm, darstellt, einen Graph 2005, der eine Halteperiode bei Vpgm darstellt, einen Graph 2006, der einen Abfall von Vpgm auf den Anfangswert darstellt, und ein Graph 2007, der Verifizierspannungen von VvE, VvF und VvG darstellt.
  • Wie erwähnt schließt das Spannungssignal 2000 Optionen zur Verwendung eines Spannungsimpulses ein. Zum Beispiel stellt ein Graph 2003a einen Spannungsimpuls dar, bei dem eine Spannung in der Größenordnung von Vpass+d bei t3 angefordert wird, wobei d ein Delta ist. Die angeforderte Spannung wird dann auf Vpass bei t5 abgesenkt. Ein Graph 2005a stellt einen Spannungsimpuls dar, bei dem eine Spannung in einer Größenordnung von Vpgm+d bei t6 angefordert wird. Die angeforderte Spannung wird dann auf Vpgm bei t7a abgesenkt.
  • Während der Verifizierungsphase kann ein Spannungsimpuls für eine oder mehrere der Verifizierspannungen VvE, VvF und VvG verwendet werden. Zum Beispiel stellt ein Graph 2007a einen Spannungsimpuls dar, bei dem eine Spannung in einer Größenordnung von VvE+d bei t10 angefordert wird. Die angeforderte Spannung wird dann auf VvE bei t11 abgesenkt. Ein Graph 2007b stellt einen Spannungsimpuls dar, bei dem eine Spannung in einer Größenordnung von VvF+d bei t12 angefordert wird. Die angeforderte Spannung wird dann auf VvF bei t13 abgesenkt. Ein Graph 2007c stellt einen Spannungsimpuls dar, bei dem eine Spannung in einer Größenordnung von VvG+d bei t14 angefordert wird. Die angeforderte Spannung wird dann auf VvG bei t15 abgesenkt.
  • Der Wert d kann für die verschiedenen dargestellten Spannungsimpulse unterschiedlich sein. Wie erwähnt, könnte die Spitzenspannung z. B. bis zu 10 bis 30 % höher als die Endspannung sein. Während eines Programmvorgangs schließen Beispiele für eine Endspannung Vpass und Vpgm während der Programmierphase, und eine Verifizierspannung wie VvE, VvF oder VvG während der Verifizierungsphase ein. Während eines Lesevorgangs schließen Beispiele für eine Endspannung eine Lesespannung wie VrA und VrE in 9B und 21, und Vr in 9A ein.
  • Wie bereits erwähnt, kann zum Ändern einer Spannung auf einer ausgewählten Wortleitung, die mit einer benachbarten Wortleitung verbunden ist, aufgrund der niedrigeren RC-Zeitkonstante eine relativ kurze Zeitspanne zugewiesen werden. Während eines Programmvorgangs sind die beispielhaften Zeitperioden, die für eine Spannungserhöhung von VWLsel und VWLadj zugewiesen sind, 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). Relativ kürzere Zeitperioden können auch für einen Spannungsabfall, wie bei t8, zugewiesen werden.
  • Das Spannungssignal 2010 wird durch einen Graph 2011 bei einem Anfangswert wie 0 V dargestellt, einen Graph 2012, der einen Anstieg von Vwl_unsel von dem Anfangswert auf einen Durchgangswert, z. B. Vpass, darstellt, und einen Graph 2013, in dem Vwl_unsel auf Vpass von t3 bis t4 gehalten wird.
  • Das Spannungssignal 2030 wird durch einen Graph 2031 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 2032 mit Vsg_sel=2,5 V die Spannung der ausgewählten SG-Transistoren dar, und ein Graph 2033 mit Vsg_unsel=2,5 V stellt die Spannung der nicht ausgewählten SG-Transistoren dar.
  • Das Spannungssignal 2040 wird durch einen Graph 2041, der eine Spannung Vbl=2 V darstellt, während der Vorladung für ausgewählte und nicht ausgewählte Bitleitungen dargestellt. In einem Ansatz sind die ausgewählten und nicht ausgewählten Bitleitungen mit ausgewählten bzw. nicht ausgewählten NAND-Ketten in einem ausgewählten Unterblock verbunden. Anschließend stellt ein Graph 2042 Vbl_unsel=2 V (eine Spannung auf nicht ausgewählten Bitleitungen) dar, und ein Graph 2043 stellt Vbl_sel=0 V (eine Spannung auf ausgewählten Bitleitungen) dar.
  • In der Vorladephase wird eine positive Vbl (Graph 2041) 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 2031), 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 2007) 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 2032) und die nicht ausgewählten Unterblöcke (Graph 2033) eingestellt werden. Während des Programmierimpulses mit Vbl=0 (Graph 2043), 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 nicht ausgewählten NAND-Ketten auf einem hohen Wert von 2 V verbleiben (Graph 2042). Vbl_sel kann während der Verifizierungsphase als Teil eines Abtastprozesses 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 Vbl bei t16 auf 0 V verringert, so dass die SGD-Transistoren abgeschaltet sind und der Kanalbereich eine Floating-Spannung hat.
  • 21 stellt Beispiele von Spannungssignalen, die in einem Lesevorgang verwendet werden können, in Übereinstimmung mit 11G dar. Ein Graph 2050 stellt VWLsel/VWLadj 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 2050a stellt einen Spannungsimpuls dar, bei dem eine Spannung in einer Größenordnung von VrA+d bei t2 angefordert wird. Die angeforderte Spannung wird dann auf VrA bei t3 abgesenkt. Ein Graph 2050b stellt einen Spannungsimpuls dar, bei dem eine Spannung in einer Größenordnung von VvE+d bei t6 angefordert wird. Die angeforderte Spannung wird dann auf VrE bei t7 abgesenkt.
  • Ein Graph 2060 stellt Vwl_unsel, die Spannung auf den verbleibenden 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 2070 stellt Vsg, die Spannung an den SGD- und SGS-Transistoren, dar. Bezugnehmend auf Graph 2071, 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 Graph 2072, 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 2080 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.
  • Ein Graph 2080 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 2093, 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 2091, 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 2094, 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 2092, 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/VWLadj auf eine einzige Lesespannung von Vr eingestellt ist (9A).
  • Wie bereits erwähnt, kann zum Ändern einer Spannung auf einer ausgewählten Wortleitung, die mit einer benachbarten Wortleitung verbunden ist, aufgrund der niedrigeren RC-Zeitkonstante eine relativ kurze Zeitspanne zugewiesen werden. Während eines Lesevorgangs sind die beispielhaften Zeitperioden, die für eine Spannungserhöhung von VWLsel und VWLadj zugewiesen sind, t2 bis t3 (Erhöhung von einer Anfangsspannung auf eine erste Lesespannung) und t6 bis t7 (Erhöhung von einer ersten Lesespannung auf eine zweite Lesespannung) für MLC-Speicherzellen. Für einen Lesevorgang von SLC-Speicherzellen wird eine beispielhafte Zeitperiode für eine Spannungserhöhung von VWLsel und VWLadj von 0 V oder einer anderen Anfangsspannung auf Vr zugewiesen. Relativ kürzere Zeitperioden können auch für einen Spannungsabfall auf einer ausgewählten Wortleitung, die mit einer benachbarten Wortleitung verbunden ist, zugewiesen werden.
  • In einer Implementierung schließt eine Vorrichtung ein: einen Satz von Speicherzellen, die mit einer Vielzahl von Wortleitungen verbunden sind; einen Reihendecodierer; und eine Wortleitungsaktivierungsschaltung, die eingerichtet ist, um als Reaktion auf einen Befehl, der eine ausgewählte Wortleitung der Vielzahl von Wortleitungen betrifft, den Zeilendecodierer zu aktivieren, um ein gemeinsames Spannungssignal an die ausgewählte Wortleitung und eine benachbarte Wortleitung zu leiten.
  • In einer anderen Implementierung schließt ein Verfahren ein: als Reaktion auf einen Befehl zum Durchführen eines Vorgangs auf Speicherzellen, die mit einer ersten ausgewählten Wortleitung verbunden sind, Erhöhen einer Spannung eines gemeinsamen Spannungssignals auf der ersten ausgewählten Wortleitung und einer benachbarten Wortleitung von einer Anfangsspannung auf eine Endspannung; und als Reaktion auf einen Befehl zum Durchführen eines Vorgangs auf Speicherzellen, die mit einer zweiten ausgewählten Wortleitung verbunden sind, Erhöhen einer Spannung auf der zweiten ausgewählten Wortleitung von der Anfangsspannung auf die Endspannung, wobei eine Zeitperiode, die zum Ändern der Spannung der ersten ausgewählten Wortleitung und der benachbarten Wortleitung zugewiesen ist, kleiner als eine Zeitperiode ist, die zum Ändern der Spannung der zweiten ausgewählten Wortleitung zugewiesen ist.
  • In einer anderen Implementierung schließt eine Vorrichtung ein: einen Satz von Speicherzellen, die mit einer ersten Wortleitung in einem Block verbunden sind; einen Satz von Speicherzellen, die mit einer zweiten Wortleitung in dem Block verbunden sind; und Mittel zum gleichzeitigen Programmieren von Daten in den Satz von Speicherzellen, die mit der ersten Wortleitung verbunden sind und den Satz von Speicherzellen, die mit der zweiten Wortleitung verbunden sind.
  • Die Mittel zum gleichzeitigen Programmieren von Daten können die Steuerung 122, die Steuerschaltung 110, den Zeilendecodierer 124 und die Lese-/Schreibschaltungen 128 von 1 bis 3 oder andere Logikhardware und/oder einen anderen ausführbaren Code einschließen, der auf einem computerlesbaren Speichermedium oder einer computerlesbaren Speichervorrichtung gespeichert ist. Andere Ausführungsformen können ähnliche oder äquivalente Mittel einschließen.
  • In einer anderen Implementierung weist eine Vorrichtung auf: einen ersten Zeilendecodierer für einen ersten Block; einen zweiten Zeilendecodierer für einen zweiten Block; einen Satz von Bitleitungen, die von dem ersten Block und dem zweiten Block gemeinsam genutzt werden; und eine Steuerschaltung, die eingerichtet ist, um auf Speicherzellen in dem ersten Block zuzugreifen, die sich von dem ersten Zeilendecodierer zu einem ersten Abstand erstrecken, unter Verwendung einer ersten Zugriffszeit, und um auf Speicherzellen in dem zweiten Block zuzugreifen, die sich von dem zweiten Zeilendecodierer zu einem zweiten Abstand erstrecken, unter Verwendung einer zweiten Zugriffszeit, wobei der erste Abstand kleiner als der zweite Abstand ist und die erste Zugriffszeit kleiner als die zweite Zugriffszeit ist.
  • In einer anderen Implementierung weist ein System auf: eine Steuerung; und einen Speicherchip, der mit der Steuerung verbunden ist. Der Speicherchip schließt ein: einen ersten Zeilendecodierer für einen ersten Block; Speicherzellen in dem ersten Block, die sich von dem ersten Zeilendecodierer zu einem ersten Abstand erstrecken; Speicherzellen in dem ersten Block, die sich über den ersten Abstand von dem ersten Zeilendecodierer erstrecken, die Speicherzellen in dem ersten Block, die sich zu dem ersten Abstand erstrecken und die Speicherzellen in dem ersten Block, die sich über den ersten Abstand erstrecken, sind mit einer Gruppe von benachbarten Wortleitungen miteinander verbunden; und eine Steuerschaltung, die eingerichtet ist, um auf die Speicherzellen zuzugreifen, die sich zu dem ersten Abstand in einer ersten Zugriffszeitperiode erstrecken und um auf die Speicherzellen zuzugreifen, die sich über den ersten Abstand in einer zweiten Zugriffszeitperiode erstrecken, die größer als die erste Zugriffszeitperiode ist.
  • 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 Satz von Speicherzellen (704 bis 714, 724 bis 734, 744 bis 754, 764 bis 774), die mit einer Vielzahl von Wortleitungen (WL0 bis WL 10) verbunden sind; einen Zeilendecodierer (124, 124a, 1510, 1510a, 1510b); und eine Wortleitungsaktivierungsschaltung (117), die eingerichtet ist, um als Reaktion auf einen Befehl, der eine ausgewählte Wortleitung (WLn) der Vielzahl von Wortleitungen betrifft, den Zeilendecodierer zu aktivieren, um ein gemeinsames Spannungssignal an die ausgewählte Wortleitung und eine benachbarte Wortleitung (WLadj) zu leiten.
  2. Vorrichtung gemäß Anspruch 1, wobei: der Zeilendecodierer eingerichtet ist, um ein einzelnes Spannungssignal (VWLn/VWLadj) zu der ausgewählten Wortleitung und der benachbarten Wortleitung als das gemeinsame Spannungssignal zu leiten.
  3. Vorrichtung gemäß Anspruch 1 oder 2, weiterhin aufweisend: einen Schalter (1531a, 1532a), der eingerichtet ist, um die ausgewählte Wortleitung und die benachbarte Wortleitung zu verbinden.
  4. Vorrichtung gemäß einem der Ansprüche 1 bis 3, wobei: die Wortleitungsaktivierungsschaltung eingerichtet ist, um einen Kurzschluss zwischen der ausgewählten Wortleitung und der benachbarten Wortleitung zu erfassen.
  5. Vorrichtung gemäß einem der Ansprüche 1 bis 4, weiterhin aufweisend: eine erste Durchkontaktierung (1221), die sich von der ausgewählten Wortleitung nach oben zu einem Kontakt erstreckt; und eine zweite Durchkontaktierung (1220), die sich von der benachbarten Wortleitung nach oben zu dem Kontakt erstreckt, wobei der Kontakt mit dem Zeilendecodierer verbunden ist.
  6. Vorrichtung gemäß einem der Ansprüche 1 bis 5, wobei der Satz von Speicherzellen mit der Vielzahl von Wortleitungen in einem ersten Block (BLKO) verbunden ist, die Vorrichtung weiterhin aufweisend: einen Satz von Speicherzellen, die mit einer Vielzahl von Wortleitungen in einem zweiten Block (BLK1) verbunden sind, wobei die Vielzahl von Wortleitungen in dem zweiten Block Wortleitungen aufweisen, die von benachbarten Wortleitungen getrennt sind, und der erste Block und der zweite Block einen gemeinsamen Satz von Bitleitungen nutzen.
  7. Vorrichtung gemäß Anspruch 6, wobei: eine Anzahl von gespeicherten Bits pro Speicherzelle für den Satz von Speicherzellen, die mit der Vielzahl von Wortleitungen in dem zweiten Block verbunden sind, größer als eine Anzahl von Bits ist, die pro Speicherzelle für die ausgewählte Wortleitung und deren benachbarte Wortleitung gespeichert sind.
  8. Vorrichtung gemäß Anspruch 6 oder 7, wobei: die Wortleitungsaktivierungsschaltung eingerichtet ist, um eine Zeitperiode (t1) zum Ändern einer Spannung auf der ausgewählten Wortleitung und der benachbarten Wortleitung zuzuweisen, die kleiner als eine Zeitperiode (t2) ist, die zum Ändern einer Spannung auf einer der Wortleitungen in dem zweiten Block zugewiesen ist.
  9. Vorrichtung gemäß einem der Ansprüche 1 bis 8, wobei: die Vielzahl von Wortleitungen in einem Block sind und eine Wortleitung aufweisen, die nicht mit einer benachbarten Wortleitung verbunden ist; und eine Anzahl von pro Speicherzelle gespeicherten Bits für die Wortleitung, die nicht mit einer benachbarten Wortleitung verbunden ist, größer als eine Anzahl von Bits ist, die pro Speicherzelle für die ausgewählte Wortleitung und deren benachbarte Wortleitung gespeichert sind.
  10. Vorrichtung gemäß Anspruch 9, wobei: die Wortleitungsaktivierungsschaltung eingerichtet ist, um eine Zeitperiode (t1) zum Ändern einer Spannung auf der ausgewählten Wortleitung und der benachbarten Wortleitung zuzuweisen, die kleiner als eine Zeitperiode (t2) ist, die zum Ändern einer Spannung auf der Wortleitung, die nicht mit einer benachbarten Wortleitung verbunden ist, zugewiesen ist.
  11. Vorrichtung gemäß einem der Ansprüche 1 bis 10, wobei: der Befehl einen Programmierbefehl aufweist; und die ausgewählte Wortleitung und die benachbarte Wortleitung benachbarte Speicherzellen in einer NAND-Kette aufweisen, die auf einen gemeinsamen Datenzustand programmiert sind.
  12. Vorrichtung gemäß einem der Ansprüche 1 bis 11, wobei: der Befehl einen Abtastbefehl aufweist; und die ausgewählte Wortleitung und die benachbarte Wortleitung benachbarte Speicherzellen in einer NAND-Kette aufweisen, die als in einem gemeinsamen Datenzustand befindlich erfasst werden.
  13. Vorrichtung gemäß einem der Ansprüche 1 bis 12, wobei: die Wortleitungsaktivierungsschaltung eingerichtet ist, um den Zeilendecodierer zu aktivieren, um das gemeinsame Spannungssignal an eine Gruppe von mindestens drei benachbarten Wortleitungen zu leiten, die die ausgewählte Wortleitung und die benachbarte Wortleitung aufweisen.
  14. Verfahren, aufweisend: als Reaktion auf einen Befehl zum Durchführen eines Vorgangs auf Speicherzellen, die mit einer ersten ausgewählten Wortleitung verbunden sind, Erhöhen einer Spannung eines gemeinsamen Spannungssignals auf der ersten ausgewählten Wortleitung und einer benachbarten Wortleitung von einer Anfangsspannung auf eine Endspannung; und als Reaktion auf einen Befehl zum Durchführen eines Vorgangs auf Speicherzellen, die mit einer zweiten ausgewählten Wortleitung verbunden sind, Erhöhen einer Spannung auf der zweiten ausgewählten Wortleitung von der Anfangsspannung auf die Endspannung, wobei eine Zeitperiode (t1), die zum Ändern der Spannung der ersten ausgewählten Wortleitung und der benachbarten Wortleitung zugewiesen ist, kleiner als eine Zeitperiode (t2) ist, die zum Ändern der Spannung der zweiten ausgewählten Wortleitung zugewiesen ist.
  15. Verfahren gemäß Anspruch 14, wobei: die erste ausgewählte Wortleitung und die benachbarte Wortleitung benachbarte Speicherzellen in einer NAND-Kette aufweisen, die auf einen gemeinsamen Datenzustand programmiert sind.
DE112019000164.7T 2018-06-05 2019-02-09 Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung Granted DE112019000164T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/000,237 US10726922B2 (en) 2018-06-05 2018-06-05 Memory device with connected word lines for fast programming
US16/000,237 2018-06-05
PCT/US2019/017392 WO2019236152A1 (en) 2018-06-05 2019-02-09 Memory device with connected word lines for fast programming

Publications (1)

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

Family

ID=68694257

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019000164.7T Granted DE112019000164T5 (de) 2018-06-05 2019-02-09 Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung

Country Status (4)

Country Link
US (1) US10726922B2 (de)
CN (1) CN111406287B (de)
DE (1) DE112019000164T5 (de)
WO (1) WO2019236152A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149744A (ja) * 2019-03-13 2020-09-17 キオクシア株式会社 半導体記憶装置
KR20200141304A (ko) * 2019-06-10 2020-12-18 에스케이하이닉스 주식회사 반도체 장치 및 반도체 장치의 동작 방법
KR20200144000A (ko) * 2019-06-17 2020-12-28 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
US10825526B1 (en) * 2019-06-24 2020-11-03 Sandisk Technologies Llc Non-volatile memory with reduced data cache buffer
US11200952B2 (en) * 2019-07-22 2021-12-14 Samsung Electronics Co., Ltd. Non-volatile memory device
KR20210050635A (ko) 2019-10-28 2021-05-10 삼성전자주식회사 메모리 장치, 및 이를 포함하는 컴퓨터 시스템
US11237955B2 (en) * 2019-10-28 2022-02-01 Samsung Electronics Co., Ltd. Memory device, method of operating memory device, and computer system including memory device
US11145379B2 (en) * 2019-10-29 2021-10-12 Key Foundry Co., Ltd. Electronic fuse cell array structure
KR102284263B1 (ko) 2019-10-29 2021-07-30 주식회사 키 파운드리 이-퓨즈 셀 및 이를 포함하는 비휘발성 메모리 장치
WO2021127980A1 (en) * 2019-12-24 2021-07-01 Yangtze Memory Technologies Co., Ltd. Three-dimensional nand memory device and method of forming the same
US11557341B2 (en) * 2019-12-27 2023-01-17 Micron Technology, Inc. Memory array structures and methods for determination of resistive characteristics of access lines
KR20210152617A (ko) 2020-06-08 2021-12-16 삼성전자주식회사 반도체 소자
US11551781B1 (en) 2021-06-16 2023-01-10 Sandisk Technologies Llc Programming memory cells with concurrent storage of multi-level data as single-level data for power loss protection
US11625172B2 (en) 2021-06-16 2023-04-11 Sandisk Technologies Llc Programming memory cells with concurrent redundant storage of data for power loss protection
US11705206B2 (en) * 2021-08-17 2023-07-18 Sandisk Technologies Llc Modifying program and erase parameters for single-bit memory cells to improve single-bit/multi-bit hybrid ratio
US11875842B2 (en) * 2021-11-09 2024-01-16 Sandisk Technologies Llc Systems and methods for staggering read operation of sub-blocks
US11972815B2 (en) * 2022-05-10 2024-04-30 Sandisk Technologies, Llc Post-write read techniques to improve programming reliability in a memory device

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5990291A (ja) * 1982-11-16 1984-05-24 Nec Corp メモリ
US5179536A (en) * 1989-01-31 1993-01-12 Fujitsu Limited Semiconductor memory device having means for replacing defective memory cells
US5335198A (en) * 1993-05-06 1994-08-02 Advanced Micro Devices, Inc. Flash EEPROM array with high endurance
US5864496A (en) 1997-09-29 1999-01-26 Siemens Aktiengesellschaft High density semiconductor memory having diagonal bit lines and dual word lines
US6618295B2 (en) 2001-03-21 2003-09-09 Matrix Semiconductor, Inc. Method and apparatus for biasing selected and unselected array lines when writing a memory array
US7170802B2 (en) * 2003-12-31 2007-01-30 Sandisk Corporation Flexible and area efficient column redundancy for non-volatile memories
US6879505B2 (en) 2003-03-31 2005-04-12 Matrix Semiconductor, Inc. Word line arrangement having multi-layer word line segments for three-dimensional memory array
KR100562506B1 (ko) * 2003-12-01 2006-03-21 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US7561469B2 (en) 2006-03-28 2009-07-14 Micron Technology, Inc. Programming method to reduce word line to word line breakdown for NAND flash
JP2007305210A (ja) * 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
US7450414B2 (en) 2006-07-31 2008-11-11 Sandisk 3D Llc Method for using a mixed-use memory array
US7577031B2 (en) 2007-03-29 2009-08-18 Sandisk Corporation Non-volatile memory with compensation for variations along a word line
JP2008251138A (ja) 2007-03-30 2008-10-16 Toshiba Corp 不揮発性半導体メモリ、不揮発性半導体メモリの制御方法、不揮発性半導体メモリシステム、及びメモリカード
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
US7952928B2 (en) * 2008-05-27 2011-05-31 Sandisk Il Ltd. Increasing read throughput in non-volatile memory
JP5305751B2 (ja) 2008-06-19 2013-10-02 株式会社東芝 半導体記憶装置
US8406048B2 (en) * 2008-08-08 2013-03-26 Marvell World Trade Ltd. Accessing memory using fractional reference voltages
KR101066696B1 (ko) 2009-06-29 2011-09-21 주식회사 하이닉스반도체 불휘발성 메모리 소자
CN102184740B (zh) * 2011-01-31 2013-10-09 清华大学 垂直折叠式存储器阵列结构
KR20120119779A (ko) 2011-04-22 2012-10-31 삼성전자주식회사 불휘발성 메모리 장치
US9176862B2 (en) 2011-12-29 2015-11-03 Sandisk Technologies Inc. SLC-MLC wear balancing
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
US8918577B1 (en) 2014-06-13 2014-12-23 Sandisk Technologies Inc. Three dimensional nonvolatile memory with variable block capacity
KR20160011483A (ko) 2014-07-22 2016-02-01 에스케이하이닉스 주식회사 메모리 장치
US9799412B2 (en) 2014-09-30 2017-10-24 Sony Semiconductor Solutions Corporation Memory having a plurality of memory cells and a plurality of word lines
US9312010B1 (en) * 2014-10-07 2016-04-12 Sandisk Technologies Inc. Programming of drain side word line to reduce program disturb and charge loss
US9236139B1 (en) 2015-02-11 2016-01-12 Sandisk Technologies Inc. Reduced current program verify in non-volatile memory
US9355735B1 (en) * 2015-02-20 2016-05-31 Sandisk Technologies Inc. Data recovery in a 3D memory device with a short circuit between word lines
US9548129B2 (en) 2015-03-02 2017-01-17 Sandisk Technologies Llc Word line look ahead read for word line to word line short detection
US9703719B2 (en) 2015-05-08 2017-07-11 Sandisk Technologies Llc Fast read for non-volatile storage
US9563505B2 (en) * 2015-05-26 2017-02-07 Winbond Electronics Corp. Methods and systems for nonvolatile memory data management
US9785493B1 (en) * 2016-12-09 2017-10-10 Sandisk Technologies Llc Data recovery method after word line-to-word line short circuit

Also Published As

Publication number Publication date
CN111406287B (zh) 2023-10-24
WO2019236152A1 (en) 2019-12-12
US20190371406A1 (en) 2019-12-05
CN111406287A (zh) 2020-07-10
US10726922B2 (en) 2020-07-28

Similar Documents

Publication Publication Date Title
DE112019000164T5 (de) Speichervorrichtung mit verbundenen wortleitungen zur schnellen programmierung
DE112017004208B4 (de) 3d-nand mit teilblocklöschen
DE112017001761B4 (de) NAND-Struktur mit Stufenauswahl-Gate-Transistoren
DE112019000157T5 (de) Speichervorrichtung mit von nand-ketten getrennten bitleitungen zur schnellen programmierung
DE102018114250B4 (de) Reduzieren eines heißen Elektroneninjektionstypen von Lesestörungen in einer 3D-Speichervorrichtung während Signal-schaltenden Störsignalen
DE112019000152T5 (de) Verschachteltes programmieren und prüfen in nichtflüchtigem speicher
DE112017003298T5 (de) Schema für das Herunterfahren von Wortleitungen zum Entfernen von Restelektronen
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
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
DE102018123918A1 (de) Zustandsabhängige Abtastschaltungen und Vorladevorgänge für Speichervorrichtungen
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE102021115501A1 (de) Leseaktualisierung zur verbesserung der leistung bei datenerhaltung für nichtflüchtigen speicher
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE112016000654T5 (de) Mehrzustands-Programmierung für nichtflüchtigen Speicher
DE112019000159T5 (de) Ramp-down-abtastung zwischen programmspannung und prüfspannung in einer speichervorrichtung
DE112015003651T5 (de) Adaptives selektives bitleitungsvorladen für stromeinsparungen und schnelles programmieren
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
DE112016003568T5 (de) Intelligente Überprüfung bzw. Verifizierung zur Programmierung nicht-flüchtiger Speicher
DE102022102591A1 (de) Systeme und verfahren zum einstellen der schwellenspannungsverteilung aufgrund von halbkreis-sgd
DE102018106111A1 (de) Selektives Boosting von Strom in Speicherkanälen basierend auf einem Datenmuster oder physischen Nicht-Uniformitäten
DE102022113174A1 (de) Proaktive aktualisierung der randdatenwortleitung für halbkreis-drain-side-select-gate
DE102022102593A1 (de) Speicherprogrammierung mit selektiv übersprungenen verifizierungsimpulsen zur leistungsverbesserung

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