-
GEBIET
-
Die vorliegende Offenbarung betrifft allgemein das Gebiet der Computerentwicklung und spezifischer die Milderung von Lesestörungen in dreidimensionalen (3D) Speichervorrichtungen, wie in 3D NAND Vorrichtungen.
-
HINTERGRUND
-
In 3D NAND Vorrichtungen führt das Lesen von Speicherzellen in einem Deck eines Superblocks, Blocks oder Subblocks in der Speichervorrichtung, nachdem eine Löschoperation an einem anderen Deck in demselben Superblock, Block oder Subblock vorgenommen wurde, zu verstärkten Heißträgerinjektions-(HCI) Lesestörungen. Die obigen können zum Beispiel nach dem Löschen einzelner Decks in einer Block-per-Deck-Architektur von 3D NAND Speichervorrichtungen entstehen.
-
Es sind Verfahren erforderlich, um HCI Lesestörungen in 3D NAND Speichervorrichtungen zu mildern, nachdem ein Löschbefehl einem zu löschenden Deck erteilt wird.
-
Figurenliste
-
- 1 veranschaulicht ein Blockbild von Komponenten eines Computersystems gemäß bestimmten Ausführungsformen.
- 2 veranschaulicht ein Beispiel eines Abschnitts eines NAND Flash-Speicher-Arrays gemäß bestimmten Ausführungsformen.
- 3 veranschaulicht ein Beispiel von Bitcodierungen innerhalb von NAND Flash-Speicherzellen gemäß bestimmten Ausführungsformen.
- 4 veranschaulicht Beispiele von Subblöcken eines Blocks einer Speichervorrichtung gemäß bestimmten Ausführungsformen.
- 5 veranschaulicht eine schematische, perspektivische Ansicht einer Kachel einer 3D NAND Vorrichtung gemäß einer Ausführungsform.
- 6 ist eine Schnittansicht eines Abschnitts der Kachel von 5.
- 7 ist ein Graph, der Leitungsbänder entlang einer Säule in der Kachel von 6 zeigt.
- 8 ist ein Graph der Schwellenspannung Vt-Verteilungsdiagramme entlang einer WL in der Kachel von 6 für den 0 Zyklus und 20K Zyklen einer Lösch/Leseoperation auf der Basis von experimentellen Daten.
- 9 ist ein Flussdiagramm eines Prozesses gemäß einigen Ausführungsformen.
-
Ähnliche Bezugszahlen und Bezeichnungen in den verschiedenen Zeichnungen zeigen ähnliche Element an.
-
DETAILLIERTE BESCHREIBUNG
-
Obwohl die Zeichnungen bestimmte Computersysteme zeigen, sind die Konzepte verschiedener Ausführungsformen auf beliebige geeignete integrierte Schaltungen und andere Logikvorrichtungen anwendbar. Beispiele von Vorrichtungen, in denen Lehren der vorliegenden Offenbarung verwendet werden können, umfassen Desktop Computersysteme, Server-Computersysteme, Speichersysteme, Handvorrichtungen, Tablets, andere dünne Notebooks, System-on-Chip- (SOC) Vorrichtungen und eingebettete Anwendungen. Einige Beispiele von Handvorrichtungen umfassen Mobiltelefone, digitale Kameras, Media Player, Personal Digital Assistants (PDAs) und Hand-PCs. Eingebettete Anwendungen können eine Mikrosteuereinheit, einen digitalen Signalprozessor (DSP), ein System-on-Chip, Netzcomputer (NetPC), Set-top Boxen, Netzhubs, Weitverkehrsnetz- (WAN) Schalter oder irgendein anderes System umfassen, das die im Nachstehenden gelehrten Funktionen und Operationen vornehmen kann. Verschiedene Ausführungsformen der vorliegenden Offenbarung können in einer beliebigen geeigneten Rechnerumgebung verwendet werden, wie einer Personal Computer-Vorrichtung, einem Server, einem Mainframe, einer Cloud Rechnerdienstanbieter-Infrastruktur, einem Datenzentrum, einer Kommunikationsdienstanbieter-Infrastruktur (z.B. einem oder mehreren Abschnitten eines Evolved Packet Core), oder in einer anderen Umgebung, die eine Gruppe von Rechnervorrichtungen umfasst.
-
1 veranschaulicht ein Blockbild von Komponenten eines Computersystems 100 gemäß bestimmten Ausführungsformen. Das System 100 umfasst eine Zentraleinheit (CPU) 102, die mit einer externen Eingabe/Ausgabe-(I/O) Steuereinheit 104 gekoppelt ist, eine Speichervorrichtung 106 und eine Systemspeichervorrichtung 107. Im Betrieb können Daten zwischen der Speichervorrichtung 106 oder der Systemspeichervorrichtung 107 und der CPU 102 transferiert werden. In verschiedenen Ausführungsformen können bestimmte Datenoperationen (z.B. Lösch-, Programm- und Leseoperationen), die eine Speichervorrichtung 106 oder Systemspeichervorrichtung 107 involvieren, von einem Betriebssystem oder einer anderen Software-Anwendung verwaltet werden, die von dem Prozessor 108 ausgeführt wird.
-
Einige Ausführungsformen betreffen ein Verfahren und eine Vorrichtung, um treppenförmige WL Ätzstopp-Schichtdickenvariationen in 3D NAND Vorrichtungen zu mildern. Mehr Details werden in Bezug auf Ausführungsformen im Kontext von 7A-7E im Nachstehenden angegeben.
-
In verschiedenen Ausführungsformen umfasst eine Speichervorrichtung 106 einen NAND Flash-Speicher (hier wird eine Speichervorrichtung, die einen NAND Flash-Speicher umfasst, als NAND Flash-Speichervorrichtung bezeichnet). In einigen Ausführungsformen kann die Speichervorrichtung 106 ein Solid State Laufwerk, eine Speicherkarte, ein Universal Serial Bus (USB) Flash-Laufwerk oder ein Speicher sein, der innerhalb einer Vorrichtung integriert ist, wie einem Smartphone, einer Kamera, einem Media Player oder einer anderen Rechnervorrichtung. Im Allgemeinen werden Speichervorrichtungen mit einem NAND Flash-Speicher durch die Anzahl von Bits klassifiziert, die von jeder Speicherzelle gespeichert werden. Zum Beispiel hat ein Single-Level Cell (SLC) Speicher Zellen, die jeweils ein Datenbit speichern, ein Multi-Level Cell (MLC) Speicher hat Zellen, die jeweils zwei Datenbits speichern, ein Tri-Level Cell (TLC) Speicher hat Zellen, die jeweils drei Datenbits speichern, und ein Quad-Level Cell (QLC) Speicher hat Zellen, die jeweils vier Datenbits speichern, obwohl einige Speicher mehrere Codierungsschemata (z.B. MLC und TLC) an demselben Array oder an verschiedenen Arrays derselben Vorrichtung verwenden können.
-
Eine Speichervorrichtung 106 kann eine beliebige Anzahl von Speichern 116 umfassen, und jeder Speicher 116 kann eine beliebige Anzahl von Speichervorrichtungen 122 (z.B. 122A-D) umfassen. In einer bestimmten Ausführungsform kann eine Speichervorrichtung 122 eine Halbleiterpackung mit einem oder mehreren Speicherchips 123 (z.B. Speicherchips 123A-D) sein oder umfassen. In der dargestellten Ausführungsform umfasst der Speicher 116 Speichervorrichtungen 122A-D (obwohl hier spezifisch auf die Speichervorrichtung 122A Bezug genommen werden kann, können die anderen Speichervorrichtungen beliebige geeignete Charakteristiken der Speichervorrichtung 122A aufweisen) und eine Speichervorrichtung-Steuereinheit 126.
-
Die CPU 102 umfasst einen Prozessor 108, wie einen Mikroprozessor, einen eingebetteten Prozessor, einen digitalen Signalprozessor (DSP), einen Netzprozessor, einen Handprozessor, einen Anwendungsprozessor, einen Co-Prozessor, ein System-on-Chip (SOC) oder eine andere Vorrichtung, um Code (d.h. Software-Instruktionen) auszuführen. Der Prozessor 108 umfasst in der dargestellten Ausführungsform zwei Verarbeitungselemente (Kerne 114A und 114B in der dargestellten Ausführungsform), die asymmetrische Verarbeitungselemente oder symmetrische Verarbeitungselemente aufweisen können. Ein Prozessor kann jedoch eine beliebige Anzahl von Verarbeitungselementen umfassen, die symmetrisch oder asymmetrisch sein können.
-
In einer Ausführungsform bezieht sich ein Verarbeitungselement auf Hardware oder Logik, um einen Software-Thread zu unterstützen. Beispiele von Hardware-Verarbeitungselementen umfassen: eine Thread-Einheit, einen Thread-Slot, einen Thread, eine Verarbeitungseinheit, einen Kontext, eine Kontexteinheit, einen logischen Prozessor, einen Hardware-Thread, einen Kern und/oder irgendein anderes Element, das in der Lage ist, einen Zustand für einen Prozessor zu halten, wie einen Ausführungszustand oder einen Architekturzustand. Mit anderen Worten, ein Verarbeitungselement bezieht sich in einer Ausführungsform auf beliebige Hardware, die in der Lage ist, unabhängig mit einem Code assoziiert zu werden, wie einem Software-Thread, einem Betriebssystem, einer Anwendung oder einem anderen Code. Ein physischer Prozessor (oder ein Prozessorsockel) bezieht sich typischerweise auf eine integrierte Schaltung, die potentiell eine beliebige Anzahl von anderen Verarbeitungselementen aufweist, wie Kerne oder Hardware-Threads.
-
Ein Kern 114 kann sich auf Logik beziehen, die auf einer integrierten Schaltung angeordnet ist und in der Lage ist, einen unabhängigen Architekturzustand aufrechtzuerhalten, wobei jeder unabhängig aufrechterhaltene Architekturzustand mit mindestens einigen dedizierten Ausführungsressourcen assoziiert ist. Ein Hardware-Thread kann sich auf beliebige Logik beziehen, die auf einer integrierten Schaltung angeordnet ist und in der Lage ist, einen unabhängigen Architekturzustand aufrechtzuerhalten, wobei die unabhängig aufrechterhaltenen Architekturzustände den Zugriff auf Ausführungsressourcen gemeinsam nutzen. Wie ersichtlich ist, wenn bestimmte Ressourcen gemeinsam genutzt werden und andere für einen Architekturzustand dediziert sind, überlappt die Linie zwischen der Nomenklatur eines Hardware-Threads und eines Kerns. Häufig werden jedoch ein Kern und ein Hardware-Thread von einem Betriebssystem als einzelne logische Prozessoren angesehen, wobei das Betriebssystem in der Lage ist, individuell Operationen auf jedem logischen Prozessor zu planen.
-
In verschiedenen Ausführungsformen können die Verarbeitungselemente auch eine oder mehrere arithmetische logische Einheiten (ALUs), Gleitkomma-Einheiten (FPUs), Caches, Instruktionspipelines, Unterbrechungshandhabungs-Hardware, Register oder andere Hardware umfassen, um die Operationen der Verarbeitungselemente zu erleichtern.
-
Die I/O Steuereinheit 110 ist eine integrierte I/O Steuereinheit, die Logik zum Kommunizieren von Daten zwischen der CPU 102 und I/O Vorrichtungen aufweist, welche sich auf beliebige geeignete Vorrichtungen beziehen können, die in der Lage sind, Daten zu einem elektronischen System, wie der CPU 102, zu transferieren und/oder Daten davon zu empfangen. Zum Beispiel kann eine I/O Vorrichtung eine Audio/Video (A/V) Vorrichtungssteuereinheit umfassen, wie einen Grafikbeschleuniger oder eine Audio-Steuereinheit; eine Datenspeichervorrichtung-Steuereinheit, wie eine Flash-Speichervorrichtung, eine Magnetspeicherplatte oder optische Speicherplatten-Steuereinheit; einen drahtlosen Sender/Empfänger; einen Netzprozessor; eine Netzschnittstellen-Steuereinheit; oder eine Steuereinheit für andere Eingabevorrichtungen, wie einen Monitor, einen Drucker, eine Maus, eine Tastatur oder einen Scanner; oder eine andere geeignete Vorrichtung. In einer besonderen Ausführungsform kann die I/O Vorrichtung eine Speichervorrichtung 106 umfassen, die mit der CPU 102 durch die I/O Steuereinheit 110 gekoppelt sein kann.
-
Eine I/O Vorrichtung kann mit der I/O Steuereinheit 110 der CPU 102 unter Verwendung eines beliebigen geeigneten Signalisierungsprotokolls kommunizieren, wie Peripheral Component Interconnect (PCI), PCI Express (PCIe), Universal Serial Bus (USB), Serial Attached SCSI (SAS), Serial ATA (SATA), Fibre Channel (FC), IEEE 802.3, IEEE 802.11 oder ein anderes aktuelles oder zukünftiges Signalisierungsprotokoll. In bestimmten Ausführungsformen können die I/O Steuereinheit 110 und die zugrundeliegende I/O Vorrichtung Daten und Befehle gemäß einer logischen Vorrichtungsschnittstellenspezifikation kommunizieren, wie Non-Volatile Express (NVMe) (z.B. wie von einer oder mehreren der unter www.nvmexpress.org/specifications verfügbaren Spezifikationen beschrieben) oder Advanced Host Controller Interface (AHCI) (z.B. wie von einer oder mehreren AHCI Spezifikationen beschrieben, wie Serial ATA AHCI: Specification, Rev. 1.3.1, verfügbar unter http://www.intel.com/ content/www/us/en/io/serial-ata/serial-ata-ahci-spec-rev1-3-1.html). In verschiedenen Ausführungsformen können I/O Vorrichtungen, die mit der I/O Steuereinheit gekoppelt sind, chipextern (d.h. nicht auf demselben Chip wie die CPU 102) angeordnet sein oder können auf demselben Chip integriert sein wie die CPU 102.
-
Die CPU Speichersteuereinheit 112 ist eine integrierte Speichersteuereinheit, die Logik umfasst, um den Datenfluss zu und von der einen oder den mehreren Systemspeichervorrichtungen 107 zu steuern. Die CPU Speichersteuereinheit 112 kann Logik aufweisen, die betreibbar ist, um aus einer Systemspeichervorrichtung 107 zu lesen, in eine Systemspeichervorrichtung 107 zu schreiben oder um andere Operationen von einer Systemspeichervorrichtung 107 anzufordern. In verschiedenen Ausführungsformen kann die CPU Speichersteuereinheit 112 Schreibanforderungen von den Kernen 114 und/oder der I/O Steuereinheit 110 empfangen und kann Daten, die in diesen Anforderungen spezifiziert werden, an die Systemspeichervorrichtung 107 zum Speichern darin liefern. Die CPU Speichersteuereinheit 112 kann auch Daten aus einer Systemspeichervorrichtung 107 lesen und die gelesenen Daten an die I/O Steuereinheit 110 oder einen Kern 114 liefern. Im Betrieb kann die CPU Speichersteuereinheit 112 Befehle erteilen, die eine oder mehrere Adressen der Systemspeichervorrichtung 107 aufweisen, um Daten aus dem Speicher zu lesen oder in diesen zu schreiben (oder um andere Operationen vorzunehmen). In einigen Ausführungsformen kann die CPU Speichersteuereinheit 112 auf demselben Chip wie die CPU 102 implementiert werden, während die CPU Speichersteuereinheit 112 in anderen Ausführungsformen auf einem anderen Chip als jenem der CPU 102 implementiert werden kann. Die I/O Steuereinheit 110 kann ähnliche Operationen in Bezug auf die eine oder die mehreren Speichervorrichtungen 106 vornehmen.
-
Die CPU 102 kann auch mit einer oder mehreren anderen I/O Vorrichtungen durch eine externe I/O Steuereinheit 104 gekoppelt sein. In einer besonderen Ausführungsform kann die externe I/O Steuereinheit 104 eine Speichervorrichtung 106 mit der CPU 102 koppeln. Die externe I/O Steuereinheit 104 kann Logik umfassen, um den Datenfluss zwischen einer oder mehreren CPUs 102 und I/O Vorrichtungen zu verwalten. In besonderen Ausführungsformen ist die externe I/O Steuereinheit 104 auf einer Mutterplatine zusammen mit der CPU 102 angeordnet. Die externe I/O Steuereinheit 104 kann Informationen mit Komponenten der CPU 102 unter Verwendung von Punkt-zu-Punkt- oder anderen Schnittstellen austauschen.
-
Eine Systemspeichervorrichtung 107 kann beliebige geeignete Daten speichern, wie Daten, die von dem Prozessor 108 verwendet werden, um die Funktionalität des Computersystems 100 bereitzustellen. Zum Beispiel können Daten, die mit Programmen assoziiert sind, welche ausgeführt werden, oder Dateien, auf die von den Kernen 114 zugegriffen wird, in der Systemspeichervorrichtung 107 gespeichert werden. Somit kann eine Systemspeichervorrichtung 107 einen Systemspeicher aufweisen, der Daten und/oder Sequenzen von Instruktionen speichert, die von den Kernen 114 ausgeführt oder auf andere Weise genutzt werden. In verschiedenen Ausführungsformen kann die Systemspeichervorrichtung 107 persistente Daten (z.B. Dateien eines Benutzers oder Instruktionssequenzen) speichern, die gespeichert bleiben, sogar nachdem die Stromversorgung für die Systemspeichervorrichtung 107 entfernt wird. Eine Systemspeichervorrichtung 107 kann für eine bestimmte CPU 102 dediziert sein oder mit anderen Vorrichtungen (z.B. einem oder mehreren anderen Prozessoren oder anderen Vorrichtungen) des Computersystems 100 gemeinsam genutzt werden.
-
In verschiedenen Ausführungsformen kann eine Systemspeichervorrichtung 107 einen Speicher aufweisen, der eine beliebige Anzahl von Speicher-Arrays, eine Speichervorrichtung-Steuereinheit und andere unterstützende Logik (nicht gezeigt) umfasst. Ein Speicher-Array kann einen nicht flüchtigen und/oder flüchtigen Speicher aufweisen. Ein nicht flüchtiger Speicher ist ein Speichermedium, das keinen Strom benötigt, um den Zustand von Daten aufrechtzuerhalten, die von dem Medium gespeichert werden. Nicht einschränkende Beispiele eines nicht flüchtigen Speichers können einen beliebigen oder eine Kombination umfassen von: einem Solid State Speicher (wie einem planaren oder 3D NAND Flash-Speicher oder NOR Flash-Speicher), einem 3D Crosspoint Speicher, Speichervorrichtungen, die Chalcogenid-Phasenänderungsmaterial (z.B. Chalcogenid-Glas) verwenden, byteadressierbaren nicht flüchtigen Speichervorrichtungen, einem ferroelektrischen Speicher, einem Silicium-Oxid-Nitrid-Oxid-Silicium- (SONOS) Speicher, einem Polymerspeicher (z.B. ferroelektrischen Polymerspeicher), einem Ferroelectric Transistor Random Access Memory (Fe-TRAM) Ovonic Memory, einem Nanodrahtspeicher, einem elektrisch löschbaren programmierbaren Nurlesespeicher (EEPROM), anderen verschiedenen Typen nicht flüchtiger Speicher mit wahlfreiem Zugriff (RAMs) und einem Magnetspeicher-Memory. In einigen Ausführungsformen kann ein 3D Crosspoint Speicher eine transistorlose stapelbare Crosspoint Architektur umfassen, in der Speicherzellen am Schnittpunkt von Wortleitungen und BLs sitzen und einzeln adressierbar sind, und in der das Speichern von Bits auf einer Änderung des Volumenwiderstands basiert. Ein flüchtiger Speicher ist ein Speichermedium, das Strom benötigt, um den Zustand von Daten aufrechtzuerhalten, die von dem Medium gespeichert werden. Beispiele eines flüchtigen Speichers können verschiedene Typen von Speichern mit wahlfreiem Zugriff (RAMs) umfassen, wie einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) oder statischen Speicher mit wahlfreiem Zugriff (SRAM). Ein bestimmter Typ eines DRAM, der in einem Speicher-Array verwendet werden kann, ist ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM). In einigen Ausführungsformen kann ein beliebiger Abschnitt des Speichers 107, der ein flüchtiger Speicher ist, JEDEC Standards entsprechen, umfassend, jedoch nicht beschränkt auf Double Data Rate (DDR) Standards, z.B. DDR3, 4 und 5, oder Low Power DDR4 (LPDDR4), sowie aufkommende Standards.
-
Eine Speichervorrichtung 106 kann beliebige geeignete Daten speichern, wie Daten, die von dem Prozessor 108 verwendet werden, um eine Funktionalität des Computersystems 100 bereitzustellen. Zum Beispiel können Daten, die mit Programmen assoziiert sind, welche ausgeführt werden, oder Dateien, auf die von den Kernen 114A und 114B zugegriffen wird, in der Speichervorrichtung 106 gespeichert werden. Somit kann in einigen Ausführungsformen eine Speichervorrichtung 106 Daten und/oder Sequenzen von Instruktionen speichern, die von den Kernen 114A und 114B ausgeführt oder auf andere Weise genutzt werden. In verschiedenen Ausführungsformen kann die Speichervorrichtung 106 persistente Daten (z.B. Dateien eines Benutzers oder einen Software-Anwendungscode) speichern, die gespeichert bleiben, sogar nachdem die Stromversorgung für die Speichervorrichtung 106 entfernt wird. Eine Speichervorrichtung 106 kann für eine CPU 102 dediziert sein oder mit anderen Vorrichtungen (z.B. einer anderen CPU oder anderen Vorrichtung) des Computersystems 100 gemeinsam genutzt werden.
-
In der dargestellten Ausführungsform umfasst die Speichervorrichtung 106 eine Speichervorrichtung-Steuereinheit 118 und einen Speicher 116, der vier Speichervorrichtungen 122A-D umfasst, die betreibbar sind, um Daten zu speichern, eine Speichervorrichtung kann jedoch eine beliebige geeignete Anzahl von Speichervorrichtungen aufweisen. Eine Speichervorrichtung 122A weist eine Vielzahl von Speicherzellen auf, die jeweils betreibbar sind, um ein oder mehrere Bits zu speichern. Die Zellen einer Speichervorrichtung 122A können in einer beliebigen geeigneten Weise angeordnet sein, wie in Zeilen (z.B. Wortleitungen oder WLs) und Spalten (z.B. Bitleitungen oder BLs), dreidimensionalen Strukturen und/oder in einer anderen Weise. In verschiedenen Ausführungsformen können die Zellen logisch in Bänke, Blöcke, Subblöcke, Ebenen, WLs, Seiten, Frames, Bytes oder andere geeignete Gruppen gruppiert sein. In verschiedenen Ausführungsformen umfasst eine Speichervorrichtung 122A ein oder mehrere NAND Flash-Speicher-Arrays.
-
Eine Speichervorrichtung 122A kann beliebige der im Vorstehenden aufgelisteten flüchtigen oder nicht flüchtigen Speicher oder einen anderen geeigneten Speicher umfassen. In bestimmten Ausführungsformen umfasst die Speichervorrichtung 122A einen nicht flüchtigen Speicher, wie einen planaren oder 3D NAND Flash-Speicher. In bestimmten Ausführungsformen kann eine Speichervorrichtung 122A mit einem nicht flüchtigen Speicher einem oder mehreren Standards für nicht flüchtige Speicher entsprechen, die von dem Joint Electron Device Engineering Council (JEDEC) veröffentlicht werden, wie JESD218, JESD219, JESD220-1, JESD220C, JESD223C, JESD223-1, oder einem anderen geeigneten Standard (die hier angeführten JEDEC Standards sind verfügbar unter www.jedec.org). In bestimmten Ausführungsformen umfasst die Speichervorrichtung einen NAND Flash-Speicher, welcher einem oder mehreren Abschnitten eines Standards entspricht, der von dem JEDEC für einen SDRAM Speicher veröffentlicht wird, wie JESD79F für Double Data Rate (DDR) SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM oder JESD79-4A für DDR4 SDRAM (diese Standards sind verfügbar unter www.jedec.org). Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden, und Kommunikationsschnittstellen der Speichervorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden. Zum Beispiel kann eine Speichervorrichtung 106, die einen NAND Flash-Speicher umfasst, einen Befehl empfangen, der ein Format aufweist, das einem DDR-basierten Standard entspricht, und kann den Befehl in einen oder mehrere Befehle übersetzen, die mit dem NAND Flash-Speicher der Speichervorrichtung 106 kompatibel sind. Ähnlich kann die Speichervorrichtung 106 Ergebnisse von Operationen, die auf dem NAND Flash-Speicher vorgenommen werden, in ein Format formatieren, das einem DDR-basierten Standard entspricht, bevor die Ergebnisse an die CPU 102 übertragen werden.
-
In einer bestimmten Ausführungsform ist eine Speichervorrichtung 122 eine Halbleiterpackung. In verschiedenen Ausführungsformen kann eine Halbleiterpackung ein Gehäuse umfassen, das einen oder mehrere Halbleiterchips (auch als Chips bezeichnet) (z.B. Halbleiterchips 123A-D) umfasst. Eine Packung kann auch Kontaktstifte oder Anschlüsse umfassen, die verwendet werden, um mit externen Schaltungen verbunden zu werden. Eine Packung ist jedoch nur eine Beispielform, die eine Speichervorrichtung 122 annehmen kann, da eine Speichervorrichtung eine beliebige geeignete Anordnung eines oder mehrerer Speicher-Arrays und assoziierter Logik in einer beliebigen geeigneten physischen Anordnung sein kann. Obwohl eine einzelne physische Packung eine einzelne Speichervorrichtung 122 aufweisen kann, könnten zum Beispiel mehrere Speichervorrichtungen 122 auf einer einzelnen Packung resident sein oder ein Speicher 122 könnte quer über mehrere Packungen verteilt sein.
-
Ein Speicher 116 kann in einem oder mehreren verschiedenen physischen Medien verkörpert sein, wie einer Leiterplatte, einem Chip, einem Plattenlaufwerk, einem anderen Medium oder einer beliebigen Kombination davon (oder Kombination mit einer oder mehreren Packungen). In einer bestimmten Ausführungsform umfasst ein Speicher 116 eine Leiterplatte, die mit einer Vielzahl von Speichervorrichtungen 122 gekoppelt ist, welche jeweils eine Halbleiterpackung umfassen.
-
Die Speichervorrichtung 106 kann einen beliebigen Typ eines Speichers umfassen und ist nicht auf eine bestimmte Geschwindigkeit, Technologie oder einen Formfaktor eines Speichers in verschiedenen Ausführungsformen beschränkt. Zum Beispiel kann eine Speichervorrichtung 106 ein Plattenlaufwerk sein (wie ein Solid State Laufwerk), ein Flash-Laufwerk, ein Speicher, der mit einer Rechnervorrichtung integriert ist (z.B. Speicher, der auf einer Leiterplatte der Rechnervorrichtung integriert ist), ein Speichermodul (z.B. ein Dual In-line Speichermodul), das in einen Speichersockel eingesetzt werden kann, oder ein anderer Typ einer Speichervorrichtung. Außerdem kann das Computersystem 100 mehrere verschiedene Typen von Speichervorrichtungen aufweisen. Die Speichervorrichtung 106 kann eine beliebige geeignete Schnittstelle aufweisen, um mit der CPU Speichersteuereinheit 112 oder I/O Steuereinheit 110 unter Verwendung eines beliebigen geeigneten Kommunikationsprotokolls, wie einem DDR-basierten Protokoll, PCI, PCIe, USB, SAS, SATA, FC, System Management Bus (SMBus), oder eines anderen geeigneten Protokolls zu kommunizieren. Eine Speichervorrichtung 106 kann auch eine Kommunikationsschnittstelle aufweisen, um mit der CPU Speichersteuereinheit 112 oder I/O Steuereinheit 110 gemäß einer beliebigen geeigneten logischen Vorrichtungsschnittstellenspezifikation, wie NVMe, AHCI, oder einer anderen geeigneten Spezifikation zu kommunizieren. In bestimmten Ausführungsformen kann die Speichervorrichtung 106 mehrere Kommunikationsschnittstellen umfassen, die jeweils unter Verwendung eines geeigneten Protokolls mit der CPU Speichersteuereinheit 112 und/oder I/O Steuereinheit 110 kommunizieren.
-
Die Speichervorrichtung-Steuereinheit 118 kann Logik aufweisen, um Anforderungen von der CPU 102 (z.B. über die CPU Speichersteuereinheit 112 oder I/O Steuereinheit 110) zu empfangen, bewirken, dass die Anforderungen in Bezug auf einen Speicher 116 (oder Speichervorrichtung(en) und/oder Speicherchip(s) davon) durchgeführt werden, und Daten, die mit den Anforderungen an die CPU 102 assoziiert sind, liefern (z.B. über die CPU Speichersteuereinheit 112 oder I/O Steuereinheit 110). Die Steuereinheit 118 kann auch betreibbar sein, um Fehler zu detektieren und/oder zu korrigieren, die während der Speicheroperation aufgefunden werden. In einer Ausführungsform verfolgt die Steuereinheit 118 auch die Anzahl von Malen, die in bestimmte Zellen (oder logische Gruppierungen von Zellen) geschrieben wurde, um einen Abnutzungsausgleich vorzunehmen und/oder um zu detektieren, wenn sich Zellen einer geschätzten Anzahl von Malen nähern, die in sie zuverlässig geschrieben werden kann. Beim Vornehmen eines Abnutzungsausgleichs kann die Speichervorrichtung-Steuereinheit 118 Schreiboperationen unter Blöcken des Speichers einer Speichers 116 gleichmäßig verteilen, so dass in bestimmte Blöcke nicht mehr als in andere Blöcke geschrieben wird. In verschiedenen Ausführungsformen kann die Steuereinheit 118 auch verschiedene Charakteristiken der Speichervorrichtung 106 überwachen, wie die Temperatur oder Spannung, und assoziierte Statistiken an die CPU 102 berichten. Die Speichervorrichtung-Steuereinheit 118 kann auf derselben Leiterplatte oder Vorrichtung wie ein Speicher 116 oder auf einer anderen Leiterplatte oder Vorrichtung implementiert sein. Zum Beispiel kann in einigen Umgebungen die Speichervorrichtung-Steuereinheit 118 eine zentralisierte Speichersteuereinheit sein, die Speicheroperationen für mehrere verschiedene Speicher 116 (welche jeweils von demselben Speichertyp sein können oder andere Typen sein können) des Computersystems 100 verwaltet (und kann somit eine hier beschriebene Speichervorrichtung-Steuereinheit-Funktionalität für einen beliebigen der Speicher bereitstellen, mit denen sie gekoppelt ist).
-
In verschiedenen Ausführungsformen umfasst die Speichervorrichtung 106 auch eine Adressenübersetzungsmaschine 120. In der dargestellten Ausführungsform ist die Adressenübersetzungsmaschine 120 als Teil der Speichervorrichtung-Steuereinheit 118 gezeigt, obwohl die Adressenübersetzungsmaschine 120 in verschiedenen Ausführungsformen von der Speichervorrichtung-Steuereinheit 118 getrennt und mit der Speichervorrichtung-Steuereinheit 118 kommunikativ gekoppelt sein kann. In verschiedenen Ausführungsformen kann die Adressenübersetzungsmaschine 120 auf demselben Chip oder derselben Packung wie die Speichervorrichtung-Steuereinheit 118 oder auf einem anderen Chip oder einer anderen Packung integriert sein.
-
In verschiedenen Ausführungsformen kann die Adressenübersetzungsmaschine 120 Logik aufweisen, um ein Mapping zwischen einem logischen Adressenraum (z.B. einem Adressenraum, der für eine Host-Rechnervorrichtung sichtbar ist, die mit der Speichervorrichtung 106 gekoppelt ist) und dem physischen Adressenraum des Speichers 116 der Speichervorrichtung 106 (die für die Host-Rechnervorrichtung exponiert sein kann oder nicht) zu speichern und zu aktualisieren. Der logische Adressenraum kann eine Vielzahl von logischen Gruppen von Daten exponieren, welche physisch auf entsprechenden physischen Gruppen von Speichern gespeichert sind, die durch den physischen Adressenraum der Speichervorrichtung 106 adressierbar sind. Eine physische Adresse des physischen Adressenraums kann beliebige geeignete Informationen umfassen, die einen physischen Speicherort (z.B. einen Ort innerhalb eines Speicher-Arrays eines Speichers 116) der Speichervorrichtung 106 identifizieren, wie einen Identifikator des Speichers 116, auf dem der physische Speicherort lokalisiert ist, einen Identifikator der Speichervorrichtung 122A, auf welcher der physische Speicherort lokalisiert ist, eine oder mehrere Seiten des physischen Speicherorts, einen oder mehrere Subblöcke des physischen Speicherorts, eine oder mehrere WLs des physischen Speicherorts, eine oder mehrere BLs des physischen Speicherorts oder andere geeignete Identifikatoren oder Codierungen davon.
-
In verschiedenen Ausführungsformen weist die Speichervorrichtung 106 auch Programmsteuerlogik 124 auf, die allein oder in Kombination mit einer Speichervorrichtung-Steuereinheit 126 betreibbar ist, um die Programmierungssequenz zu steuern, die vorgenommen wird, wenn Daten in einen Speicher 116 geschrieben werden, die Lesesequenz, die vorgenommen wird, wenn Daten aus einem Speicher 116 gelesen werden, oder eine Löschsequenz, wenn Daten aus einem Speicher 116 gelöscht werden. In verschiedenen Ausführungsform kann die Programmsteuerlogik 124 in Speicherschaltungen enthalten sein und kann die verschiedenen Spannungen liefern (oder Informationen, die anzeigen, welche Spannungen geliefert werden sollen), die an eine oder mehrere Speicherzellen, WLs, BLs und/oder andere Abschnitte eines Speicher-Arrays während der Programmierung, des Lesens und/oder des Löschens von Daten angelegt werden, eine Fehlerkorrektur vornehmen und andere geeignete Funktionen vornehmen.
-
In verschiedenen Ausführungsformen kann die Programmsteuerlogik 124 auf demselben Chip integriert sein wie die Speichervorrichtung-Steuereinheit 118 oder auf einem anderen Chip. In der dargestellten Ausführungsform ist die Programmsteuerlogik 124 als Teil der Speichervorrichtung-Steuereinheit 118 gezeigt, obwohl in verschiedenen Ausführungsformen die gesamte oder ein Teil der Programmsteuerlogik 124 von der Speichervorrichtung-Steuereinheit 118 getrennt sein kann und kommunizierbar mit der Speichervorrichtung-Steuereinheit 118 gekoppelt sein kann. Zum Beispiel kann die gesamte oder ein Teil der Programmsteuerlogik 124 auf derselben Packung oder demselben Chip lokalisiert sein wie ein Speicher 116 und/oder Speichervorrichtungen 122A-D.
-
In einigen Ausführungsformen sind alle oder ist ein Teil der Elemente des Systems 100 auf derselben Leiterplatte resident (oder damit gekoppelt) (z.B. einer Mutterplatine). In verschiedenen Ausführungsformen kann eine beliebige geeignete Partitionierung zwischen den Elementen vorhanden sein. Zum Beispiel können die in der CPU 102 dargestellten Elemente auf einem einzelnen Chip (d.h. chipintern) oder einer Packung lokalisiert sein, oder ein beliebiges der Elemente der CPU 102 kann chipextern oder packungsextern lokalisiert sein. Ähnlich können die in der Speichervorrichtung 106 dargestellten Elemente auf einem einzelnen Chip oder auf mehreren Chips lokalisiert sein. In verschiedenen Ausführungsformen können eine Speichervorrichtung 106 und eine Host-Rechnervorrichtung (z.B. CPU 102) auf derselben Leiterplatte oder auf derselben Vorrichtung lokalisiert sein, und in anderen Ausführungsformen können die Speichervorrichtung 106 und die Host-Rechnervorrichtung auf anderen Leiterplatten oder Vorrichtungen lokalisiert sein.
-
Die Komponenten des Systems 100 können in einer beliebigen geeigneten Weise miteinander gekoppelt sein. Zum Beispiel kann ein Bus beliebige der Komponenten miteinander koppeln. Ein Bus kann eine beliebige bekannte Zwischenverbindung umfassen, wie einen Multi-drop Bus, eine Mesh-Zwischenverbindung, eine Ringzwischenverbindung, eine Punkt-zu-Punkt-Zwischenverbindung, eine serielle Zwischenverbindung, einen parallelen Bus, einen kohärenten (z.B. Cache-kohärenten) Bus, eine geschichtete Protokollarchitektur, eine Differentialbus und einen Gunning Transceiver Logik (GTL) Bus. In verschiedenen Ausführungsformen umfasst ein integriertes I/O Subsystem Punkt-zu-Punkt-Multiplexing-Logik zwischen verschiedenen Komponenten des Systems 100, wie Kernen 114, einer oder mehreren CPU Speichersteuereinheiten 112, der I/O Steuereinheit 110, integrierten I/O Vorrichtungen, Logik mit direktem Speicherzugriff (DMA) (nicht gezeigt) usw. In verschiedenen Ausführungsformen können Komponenten des Computersystems 100 miteinander durch ein oder mehrere Netze gekoppelt sein, die eine beliebige Anzahl von intervenierenden Netzknoten umfassen, wie Router, Schalter oder andere Rechnervorrichtungen. Zum Beispiel können eine Host-Rechnervorrichtung (z.B. CPU 102) und die Speichervorrichtung 106 durch ein Netz kommunizierbar gekoppelt sein.
-
Obwohl nicht dargestellt, kann das System 100 eine Batterie und/oder einen Energiezufuhr-Auslassanschluss und ein assoziiertes System, um Energie zu empfangen, eine Anzeige, um von der CPU 102 gelieferte Daten auszugeben, oder eine Netzschnittstelle umfassen, die es der CPU 102 gestattet, über ein Netz zu kommunizieren. In verschiedenen Ausführungsformen können die Batterie, der Energiezufuhr-Auslassanschluss, die Anzeige und/oder die Netzschnittstelle kommunikativ mit der CPU 102 gekoppelt sein. Andere Energiequellen können verwendet werden, wie erneuerbare Energie (z.B. Solarenergie oder bewegungsbasierte Energie).
-
2 veranschaulicht einen Beispielabschnitt eines NAND Flash-Speicher-Arrays 200 gemäß bestimmten Ausführungsformen. In verschiedenen Ausführungsformen umfasst die Speichervorrichtung 122A ein Array 200 von Speicherzellen, die logisch in Zeilen und Spalten angeordnet sind. Speicherzellen einer logischen Zeile werden typischerweise mit derselben Zugriffsleitung (allgemein als WL bezeichnet) verbunden, während Speicherzellen einer logischen Spalt typischerweise selektiv mit derselben Datenleitung (allgemein als BL bezeichnet) verbunden werden. In einigen Ausführungsformen kann ein einzelne Zugriffsleitung mit mehr als einer logischen Zeile von Speicherzellen assoziiert sein, und eine einzelne Datenleitung kann mit mehr als einer logischen Spalte assoziiert sein. Speicherzellen des Arrays sind in der Lage, auf einen oder mindestens zwei Datenzustände (z.B. Programmebenen) programmiert zu werden.
-
Das Speicher-Array 200 umfasst Zugriffsleitungen, wie WLs 2020 bis 202N, und Datenleitungen, wie BLs 2040 bis 204M. In einigen Ausführungsformen können die WLs 202 mit globalen Zugriffsleitungen (z.B. globalen WLs) in einer Viele-zu-einer-Beziehung verbunden sein.
-
Das Speicher-Array 200 kann in Zeilen (die jeweils einer WL 202 entsprechen) und Spalten (die jeweils einer BL 204 entsprechen) angeordnet sein. Jede Spalte kann eine Kette von in Serie verbundenen Speicherzellen aufweisen, wie eine von NAND Ketten 2060 bis 206M. Jede NAND Kette 206 kann mit einer gemeinsamen Source 216 verbunden werden (selektiv verbunden werden) und kann eine Vielzahl von Speicherzellen aufweisen. Zum Beispiel umfasst die NAND Kette 2060 Speicherzellen 2080 bis 208N. Die Speicherzellen 208 repräsentieren nicht flüchtige Speicherzellen zum Speichern von Daten. Die Speicherzellen 208 jeder NAND Kette 206 können in Serie zwischen einem Auswahltransistor 210 (z.B. einem Feldeffekttransistor), wie einem der Auswahltransistoren 2100 bis 210M (z.B. die jeweils ein Source-Auswahltransistor sein können), und einem Auswahltransistor 212 (z.B. einem Feldeffekttransistor), wie einem der Auswahltransistoren 2120 bis 212M (z.B. die jeweils ein Drain-Auswahltransistor sein können), verbunden sein. Die Auswahltransistoren 2100 bis 210M können gemeinsam mit einer Auswahlleitung 214 oder einer Auswahl-Gate-Source (SGS) verbunden sein, wie einer Source-Auswahlleitung, und die Auswahltransistoren 2120 bis 212M können gemeinsam mit einer Auswahlleitung 215 oder einem Auswahl-Gate-Drain (SGD), wie einer Drain-Auswahlleitung, verbunden sein. In einer besonderen Ausführungsform kann ein SGD mit den Drain-Auswahltransistoren eines gesamten Subblocks gekoppelt sein (und jeder Subblock kann seine eigene Drain-Auswahlleitung aufweisen), während eine SGS mit den Source-Auswahltransistoren eines gesamten Blocks gekoppelt sein kann (und jeder Block kann seine eigene Source-Auswahlleitung aufweisen).
-
Eine Source jedes Auswahltransistors 210 kann mit einer gemeinsamen Source-Leitung (SRC) 216 verbunden sein. Der Drain jedes Auswahltransistors 210 kann mit einer Speicherzelle 2080 der entsprechenden NAND Kette 206 verbunden sein. Zum Beispiel kann der Drain des Auswahltransistors 2100 mit der Speicherzelle 2080 der entsprechenden NAND Kette 2060 verbunden sein. Daher kann jeder Auswahltransistor 210 dafür ausgelegt sein, um selektiv eine entsprechende NAND Kette 206 mit einer gemeinsamen Source 216 zu koppeln. Ein Steuergate jedes Auswahltransistors 210 kann mit der Auswahlleitung 214 verbunden sein.
-
Der Drain jedes Auswahltransistors 212 kann mit der BL 204 für die entsprechende NAND Kette 206 verbunden sein. Zum Beispiel kann der Drain des Auswahltransistors 2120 mit der BL 2040 für die entsprechende NAND Kette 2060 verbunden sein. Die Source jedes Auswahltransistors 212 kann mit einer Speicherzelle der entsprechenden NAND Kette 206 verbunden sein. Zum Beispiel kann die Source des Auswahltransistors 2120 mit der Speicherzelle 208N der entsprechenden NAND Kette 2060 verbunden sein. Daher kann jeder Auswahltransistor 212 dafür ausgelegt sein, um selektiv eine entsprechende NAND Kette 206 mit einer entsprechenden BL 204 zu verbinden. Ein Steuer-Gate jedes Auswahltransistors 212 kann mit der Auswahlleitung SGD 215 verbunden sein.
-
Das Speicherzellen-Array in 2 kann ein quasizweidimensionales Speicher-Array sein und kann eine allgemein planare Struktur aufweisen, z.B. wo sich die gemeinsame Source 216, die NAND Ketten 206 und die BLs 204 in im Wesentlichen parallelen Ebenen erstrecken. Alternativ dazu kann das Speicher-Array in 2 ein dreidimensionales Speicher-Array sein, z.B. wo sich die NAND Ketten 206 im Wesentlichen senkrecht zu einer Ebene erstrecken können, welche die gemeinsame Source SRC 216 enthält, und zu einer Ebene, welche die BLs 204 enthält (die im Wesentlichen parallel zu der Ebene sein kann, welche die gemeinsame Source 216 enthält).
-
Eine typische Konstruktion von Speicherzellen 208 umfasst eine Datenspeicherstruktur 234 (z.B. ein schwebendes Gate, eine Ladungsfangstelle usw.), die einen Datenzustand der Zelle (z.B. durch Änderungen in der Schwellenspannung) aufrechterhält, und ein Steuer-Gate 236. In einigen Fällen können die Speicherzellen 208 ferner eine definierte Source 230 und einen definierten Drain 232 aufweisen. Die Speicherzellen 208 haben ihre Steuer-Gates 236 mit einer WL 202 verbunden (und bilden diese in einigen Fällen).
-
Eine Spalte der Speicherzellen 208 ist eine oder mehrere NAND Ketten 206, die selektiv mit einer gegebenen BL 204 verbunden sind. Eine Zeile der Speicherzellen 208 sind Speicherzellen, die gemeinsam mit einer gegebenen WL 202 verbunden sind. Eine Zeile der Speicherzellen 208 kann, muss aber nicht alle Speicherzellen 208 aufweisen, die gemeinsam mit einer gegebenen WL 202 verbunden sind. Zeilen der Speicherzellen 208 können häufig in eine oder mehrere Gruppen physischer Seiten der Speicherzellen 208 geteilt sein, und physische Seiten der Speicherzellen 208 weisen häufig jede zweite Speicherzelle 208 gemeinsam mit einer gegebenen WL 202 verbunden auf. Zum Beispiel können die Speicherzellen 208, die gemeinsam mit der WL 202N verbunden sind und selektiv mit geradzahligen BLs 204 (z.B. BLs 2040, 2042, 2044 usw.) verbunden sind, eine physische Seite der Speicherzellen 208 sein (z.B. geradzahligen Speicherzelle), während die Speicherzellen 208, die gemeinsam mit der WL 202N verbunden sind und selektiv mit ungeradzahligen BLs 204 (z.B. BLs 2041, 2043, 2045 usw.) verbunden sind, eine andere physische Seite der Speicherzellen 208 sein können (z.B. ungeradzahlige Speicherzellen). Obwohl die BLs 2043-2045 nicht ausdrücklich in 2 gezeigt sind, geht aus der Figur hervor, dass die BLs 204 des Arrays von Speicherzellen 200 konsekutiv von BL 2040 bis BL 204M nummeriert sein können. Andere Gruppierungen der Speicherzellen 208, die gemeinsam mit einer gegebenen WL 202 verbunden sind, können auch eine physische Seite der Speicherzellen 208 definieren. Für bestimmte Speichervorrichtungen können alle Speicherzellen, die gemeinsam mit einer gegebenen WL verbunden sind, als physische Seite angesehen werden. Für bestimmte Speichervorrichtungen können alle Speicherzellen eines bestimmten Subblocks, die gemeinsam mit einer gegebenen WL verbunden sind, als physische Seite angesehen werden. Zum Beispiel können Speicherzellen, die mit einer bestimmten WL in einem Subblock gekoppelt sind, eine erste physische Seite umfassen, Speicherzellen, die mit der bestimmten WL in einem zweiten Subblock gekoppelt sind, können eine zweite physische Seite umfassen, usw. Ein Bit von jeder Speicherzelle einer physischen Seite kann als logische Seite angesehen werden. Somit kann eine einzelne physische Seite mehrere logische Seiten speichern (z.B. kann ein TLC Schema drei logische Seiten in einer einzelnen physischen Seite speichern).
-
Beim Abfühlen (z.B. Lesen) eines Datenzustands einer ausgewählten (z.B. Ziel-) Speicherzelle wird die Speicherzelle ansprechend auf einen bestimmten Spannungspegel selektiv aktiviert, der an ihr Steuer-Gate angelegt wird, während Stromwege von der Speicherzelle zu der Datenleitung und zu der Source hergestellt werden, wodurch ein Stromfluss, oder ein Fehlen davon, zwischen der Datenleitung und der Source ermöglicht wird, um anzuzeigen, ob die Speicherzelle ansprechend auf den bestimmten Spannungspegel aktiviert wurde, der an ihr Steuer-Gate angelegt wird. Zum Beispiel kann für eine Abfühloperation der ausgewählten Speicherzelle 208x+1 der NAND Kette 2060 eine Abfühlspannung (z.B. eine Lesespannung oder eine Verifikationsspannung) an das Steuer-Gate der Speicherzelle 208x+1 angelegt werden, während Spannungspegel an die Steuer-Gates der Speicherzellen 2080 bis 208x und 208x+2 bis 208N der NAND Kette 2060 angelegt werden, die ausreichend sind, um diese Speicherzellen ungeachtet ihrer Datenzustände zu aktivieren, und während Spannungspegel an die Steuer-Gates der Auswahltransistoren 2100 und 2120 angelegt werden, die ausreichend sind, um diese Transistoren zu aktivieren. Eine Abfühloperation, die bestimmt, ob die Speicherzelle 208x+1 ansprechend auf eine oder Abfühlspannungen aktiviert wird, kann ein oder mehrere Bits des in dieser Speicherzelle gespeicherten Datenzustands anzeigen. In verschiedenen Ausführungsformen kann jede Speicherzelle 208 gemäß einem SLC, MLC, TLC, einem QLC oder anderen Codierungsschema programmiert werden. Die Schwellenspannung (Vt) jeder Zelle zeigt die Daten an, die in der Zelle gespeichert sind.
-
Obwohl verschiedenen Ausführungsformen in Bezug auf einen bestimmten Typ eines Speicher-Arrays (z.B. ein NAND Flash-Speicher-Array) beschrieben wurden, können die Lehren der verschiedenen Ausführungsformen gleichermaßen auf einen beliebigen Typ von Speicher-Arrays (z.B. AND Arrays, NOR Arrays usw.) anwendbar sein, einschließlich der hier angeführten oder ähnlicher Speicher-Arrays.
-
3 veranschaulicht Beispiele von Codierungen von Bits innerhalb von NAND Flash-Speicherzellen 208 gemäß bestimmten Ausführungsformen. In der dargestellten Ausführungsform repräsentiert jede elliptische Region einen Bereich von Schwellenspannungen, die dem Wert entsprechen, der innerhalb der Zelle codiert ist. Zum Beispiel entsprechen in dem SLC Codierungsschema niedrigere Schwellenspannungen dem Bit-Wert 1, und höhere Schwellenspannungen entsprechen dem Bit-Wert 0. Als weiteres Beispiel entspricht in dem MLC Codierungsschema der niedrigste Bereich von Schwellenspannungen „11“, und der höchste Bereich von Schwellenspannungen entspricht „01“, der nächsthöchste Bereich von Schwellenspannungen entspricht ,,00", und der höchste Bereich von Schwellenspannungen entspricht „10“. Ähnlich entsprechen für das TLC Codierungsschema (andere nicht gezeigte Codierungsschemata) verschiedene Bereiche von Schwellenspannungen verschiedenen Werten der Bits, die innerhalb jeder Zelle codiert sind.
-
Eine Programmebene kann sich auf eine der dargestellten elliptischen Regionen beziehen. Mit anderen Worten, eine Programmebene kann einer der Bit-Codierungen entsprechen, die in dem Codierungsschema verwendet werden. Wenn eine Zelle den Wert zu speichern hat, der von dem niedrigsten Spannungsbereich repräsentiert wird, muss im Allgemeinen die Zelle nicht programmiert werden (da sie in ihrem gelöschten Zustand bereits eine Schwellenspannung in der niedrigsten Spannungsregion aufweist). Demgemäß wird, wie hier verwendet, die nächstniedrigste Region (z.B. „01“ des MLC Schemas oder „011“ des TLC Schemas) als erste Programmebene bezeichnet, die nächste Region (z.B. „00“ des MLC Schemas oder „001“ des TLC Schemas) wird als zweite Programmebene bezeichnet, usw. Gemäß dieser Terminologie hat das MLC Schema drei Programmebenen, das TLC Schema hat sieben Programmebenen, und das QLC Schema hat fünfzehn Programmebenen. Wenn Daten (z.B. eine oder mehrere Seiten) in den Speicher 116 geschrieben werden, kann eine Vielzahl der Zellen auf eine erste Programmebene programmiert werden, eine Vielzahl der Zellen kann auf eine zweite Programmebene programmiert werden, usw.
-
Die verschiedenen R Spannungswerte, die in 3 dargestellt werden (z.B. R1, R2, R3, ...), repräsentieren Lesespannungen, die an eine WL angelegt werden können, wenn die Werte von Zellen, die mit dieser WL gekoppelt sind, gelesen werden. Wenn eine bestimmte Lesespannung angelegt wird, können Abfühlschaltungen bestimmen, ob der Schwellenwert einer Zelle größer ist als oder kleiner ist als die Lesespannung, auf der Basis einer Spannung oder eines Stroms, die oder der von den Abfühlschaltungen über die BL der Zelle abgefühlt wird. Obwohl in 3 nicht gezeigt, kann ein QLC Codierungsschema ein ähnliches Schema verwenden, wo fünfzehn Lesespannungen verwendet werden können, um die Werte von vier Bits innerhalb jeder Zelle aufzulösen, wobei R1 < R2 < R3 < ... < R15.
-
Die dargestellten verschiedenen Programmverifikationsspannungen (PV1-PV3 in dem MLC Codierungsschema und PV1-PV7 in dem TLC Codierungsschema) repräsentieren Programmverifikationsspannungen, die an eine Zelle während der Programmierung der Zelle angelegt werden können (z.B. während einer Programmverifikationsoperation), um zu bestimmen, ob die Schwellenspannung der Zelle ihren gewünschten Pegel erreicht hat. Wenn zum Beispiel in dem MLC Codierungsschema die Zelle auf „01“ zu programmieren ist (d.h. Programmebene 1), kann dann PV1 an die Zelle während einer Verifikationsprozedur angelegt werden, und wenn Abfühlschaltungen bestimmen, dass die Schwellenspannung der Zelle größer ist als PV1, wird dann angenommen, dass die Zelle die Programmierung durchlaufen hat. Wenn die Schwellenspannung der Zelle kleiner ist als PV1, wird angenommen, dass die Zelle die Programmierung nicht durchlaufen hat, und die Speichervorrichtung 106 kann versuchen, den Spannungspegel der Zelle zu erhöhen oder kann die Zelle ausfallen lassen und kann später eine Fehlerkorrektur an der Zelle versuchen. Wenn als weiteres Beispiel die Zelle auf „00“ zu programmieren ist (d.h. Programmebene 2), kann dann PV2 an die Zelle während einer Verifikationsprozedur angelegt werden, und wenn Abfühlschaltungen bestimmen, dass die Schwellenspannung der Zelle größer ist als PV2, wird dann angenommen, dass die Zelle die Programmierung durchlaufen hat. Wenn die Zelle auf „10“ zu programmieren ist (d.h. Programmebene 3), kann dann ähnlich PV3 an die Zelle während einer Verifikationsprozedur angelegt werden. Beliebige geeignete Programmverifikationsspannungen können für beliebige der Codierungsschemata verwendet werden. In bestimmten Ausführungsformen, und wie dargestellt, kann die Programmverifikationsspannung auf einen Wert eingestellt werden, der am oder nahe beim Beginn des entsprechenden Schwellenspannungsbereichs liegt. In verschiedenen Ausführungsformen kann ein gewisser Spielraum zwischen einer Programmverifikationsspannung und einer entsprechenden Lesepegelspannung vorhanden sein, um einen geringfügigen Schwellenspannungsabfall über die Zeit zu gestatten und um die Abfühlgenauigkeit zu verbessern. Die Figur zeigt zum Beispiel einen Spielraum zwischen R1 und PV1, einen Spielraum zwischen R2 und PV2 usw.
-
In bestimmten Ausführungsformen können Zellen mit einer oder mehreren Seiten (z.B. logischen Seiten) zu einer Zeit programmiert werden, wobei eine Seite in einer Gruppe von Zellen gespeichert wird (z.B. einer physischen Seite), die mit derselben WL gekoppelt sind. Zum Beispiel kann die Gruppe von Zellen, die programmiert wird, von einer bestimmten WL und einem bestimmten Subblock identifiziert werden. Die Gruppe von Zellen kann eine Seite von Daten (wenn die Zellen gemäß einem SLC Schema codiert werden) oder mehrere Seiten von Daten (wenn die Zellen gemäß einem MLC, TLC, QLC oder anderen mehrstufigen Codierungsschema codiert werden) speichern.
-
4 zeigt Speicherzellen eines Speicher-Arrays, die in eine Vielzahl von Subblöcken (Subblöcke 404A - 404N) angeordnet sind, gemäß bestimmten Ausführungsformen. In einer bestimmten Ausführungsform können Speicherzellen eines Arrays 200 des Chips 123 in Subblöcke und Blöcke angeordnet werden. Als Beispiel kann ein Subblock eine Anzahl von Reihenschaltungen umfassen, und ein Block kann eine Anzahl von Subblöcken umfassen. In verschiedenen Ausführungsformen wird eine Source-Auswahlleitung (gesteuert von dem Source-Gate-Auswahlsignal SGS) von jeder Reihenschaltung eines Blocks gemeinsam genutzt, und jede Reihenschaltung eines bestimmten Subblocks nutzt eine Drain-Auswahlleitung (gesteuert von dem Drain-Gate-Auswahlsignal SGD) mit jedem Subblock gemeinsam, der seine eigene Drain-Auswahlleitung aufweist.
-
In einer bestimmten Ausführungsform kann ein Subblock eine einzelne physische Speicherseite für jede WL des Subblocks enthalten (in anderen Ausführungsformen kann ein Subblock mehrere physische Speicherseiten für jede WL enthalten). Somit kann ein Speicherblock in eine große Anzahl physischer Seiten geteilt werden. Wie im Vorstehenden beschrieben, kann eine logische Seite eine Programmierungs- oder Leseeinheit sein, die eine Anzahl von Bits gleich der Anzahl von Zellen in einer physischen Seite enthält. In einem Speicher, der ein Bit pro Zelle speichert (z.B. einem SLC Speicher), speichert eine physische Seite eine logische Datenseite. In einem Speicher, der zwei Bits pro Zelle speichert (z.B. einem MLC Speicher), speichert eine physische Seite zwei logische Seiten.
-
5 veranschaulicht ein Beispiel einer perspektivischen Ansichtsdarstellung einer Kachel 500 von 3D NAND Flash-Speicher-Arrays, wie einem Stapel von Arrays ähnlich dem Array 200 von 2. Eine Kachel von Speicherblöcken umfasst einige Speicherblöcke, z.B. 200 Blöcke, wobei jeder Block aus einem Stapel (z.B. einem 32-lagigen Stapel) von Speicherzellenseiten besteht. Jeder Speicherzellenblock 502 umfasst einen WL Stapel, wobei jeder Stapel eine Vielzahl von WLs 202 und eine Vielzahl von Zwischenschichtdielektrika/dazwischenliegenden dielektrischen Schichten 505 aufweist. Die WLs 202 sind zwischen den Zwischenschichtdielektrika 505 (kollektiv einem WL Stapel 508) in einer abwechselnden Weise angeordnet, gemäß einer Ausführungsform. Die WLs 202 sind vereinfachte Darstellungen einer Anzahl von WLs (z.B. 32 WLs oder mehr), die in einem NAND 3D Speicher-Array enthalten sein können, wie einem NAND 3D Speicher-Array, das 2 entspricht. Mindestens einige WLs 202 können den WLs 202 von 2 entsprechen. Die WLs 202 sind leitfähige Schichten, wie Silicium-Schichten oder Polysilicium-Schichten, gemäß einer Ausführungsform. Die Zwischenschichtdielektrika 505 sind vereinfachte Darstellungen einer Anzahl dielektrischer Schichten, die verwendet werden können, um die WLs 202 zu trennen, gemäß einer Ausführungsform. Die Zwischenschichtdielektrika 505 können Oxid-Schichten aufweisen, gemäß einer Ausführungsform. Mit weiterer Bezugnahme auf 5 umfasst die Kachel 500 ferner Bitleitungen 204a und Kontaktleitungen 204b und 204c, die sich in der gezeigten Ausführungsform im Wesentlichen senkrecht zu den WLs 202 oder Blöcken 502 erstrecken.
-
Die Kachel 500 von 5 wird von einer Substratstruktur 522 mit einer Isolierschicht (nicht gezeigt) gestützt, welche die gezeigte Kachel 500 umgibt. Die Isolierschicht kann aus einem Isoliermaterial gebildet sein, wie einer dielektrischen Bonding-Schicht, die eine vorherbestimmte Dicke aufweist und zum Beispiel mindestens eines von zum Beispiel SiO, SiN, SiCN, SiOC, SiON und SiOCN umfasst.
-
Die Kachel 500 ist auf einer Substratstruktur oder einem Substrat 522 angeordnet, wie einem Silicium-Substrat, das darin Steuerschaltungen (nicht gezeigt) aufweist, wie Steuerschaltungen, die Transistoren, Zeilendecoder, Seitenpuffer usw. umfassen. Säulen 513 sind angeordnet, um die Stapel zu penetrieren und um Kanäle CH zu definieren. Erste Kontaktstrukturen 514a verbinden BLs 204 mit jeweiligen Kanälen CH und koppeln somit die BLs 204a mit entsprechenden Speicherzellen 208, die von den Kanäle CH definiert werden. Die Speicherzellen 208 können den Speicherzellen 208 von 2 entsprechen. Die BLs 204a können den BLs 204 von 2 entsprechen. Zweite Kontaktstrukturen 514b sind dafür ausgelegt, um ein Signal an die WLs 202 anzulegen, und sind mit Kontaktleitungen 204b verbunden, wie gezeigt. Dritte Kontaktstrukturen 514c sind dafür ausgelegt, um Kontaktleitungen (von denen eine gezeigt ist) 204c direkt mit Steuerschaltungen innerhalb der Substratstruktur 522 zu verbinden. Die Steuerschaltungen der Substratstruktur 522 können zum Beispiel Schaltungen einer Steuereinheit umfassen, wie der Steuereinheit 126 von 1, Schaltungen einer Speichervorrichtung-Steuereinheit, wie der Speichervorrichtung-Steuereinheit 118 von 1, die Programmsteuerlogik 124 aufweist. Jede Zeile von WLs 202 quer über mehrere Blöcke 202, die sich in der Y Richtung erstrecken und die entsprechenden Kanalabschnitte aufweisen, wie mit entsprechenden BLs gekoppelt, würde ein Speicher-Array 200 definieren und kann einem Speicher-Array wie dem Speicher-Array 200 von 2 entsprechen. Wie in 5 gezeigt, kann ein Stecker 527 zwischen Stapeln von WLs bereitgestellt sein, um Decks der Speichervorrichtung auf jeder Seite des Steckers zu definieren. Es ist zu beachten, dass die Speichervorrichtung von 5 nur eine schematische Darstellung ist, und dass eine Vorrichtungsimplementierung eine Anzahl von Steckern aufweisen kann, um mehrere Decks in einer Speichervorrichtung zu definieren.
-
Die WLs 202 können angeordnet sein, um eine Stiege 525 zu bilden, die in 5 in der X Richtung gezeigt ist, und um eine Stiege (nicht gezeigt) in der Y Richtung zu bilden. Eine vorherbestimmte Region, welche die Endabschnitte der WLs 202 aufweist, kann von den Stufen freigelegt werden. In den Regionen können die WLs 202 mit ersten Kontaktstrukturen 514a verbunden sein. Die WLs 202 können angeordnet sein, um in vorherbestimmten Einheiten durch Trennregionen in der Y Richtung getrennt zu werden. Die WLs 202 können einen einzelnen Speicherblock zwischen einem Paar der Trennregionen darstellen, der Umfang des Speicherblocks ist jedoch nicht darauf beschränkt.
-
Die Zwischenschicht-Dielektrika 505 können zwischen den WLs 202 angeordnet sein. Ähnlich den WLs 202 können die Zwischenschicht-Dielektrika 505 voneinander sowohl in der Y Richtung als auch der Z Richtung beabstandet sein. Die Zwischenschicht-Dielektrika 505 können ein Isoliermaterial aufweisen, wie ein Siliciumoxid oder ein Siliciumnitrid. Die Kanäle CH können voneinander beabstandet sein, wobei Zeilen in der Y Richtung und Spalten in der Z Richtung gebildet werden. In Beispielen von Ausführungsformen können die Kanäle CH angeordnet sein, um ein Gittermuster zu bilden, oder können in einer Zickzack-Weise in einer Richtung angeordnet sein. Jeder der Kanäle CH kann eine Säulenform aufweist und Teil einer Säule 532 mehrerer ähnlicher Säulen sein, die sich durch die Blöcke 502 erstrecken, und kann eine geneigte Seitenfläche aufweisen, die schmäler wird, je näher sie der Substratstruktur 522 kommt. Andere Formen für die Säulen und Kanäle sind für Ausführungsformen möglich.
-
Eine Kanalregion 524 kann jeden der Kanäle CH definieren und entspricht einer Speicherzelle eines Speicher-Arrays 200, wie den Speicherzellen 208 von 2. In jedem der Kanäle CH kann die Kanalregion 524 gebildet sein, um eine Ringform aufzuweisen. In anderen Beispielen von Ausführungsformen kann die Kanalregion 524 jedoch gebildet sein, um eine Kreisform oder Prismenform aufzuweisen. Die Säulen 532 können mit einer epitaxialen Schicht 528 über der Substratstruktur 522 verbunden sein. Die Säulen können ein Halbleitermaterial aufweisen, wie polykristallines Silicium oder monokristallines Silicium. Das Halbleitermaterial kann ein undotiertes Material oder ein Material sein, das p-Typ- oder n-Typ-Verunreinigungen enthält.
-
Eine dielektrische Gate-Schicht 526 kann zwischen den WLs 202 und der Kanalregion 524 angeordnet sein. Obwohl nicht detailliert veranschaulicht, kann die dielektrische Gate-Schicht 526 eine Tunneling Schicht, eine Ladungsspeicherschicht und eine Blockierschicht aufweisen, die sequentiell von der Kanalregion 524 gestapelt sind. Die Tunneling Schicht kann dafür ausgelegt sein, um Ladungen in die Ladungsspeicherschicht zu tunneln und kann zum Beispiel Siliciumoxid (SiO.sub.2), Siliciumnitrid (Si.sub.3N.sub.4), Siliciumoxynitrid (SiON) oder Kombinationen davon umfassen. Die Ladungsspeicherschicht kann eine Ladungsabfangschicht oder eine leitfähige schwebende Gate-Schicht sein. Die Blockierschicht kann Siliciumoxid (SiO.sub.2), Siliciumnitrid (Si.sub.3N.sub.4), Oxynitrid (SiON), ein dielekrisches Material mit hohem k Wert oder Kombinationen davon sein.
-
Erste, zweite und dritte Kontaktstrukturen 514a, 514b und 514c, BLs 204a und Kontaktleitungen 204b und 204c, die Zwischenverbindungsstrukturen zur Bildung einer elektrischen Verbindung mit der Substratstruktur 522 sind, können ein leitfähiges Material aufweisen. Die Zwischenverbindungsstrukturen können zum Beispiel Wolfram (W), Aluminium (Al), Kupfer (Cu), Wolframnitrid (WN), Tantalnitrid (TaN), Titannitrid (TiN) oder Kombinationen davon aufweisen. Jede der Kontaktstrukturen kann eine zylindrische Form haben. In Beispielen von Ausführungsformen kann jede von den ersten und zweiten Kontaktstrukturen eine geneigte Seitenfläche aufweisen, die schmäler wird, je näher sie der Substratstruktur 522 kommt.
-
Nun wird auf 6 Bezug genommen, die einen Schnitt 600 durch einen Abschnitt einer 3D NAND Flash-Speicher-Array-Kachel ähnlich der Kachel 500 von 5 zeigt und die ferner ein Array von Speicherzellen ähnlich dem Array 200 von 2 zeigt. Demgemäß werden gleiche Komponenten wie zwischen 2, 5 und 6 mit gleichen Bezugszahlen bezeichnet, wobei es klar ist, dass es Unterschiede in einigen Details wie zwischen der in jeder jeweiligen Figur gezeigten Architektur geben kann. Mit Bezugnahme auf 5 erfolgt der Schnitt 600 in einer Ebene parallel zu einer Länge einer der BLs 204a in der Y Richtung, und durch WL Stapel 508 einer Anzahl von Blöcken/Subblöcken 502 und einer Anzahl von Säulen 532 schneidend. In dem Maß, in dem die BL 204a verwendet wird, um eine Vorspannung an irgendeine der Kanalregionen 524 oder assoziierten Speicherzellen 208 entlang einer gegebenen Säule 532 anzulegen, kann angenommen werden, dass die Längenrichtung einer Säule 532 einer Längenrichtung einer gegebenen „effektiven“ BL entspricht, die sich durch den WL Stapel 208 eines Blocks 502 erstreckt. Die effektiven BLs entsprechen den BLs 2040 bis 204M von 2, die als die WLs 2080 bis 208N schneidend gezeigt sind, um jeweilige NAND Ketten 206 zu bilden.
-
Der Schnitt 600 zeigt ferner die SGS 214, SGD 215 und SRC 216 ähnlich denselben Komponenten, die in 2 gezeigt werden. Die Kanalregionen 524 an jeder Säule 532 entsprechen Speicherzellen 208, wie im Vorstehenden angegeben, und Stecker 527 definieren ein Deck 520 auf jeder Seite davon. Obwohl nur zwei Blöcke (oder es kann auch angenommen werden, dass diese Subblöcke bilden) 520 teilweise in 6 gezeigt werden, mit drei Decks und vier Säulen pro Block, sind Ausführungsformen nicht so eingeschränkt und umfassen innerhalb ihres Umfangs eine beliebige Anzahl von Decks, Steckern, Säulen, Blöcken, Subblöcken, Superblöcken, WLs und BLs.
-
Mit weiterer Bezugnahme auf 6 umfasst jedes Kanalregion 524/Speicherzelle 208 ein schwebendes Gate 610, das ringförmige um jede Säule angeordnet ist, und ein Steuer-Gate 612, das einer assoziierten WL 202 benachbart dem schwebenden Gate jeder Speicherzelle 208 entspricht. Die WL 202 und das schwebende Gate 610 können aus einem Polysilicium-Material hergestellt sein, und der Raum zwischen dem schwebenden Gate 610 und dem Steuer-Gate 612/der WL 202 kann mit einem dielektrischen Material gefüllt sein, wie einem Interpolydielektrikum, das dem dielektrischen Gate-Material 526 von 5 entsprechen kann. Der Kanal (nicht gezeigt) wird zwischen dem schwebenden Gate 610 und einer inneren Füllregion jeder Säule in der Region jeder Speicherzelle 208 definiert. Ein Tunneloxid (nicht gezeigt) kann zwischen dem schwebenden Gate und dem Kanal angeordnet sein.
-
Ausführungsformen umfassen das Anlegen eines Dummy-Leseimpulses an eine oder mehrere WLs einer Speichervorrichtung nach einer Löschoperation und vor einer Leseoperation. Ein Dummy-Leseimpuls, wie hier bezeichnet, kann eine konstante Vorspannung aufweisen, die unterschiedslos an alle der WLs eines gesamten Superblocks angelegt wird, und kann als Beispiel einen Impuls ähnlich einem Leseimpuls umfassen, der jedoch nicht von einer Rückführung von Lesedaten gefolgt wird. Die eine oder die mehreren WLs können alle WLs eines Superblocks (einer logischen und/oder physischen Gruppe von Blöcken), Blocks oder Subblocks von Speicherzellen umfassen, wobei der Superblock, Block oder Subblock durch Gruppen von Zellen (für einen Subblock), von Subblöcken (für einen Block) und Blöcken (für einen Superblock) definiert wird, die logisch und/oder physisch miteinander gruppiert werden können, wie als Beispiel im Kontext von 4 vorgeschlagen. Die eine oder die mehreren WLs können alle WLs eines Superblocks, Blocks oder Subblocks umfassen, oder sie können ausgewählte WLs des Superblocks, Blocks oder Subblocks umfassen. Die ausgewählten WLs können auf der Basis von WLs ausgewählt werden, die Zellen entsprechen, welche der Gegenstand der Leseoperation sein sollen, und WLs auf der Basis anderer Parameter, wie erwarteter Leistungsparameter, auf der Basis der Leseoperation, die stattzufinden hat.
-
In 3D NAND Architekturen, wie jenen, die als Beispiel in 2 und 4-6 gezeigt werden, hat der intrinsische oder leicht dotierte Kanal keinen herkömmlichen Körperkontakt, um Löcher zu liefern und/oder zu evakuieren, verglichen mit Kanälen in einer 2D NAND Gegenstückarchitektur. Um eine Löschoperation zu implementieren, welche das Involvieren von Löchern in solchen 3D Architekturen erfordert, wurde ein Gate-induziertes Drain-Lecken (GIDL) an ausgewählten Gates in den Source- und Drain-Regionen eines gegebenen Decks eingeführt. Um andererseits die logische Blockgröße der Speichervorrichtung zu reduzieren, und um den Chipbereich einzusparen und die Systemleistung zu verbessern, wird jeder physische Block von 3D NAND in einige unabhängig steuerbare Decks geteilt. Wenn eines der Decks gelöscht wird, wird eine Anzahl von Löchern in der Form eines positiven Potentials in den Kanal anderer Decks eingeführt, welche die Säule mit dem gelöschten Deck gemeinsam nutzen, wie schematisch in 6 dargestellt, und wie im Vorstehenden mittels der Löcher 540 angegeben. Probleme von Lesestörungen von Heißelektronen können entstehen, wenn ein oder mehrere Decks eines Superblocks/Blocks/Subblocks gelöscht werden, und wenn Speicherzellen anderer zu lesender Decks dieses Superblocks/Blocks/Subblocks zu lesen sind, wobei die Speicherzellen eine Säule mit den Speicherzellen des (der) gelöschten Decks gemeinsam nutzen.
-
Die durch eine Löschoperation hinterlassenen Löcher erhöhen das Potential in den Säulen. Wenn Speicherzellen eines zu lesenden Decks Säulen mit einem gelöschten Deck gemeinsam nutzen, führen die in den Säulen abgefangenen Löcher aus der Löschoperation zu einer ausreichend großen Potentialdifferenz zwischen einer Aggressorzelle (einer Speicherzelle, die gelesen wird, wobei die Aggressorzelle in dem zu lesenden Deck oder dem „Opferdeck“ ist) und einer Opferzelle (einer Speicherzelle, die nicht gelesen wird, wobei die Opferzelle auch in dem Opferdeck ist), um zu einer HCI Lesestörung für die Opferzelle zu führen.
-
Es wird erneut spezifisch auf 6 Bezug genommen. Wenn in einer herkömmlichen Lösch- und Leseoperation das mittlere Deck B seine Speicherzellen 208 gelöscht haben soll, wird ein Löschimpuls angelegt, indem die WLs des Löschdecks B nahe bei Erde gehalten werden, und die Säulen auf eine sehr hohe positive Spannung durch die BL 204 und die SGS 214 vorgespannt werden (und effektiv auf den Drain und die Source jeder Zelle entlang der NAND Ketten des Superblocks). Dies generiert, dass eine ausreichend hohe Spannung angelegt wird zwischen den geerdeten WLs des Löschdecks B, die das Steuer-Gate der Zellen in dem Löschdeck B bilden, und der BL 204 und der SGS 214, die jeweils mit dem Drain und der Source jedes Kanals verbunden sind, um zu erzwingen, dass ein Strom von dem Kanal innerhalb der Säule, an welche die sehr hohe positive Spannung angelegt wird, durch das schwebende Gate 610 zu dem Steuergate 612/der WL 202 fließt. Die Löcher generieren ein Spannungsdifferential zwischen der Säule und den schwebenden Gates, das zum Löschen von Auswahlzellen führt, aufgrund einer Bewegung der Ladung aus dem Kanal durch die Steuer-Gates/WLs. Die WLs des oberen Decks A und unteren Decks C sind nicht geerdet (um so nicht die Speicherzellen innerhalb dieser Decks zu löschen). Als Ergebnis kann ein hohes Spannungsdifferential/potential zwischen Kanälen der Speicherzellen vorhanden sein, die in dem oberen Deck A und dem unteren Deck C zu lesen sind, einerseits und den WLs andererseits, ohne die zu lesenden Zellen zu löschen. Dieses Spannungsdifferential kann dazu führen, dass die Spannung der entsprechenden schwebenden Gates der zu lesenden Speicherzellen auch nach oben schweben, in einigen Fällen zum Beispiel bis zu 16 V.
-
Die im Vorstehenden beschriebene Löschoperation erfordert, dass das obere Deck A und das untere Deck B für Löcher (positive Ladungen) leitfähig sind, die von der BL 204 und der SGS 214 geliefert werden, um die Löschoperation an dem Löschdeck B zu gestatten. Das Obige wird durch die physische Auslegung der Speichervorrichtung erforderlich, wo Drain- und Source-Spannungen wie zwischen Decks aufgrund der Auslegung der Säulen durch die WLs gemeinsam genutzt werden. Das Obige führt jedoch zur Generierung von Löchern in den Kanälen mit den Säulen 532 nach einem Löschen nicht nur in dem Löschdeck B, sondern auch in dem oberen Deck A und unteren Deck B, die weiterhin eine Ladung entsprechend gespeicherten Daten aufweisen.
-
Wenn eine Leseoperation an Zellen entweder an dem oberen Deck A oder unteren Deck B vorgenommen wird, kann das Vorliegen der Löcher in den Kanälen innerhalb der Säulen 532 zu einer Lesestörung für die Zellen führen, die zu lesen sind, typischerweise aufgrund der Heißelektroneninjektion. Aus diesem Grund werden das obere Deck A und untere Deck B in 6 als Opferdecks bezeichnet. Das Vorliegen von Löchern kann das elektrische Feld zwischen benachbarten Zellen während des Lesens erhöhen, was zu einer erhöhten HCI Lesestörung führt.
-
Die große Anzahl von Löchern, die in den Säulen nach einem Löschimpuls abgefangen werden, kann aufgrund der zufällig verteilten Zellen mit niedriger Schwellenspannung (Vt) und mit hoher Vt in den Säulen sowie durch die Band-zu-Band-Tunneling (BTBT) Beschaffenheit des GIDL an der SGS 215 und dem SGD 214 verstärkt werden. Die verbleibenden Löcher können zunächst eine riskante Bedingung einer Lesestörung im stabilen Zustand (SRD) für die nachfolgende Leseoperation erzeugen.
-
7 zeigt Graphen 700, die schematisch den SRD Mechanismus veranschaulichen, wie durch eine Löschoperation erhöht. Die Graphen 700 zeigen Valenzbänder entlang einer Säule 527 in einem Opferdeck, wie einem Opferdeck C von 6, von der SGS 214 durch eine Anzahl von Speicherzellen 208 mit einem zufälligen Datenmuster mit der Säule bei einer Durchgangsspannung durch eine Anzahl von WLs, und durch eine Aggressorzelle mit der Säule bei -IV, um eine Leseoperation zu bewirken, und weiter durch eine benachbarte Opferzelle mit einer positiven Säulenspannung bei 9V. Die Löcher in der Säule in der Region der Opferzelle können auch ohne eine Löschoperation existieren, können jedoch durch eine Löschoperation verstärkt werden, wie im Vorstehenden beschrieben. Wie in 7 ersichtlich ist, kann ein großes elektrisches Feld zwischen einer Aggressorzelle und ihren benachbarten Opferzellen aufgrund des relativ großen Spannungsdifferentials bei einer Heißelektronenstörung entstehen.
-
Wenn sich eine 3D NAND Speichervorrichtung in einem stabilen Zustand befindet, sind die Säulen mit der Source und BL im Gleichgewicht, und lokale WLs sind mit der globalen WL im Gleichgewicht. In einem solchen Fall wird der Kanal von Zellen mit niedriger Vt auf ein höheres Potential geboostet, bevor ihre benachbarten Zellen mit hoher Vt vollständig eingeschaltet werden. Sobald ein Hochfahren der WL Vorspannung letztlich diese Zellen mit hoher Vt einschaltet, wird die WL kapazitiv nach unten auf das Säulenpotential gekoppelt, was das Hochfahren der WL während eines Einschaltens der Zellen mit hoher Vt verlangsamt. Ein langsames Hochfahren der WL Spannung macht es schwierig, die Zellen mit der höchsten Vt in der Aggressor-WL (der WL der zu lesenden Speicherzelle) vollständig einzuschalten, wobei ihre benachbarten Zellen (normalerweise auf der Seite weiter entfernt von der Source/Bitleitung) immer in einem geboosteten Zustand belassen werden und auf ein sehr hohes positives Potential geboostet werden. Wenn die Vorspannung der Aggressor-WL heruntergefahren wird, um die niedrigste Vt zu lesen, wird das Kanalpotential der Zellen mit der höchsten Vt in der Aggressor-WL hochgefahren, wobei eine große Potentialdifferenz mit den benachbarten Opferzellen mit niedriger Vt gebildet wird. Wie schematisch in 7 gezeigt, kann das große elektrische Feld am Übergang einer Aggressor-Speicherzelle und einer Opfer-Speicherzelle die Heißelektronenstörung in der Opferzelle und eine Heißlochstörung in der Aggressorzelle auslösen. Dieser Mechanismus wird verstärkt, wenn auf eine Löschoperation zurückzuführende Löcher zusätzlich in die Säulen des Superblocks/Blocks/Subblocks injiziert werden, wo Speicherzellen zu lesen sind.
-
Ein Löschimpuls hat alle abgefangenen transienten Elektronen zu entfernen, wobei jedoch eine SRD Umgebung in den Säulen erhöht wird, die durch ein gelöschtes Deck verlaufen. Die SRD kann existieren, auch ohne dass ihr eine Löschoperation vorausgeht, mindestens aufgrund des großen positiven Potentials und übermäßiger Löcher in den Säulen, die in der Source-Leitung SGS und BL zurück ins Gleichgewicht gebracht werden sollen und während einer normalen Leseoperation entfernt werden sollen. Wenn das Obige durch eine vorausgehende Löschoperation verstärkt wird, kann es zu einem noch langsameren WL Spannungshochfahren und höheren SRD Risiko führen, verglichen mit einer Standard-SRD.
-
Ausführungsformen involvieren die Entfernung von Löchern innerhalb von Kanälen von zu lesenden Speicherzellen, deren Kanäle Löcher darin aufweisen, aufgrund einer Löschoperation an anderen Zellen innerhalb derselben Speichervorrichtung, wobei die Entfernung durch das Anlegen eines Dummy-Leseimpulses (oder „ARR Impulses“) an die WLs dieser Speicherzellen erfolgt, um die Löcher aus den Kanälen dieser zu lesenden Zellen zu entfernen. Das Obige kann seinerseits das Säulenpotential zurück auf ein Gleichgewicht mit der Source (SRC) und BL (BL) vor der formalen Leseoperation der zu lesenden Speicherzellen bringen. Der Dummy-Leseimpuls kann an eine, eine Vielzahl von und/oder alle WLs innerhalb eines Decks angelegt werden, das eine oder mehrere zu lesende Speicherzellen aufweist. Der Dummy-Leseimpuls kann zum Beispiel einen Rechteckimpuls umfassen. Die zu lesenden Speicherzellen können in einem oder mehreren Decks angeordnet sein, die in Bezug auf ein gelöschtes Deck eines Speicher-Superblocks, Blocks oder Subblocks angeordnet sind, so dass die Löcher eine Heißelektronenstörung in den zu lesenden Zellen verursacht hätten, wäre der Löschimpuls nicht angelegt worden. Der Dummy-Leseimpuls kann ein negativer Spannungsimpuls sein, der an die WLs der zu lesenden Speicherzellen angelegt wird, um den Kanälen der zu lesenden Speicherzellen Elektronen zuzuführen, um Löcher aus ihren Kanälen vor einer Leseoperation zu entfernen. Der Dummy-Leseimpuls kann an WLs in einem Deck angelegt werden, wie an alle WLs im oberen Deck A oder unteren Deck B, die zu lesende Speicherzellen aufweisen, nach einer Löschoperation am Löschdeck C. Der Dummy-Leseimpuls kann in der Form einer negativen Spannung an eine oder mehrere WLs angelegt werden und von bestehenden Steuerschaltungen gesteuert werden, wie Steuerschaltungen der Steuereinheit 126 jeder Speichervorrichtung 122 von 1, oder wie beliebige andere Steuerschaltungen, die jene der Speichervorrichtung-Steuereinheit 118, der CPU Speichersteuereinheit 112 oder Schaltungen des Prozessors 108, alle in 1, umfassen. Die Steuerschaltungen können verwendet werden, um die Spannung an jeder WL getrennt nach dem Löschen zu steuern. Die Funktionalität der Implementierungsanwendung einer Dummy-Leseoperation kann aufgrund von Logik, wie Software oder Firmware, bereitgestellt werden, die als Beispiel innerhalb der Steuereinheiten 126 oder 118 von 1 gespeichert ist. Der Dummy-Leseimpuls kann unmittelbar nach einer Löschoperation angelegt werden, oder er kann unmittelbar vor einer Leseoperation angelegt werden. Der Dummy-Leseimpuls kann selektiv an die WLs von zu lesenden Speicherzellen angelegt werden, er kann selektiv an alle WLs von Decks angelegt werden, wobei die WLs eine oder mehrere zu lesende Speicherzellen aufweisen (hier im Nachstehenden „zu lesende“ Speicherzellen), und/oder an alle WLs eines Superblocks, Blocks oder Subblocks einer Speichervorrichtung. Der Dummy-Leseimpuls kann ferner selektiv an WLs auf der Basis einer Zeit- und/oder Leistungsmetrik der Speichervorrichtung angelegt werden, in welcher der Dummy-Leseimpuls zu implementieren ist.
-
Gemäß einigen Ausführungsformen kann der ARR Impuls nur an Opferdecks angelegt werden, und nicht an das gelöschte Deck, der ARR Impuls kann an Decks angelegt werden, die Daten enthalten, und beliebige zusätzliche Decks, die einen Weg zu der Source oder dem Drain bereitstellen, und/oder kann nach jedem Löschimpuls angelegt werden, alle paar Lösch-Lese-Zyklen angelegt werden. Gemäß einigen Ausführungsformen kann ein Löschaussetzbefehl einer zu lesenden Speicherzelle erteilt werden, bevor der ARR Impuls an die WL davon angelegt wird.
-
Als Nächstes umfasst mit Bezugnahme auf 8 ein Graph 800, der durch experimentelle Daten erhalten wird, eine Anzahl von Zykluskurven für Schwellenspannungsverteilungen von Speicherzellen einer gegebenen Speicherseite oder WL (in diesem Fall WL 47 des unteren Decks C), wobei ein Cluster von Speicherzellen mit niedriger Vt Vts zwischen ungefähr -1000V bis ungefähr 1250 V für Daten aufweist, die dem 0 Zyklus für die Zellen und einer Zellenverteilung auf der Ebene von 99,99 % entsprechen, und ein Cluster von Speicherzellen mit hoher Vt Vts für Daten aufweist, die dem Zyklus 9 und für die Zellenverteilung auf der Ebene von 99,99 % über ungefähr 1250 V entsprechen. Der Graph 800 zeigt im Wesentlichen Programmierungsebenen einer großen Anzahl von Speicherzellen auf einer Seite, wie gegenüber den % von Zellen aufgetragen, die innerhalb gegebener Bereiche dieser Programmierungsebenen liegen. Null Zyklus entspricht keinem oder Null Löschzyklus/Null Lesezyklus, und 20 k Zyklen entsprechen 20,000 Löschzyklen für ein anderes Deck als ein Deck innerhalb desselben Superblocks/Blocks/Subblocks, der die in dem Graphen 800 reflektierten Speicherzellen umfasst, und entsprechen 20,000 Lesezyklen für die in dem Graphen 800 reflektierten Speicherzellen. Wie aus dem Graphen 800 ersichtlich ist, können viele Lesezyklen eine dramatische Verschiebung der Programmierungsspannungen von Speicherzellen für die Zellen mit niedrigerer Vt bewirken, und dies aufgrund der Heißelektroneneffekte. Nach dem Cycling, wie gezeigt, wird die Vt Verteilung für die Zellen mit niedrigerer Vt aufgrund der verschiedenen Störungstypen verschlechtert, von denen eine die im Vorstehenden erläuterte bewirkte Heißelektronenstörung ist. In einem Idealfall würden wir uns einen nahezu vertikalen Satz von Kurven auf jedem Vt Pegel wünschen, obwohl die tatsächliche Vt Verteilung eine Gradientenlinie zeigen wird. Der Abstand oder die Distanz zwischen den verschiedenen Gradientenlinien repräsentiert einen Leseabfühlabstand, der idealerweise groß genug sein sollte, um eine Differenzierung wie zwischen Programmierungszuständen von Speicherzellen zu gestatten. Aus 8 ist leicht ersichtlich, dass die Heißelektroneneffekte die Programmierungsspannungen von Zellen mit niedrigerer Vt dramatisch abschrägen können, wodurch ein Lesen wie zwischen den verschiedenen Zuständen dieser Zellen nahezu unmöglich wird.
-
Somit wird gemäß 8, wie durch die umfassenden darin gezeigten experimentellen Daten gezeigt, eine durch ein Löschen erhöhte SRD primär in der Heißelektronenstörung an den Zellen mit niedriger Vt in der Opfer-WL reflektiert, wie zum Beispiel für 20,000 Löschoperationen auf dem mittleren Deck B und Leseoperationen auf der WL 47 in dem unteren Deck C gezeigt, was zu einem Zusammenbruch der niedrigsten sieben Vt Verteilungen von Opferzellen führt.
-
9 zeigt einen Fluss oder ein Verfahren 900 gemäß einer Ausführungsform. In der Operation 902 umfasst das Verfahren das Implementieren einer Löschoperation an einem Deck eines Superblocks, Blocks oder Subblocks einer dreidimensionalen (3D) nicht flüchtigen Speichervorrichtung, um ein gelöschtes Deck zu erhalten. In der Operation 904 umfasst das Verfahren das Anlegen eines Dummy-Leseimpulses an einer oder mehreren Wortleitungen (WLs) eines zu lesenden Decks des Superblocks, Blocks oder Subblocks. In der Operation 906 umfasst das Verfahren das Implementieren, nach dem Anlegen des Dummy-Leseimpulses, einer Leseoperation an einer oder mehreren Speicherzellen, die der einen oder den mehreren WLs entsprechen, um Daten aus der einen oder den mehreren Speicherzellen zu lesen. Es wird angemerkt, dass Ausführungsformen nicht unbedingt erfordern, dass ein Deck vor dem Anlegen des Dummy-Leseimpulses gelöscht wird.
-
Eine Ausbildung kann durch verschiedene Stufen gehen, von der Erstellung zur Simulation zur Herstellung. Daten, die eine Ausbildung darstellen, können die Ausbildung in verschiedener Weise repräsentieren. Zuerst, wie es in Simulationen nützlich ist, kann die Hardware unter Verwendung einer Hardware-Beschreibungssprache (HDL) oder einer anderen funktionellen Beschreibungssprache dargestellt werden. Zusätzlich kann ein Modell auf Schaltungsebene mit Logik und/oder Transistor-Gates in irgendwelchen Stufen des Ausbildungsprozesses erzeugt werden. Ferner erreichen die meisten Ausbildungen in irgendeiner Stufe eine Ebene von Daten, welche die physische Platzierung verschiedener Vorrichtungen in dem Hardware-Modell darstellen. In dem Fall, wo herkömmliche Halbleiterherstellungstechniken verwendet werden, können die Daten, die das Hardware-Modell darstellen, die Daten sein, welche die Anwesenheit oder Abwesenheit verschiedener Merkmale auf verschiedenen Maskenschichten für Masken spezifizieren, die verwendet werden, um die integrierte Schaltung herzustellen. In einigen Implementierungen können solche Daten in einem Datenbank-Dateiformat gespeichert werden, wie Graphic Data System II (GDS II), Open Artwork System Interchange Standard (OASIS) oder einem ähnlichen Format.
-
In einigen Implementierungen können Software-basierte Hardware-Modelle und HDL und andere funktionelle Beschreibungsprachobjekte Registertransfersprach- (RTL) Dateien unter anderen Beispielen umfassen. Solche Objekte können von Maschinen geparsed werden, so dass ein Ausbildungswerkzeug das HDL Objekt (oder Modell) akzeptieren kann, das HDL Objekt auf Attribute der beschriebenen Hardware parsen kann, und eine physikalische Schaltung und/oder ein On-Chip-Layout aus dem Objekt bestimmen kann. Die Ausgabe des Ausbildungswerkzeugs kann verwendet werden, um die physische Vorrichtung herzustellen. Zum Beispiel kann ein Ausbildungswerkzeug Auslegungen verschiedener Hardware- und/oder Firmware-Elemente aus dem HDL Objekt bestimmen, wie Busbreiten, Register (umfassend Größen und Typen), Speicherblöcke, physische Verbindungswege, Fabric Topologien, unter anderen Attributen, die implementiert werden würden, um das System zu realisieren, das in dem HDL Objekt modelliert wird. Ausbildungswerkzeuge können Werkzeuge zur Bestimmung der Topologie und von Fabric Auslegungen einer System-on-Chip-(SoC) und anderen Hardware-Vorrichtung umfassen. In einigen Fällen kann das HDL Objekt als Basis zur Entwicklung von Modellen und Ausbildungsdateien verwendet werden, die von Herstellungsausrüstung zur Herstellung der beschriebenen Hardware verwendet werden können. Ein HDL Objekt selbst kann tatsächlich als Eingabe in Herstellungssystem-Software bereitgestellt werden, um die beschriebene Hardware zu verursachen.
-
In einer beliebigen Darstellung der Ausbildung können die Daten in einer beliebigen Form eines maschinenlesbaren Mediums gespeichert werden. Ein Speicher oder ein magnetischer oder optischer Speicher, wie eine Platte, kann das maschinenlesbare Medium sein, um Informationen zu speichern, die über optische oder elektrische Wellen moduliert oder auf andere Weise generiert werden, um solche Informationen zu übertragen. Wenn eine elektrische Trägerwelle, die den Code oder die Ausbildung anzeigt, übertragen wird, in dem Maß, dass ein Kopieren, Puffern oder erneutes Übertragen des elektrischen Signals vorgenommen wird, wird eine neue Kopie erstellt. Somit kann ein Kommunikationsanbieter oder ein Netzanbieter auf einem greifbaren, maschinenlesbaren Medium, mindestens temporär, einen Artikel speichern, wie in eine Trägerwelle codierte Informationen, wobei Techniken von Ausführungsformen der vorliegenden Offenbarung verkörpert werden.
-
In verschiedenen Ausführungsformen kann ein Medium, das eine Darstellung der Ausbildung speichert, an ein Herstellungssystem geliefert werden (z.B. ein Halbleiterherstellungssystem, das in der Lage ist, eine integrierte Schaltung und/oder verwandte Komponenten herzustellen). Die Ausbildungsdarstellung kann das System instruieren, eine Vorrichtung herzustellen, die in der Lage ist, eine beliebige Kombination der im Vorstehenden beschriebenen Funktionen vorzunehmen. Zum Beispiel kann die Ausbildungsdarstellung das System dahingehend instruieren, welche Komponenten herzustellen sind, wie die Komponenten miteinander gekoppelt werden sollen, wo die Komponenten an der Vorrichtung platziert werden sollen, und/oder hinsichtlich anderer geeigneter Spezifikationen in Bezug auf die herzustellende Vorrichtung.
-
Ein Modul, wie hier verwendet, bezieht sich auf eine beliebige Kombination von Hardware, Software und/oder Firmware. Als Beispiel umfasst ein Modul Hardware, wie eine Mikrosteuereinheit, die mit einem nicht transitorischen Medium assoziiert ist, um Code zu speichern, der dafür geeignet ist, um von der Mikrosteuereinheit ausgeführt zu werden. Daher betrifft eine Bezugnahme auf ein Modul in einer Ausführungsform die Hardware, die spezifisch dafür ausgelegt ist, um den Code zu erkennen und/oder auszuführen, der auf einem nicht transitorischen Medium zu halten ist. Ferner betrifft in einer weiteren Ausführungsform die Verwendung eines Moduls das nicht transitorische Medium, das den Code umfasst, der spezifisch dafür geeignet ist, um von der Mikrosteuereinheit ausgeführt zu werden, um vorherbestimmte Operationen vorzunehmen. Und wie abgeleitet werden kann, kann sich in noch einer weiteren Ausführungsform der Ausdruck Modul (in diesem Beispiel) auf die Kombination der Mikrosteuereinheit und des nicht transitorischen Mediums beziehen. Häufig variieren und überlappen Modulgrenzen üblicherweise potentiell, die als getrennt veranschaulicht werden. Zum Beispiel können ein erstes und ein zweites Modul Hardware, Software, Firmware oder eine Kombination davon gemeinsam nutzen, während potentiell irgendeine unabhängige Hardware, Software oder Firmware beibehalten wird. In einer Ausführungsform umfasst die Verwendung des Ausdrucks Logik Hardware, wie Transistoren, Register oder andere Hardware, wie programmierbare Logikvorrichtungen.
-
Logik kann verwendet werden, um einen beliebigen der beschriebenen Flüsse oder die Funktionalität der verschiedenen Komponenten zu implementieren, wie die CPU 102, die externe I/O Steuereinheit 104, der Prozessor 108, die Kerne 114A und 114B, die I/O Steuereinheit 110, die CPU Speichersteuereinheit 112, die Speichervorrichtung 106, die Systemspeichervorrichtung 107, der Speicher 116, die Speichervorrichtungen 122, die Speicherchips 123, die Steuereinheiten 126, die Speichervorrichtung-Steuereinheit 118, die Adressenübersetzungsmaschine 120, die Programmsteuerlogik 124, das Speicher-Array 200, einen Seitenpuffer, Teilkomponenten davon oder eine andere hier beschriebene Einheit oder Komponente. „Logik“ kann sich hier auf Hardware, Firmware, Software und/oder Kombinationen davon beziehen, um eine oder mehrere Funktionen vorzunehmen. In verschiedenen Ausführungsformen kann Logik einen Mikroprozessor oder ein anderes Verarbeitungselement umfassen, der oder das betreibbar ist, um Software-Instruktionen auszuführen, diskrete Logik, wie eine anwendungsspezifische integrierte Schaltung (ASIC), eine programmierte Logikvorrichtung, wie ein feldprogrammierbares Gate-Array (FPGA), eine Speichervorrichtung, die Instruktionen enthält, Kombinationen von Logikvorrichtungen (z.B. wie sie auf einer Leiterplatte zu finden wären), oder andere geeignete Hardware und/oder Software. Logik kann ein oder mehrere Gates oder andere Schaltungskomponenten umfassen. In einigen Ausführungsformen kann Logik auch vollständig als Software verkörpert sein. Software kann als Software-Paket, Code, Instruktionen, Instruktionssätze und/oder Daten verkörpert sein, die auf einem nicht transitorischen computerlesbaren Speichermedium aufgezeichnet sind. Firmware kann als Code, Instruktionen oder Instruktionssätze und/oder Daten verkörpert sein, die in Speichervorrichtungen hartcodiert sind (z.B. nicht flüchtig).
-
Die Verwendung der Phrase „um zu“ oder „dafür ausgelegt, um zu“ bezieht sich in einer Ausführungsform auf das Anordnen, Zusammensetzen, Herstellen, Inverkehrbringen, Einführen und/oder Ausbilden von einer Vorrichtung, Hardware, Logik oder einem Element, um eine bezeichnete oder bestimmte Aufgabe vorzunehmen. In diesem Beispiel ist eine Vorrichtung oder ein Element davon, das nicht in Betrieb ist, weiterhin „dafür ausgelegt, um“ eine bezeichnete Aufgabe vorzunehmen, wenn sie bezeichnet, gekoppelt und/oder angeschlossen ist, um die genannte bezeichnete Aufgabe vorzunehmen. Als rein veranschaulichendes Beispiel kann ein Logik-Gate eine 0 oder eine 1 im Betrieb liefern. Ein Logik-Gate, das „dafür ausgelegt, um“ ein Freigabesignal an einen Takt zu liefern, umfasst jedoch nicht jedes potentielle Logik-Gate, das eine 1 oder eine 0 liefern kann. Stattdessen ist das Logik-Gate eines, das in irgendeiner Weise so gekoppelt ist, dass im Betrieb die ausgegebene 1 oder 0 den Takt freizugeben hat. Es ist erneut anzumerken, dass die Verwendung des Ausdrucks „dafür ausgelegt, um zu“ keinen Betrieb erfordert, sondern stattdessen auf den latenten Zustand einer Vorrichtung, Hardware und/oder eines Elements fokussiert ist, wobei in dem latenten Zustand die Vorrichtung, Hardware und/oder das Element dafür ausgebildet sind, um eine bestimmte Aufgabe vorzunehmen, wenn die Vorrichtung, Hardware und/oder das Element in Betrieb sind.
-
Ferner bezieht sich die Verwendung der Phrasen „in der Lage, um zu“ und/oder „betreibbar, um“ in einer Ausführungsform auf irgendeine Vorrichtung, Logik, Hardware und/oder ein Element, die derart ausgebildet sind, dass die Verwendung der Vorrichtung, Hardware und/oder des Elements in einer spezifizierten Weise ermöglicht wird. Es ist wie im Vorstehenden anzumerken, dass sich die Verwendung von „in der Lage, um zu“ oder „betreibbar, um“ in einer Ausführungsform auf den latenten Zustand einer Vorrichtung, Logik, Hardware und/oder eines Elements bezieht, wo die Vorrichtung, Logik, Hardware und/oder das Element nicht in Betrieb sind, jedoch derart ausgebildet sind, dass die Verwendung einer Vorrichtung in einer spezifizierten Weise ermöglicht wird.
-
Ein Wert, wie hier verwendet, umfasst eine beliebige bekannte Darstellung einer Zahl, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands. Häufig wird die Verwendung von Logikpegeln, Logikwerten oder logischen Werten auch als 1en und 0en bezeichnet, was einfach binäre Logikzustände repräsentiert. Zum Beispiel bezieht sich 1 auf einen hohen Logikpegel und 0 bezieht sich auf einen niedrigen Logikpegel. In einer Ausführungsform kann eine Speicherzelle, wie eine Transistor- oder Flash-Zelle, in der Lage sein, um einen einzelnen logischen Wert oder mehrere logische Werte zu halten. Andere Darstellungen von Werten in Computersystemen wurden jedoch verwendet. Zum Beispiel kann die Dezimalzahl zehn auch als binärer Wert von 1010 und hexadezimaler Buchstabe A dargestellt werden. Daher umfasst ein Wert eine beliebige Darstellung von Informationen, die in der Lage sind, in einem Computersystem gehalten zu werden.
-
Außerdem können Zustände durch Werte oder Abschnitte von Werten dargestellt werden. Als Beispiel kann ein erster Wert, wie ein logischer, einen Standard- oder Initialzustand darstellen, während ein zweiter Wert, wie eine logische Null, einen Nicht-Standard-Zustand darstellen kann. Zusätzlich beziehen sich die Ausdrücke Rücksetzen und Setzen jeweils in einer Ausführungsform auf einen Standard- und einen aktualisierten Wert oder Zustand. Zum Beispiel umfasst ein Standardwert potentiell einen hohen logischen Wert, d.h. Rücksetzen, während ein aktualisierter Wert potentiell einen niedrigen logischen Wert umfasst, d.h. setzen. Es ist zu beachten, dass eine beliebige Kombination von Werten verwendet werden kann, um eine beliebige Anzahl von Zuständen darzustellen.
-
Die im Vorstehenden angegebenen Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code können über Instruktionen oder Code implementiert werden, die auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert sind und die von einem Verarbeitungselement ausgeführt werden können. Ein nicht transitorisches maschinenzugängliches/lesbares Medium umfasst einen beliebigen Mechanismus, der Informationen in einer Form liefert (d.h. speichert und/oder überträgt), die von einer Maschine, wie einem Computer oder elektronischen System, gelesen werden kann. Zum Beispiel umfasst ein nicht transitorisches maschinenzugängliches Medium einen Speicher mit wahlfreiem Zugriff (RAM), wie einen statischen RAM (SRAM) oder einen dynamischen RAM (DRAM); ROM; ein magnetisches oder optisches Speichermedium; Flash-Speichervorrichtungen; elektrische Speichervorrichtungen; optische Speichervorrichtungen; akustische Speichervorrichtungen; eine andere Form von Speichervorrichtungen zum Halten von Informationen, die von transitorischen (ausgebreiteten) Signalen empfangen werden (z.B. Trägerwellen, Infrarotsignalen, digitalen Signalen), usw., welche von den nicht transitorischen Medien zu unterscheiden sein, die Informationen davon empfangen können.
-
Instruktionen, die verwendet werden, um Logik zu programmieren, um Ausführungsformen der Offenbarung vorzunehmen, können innerhalb eines Speichers in dem System gespeichert werden, wie eines DRAM, Caches, Flash-Speichers oder eines anderen Speichers. Ferner können die Instruktionen über ein Netz oder durch andere computerlesbare Medien verteilt werden. Somit kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer Form umfassen, die von einer Maschine (z.B. einem Computer) gelesen werden kann, ist jedoch nicht beschränkt auf Disketten, optische Platten, Compact Disc, Read-Only Memory (CD-ROMs) und magnetooptische Platten, Nurlesespeicher (ROMs), Speicher mit wahlfreiem Zugriff (RAM), löschbare programmierbare Nurlesespeicher (EPROM), elektrisch löschbare programmierbare Nurlesespeicher (EEPROM), Magnet- oder optische Karten, Flash-Speicher oder einen maschinenlesbaren Speicher, der bei der Übertragung von Informationen über das Internet verwendet wird über elektrische, optische, akustische oder andere Formen ausgebreiteter Signale (z.B. Trägerwellen, Infrarotsignale, digitale Signale usw.). Demgemäß umfasst das computerlesbare Medium einen beliebigen Typ eines greifbaren maschinenlesbaren Mediums, das zum Speichern oder Übertragen elektronischer Instruktionen oder Informationen in einer Form geeignet ist, die von einer Maschine (z.B. einem Computer) gelesen werden kann.
-
Beispiele einiger Ausführungsformen werden im Nachstehenden angegeben.
-
Beispiel 1 umfasst eine Vorrichtung, umfassend Steuerschaltungen, um: eine Löschoperation an einem Deck eines Superblocks, Blocks oder Subblocks einer dreidimensionalen (3D) nicht flüchtigen Speichervorrichtung zu implementieren, um ein gelöschtes Deck zu erhalten; einen Dummy-Leseimpuls an eine oder mehrere Wortleitungen (WLs) eines zu lesenden Decks des Superblocks, Blocks oder Subblocks anzulegen; und nach dem Anlegen des Dummy-Leseimpulses, eine Leseoperation an einer oder mehreren Speicherzellen entsprechend der einen oder den mehreren WLs zu implementieren, um Daten aus der einen oder den mehreren Speicherzellen zu lesen.
-
Beispiel 2 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die Steuerschaltungen eine Löschaussetzoperation an einem Deck zu implementieren haben, das gelöscht wird, bevor der Dummy-Leseimpuls angelegt wird.
-
Beispiel 3 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die Steuerschaltungen den Dummy-Leseimpuls unmittelbar nach einem Start der Löschoperation anzulegen haben.
-
Beispiel 4 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die Steuerschaltungen den Dummy-Leseimpuls ansprechend auf eine Bestimmung, dass eine Leseoperation zu implementieren ist, anzulegen haben.
-
Beispiel 5 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die eine oder die mehreren WLs alle WLs des Superblocks, Blocks oder Subblocks umfassen, die WLs des gelöschten Decks und des zu lesenden Decks umfassen.
-
Beispiel 6 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die eine oder die mehreren WLs nur WLs der einen oder der mehreren Speicherzellen umfassen.
-
Beispiel 7 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die eine oder die mehreren WLs alle WLs von allen zu lesenden Decks des Superblocks, Blocks oder Subblocks umfassen.
-
Beispiel 8 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die eine oder die mehreren WLs ferner WLs von Decks der Speichervorrichtung umfassen, die einen Weg zu einer Source oder einem Drain des Superblocks, Blocks oder Subblocks bereitstellen.
-
Beispiel 9 umfasst den Gegenstand von Beispiel 1, und gegebenenfalls, wobei die Steuerschaltungen den Dummy-Leseimpuls nach einer Vielzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock anzulegen haben, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 10 umfasst den Gegenstand von Beispiel 7, und gegebenenfalls, wobei die Steuerschaltungen den Dummy-Leseimpuls in regelmäßigen Intervallen anzulegen haben, nachdem eine vorherbestimmte Anzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock vollendet wurde, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 11 umfasst den Gegenstand von Beispiel 10, und gegebenenfalls, wobei die vorherbestimmte Anzahl eine Zahl von 500 Zyklen bis zu 1000 Zyklen umfasst.
-
Beispiel 12 umfasst ein System, umfassend: eine dreidimensionale nicht flüchtige Speichervorrichtung eines Superblocks, Blocks oder Subblocks, umfassend: eine Vielzahl von Decks, die in Bezug aufeinander gestapelt sind, wobei jedes der Decks einen entsprechenden Satz von Wortleitungen (WLs) und einen entsprechenden Satz von Zwischenschicht-Dielektrika aufweist, die zwischen Paaren des entsprechenden Satzes von WLs angeordnet sind; und eine Vielzahl von Säulen, welche die Wortleitungen schneiden und eine Vielzahl von Speicherzellen damit definieren; und eine Steuereinheit, die mit der Speichervorrichtung gekoppelt ist, wobei die Steuereinheit: eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks zu implementieren hat, um ein gelöschtes Deck zu erhalten; einen Dummy-Leseimpuls an eine oder mehrere Wortleitungen (WLs) eines zu lesenden Decks des Superblocks, Blocks oder Subblocks anzulegen hat; und nach dem Anlegen des Dummy-Leseimpulses, eine Leseoperation an einer oder mehreren Speicherzellen der Vielzahl von Speicherzellen zu implementieren hat, um Daten aus der einen oder den mehreren Speicherzellen zu lesen, wobei die eine oder die mehreren Speicherzellen der einen oder den mehreren WLs entsprechen.
-
Beispiel 13 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die Steuereinheit eine Löschaussetzoperation an einem Deck vorzunehmen hat, das gelöscht wird, vor dem Anlegen des Dummy-Leseimpulses.
-
Beispiel 14 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die Steuereinheit den Dummy-Leseimpuls unmittelbar nach einem Start der Löschoperation anzulegen hat.
-
Beispiel 15 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die Steuereinheit den Dummy-Leseimpuls ansprechend auf eine Bestimmung anzulegen hat, dass eine Leseoperation zu implementieren ist.
-
Beispiel 16 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die eine oder die mehreren WLs alle WLs des Superblocks, Blocks oder Subblocks umfassen, die WLs des gelöschten Decks und des zu lesenden Decks umfassen.
-
Beispiel 17 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die eine oder die mehreren WLs nur WLs der einen oder der mehreren Speicherzellen umfassen.
-
Beispiel 18 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die eine oder die mehreren WLs alle WLs von allen zu lesenden Decks des Superblocks, Blocks oder Subblocks umfassen.
-
Beispiel 19 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die eine oder die mehreren WLs ferner WLs von Decks der Speichervorrichtung umfassen, die einen Weg zu einer Source oder einem Drain des Superblocks, Blocks oder Subblocks bereitstellen.
-
Beispiel 20 umfasst den Gegenstand von Beispiel 12, und gegebenenfalls, wobei die Steuereinheit den Dummy-Leseimpuls nach einer Vielzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock anzulegen hat, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 21 umfasst den Gegenstand von Beispiel 20, und gegebenenfalls, wobei die Steuereinheit den Dummy-Leseimpuls in regelmäßigen Intervallen anzulegen hat, nachdem eine vorherbestimmte Anzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock vollendet wurde, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 22 umfasst den Gegenstand von Beispiel 21, und gegebenenfalls, wobei die vorherbestimmte Anzahl eine Zahl von 500 Zyklen bis zu 1000 Zyklen umfasst.
-
Beispiel 23 umfasst ein Verfahren, umfassend: Implementieren einer Löschoperation an einem Deck eines Superblocks, Blocks oder Subblocks einer dreidimensionalen (3D) nicht flüchtigen Speichervorrichtung, um ein gelöschtes Deck zu erhalten; Anlegen eines Dummy-Leseimpulses an eine oder mehrere Wortleitungen (WLs) eines zu lesenden Decks des Superblocks, Blocks oder Subblocks; und Implementieren, nach dem Anlegen des Dummy-Leseimpulses, einer Leseoperation an einer oder mehreren Speicherzellen entsprechend der einen oder den mehreren WLs, um Daten aus der einen oder den mehreren Speicherzellen zu lesen.
-
Beispiel 24 umfasst den Gegenstand von Beispiel 23, und gegebenenfalls, ferner umfassend: Implementieren einer Löschaussetzoperation an einem Deck, das gelöscht wird, bevor der Dummy-Leseimpuls angelegt wird.
-
Beispiel 25 umfasst den Gegenstand von Beispiel 23, und gegebenenfalls, ferner umfassend: Anlegen des Dummy-Leseimpulses unmittelbar nach einem Start der Löschoperation.
-
Beispiel 26 umfasst den Gegenstand von Beispiel 23, und gegebenenfalls, ferner umfassend: Anlegen des Dummy-Leseimpulses ansprechend auf eine Bestimmung, dass eine Leseoperation zu implementieren ist.
-
Beispiel 27 umfasst den Gegenstand von Beispiel 23, und gegebenenfalls, wobei die eine oder die mehreren WLs alle WLs des Superblocks, Blocks oder Subblocks umfassen, die WLs des gelöschten Decks und des zu lesenden Decks umfassen.
-
Beispiel 28 umfasst den Gegenstand von Beispiel 23, und gegebenenfalls, wobei die eine oder die mehreren WLs nur WLs der einen oder der mehreren Speicherzellen umfassen.
-
Beispiel 29 umfasst den Gegenstand von Beispiel 23, wobei die eine oder die mehreren WLs alle WLs von allen zu lesenden Decks des Superblocks, Blocks oder Subblocks umfassen.
-
Beispiel 30 umfasst den Gegenstand von Beispiel 23, und gegebenenfalls, wobei die eine oder die mehreren WLs ferner WLs von Decks der Speichervorrichtung umfassen, die einen Weg zu einer Source oder einem Drain des Superblocks, Blocks oder Subblocks bereitstellen.
-
Beispiel 31 umfasst den Gegenstand von Beispiel 23, und gegebenenfalls, ferner umfassend: Anlegen des Dummy-Leseimpulses nach einer Vielzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 32 umfasst den Gegenstand von Beispiel 31, und gegebenenfalls, ferner umfassend: Anlegen des Dummy-Leseimpulses in regelmäßigen Intervallen, nachdem eine vorherbestimmte Anzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock vollendet wurde, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 33 umfasst den Gegenstand von Beispiel 32, und gegebenenfalls, wobei die vorherbestimmte Anzahl eine Zahl von 500 Zyklen bis zu 1000 Zyklen umfasst.
-
Beispiel 34 umfasst ein nicht transitorisches maschinenlesbares Speichermedium, welches darauf gespeicherte Instruktionen aufweist, wobei die Instruktionen, wenn sie von einer Maschine ausgeführt werden, die Maschine veranlassen: eine Löschoperation an einem Deck eines Superblocks, Blocks oder Subblocks einer dreidimensionalen (3D) nicht flüchtigen Speichervorrichtung zu implementieren, um ein gelöschtes Deck zu erhalten; einen Dummy-Leseimpuls an eine oder mehrere Wortleitungen (WLs) eines zu lesenden Decks des Superblocks, Blocks oder Subblocks anzulegen; und nach dem Anlegen des Dummy-Leseimpulses, eine Leseoperation an einer oder mehreren Speicherzellen entsprechend einer oder mehreren WLs zu implementieren, um Daten aus der einen oder den mehreren Speicherzellen zu lesen.
-
Beispiel 35 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die Instruktionen ferner die Maschine veranlassen, eine Löschaussetzoperation an einem Deck zu implementieren, das gelöscht wird, bevor der Dummy-Leseimpuls angelegt wird.
-
Beispiel 36 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die Instruktionen ferner die Maschine veranlassen, den Dummy-Leseimpuls unmittelbar nach einem Start der Löschoperation anzulegen.
-
Beispiel 37 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die Instruktionen ferner die Maschine veranlassen, den Dummy-Leseimpuls ansprechend auf eine Bestimmung anzulegen, dass eine Löschoperation zu implementieren ist.
-
Beispiel 38 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die eine oder die mehreren WLs alle WLs des Superblocks, Blocks oder Subblocks umfassen, die WLs des gelöschten Decks und des zu lesenden Decks umfassen.
-
Beispiel 39 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die eine oder die mehreren WLs nur WLs der einen oder der mehreren Speicherzellen umfassen.
-
Beispiel 40 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die eine oder die mehreren WLs alle WLs von allen zu lesenden Decks des Superblocks, Blocks oder Subblocks umfassen.
-
Beispiel 41 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die eine oder die mehreren WLs ferner WLs von Decks der Speichervorrichtung umfassen, die einen Weg zu einer Source oder einem Drain des Superblocks, Blocks oder Subblocks bereitstellen.
-
Beispiel 42 umfasst den Gegenstand von Beispiel 34, und gegebenenfalls, wobei die Instruktionen ferner die Maschine veranlassen, den Dummy-Leseimpuls nach einer Vielzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock anzulegen, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 43 umfasst den Gegenstand von Beispiel 42, und gegebenenfalls, wobei die Instruktionen ferner die Maschine veranlassen, den Dummy-Leseimpuls in regelmäßigen Intervallen, anzulegen nachdem eine vorherbestimmte Anzahl von Lösch- und Lesezyklen in Bezug auf den Superblock, Block oder Subblock vollendet wurde, wobei jeder Lösch- und Lesezyklus eine Löschoperation an einem Deck des Superblocks, Blocks oder Subblocks, das eine Säule der Speichervorrichtung mit der einen oder den mehreren Speicherzellen gemeinsam nutzt, und eine Leseoperation an der einen oder den mehreren Speicherzellen umfasst.
-
Beispiel 44 umfasst den Gegenstand von Beispiel 43, und gegebenenfalls, wobei die vorherbestimmte Anzahl eine Zahl von 500 Zyklen bis zu 1000 Zyklen umfasst.
-
Beispiel 45 umfasst eine Vorrichtung, umfassend: einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien, umfassend Instruktionen, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, das Verfahren, die Techniken oder Prozesse, wie in oder im Zusammenhang mit den obigen Beispielen beschrieben, oder Teile davon vorzunehmen.
-
Beispiel 46 umfasst ein elektromagnetisches Signal, das computerlesbare Instruktionen trägt, wobei die Ausführung der computerlesbaren Instruktionen durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren zu veranlassen hat, das Verfahren, die Techniken oder Prozesse, wie in oder im Zusammenhang mit den obigen Beispielen beschrieben, oder Teile davon vorzunehmen.
-
Beispiel 47 umfasst ein Computerprogramm, umfassend Instruktionen, wobei die Ausführung des Programms durch ein Verarbeitungselement das Verarbeitungselement zu veranlassen hat, das Verfahren, die Techniken oder Prozesse, wie in oder im Zusammenhang mit den obigen Beispielen beschrieben, oder Teile davon durchzuführen.
-
Eine Bezugnahme in dieser gesamten Beschreibung auf „eine Ausführungsform“ bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristik, die in Verbindung mit der Ausführungsform beschrieben werden, in mindestens einer Ausführungsform der vorliegenden Offenbarung eingeschlossen ist. Somit bezieht sich das Auftreten der Phrasen „in einer Ausführungsform“ oder „in einer einzelnen Ausführungsform“ an verschiedenen Stellen in dieser gesamten Beschreibung nicht unbedingt immer auf dieselbe Ausführungsform. Ferner können die bestimmten Merkmale, Strukturen oder Charakteristiken in einer beliebigen geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden.
-
In der obigen Beschreibung erfolgte eine detaillierte Beschreibung mit Bezugnahme auf spezifische Beispiele von Ausführungsformen. Es ist jedoch klar, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom breiteren Grundgedanken und Umfang der Offenbarung abzuweichen, wie in den beigeschlossenen Ansprüchen angegeben. Die Beschreibung und die Zeichnungen sind demgemäß in einem veranschaulichenden Sinn anstatt eines einschränkenden Sinns auszulegen. Ferner bezieht sich die vorstehende Verwendung einer Ausführungsform und anderer Beispielsprache nicht unbedingt auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann sich auf verschiedene und unterschiedliche Ausführungsformen sowie dieselbe Ausführungsform beziehen.