DE102017104257A1 - Auf Zellenstrom basierende Bitleitungsspannung - Google Patents

Auf Zellenstrom basierende Bitleitungsspannung Download PDF

Info

Publication number
DE102017104257A1
DE102017104257A1 DE102017104257.1A DE102017104257A DE102017104257A1 DE 102017104257 A1 DE102017104257 A1 DE 102017104257A1 DE 102017104257 A DE102017104257 A DE 102017104257A DE 102017104257 A1 DE102017104257 A1 DE 102017104257A1
Authority
DE
Germany
Prior art keywords
read
memory
cells
storage
bitline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017104257.1A
Other languages
English (en)
Inventor
Biswajit Ray
Gerrit Jan Hemink
Mohan Dunga
Bijesh Rajamohanan
Changyuan Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of DE102017104257A1 publication Critical patent/DE102017104257A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1204Bit line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines

Landscapes

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

Abstract

Geräte, Systeme, Verfahren und Computerprogrammprodukte sind zur Lesepegelbestimmung offenbart. Ein Block nichtflüchtiger Speicherungszellen weist eine Vielzahl von Bitleitungen auf. Eine Steuerung für einen Block ist eingerichtet zum Durchführen einer ersten Auslesung an einer Menge von Speicherungszellen unter Verwendung eines ersten Lesepegels für die Bitleitungen. Eine Steuerung ist eingerichtet zum Bestimmen eines zweiten Lesepegels für wenigstens einen Teil der Bitleitungen basierend wenigstens teilweise auf einer ersten Auslesung. Eine Steuerung ist eingerichtet zum Durchführen einer zweiten Auslesung an einer Menge von Speicherungszellen unter Verwendung eines zweiten Lesepegels für wenigstens einen Teil von Bitleitungen.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft in verschiedenen Ausführungsformen Speicherungsvorrichtungen und betrifft insbesondere auf Zellenstrom basierende Bitleitungsspannungen für Speicherungsvorrichtungen.
  • HINTERGRUND
  • Viele Datenspeicherungsvorrichtungen wie beispielsweise Flash-Speichervorrichtungen speichern Daten in Zellen von nichtflüchtigen Medien. Eine physikalische Eigenschaft jeder Zelle wie beispielsweise eine gespeicherte Ladung, Spannung, Materialphase, elektrischer Widerstand, Magnetisierung oder dergleichen ist zum Codieren von Daten veränderlich. Die physikalische Eigenschaft einer Zelle kann über einen Bereich veränderlich sein, der in diskrete Zustände aufgeteilt sein kann, so dass verschiedene Zustände verschiedenen Datenwerten entsprechen. Erfassen, ob die physikalische Eigenschaft der Zelle einer oder mehreren Leseschwellen innerhalb ihres Bereichs genügt (z.B. Spannungsschwellen, schwellenspezifischem Widerstand oder dergleichen) bestimmt den Zustand der Zelle und ermöglicht damit, einen gespeicherten Datenwert wiederzugewinnen.
  • Die physikalische Datencodierungseigenschaft einer Zelle kann sich durch Zellenbeschädigung, Ladungsleckverlust, Temperaturwirkungen, Störungen von Nachbarzellen, Herstellungsunterschieden oder dergleichen verändern. Zum Beispiel kann sich ein Pegel zum Erfassen des Zustands einer Zelle zwischen Zellen verändern. Mit zunehmender Speicherungsdichte schrumpft die Merkmalsgröße, wodurch die Zellen für solche Unterschiede anfälliger werden.
  • KURZDARSTELLUNG
  • Es werden Geräte zur Lesepegelbestimmung dargeboten. In einer Ausführungsform weist ein Block von nichtflüchtigen Speicherungszellen eine Vielzahl von Bitleitungen auf. Eine Steuerung für einen Block ist in gewissen Ausführungsformen eingerichtet zum Durchführen einer ersten Auslesung an einer Menge von Speicherungszellen mit einem ersten Lesepegel für die Bitleitungen. Eine Steuerung ist in einer Ausführungsform eingerichtet zum Bestimmen eines zweiten Lesepegels für wenigstens einen Teil von Bitleitungen basierend wenigstens teilweise auf einer ersten Auslesung. In einigen Ausführungsformen ist eine Steuerung eingerichtet zum Durchführen einer zweiten Auslesung an einer Menge von Speicherungszellen mit einem zweiten Lesepegel für wenigstens einen Teil von Bitleitungen.
  • Es werden Verfahren zur Lesepegelbestimmung dargeboten. Ein Verfahren umfasst in einer Ausführungsform Durchführen einer Schein-Auslesung an einer Speicherzelle. In einer weiteren Ausführungsform umfasst ein Verfahren Bestimmen einer Bitleitungseingabe für eine Bitleitung einer Speicherzelle basierend wenigstens teilweise auf einer Schein-Auslesung. Ein Verfahren umfasst in gewissen Ausführungsformen Durchführen einer Auslesung an einer Speicherzelle mit einer bestimmten Bitleitungseingabe.
  • Ein Gerät zur Lesepegelbestimmung umfasst in einer Ausführungsform Mittel zum Durchführen einer ersten Auslesung an Zellen eines nichtflüchtigen Speichermediums zum Bestimmen von Zellenströmen in den Zellen. In gewissen Ausführungsformen umfasst ein Gerät Mittel zum Bestimmen von Bitleitungsspannungen für eine Vielzahl von Bitleitungen entsprechend Zellen basierend auf bestimmten Zellenströmen für die Zellen. In einigen Ausführungsformen umfasst ein Gerät Mittel zum Durchführen einer zweiten Auslesung an Zellen mit bestimmten Bitleitungsspannungen für eine Vielzahl von Bitleitungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Eine ausführlichere Beschreibung ist unten mit Bezugnahme auf in den beiliegenden Zeichnungen dargestellte bestimmte Ausführungsformen enthalten. Mit dem Verständnis, dass diese Zeichnungen nur gewisse Ausführungsformen der Offenbarung zeigen und daher nicht als den Rahmen begrenzend anzusehen sind wird die Offenbarung mit zusätzlicher Bestimmtheit und Einzelheit durch Verwendung der beiliegenden Zeichnungen beschrieben und erläutert, in denen:
  • 1A eine schematische Blockschaltbilddarstellung einer Ausführungsform eines Systems zur Lesepegelbestimmung ist;
  • 1B eine schematische Blockschaltbilddarstellung einer weiteren Ausführungsform eines Systems zur Lesepegelbestimmung ist;
  • 2 eine schematische Blockschaltbilddarstellung einer Ausführungsform einer Kette von Speicherungszellen ist;
  • 3 eine schematische Blockschaltbilddarstellung einer Ausführungsform einer Anordnung von Speicherungszellen ist;
  • 4A eine Blockschaltbilddarstellung einer Ausführungsform einer Speicherstruktur mit zwei Ebenen ist;
  • 4B eine Ausführungsform einer Draufsicht eines Teils eines Blocks von Speicherzellen zeigt;
  • 4C eine Ausführungsform einer Querschnittsansicht eines Teils eines Blocks von Speicherzellen zeigt;
  • 4D eine Ausführungsform einer Ansicht von Gatterwahlschichten und Wortleitungsschichten zeigt;
  • 4E eine Ausführungsform einer Querschnittsansicht einer senkrechten Spalte von Speicherzellen zeigt;
  • 5 eine schematische Blockschaltbilddarstellung einer Ausführungsform einer Lesepegelbestimmungskomponente ist;
  • 6 eine schematische Blockschaltbilddarstellung einer weiteren Ausführungsform einer Lesepegelbestimmungskomponente ist;
  • 7 eine schematische Flussdiagrammdarstellung einer Ausführungsform eines Verfahrens zur Lesepegelbestimmung ist;
  • 8 eine schematische Flussdiagrammdarstellung einer weiteren Ausführungsform eines Verfahrens zur Lesepegelbestimmung ist;
  • 9A eine Graphendarstellung einer Ausführungsform von EIN-Stromveränderung in einer 3-D-Speicheranordnung ist;
  • 9B eine Graphendarstellung einer Ausführungsform eingestellter Spannungsanlegung in einer 3-D-Speicheranordnung ist;
  • 10A eine Graphendarstellung einer Ausführungsform von EIN-Stromveränderung einer Menge von Speicherzellen an einer Wortleitung ist;
  • 10B eine Graphendarstellung einer Ausführungsform von EIN-Stromveränderung einer Menge von Speicherzellen einer unterschiedlichen Wortleitung ist;
  • 10C eine Graphendarstellung einer Ausführungsform von EIN-Stromkorrelation zwischen Speicherzellen an unterschiedlichen Wortleitungen ist;
  • 10D eine Graphendarstellung einer Ausführungsform von EIN-Stromveränderung einer Menge von Speicherzellen an einer Wortleitung nach einer Anzahl von Programmier-/Löschzyklen ist;
  • 10E eine Graphendarstellung einer Ausführungsform von EIN-Stromveränderung einer Menge von Speicherzellen ist;
  • 10F eine Graphendarstellung einer Ausführungsform von EIN-Stromkorrelation zwischen Speicherzellen an unterschiedlichen Wortleitungen ist;
  • 10G eine Graphendarstellung einer Ausführungsform von EIN-Stromkorrelation zwischen Speicherzellen an unterschiedlichen Wortleitungen nach einer Anzahl von Programmier-/Löschzyklen ist;
  • 11 eine Graphendarstellung einer Ausführungsform eines EIN-Zellenstroms im Vergleich zu einer Bitleitungsspannung ist;
  • 12A eine schematische Blockschaltbilddarstellung einer Ausführungsform eines Speicherlochs ist; und
  • 12B eine schematische Blockschaltbilddarstellung einer weiteren Ausführungsform eines Speicherlochs ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Aspekte der vorliegenden Offenbarung können in Form einer Einrichtung, eines Systems, Verfahrens oder Computerprogrammprodukts ausgeführt sein. Dementsprechend können Aspekte der vorliegenden Offenbarung die Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform (einschließlich von Firmware, residenter Software, Mikrocode oder dergleichen) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform annehmen, die alle hier allgemein als eine "Schaltung", ein "Modul", eine "Einrichtung" oder ein "System" bezeichnet sein können. Weiterhin können Aspekte der vorliegenden Offenbarung die Form eines in einem oder mehreren nichtflüchtigen computerlesbaren Speicherungsmedien verkörperten Computerprogrammprodukts annehmen, die computerlesbaren und/oder -ausführbaren Programmcode speichern.
  • Viele der in der vorliegenden Beschreibung beschriebenen Funktionseinheiten sind als Module bezeichnet worden, um ihre Ausführungsunabhängigkeit bestimmter zu betonen. Zum Beispiel kann ein Modul als eine Hardwareschaltung mit kundenspezifischen VLSI-Schaltungen oder Gatteranordnungen, handelsübliche Halbleiter wie beispielsweise Logik-Chips, Transistoren oder sonstige diskrete Komponenten ausgeführt sein. Ein Modul kann auch in programmierbaren Hardwarevorrichtungen wie beispielsweise feldprogrammierbaren Gatteranordnungen, programmierbarer Logikanordnung, programmierbaren Logikvorrichtungen oder dergleichen ausgeführt sein.
  • Module können auch wenigstens teilweise in Software zur Ausführung durch verschiedene Arten von Prozessoren ausgeführt sein. Ein gekennzeichnetes Modul von ausführbarem Code kann zum Beispiel einen oder mehrere physikalische oder logische Blöcke von Computeranweisungen umfassen, die zum Beispiel als ein Objekt, ein Verfahren oder eine Funktion angeordnet sein kann. Trotzdem müssen sich die ausführbaren Elemente eines gekennzeichneten Moduls nicht physikalisch zusammen befinden sondern können an verschiedenen Orten gespeicherte getrennte Anweisungen umfassen, die, wenn sie logisch zusammengefügt werden, das Modul umfassen und den angegebenen Zweck für das Modul erreichen.
  • In der Tat kann ein Modul von ausführbarem Code eine einzelne Anweisung oder viele Anweisungen enthalten und kann auch über mehrere verschiedene Codeabschnitte, unter verschiedenen Programmen, über mehrere Speichervorrichtungen oder dergleichen verteilt sein. Wo ein Modul oder Teile eines Moduls in Software ausgeführt sind, können die Softwareteile auf einem oder mehreren computerlesbaren und/oder -ausführbaren Speicherungsmedien gespeichert sein. Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Speicherungsmedien benutzt werden. Ein computerlesbares Speicherungsmedium kann beispielsweise ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), infrarote(s) oder Halbleitersystem, -gerät oder -vorrichtung oder jede geeignete Kombination der vorangehenden umfassen, ist aber nicht darauf begrenzt, und würde aber nicht die Ausbreitung von Signalen umfassen. In Zusammenhang mit der vorliegenden Schrift kann ein computerlesbares und/oder -ausführbares Speicherungsmedium jedes fassbare und/oder nichtflüchtige Medium sein, dass ein Programm zur Verwendung durch oder in Verbindung mit einem/einer Anweisungsausführungssystem, -gerät, -prozessor oder -vorrichtung enthalten oder speichern kann.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Offenbarung kann in jeder Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache wie beispielsweise Python, Java, Smalltalk, C++, C#, Objective C oder dergleichen, herkömmlichen Prozedur-Programmiersprachen wie beispielsweise der Programmiersprache "C", Skriptsprachen und/oder sonstigen ähnlichen Programmiersprachen. Der Programmcode kann teilweise oder vollständig auf einem oder mehreren eines Benutzerrechners und/oder auf einem entfernten Rechner oder Server über ein Datennetz oder dergleichen ablaufen.
  • Eine Komponente sowie sie hier benutzt wird umfasst eine fassbare physikalische nichtflüchtige Vorrichtung. Zum Beispiel kann eine Komponente als eine Hardware-Logikschaltung mit kundenspezifischen VLSI-Schaltungen, Gatteranordnungen und sonstigen integrierten Schaltungen, handelsübliche Halbleiter wie beispielsweise Logik-Chips, Transistoren oder sonstige diskrete Vorrichtungen; und/oder sonstige mechanische oder elektrische Vorrichtungen ausgeführt sein. Eine Komponente kann auch in programmierbaren Hardware-Vorrichtungen wie beispielsweise feldprogrammierbaren Gatteranordnungen, programmierbarer Logikanordnung, programmierbaren Logikvorrichtungen oder dergleichen ausgeführt sein. Eine Komponente kann eine oder mehrere integrierte Silizium-Schaltungsvorrichtungen (z.B. Chips, Matrizen, Matrizenebenen, Packungen) oder sonstige diskrete elektrische Vorrichtungen in elektrischer Kommunikation mit einer oder mehreren anderen Komponenten durch elektrische Leitungen einer Leiterplatte (PCB – Printed Circuit Board) oder dergleichen umfassen. Jedes der hier beschriebenen Module kann in gewissen Ausführungsformen alternativ durch eine Komponente verkörpert oder als eine Komponente ausgeführt sein.
  • Bezugnahme in dieser gesamten Beschreibung auf "eine Ausführungsform" oder ähnliche Sprache bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben wird, in wenigstens einer Ausführungsform der vorliegenden Offenbarung aufgenommen ist. So können Erscheinungen der Phrasen "in einer Ausführungsform" und ähnlicher Sprache in dieser gesamten Beschreibung sich alle auf die gleiche Ausführungsform beziehen, aber nicht unbedingt, bedeuten jedoch "eine oder mehrere aber nicht alle Ausführungsformen", sofern nicht ausdrücklich anders angegeben. Die Begriffe "einschließlich", "umfassend", "aufweisend" und Variationen derselben bedeuten "einschließlich von aber nicht begrenzt auf" sofern nicht ausdrücklich anders angegeben. Eine aufgezählte Tabellierung von Gegenständen bedeutet nicht, dass beliebige oder alle der Gegenstände gegenseitig ausschließlich und/oder gegenseitig einschließlich sind, sofern nicht ausdrücklich anders angegeben. Die Begriffe "ein" und "der, die, das" beziehen sich auch auf "einen oder mehrere", sofern nicht ausdrücklich anders angegeben.
  • Aspekte der vorliegenden Offenbarung sind unten unter Bezugnahme auf schematische Flussdiagramme und/oder schematische Blockdiagramme von Verfahren, Einrichtungen, Systemen und Computerprogrammprodukten nach Ausführungsformen der Offenbarung beschrieben. Es versteht sich, dass jeder Block der schematischen Flussdiagramme und/oder schematischen Blockdiagramme und Kombinationen von Blöcken in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen durch Computerprogrammanweisungen ausgeführt werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Rechners oder einer sonstigen programmierbaren Datenverarbeitungseinrichtung bereitgestellt werden, um eine Maschine herzustellen, so dass die Anweisungen, die über den Prozessor oder sonstige programmierbare Datenverarbeitungseinrichtungen ablaufen, Mittel zum Ausführen der in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen oder Blöcken spezifizierten Funktionen und/oder Vorgänge erstellen.
  • Auch ist zu beachten, dass in einigen alternativen Ausführungen die im Block bezeichneten Funktionen außerhalb der in den Figuren bemerkten Reihenfolge auftreten können. Zum Beispiel können zwei in Reihenfolge gezeigte Blöcke in der Tat im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden in Abhängigkeit von der beteiligten Funktionalität. Andere Schritte und Verfahren sind vorstellbar, die in Funktion, Logik oder Auswirkung einem oder mehreren Blöcken oder Teilen derselben der dargestellten Figuren gleichwertig sind. Obwohl verschiedene Pfeilarten und Linienarten in dem Flussdiagramm und/oder den Blockdiagrammen eingesetzt sein können, sind sie als nicht den Rahmen der entsprechenden Ausführungsformen begrenzend verstanden. Zum Beispiel kann ein Pfeil eine Warte- oder Überwachungszeit unbestimmter Dauer zwischen aufgezählten Schritten und der dargestellten Ausführungsform anzeigen.
  • In der nachfolgenden ausführlichen Beschreibung wird auf die beiliegenden Zeichnungen Bezug genommen, die einen Teil derselben bilden. Die vorangehende Kurzdarstellung ist nur beispielhaft und soll auf keine Weise begrenzend sein. Zusätzlich zu den beispielhaften Aspekten, Ausführungsformen und oben beschriebenen Merkmalen werden durch Bezugnahme auf die Zeichnungen und die nachfolgende ausführliche Beschreibung weitere Aspekte, Ausführungsformen und Merkmale offenbar werden. Die Beschreibung von Elementen jeder Figur können sich auf Elemente von vorangehenden Figuren beziehen. Gleiche Ziffern können auf gleiche Elemente in den Figuren Bezug nehmen einschließlich alternative Ausführungsformen von gleichen Elementen.
  • 1A ist ein Blockschaltbild einer Ausführungsform eines Systems 100 mit einer Lesepegelbestimmungskomponente 150 für eine nichtflüchtige Speichervorrichtung 120. Die Lesepegelbestimmungskomponente 150 kann Teil von und/oder in Kommunikation mit einer nichtflüchtigen Speichermediensteuerung 126, einem nichtflüchtigen Speicherelement 123, einem Vorrichtungstreiber oder dergleichen sein. Die Lesepegelbestimmungskomponente 150 kann an einem nichtflüchtigen Speichersystem 102 einer Rechenvorrichtung 110 betrieben werden, die einen Prozessor 111, flüchtigen Speicher 112 und eine Kommunikationsschnittstelle 113 umfassen kann. Der Prozessor 111 kann eine oder mehrere Zentralverarbeitungseinheiten, einen oder mehrere Mehrzweckprozessoren, einen oder mehrere anwendungsspezifische Prozessoren, einen oder mehrere virtuelle Prozessoren (z.B. die Rechenvorrichtung 110 kann eine in einem Host fungierende virtuelle Maschine sein), einen oder mehrere Prozessorkerne oder dergleichen umfassen. Die Kommunikationsschnittstelle 113 kann eine oder mehrere Netzschnittstellen, eingerichtet zum kommunikationstechnischen Ankoppeln der Rechenvorrichtung 110 und/oder der nichtflüchtigen Speichersteuerung 126 an ein Kommunikationsnetz 115 wie beispielsweise ein Internet-Protocol(IP)-Netz, ein Speicherungsbereichsnetz (SAN – Storage Area Network), drahtloses Netz, drahtgebundenes Netz oder dergleichen, umfassen.
  • Die nichtflüchtige Speichervorrichtung 120 kann in verschiedenen Ausführungsformen an einem oder mehreren unterschiedlichen Orten bezüglich der Rechenvorrichtung 110 angeordnet sein. In einer Ausführungsform umfasst die nichtflüchtige Speichervorrichtung 120 ein oder mehrere nichtflüchtige Speicherelemente 123 wie beispielsweise Halbleiterchips oder -packungen oder sonstige integrierte Schaltungsvorrichtungen, angeordnet auf einer oder mehreren Leiterplatten, Speicherungsgehäusen und/oder sonstigen mechanischen und/oder elektrischen Tragstrukturen. Zum Beispiel kann die nichtflüchtige Speichervorrichtung 120 eine oder mehrere direkt in Reihe geschaltete Speichermodul(DIMM – (Direct Inline Memory Module)-Karten eine oder mehrere Erweiterungskarten und/oder Tochterkarten, eine Festkörperantriebs(SSD – Solid-State-Drive)– oder sonstige Festplattenlaufwerkvorrichtung umfassen und/oder kann einen sonstigen Speicher- und/oder Speicherungsformfaktor aufweisen. Die nichtflüchtige Speichervorrichtung 120 kann integriert sein mit und/oder befestigt sein auf einer Mutterplatte der Rechenvorrichtung 110, eingebaut sein in einem Anschluss und/oder Schlitz der Rechenvorrichtung 110, eingebaut sein in einer unterschiedlichen Rechenvorrichtung 110 und/oder einer fest zugeordneten Speicherungseinrichtung im Netz 115, in Kommunikation mit einer Rechenvorrichtung 110 über einen Außenbus (z.B. ein äußeres Festplattenlaufwerk) oder dergleichen sein.
  • Die nichtflüchtige Speichervorrichtung 120 kann in einer Ausführungsform auf einem Speicherbus eines Prozessors 111 angeordnet sein (z.B. auf dem gleichen Speicherbus wie der flüchtige Speicher 112, auf einem unterschiedlichen Speicherbus von dem flüchtigen Speicher 112, an der Stelle des flüchtigen Speichers 112, oder dergleichen). In einer weiteren Ausführungsform kann die nichtflüchtige Speichervorrichtung 120 auf einem Peripheriebus der Rechenvorrichtung 110 angeordnet sein wie beispielsweise ein PCI-Express- oder PCIe-Bus (Peripheral Component Interconnect Express Bus), ein SATA-Bus (Serial Advanced Technology Attachment), ein PATA-Bus (Parallel Advanced Technology Attachment), ein SCSI-Bus (Small Computer System Interface), ein FireWire-Bus, eine Faserkanalverbindung, ein USB-Bus (Universal Serial Bus), einem PCIe-Advanced-Switching(PCIe-AS)-Bus oder dergleichen. In einer anderen Ausführungsform kann die nichtflüchtige Speichervorrichtung 120 auf einem Datennetz 115 angeordnet sein wie beispielsweise einem Ethernet-Netz, einem Infiniband-Netz, SCSI RDMA über einem Netz 115, einem Speicherungsbereichsnetz (SAN – Storage Area Network), einem Ortsnetz (LAN – Local Area Network), einem Weitbereichsnetz (WAN – Wide Area Network) wie beispielsweise das Internet, ein anderes drahtgebundenes und/oder drahtloses Netz 115 oder dergleichen.
  • Die Rechenvorrichtung 110 kann weiterhin ein nichtflüchtiges computerlesbares Speicherungsmedium 114 umfassen. Das computerlesbare Speicherungsmedium 114 kann ausführbare Anweisungen eingerichtet zum Veranlassen der Rechenvorrichtung 110 (z.B. Prozessor 111) zum Durchführen von Schritten von einem oder mehreren hier besprochenen Verfahren umfassen. Alternativ oder zusätzlich kann die Lesepegelbestimmungskomponente 150 als eine oder mehrere, auf dem nichtflüchtigen Speicherungsmedium 114 gespeicherte computerlesbare Anweisungen ausgeführt sein.
  • Das nichtflüchtige Speichersystem 102 in der dargestellten Ausführungsform umfasst eine Lesepegelbestimmungskomponente 150. Die Lesepegelbestimmungskomponente 150 ist in einer Ausführungsform eingerichtet zum Verwalten einer Folge von Lesedaten für die unten beschriebene nichtflüchtige Speichervorrichtung 120. Die Lesepegelbestimmungskomponente 150 kann in gewissen Ausführungsformen eine erste Auslesung an einem Satz von Speicherungszellen einer Bitleitung unter Verwendung eines ersten Lesepegels durchführen. Die Lesepegelbestimmungskomponente 150 kann auch einen zweiten Lesepegel für die Bitleitung basierend wenigstens teilweise auf der ersten Auslesung bestimmen. Die Lesepegelbestimmungskomponente 150 kann eine zweite Auslesung an dem Satz von Speicherungszellen unter Verwendung des zweiten Lesepegels durchführen.
  • In einer Ausführungsform kann die Lesepegelbestimmungskomponente 150 eine Logikhardware von einer oder mehreren nichtflüchtigen Speichervorrichtungen 120 wie beispielsweise eine nichtflüchtige Speichermediensteuerung 126, ein nichtflüchtiges Speicherelement 123, eine Vorrichtungssteuerung, eine feldprogrammierbare Gatteranordnung (FPGA – Field-Programmable Gate Array) oder sonstige programmierbare Logik, Firmware für ein FPGA oder sonstige programmierbare Logik, Mikrocode zur Ausführung auf einer Mikrosteuerung, eine anwendungsspezifische integrierte Schaltung (ASIC – Application-Specific Integrated Circuit) oder dergleichen umfassen. In einer anderen Ausführungsform kann die Lesepegelbestimmungskomponente 150 ausführbaren Softwarecode wie beispielsweise einen Vorrichtungstreiber oder dergleichen gespeichert auf dem computerlesbaren Speicherungsmedium 114 zur Ausführung auf dem Prozessor 111 umfassen. In einer weiteren Ausführungsform kann die Lesepegelbestimmungskomponente 150 eine Kombination von sowohl ausführbarem Softwarecode als auch Logikhardware enthalten.
  • In einer Ausführungsform ist die Lesepegelbestimmungskomponente 150 eingerichtet zum Empfangen von Speicherungsanfragen von einem Vorrichtungstreiber oder einer sonstigen ausführbaren Anwendung über einen Bus 125 oder dergleichen. Die Lesepegelbestimmungskomponente 150 kann weiterhin eingerichtet sein zum Übertragen von Daten zu/von einem Vorrichtungstreiber und/oder Speicherungsclients 116 über den Bus 125. Dementsprechend kann die Lesepegelbestimmungskomponente 150 in einigen Ausführungsformen ein oder mehrere Speicherdirektzugriffsmodule (DMA – Direct Memory Access), Fern-DMA-Module, Bussteuerungen, Brücken, Puffer usw. umfassen oder in Kommunikation mit diesen stehen, um die Übertragung von Speicherungsanfragen und damit verbundenen Daten zu erleichtern. In einer anderen Ausführungsform kann die Lesepegelbestimmungskomponente 150 Speicherungsanfragen als ein API-Anruf von einem Speicherungsclient 116, ein IO-CTL-Befehl oder dergleichen empfangen.
  • Gemäß verschiedenen Ausführungsformen kann eine mit einer oder mehreren Programmfolgekomponenten 150 in Kommunikation stehende nichtflüchtige Speichersteuerung 126 eine oder mehrere nichtflüchtige Speichervorrichtungen 120 und/oder nichtflüchtige Speicherelemente 123 verwalten. Die nichtflüchtige(n) Speichervorrichtung(en) 120 kann (können) Aufzeichnungs-, Speicher- und/oder Speicherungsvorrichtungen wie beispielsweise Festkörperspeicherungsvorrichtung(en) und/oder Halbleiterspeicherungsvorrichtung(en) umfassen, die in eine Vielzahl von adressierbaren Medienspeicherungsstellen angeordnet und/oder aufgeteilt sind. Sowie sie hier benutzt wird bezieht sich eine Medienspeicherungsstelle auf jede physikalische Speicherungseinheit (z.B. jede Menge von physikalischen Speicherungsmedien auf einer nichtflüchtigen Speichervorrichtung 120). Speichereinheiten können Seiten, Speicherdivisionen, Blöcke, Sektoren, Ansammlungen oder Mengen von physikalischen Speicherungstellen (z.B. logische Seiten, logische Blöcke) oder dergleichen enthalten, sind aber nicht darauf begrenzt.
  • Ein Vorrichtungstreiber und/oder die nichtflüchtige Speichermediensteuerung 126 können in gewissen Ausführungsformen einen logischen Adressenraum 134 für die Speicherungsclients 116 bieten. So wie er hier benutzt wird bezieht sich ein logischer Adressenraum 134 auf eine logische Darstellung von Speicherressourcen. Der logische Adressraum 134 kann eine Vielzahl (z.B. Reihe) von logischen Adressen umfassen. Sowie sie hier benutzt wird bezieht sich eine logische Adresse auf jede Kennung zur Bezugnahme auf eine Speicherressource (z.B. Daten) einschließlich von aber nicht begrenzt auf eine logische Blockadresse (LBA), Zylinder/Kopf/Sektor(CHS – Cylinder/Head/Sector)-Adresse, einen Dateinamen, eine Objektkennung, einen I-Knoten, eine universell einmalige Kennung (UUID – Universally Unique Identifier), eine global einmalige Kennung (GUID – Globally Unique Identifier), einen Rautencode, eine Signatur, einen Index-Eintrag, einen Bereich, ein Ausmaß oder dergleichen.
  • Ein Vorrichtungstreiber für die nichtflüchtige Speichervorrichtung 120 kann Metadaten 135 unterhalten, wie beispielsweise eine Abbildungsstruktur logischer zu physikalischer Adresse zum Abbilden logischer Adressen des logischen Adressraums 134 auf Medienspeicherungsstellen auf der (den) nichtflüchtigen Speichervorrichtung(en) 120. Ein Vorrichtungstreiber kann eingerichtet sein zum Bereitstellen von Speicherungsdiensten für eine oder mehrere Speicherungsclients 116. Die Speicherungsclients 116 können auf der Rechenvorrichtung 110 betriebene Ortsspeicherungsclients 116 und/oder über das Netz 115 und/oder die Netzschnittstelle 113 zugängliche abgesetzte Speicherungsclients 116 umfassen. Die Speicherungsclients 116 können Betriebssysteme, Dateisysteme, Datenbankanwendungen, Serveranwendungen, Verfahren auf Kernebene, Verfahren auf Benutzerebene, Anwendungen und dergleichen umfassen, sind aber nicht darauf begrenzt.
  • Ein Vorrichtungstreiber kann kommunikationstechnisch an eine oder mehrere nichtflüchtige Speichervorrichtungen 120 angekoppelt sein. Die eine oder die mehreren nichtflüchtigen Speichervorrichtungen 120 können verschiedene Arten von nichtflüchtigen Speichervorrichtungen umfassen, einschließlich von aber nicht begrenzt auf: nichtflüchtigen Speichervorrichtungen, Halbleiterspeicherungsvorrichtungen, SAN-Speicherungsressourcen oder dergleichen. Die eine oder mehreren nichtflüchtigen Speichervorrichtungen 120 können eine oder mehrere jeweilige nichtflüchtige Speichermediensteuerungen 126 und nichtflüchtige Speichermedien 122 umfassen. Ein Vorrichtungstreiber kann Zugang zu der einen oder den mehreren nichtflüchtigen Speichervorrichtungen 120 über eine herkömmliche Block-E/A-Schnittstelle 131 bereitstellen. Zusätzlich kann ein Vorrichtungstreiber Zugang zu erweiterter Funktionalität über die SCM-Schnittstelle 132 bereitstellen. Die Metadaten 135 können zum Verwalten und/oder Verfolgen von Datenoperationen durchgeführt durch eine beliebige von der Block-E/A-Schnittstelle 131, SCM-Schnittstelle 132, Cache-Schnittstelle 133 oder sonstige verwandte Schnittstellen benutzt werden.
  • Die Cache-Schnittstelle 133 kann über einen Vorrichtungstreiber zugängliche Cache-spezifische Merkmale für die nichtflüchtige Speichervorrichtung 120 freilegen. Auch bietet in einigen Ausführungsformen die den Speicherungsclients 116 dargebotene SCM-Schnittstelle 132 Zugang zu durch die eine oder die mehreren nichtflüchtigen Speichervorrichtungen 120 und/oder die eine oder die mehreren nichtflüchtigen Speichermediensteuerungen 126 ausgeführten Datentransformationen.
  • Ein Vorrichtungstreiber kann den Speicherungsclient 116 durch eine oder mehrere Schnittstellen einen logischen Adressraum 134 bieten. Wie oben besprochen kann der logische Adressraum 134 eine Vielzahl von logischen Adressen umfassen, die jeweils jeweiligen Medienstellen der einen oder der mehreren nichtflüchtigen Speichervorrichtungen 120 entsprechen. Ein Vorrichtungstreiber kann Metadaten 135 umfassend "Any-To-Any"-Abbildungen zwischen logischen Adressen und Medienstellen oder dergleichen umfassen.
  • Ein Vorrichtungstreiber kann weiterhin eine nichtflüchtige Speichervorrichtungsschnittstelle 139 eingerichtet zum Übertragen von Daten, Befehlen und/oder Anfragen zu der einen oder den mehreren nichtflüchtigen Speichervorrichtungen 120 über einen Bus 125 umfassen, oder damit in Verbindung stehen, der umfassen kann, aber nicht darauf begrenzt ist: einen Speicherbus eines Prozessors 111, einen PCI Express- oder PCIe-Bus, einen seriellen ATA-Bus (Advanced Technology Attachment), einen parallelen ATA-Bus, eine kleine Computersystemschnittstelle (SCSI – Small Computer System Interface), FireWire, Faserkanal, einen universellen seriellen Bus (USB), einen PCIe Advanced Switching(PCIe-AS)-Bus, ein Netz 115, Infiniband, SCSI RDMA oder dergleichen. Die nichtflüchtige Speichervorrichtungsschnittstelle 139 kann mit der einen oder den mehreren nichtflüchtigen Speichervorrichtungen 120 unter Verwendung von Eingangs-Ausgangs-Steuerungsbefehl(en) (IO-CTL – Input-Output Control), IO-CTL-Befehlserweiterung(en), abgesetztem Speicherdirektzugriff oder dergleichen kommunizieren.
  • Die Kommunikationsschnittstelle 113 kann eine oder mehrere Netzschnittstellen eingerichtet zum kommunikationstechnischen Ankoppeln der Rechenvorrichtung 110 und/oder der nichtflüchtigen Speichersteuerung 126 an ein Netz 115 und/oder an einen oder mehrere entfernte netzzugängliche Speicherungsclients 116 umfassen. Die Speicherungsclients 116 können auf der Rechenvorrichtung 110 betriebene und/oder über das Netz 115 und/oder die Netzschnittstelle 113 zugängliche entfernte Speicherungsclients 116 umfassen. Die nichtflüchtige Speichersteuerung 126 bildet Teil von und/oder steht in Kommunikation mit einer und/oder mehreren nichtflüchtigen Speichervorrichtungen 120. Obwohl 1A eine einzelne nichtflüchtige Speichervorrichtung 120 zeigt, ist die Offenbarung in dieser Hinsicht nicht begrenzt und könnte eingerichtet sein, eine beliebige Anzahl von nichtflüchtigen Speichervorrichtungen 120 aufzunehmen.
  • Die nichtflüchtige Speichervorrichtung 120 kann ein oder mehrere Elemente 123 von nichtflüchtigen Speichermedien 122 umfassen, wozu: ReRAM, Memristor-Speicher, programmierbarer Metallisierungszellenspeicher, Phasenänderungsspeicher (PCM, PCME, PRAM, PCRAM, ovonischer vereinigter Speicher, Chalcogenid-RAM oder C-RAM), NAND-Flash-Speicher (z.B. 2D-NAND-Flash-Speicher, 3D-NAND-Flash-Speicher), NOR-Flash-speicher, Nano-Direktzugriffsspeicher (Nano-RAM oder NRAM), nanokristalldraht-basierter Speicher, siliziumoxidbasierter Sub-10-Nanometer-Prozessspeicher, Graphenspeicher, Siliziumoxid-Nitrid-Oxid-Silizium (SONOS), programmierbare Metallisierungszelle (PMC – Programmable Metallization Cell), leitfähiger Überbrückungs-RAM (CBRAM – Conductive-Bridging RAM), magnetoresistiver RAM (MRAM), Magnetspeicherungsmedien (z.B. Festplatte, Band), optische Speicherungsmedien oder dergleichen gehören können, aber nicht darauf begrenzt sind. Das eine oder die mehreren Elemente 123 von nichtflüchtigen Speichermedien 122 umfassen in gewissen Ausführungsformen Speicherungsklassenspeicher (SCM – Storage Class Memory).
  • Während Vorläufertechniken wie beispielsweise NAND-Flash block- und/oder seitenadressierbar sein können, ist Speicherungsklassenspeicher in einer Ausführungsform Byte-adressierbar. In weiteren Ausführungsformen kann Speicherungsklassenspeicher schneller sein und/oder eine längere Lebensdauer (z.B. Beanspruchungsdauer) als NAND-Flash aufweisen, kann geringere Kosten aufweisen, weniger Leistung beanspruchen und/oder eine höhere Speicherungsdichte als DRAM aufweisen; oder einen oder mehrere sonstige Nutzen oder Verbesserungen im Vergleich zu anderen Technologien anbieten. Zum Beispiel kann Speicherungsklassenspeicher ein oder mehrere nichtflüchtige Speicherelemente 123 von ReRAM, Memristor-Speicher, programmierbarem Metallisierungszellenspeicher, Phasenänderungsspeicher, Nano-RAM, nanokristalldrahtbasiertem Speicher, siliziumoxidbasiertem Sub-10-Nanometer-Prozessspeicher, Graphenspeicher, SONOS-Speicher, PMC-Speicher, CBRAM, MRAM und/oder Variationen derselben umfassen.
  • Während das nichtflüchtige Speichermedium 122 hier als "Speichermedium" bezeichnet wird, kann in verschiedenen Ausführungsformen das nichtflüchtige Speichermedium 122 allgemeiner ein oder mehrere nichtflüchtige Aufzeichnungsmedien fähig zur Aufzeichnung von Daten umfassen, das als ein nichtflüchtiges Speichermedium, ein nichtflüchtiges Speicherungsmedium und dergleichen bezeichnet werden kann. Weiterhin kann die nichtflüchtige Speichervorrichtung 120 in verschiedenen Ausführungsformen eine nichtflüchtige Aufzeichnungsvorrichtung, eine nichtflüchtige Speichervorrichtung, eine nichtflüchtige Speicherungsvorrichtung oder dergleichen umfassen.
  • Das nichtflüchtige Speichermedium 122 kann ein oder mehrere nichtflüchtige Speicherelemente 123 umfassen, zu denen Chips, Packungen, Ebenen, Matrizen oder dergleichen gehören können, aber nicht darauf begrenzt sind. Eine nichtflüchtige Speichermediensteuerung 126 kann eingerichtet sein zum Verwalten von Datenoperationen an dem nichtflüchtigen Speichermedium 122 und kann einen oder mehrere Prozessoren, programmierbare Prozessoren (z.B. FPGAs), ASICs, Mikrosteuerungen oder dergleichen umfassen. In einigen Ausführungsformen ist die nichtflüchtige Speichermediensteuerung 126 eingerichtet zum Speichern von Daten auf und/oder Auslesen von Daten aus dem nichtflüchtigen Speichermedium 122 zum Übertragen von Daten zu/von der nichtflüchtigen Speichervorrichtung 120, und so weiter.
  • Die nichtflüchtige Speichermediensteuerung 126 kann kommunikationstechnisch an das nichtflüchtige Speichermedium 122 über einen Bus 127 angekoppelt sein. Der Bus 127 kann einen E/A-Bus zum Übermitteln von Daten zu/von den nichtflüchtigen Speicherelementen 123 umfassen. Der Bus 127 kann weiterhin einen Steuerbus zum Übermitteln von Adressierungs- und sonstigen Befehls- und Steuerungsinformationen zu den nichtflüchtigen Speicherelementen 123 umfassen. In einigen Ausführungsformen kann der Bus 127 die nichtflüchtigen Speicherelemente 123 kommunikationstechnisch parallel an die nichtflüchtige Speichermediensteuerung 126 ankoppeln. Dieser parallele Zugang kann den nichtflüchtigen Speicherelementen 123 ermöglichen, als eine Gruppe verwaltet zu werden, die ein logisches Speicherelement 129 bildet. Das logische Speicherelement kann in jeweilige logische Speichereinheiten (z.B. logische Seiten) und/oder logische Speicherdivisionen (z.B. logische Blöcke) aufgeteilt sein. Die logischen Speichereinheiten können durch logisches Kombinieren physikalischer Speichereinheiten jedes der flüchtigen Speicherelemente gebildet werden.
  • Die nichtflüchtige Speichersteuerung 126 kann einen Block von Wortleitungen innerhalb eines nichtflüchtigen Speicherelements 123 in gewissen Ausführungsformen unter Verwendung von Adressen der Wortleitungen so anordnen, dass die Wortleitungen logisch in eine monoton zunehmende Folge angeordnet werden (z.B. durch Decodieren und/oder Übersetzen von Adressen für Wortleitungen in eine monoton zunehmende Reihenfolge oder dergleichen). In einer weiteren Ausführungsform können Wortleitungen eines Blocks innerhalb eines nichtflüchtigen Speicherelements 123 physikalisch in einer monoton zunehmenden Folge von Wortleitungsadressen angeordnet sein mit fortlaufend adressierten Wortleitungen, die ebenfalls physikalisch benachbart sind (z.B. WL0, WL1, WL2, ... WLN).
  • Die nichtflüchtige Speichersteuerung 126 kann einen Vorrichtungstreiber umfassen und/oder in Verbindung mit ihm stehen, der auf der Rechenvorrichtung 110 abläuft. Ein Vorrichtungstreiber kann Speicherungsdienste für die Speicherungsclients 116 über eine oder mehrere Schnittstellen 131, 132 und/oder 133 bereitstellen. In einigen Ausführungsformen wird durch einen Vorrichtungstreiber eine Blockvorrichtungs-E/A-Schnittstelle 131 bereitgestellt, durch die Speicherungsclients 116 E/A-Operationen auf Blockebene durchführen. Alternativ oder zusätzlich kann ein Vorrichtungstreiber eine SCM-Schnittstelle 132 (SCM – Storage Class Memory – Speicherungsklassenspeicher) bereitstellen, die sonstige Speicherungsdienste für die Speicherungsclients 116 bereitstellen kann. In einigen Ausführungsformen kann die SCM-Schnittstelle 132 Erweiterungen für die Blockvorrichtungsschnittstelle 131 umfassen (z.B. Speicherungsclienten 116 können auf die SCM-Schnittstelle 132 durch Erweiterungen oder Zusätze zu der Blockvorrichtungsschnittstelle 131 zugreifen). Alternativ oder zusätzlich kann die SCM-Schnittstelle 132 als eine getrennte API, ein getrennter Dienst und/oder eine getrennte Bibliothek bereitgestellt werden. Ein Vorrichtungstreiber kann weiterhin eingerichtet sein zum Bereitstellen einer Cache-Schnittstelle 133 zum Auslagern von Daten unter Verwendung des nichtflüchtigen Speichersystems 102.
  • Ein Vorrichtungstreiber kann weiterhin eine nichtflüchtige Speichervorrichtungsschnittstelle 139 umfassen, die wie oben beschrieben zum Übertragen von Daten, Befehlen und/oder Anfragen zu der nichtflüchtigen Speichermediensteuerung 126 über einen Bus 125 eingerichtet ist.
  • 1B zeigt eine Ausführungsform einer nichtflüchtigen Speicherungsvorrichtung 210, die ein oder mehrere Speichermatrizen oder Chips 212 umfassen kann. Speichermatrize 212 umfasst in einigen Ausführungsformen eine (zweidimensionale oder dreidimensionale) Anordnung von Speicherzellen 200, Matrizensteuerung 220 und Schreib/Leseschaltungen 230A/230B. In einer Ausführungsform ist Zugang zu der Speicheranordnung 200 durch die verschiedenen Peripherieschaltungen auf symmetrische Weise auf gegenüberliegenden Seiten der Anordnung ausgeführt, so dass die Dichten von Zugangsleitungen und Schaltungen auf jeder Seite um die Hälfte verringert sind. Die Schreib/Leseschaltungen 230A/230B umfassen in einer weiteren Ausführungsform vielfache Erfassungsblöcke 250, die paralleles Lesen oder Programmieren einer Seite von Speicherzellen erlauben.
  • Die Speicheranordnung 200 ist in verschiedenen Ausführungsformen durch Wortleitungen über Zeilendecodierer 240A/240B und durch Bitleitungen über Spaltendecodierer 242A/242B adressierbar. In einigen Ausführungsformen ist eine Steuerung 244 in der gleichen Speichervorrichtung 210 enthalten (z.B. einer herausnehmbaren Speicherungskarte oder -packung) wie die eine oder mehreren Speichermatrizen 212. Befehle und Daten werden zwischen dem Host und der Steuerung 244 über Leitungen 232 und zwischen der Steuerung und der einen oder den mehreren Speichermatrizen 212 über Leitungen 234 übertragen. Eine Ausführung kann mehrere Chips 212 umfassen.
  • Matrizensteuerung 220 wirkt in einer Ausführungsform mit den Schreib-/Leseschaltungen 230A/230B zum Durchführen von Speicheroperationen an der Speicheranordnung 200 zusammen. Die Matrizensteuerung 220 umfasst in gewissen Ausführungsformen eine Lesepegelbestimmungskomponente 150, eine Zustandsmaschine 222 und einen chipinternen Adressdecodierer 224. In einer Ausführungsform umfasst die Zustandsmaschine 222 wenigstens einen Teil der Lesepegelbestimmungskomponente 150. In einer weiteren Ausführungsform umfasst die Steuerung 244 wenigstens einen Teil der Lesepegelbestimmungskomponente 150.
  • Die Lesepegelbestimmungskomponente 150 ist in einer Ausführungsform eingerichtet zum Durchführen einer Schein-Auslesung an einer ausgewählten Speicherzelle oder mehreren Speicherzellen in einer NAND-Kette, Bestimmen einer Bitleitungseingabe für eine mit der ausgewählten Speicherzelle oder den mehreren Speicherzellen in einer NAND-Kette verbundenen Bitleitung basierend wenigstens teilweise auf der Schein-Auslesung und Durchführen einer Auslesung an der ausgewählten Speicherzelle unter Verwendung der bestimmten Bitleitungseingabe.
  • Die Zustandsmaschine 222 stellt in einer Ausführungsform Steuerung von Speicheroperationen auf Chipebene bereit. Der chipinterne Adressdecodierer 224 stellt eine Adressschnittstelle zum Umwandeln zwischen der Adresse, die durch den Host oder eine Speichersteuerung benutzt wird, in die durch die Decodierer 240A, 240B, 242A, 242B benutzte Hardwareadresse. In gewissen Ausführungsformen umfasst die Zustandsmaschine 222 eine Ausführungsform der Lesepegelbestimmungskomponente 150. Die Lesepegelbestimmungskomponente 150 bestimmt in einigen Ausführungsformen einen Bitleitungslesepegel für eine Bitleitung einer Speicherzelle basierend auf einer vorherigen Auslesung der Speicherzelle zum Durchführen einer Auslesung an der Speicherzelle. Die Lesepegelbestimmungskomponente 150 ist in gewissen Ausführungsformen als Software in einem Vorrichtungstreiber, Hardware in einer Vorrichtungssteuerung 244 und/oder Hardware in einer Matrizensteuerung 220 und/oder Zustandsmaschine 222 ausgeführt.
  • In einer Ausführungsform kann eine oder jede beliebige Kombination von Matrizensteuerung 220, Lesepegelbestimmungskomponente 150, Decodiererschaltung 224, Zustandsmaschinenschaltung 222, Decodiererschaltung 242A, Decodiererschaltung 242B, Decodiererschaltung 240A, Decodiererschaltung 240B, Schreib/Leseschaltungen 230A, Schreib/Leseschaltungen 230B und/oder Steuerung 244 als eine oder mehrere Verwaltungsschaltungen bezeichnet werden.
  • 2 zeigt eine Ausführungsform einer NAND-Kette umfassend eine Vielzahl von Speicherungselementen. Die in 2 gezeigte NAND-Kette umfasst in einigen Ausführungsformen vier in Reihe geschaltete und zwischen einem ersten Auswahltransistor 270 und einem zweiten Auswahltransistor 272 befindliche Transistoren 260, 262, 264, 266. In einigen Ausführungsformen umfasst ein Transistor 260, 262, 264, 266 ein Steuergatter und ein potentialfreies Gatter. Ein Steuergatter 290, 292, 294, 296 ist in einer Ausführungsform verbunden mit oder umfasst einen Teil von einer Wortleitung. In einer weiteren Ausführungsform ist ein Transistor 260, 262, 264, 266 ein Speicherungselement, eine Speicherungszelle oder dergleichen, auch als Speicherzelle bezeichnet. In einigen Ausführungsformen kann ein Speicherungselement mehrere Transistoren 260, 262, 264, 266 umfassen.
  • Der erste Auswahltransistor 270 verknüpft/verbindet in einigen Ausführungsformen die NAND-Kettenverbindung mit einer Bitleitung 280 über ein Drain-Auswahlgatter SGD. Der zweite Auswahltransistor 272 verknüpft/verbindet in gewissen Ausführungsformen die NAND-Kettenverbindung mit einer Source-Leitung 282 über ein Source-Auswahlgatter SGS. Der erste Auswahltransistor 270 wird in einer weiteren Ausführungsform durch Anlegen einer Spannung an ein entsprechendes Auswahlgatter 286 gesteuert. Der zweite Auswahltransistor 272 wird in einigen Ausführungsformen durch Anlegen einer Spannung an das entsprechende Auswahlgatter 288 gesteuert.
  • Wie in 2 gezeigt ist die Source-Leitung 282 in einer Ausführungsform mit den Sources jedes Transistors/jeder Speicherungszelle 260, 262, 264, 266 in der NAND-Kette verbunden. Die NAND-Kette kann in einigen Ausführungsformen einige Speicherungselemente 260, 262, 264, 266 enthalten, die programmiert worden sind, und einige Speicherungselemente 260, 262, 264, 266, die nicht programmiert worden sind. Wie ausführlicher unten beschrieben bestimmt die Lesepegelbestimmungskomponente 150 einen Lesepegel bzw. eine Leseeingabe (z.B. Lesespannung, Lesestrom) benutzt zum Lesen der Speicherungselemente 260, 262, 264, 266. Der Lesepegel bzw. die Leseeingabe kann von einem "EIN-"Strom eines oder mehrerer der Speicherungselemente 260, 262, 264, 266 abhängig sein und kann ausgewählt sein zum Ergeben einer Anzahl von Fehlern, die geringer als ein vorbestimmter Schwellwert ist. Die Lesepegelbestimmungskomponente 150 kann in einigen Ausführungsformen den Lesepegel basierend auf einer vorherigen oder Schein-Auslesung bestimmen. In weiteren Ausführungsformen wird durch die Lesepegelbestimmungskomponente 150 eine Auslesung an Speicherungselementen 260, 262, 264, 266 durch Anlegen des Lesepegels an die Bitleitung 280 durchgeführt.
  • 3 ist eine Schaltbilddarstellung einer Vielzahl von NAND-Ketten 320, 340, 360, 380. Eine Architektur für ein Flash-Speichersystem mit NAND-Struktur kann mehrere NAND-Ketten 320, 340, 360, 380 umfassen. Zum Beispiel zeigt 3 NAND-Ketten 320, 340, 360, 380 in einer Speicheranordnung 200, die mehrere NAND-Ketten 320, 340, 360, 380 umfasst. In der dargestellten Ausführungsform enthält jede NAND-Kette 320, 340, 360, 380 Drain-Auswahltransistoren 322, 342, 362, 382, Source-Auswahltransistoren 327, 347, 367, 387 und Speicherungselemente 323326, 343346, 363366, 383386. Während vier Speicherungselemente 323326, 343346, 363366, 383386 pro NAND-Kette, 320, 340, 360, 380 der Einfachheit halber dargestellt sind, können einige NAND-Ketten 320, 340, 360, 380 eine beliebige Anzahl von Speicherungselementen enthalten, z.B. zweiunddreißig, vierundsechzig oder dergleichen Speicherungselemente.
  • NAND-Ketten, 320, 340, 360, 380 sind in einer Ausführungsform durch Source-Auswahltransistoren 327, 347, 367, 387 mit einer sourceLeitung 319 verbunden. Eine Auswahlleitung SGS kann zum Steuern der sourceseitigen Auswahltransistoren benutzt werden. Die verschiedenen NAND-Ketten 320, 340, 360, 380 sind in einer Ausführungsform mit Bitleitungen 321, 341, 361, 381 durch Drain-Auswahltransistoren 322, 342, 362, 382 verbunden. Die Drain-Auswahltransistoren 322, 342, 362, 382 können durch eine Drain-Auswahlleitung SGD gesteuert werden. In einigen Ausführungsformen müssen die Auswahlleitungen nicht unbedingt gemeinsam unter den NAND-Ketten 320, 340, 360, 380 liegen; d.h. unterschiedliche Auswahlleitungen können für unterschiedliche NAND-Ketten 320, 340, 360, 380 bereitgestellt werden.
  • Wie oben beschrieben, umfasst jede Wortleitung WL0–WLn ein oder mehrere Speicherungselemente 323383, 324384, 325385, 326386. In der gezeigten Ausführungsform umfasst jede Bitleitung 321, 341, 361, 381 und die jeweilige NAND-Kette 320, 340, 360, 380 die Spalten der Speicheranordnung 200, des Speicherblocks, Löschblocks oder dergleichen. Die Wortleitungen WL0–WLn umfassen in einigen Ausführungsformen die Zeilen der Speicheranordnung 200, Speicherblocks, Löschblocks oder dergleichen. In einigen Ausführungsformen verbindet jede Wortleitung WL0–WLn die Steuergatter jedes Speicherungselements 323383, 324384, 325385, 326386 in einer Zeile. Alternativ können die Steuergatter durch die Wortleitungen WL0–WLn selbst bereitgestellt werden. In einigen Ausführungsformen kann eine Wortleitung WL0–WLn dutzende, hunderte, tausende, millionen oder dergleichen von Speicherungselementen 323383, 324384, 325385, 326–386 umfassen.
  • In einer Ausführungsform ist jedes Speicherungselement 323326, 343346, 363366, 383386 zum Speichern von Daten eingerichtet. Zum Beispiel kann beim Speichern von einem Bit von Digitaldaten der Bereich möglicher Schwellwertspannungen ("VTH") jedes Speicherungselements 323326, 343346, 363366, 383386 in zwei Bereiche aufgeteilt werden, denen logische Daten "1" und "0" zugewiesen werden. In einem Beispiel eines NAND-artigen Flash-Speichers kann die VTH negativ sein, nachdem die Speicherungselemente 323326, 343346, 363366, 383386 gelöscht sind, und als logische "1" definiert werden. In einer Ausführungsform ist die VTH nach einer Programmoperation positiv und als logische "0" definiert.
  • Wenn die VTH negativ ist und eine Auslesung versucht wird, werden in einigen Ausführungsformen Speicherungselemente 323326, 343346, 363366, 383386 eingeschaltet, um anzuzeigen, dass eine logische "1" gespeichert wird. Wenn die VTH positiv ist und eine Leseoperation versucht wird, wird in einer weiteren Ausführungsform ein Speicherungselement nicht eingeschaltet, was anzeigt, dass eine logische "0" gespeichert wird. Jedes Speicherungselement 323383, 324384, 325385, 326386 kann auch mehrere Ebenen von Informationen speichern, z.B. mehrere Bits von Digitaldaten. In einer solchen Ausführungsform wird der Bereich von VTH-Wert in die Anzahl von Datenebenen aufgeteilt. Wenn zum Beispiel vier Ebenen von Information in jedem Speicherungselement 323326, 343346, 363366, 383386 gespeichert werden können, werden den Datenwerten "11", "10", "01" und "00" vier VTH-Bereiche zugewiesen.
  • In einem Beispiel eines NAND-artigen Speichers kann die VTH nach einer Löschoperation negativ sein und als "11" definiert werden. Positive VTH-Werte können für die Zustände von "10", "01" und "00" benutzt werden. In einer Ausführungsform ist das bestimmte Verhältnis zwischen den in die Speicherungselemente 323326, 343346, 363366, 383386 programmierten Daten und den Schwellwertspannungsbereichen der Speicherungselemente 323326, 343346, 363366, 383386 von dem für die Speicherungselemente 323326, 343346, 363366, 383386 angenommenen Datencodierschema abhängig.
  • In einigen Ausführungsformen kann, wenn eine Leseoperation durchgeführt wird, ein Lesefehler an einem oder mehreren Speicherungselementen 323326, 343346, 363366, 383386 auftreten, was ein Ergebnis eines durch das eine oder die mehreren Speicherungselemente 323326, 343346, 363366, 383386 bereitgestellten unzureichenden Zellenstroms sein kann (z.B. eines den potentialfreien Gattertransistor über die Bitleitung während der Leseoperation durchfließenden "EIN"-Zellenstroms). Zum Beispiel kann sich ein EIN-Strom für unterschiedliche, die gleichen Daten speichernde Speicherungselemente 323326, 343346, 363366, 383386 verändern und Lesefehler veranlassen. In einer solchen Ausführungsform kann die Lesepegelbestimmungskomponente 150 einen Lesepegel einstellen wie beispielsweise eine an das eine oder die mehreren Speicherungselemente 323326, 343346, 363366, 383386 angelegte Vorspannung einer Bitleitung zum Verringern der Anzahl von Lesefehlern durch Ausgleichen des niedrigen Zellenstroms von einem oder mehreren der Speicherungselemente 323326, 343346, 363366, 383386.
  • 4A ist ein eine beispielhafte Anordnung der nichtflüchtigen Speichermedien 122 erläuterndes Blockschaltbild, das in zwei Ebenen 302 und 304 aufgeteilt ist. Jede Ebene ist in M Blöcke aufgeteilt. In einem Beispiel weist jede Ebene rund 2000 Blöcke auf. Es können jedoch auch unterschiedliche Anzahlen von Blöcken und Ebenen benutzt werden. Zum Beispiel können einige nichtflüchtige Speichermedien 122 mehr als zwei Ebenen aufweisen. Andere nichtflüchtige Speichermedien 122 können nur eine Ebene aufweisen. Die M Blöcke können in einen oder mehrere Teile 306 aufgeteilt sein.
  • 4B4E zeigen eine beispielhafte 3-D-NAND-Struktur. 4B ist eine Blockschaltbilddarstellung einer Draufsicht eines Teils von einem Block aus den nichtflüchtigen Speichermedien 122. Der in 4B gezeigte Teil des Blocks entspricht dem Teil 306 in Block 2 der 4A. Wie aus 4B ersichtlich ist erstreckt sich der in 4B gezeigte Block in Richtung des Pfeils 330 und in Richtung des Pfeils 332. In einer Ausführungsform kann die Speicheranordnung 60 Schichten aufweisen. Andere Ausführungsformen können weniger oder mehr als 60 Schichten aufweisen. 4B zeigt jedoch nur die oberste Schicht.
  • 4B zeigt eine Vielzahl von Kreisen, die die senkrechten Spalten darstellen. Jede der senkrechten Spalten enthält mehrere Auswahltransistoren und mehrere Speicherzellen. In einer Ausführungsform wird durch jede senkrechte Spalte eine NAND-Kette ausgeführt. Weitere Einzelheiten der senkrechten Spalten werden untenstehend geboten. Da der in 4B gezeigte Block sich in Richtung von Pfeil 330 und in Richtung von Pfeil 332 erstreckt, umfasst der Block mehr senkrechte Spalten als in 4B gezeigt sind.
  • 4B zeigt auch eine Menge von Bitleitungen 412. 4B zeigt 24 Bitleitungen, da nur ein Teil des Blocks dargestellt ist. Es kommt in Betracht, dass mehr als 24 Bitleitungen mit senkrechten Spalten des Blocks verbunden sind. Jeder der senkrechte Spalten darstellenden Kreise weist ein "x" zum Anzeigen seiner Verbindung mit einer Bitleitung auf.
  • Der in 4B gezeigte Block enthält eine Menge örtlicher Verbindungsstücke 402, 404, 406, 408 und 410, die die verschiedenen Schichten mit einer Source-Leitung unter den senkrechten Spalten verbinden. Örtliche Verbindungsstücke 402, 404, 406, 408 und 410 dienen auch zum Aufteilen jeder Schicht des Blocks in vier Gebiete, zum Beispiel ist die in 4B gezeigte oberste Schicht in Gebiete 420, 430, 440 und 450 aufgeteilt, die als Finger bezeichnet werden. In den Schichten des Blocks, die Speicherzellen ausführen werden die vier Gebiete als Wortleitungsfinger bezeichnet, die durch die örtlichen Verbindungsstücke getrennt sind. In einer Ausführungsform sind die Wortleitungsfinger auf einer gemeinsamen Ebene eines Blocks am Ende des Blocks miteinander verbunden, um eine einzelne Wortleitung zu bilden. In einer anderen Ausführungsform sind die Wortleitungsfinger auf der gleichen Ebene nicht miteinander verbunden. In einer beispielhaften Ausführung ist eine Bitleitung nur mit einer senkrechten Spalte in jedem der Gebiete 420, 430, 440 und 450 verbunden. In dieser Ausführung weist jeder Block sechzehn Reihen aktiver Spalten auf und jede Bitleitung ist mit vier Reihen in jedem Block verbunden. In einer Ausführungsform sind alle von vier mit einer gemeinsamen Bitleitung verbundenen Reihen mit der gleichen Wortleitung verbunden (über unterschiedliche Wortleitungsfinger auf der gleichen Ebene, die miteinander verbunden sind). Daher bedient sich das nichtflüchtige Speichermedium 122 der sourceseitigen Auswahlleitungen und der drainseitigen Auswahlleitungen zum Wählen einer (oder einer anderen Teilmenge) der vier, einer Speicheroperation unterworfen zu werden (Programmieren, Überprüfen, Lesen und/oder Löschen).
  • Obwohl 4B jedes Gebiet mit vier Reihen von senkrechten Spalten, vier Gebieten und sechzehn Reihen von senkrechten Spalten in einem Block zeigt, sind diese genauen Zahlen eine beispielhafte Ausführung. Andere Ausführungsformen können mehr oder weniger Gebiete pro Block enthalten, mehr oder weniger Reihen von senkrechten Spalten pro Gebiet und mehr oder weniger Reihen senkrechter Spalten pro Block.
  • 4B zeigt auch die senkrechten Spalten als gestaffelt. In anderen Ausführungsformen können andere Staffelungsmuster benutzt werden. In einigen Ausführungsformen sind die senkrechten Spalten nicht gestaffelt.
  • 4C zeigt einen Teil einer Ausführungsform der nichtflüchtigen Speichermedien 122 in einer Querschnittsansicht entlang der Linie AA der 4B. Diese Querschnittsansicht durchschneidet senkrechte Spalten 432 und 434 und Gebiet 430 (siehe 4B). Die Struktur der 4C umfasst vier drainseitige Auswahlschichten SGD0, SGD1, SGD2 und SGD3; vier sourceseitige Auswahlschichten SGS0, SGS1, SGS2 und SGS3; vier Schein-Wortleitungsschichten DWLL1a, DWLL1b, DWLL2a und DWLL2b und achtundvierzig Datenwortleitungsschichten WLL0–WLL47 zum Verbinden mit Datenspeicherzellen. Andere Ausführungsformen können mehr oder weniger als vier drainseitige Auswahlschichten, mehr oder weniger als vier sourceseitige Auswahlschichten, mehr oder weniger als vier Schein-Wortleitungsschichten und mehr oder weniger als achtundvierzig Wortleitungsschichten ausführen. Senkrechte Spalten 432 und 434 sind durch die drainseitigen Auswahlschichten, sourceseitigen Auswahlschichten, Schein-Wortleitungsschichten und Wortleitungsschichten hervorstehend dargestellt. In einer Ausführungsform umfasst jede senkrechte Spalte eine NAND-Kette. Unter den senkrechten Spalten und den unten aufgeführten Schichten befinden sich ein Substrat 101, ein Isolierfilm 454 auf dem Substrat und Source-Leitung SL. Die NAND-Kette der senkrechten Spalte 432 weist ein Source-Ende an einem Boden des Stapels und ein Drain-Ende an einer Spitze des Stapels auf. In Übereinstimmung mit 4B zeigt 4C senkrechte Spalte 432 verbunden mit Bitleitung 414 über Verbinder 415. Örtliche Verbindungsstücke 404 und 406 sind ebenfalls dargestellt.
  • Zum Erleichtern der Bezugnahme werden drainseitige Auswahlschichten SGD0, SGD1, SGD2 und SGD3; sourceseitige Auswahlschichten SGS0, SGS1, SGS2 und SGS3; Schein-Wortleitungsschichten DWLL1a, DWLL1b, DWLL2a und DWLL2b und Wortleitungsschichten WLL0–WLL47 zusammen als die leitenden Schichten bezeichnet. In einer Ausführungsform sind die leitenden Schichten aus einer Kombination von TiN und Wolfram hergestellt. In anderen Ausführungsformen können andere Werkstoffe zum Bilden der leitenden Schichten benutzt werden wie beispielsweise dotiertes Polysilizium, Metall wie beispielsweise Wolfram oder Metall-Silizid. In einigen Ausführungsformen können verschiedene leitende Schichten aus verschiedenen Werkstoffen gebildet sein. Zwischen leitenden Schichten liegen dielektrische Schichten DL0–DL59. Zum Beispiel liegen dielektrische Schichten DL49 über Wortleitungsschicht WLL43 und unter Wortleitungsschicht WLL44. In einer Ausführungsform sind die dielektrischen Schichten aus SiO2 hergestellt. In anderen Ausführungsformen können andere dielektrische Werkstoffe zum Bilden der dielektrischen Schichten benutzt werden.
  • Die nichtflüchtigen Speicherzellen sind entlang senkrechten Spalten gebildet, die sich durch abwechselnd leitfähige und dielektrische Schichten im Stapel erstrecken. In einer Ausführungsform sind die Speicherzellen in NAND-Ketten angeordnet. Die Wortleitungsschicht WLL0–WLL47 ist mit (auch Datenspeicherzellen genannten) Speicherzellen verbunden. Schein-Wortleitungsschichten DWLL1a, DWLL1b, DWLL2a und DWLL2b sind mit Schein-Speicherzellen verbunden. Eine Schein-Speicherzelle speichert keine Benutzerdaten während eine Datenspeicherzelle zum Speichern von Benutzerdaten verfügbar ist. Drainseitige Auswahlschichten SGD0, SGD1, SGD2 und SGD3 werden zum elektrischen Verbinden und Abtrennen von NAND-Ketten von Bitleitungen benutzt. Sourceseitige Auswahlschichten SGS0, SGS1, SGS2 und SGS3 werden zum elektrischen Verbinden und Abtrennen von NAND-Ketten von der Source-Leitung SL benutzt.
  • 4D zeigt eine logische Darstellung der leitenden Schichten (SGD0, SGD1, SGD2, SGD3, SGS0, SGS1, SGS2, SGS3, DWLL1a, DWLL1b, DWLL2a, DWLL2b und WLL0–WLL47) für den Block, der teilweise in 4C dargestellt ist. Wie oben hinsichtlich der 4B erwähnt werden in einer Ausführungsform durch örtliche Verbindungsstücke 402, 404, 406, 408 und 410 jeweils leitende Schichten in vier Gebiete aufgebrochen. Zum Beispiel wird Wortleitungsschicht WLL31 in Gebiete 460, 462, 464 und 466 aufgeteilt. Für Wortleitungsschichten (WLL0–WLL31) werden die Gebiete als Wortleitungsfinger bezeichnet; zum Beispiel wird Wortleitungsschichten WLL46 in Wortleitungsfinger 460, 462, 464 und 466 aufgeteilt. In einer Ausführungsform sind die vier Wortleitungsfinger auf einer gleichen Ebene miteinander verbunden. In einer anderen Ausführungsform wirkt jeder Wortleitungsfinger als eine getrennte Wortleitung.
  • Die drainseitige Auswahlgatterschicht SGD0 (die oberste Schicht) ist ebenfalls in Gebiete 420, 430, 440 und 450 aufgeteilt, die auch als Finger oder Auswahlleitungsfinger bekannt sind. In einer Ausführungsform sind die vier Auswahlleitungsfinger auf der gleichen Ebene miteinander verbunden. In einer anderen Ausführungsform wirkt jeder Auswahlleitungsfinger als getrennte Wortleitung.
  • 4E zeigt eine Ausführungsform einer Querschnittsansicht einer 3-D-senkrechten NAND-Flash-Speicherstruktur 429 oder -Kette 429. In einer Ausführungsform ist die senkrechte Spalte 432 rund und enthält vier Schichten; in anderen Ausführungsformen kann sie jedoch mehr oder weniger als vier Schichten enthalten sein und andere Formen können benutzt werden (z.B. eine "U-"Form anstatt einer "I-"Form oder dergleichen). In einer Ausführungsform umfasst eine senkrechte Spalte 432 eine innere Kernschicht 470, die aus einem Dielektrikum wie beispielsweise SiO2 hergestellt ist. Auch können andere Wirkstoffe benutzt werden. Den inneren Kern 470 umgibt der Polysiliziumkanal 471. Auch können andere Materialien aus Polysilizium benutzt werden. Man beachte, dass es der Kanal 471 ist, der mit der Bitleitung verbunden ist. Kanal 471 ist durch ein Tunnelungsdielektrikum 472 umgeben. In einer Ausführungsform weist das Tunneldielektrikum 472 eine ONO-Struktur auf. Das Tunneldielektrikum 472 ist von einer gemeinsamen Ladungsfangschicht 473 wie beispielsweise Siliziumnitrid umgeben. Auch können andere Werkstoffe und Strukturen benutzt werden. Die hier beschriebene Technik ist nicht auf irgendein bestimmtes Material oder Gebilde begrenzt.
  • 4E zeigt dielektrische Schichten DLL49, DLL50, DLL51, DLL52 und DLL53 wie auch Wortleitungsschichten WLL43, WLL44, WLL45, WLL46 und WLL47. Jede der Wortleitungsschichten enthält ein Wortleitungsgebiet 476 umgeben von einer Aluminiumoxidschicht 477, die durch eine Blockieroxid(SiO2)-Schicht 478 umgeben ist. Durch die physikalische Wechselwirkung der Wortleitungsschichten mit der senkrechten Spalte werden die Speicherzellen gebildet. So umfasst eine Speicherzelle in einer Ausführungsform Kanal 471, Tunneldielektrikum 472, Ladungsfangschicht 473 (z.B. geteilt mit anderen Speicherzellen), Blockieroxidschicht 478, Aluminiumoxidschicht 477 und Wortleitungsgebiet 476. In einigen Ausführungsformen kann die Blockieroxidschicht 478 und Aluminiumoxidschicht 477 durch eine einzelne Materialschicht mit Isoliereigenschaften oder durch mehr als zwei Schichten unterschiedlichen Materials mit Isoliereigenschaften ersetzt werden. Weiterhin sind die benutzten Werkstoffe nicht auf Siliziumdioxid (SiO2) oder Aluminiumoxid begrenzt. Zum Beispiel umfassen Wortleitungsschicht WLL47 und ein Teil der senkrechten Spalte 432 eine Speicherzelle MC1. Wortleitungsschicht WLL46 und ein Teil der senkrechten Spalte 432 umfassen eine Speicherzelle MC2. Wortleitungsschicht WLL45 und ein Teil der senkrechten Spalte 432 umfassen eine Speicherzelle MC3. Wortleitungsschicht WLL44 und ein Teil der senkrechten Spalte 432 umfassen eine Speicherzelle MC4. Wortleitungsschicht WLL43 und ein Teil der senkrechten Spalte 432 umfassen eine Speicherzelle MC5. In anderen Architekturen kann eine Speicherzelle eine unterschiedliche Struktur aufweisen, jedoch würde die Speicherzelle immer noch die Speicherungseinheit sein.
  • Wenn eine Speicherzelle programmiert wird werden Elektronen in einem Teil der Ladungsfangschicht 473 gespeichert, die der Speicherzelle zugeordnet ist. Diese Elektronen werden als Reaktion auf eine zutreffende Spannung am Wortleitungsgebiet 476 aus dem Kanal 471 durch das Tunneldielektrikum 472 in die Ladungsfangschicht 473 gezogen. Die Schwellwertspannung (Vth) einer Speicherzelle wird im Verhältnis zu dem Betrag an gespeicherter Ladung erhöht. In einer Ausführungsform wird die Programmierung durch Fowler-Nordheim-Tunnelung der Elektronen in die Ladungsfangschicht erreicht. Während einer Löschoperation kehren die Elektronen zum Kanal zurück oder es werden Löcher in die Ladungsfangschicht eingespeist, um sie wieder mit Elektronen zu vereinigen. In einer Ausführungsform wird Löschen durch Verwendung von Locheinspeisung in die Ladungsfangschicht über einen physikalischen Mechanismus wie beispielsweise durch gatterinduzierte Drain-Leckwirkung (GIDL – Gate Induced Drain Leakage) erreicht.
  • Speicherungszellen am gleichen Ort oder der gleichen Stelle in unterschiedlichen Speicherstrukturen 429 (z.B. unterschiedlichen NAND-Ketten 429) auf unterschiedlichen Bitleitungen können in gewissen Ausführungsformen auf der gleichen Wortleitung liegen. Jede Wortleitung kann eine Seite von Daten speichern, wie beispielsweise wenn 1 Bit Daten pro Zelle gespeichert wird (SLC); zwei Seiten Daten wie beispielsweise wenn 2 Bit Daten pro Zelle gespeichert werden (MLC); drei Seiten Daten wie beispielsweise wenn 3 Bit von Daten pro Zelle gespeichert werden (TLC); vier Seiten Daten wie beispielsweise wenn 4 Bit Daten pro Zelle gespeichert werden (QLC); oder eine sonstige Anzahl von Seiten von Daten.
  • In der gezeigten Ausführungsform umfasst eine senkrechte 3-D-NAND-Flash-Speicher-Struktur 429 eine "I-"förmige Speicherstruktur 429. In anderen Ausführungsformen kann eine senkrechte 3-D-NAND-Flash-Speicherstruktur 429 eine "U-"förmige Struktur umfassen oder kann eine sonstige senkrechte und/oder gestapelte Architektur aufweisen. In gewissen Ausführungsformen können vier Sätze von Ketten 429 (z.B. vier Sätze von 48 Wortleitungen oder eine sonstige vordefinierte Anzahl von Wortleitungen) einen Löschblock bilden, während in anderen Ausführungsformen weniger oder mehr als vier Sätze von Ketten 429 einen Löschblock bilden können. Wie man verstehen könnte kann jede geeignete Anzahl von Speicherungszellen Teil einer einzelnen Kette 429 sein. In einer Ausführungsform enthält eine einzelne Kette 429 48 Speicherungszellen.
  • 5 zeigt eine Ausführungsform einer Lesepegelbestimmungskomponente 150. Die Lesepegelbestimmungskomponente 150 kann im Wesentlichen der oben hinsichtlich der 1A, 1B, 2 und/oder 3 beschriebenen Lesepegelbestimmungskomponente 150 ähnlich sein. Im Allgemeinen bestimmt wie oben beschrieben die Lesepegelbestimmungskomponente 150 eine Bitleitungseingabe für eine mit einer Speicherzelle oder mehreren Speicherzellen der gleichen NAND-Kette verbundene Bitleitung basierend auf einer vorigen Auslesung der Speicherzelle oder mehrerer Speicherzellen in der gleichen NAND-Kette und führt eine Auslesung an der Speicherzelle oder den mehreren Speicherzellen in einer NAND-Kette unter Verwendung der bestimmten Bitleitungseingabe durch. In der gezeigten Ausführungsform umfasst die Lesepegelbestimmungskomponente 150 ein Nennauslesungsmodul 502, ein Leseeinstellungsbestimmungsmodul 504 und ein eingestelltes Lesemodul 506.
  • In verschiedenen Ausführungsformen kann das Nennauslesungsmodul 502 eine erste Auslesung (z.B. Nennauslesung, Schein-Auslesung) an einer oder mehreren Speicherungszellen einer Wortleitung oder einer oder mehreren mit der gleichen Wortleitung verbundenen NAND-Ketten unter Verwendung eines ersten Lesepegels (z.B. einer Bitleitungsspannung) durchführen. In gewissen Ausführungsformen benutzt das Nennauslesungsmodul 502 den gleichen ersten Lesepegel für jede Bitleitung während der ersten Auslesung. Das Nennauslesungsmodul 502 kann in gewissen Ausführungsformen mehrere Auslesungen durchführen, wenigstens eine Auslesung für jede Wortleitung eines Löschblocks oder dergleichen zum Bestimmen, welche Speicherungszellen des Löschblocks niedrige EIN-Zellenströme aufweisen. In einer weiteren Ausführungsform kann das Nennauslesungsmodul 502 Auslesungen für eine Teilmenge der Wortleitungen eines Löschblocks durchführen (z.B. eine Wortleitung, zwei Wortleitungen, fünf Wortleitungen, zehn Wortleitungen oder dergleichen), deren Ergebnisse für andere Wortleitungen des Löschblocks repräsentativ sein können. In einer weiteren Ausführungsform werden zwei oder mehr Wortleitungen des gleichen Blocks für die Nennauslesung ausgewählt, durch Auslesen von zwei oder mehr Speicherzellen zur gleichen Zeit zum Identifizieren der NAND-Ketten, die einen niedrigen EIN-Strom aufweisen.
  • Eine Schein-Auslesung oder Nennauslesung sowie sie hier benutzt wird, kann eine Leseoperation umfassen, für die die sich ergebenden Daten nicht für einen anfragenden Speicherungsclient bereitgestellt werden. Der erste Lesepegel kann in gewissen Ausführungsformen eine Bitleitungsspannung oder eine sonstige Lesespannung, ein Lesestrom, eine Erfassungszeit und/oder irgendein anderer zum Auslesen von auf der einen oder den mehreren Speicherungszellen gespeicherten Informationen benutzter Pegel oder Eingabe sein. In verschiedenen Ausführungsformen kann der erste Lesepegel ein Nenn- oder Vorgabe-Lesepegel, ein Mindest-Lesepegel und/oder ein Maximallesepegel sein. In einer Ausführungsform wird die erste Auslesung während eines Herstellungs- und/oder Prüfungsvorgangs für die eine oder mehreren Speicherungszellen durchgeführt. Zum Beispiel kann die erste Auslesung oder Menge von Auslesungen während eines Matrixsortierungsvorgangs oder dergleichen durchgeführt werden. Anstatt nur hohen oder niedrigen EIN-Strom zu erkennen ist es in einigen Ausführungsformen möglich, zwischen mehreren Pegeln von EIN-Strom zu unterscheiden.
  • In einer Ausführungsform wird von dem Nennauslesungsmodul 502 die erste Auslesung unter Verwendung eines Lesespannungsschwellwertes durchgeführt, der an die Wortleitung angelegt wird, die über den Schwellwertspannungen (z.B. gespeicherten Ladungspegeln) der Speicherungszellen der gelesenen Wortleitung liegt, so dass die Zellen jeweils leitend sind und die EIN-Ströme der Zellen an den zugeordneten Bitleitungen bestimmt werden können. Zum Beispiel kann das Nennauslesungsmodul 502 eine Wortleitung in einem Löschzustand auslesen, kann eine mit bekannten Daten programmierte Wortleitung (z.B. ein vorbestimmtes Datenmuster, den gleichen Speicherungszustand oder darüber für jede Speicherzelle, oder dergleichen) auslesen. In einer weiteren Ausführungsform kann das Nennauslesungsmodul 502 die erste Auslesung an bestehenden Benutzerdaten oder Belastungsdaten gespeichert durch Zellen einer Wortleitung unter Verwendung eines ausreichenden Lesespannungsschwellwerts zum Veranlassen, dass jede der Zellen leitet, durchführen.
  • In gewissen Ausführungsformen können Ergebnisse aus der ersten Auslesung (z.B. Zellenströme, ob Zellenströme über oder unter einem Schwellwert liegen, bestimmte Lesepegel wie beispielsweise Bitleitungsspannungen, die Daten, die ausgelesen wurden oder dergleichen) innerhalb der einen oder den mehreren Speicherungszellen gespeichert werden (z.B. können eine oder mehrere fest zugeordnete Wortleitungen in jedem Löschblock oder dergleichen ein direktes oder indirektes Ergebnis aus der ersten Auslesung speichern). Zum Beispiel können als Reaktion auf Abschließen der ersten Auslesung Informationen entsprechend der ersten Auslesung gespeichert werden. In einer Ausführungsform können Informationen entsprechend einer ersten Auslesung unter Verwendung eines oder mehrerer Datenhaltespeicher oder Register der nichtflüchtigen Speichervorrichtungen 120 gespeichert werden. In einer anderen Ausführungsform können in jedem Löschblock von nichtflüchtigen Speicherzellen eine oder mehrere fest zugeordnete Wortleitungen Daten entsprechend den Ergebnissen von der ersten Auslesung speichern, wie beispielsweise welche Speicherzellen oder mehreren Speicherzellen an der gleichen NAND-Kette und/oder Bitleitungen EIN-Zellenströme unter einem Schwellwert hatten, welche Speicherzellen und/oder Bitleitungen vom unten beschriebenen Leseeinstellungsbestimmungsmodul 504 während Leseoperationen für eine höhere Bitleitungseingabe (z.B. Bitleitungsspannung) ausgewählt wurden oder dergleichen. Anstatt nur hohen oder niedrigen EIN-Strom zu erkennen, ist es in einigen Ausführungsformen möglich, zwischen mehreren Pegeln von EIN-Strom zu unterscheiden und mehrere Korrekturpegel anzulegen (z.B. Bitleitungsspannungen) während Leseoperationen.
  • Wie unten beschrieben können in gewissen Ausführungsformen die gleichen bestimmten Bitleitungseingaben (z.B. Bitleitungsspannungen) für Auslesungen aus jeder beliebigen Wortleitung eines Löschblocks benutzt werden (z.B. zum Erhalten von Speicherungskapazität, die zum Sichern von Metadaten benutzt wird, die anzeigen, welche Bitleitungen für die bestimmten Bitleitungseingaben ausgewählt worden sind). In einer weiteren Ausführungsform kann die gleiche Bitleitung unterschiedliche Bitleitungseingaben für Auslesungen unterschiedlicher Wortleitungen empfangen (z.B. das Leseeinstellungsbestimmungsmodul 504 kann Bitleitungseingabebestimmungen für jede Speicherungszelle unterschiedlicher Wortleitungen treffen, Metadaten können für unterschiedliche Speicherungszellen von unterschiedlichen Wortleitungen gespeichert werden oder dergleichen). Die Metadaten können jede beliebige Art von Informationen entsprechend einem EIN-Strom von einer oder mehreren Speicherungszellen speichern. Zum Beispiel können die Metadaten Digitaldaten und/oder Analogdaten entsprechend einem oder mehreren EIN-Strömen speichern. In einer Ausführungsform können die Metadaten einen von zwei, drei, vier oder mehr EIN-Strömen speichern.
  • In einer Ausführungsform kann das Nennauslesungsmodul 502 Daten aus einer ersten Nenn- und/oder Schein-Auslesung für einen Fehlerkorrekturcode(ECC – Error Correction Code)-Decodierer (z.B. von einer Steuerung 126 wie beispielsweise einem FPGA, ASIC, Vorrichtungstreiber oder dergleichen) bereitstellen. Der ECC-Decodierer einer Steuerung 126 kann die Daten von der ersten Nenn-/Schein-Auslesung zum Korrigieren eines oder mehrerer Fehler in Daten einer nachfolgenden zweiten Auslesung verwenden, oder dergleichen. Beispielsweise kann der ECC-Decodierer einen Low-Density-Parity-Check-Code-Decodierer (LDPC-Decodierer) oder einen anderen Soft-Decision-Decodierer umfassen, ausgelegt um die Daten einer ersten Nenn- und/oder Schein-Auslesung als Soft-Decision-Informationen zur Unterstützung des Decodierens und Korrigierens eines oder mehrerer Fehler in einer nachfolgenden Auslesung der gleichen Daten zu verwenden, zusätzlich zum Verwenden der ersten Nenn- und/oder Schein-Auslesung zum Bestimmen eines Lesepegels für die nachfolgende Auslesung wie unten beschrieben.
  • In einer Ausführungsform wird vom Leseeinstellungsbestimmungsmodul 504 ein zweiter Lesepegel bestimmt (z.B. eine Bitleitungsspannung oder sonstige Lesespannung, eine weitere Bitleitungseingabe, Lesestrom, Erfassungszeit) für Bitleitungen von einer oder mehreren Speicherungszellen basierend wenigstens teilweise auf der durch das Nennauslesungsmodul 502 durchgeführten ersten Auslesung. In gewissen Ausführungsformen bestimmt das Leseeinstellungsbestimmungsmodul 504 den zweiten Auslesepegel durch Bestimmen einer Anzahl ausgefallener Speicherungszellen einer Menge von Speicherungszellen mit Zellenströmen, die einem Erfassungs- oder Erkennungsschwellwert in der ersten Auslesung nicht genügen, Bestimmen, ob die Anzahl ausgefallener Speicherungszellen einen vorbestimmten Schwellwert überschreitet und Auswählen eines zweiten Lesepegels basierend darauf, ob die Anzahl von ausgefallenen Speicherungszellen den vorbestimmten Schwellwert überschreitet. Zum Beispiel kann das Leseeinstellungsbestimmungsmodul 504 eine Bestimmung basierend auf Auslesungen jeder Wortleitung eines Löschblocks treffen und kann für die unterschiedlichen Bitleitungen zu benutzende Bitleitungseingaben bestimmen ungeachtet dessen, welche Wortleitung ausgelesen wird, basierend darauf, wie viele mit der Bitleitung verbundene Speicherungszellen niedrige EIN-Zellenströme aufweisen. In anderen Ausführungsformen kann das Leseeinstellungsbestimmungsmodul 504 eine unterschiedliche Menge von Bitleitungseingaben für jede Wortleitung bestimmen, so dass jede Speicherungszelle mit einem niedrigen EIN-Zellenstrom eine eingestellte (z.B. höhere) Bitleitungsspannung während einer Auslesung empfängt, selbst wenn andere Speicherungszellen an der gleichen Bitleitung nicht einen niedrigen EIN-Zellenstrom aufweisen und nicht eine eingestellte Bitleitungsspannung empfangen, wenn ihre Wortleitungen ausgelesen werden.
  • In gewissen Ausführungsformen bedeutet eine ausgefallene Speicherungszelle nicht, dass die Speicherungszelle notwendigerweise verwechselt wurde, fehlerhaft und/oder beschädigt ist, sondern dass der EIN-Zellenstrom der Speicherungszelle niedriger als ein erwarteter Pegel, ein vorbestimmter Schwellwert oder dergleichen ist. In anderen Ausführungsformen kann eine ausgefallene Speicherungszelle verwechselt, fehlerhaft und/oder beschädigt sein, wodurch der EIN-Zellenstrom der Speicherungszelle niedriger als ein erwarteter Pegel ist, oder dergleichen.
  • In verschiedenen Ausführungsformen kann der zweite Lesepegel größer als der erste Lesepegel sein, wenn die Anzahl ausgefallener Speicherungszellen den vorbestimmten Schwellwert überschreitet. In einer Ausführungsform umfasst auswählen der Bitleitungseingabe Auswählen der ersten Bitleitungseingabe für Bitleitungen einer Vielzahl von Bitleitungen, die nicht den vorbestimmten Schwellwert überschreiten (z.B. Auswählen einer höheren Bitleitungsspannung als der Nennwert oder Vorgabewert, oder dergleichen), und Auswählen einer zweiten Bitleitungseingabe für Bitleitungen der Vielzahl von Bitleitungen, die den vorbestimmten Schwellwert überschreiten (z.B. Auswählen einer Nenn- und/oder Vorgabe-Bitleitungsspannung oder dergleichen). In einer solchen Ausführungsform kann die erste Bitleitungseingabe eine während der ersten Auslesung benutzte Bitleitungseingabe (z.B. eine Bitleitungsspannung oder -vorspannung) sein. In einigen Ausführungsformen bestimmt das Leseeinstellungsbestimmungsmodul 504 den zweiten Lesepegel für eine Vielzahl von Bitleitungen entsprechend einer Vielzahl von Speicherzellen. Auf diese Weise kann das unten beschriebene eingestellte Lesemodul 506 in einer Ausführungsform dynamisch unterschiedliche Bitleitungsspannungen oder -vorspannungen für unterschiedliche Zellen der gleichen Wortleitung während einer Leseoperation unter Verwendung einer höheren Bitleitungsspannung für Speicherungszellen mit niedrigeren EIN-Zellenströmen zum Erhöhen der EIN-Zellenströme benutzen und dadurch Datenfehler verringern. In verschiedenen Ausführungsformen wird der bestimmte zweite Lesepegel in einem nichtflüchtigen Speichermedium gespeichert, das eine auszulesende Speicherzelle umfasst.
  • Sowie sie hier benutzt wird kann eine Bitleitungseingabe eine Spannung, ein Strom und/oder eine weitere Eingabe für eine Bitleitung von einer oder mehreren Speicherungszellen basierend auf einer Architektur sein (z.B. NAND-Flash- oder sonstige Ladungsfangspeicherung, ohmsche Speicherung wie beispielsweise ReRAM oder Memristor-Speicher oder dergleichen) von Zellen basierend auf einer durchgeführten Operation (z.B. Auslesen, Löschen, Programmieren, oder dergleichen) und/oder auf einem sonstigen Faktor. Eine Bitleitungseingabe kann an eine Bitleitung von einer oder mehreren Speicherungszellen während einer Leseoperation angelegt werden, zum Vorspannen der Bitleitung auf einen gewissen Pegel. Zum Beispiel kann für NAND-Flash- und/oder sonstige Ladungsfangspeicherungstechnik eine Leseoperation eine parasitäre Kapazität der Bitleitung als Teil einer Leseoperation durch Vorladen der Bitleitung auf eine Bitleitungsspannung benutzen. Eine Nenn- oder Vorgabebitleitungsspannung für eine Leseoperation kann in einer Ausführungsform rund 0,2 Volt, rund 0,5 Volt, rund 1,0 Volt und/oder ein anderer vordefinierter Spannungspegel sein.
  • Während der Leseoperation wird, wenn die Speicherungszelle gelöscht wird oder eine gespeicherte Schwellwertspannung unter einem an die Wortleitung (z.B. an das Steuerungsgatter der Speicherungszelle) angelegten Lesespannungsschwellwert aufweist, in gewissen Ausführungsformen von der Speicherungszelle Strom abgeführt und die Bitleitung entladen (z.B. eine gelöschte Zelle weist eine negative Schwellwertspannung auf). Wenn die Speicherungszelle programmiert wird (z.B. eine gespeicherte Schwellwertspannung über einem Lesespannungsschwellwert an die Wortleitung angelegt wird), führt sie keinen Strom ab und die Bitleitung behält ihren vorgeladenen, vorgespannten Wert. Erfassungsverstärker 250 können Ströme von Bitleitungen erfassen (z.B. ob die Zelle Strom abführt oder nicht) für eine ausgewählte Wortleitung von Speicherungszellen zur Bestimmung der gespeicherten Datenwerte der Wortleitung. Wenn der EIN-Strom einer Speicherungszelle zu niedrig ist aufgrund eines Ausfalls, Fehlers oder dergleichen könnte ein Erfassungsverstärker 250 das nicht richtig erkennen und einen Datenfehler verursachen.
  • In gewissen Ausführungsformen wird durch das Leseeinstellungsbestimmungsmodul 504 der zweite Lesepegel (z.B. eine Bitleitungsspannung) als eine Funktion von Temperatur einer Speichervorrichtung, die Speicherungszellen umfasst, bestimmt. Eine solche auf Temperatur basierende Bestimmung kann zusätzlich zum Basieren auf der ersten Auslesung getroffen werden. In einigen Ausführungsformen kann der zweite Lesepegel eine höhere Lesespannung als die durch den ersten Lesepegel benutzte als Reaktion auf eine niedrige Temperatur umfassen. In verschiedenen Ausführungsformen kann der zweite Lesepegel eine niedrigere Lesespannung als die durch den ersten Lesepegel als Reaktion auf eine hohe Temperatur benutzte umfassen. In gewissen Ausführungsformen kann jeder beliebige Lesepegel basierend auf der Temperatur eingestellt werden. Zum Beispiel kann in einer Ausführungsform das Leseeinstellungsbestimmungsmodul 504 einen ersten Lesepegel für eine erste Menge von Bitleitungen und einen zweiten Lesepegel für eine zweite Menge von Bitleitungen bestimmen. Das Leseeinstellungsbestimmungsmodul 504 kann den ersten Lesepegel und/oder den zweiten Lesepegel basierend auf einer gemessenen Temperatur der Speichervorrichtung einstellen, die die ersten und zweiten Mengen von Bitleitungen umfasst.
  • In einigen Ausführungsformen wird vom eingestellten Lesemodul 506 eine zweite Auslesung an der einen oder den mehreren Speicherungszellen unter Verwendung des durch Leseeinstellungsbestimmungsmodul 504 bestimmten zweiten Lesepegels durchgeführt. In gewissen Ausführungsformen wird durch das eingestellte Lesemodul 506 die zweite Auslesung an einer Vielzahl von Speicherzellen unter Verwendung des bestimmten zweiten Lesepegels für eine Vielzahl von Bitleitungen durchgeführt. In verschiedenen Ausführungsformen wird durch das Nennauslesungsmodul 502 die erste Auslesung unter Verwendung einer ersten Bitleitungseingabe durchgeführt und durch das eingestellte Lesemodul 506 die zweite Auslesung unter Verwendung einer zweiten Bitleitungseingabe durchgeführt. In solchen Ausführungsformen kann die erste Bitleitungseingabe geringer als die zweite Bitleitungseingabe sein als Reaktion darauf, dass ein Zellenstrom für eine Speicherungszelle während der ersten Auslesung einen Erfassungs- oder Erkennungsschwellwert nicht erfüllt. In gewissen Ausführungsformen wird die erste Auslesung vor der zweiten Auslesung durchgeführt. In gewissen Ausführungsformen benutzt das eingestellte Lesemodul 506 sowohl den ersten Lesepegel als auch den zweiten Lesepegel für die zweite Auslesung für unterschiedliche Teilmengen von Speicherungszellen. Zum Beispiel kann das eingestellte Lesemodul 506 einen ersten Lesepegel mit einer Nenn-/Vorgabe-Bitleitungsvorspannung für Speicherungszellen einer Wortleitung mit erkannten EIN-Zellenströmen über einem Schwellwert benutzen und kann einen zweiten Lesepegel mit einer höheren Bitleitungsspannung für andere Speicherungszellen der zweiten Wortleitung mit erkannten EIN-Zellenströmen unter dem Schwellwert benutzen, oder dergleichen.
  • 6 zeigt eine weitere Ausführungsform einer Lesepegelbestimmungskomponente 150. Die Lesepegelbestimmungskomponente 150 kann im Wesentlichen der oben hinsichtlich 1A, 1B, 2, 3 und/oder 5 beschriebenen Lesepegelbestimmungskomponente 150 ähnlich sein. In der gezeigten Ausführungsform umfasst die Lesepegelbestimmungskomponente 150 das Nennauslesungsmodul 502, das Leseeinstellungsbestimmungsmodul 504 und das eingestellte Lesemodul 506 und umfasst weiterhin ein Ausfallbestimmungsmodul 602, ein Schwellwertvergleichsmodul 604 und ein Bitleitungspegelauswahlmodul 606.
  • In einer Ausführungsform bestimmt das Ausfallbestimmungsmodul 602 eine Anzahl ausgefallener Speicherungszellen einer Menge von Speicherungszellen mit Zellströmen, die einen Erfassungs- oder Erkennungsschwellwert während einer Auslesung nicht erfüllen. In einigen Ausführungsformen entspricht die Menge von Speicherungszellen mit einer einzelnen Wortleitung verbundenen Speicherungszellen. Wie oben beschrieben können sich ausgefallene Speicherungszellen auf Speicherungszellen mit EIN-Zellenströmen beziehen, die nicht erkannt werden und/oder die während einer ersten Leseoperation, die unter Verwendung des ersten Lesepegels abgeschlossen wurde, unter einem Schwellwert liegen. Eine ausgefallene Speicherungszelle in gewissen Ausführungsformen wie oben beschrieben bedeutet nicht, dass die Speicherungszelle unbedingt verwechselt, fehlerhaft und/oder beschädigt ist sondern dass der EIN-Zellenstrom der Speicherungszelle niedriger als ein erwarteter Pegel, ein vorbestimmter Schwellwert oder dergleichen ist.
  • Zum Beispiel kann in einer Ausführungsform eine erste Auslesung an Speicherungszellen (z.B. eine Wortleitung) durch Anlegen eines ersten Lesepegels (z.B. einer ersten Nenn- oder Vorgabe-Bitleitungsspannung von rund 0,35 Volt oder dergleichen) an jede Bitleitung durchgeführt werden. Auf Speicherungszellen gespeicherte Informationen, die mit der Wortleitung verbunden sind, werden ausgelesen, während der erste Lesepegel an die Bitleitungen angelegt wird (z.B. Erfassungsverstärker 250 erfassen EIN-Zellenströme von den Speicherungszellen an den Bitleitungen). Wie oben beschrieben kann ein Lesespannungsschwellwert benutzt werden, der höher als die gespeicherten Ladungs-/Spannungspegel in den Speicherungszellen ist, so dass die Speicherungszellen jeweils Strom abführen sollten und leitend werden und ihre zugehörigen EIN-Zellenströme auf den Bitleitungen bereitstellen. Alle Speicherungszellen mit EIN-Zellenströmen, die unter einem Schwellwert liegen, unerkennbar sind oder dergleichen während die erste Bitleitungsspannung an die Bitleitung angelegt wird, können als ausgefallene Speicherungszellen erachtet werden (z.B. niedrige EIN-Zellenströme aufweisend).
  • Solche ausgefallenen Speicherungszellen können Speicherungszellen sein, die mit einem zweiten Lesepegel (z.B. einer zweiten eingestellten Bitleitungsspannung von rund 0,75 Volt oder dergleichen) richtig fungieren. Der zweite Lesepegel kann in einigen Ausführungsformen höher als der erste Lesepegel sein (z.B. eine höhere Bitleitungsspannung, die die niedrigen EIN-Zellenströme der ausgefallenen Speicherungszellen erhöhen können). In anderen Ausführungsformen kann abhängig von einer Architektur der Speicherungszellen oder dergleichen der zweite Lesepegel niedriger als der erste Lesepegel sein (z.B. eine niedrigere Spannung oder sonstige Bitleitungseingabe).
  • Ausgefallene Speicherungszellen können Speicherungszellen mit Zellströmen sein, die eine Erfassungs- oder Erkennungsschwelle während einer Auslesung nicht erfüllen. Zum Beispiel können Speicherungszellen, die mit einer hohen Bitleitungsspannung richtig fungieren, einen Schwellwert während einer Auslesung nicht erfüllen, wenn eine niedrige, Vorgabe- und/oder Nenn-Bitleitungsspannung solchen Speicherungszellen zugeführt wird. Anders gesagt könnten durch Zuführen einer niedrigen Vorspannung zu Bitleitungen von Speicherungszellen, die mit einer höheren Vorspannung richtig fungieren, die Speicherungszellen einen ausreichenden EIN-Strom aufweisen, um durch die Erfassungsverstärker 250 erkannt zu werden. Dementsprechend könnten die Speicherungszellen EIN-Ströme aufweisen, die einen Schwellwert während einer Auslesung nicht erfüllen, mit dem Ergebnis möglicher Datenfehler.
  • In gewissen Ausführungsformen wird durch das Schwellwertvergleichsmodul 604 bestimmt, ob eine Anzahl ausgefallener Speicherungszellen einen Schwellwert überschreitet. Zum Beispiel kann ein Schwellwert jeder geeignete Wert wie beispielsweise 1%, 2%, 5%, 10%, 20%, 30%, 40%, 50%, 75% oder dergleichen von den Speicherungszellen in einer Menge von Speicherungszellen (z.B. Speicherungszellen in einer Wortleitung) sein. So kann das Schwellwertvergleichsmodul 604 bestimmen, ob die Anzahl ausgefallener Speicherungszellen geringer als der vorbestimmte Schwellwert ist, gleich dem vorbestimmten Schwellwert, größer als der vorbestimmte Schwellwert ist und/oder sonstwie den Schwellwert nicht erfüllt. Der Schwellwert kann vorbestimmt sein und/oder abgeändert, sowie die Speicherungszellen benutzt werden. Das Schwellwertvergleichsmodul 604 kann jede beliebige Vergleichsschaltung oder Software benutzen um zu bestimmen, ob die Anzahl ausgefallener Speicherungszellen den vorbestimmten Schwellwert überschreitet. In gewissen Ausführungsformen kann der vorbestimmte Schwellwert während der Herstellung und/oder Prüfung mit den Speicherungszellen bestimmt und/oder gespeichert werden. In anderen Ausführungsformen kann der vorbestimmte Schwellwert ein fester Wert sein. In einigen Ausführungsformen kann der vorbestimmte Schwellwert ein wählbarer Wert sein, der durch einen Bediener, einen Prozessor, eine Steuerung und/oder durch ein anderes Modul oder eine andere Vorrichtung eingerichtet sein.
  • In verschiedenen Ausführungsformen wird durch das Bitleitungspegelauswahlmodul 606 ein Lesepegel basierend darauf ausgewählt, ob die Anzahl ausgefallener Speicherungszellen den vorbestimmten Schwellwert überschreitet. In einer Ausführungsform wird durch das Bitleitungspegelauswahlmodul 606 ein erster Bitleitungspegel für Bitleitungen der Vielzahl von Bitleitungen ausgewählt, die nicht den vorbestimmten Schwellwert überschreiten und ein zweiter Bitleitungspegel für Bitleitungen der Vielzahl von Bitleitungen ausgewählt, die den vorbestimmten Schwellwert überschreiten. In einer solchen Ausführungsform kann die erste Bitleitungsangabe eine während einer ersten Auslesung (z.B. einer Schein-Auslesung) benutzte Bitleitungseingabe sein. Zum Beispiel wird in einer Ausführungsform durch das Bitleitungspegelauswahlmodul 606 ein Haltespeicher oder Register für alle ausgefallenen Speicherungszellen gesetzt, um eine an die ausgefallenen Speicherungszellen angelegte Spannung auf eine höhere Bitleitungsspannung zu steuern als eine an Speicherungszellen angelegte Bitleitungsspannung, die nicht ausgefallen sind, oder dergleichen.
  • 7 zeigt eine Ausführungsform eines Verfahrens 700 zur Lesepegelbestimmung. Das Verfahren 700 kann zu jedem Zeitpunkt durchgeführt werden, wie beispielsweise in vorbestimmten Zeitabständen zum Eichen und/oder Neueichen eines Blocks nichtflüchtiger Speicherungszellen als Reaktion auf einen unkorrigierbaren Bitfehler, für jede Leseoperation oder dergleichen. Zum Beispiel kann das Verfahren 700 in einem vorbestimmten Zeitabstand von alle 200 Programmier/Löschzyklen oder dergleichen durchgeführt werden. Das Verfahren 700 beginnt und vom Nennauslesungsmodul 502 wird eine erste Auslesung an einer Speicherzelle mit einem ersten Lesepegel durchgeführt (702). In gewissen Ausführungsformen wird von dem Nennauslesungsmodul 502 eine erste Auslesung an mehreren Speicherzellen (z.B. einer Wortleitung) durchgeführt 702. Vom Leseeinstellungsbestimmungsmodul 504 wird ein zweiter Lesepegel für wenigstens einen Teil der Speicherzelle basierend auf der ersten Auslesung bestimmt 704. In einigen Ausführungsformen wird vom Leseeinstellungsbestimmungsmodul 504 ein zweiter Lesepegel für mehrere Speicherzellen und für mehrere Bitleitungen bestimmt 704.
  • In gewissen Ausführungsformen wird vom Leseeinstellungsbestimmungsmodul 504 eine Anzahl ausgefallener Speicherungszellen einer Menge von Speicherungszellen mit Zellenströmen bestimmt, die einen Erfassungs- oder Erkennungsschwellwert in der ersten Auslesung nicht erfüllen, bestimmt ob die Anzahl ausgefallener Speicherungszellen einen vorbestimmten Schwellwert überschreitet und der zweite Lesepegel basierend darauf, ob die Anzahl von ausgefallenen Speicherungszellen den vorbestimmten Schwellwert überschreitet ausgewählt. In solchen Ausführungsformen kann der zweite Lesepegel größer als der erste Lesepegel sein, wenn die Anzahl ausgefallener Speicherungszellen den vorbestimmten Schwellwert überschreitet. In einigen Ausführungsformen umfasst Auswählen des zweiten Lesepegels Auswählen eines Lesepegels für Bitleitungen, die den vorbestimmten Schwellwert nicht überschreiten und Auswählen eines anderen Lesepegels für Bitleitungen, die den vorbestimmten Schwellwert überschreiten.
  • Von dem eingestellten Lesemodul 506 wird eine zweite Auslesung an der Speicherzelle mit dem zweiten Lesepegel durchgeführt 706 und das Verfahren 700 endet. In einigen Ausführungsformen wird von dem eingestellten Lesemodul 506 eine zweite Auslesung an mehreren Speicherzellen mit einem zweiten Lesepegel für jede Bitleitung mehrerer Bitleitungen durchgeführt 706. In gewissen Ausführungsformen ist der zweite Lesepegel der gleiche wie der erste Lesepegel.
  • 8 ist eine schematische Flussdiagrammdarstellung einer weiteren Ausführungsform eines Verfahrens 800 zur Lesepegelbestimmung. Das Verfahren 800 beginnt und vom Nennauslesungsmodul 502 wird eine Auslesung an Speicherungszellen mit einem ersten Lesepegel durchgeführt 802. Vom Leseeinstellungsbestimmungsmodul 504 wird eine Anzahl N ausgefallener Speicherungszellen von der Auslesung bestimmt 804.
  • Vom Leseeinstellungsbestimmungsmodul 504 wird bestimmt 806, ob N größer als ein vorbestimmter Schwellwert ist. Wenn N weniger als der vorbestimmte Schwellwert ist, wird vom eingestellten Lesemodul 506 eine Auslesung an den Speicherungszellen mit dem ersten Lesepegel durchgeführt 808 und dann endet das Verfahren 800. Wenn N größer als der vorbestimmte Schwellwert ist, wird vom Leseeinstellungsbestimmungsmodul 504 der erste Lesepegel auf einen zweiten Lesepegel erhöht 810. Dann wird vom eingestellten Lesemodul 506 eine Auslesung an den Speicherungszellen mit dem zweiten Lesepegel durchgeführt 812 und das Verfahren 800 endet. In anderen Ausführungsformen kann vom eingestellten Lesemodul 506 eine Auslesung an den Speicherungszellen mit mehreren unterschiedlichen Lesepegeln durchgeführt werden 812 (z.B. einer ersten Bitleitungsspannung für Zellen mit EIN-Strömen über einem Schwellwert und einer zweiten Bitleitungsspannung für Zellen mit EIN-Strömen unter einem Schwellwert, oder dergleichen).
  • 9A ist eine graphische Darstellung 900 einer Ausführungsform von EIN-Strom-Veränderung in einer 3-D-Speicheranordnung. Der Graph 900 zeigt Strom 904 über Spannung 902 für verschiedene Speicherungszellen. Eine erste Menge an Speicherungszellen 906 weist einen höheren EIN(z.B. Sättigungs)-Strom als eine zweite Menge von Speicherungszellen 908 auf. Weiterhin weist der zweite Satz von Speicherungszellen 908 einen höheren EIN-Strom als ein dritter Satz von Speicherungszellen 910 auf. In gewissen Ausführungsformen kann die erste Menge von Speicherungszellen 906 als einen hohen EIN-Strom aufweisend erachtet werden, die zweite Menge von Speicherungszellen 908 kann als ein Zwischen-EIN-Strom aufweisend angesehen werden und die dritte Menge von Speicherungszellen 910 kann als einen niedrigen EIN-Strom aufweisend angesehen werden.
  • 9B ist eine graphische Darstellung 912 einer Ausführungsform von eingestellter Spannungsanwendung in einer 3-D-Speicheranordnung. In gewissen Ausführungsformen kann die zum Auslesen der ersten Menge an Speicherungszellen 906 angelegte Spannung die gleiche wie in 9A bleiben. Darüber hinaus kann die zum Auslesen der zweiten Menge von Speicherungszellen 908 auf einen größeren Wert als die zum Auslesen der ersten Menge von Speicherungszellen 906 angelegte Spannung sein, um die EIN-Stromveränderung zu verringern. Weiterhin kann die zum Auslesen der dritten Menge von Speicherungszellen 910 angelegte Spannung auf einen höheren Wert als die zum Auslesen der zweiten Menge von Speicherungszellen 908 angelegte eingestellte Spannung erhöht werden, um die EIN-Stromveränderung zu verringern. Das im Graphen 912 dargestellte Ergebnis ist, dass die ersten, zweiten und dritten Mengen von Speicherungszellen 906, 908 und 910 eine verringerte EIN-Stromveränderung aufweisen. In gewissen Ausführungsformen können weniger oder mehr als drei Mengen von Speicherungszellen zusammengruppiert sein und dementsprechend können weniger oder mehr als drei Lesespannungen benutzt werden.
  • 10A ist eine graphische Darstellung 1000 von EIN-Stromveränderung zwischen Speicherlöchern (d.h. NAND-Ketten). Insbesondere ist Storm 1004 über Spannung 1002 für eine Anzahl von Speicherungszellen an einer ersten Wortleitung für eine Menge von Speicherlöchern dargestellt. 10B ist eine weitere graphische Darstellung 1006 von EIN-Stromveränderung zwischen Speicherlöchern. Insbesondere ist Strom 1010 über Spannung 1008 für eine Anzahl von Speicherungszellen einer zweiten Wortleitung für die gleiche Menge an Speicherlöchern dargestellt. 10C ist eine graphische Darstellung 1012 einer Ausführungsform von EIN-Stromkorrelation von Speicherzellen an Wortleitungen, die sich die gleiche Menge von Speicherlöchern teilen. Die graphische Darstellung 1012 zeigt die Korrelation zwischen dem EIN-Strom der Speicherzellen an einer ersten Wortleitung 1014 und dem EIN-Strom der Speicherzellen an einer zweiten Wortleitung 1016, die sich die gleiche Menge von Speicherlöchern teilen. Wie dargestellt besteht eine starke Korrelation zwischen Speicherzellen der ersten Wortleitung 1014 und der zweiten Wortleitung 1016, die sich die gleichen Speicherlöcher teilen. In einigen Ausführungsformen können alle Speicherzellen an Wortleitungen, die sich die gleiche Menge von Speicherlöchern teilen, annähernd den gleichen EIN-Strom aufweisen.
  • 10D ist eine graphische Darstellung 1018 von EIN-Stromveränderung zwischen Speicherlöchern nach einer großen Anzahl von Programmier/Löschzyklen. Insbesondere ist Strom 1022 über Spannung 1020 für eine Anzahl von Speicherzellen an einer ersten Wortleitung für eine Menge von Speicherlöchern dargestellt. 10E ist eine weitere graphische Darstellung 1024 von EIN-Stromveränderung zwischen Speicherlöchern. Insbesondere ist Strom 1028 über Spannung 1026 für eine Anzahl von Speicherungszellen einer zweiten Wortleitung für die gleiche Menge von Speicherlöchern dargestellt. 10F ist eine graphische Darstellung 1030 einer Ausführungsform von EIN-Stromkorrelation von Speicherzellen an Wortleitungen, die sich die gleiche Menge von Speicherlöchern nach einer großen Anzahl von Programmier/Löschzyklen teilen. Die graphische Darstellung 1030 zeigt die Korrelation zwischen dem EIN-Strom der Speicherzellen an einer ersten Wortleitung 1032 und dem EIN-Strom der Speicherzellen an einer zweiten Wortleitung 1034, die sich die gleiche Menge von Speicherlöchern teilen. Wie dargestellt besteht eine starke Korrelation zwischen Speicherzellen der ersten Wortleitung 1032 und der zweiten Wortleitung 1034, die sich die gleichen Speicherlöcher teilen, selbst nach einer großen Anzahl von Programmier/Löschzyklen. In einigen Ausführungsformen können alle Speicherzellen an Wortleitungen, die sich die gleiche Menge von Speicherlöchern teilen, annähernd den gleichen EIN-Strom aufweisen.
  • 10G ist eine graphische Darstellung 1036 einer Ausführungsform von EIN-Stromkorrelation von Speicherzellen an Wortleitungen, die sich die gleiche Menge von Speicherlöchern vor und nach einer großen Anzahl von Programmier/Löschzyklen teilen. Der Graph 1036 zeigt die Korrelation zwischen dem EIN-Storm von Speicherzellen an einer ersten Wortleitung 1038 vor einer großen Anzahl von Programmier/Löschzyklen und den EIN-Strom der gleichen ersten Wortleitung 1040 nach der großen Anzahl von Programmier/Löschzyklen. Wie dargestellt besteht eine starke Korrelation zwischen den EIN-Strömen vor Programmier/Löschzyklen 1038 und nach Programmier/Löschzyklen 1040 für die gleiche Menge von Speicherlöchern. In einigen Ausführungsformen können alle Speicherzellen an Wortleitungen, die sich die gleiche Menge von Speicherlöchern teilen, selbst nach einer großen Anzahl von Programmier/Löschzyklen annähernd den gleichen EIN-Strom aufweisen.
  • 11 ist eine graphische Darstellung 1100 einer Ausführungsform einer während einer zweiten Auslesung als Funktion des EIN-Zellenstroms 1102 anzulegenden optimalen Bitleitungsspannung 1104 wie während einer ersten Auslesung erhalten. Wie durch eine Kurve 1106 dargestellt steigt die zum Kompensieren des niedrigeren EIN-Zellenstroms 1102 benutzte Bitleitungsspannung 1104 mit abnehmenden EIN-Zellenstrom 1102. Umgedreht nimmt mit zunehmenden EIN-Zellenstrom 1102 die zum Kompensieren des höheren EIN-Zellenstroms 1102 benutzte Bitleitungsspannung 1104 ab.
  • 12A ist eine schematische Blockschaltbilddarstellung einer Ausführungsform eines Speicherlochs 1200. Das Speicherloch 1200 weist einen niedrigen EIN-Strom 1202 auf. Dementsprechend kann eine hohe Bitleitungsspannung zum Kompensieren des niedrigen EIN-Stroms 1202 ähnlich der Darstellung in 9B dem Speicherloch 1200 zugeführt werden. 12B ist eine schematische Blockschaltbilddarstellung einer weiteren Ausführungsform eines Speicherlochs 1210. Das Speicherloch 1210 weist einen hohen EIN-Strom 1212 auf. Dementsprechend kann zum Kompensieren des hohen EIN-Stroms 1212 dem Speicherloch 1210 eine niedrige Bitleitungsspannung zugeführt werden.
  • Ein Mittel zum Durchführen einer ersten Auslesung an Zellen eines nichtflüchtigen Speichermediums (z.B. zum Bestimmen von Zellenströmen der Zellen) kann in verschiedenen Ausführungsformen eine Lesepegelbestimmungskomponente 150, ein Nennauslesungsmodul 502, eine nichtflüchtige Speicherungsvorrichtungsschnittstelle 139, eine nichtflüchtige Speichermediensteuerung 126, einen Speicherungsclient 116, ein Datenbanksystem 116a, eine Host-Rechenvorrichtung 110, einen Bus 127, ein Netz 115, einen Vorrichtungstreiber, eine Steuerung (z.B. einen Vorrichtungstreiber, eine Zustandsmaschine, einen FPGA, einen ASIC oder dergleichen), die auf einer Host-Rechenvorrichtung 110 ablaufen, einen Prozessor 111, sonstige Logikhardware und/oder sonstigen auf einem computerlesbaren Speicherungsmedium gespeicherten ausführbaren Code umfassen. Andere Ausführungsformen können gleichartige oder gleichwertige Mittel zum Durchführen einer ersten Auslesung an Zellen eines nichtflüchtigen Speichermediums umfassen.
  • Ein Mittel zum Bestimmen von Bitleitungsspannungen für eine Vielzahl von Bitleitungen entsprechend Zellen basierend auf einer ersten Auslesung und/oder basierend auf für die Zellen bestimmten Zellenströmen kann in verschiedenen Ausführungsformen eine Lesepegelbestimmungskomponente 150, ein Leseeinstellungsbestimmungsmodul 504, eine nichtflüchtige Speicherungsvorrichtungsschnittstelle 139, eine nichtflüchtige Speichermediensteuerung 126, ein Ausfallbestimmungsmodul 602, ein Schwellwertvergleichsmodul 604, ein Bitleitungspegelauswahlmodul 606, einen Speicherungsclient 116, ein Datenbanksystem 116a, eine Host-Rechenvorrichtung 110, einen Bus 127, ein Netz 115, einen Vorrichtungstreiber, eine Steuerung (z.B. einen Vorrichtungstreiber, eine Zustandsmaschine, ein FPGA, ein ASIC oder dergleichen), die auf einer Host-Rechenvorrichtung 110 ablaufen, einen Prozessor 111, sonstige Logikhardware und/oder sonstigen auf einem computerlesbaren Speicherungsmedium gespeicherten ausführbaren Code umfassen. Andere Ausführungsformen können gleichartige oder gleichwertige Mittel zum Bestimmen von Bitleitungsspannungen für eine Vielzahl von Bitleitungen entsprechend Zellen umfassen.
  • Ein Mittel zum Durchführen einer zweiten Auslesung an Zellen unter Verwendung von bestimmten Bitleitungsspannungen für eine Vielzahl von Bitleitungen kann in verschiedenen Ausführungsformen eine Lesepegelbestimmungskomponente 150, ein eingestelltes Lesemodul 506, eine nichtflüchtige Speicherungsvorrichtungsschnittstelle 139, eine nichtflüchtige Speichermediensteuerung 126, einen Speicherungsclient 116, ein Datenbanksystem 116a, eine Host-Rechenvorrichtung 110, einen Bus 127, ein Netz 115, einen Vorrichtungstreiber, eine Steuerung (z.B. ein Vorrichtungstreiber, eine Zustandsmaschine, einen FPGA, einen ASIC oder dergleichen) die auf einer Host-Rechenvorrichtung 110 ablaufen, einen Prozessor 111, andere Logikhardware und/oder anderen auf einem computerlesbaren Speicherungsmedium gespeicherten ausführbaren Code umfassen. Andere Ausführungsformen können gleichartige oder gleichwertige Mittel zum Durchführen einer zweiten Auslesung an Zellen unter Verwendung bestimmter Bitleitungsspannungen für eine Vielzahl von Bitleitungen umfassen.
  • Ein Mittel zum Bestimmen einer Anzahl von ausgefallenen Zellen für jede Bitleitung mit Zellenströmen unter einem Stromschwellwert während einer ersten Auslesung kann in verschiedene Ausführungsformen eine Lesepegelbestimmungskomponente 150, ein Leseeinstellungsbestimmungsmodul 504, eine nichtflüchtige Speicherungsvorrichtungsschnittstelle 139, eine nichtflüchtige Speichermediensteuerung 126, ein Ausfallbestimmungsmodul 602, ein Schwellwertvergleichsmodul 604, ein Bitleitungspegelauswahlmodul 606, einen Speicherungsclient 116, ein Datenbanksystem 116a, eine Host-Rechenvorrichtung 110, einen Bus 127, ein Netz 115, einen Vorrichtungstreiber, eine Steuerung (z.B. einen Vorrichtungstreiber, eine Zustandsmaschine, ein FPGA, einen ASIC oder dergleichen), die auf einer Host-Rechenvorrichtung 110 ablaufen, einen Prozessor 111, andere Logikhardware und/oder anderen auf einem computerlesbaren Speicherungsmedium gespeicherten ausführbaren Code umfassen. Andere Ausführungsformen können gleichartige oder gleichwertige Mittel zum Bestimmen einer Anzahl ausgefallener Zellen für jede Bitleitung mit Zellenströmen unter einem Stromschwellwert während einer ersten Auslesung umfassen.
  • In einigen Ausführungsformen werden durch das Mittel zum Bestimmen der Bitleitungsspannungen die Bitleitungsspannungen basierend darauf, ob die Anzahl ausgefallener Zellen für jede Bitleitung einen vorbestimmten Schwellwert erfüllt, ausgewählt. In verschiedenen Ausführungsformen wird durch das Mittel zum Bestimmen der Bitleitungsspannungen eine erste Bitleitungsspannung für Bitleitungen der Vielzahl von Bitleitungen ausgewählt, die den vorbestimmten Schwellwert nicht erfüllen und eine zweite Bitleitungsspannung für Bitleitungen der Vielzahl von Bitleitungen ausgewählt, die den vorbestimmten Schwellwert erfüllen. In solchen Ausführungsformen kann die zweite Bitleitungsspannung größer als die erste Bitleitungsspannung sein.
  • Die vorliegende Offenbarung kann in anderen bestimmten Formen ausgeführt sein, ohne aus ihrem Wesen oder wesentlichen Eigenschaften zu weichen. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht nur als beispielhaft und nicht als einschränkend betrachtet werden. Der Rahmen der Offenbarung wird daher durch die beiliegenden Ansprüche anstatt durch die vorangehende Beschreibung angezeigt. Alle Änderungen, die innerhalb der Bedeutung und des Bereichs von Gleichwertigkeit der Ansprüche fallen, sollen innerhalb ihres Rahmens fallen.

Claims (20)

  1. Gerät umfassend: einen Block nichtflüchtiger Speicherungszellen umfassend eine Vielzahl von Bitleitungen; und eine Steuerung für den Block, wobei die Steuerung eingerichtet ist zum: Durchführen einer ersten Auslesung an einer Menge von Speicherungszellen unter Verwendung eines ersten Lesepegels für die Bitleitungen; Bestimmen eines zweiten Lesepegels für wenigstens einen Teil der Bitleitungen basierend wenigstens teilweise auf der ersten Auslesung; und Durchführen einer zweiten Auslesung an der Menge von Speicherungszellen unter Verwendung des zweiten Lesepegels für wenigstens einen Teil der Bitleitungen.
  2. Gerät nach Anspruch 1, wobei die Steuerung eingerichtet ist zum: Bestimmen, welche Speicherungszellen der Menge von Speicherungszellen Zellenströme auf den Bitleitungen aufweisen, die einen Erfassungsschwellwert während der ersten Auslesung nicht erfüllen; und Benutzen des zweiten Lesepegels für Bitleitungen der bestimmten Speicherungszellen während der zweiten Auslesung.
  3. Gerät nach Anspruch 2, wobei der zweite Lesepegel größer als der erste Lesepegel ist, so dass die Zellenströme für wenigstens einen Teil der bestimmten Speicherungszellen während der zweiten Auslesung zunehmen.
  4. Gerät nach Anspruch 1, wobei die Steuerung einen fehlerkorrigierenden Code(ECC)-Decodierer (ECC = Error Correcting Code) eingerichtet zum Benutzen von Daten aus der ersten Auslesung zum Korrigieren eines oder mehrerer Datenfehler in Daten aus der zweiten Auslesung umfasst.
  5. Gerät nach Anspruch 1, wobei die Steuerung Hardware einer nichtflüchtigen Speicherungsvorrichtung umfassend den Block nichtflüchtiger Speicherungszellen umfasst.
  6. Gerät nach Anspruch 5, wobei die Hardware der nichtflüchtigen Speicherungsvorrichtung eine Speicherungssteuerung in Kommunikation mit einer Vielzahl von Halbleiterchips nichtflüchtiger Speicherung umfasst, wobei einer der Halbleiterchips den Block nichtflüchtiger Speicherungszellen umfasst.
  7. Gerät nach Anspruch 5, wobei die Hardware der nichtflüchtigen Speicherungsvorrichtung eine Zustandsmaschine auf dem gleichen Halbleiterchip wie der Block nichtflüchtiger Speicherungszellen umfasst.
  8. Gerät nach Anspruch 1, wobei die Steuerung einen Vorrichtungstreiber für eine nichtflüchtige Speicherungsvorrichtung umfassend den Block nichtflüchtiger Speicherungszellen umfasst, wobei der Vorrichtungstreiber ein ausführbaren Code der Steuerung speicherndes nichtflüchtiges computerlesbares Speichermedium umfasst.
  9. Verfahren umfassend: Durchführen einer Schein-Auslesung an einer Speicherzelle; Bestimmen einer Bitleitungseingabe für eine Bitleitung der Speicherzelle basierend wenigstens teilweise auf der Schein-Auslesung; und Durchführen einer Auslesung an der Speicherzelle unter Verwendung der bestimmten Bitleitungseingabe.
  10. Verfahren nach Anspruch 9, wobei mehrere Schein-Auslesungen an einer Vielzahl von Wortleitungen umfassend eine Vielzahl von Speicherzellen durchgeführt werden, Bestimmen der Bitleitungseingabe Bestimmen von Bitleitungseingaben für eine Vielzahl von Bitleitungen entsprechend der Vielzahl von Wortleitungen umfasst, und Durchführen der Auslesung der Speicherzelle Durchführen einer Auslesung an einer der Wortleitungen entsprechend der Speicherzelle unter Verwendung der verschiedenen bestimmten Bitleitungseingaben für die Vielzahl von Bitleitungen umfasst.
  11. Verfahren nach Anspruch 10, wobei Bestimmen der Bitleitungseingaben für die Vielzahl von Bitleitungen umfasst: Bestimmen einer Anzahl von ausgefallenen Speicherzellen für jede Bitleitung der Vielzahl von Wortleitungen basierend auf den mehreren Schein-Auslesungen; Bestimmen, ob die Anzahl ausgefallener Speicherzellen für jede Bitleitung einen vorbestimmten Schwellwert überschreitet; und Benutzen der bestimmten Bitleitungseingabe während der Auslesung für Bitleitungen, wo die Anzahl ausgefallener Speicherzellen für die Bitleitung den vorbestimmten Schwellwert überschreitet.
  12. Verfahren nach Anspruch 11, weiterhin umfassend: Auswählen einer ersten Bitleitungseingabe für Bitleitungen der Vielzahl von Bitleitungen mit einer Anzahl ausgefallener Speicherzellen, die nicht den vorbestimmten Schwellwert überschreiten; und Auswählen einer zweiten Bitleitungseingabe für Bitleitungen der Vielzahl von Bitleitungen mit einer Anzahl ausgefallener Speicherzellen, die den vorbestimmten Schwellwert überschreiten.
  13. Verfahren nach Anspruch 12, wobei die erste Bitleitungseingabe eine während der Schein-Auslesung benutzte Bitleitungseingabe umfasst.
  14. Verfahren nach Anspruch 9, wobei die Schein-Auslesung während eines Herstellungs- und Prüfungsvorgangs für die Speicherzelle durchgeführt wird.
  15. Verfahren nach Anspruch 9, wobei die bestimmte Bitleitungseingabe für die Bitleitung in einem die Speicherzelle umfassenden nichtflüchtigen Speichermedium gespeichert ist.
  16. Verfahren nach Anspruch 9, wobei Durchführen der Schein-Auslesung an der Speicherzelle Durchführen der Schein-Auslesung unter Verwendung einer ersten Bitleitungseingabe und Durchführen der Auslesung an der Speicherzelle Durchführen der Auslesung unter Verwendung einer zweiten Bitleitungseingabe umfasst.
  17. Verfahren nach Anspruch 16, wobei die erste Bitleitungseingabe geringer als die zweite Bitleitungseingabe ist als Reaktion darauf, dass ein Zellenstrom für die Speicherzelle während der Schein-Auslesung einen Erfassungsschwellwert nicht erfüllt.
  18. Verfahren nach Anspruch 9, wobei die Schein-Auslesung vor der Auslesung der Speicherzelle durchgeführt wird.
  19. Gerät umfassend: Mittel zum Durchführen einer ersten Auslesung an Zellen eines nichtflüchtigen Speichermediums zum Bestimmen von Zellenströmen der Zellen; Mittel zum Bestimmen von Bitleitungsspannungen für eine Vielzahl von Bitleitungen entsprechend den Zellen basierend auf den bestimmten Zellenströmen; und Mittel zum Durchführen einer zweiten Auslesung an den Zellen unter Verwendung der bestimmten Bitleitungsspannungen für die Vielzahl von Bitleitungen.
  20. Gerät nach Anspruch 19, wobei das Mittel zum Bestimmen der Bitleitungsspannungen eine erste Bitleitungsspannung für Bitleitungen der Vielzahl von Bitleitungen mit Zellenströmen auswählt, die nicht einen vorbestimmten Schwellwert erfüllen und eine zweite Bitleitungsspannung für Bitleitungen der Vielzahl von Bitleitungen mit Zellenströmen auswählt, die den vorbestimmten Schwellwert erfüllen, wobei die zweite Bitleitungsspannung größer als die erste Bitleitungsspannung ist.
DE102017104257.1A 2016-06-13 2017-03-01 Auf Zellenstrom basierende Bitleitungsspannung Pending DE102017104257A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/181,346 2016-06-13
US15/181,346 US10008273B2 (en) 2016-06-13 2016-06-13 Cell current based bit line voltage

Publications (1)

Publication Number Publication Date
DE102017104257A1 true DE102017104257A1 (de) 2017-12-14

Family

ID=60419906

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017104257.1A Pending DE102017104257A1 (de) 2016-06-13 2017-03-01 Auf Zellenstrom basierende Bitleitungsspannung

Country Status (3)

Country Link
US (1) US10008273B2 (de)
CN (1) CN107492391B (de)
DE (1) DE102017104257A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10290353B2 (en) * 2016-09-06 2019-05-14 Western Digital Technologies, Inc. Error mitigation for 3D NAND flash memory
US10199111B1 (en) * 2017-08-04 2019-02-05 Micron Technology, Inc. Memory devices with read level calibration
US10936205B2 (en) 2017-10-05 2021-03-02 International Business Machines Corporation Techniques for retention and read-disturb aware health binning
US10824352B2 (en) 2017-12-06 2020-11-03 International Business Machines Corporation Reducing unnecessary calibration of a memory unit for which the error count margin has been exceeded
US10242747B1 (en) * 2017-12-28 2019-03-26 Micron Technology, Inc. Charge loss failure mitigation
US20190227743A1 (en) * 2018-01-23 2019-07-25 Micron Technology, Inc. Identifying a read operation for a storage device based on a workload of a host system
US11106391B2 (en) * 2018-04-25 2021-08-31 Micron Technology, Inc. Managing a memory system including memory devices with different characteristics
US10453537B1 (en) * 2018-05-10 2019-10-22 International Business Machines Corporation Techniques for reducing read voltage threshold calibration in non-volatile memory
US10529433B1 (en) 2018-08-13 2020-01-07 Micron Technology, Inc. Offset memory component automatic calibration (AUTOCAL) error recovery for a memory sub-system
US10699791B2 (en) 2018-08-24 2020-06-30 International Business Machines Corporation Adaptive read voltage threshold calibration in non-volatile memory
US20200378513A1 (en) * 2019-05-31 2020-12-03 Robert Kowalski Heated Faucet Cover
US10878923B1 (en) * 2019-06-26 2020-12-29 Sandisk Technologies Llc Partial page sensing mode, method, and apparatus for 3D NAND
US11086572B1 (en) 2020-03-02 2021-08-10 Micron Technology, Inc. Self adapting iterative read calibration to retrieve data from memory cells
US11029890B1 (en) 2020-03-02 2021-06-08 Micron Technology, Inc. Compound feature generation in classification of error rate of data retrieved from memory cells
US11740970B2 (en) 2020-03-02 2023-08-29 Micron Technology, Inc. Dynamic adjustment of data integrity operations of a memory system based on error rate classification
US11221800B2 (en) 2020-03-02 2022-01-11 Micron Technology, Inc. Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells
US12009034B2 (en) 2020-03-02 2024-06-11 Micron Technology, Inc. Classification of error rate of data retrieved from memory cells
US11257546B2 (en) * 2020-05-07 2022-02-22 Micron Technology, Inc. Reading of soft bits and hard bits from memory cells
US11562793B2 (en) 2020-05-07 2023-01-24 Micron Technology, Inc. Read soft bits through boosted modulation following reading hard bits
US11081200B1 (en) 2020-05-07 2021-08-03 Micron Technology, Inc. Intelligent proactive responses to operations to read data from memory cells
US10998041B1 (en) * 2020-05-07 2021-05-04 Western Digital Technologies, Inc. Calibrating non-volatile memory read thresholds
US11791001B2 (en) * 2022-03-21 2023-10-17 Sandisk Technologies Llc Non-volatile memory with updating of read compare voltages based on measured current
US11894080B2 (en) * 2022-04-29 2024-02-06 Sandisk Technologies Llc Time-tagging read levels of multiple wordlines for open block data retention

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175694A (ja) * 2000-09-26 2002-06-21 Toshiba Corp 半導体記憶装置及びメモリセルのデータセンス方法
US7020026B2 (en) * 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory
US7251160B2 (en) * 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
KR100829790B1 (ko) * 2006-10-20 2008-05-19 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 독출방법
TWI380311B (en) * 2006-12-29 2012-12-21 Sandisk Technologies Inc Systems and methods for margined neighbor reading for non-volatile memory read operations including coupling compensation
JP5363252B2 (ja) * 2009-09-09 2013-12-11 ルネサスエレクトロニクス株式会社 半導体集積回路
KR101939235B1 (ko) * 2011-08-03 2019-01-17 삼성전자 주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR20130087092A (ko) * 2012-01-27 2013-08-06 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템
US9257203B2 (en) * 2012-12-06 2016-02-09 Micron Technology, Inc. Setting a default read signal based on error correction
KR20160051328A (ko) * 2014-11-03 2016-05-11 에스케이하이닉스 주식회사 데이터 복구 방법 및 이를 사용한 비휘발성 메모리 시스템

Also Published As

Publication number Publication date
US10008273B2 (en) 2018-06-26
CN107492391A (zh) 2017-12-19
CN107492391B (zh) 2020-10-30
US20170358365A1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
DE102018105529B4 (de) Managementschema zur Vermeidung einer Lösch- und Programmierstörung von Subblöcken im nichtflüchtigen Datenspeicher
DE112017002776T5 (de) Nichtflüchtiger Speicher mit angepasster Steuerung vom Typ der Störinjektion während der Programmüberprüfung für eine verbesserte Programmleistung
DE112019000165T5 (de) Gleichzeitiges programmieren mehrerer zellen für nichtflüchtigespeichervorrichtungen
DE102017104283A1 (de) Löschgeschwindigkeitsbasierte wortleitungssteuerung
DE102020116362B3 (de) Dynamische zuweisung von unterblöcken
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102013108907A1 (de) Nichtflüchtige Speichervorrichtung mit nahen/fernen Speicherzellengruppierungen und Datenverarbeitungsverfahren
DE102018105685A1 (de) Multi-Zustands-Programm, das gesteuertes schwaches Boosten für einen nichtflüchtigen Speicher verwendet
DE102020116188B4 (de) Verbesserung der sourceseitigen vorladung und verstärkung für das programmieren in umgekehrter reihenfolge
DE112015006285T5 (de) Mehrchip-doppelschreiben
DE102013100596B4 (de) Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren
DE102020115935A1 (de) Nichtflüchtiger speicher mit dem überspringen der programmprürung
DE112019000153T5 (de) Auswahl der Untergruppe zur Prüfung
DE102013108491A1 (de) Nichtflüchtige Speichervorrichtung und Betriebsverfahren mit variablen Speicherzellenzustandsdefinitionen
DE102018129517A1 (de) Leseverstärker mit negativer schwellenwerterfassung für nicht-flüchtige speicher
DE102018123961A1 (de) Gruppen-leseaktualisierung
DE112020000174T5 (de) Adaptive vpass für 3d-flash-speicher mit paarkettenstruktur
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE112018004373T5 (de) Adaptive programmierspannung für nichtflüchtige speichervorrichtungen
DE102018209207A1 (de) Selektive body-reset-operation für dreidimensionalen (3d ) nand-speicher
DE102021107475A1 (de) Kalibrieren von leseschwellenwerten eines nichtflüchtigen speichers
DE112020000237T5 (de) Soft-bit-lesemodusauswahl für nicht-flüchtige speicher
DE102013108456A1 (de) Nichtflüchtige Speichervorrichtung und Programmierverfahren
DE102018123887A1 (de) Nichtflüchtiges Speichersystem. das fehlerhafte Blöcke regeneriert

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE