DE102018123961A1 - Gruppen-leseaktualisierung - Google Patents

Gruppen-leseaktualisierung Download PDF

Info

Publication number
DE102018123961A1
DE102018123961A1 DE102018123961.0A DE102018123961A DE102018123961A1 DE 102018123961 A1 DE102018123961 A1 DE 102018123961A1 DE 102018123961 A DE102018123961 A DE 102018123961A DE 102018123961 A1 DE102018123961 A1 DE 102018123961A1
Authority
DE
Germany
Prior art keywords
memory
group
storage
read
unselected
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
DE102018123961.0A
Other languages
English (en)
Inventor
Philip David Reusswig
Grishma Shah
Nian Niles Yang
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 DE102018123961A1 publication Critical patent/DE102018123961A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/783Masking faults in memories by using spares or by reconfiguring using programmable devices with refresh of replacement cells, e.g. in DRAMs
    • 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

Landscapes

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

Abstract

Vorrichtungen, Systeme, Verfahren und Computerprogrammprodukte werden zum Ausführen einer Gruppen-Leseaktualisierung offenbart. Eine Vorrichtung beinhaltet eine Vielzahl von Speichergruppen. Eine Vorrichtung beinhaltet eine Operationsschaltung, die eine Operation an einer ausgewählten Speichergruppe einer Vielzahl von Speichergruppen ausführt. Eine Vorrichtung beinhaltet eine Sanierungsschaltung, die eine Gegenmaßnahmenoperation auf einer nicht ausgewählten Speichergruppe einer Vielzahl von Speichergruppen als Reaktion auf eine Operation an einer ausgewählten Speichergruppe ausführt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenlegung bezieht sich in verschiedenen Ausführungsformen auf einen Speicher und insbesondere auf das Durchführen einer Gruppen-Leseaktualisierung an Speicherblöcken.
  • HINTERGRUND
  • Viele Schaltkreise und Vorrichtungen, wie beispielsweise Speichervorrichtungen oder dergleichen, können in Blöcken oder Gruppen organisiert sein. Bei bestimmten Konfigurationen können Daten, die aus einer Speichervorrichtung gelesen werden, Datenfehler aufweisen, wenn Blöcke oder Gruppen von Speicherzellen gestört wurden oder in einem unerwarteten Zustand sind.
  • ZUSAMMENFASSUNG
  • Es werden Vorrichtungen zum Durchführen einer Gruppen-Leseaktualisierung präsentiert. In einer Ausführungsform beinhaltet eine Vorrichtung eine Vielzahl von Speichergruppen. Eine Vorrichtung beinhaltet in bestimmten Ausführungsformen eine Operationsschaltung, die eine Operation an einer ausgewählten Speichergruppe einer Vielzahl von Speichergruppen ausführt. Eine Vorrichtung beinhaltet in einigen Ausführungsformen eine Sanierungsschaltung, die eine Gegenmaßnahmenoperation auf einer nicht ausgewählten Speichergruppe einer Vielzahl von Speichergruppen als Reaktion auf eine Operation an einer ausgewählten Speichergruppe ausführt.
  • Es werden Systeme zum Durchführen einer Gruppen-Leseaktualisierung präsentiert. Ein System beinhaltet in einer Ausführungsform eine Vielzahl von Speicherblöcken, die mit der gleichen Steuerleitung gekoppelt sind. In verschiedenen Ausführungsformen beinhaltet ein System eine Steuerung. In einer weiteren Ausführungsform ist eine Steuerung eingerichtet, um eine Operation an einem ausgewählten Speicherblock einer Vielzahl von Speicherblöcken auszuführen; um eine Art einer auszuführenden Leseaktualisierung zu bestimmen; und als Teil der Operation die Art der Leseaktualisierung auf einem nicht ausgewählten Speicherblock der Vielzahl von Speicherblöcken durchzuführen.
  • Eine Vorrichtung zum Durchführen einer Gruppen-Leseaktualisierung beinhaltet in einer Ausführungsform Mittel zum Durchführen einer Operation an einer ausgewählten Gruppe von Speicherzellen einer Vielzahl von Speicherzellen unter Verwendung eines Operationsspannungspegels für die ausgewählte Gruppe von Speicherzellen und eines anderen Spannungspegels für eine nicht ausgewählte Gruppe von Speicherzellen der Vielzahl von Speicherzellen. In einigen Ausführungsformen beinhaltet eine Vorrichtung Mittel zum Durchführen einer Leseaktualisierung an einer nicht ausgewählten Gruppe von Speicherzellen einer Vielzahl von Speicherzellen als Reaktion auf den Abschluss einer Operation.
  • Figurenliste
  • Eine speziellere Beschreibung wird nachstehend unter Bezugnahme auf spezifische, in den beigefügten Zeichnungen veranschaulichte Ausführungsformen eingeschlossen. Angesichts dessen, dass diese Zeichnungen nur bestimmte Ausführungsformen der Offenlegung darstellen und deshalb nicht als ihren Umfang einschränkend betrachtet werden sollen, wird die Offenlegung mit zusätzlicher Spezifität und Detail durch die Verwendung der beigefügten Zeichnungen beschrieben und erläutert, in denen:
    • 1A ist ein schematisches Blockdiagramm, das eine Ausführungsform eines Systems zum Ausführen einer Gruppen-Leseaktualisierung veranschaulicht;
    • 1B ist ein schematisches Blockdiagramm, das eine weitere Ausführungsform eines Systems zum Ausführen einer Gruppen-Leseaktualisierung veranschaulicht;
    • 2 ist ein schematisches Blockdiagramm, das eine Ausführungsform einer Kette von Speicherzellen veranschaulicht;
    • 3 ist ein schematisches Blockdiagramm, das eine Ausführungsform eines Arrays von Speicherzellen veranschaulicht;
    • 4 veranschaulicht eine Ausführungsform einer vertikalen 3D-NAND-Flash-Speicherstruktur;
    • 5 ist ein schematisches Blockdiagramm, das eine Ausführungsform eines nichtflüchtigen Speicherelements einschließlich Speicherblöcken veranschaulicht;
    • 6 ist ein schematisches Blockdiagramm, das eine Ausführungsform einer Gruppenaktualisierungskomponente veranschaulicht;
    • 7 ist ein schematisches Blockdiagramm, das eine weitere Ausführungsform einer Gruppenaktualisierungskomponente veranschaulicht;
    • 8 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Ausführen einer Gruppen-Leseaktualisierung veranschaulicht; und
    • 9 ist ein schematisches Flussdiagramm, das eine weitere Ausführungsform eines Verfahrens zum Ausführen einer Gruppen-Leseaktualisierung veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Aspekte der vorliegenden Offenlegung können als eine Vorrichtung, ein System, ein Verfahren oder ein Computerprogrammprodukt verkörpert sein. Folglich können Aspekte der vorliegenden Offenlegung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, residente Software, Mikrocode, oder dergleichen) oder einer Software- und Hardwareaspekte kombinierenden Ausführungsform annehmen, die alle allgemein hierin als „Schaltkreis“, „Modul“, „Vorrichtung“ oder „System“ bezeichnet werden können. Weiterhin können Aspekte der vorliegenden Offenlegung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren nichtflüchtigen computerlesbaren Speichermedien verkörpert ist, die computerlesbaren und/oder ausführbaren Programmcode speichern.
  • Viele der in dieser Patentschrift beschriebenen Funktionseinheiten wurden als Module bezeichnet, um ihre Implementierungsunabhängigkeit zusätzlich hervorzuheben. Zum Beispiel kann ein Modul als eine Hardwareschaltung implementiert sein, die kundenspezifische VLSI-Schaltungen oder Gate-Arrays, handelsübliche Halbleiter wie etwa Logikchips, Transistoren oder anderen diskrete Komponenten aufweist. Ein Modul kann auch in programmierbaren Hardwarevorrichtungen wie etwa feldprogrammierbaren Gate-Arrays, einer programmierbaren Array-Logik, programmierbaren Logikvorrichtungen oder dergleichen implementiert sein.
  • Module können auch zumindest teilweise in Software zur Ausführung durch verschiedene Arten von Prozessoren implementiert sein. Ein identifiziertes Modul ausführbaren Codes kann beispielsweise einen oder mehrere physische oder logische Blöcke von Computeranweisungen aufweisen, die beispielsweise als ein Objekt, eine Prozedur oder eine Funktion organisiert sein können. Nichtsdestotrotz müssen die ausführbaren Programme eines identifizierten Moduls nicht physisch zusammen angeordnet sein, sondern können unterschiedliche Anweisungen aufweisen, die an verschiedenen Orten gespeichert sind, die, wenn sie logisch miteinander verbunden sind, das Modul aufweisen und den angegebenen Zweck für das Modul erfüllen.
  • Infolgedessen kann ein Modul ausführbaren Codes eine einzelne Anweisung oder viele Anweisungen beinhalten und kann sogar über mehrere unterschiedliche Codesegmente, in verschiedenen Programmen, über mehrere Speichervorrichtungen oder dergleichen verteilt sein. Wo ein Modul oder Teile eines Moduls in Software implementiert sind, können die Softwareteile auf einem oder mehreren computerlesbaren und/oder ausführbaren Speichermedien gespeichert sein. Jede Kombination von einem oder mehreren computerlesbaren Speichermedien kann verwendet werden. Ein computerlesbares Speichermedium kann beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine Vorrichtung oder ein Gerät oder irgendeine geeignete Kombination der vorstehenden sein, würde aber keine sich ausbreitenden Signale beinhalten. Im Kontext dieses Dokuments kann ein computerlesbares und/oder ausführbares Speichermedium jedes konkrete und/oder nichtflüchtige Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem, einer Vorrichtung, einem Prozessor oder einem Gerät enthalten oder speichern kann.
  • Computerprogrammcode zur Durchführung von Operationen für Aspekte der vorliegenden Offenlegung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache wie Python, Java, Smalltalk, C++, C#, Objektiv C oder dergleichen, herkömmlicher prozeduraler Programmiersprachen wie die Programmiersprache „C“, Skript-Programmiersprachen und/oder anderer ähnlicher Programmiersprachen. Der Programmcode kann teilweise oder vollständig auf einem oder mehreren Computern eines Benutzers und/oder auf einem entfernten Computer oder Server über ein Datennetz oder dergleichen ausgeführt werden.
  • Eine Komponente, wie sie hierin verwendet wird, weist eine konkrete, physische, nichtflüchtige Vorrichtung auf. Zum Beispiel kann eine Komponente als eine Hardware-Logikschaltung implementiert sein, die kundenspezifische VLSI-Schaltungen, Gate-Arrays oder andere integrierte Schaltungen aufweist; handelsübliche Halbleiter, wie beispielsweise Logikchips, Transistoren oder andere diskrete Vorrichtungen; und/oder andere mechanische oder elektrische Vorrichtungen. Eine Komponente kann auch in programmierbaren Hardwarevorrichtungen wie etwa feldprogrammierbaren Gate-Arrays, einer programmierbaren Array-Logik, programmierbaren Logikvorrichtungen oder dergleichen implementiert sein. Eine Komponente kann eine oder mehrere siliziumbasierte integrierte Schaltungsvorrichtungen (z. B. Chips, Dies, Die-Ebenen, Pakete) oder andere diskrete elektrische Vorrichtungen in elektrischer Verbindung mit einer oder mehreren anderen Komponenten über elektrische Leitungen einer Schaltungsplatine (PCB) oder dergleichen aufweisen. Jedes der hierin beschriebenen Module kann in bestimmten Ausführungsformen alternativ durch eine Komponente verkörpert oder implementiert sein.
  • Die Bezugnahme auf „eine Ausführungsform“, „Ausführungsform“ oder ein ähnlicher Sprachgebrauch in dieser Patentschrift bedeutet, dass ein bestimmtes Merkmal, eine spezielle Struktur oder Charakteristik, die in Verbindung mit der Ausführungsform beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Offenlegung beinhaltet ist. Daher können die Ausdrücke „in einer Ausführungsform“, „in der Ausführungsform“ und ähnlich gelagerter Sprachgebrauch in dieser Beschreibung, wo sie vorkommen, sich nicht notwendigerweise alle auf dieselbe Ausführungsform beziehen, sondern „eine oder mehrere, aber nicht alle Ausführungsformen“ bedeuten, sofern nicht ausdrücklich etwas anderes angegeben ist. Die Begriffe „einschließlich“, „aufweisend“, „besitzend“ und Variationen dessen bedeuten „einschließlich aber nicht darauf beschränkt“, sofern nicht ausdrücklich etwas anderes angegeben ist. Eine aufzählende Auflistung von Elementen impliziert nicht, dass sich irgendeines oder alle der Elemente gegenseitig ausschließen und/oder gegenseitig einschließen, sofern nicht ausdrücklich etwas anderes angegeben ist. Die Begriffe „ein/e/s“, und „der/die/das“ beziehen sich auch auf „eines oder mehrere“, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • Aspekte der vorliegenden Offenlegung werden unten unter Bezugnahme auf schematische Flussdiagramme und/oder schematische Blockdiagramme von Verfahren, Vorrichtungen, Systemen und Computerprogrammprodukten gemäß Ausführungsformen der Offenlegung 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 implementiert werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Anweisungen, die über den Prozessor oder eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Implementieren der Funktionen und/oder Schritte erzeugen, die in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen Block oder Blöcken spezifiziert sind.
  • Es sollte auch beachtet werden, dass in einigen alternativen Implementierungen die in dem Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, abhängig von der involvierten Funktionalität. Andere Schritte und Verfahren, die in Funktion, Logik oder Wirkung äquivalent zu einem oder mehreren Blöcken oder Teilen davon der dargestellten Figuren sind, können konzipiert werden. Obwohl verschiedene Pfeiltypen und Linientypen in dem Flussdiagramm und/oder den Blockdiagrammen verwendet werden können, sind sie so zu verstehen, dass sie den Umfang der entsprechenden Ausführungsformen nicht einschränken. Zum Beispiel kann ein Pfeil eine Wartungs- oder Überwachungsperiode einer nicht spezifizierten Dauer zwischen aufgezählten Schritten der dargestellten Ausführungsform angeben.
  • In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil davon bilden. Die vorhergehende Zusammenfassung ist nur veranschaulichend und soll in keiner Weise einschränkend sein. Zusätzlich zu den oben beschriebenen veranschaulichenden Aspekten, Ausführungsformen und Merkmalen werden weitere Aspekte, Ausführungsformen und Merkmale unter Bezugnahme auf die Zeichnungen und die folgende ausführliche Beschreibung deutlich. Die Beschreibung von Elementen in jeder Figur kann sich auf Elemente von fortlaufenden Figuren beziehen. Gleiche Bezugszeichen können sich auf gleiche Elemente in den Figuren beziehen, einschließlich alternativer Ausführungsformen gleicher Elemente.
  • 1A ist ein Blockdiagramm einer Ausführungsform eines Systems 100, das eine Gruppenaktualisierungskomponente 150 für eine nichtflüchtige Speichervorrichtung 120 aufweist. Die Gruppenaktualisierungskomponente 150 kann Teil einer Steuerung 126 eines nichtflüchtigen Speichermediums, eines nichtflüchtigen Speicherelements 123, eines Vorrichtungstreibers oder dergleichen sein oder damit verbunden sein. Die Gruppenaktualisierungskomponente 150 kann auf einem nichtflüchtigen Speichersystem 102 einer Rechenvorrichtung 110 betrieben werden, die einen Prozessor 111, einen flüchtigen Speicher 112 und eine Kommunikationsschnittstelle 113 aufweisen kann. Der Prozessor 111 kann eine oder mehrere zentrale Prozessoreinheiten, einen oder mehrere Universalprozessoren, einen oder mehrere anwendungsspezifische Prozessoren, einen oder mehrere virtuelle Prozessoren (z. B. kann die Rechenvorrichtung 110 eine virtuelle Maschine sein, die in einem Host arbeitet), einen oder mehrere Prozessorkerne oder dergleichen aufweisen. Die Kommunikationsschnittstelle 113 kann eine oder mehrere Netzwerkschnittstellen aufweisen, die eingerichtet sind, um die Rechenvorrichtung 110 und/oder die Steuerung 126 des nichtflüchtigen Speichers kommunikativ mit einem Kommunikationsnetzwerk 115, wie etwa einem IP-Netzwerk (Internet Protocol) Netzwerk, einem SAN-Netzwerk (Storage Area Network), einem drahtlosen Netzwerk, einem verdrahteten Netzwerk oder dergleichen zu koppeln.
  • Die nichtflüchtige Speichervorrichtung 120 kann in verschiedenen Ausführungsformen in einer oder mehreren unterschiedlichen Positionen in Bezug auf die Rechenvorrichtung 110 angeordnet sein. In einer Ausführungsform weist die nichtflüchtige Speichervorrichtung 120 ein oder mehrere nichtflüchtige Speicherelemente 123, etwa Halbleiterchips oder Pakete oder andere integrierte Schaltungsvorrichtungen auf, die auf einer oder mehreren Leiterplatten, Speichergehäuse und/oder anderen mechanischen und/oder elektrischen Trägerstrukturen angeordnet sind. Beispielsweise kann die nichtflüchtige Speichervorrichtung 120 eine oder DIMM-Karten (Direct Inline Memory Module), eine oder mehrere Erweiterungskarten und/oder Tochterkarten, ein Festkörperlaufwerk (SSD) oder eine andere Festplatte aufweisen und/oder einen anderen Speicher und/oder Speicherformfaktor aufweisen. Die nichtflüchtige Speichervorrichtung 120 kann in eine Hauptplatine der Rechenvorrichtung 110 integriert sein und/oder darauf montiert sein, in einem Port und/oder Steckplatz der Rechenvorrichtung 110 installiert sein, auf einer anderen Rechenvorrichtung 110 und/oder einem dedizierten Speichervorgerät in dem Netzwerk 115 installiert sein, das sich in Kommunikation mit der Rechenvorrichtung 110 über einen externen Bus (z. B. eine externe Festplatte) oder dergleichen befindet.
  • Die nichtflüchtige Speichervorrichtung 120 kann in einer Ausführungsform auf einem Speicherbus eines Prozessors 111 (z. B. auf demselben Speicherbus wie der flüchtige Speicher 112, auf einem anderen Speicherbus als der flüchtige Speicher 112, anstelle des flüchtigen Speichers 112 oder dergleichen) angeordnet sein. In einer weiteren Ausführungsform kann die nichtflüchtige Speichervorrichtung 120 auf einem peripheren Bus der Rechenvorrichtung 110 angeordnet sein, wie zum Beispiel einem PCI-Express- oder PCIe-Bus (Peripheral Component Interconnect Express), einem SATA-Bus (Serial Advanced Technology Attachment), einem PATA-Bus (Parallel Advanced Technology Attachment), einem SCSI-Bus (Small Computer System Interface), einem FireWire-Bus, einer Fibre-Channel-Verbindung, einem USB-Bus (Universal Serial Bus), einem PCIe-AS-Bus (PCle Advanced Switching) oder dergleichen. In einer anderen Ausführungsform kann die nichtflüchtige Speichervorrichtung 120 auf einem Datennetzwerk 115 angeordnet sein, wie einem Ethernet-Netzwerk, einem Infiniband-Netzwerk, SCSI RDMA über einem Netzwerk 115, einem SAN-Netzwerk (Storage Area Network), einem LAN-Netzwerk (Local Area Network), einem WAN-Netzwerk (Wide Area Network) wie dem Internet, einem anderen verdrahteten und/oder drahtlosen Netzwerk 115 oder dergleichen.
  • Die Rechenvorrichtung 110 kann weiterhin ein nichtflüchtiges, computerlesbares Speichermedium 114 aufweisen. Das computerlesbare Speichermedium 114 kann ausführbare Anweisungen aufweisen, die eingerichtet sind, um zu bewirken, dass die Rechenvorrichtung 110 (z. B. Prozessor 111) Schritte eines oder mehrerer der hierin offenbarten Verfahren ausführt. Alternativ oder zusätzlich kann die Gruppenaktualisierungskomponente 150 als eine oder mehrere computerlesbare Anweisungen verkörpert sein, die auf dem nichtflüchtigen Speichermedium 114 gespeichert sind.
  • Das nichtflüchtige Speichersystem 102 beinhaltet in der dargestellten Ausführungsform eine Gruppenaktualisierungskomponente 150. Die Gruppenaktualisierungskomponente 150 ist in einer Ausführungsform eingerichtet, um eine Operation an einer ausgewählten Speichergruppe einer Vielzahl von Speichergruppen der nichtflüchtigen Speichervorrichtung 120 (z. B. einer Vielzahl von Speicherblöcken) durchzuführen, die unten beschrieben sind. In einigen Ausführungsformen kann das Durchführen der Operation an der ausgewählten Speichergruppe eine nicht ausgewählte Speichergruppe in einen anderen Lesezustand versetzen als die ausgewählte Speichergruppe (z. B. die nicht ausgewählte Speichergruppe in einen ersten Lesezustand versetzen). Die Gruppenaktualisierungskomponente 150 kann in bestimmten Ausführungsformen einen Lesevorgang an der nicht ausgewählten Speichergruppe der Vielzahl von Speichergruppen als Reaktion auf die Operation an der ausgewählten Speichergruppe durchführen. Als Ergebnis des Lesevorgangs an der nicht ausgewählten Speichergruppe kann die nicht ausgewählte Speichergruppe in den gleichen Lesezustand wie die ausgewählte Speichergruppe versetzt werden (z. B. von einem ersten Lesezustand in einen zweiten Lesezustand).
  • Wie hier verwendet, kann sich ein Speicherblock auf eine Gruppe, einen Satz und/oder eine Teilmenge von nichtflüchtigen Speicherelementen 123, Speicherzellen und/oder Speicherelementen beziehen. Zum Beispiel kann ein Speicherblock einen Löschblock oder einen anderen Satz von Zellen aufweisen, die gemeinsam für eine oder mehrere Operationen zugänglich sind. Weiterhin, wie hierin verwendet, kann sich eine Speichergruppe auf eine Gruppe, einen Satz und/oder eine Teilmenge von nichtflüchtigen Speicherelementen 123, Speicherzellen und/oder Speicherelementen beziehen. In bestimmten Ausführungsformen kann eine Speichergruppe mehrere Speicherblöcke mit einer gemeinsamen Steuerleitung, einem gemeinsamen Durchgangsgate, einem gemeinsamen Zeilendecodierer oder dergleichen aufweisen (z. B. um Schaltungsraum eines Speicherelements 123 oder dergleichen zu sparen).
  • In einer Ausführungsform kann die Gruppenaktualisierungskomponente 150 Logik-Hardware einer oder mehrerer nichtflüchtiger Speichervorrichtungen 120 aufweisen, wie etwa eine Steuerung 126 eines nichtflüchtigen Speichermediums, ein nichtflüchtiges Speicherelement 123, eine Vorrichtungssteuerung, ein feldprogrammierbares Gate-Array (FPGA) oder andere programmierbare Logik, Firmware für ein FPGA oder eine andere programmierbare Logik, Mikrocode zur Ausführung auf einen Mikrocontroller, eine anwendungsspezifische integrierte Schaltung (ASIC), oder dergleichen. In einer anderen Ausführungsform kann die Gruppenaktualisierungskomponente 150 ausführbaren Softwarecode aufweisen, wie etwa einen Vorrichtungstreiber oder dergleichen, der auf dem computerlesbaren Speichermedium 114 zur Ausführung auf dem Prozessor 111 gespeichert ist. In einer weiteren Ausführungsform kann die Gruppenaktualisierungskomponente 150 eine Kombination von sowohl ausführbarem Softwarecode als auch Logik-Hardware einschließen.
  • 1A veranschaulicht die Gruppenaktualisierungskomponente 150, die mehrere separate Komponenten aufweist, um zu veranschaulichen, dass die Gruppenaktualisierungskomponente 150 vollständig in einer oder mehreren Komponenten von 1A und/oder teilweise in einer oder mehreren Komponenten von 1A enthalten sein kann. Zum Beispiel kann die gesamte Gruppenaktualisierungskomponente 150 Teil der nichtflüchtigen Speicherelemente 123, der Steuerung 126 eines nichtflüchtigen Speichermediums und/oder der Schnittstelle 139 für nichtflüchtige Speichervorrichtungen sein. Als ein anderes Beispiel können Teile der Gruppenaktualisierungskomponente 150 Teil der nichtflüchtigen Speicherelemente 123, der Steuerung 126 eines nichtflüchtigen Speichermediums und/oder der Schnittstelle 139 für nichtflüchtige Speichervorrichtungen sein. Es sollte beachtet werden, dass sich die Gruppenaktualisierungskomponente 150 nur in einer der veranschaulichten Komponenten befinden kann und/oder die Gruppenaktualisierungskomponente 150 kann sich in Komponenten von 1A befinden, welche die Gruppenaktualisierungskomponente 150 darin nicht darstellen.
  • In einer Ausführungsform ist die Gruppenaktualisierungskomponente 150 eingerichtet, um Speicheranforderungen von einem Vorrichtungstreiber oder einer anderen ausführbaren Anwendung über einen Bus 125 oder dergleichen zu empfangen. Die Gruppenaktualisierungskomponente 150 kann weiterhin eingerichtet sein, um Daten zu/von einem Vorrichtungstreiber und/oder Speicherclients 116 über den Bus 125 zu übertragen. Dementsprechend kann die Gruppenaktualisierungskomponente 150 in einigen Ausführungsformen ein oder mehrere Direktzugriffsspeichermodule (DMA-Module), entfernte DMA-Module, Bussteuerungen, Brücken, Puffer usw. aufweisen und/oder mit ihnen verbunden sein, um die Übertragung von Speicheranforderungen und zugeordneten Daten zu ermöglichen. In einer anderen Ausführungsform kann die Gruppenaktualisierungskomponente 150 Speicheranforderungen als einen API-Anruf von einem Speicherclient 116, als einen IO-CTL-Befehl oder dergleichen empfangen.
  • Gemäß verschiedener Ausführungsformen kann eine Steuerung 126 des nichtflüchtigen Speichers in Kommunikation mit einer oder mehreren Gruppenaktualisierungskomponenten 150 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- und/oder Speichervorrichtungen aufweisen, wie Festkörperspeichervorrichtungen und/oder Halbleiterspeichervorrichtungen, die als eine Vielzahl von adressierbaren Medienspeicherstellen angeordnet und/oder unterteilt sind. Wie hierin verwendet, bezieht sich eine Medienspeicherstelle auf irgendeine physische Einheit eines Speichers (z. B. irgendeine Anzahl physischer Speichermedien auf einer nichtflüchtigen Speichervorrichtung 120). Speichereinheiten können Folgendes einschließen, ohne darauf beschränkt zu sein: Seiten, Speicherbereiche, Blöcke, Sektoren, Sammlungen oder Sätze von physischen Speicherstellen (z. B. logische Seiten, logische Blöcke) oder dergleichen.
  • Ein Vorrichtungstreiber und/oder die Steuerung 126 des nichtflüchtigen Speichermediums können in bestimmten Ausführungsformen einen logischen Adressraum 134 für die Speicherclients 116 darstellen. Wie hierin verwendet, bezieht sich ein logischer Adressraum 134 auf eine logische Repräsentation von Speicherressourcen. Der logische Adressraum 134 kann eine Mehrzahl (z. B. einen Bereich) logischer Adressen aufweisen. Wie hierin verwendet, bezieht sich eine logische Adresse auf jede Kennung zum Referenzieren einer Speicherressource (z. B. Daten), einschließlich, aber nicht beschränkt auf: eine LBA-Adresse (Logical Block Address), eine CHS-Adresse (Cylinder/Head/Sector), einen Dateinamen, eine Objektkennung, eine Inode, eine universell eindeutige Kennung (UUID), eine global eindeutige Kennung (GUID), einen Hash-Code, eine Signatur, einen Indexeintrag, einen Bereich, ein Maß oder dergleichen.
  • Ein Vorrichtungstreiber für die nichtflüchtige Speichervorrichtung 120 kann Metadaten 135, wie beispielsweise eine logische bis physische Adressenabbildungsstruktur, unterhalten, um logische Adressen des logischen Adressraums 134 auf Medienspeicherstellen auf der/den nichtflüchtigen Speichervorrichtung(en) 120 abzubilden. Ein Vorrichtungstreiber kann eingerichtet sein, um Speicherdienste für einen oder mehrere Speicherclients 116 bereitzustellen. Die Speicherclients 116 können lokale Speicherclients 116, die auf der Rechenvorrichtung 110 arbeiten, und/oder entfernte Speicherclients 116 einschließen, auf die über das Netzwerk 115 und/oder die Netzwerkschnittstelle 113 zugegriffen werden kann. Die Speicherclients 116 können einschließen, sind jedoch nicht beschränkt auf: Betriebssysteme, Dateisysteme, Datenbankanwendungen, Serveranwendungen, Prozesse auf Kernel-Ebene, Prozesse auf Benutzerebene, Anwendungen und dergleichen.
  • Ein Vorrichtungstreiber kann kommunikativ mit einer oder mehreren nichtflüchtigen Speichervorrichtungen 120 gekoppelt sein. Die eine oder die mehreren nichtflüchtigen Speichervorrichtungen 120 können verschiedene Arten von nichtflüchtigen Speichervorrichtungen beinhalten, einschließlich, aber nicht beschränkt auf: Festkörperspeichervorrichtungen, Halbleiterspeichervorrichtungen, SAN-Speicherressourcen oder dergleichen. Die eine oder die mehreren nichtflüchtigen Speichervorrichtungen 120 können eine oder mehrere jeweilige Steuerungen 126 nichtflüchtiger Speichermedien und nichtflüchtige Speichermedien 122 aufweisen. Ein Vorrichtungstreiber kann Zugriff auf die eine oder die mehreren nichtflüchtigen Speichervorrichtungen 120 über eine herkömmliche Block-E/A-Schnittstelle 131 bereitstellen. Zusätzlich kann ein Vorrichtungstreiber Zugriff auf eine verbesserte Funktionalität über die SCM-Schnittstelle 132 bereitstellen. Die Metadaten 135 können verwendet werden, um Datenoperationen zu verwalten und/oder zu verfolgen, die durch eine der Block-E/A-Schnittstellen 131, SCM-Schnittstellen 132, Cache-Schnittstellen 133 oder anderen verwandten Schnittstellen durchgeführt werden.
  • Die Cache-Schnittstelle 133 kann Cache-spezifische Merkmale freilegen, auf die über einen Vorrichtungstreiber für die nichtflüchtige Speichervorrichtung 120 zugegriffen werden kann. Auch stellt in einigen Ausführungsformen die SCM-Schnittstelle 132, die den Speicherclients 116 präsentiert wird, Zugriff auf Datentransformationen bereit, die durch die eine oder die mehreren nichtflüchtigen Speichervorrichtungen 120 und/oder die einen oder die mehreren Steuerungen 126 nichtflüchtiger Speichermedien implementiert werden.
  • Ein Vorrichtungstreiber kann den Speicherclients 116 einen logischen Adressraum 134 über eine oder mehrere Schnittstellen präsentieren. Wie oben erörtert, kann der logische Adressraum 134 eine Mehrzahl von logischen Adressen aufweisen, von denen jeder jeweiligen Medienorten der einen oder der mehreren nichtflüchtigen Speichervorrichtungen 120 entspricht. Ein Vorrichtungstreiber kann Metadaten 135 verwalten, die beliebige Zuordnungen zwischen logischen Adressen und Medienorten oder dergleichen aufweisen.
  • Ein Vorrichtungstreiber kann weiterhin eine Schnittstelle 139 für nichtflüchtige Speichervorrichtungen aufweisen und/oder mit dieser kommunizieren, die eingerichtet ist, um Daten, Befehle und/oder Abfragen an die eine oder die mehreren nichtflüchtigen Speichervorrichtungen 120 über einen Bus 125 zu übertragen, welcher Folgendes einschließen kann, ohne jedoch darauf beschränkt zu sein: einen Speicherbus eines Prozessors 111, einen Express-Bus (PCI Express oder PCle) einer peripheren Komponentenverbindung, einen seriellen ATA-Bus (Advanced Technology Attachment), einen parallelen ATA-Bus, eine kleine Computersystemschnittstelle (SCSI), FireWire, Fibre Channel, einen USB-Bus (Universal Serial Bus), einen PCIe-AS-Bus (PCIe Advanced Switching), ein Netzwerk 115, Infiniband, SCSI RDMA oder dergleichen. Die Schnittstelle 139 für nichtflüchtige Speichervorrichtungen kann mit der einen oder den mehreren nichtflüchtigen Speichervorrichtungen 120 unter Verwendung eines Eingabe-Ausgabe-Steuerbefehls (IO-CTL-Befehls), einer IO-CTL-Befehlserweiterung, eines direkten Remote-Speicherzugriffs oder dergleichen kommunizieren.
  • Die Kommunikationsschnittstelle 113 kann eine oder mehrere Netzwerkschnittstellen aufweisen, die eingerichtet sind, um die Computervorrichtung 110 und/oder die Steuerung 126 des nichtflüchtigen Speichers kommunikativ mit einem Netzwerk 115 und/oder mit einem oder mehreren entfernten, netzzugänglichen Speicherclients 116 zu koppeln. Die Speicherclients 116 können lokale Speicherclients 116, die auf der Rechenvorrichtung 110 arbeiten, und/oder entfernte Speicherclients 116 einschließen, auf die über das Netzwerk 115 und/oder die Netzwerkschnittstelle 113 zugegriffen werden kann. Die Steuerung 126 des nichtflüchtigen Speichers ist Teil einer oder mehrerer nichtflüchtiger Speichervorrichtungen 120 und/oder in Kommunikation damit. Obwohl 1A eine einzelne nichtflüchtige Speichervorrichtung 120 zeigt, ist die Offenlegung in dieser Hinsicht nicht beschränkt und könnte angepasst werden, um eine beliebige Anzahl von nichtflüchtigen Speichervorrichtungen 120 aufzunehmen.
  • Die nichtflüchtige Speichervorrichtung 120 kann ein oder mehrere Elemente 123 von nicht flüchtigen Speichermedien 122 aufweisen, die Folgendes einschließen können, ohne jedoch darauf beschränkt zu sein: ReRAM, Memristorspeicher, programmierbarer Metallisierungszellenspeicher, Phasenänderungsspeicher (PCM, PCME, PRAM, PCRAM, Ovonic Unified Memory, Chalcogenid-RAM oder C-RAM), NAND-Flashspeicher (z. B. 2D-NAND-Flashspeicher, 3D-NAND-Flashspeicher), NOR-Flash-Speicher, Nano-Direktzugriffsspeicher (Nano-RAM oder NRAM), drahtbasierte Nanokristallspeicher, Siliziumoxid-basierter Sub-10-Nanometer-Prozessspeicher, Graphenspeicher, Silizium-Oxid-Nitrid-Oxid-Silizium (SONOS), programmierbare Metallisierungszellen (PMC), leitungsüberbrückendes RAM (CBRAM), magnetoresistives RAM (MRAM), magnetische Speichermedien (z. B. Festplatte, Band), optische Speichermedien oder dergleichen. Das eine oder die mehreren Elemente 123 des nichtflüchtigen Speichermediums 122 weisen in bestimmten Ausführungsformen Speicherklassenspeicher (SCM) auf.
  • Während Legacy-Technologien, wie zum Beispiel NAND-Flash, block- und / oder seitenadressierbar sein können, ist Speicherklassenspeicher in einer Ausführungsform byteadressierbar. In weiteren Ausführungsformen kann Speicherklassenspeicher schneller sein und/oder eine längere Lebensdauer (z. B. Standzeit) als NAND-Flash haben; kann geringere Kosten verursachen, weniger Leistung verwenden und/oder eine höhere Speicherdichte als DRAM aufweisen; oder einen oder mehrere andere Vorteile oder Verbesserungen im Vergleich zu anderen Technologien bieten. Zum Beispiel kann der Speicherklassenspeicher ein oder mehrere nichtflüchtige Speicherelemente 123 aus ReRAM, Memristorspeicher, programmierbarem Metallisierungszellenspeicher, Phasenänderungsspeicher, Nano-RAM, drahtbasiertem Nanokristallspeicher, Siliziumoxid-basiertem Sub-10-Nanometer-Prozessspeicher, Graphenspeicher, SONOS-Speicher, PMC-Speicher, CBRAM, MRAM und/oder Variationen davon aufweisen.
  • Während das nichtflüchtige Speichermedium 122 hierin als „Speichermedium“ bezeichnet wird, kann das nichtflüchtige Speichermedium 122 in verschiedenen Ausführungsformen allgemeiner ein oder mehrere nichtflüchtige Aufzeichnungsmedien aufweisen, die in der Lage sind, Daten aufzuzeichnen, die als nichtflüchtiges Speichermedium, nichtflüchtiges Speicherungsmedium oder dergleichen bezeichnet werden können. 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 aufweisen.
  • Das nichtflüchtige Speichermedium 122 kann ein oder mehrere nichtflüchtige Speicherelemente 123 aufweisen, die Chips, Pakete, Ebenen, Dies oder dergleichen einschließen können, ohne jedoch darauf beschränkt zu sein. Eine Steuerung 126 eines nichtflüchtigen Speichermediums kann eingerichtet sein, um Datenoperationen auf dem nichtflüchtigen Speichermedium 122 zu verwalten, und kann einen oder mehrere Prozessoren, programmierbare Prozessoren (z. B. FPGAs), ASICs, Mikrocontroller oder dergleichen aufweisen. In einigen Ausführungsformen ist die Steuerung 126 des nichtflüchtigen Speichermediums dazu eingerichtet, Daten zu speichern und/oder Daten aus dem nichtflüchtigen Speichermedium 122 zu lesen, Daten zu/von der nichtflüchtigen Speichervorrichtung 120 zu übertragen und so weiter.
  • Die Steuerung 126 des nichtflüchtigen Speichermediums kann kommunikativ mit dem nichtflüchtigen Speichermedium 122 über einen Bus 127 gekoppelt sein. Der Bus 127 kann einen E/A-Bus zum Kommunizieren von Daten zu/von den nichtflüchtigen Speicherelementen 123 aufweisen. Der Bus 127 kann weiterhin einen Steuerbus zum Kommunizieren von Adressier- und anderen Befehls- und Steuerinformationen zu den nichtflüchtigen Speicherelementen 123 aufweisen. In einigen Ausführungsformen kann der Bus 127 die nichtflüchtigen Speicherelemente 123 kommunikativ parallel mit der Steuerung 126 eines nichtflüchtigen Speichermediums koppeln. Dieser parallele Zugriff kann ermöglichen, dass die nichtflüchtigen Speicherelemente 123 als eine Gruppe verwaltet werden, wodurch ein logisches Speicherelement 129 gebildet wird. Das logische Speicherelement kann in entsprechende logische Speichereinheiten (z. B. logische Seiten) und/oder logische Speicherbereiche (z. B. logische Blöcke) unterteilt sein. Die logischen Speichereinheiten können gebildet werden, indem physische Speichereinheiten von jedem der nichtflüchtigen Speicherelemente logisch kombiniert werden.
  • Die Steuerung 126 des nichtflüchtigen Speichers kann einen Block von Wortleitungen in einem nichtflüchtigen Speicherelement 123 in bestimmten Ausführungsformen unter Verwendung von Adressen der Wortleitungen dergestalt organisieren, dass die Wortleitungen logisch in einer monoton ansteigenden Sequenz organisiert sind (z. B. Decodieren und/oder Übersetzen von Adressen für Wortleitungen in eine monoton ansteigende Sequenz oder dergleichen). In einer weiteren Ausführungsform können Wortleitungen eines Blocks innerhalb eines nichtflüchtigen Speicherelements 123 physisch in einer monoton ansteigenden Sequenz von Wortleitungsadressen angeordnet sein, wobei nacheinander adressierte Wortleitungen auch physisch aneinander angrenzen (z. B. WL0, WL1, WL2, ... WLN).
  • Die Steuerung 126 des nichtflüchtigen Speichers kann einen Vorrichtungstreiber aufweisen und/oder mit diesem in Verbindung stehen, der auf der Computervorrichtung 110 ausgeführt wird. Ein Vorrichtungstreiber kann über eine oder mehrere Schnittstellen 131, 132 und/oder 133 Speicherdienste für die Speicherclients 116 bereitstellen. In einigen Ausführungsformen stellt ein Vorrichtungstreiber eine Blockvorrichtungs-E/A-Schnittstelle 131 bereit, durch die Speicherclients 116 E/A-Operationen auf Blockebene durchführen. Alternativ oder zusätzlich kann ein Vorrichtungstreiber eine Speicherklassenspeicher-(SCM) Schnittstelle 132 bereitstellen, die andere Speicherdienste für die Speicherclients 116 bereitstellen kann. In einigen Ausführungsformen kann die SCM-Schnittstelle 132 Erweiterungen zu der Blockvorrichtungsschnittstelle 131 aufweisen (z. B. können die Speicherclients 116 auf die SCM-Schnittstelle 132 über Erweiterungen oder Ergänzungen zu der Blockvorrichtungsschnittstelle 131 zugreifen). Alternativ oder zusätzlich kann die SCM-Schnittstelle 132 als separate API, Dienst und/oder Bibliothek bereitgestellt werden. Ein Vorrichtungstreiber kann weiterhin so eingerichtet sein, dass er eine Cache-Schnittstelle 133 zum Zwischenspeichern von Daten unter Verwendung des nichtflüchtigen Speichersystems 102 bereitstellt.
  • Ein Vorrichtungstreiber kann weiterhin eine Schnittstelle 139 für nichtflüchtige Speichervorrichtungen aufweisen, die eingerichtet ist, um Daten, Befehle und/oder Abfragen zu der Steuerung 126 eines nichtflüchtigen Speichermediums über einen Bus 125 zu übertragen, wie oben beschrieben.
  • 1B veranschaulicht eine Ausführungsform einer nichtflüchtigen Speichervorrichtung 210, die einen oder mehrere Speicher-Dies oder Chips 212 einschließen kann. Das Speicher-Die 212 beinhaltet in einigen Ausführungsformen ein Array (zweidimensional oder dreidimensional) von Speicherzellen 200, eine Die-Steuerung 220 und Lese-/Schreibschaltungen 230A/230B. In einer Ausführungsform ist der Zugriff auf das Speicherarray 200 durch die verschiedenen peripheren Schaltungen auf eine symmetrische Weise auf gegenüberliegenden Seiten des Arrays implementiert, so dass die Dichten von Zugriffsleitungen und Schaltungen auf jeder Seite um die Hälfte reduziert sind. Die Lese-/Schreibschaltungen 230A/230B beinhalten in einer weiteren Ausführungsform mehrere Leseblöcke 250, die ermöglichen, dass eine Seite von Speicherzellen parallel gelesen oder programmiert wird.
  • Das Speicherarray 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 ein Steuerung 244 in der gleichen Speichervorrichtung 210 (z. B. einer entfernbaren Speicherkarte oder einem Paket) wie das eine oder die mehreren Speicher-Dies 212 beinhaltet. Befehle und Daten werden zwischen dem Host und der Steuerung 244 über Leitungen 232 und zwischen der Steuerung und dem einen oder den mehreren Speicher-Dies 212 über Leitungen 234 übertragen. Eine Implementierung kann mehrere Chips 212 beinhalten.
  • Die Die-Steuerung 220 arbeitet in einer Ausführungsform mit den Lese/Schreib-Schaltungen 230A/230B zusammen, um Speicheroperationen auf dem Speicherarray 200 durchzuführen. Die Die-Steuerung 220 beinhaltet in bestimmten Ausführungsformen eine Gruppenaktualisierungskomponente 150, eine Zustandsmaschine 222 und einen On-Chip-Adressdecodierer 224. In einer Ausführungsform weist die Zustandsmaschine 222 zumindest einen Teil der Gruppenaktualisierungskomponente 150 auf. In einer weiteren Ausführungsform weist die Steuerung 244 zumindest einen Teil der Gruppenaktualisierungskomponente 150 auf.
  • Die Gruppenaktualisierungskomponente 150 ist in einer Ausführungsform eingerichtet, um eine Operation an einem ausgewählten Speicherblock einer Vielzahl von Speicherblöcken durchzuführen, die mit derselben Steuerleitung gekoppelt sind, eine Art von Leseaktualisierung zu bestimmen, die auszuführen ist, und als Teil der Operation die Art der Leseaktualisierung auf einem nicht ausgewählten Speicherblock der Vielzahl von Speicherblöcken durchzuführen.
  • Die Zustandsmaschine 222 stellt in einer Ausführungsform eine Chipebenensteuerung von Speicheroperationen bereit. Der On-Chip-Adressdecodierer 224 stellt eine Adressschnittstelle bereit, um die Adresse, die von dem Host oder einer Speichersteuerung verwendet wird, in die Hardwareadresse umzuwandeln, die von den Decodern 240A, 240B, 242A, 242B verwendet wird. In bestimmten Ausführungsformen beinhaltet die Zustandsmaschine 222 eine Ausführungsform der Gruppenaktualisierungskomponente 150. Die Gruppenaktualisierungskomponente 150 ist in bestimmten Ausführungsformen als Software in einem Vorrichtungstreiber, Hardware in einer Vorrichtungssteuerung 244 und/oder Hardware in einer Die-Steuerung 220 und/oder Zustandsmaschine 222 verkörpert.
  • In einer Ausführungsform können eine oder eine beliebige Kombination von Die-Steuerung 220, Gruppenaktualisierungskomponente 150, Decoderschaltung 224, Zustandsmaschinenschaltung 222, Decoderschaltung 242A, Decoderschaltung 242B, Decoderschaltung 240A, Decoderschaltung 240B, Lese/Schreibschaltungen 230A, Lese/Schreibschaltungen 230B und/oder Steuerung 244 als eine oder mehrere Verwaltungsschaltungen bezeichnet werden.
  • 2 zeigt eine Ausführungsform einer NAND-Kette, die eine Vielzahl von Speicherelementen aufweist. Die in 2 dargestellte NAND-Kette beinhaltet in einigen Ausführungsformen vier Transistoren 260, 262, 264, 266, die in Reihe geschaltet sind und sich zwischen einem ersten Auswahltransistor 270 und einem zweiten Auswahltransistor 272 befinden. In einigen Ausführungsformen beinhaltet ein Transistor 260, 262, 264, 266 ein Steuergate und ein Floating-Gate. Ein Steuergate 290, 292, 294, 296 ist in einer Ausführungsform mit einer Wortleitung verbunden oder weist einen Teil davon auf. In einer weiteren Ausführungsform ist ein Transistor 260, 262, 264, 266 ein Speicherelement, eine Speicherzelle oder dergleichen, das auch als Speicherzelle bezeichnet wird. In einigen Ausführungsformen kann ein Speicherelement mehrere Transistoren 260, 262, 264, 266 beinhalten.
  • Der erste Auswahltransistor 270 steuert/verbindet in einigen Ausführungsformen die NAND-Kettenverbindung mit einer Bitleitung 280 über ein Drain-Auswahlgate SGD. Der zweite Auswahltransistor 272 steuert/verbindet in bestimmten Ausführungsformen die NAND-Kettenverbindung mit einer Source-Leitung 282 über ein Source-Auswahlgate SGS. Der erste Auswahltransistor 270 wird in einer weiteren Ausführungsform durch Anlegen einer Spannung an ein entsprechendes Auswahlgate 286 gesteuert. Der zweite Auswahltransistor 272 wird in einigen Ausführungsformen durch Anlegen einer Spannung an das entsprechende Auswahlgate 288 gesteuert.
  • Wie in 2 gezeigt, ist die Source-Leitung 282 in einer Ausführungsform mit der Source jedes/jeder Transistors/Speicherzelle 260, 262, 264, 266 in der NAND-Kette verbunden. Die NAND-Kette kann in einigen Ausführungsformen einige Speicherelemente 260, 262, 264, 266 beinhalten, die programmiert wurden, und einige Speicherelemente 260, 262, 264, 266, die nicht programmiert wurden. Wie unten ausführlicher beschrieben, führt die Gruppenaktualisierungskomponente 150 eine Leseaktualisierung an bestimmten nicht ausgewählten Speicherblöcken durch, um einen Lesezustand der nicht ausgewählten Speicherblöcke zu ändern, wie unten beschrieben.
  • 3 ist ein Schaltungsdiagramm, das eine Vielzahl von NAND-Ketten 320, 340, 360, 380 darstellt. Eine Architektur für ein Flash-Speichersystem unter Verwendung einer NAND-Struktur kann mehrere NAND-Ketten 320, 340, 360, 380 beinhalten. Zum Beispiel veranschaulicht 3 NAND-Ketten 320, 340, 360, 380 in einem Speicherarray 200, das mehrere NAND-Ketten 320, 340, 360, 380 beinhaltet. In der dargestellten Ausführungsform beinhaltet jede NAND-Kette 320, 340, 360, 380 Drain-Auswahltransistoren 322, 342, 362, 382, Source-Auswahltransistoren 327, 347, 367, 387 und Speicherelemente 323-326, 343-346, 363-366, 383-386. Während vier Speicherelemente 323-326, 343-346, 363-366, 383-386 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 Speicherelementen beinhalten, z. B. zweiunddreißig, vierundsechzig Speicherelemente oder dergleichen.
  • Die NAND-Ketten 320, 340, 360, 380 sind in einer Ausführungsform durch Source-Auswahltransistoren 327, 347, 367, 387 mit einer Source-Leitung 319 verbunden. Eine Auswahlleitung SGS kann verwendet werden, um die Source-seitigen Auswahltransistoren zu steuern. Die verschiedenen NAND-Ketten 320, 340, 360, 380 sind in einer Ausführungsform durch Drain-Auswahltransistoren 322, 342, 362, 382 mit Bitleitungen 321, 341, 361, 381 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 notwendigerweise den NAND-Ketten 320, 340, 360, 380 gemeinsam sein; das heißt, unterschiedliche Auswahlleitungen können für verschiedene NAND-Ketten 320, 340, 360, 380 vorgesehen sein.
  • Wie oben beschrieben, weist jede Wortleitung WL0-WLn ein oder mehrere Speicherelemente 323-383, 324-384, 325-385, 326-386 auf. In der dargestellten Ausführungsform weist jede Bitleitung 321, 341, 361, 381 und die jeweilige NAND-Kette 320, 340, 360, 380 die Spalten des Speicherarrays 200, Speicherblöcke, Löschblöcke oder dergleichen auf. Die Wortleitungen WL0-WLn weisen in einigen Ausführungsformen die Zeilen des Speicherarrays 200, des Speicherblocks, des Löschblocks oder dergleichen auf. Jede Wortleitung WL0-WLn verbindet in einigen Ausführungsformen die Steuergates jedes Speicherelements 323-383, 324-384, 325-385, 326-386 in einer Zeile. Alternativ können die Steuergates durch die Wortleitungen WL0-WLn selbst bereitgestellt werden. In einigen Ausführungsformen kann eine Wortleitung WL0-WLn zehn, Hunderte, Tausende, Millionen oder dergleichen der Speicherelemente 323-383, 324-384, 325-385, 326-386 beinhalten.
  • In einer Ausführungsform ist jedes Speicherelement 323-326, 343-346, 363-366, 383-386 eingerichtet, Daten zu speichern. Beispielsweise kann, wenn ein digitales Datenbit gespeichert wird, der Bereich möglicher Schwellenspannungen („VTH“) jedes Speicherelements 323-326, 343-346, 363-366, 383-386 in zwei Bereiche unterteilt werden, denen logische Daten „1“ und „0“ zugewiesen sind. In einem Beispiel eines Flash-Speichers vom NAND-Typ kann die VTH negativ sein, nachdem die Speicherelemente 323-326, 343-346, 363-366, 383-386 gelöscht sind und als logische „1“ definiert sein. In einer Ausführungsform ist die VTH nach einem Programmiervorgang positiv und definiert als logische „0“.
  • Wenn die VTH negativ ist und ein Lesevorgang versucht wird, werden in einigen Ausführungsformen die Speicherelemente 323-326, 343-346, 363-366, 383-386 eingeschaltet, um anzuzeigen, dass eine logische „1“ gespeichert wird. Wenn die VTH positiv ist und ein Lesevorgang versucht wird, schaltet sich in einer weiteren Ausführungsform ein Speicherelement nicht ein, was anzeigt, dass die logische „0“ gespeichert ist. Jedes Speicherelement 323-383, 324-384, 325-385, 326-386 kann auch mehrere Informationspegel speichern, wie zum Beispiel, mehrere Bits digitaler Daten. In einer solchen Ausführungsform wird der Bereich des VTH-Werts in die Anzahl von Pegeln von Daten unterteilt. Wenn beispielsweise vier Informationspegel in jedem Speicherelement 323-326, 343-346, 363-366, 383-386 gespeichert werden können, werden vier VTH-Bereiche den Datenwerten „11“, „10“, „01“ und „00“ zugewiesen.
  • In einem Beispiel eines Speichers vom NAND-Typ kann die VTH nach einem Löschvorgang negativ und als „11“ definiert sein. Positive VTH-Werte können für die Zustände „10“, „01“ und „00“ verwendet werden. In einer Ausführungsform hängt die spezifische Beziehung zwischen den in die Speicherelemente 323-326, 343-346, 363-366, 383-386 programmierten Daten und den Schwellenspannungsbereichen der Speicherelemente 323-326, 343-346, 363-366, 383-386 von dem Datencodierschema ab, das für die Speicherelemente 323-326, 343-346, 363-366, 383-386 verwendet wird.
  • In einigen Ausführungsformen können Abschnitte der Speicherelemente 323-326, 343-346, 363-366, 383-386 defekt sein. In solch einer Ausführungsform kann die Gruppenaktualisierungskomponente 150 bestimmen, an welchen Abschnitten der Speicherelemente 323-326, 343-346, 363-366, 383-386 eine Leseaktualisierung durchgeführt wird.
  • 4 veranschaulicht eine Ausführungsform einer Querschnittsansicht einer vertikalen 3D-NAND-Flash-Speicherstruktur 429 oder Kette 429. In einer Ausführungsform ist die vertikale Spalte 432 rund und enthält vier Schichten; jedoch können in anderen Ausführungsformen mehr oder weniger als vier Schichten beinhaltet sein, und es können andere Formen verwendet werden (z. B. eine „U“-Form anstelle einer „I“-Form oder dergleichen). In einer Ausführungsform beinhaltet eine vertikale Spalte 432 eine innere Kernschicht 470, die aus einem Dielektrikum, wie beispielsweise SiO2, hergestellt ist. Andere Materialien können ebenfalls verwendet werden. Der innere Kern 470 ist ein Polysiliziumkanal 471. Es können auch andere Materialien als Polysilizium verwendet werden. Es ist zu beachten, dass es der Kanal 471 ist, der mit der Bitleitung verbunden ist. Der Kanal 471 ist von einem Tunneldielektrikum 472 umgeben. In einer Ausführungsform weist das Tunneldielektrikum 472 eine ONO-Struktur auf. Das Tunneldielektrikum 472 ist von einer gemeinsam genutzten Ladungseinfangschicht 473, wie (zum Beispiel) Siliziumnitrid umgeben. Andere Materialien und Strukturen können ebenfalls verwendet werden. Die hierin beschriebene Technologie ist nicht auf ein bestimmtes Material oder eine bestimmte Struktur beschränkt.
  • 4 zeigt die dielektrischen Schichten DLL49, DLL50, DLL51, DLL52 und DLL53 sowie Wortleitungsschichten WLL43, WLL44, WLL45, WLL46 und WLL47. Jede Wortleitungsschicht beinhaltet einen Wortleitungsbereich 476, der von einer Aluminiumoxidschicht 477 umgeben ist, die von einer Blockieroxidschicht 478 (SiO2) umgeben ist. Die physische Wechselwirkung der Wortleitungsschichten mit der vertikalen Spalte bildet die Speicherzellen. Somit weist eine Speicherzelle in einer Ausführungsform den Kanal 471, das Tunneldielektrikum 472, die Ladungseinfangschicht 473 (z. B. gemeinsam mit anderen Speicherzellen), eine Blockieroxidschicht 478, eine Aluminiumoxidschicht 477 und einen Wortleitungsbereich 476 auf. In einigen Ausführungsformen können die Blockieroxidschicht 478 und die Aluminiumoxidschicht 477 durch eine einzelne Materialschicht mit isolierenden Eigenschaften oder durch mehr als 2 Schichten aus unterschiedlichem Material mit isolierenden Eigenschaften ersetzt werden. Weiterhin sind die verwendeten Materialien nicht auf Siliziumdioxid (SiO2) oder Aluminiumoxid beschränkt. Beispielsweise weisen die Wortleitungsschicht WLL47 und ein Abschnitt der vertikalen Spalte 432 eine Speicherzelle MC1 auf. Die Wortleitungsschicht WLL46 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC2 auf. Die Wortleitungsschicht WLL45 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC3 auf. Die Wortleitungsschicht WLL44 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC4 auf. Die Wortleitungsschicht WLL43 und ein Abschnitt der vertikalen Spalte 432 weisen eine Speicherzelle MC5 auf. In anderen Architekturen kann eine Speicherzelle eine andere Struktur aufweisen; jedoch ist die Speicherzelle immer noch die Speichereinheit.
  • Wenn eine Speicherzelle programmiert wird, werden Elektronen in einem Abschnitt der Ladungseinfangschicht 473 gespeichert, welcher der Speicherzelle zugeordnet ist. Diese Elektronen werden in die Ladungseinfangschicht 473 aus dem Kanal 471 gezogen, durch das Tunneldielektrikum 472, als Reaktion auf eine entsprechende Spannung an dem Wortleitungsbereich 476. Die Schwellenspannung (Vth) einer Speicherzelle wird proportional zu der Menge der gespeicherten Ladung erhöht. In einer Ausführungsform wird die Programmierung durch Fowler-Nordheim-Tunneln der Elektronen in die Ladungseinfangschicht erreicht. Während eines Löschvorgangs kehren die Elektronen in den Kanal zurück oder es werden Löcher in die Ladungseinfangschicht injiziert, um mit Elektronen zu rekombinieren. In einer Ausführungsform wird das Löschen unter Verwendung von Lochinjektion in die Ladungseinfangschicht über einen physischen Mechanismus, wie etwa durch Gate-induzierte Drain-Leckage (GIDL), in die Ladungseinfangschicht erreicht.
  • Speicherzellen an derselben Stelle oder Position in unterschiedlichen Speicherstrukturen 429 (z. B. unterschiedliche NAND-Ketten 429) auf verschiedenen Bitleitungen können sich in bestimmten Ausführungsformen auf derselben Wortleitung befinden. Jede Wortleitung kann eine Seite von Daten speichern, beispielsweise wenn 1-Bit von Daten pro Zelle (SLC) gespeichert wird; zwei Seiten von Daten, beispielsweise wenn 2-Bits von Daten pro Zelle (MLC) gespeichert werden; drei Seiten von Daten, beispielsweise wenn 3-Bits von Daten pro Zelle gespeichert werden (TLC); vier Seiten von Daten, beispielsweise wenn 4-Bits von Daten pro Zelle gespeichert werden (QLC); oder eine andere Anzahl von Seiten von Daten.
  • In der dargestellten Ausführungsform weist eine vertikale 3D-NAND-Flash-Speicherstruktur 429 eine „I“-förmige Speicherstruktur 429 auf. In anderen Ausführungsformen kann eine vertikale 3D-NAND-Flash-Speicherstruktur 429 eine „U“-förmige Struktur aufweisen oder kann eine andere vertikale und/oder gestapelte Architektur aufweisen. In bestimmten Ausführungsformen können vier Sätze von Ketten 429 (z. B. vier Sätze von 48 Wortleitungen oder eine andere 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. Es versteht sich, dass jede geeignete Anzahl von Speicherzellen Teil einer einzelnen Kette 429 sein kann. In einer Ausführungsform beinhaltet eine einzelne Kette 429 48 Speicherzellen.
  • 5 ist ein schematisches Blockdiagramm, das eine Ausführungsform des nichtflüchtigen Speicherelements 123 einschließlich Speicherblöcken veranschaulicht. Das nichtflüchtige Speicherelement 123 kann eine beliebige geeignete Anzahl von Speicherblöcken beinhalten. In der dargestellten Ausführungsform beinhaltet das nichtflüchtige Speicherelement 123 einen ersten Block 502, einen zweiten Block 504, einen dritten Block 506, einen vierten Block 508, einen fünften Block 510, einen sechsten Block 512, einen siebten Block 514 und einen achten Block 516. In einigen Ausführungsformen werden die Speicherblöcke in Speicherblockgruppen gruppiert, die eine gemeinsame Steuerleitung nutzen. Insbesondere wird in der Ausführungsform von 5 eine erste Steuerleitung 518 verwendet, um ein Steuersignal (z. B. Steuerspannung) an eine erste Speicherblockgruppe zu liefern, die den ersten Block 502, den zweiten Block 504, den fünften Block 510 und den sechsten Block 512 beinhaltet. Darüber hinaus wird eine zweite Leitung 520 zur Bereitstellung eines Steuersignals (z. B. Steuerspannung) an eine zweite Speicherblockgruppe verwendet, die den dritten Block 506, den vierten Block 508, den siebten Block 514 und den achten Block 516 beinhaltet. In einigen Ausführungsformen können die erste Speicherblockgruppe und/oder die zweite Speicherblockgruppe als EOC-Gruppen (Even-Odd Combined - Gerade-Ungerade-Kombiniert) Gruppen betrachtet werden. Obwohl nur zwei Speicherblockgruppen dargestellt sind, kann das nichtflüchtige Speicherelement 123 eine beliebige Anzahl von Speicherblockgruppen einschließen.
  • Es versteht sich, dass, da die Speicherblöcke in einer Speicherblockgruppe eine Steuerleitung (z. B. eine physische Steuerleitung) gemeinsam nutzen, die Speicherblöcke in der Speicherblockgruppe durch Signale beeinflusst werden können, die auf der Steuerleitung zugeführt werden. Zum Beispiel kann in einer Ausführungsform einer der Speicherblöcke in einer Speicherblockgruppe ein „ausgewählter“ Speicherblock sein, und die verbleibenden Speicherblöcke in einer Speicherblockgruppe können „nicht ausgewählte“ Speicherblöcke sein. Während auf die Speicherblockgruppe zugegriffen wird, kann ein Signal an die Steuerleitung geliefert werden, das sowohl dem ausgewählten Speicherblock als auch den nicht ausgewählten Speicherblöcken bereitgestellt wird. In bestimmten Ausführungsformen kann das der Steuerleitung zugeführte Signal bewirken, dass die nicht ausgewählten Speicherblöcke in einen „ersten Lesezustand“ versetzt werden. Dies kann auftreten, weil die nicht ausgewählten Speicherblöcke einen Pfad zum Entladen durch die Steuerleitung haben. Der erste Lesezustand kann unerwünscht sein, da eine höhere Bitfehlerrate erzeugt werden kann, während sich Speicherblöcke in dem ersten Lesezustand befinden. Dementsprechend können die nicht ausgewählten Speicherblöcke in einen „zweiten Lesezustand“ überführt werden, was zu einer geringeren Bitfehlerrate führt. Wie hierin verwendet, kann sich ein „erster Lesezustand“ auf einen Speicherzustand bei einem anfänglichen Lesen, einen Lesezustand direkt nachdem eine Speichervorrichtung nach dem Abschalten eingeschaltet wurde und/oder einen Lesezustand von nicht ausgewählten Blöcken, nachdem ein Lesen, Löschen und/oder Programmieren an einem ausgewählten Block ausgeführt wurde, beziehen. Wie hierin verwendet, kann sich ein „zweiter Lesezustand“ außerdem auf einen Speicherzustand bei einem Lesen nach einem anfänglichen Lesen, einem Lesen nach dem Programmieren und/oder einem Lesen nach einer Programmierverifizierung beziehen. In einem „ersten Lesezustand“ kann eine Schwellenspannungsverteilung anders sein als in einem „zweiten Lesezustand“. Der „erste Lesezustand“ kann eine höhere Bitfehlerrate als der „zweite Lesezustand“ aufweisen. Darüber hinaus kann der „erste Lesezustand“ ein sprunghaftes Verhalten und/oder zufällige Lesevorgänge aufweisen, was zu einer höheren Bitfehlerrate führt.
  • 6 zeigt eine Ausführungsform einer Gruppenaktualisierungskomponente 150. Die Gruppenaktualisierungskomponente 150 kann im Wesentlichen ähnlich der Gruppenaktualisierungskomponente 150 sein, die oben mit Bezug auf die 1A, 1B, 2 und/oder 3 beschrieben wurde. Im Allgemeinen führt, wie oben beschrieben, die Gruppenaktualisierungskomponente 150 eine Operation an einer ausgewählten Speichergruppe einer Vielzahl von Speichergruppen durch und führt eine Gegenmaßnahmenoperation auf einer nicht ausgewählten Speichergruppe der Vielzahl von Speichergruppen als Reaktion auf die Operation auf der ausgewählten Speichergruppe durch. Dementsprechend kann die Gruppenaktualisierungskomponente 150 das Ausführen einer Gruppen-Leseaktualisierung erleichtern. In der dargestellten Ausführungsform beinhaltet die Gruppenaktualisierungskomponente 150 Speichergruppen 602, eine Operationsschaltung 604 und eine Sanierungsschaltung 606. In verschiedenen Ausführungsformen können die Speichergruppen 602, die Operationsschaltung 604 und die Sanierungsschaltung 606 Teil eines einzelnen integrierten Schaltungschips sein.
  • In einer Ausführungsform können die Speichergruppen 602 (z. B. Speicherblöcke) beliebige geeignete Gruppen von Speicherzellen (z. B. Speicherstellen) sein. In bestimmten Ausführungsformen können die Speichergruppen 602 ähnlich den Speicherblöcken sein, die in Bezug auf 5 beschrieben sind. In verschiedenen Ausführungsformen können die Speichergruppen 602 auf eine solche Weise hergestellt sein, dass Operationen, die an einer oder mehreren Speichergruppen 602 ausgeführt werden, einen Zustand einer oder mehrerer anderer Speichergruppen beeinflussen, an denen keine Operation ausgeführt wird.
  • In bestimmten Ausführungsformen führt die Operationsschaltung 604 eine Operation an einer ausgewählten Speichergruppe der Speichergruppen 602 durch. Die Operationsschaltung 604 kann jede geeignete Art von Operation ausführen, wie beispielsweise eine Löschoperation, eine Programmieroperation, eine Leseoperation, eine Schreiboperation und/oder eine Verifizierungsoperation. Außerdem kann die Operationsschaltung 604 die Operation an der ausgewählten Speichergruppe als Reaktion auf das Empfangen eines Befehls zum Durchführen der Operation durchführen. Der Befehl kann von einer Steuerung empfangen werden, wie zum Beispiel der Steuerung 126 eines nichtflüchtigen Speichermediums. Die ausgewählte Speichergruppe kann eine Speichergruppe sein, die durch ein Auswahlsignal ausgewählt wird, das der ausgewählten Speichergruppe zugeführt wird. In verschiedenen Ausführungsformen kann die Operationsschaltung 604, welche die Operation an der ausgewählten Speichergruppe durchführt, eine nicht ausgewählte Speichergruppe in einen anderen Lesezustand (z. B. einen ersten Lesezustand, einen verschlechterten Lesezustand) als die ausgewählte Speichergruppe versetzen (z. B. kann sich die ausgewählte Speichergruppe in einem zweiten Lesezustand oder einem nominellen Lesezustand befinden). In bestimmten Ausführungsformen kann die Operationsschaltung 604, welche die Operation an der ausgewählten Speichergruppe ausführt, die ausgewählte Speichergruppe in einen zweiten Lesezustand versetzen (z. B. einen nominellen Lesezustand).
  • In einigen Ausführungsformen führt die Sanierungsschaltung 606 eine Gegenmaßnahmenoperation (z. B. Lesen, Leseaktualisierung, Soft-Programmierung, jede Operation, die dazu führt, dass die nicht ausgewählte Speichergruppe von dem ersten Lesezustand in den zweiten Lesezustand wechselt usw.) an einer nicht ausgewählten Speichergruppe der Speichergruppen 602 als Reaktion auf die Operation auf der ausgewählten Speichergruppe durch. In verschiedenen Ausführungsformen kann die Sanierungsschaltung 606 eine Gegenmaßnahmenoperation an mehreren nicht ausgewählten Speichergruppen der Speichergruppen 602 als Reaktion auf die Operation an der ausgewählten Speichergruppe durchführen. In einer Ausführungsform versetzt die Sanierungsschaltung 606, welche die Gegenmaßnahmenoperation an einer oder mehreren nicht ausgewählten Speichergruppen ausführt, die eine oder die mehreren nicht ausgewählten Speichergruppengruppen in einen gleichen Lesezustand (z. B. zweiten Lesezustand) wie die ausgewählte Speichergruppe. In bestimmten Ausführungsformen sind die ausgewählte Speichergruppe und die eine oder die mehreren nicht ausgewählten Speichergruppen mit einer einzigen Steuerleitung gekoppelt. In solchen Ausführungsformen können die eine oder die mehreren nicht ausgewählten Speichergruppen alle Speichergruppen einschließen, die mit der einzelnen Steuerleitung gekoppelt sind, mit Ausnahme der ausgewählten Speichergruppe. Wenn zum Beispiel auf die erste Speicherblockgruppe von 5 Bezug genommen wird, können, falls der erste Block 502 ein ausgewählter Speicherblock ist, der zweite Block 504, der fünfte Block 510 und der sechste Block 512 der eine oder die mehreren nicht ausgewählten Speicherblöcke sein.
  • In einigen Ausführungsformen kann das Durchführen der Gegenmaßnahmenoperation auf der einen oder den mehreren nicht ausgewählten Speichergruppen das Durchführen eines Lesens an der einen oder den mehreren nicht ausgewählten Speichergruppen einschließen, ohne Informationen zurückzugeben, die in der einen oder den mehreren nicht ausgewählten Speichergruppen gespeichert sind (z. B. kein Füllen eines Daten-Latch). In verschiedenen Ausführungsformen kann das Ausführen des Lesens auf der einen oder den mehreren nicht ausgewählten Speichergruppen das Anlegen einer Lesespannung an die eine oder die mehreren nicht ausgewählten Speichergruppen ohne Abtasten von Daten einschließen, die auf der einen oder den mehreren nicht ausgewählten Speichergruppen gespeichert sind. In bestimmten Ausführungsformen kann das Durchführen des Lesens auf der einen oder den mehreren nicht ausgewählten Speichergruppen das Durchführen einer Leseaktualisierung auf der einen oder den mehreren nicht ausgewählten Speichergruppen einschließen. In solchen Ausführungsformen kann das Durchführen einer Leseaktualisierung an dem einen oder den mehreren ausgewählten Speichergruppen die Durchführung der Leseaktualisierung an einer oder mehreren Seiten der einen oder der mehreren ausgewählten Gruppen einschließen. In einer Ausführungsform kann das Durchführen des Lesens an der einen oder den mehreren nicht ausgewählten Speichergruppen das Anlegen einer Lesespannung an die eine oder die mehreren nicht ausgewählten Speichergruppen für eine vorbestimmte Dauer und/oder das Warten für eine vorbestimmte Dauer vor dem Durchführen einer Operation an einer Speichergruppe der einen oder der mehreren nicht ausgewählten Speichergruppen einschließen.
  • In einigen Ausführungsformen kann das Durchführen einer Gegenmaßnahmenoperation durch die Sanierungsschaltung 606 an einer nicht ausgewählten Speichergruppe der Speichergruppen 602 als Reaktion auf die Operation an der ausgewählten Speichergruppe Folgendes einschließen: dass die Sanierungsschaltung 606 die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe direkt als Reaktion auf das Detektieren des Abschlusses der Operationen durchführt; dass die Sanierungsschaltung 606 die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe als Teil der Operation ausführt (z. B. kann die Operation ein Anfangsteil der Operation sein und die Gegenmaßnahmenoperation kann ein Endteil der Operation sein); dass die Sanierungsschaltung 606 automatisch die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe direkt nach Abschluss der Operation durchführt; und/oder dass die Sanierungsschaltung 606 die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe als Reaktion auf das Empfangen eines Befehls zum Durchführen der Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe durchführt (der Befehl kann als Reaktion auf den Abschluss der Operation gesendet werden). In bestimmten Ausführungsformen kann die Sanierungsschaltung 606 eine Gegenmaßnahmenoperation (z. B. eine Leseaktualisierung) an der ausgewählten Speichergruppe zusätzlich zur Durchführung der Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe durchführen. In solchen Ausführungsformen kann die Gegenmaßnahmenoperation an der ausgewählten Gruppe im Wesentlichen zur gleichen Zeit ausgeführt werden wie die Gegenmaßnahmenoperation an der nicht ausgewählten Gruppe. In verschiedenen Ausführungsformen kann das Durchführen der Gegenmaßnahmenoperation an der einen oder den mehreren nicht ausgewählten Speichergruppen eine Zeit zum Abschluss der Operation verlängern. In einigen Ausführungsformen kann das Durchführen der Gegenmaßnahmenoperation an der einen oder den mehreren nicht ausgewählten Speichergruppen die Zeit zum Abschluss der Operation nicht verlängern, weil die Gegenmaßnahmenoperation als Hintergrundvorgang ausgeführt wird.
  • 7 zeigt eine andere Ausführungsform einer Gruppenaktualisierungskomponente 150. Die Gruppenaktualisierungskomponente 150 kann im Wesentlichen ähnlich der Gruppenaktualisierungskomponente 150 sein, die oben mit Bezug auf die 1A, 1B, 2, 3 und/oder 6 beschrieben wurde. Im Allgemeinen, wie oben beschrieben, führt die Gruppenaktualisierungskomponente 150 eine Operation an einem ausgewählten Speicherblock einer Vielzahl von Speicherblöcken durch, die mit derselben Steuerleitung gekoppelt sind, bestimmt eine Art von Leseaktualisierung, die auszuführen ist, und führt als Teil der Operation die Art der Leseaktualisierung auf einem nicht ausgewählten Speicherblock der Vielzahl von Speicherblöcken durch. Dementsprechend kann die Gruppenaktualisierungskomponente 150 das Ausführen einer Gruppen-Leseaktualisierung erleichtern. In der dargestellten Ausführungsform beinhaltet die Gruppenaktualisierungskomponente 150 Speichergruppen 602, eine Operationsschaltung 604 und eine Sanierungsschaltung 606. Die Speichergruppen 602, die Operationsschaltung 604 und die Sanierungsschaltung 606 können im Wesentlichen ähnlich den Speichergruppen 602, der Operationsschaltung 604 und der Sanierungsschaltung 606 sein, die in Bezug auf 6 beschrieben sind. Außerdem beinhaltet die Gruppenaktualisierungskomponente 150 eine Steuerleitungsschaltung 702 und einen Zeilendecoder 704.
  • In einer Ausführungsform ist die Steuerleitungsschaltung 702 eine Schaltung, welche die Speichergruppen 602 elektrisch miteinander koppelt und dazu verwendet werden kann, alle Speichergruppen 602 gleichzeitig mit einer Steuerspannung zu versorgen (z. B. Steuerleitung 518, Steuerleitung 520). Wie zu erkennen ist, können, indem die Speichergruppen 602 elektrisch miteinander gekoppelt werden, die Speichergruppen 602 alle durch eine Steuerspannung beeinflusst werden, die über die Steuerleitungsschaltung 702 bereitgestellt wird. In einigen Ausführungsformen öffnet die Steuerspannung ein oder mehrere gemeinsame Durchgangsgates (z. B. einen Transistor oder einen anderen Schalter, der eingerichtet ist, um zu ermöglichen oder zu blockieren, dass elektrischer Strom Wortleitungen eines Löschblocks erreicht) für die Speichergruppen 602 (z. B. ein oder mehrere Durchgangsgates, die das gleiche Steuersignal empfangen), und die Operationsschaltung 604 stellt einer ausgewählten Speichergruppe eine Operationsspannung für die Operation bereit und stellt der nicht ausgewählten Speichergruppe während der Operation eine Vorspannung bereit (z. B. durch ein oder mehrere gemeinsame Durchgangsgates zu Wortleitungen der Speichergruppen).
  • In einer Ausführungsform weist zum Beispiel jeder Löschblock in einer Speichergruppe 602 ein oder mehrere Durchgangsgates auf (z. B. mindestens ein Durchgangsgate pro Löschblock, ein Durchgangsgate für jede Wortleitung jedes Löschblocks oder dergleichen), die mit derselben Steuerleitung 518, 520 (z. B. von einem gemeinsamen Zeilendecodierer 704 oder dergleichen für Löschblöcke der Speichergruppe 602) gekoppelt sind, so dass das eine oder die mehreren Durchgangsgates für jeden der Löschblöcke in der Speichergruppe 602 vollständig eingeschaltet sind (z. B. den Stromfluss zu den Wortleitungen der Löschblöcke ermöglichen) wenn ein beliebiger der Löschblöcke für eine Speicheroperation ausgewählt ist, und vollständig ausgeschaltet sind (z. B. den Stromfluss zu den Wortleitungen der Löschblöcke sperren) wenn keiner der Löschblöcke ausgewählt ist. In bestimmten Ausführungsformen, wenn Durchgangsgates vollständig eingeschaltet sind und Strom an die Wortleitungen für jeden Löschblock in einer Speichergruppe 602 liefern, arbeitet die Operationsschaltung 604 mit der Steuerleitungsschaltung 702 zusammen, um eine Operationsspannung an Wortleitungen des für eine Operation ausgewählten Löschblocks bereitzustellen (z. B. eine Löschspannung, eine Programmierspannung, eine Lesespannung oder dergleichen) und um eine Vorspannung (z. B. mit einer geringeren Größe als die Operationsspannung) an Wortleitungen anderer Löschblöcke der Speichergruppe 602 bereitzustellen (z. B. die für die Operation nicht ausgewählt sind). Wortleitungen anderer Speichergruppen 602 empfangen in einer Ausführungsform wenig oder keinen Strom, da ihre Durchgangsgates vollständig ausgeschaltet sind.
  • In bestimmten Ausführungsformen kann die Vorspannung eine geringere Größe als die Operationsspannung aufweisen. Zum Beispiel kann für Löschoperationen die Löschspannung niedriger als die Vorspannung sein, da die Löschspannung eine Spannung mit negativer Polarität hoher Größe aufweist, aber die Vorspannung noch eine niedrigere Größe (z. B. Absolutwertspannungspegel) aufweisen kann. Als weiteres Beispiel kann für Programmieroperationen die Programmierspannung höher als die Vorspannung sein und eine größere Größe aufweisen, da die Programmierspannung eine Spannung mit positiver Polarität mit hoher Größe aufweist. In verschiedenen Ausführungsformen wird der Zeilendecodierer 704 von jeder Speichergruppe der Speichergruppen 602 gemeinsam genutzt.
  • 8 ist ein schematisches Flussdiagramm, das eine Ausführungsform eines Verfahrens 800 zum Ausführen einer Gruppen-Leseaktualisierung veranschaulicht. Das Verfahren 800 beginnt, und die Gruppenaktualisierungskomponente 150 initiiert 802 das Durchführen einer Operation an einem ausgewählten Speicherblock eines Satzes von EOC-Blöcken. In einer Ausführungsform empfängt die Gruppenaktualisierungskomponente 150 804, eine Anzeige der Beendigung der Operation. In bestimmten Ausführungsformen führt die Sanierungsschaltung 606 806, eine Leseaktualisierung an einem oder mehreren nicht ausgewählten Speicherblöcken der EOC-Blöcke, durch, und das Verfahren 800 endet.
  • 9 ist ein schematisches Flussdiagramm, das eine weitere Ausführungsform eines Verfahrens 900 zum Ausführen einer Gruppen-Leseaktualisierung veranschaulicht. Das Verfahren 900 beginnt, und die Operationsschaltung 604 führt 902, eine Operation an einem ausgewählten Speicherblock einer Vielzahl von Speicherblöcken, durch, die mit derselben Steuerleitung gekoppelt sind. In verschiedenen Ausführungsformen bestimmt die Gruppenaktualisierungskomponente 150 904, eine Art von Leseaktualisierung, die auszuführen ist. In einer Ausführungsform führt die Sanierungsschaltung 606 als Teil der Operation 906 die Art der Leseaktualisierung an einem nicht ausgewählten Speicherblock der Vielzahl von Speicherblöcken durch, und das Verfahren 900 endet. Die Art der Leseaktualisierung kann eine beliebige geeignete Art von Leseaktualisierung sein, wie: eine Leseaktualisierung, die einen Lesevorgang seriell an den ausgewählten Speicherblöcken durchführt; ein Lesevorgang, der parallel einen Lesevorgang an den nicht ausgewählten Speicherblöcken ausführt, ein Lesevorgang, der einen Lesevorgang an allen Speicherblöcken seriell ausführt; und/oder ein Lesevorgang, der einen Lesevorgang an allen Speicherblöcken parallel ausführt. In einigen Ausführungsformen kann die Art der Leseaktualisierung eine D2h-Leseaktualisierung sein, die eine Leseaktualisierung auf einem Viertel eines Dies ausführt. In verschiedenen Ausführungsformen kann die Art der Leseaktualisierung eine CFh-Leseaktualisierung sein, die eine Leseaktualisierung unter Verwendung eines langen Lesebefehls ausführt, um einen Block für eine längere Zeitperiode als eine normale Abtastzeitspanne vorzukonditionieren.
  • Mittel zum Durchführen einer Operation an einer ausgewählten Gruppe von Speicherzellen einer Vielzahl von Speicherzellen unter Verwendung eines Operationsspannungspegels für die ausgewählte Gruppe von Speicherzellen und eines anderen Spannungspegels für eine nicht ausgewählten Gruppe von Speicherzellen der Vielzahl von Speicherzellen, kann in verschiedenen Ausführungsformen ein oder mehrere Elemente aus Folgendem beinhalten: eine Gruppenaktualisierungskomponente 150, eine Operationsschaltung 604, eine Die-Steuerung 220, eine Zustandsmaschine 222, einen Leseverstärker 250, Lese/Schreibschaltungen 230, eine nichtflüchtige Speichervorrichtung 120, eine Steuerung 126 eines nichtflüchtigen Speichermediums, eine Schnittstelle 139 für eine nichtflüchtige Speichervorrichtung, eine Host-Rechenvorrichtung 110, einen Vorrichtungstreiber, eine Steuerung (z. B. ein Vorrichtungstreiber oder dergleichen), die auf einer Host-Rechenvorrichtung 110 ausgeführt wird, einen Prozessor 111, ein FPGA, ein ASIC, andere Logik-Hardware und/oder anderen ausführbaren Code, der auf einem computerlesbaren Speichermedium gespeichert ist. Andere Ausführungsformen können ähnliche Mittel zum Durchführen einer Operation an einer ausgewählten Gruppe von Speicherzellen einer Vielzahl von Speicherzellen unter Verwendung eines Operationsspannungspegels für die ausgewählte Gruppe von Speicherzellen und eines anderen Spannungspegels für eine nicht ausgewählte Gruppe von Speicherzellen der Mehrzahl von Speicherzellen beinhalten.
  • Ein Mittel für die Mittel zum Durchführen einer Leseaktualisierung an einer nicht ausgewählten Gruppe von Speicherzellen einer Vielzahl von Speicherzellen als Reaktion auf den Abschluss einer Operation kann in bestimmten Ausführungsformen ein oder mehrere Elemente aus Folgendem beinhalten: eine Gruppenaktualisierungskomponente 150, eine Operationsschaltung 604, eine Sanierungsschaltung 606, eine Die-Steuerung 220, eine Zustandsmaschine 222, einen Leseverstärker 250, Lese/Schreibschaltungen 230, eine nichtflüchtige Speichervorrichtung 120, eine Steuerung 126 eines nichtflüchtigen Speichermediums, eine Schnittstelle 139 für eine nichtflüchtige Speichervorrichtung, eine Host-Rechenvorrichtung 110, einen Vorrichtungstreiber, eine Steuerung (z. B. ein Vorrichtungstreiber oder dergleichen), die auf einer Host-Rechenvorrichtung 110 ausgeführt wird, einen Prozessor 111, ein FPGA, ein ASIC, andere Logik-Hardware und/oder anderen ausführbaren Code, der auf einem computerlesbaren Speichermedium gespeichert ist. Andere Ausführungsformen können ähnliche oder äquivalente Mittel zum Durchführen einer Leseaktualisierung an einer nicht ausgewählten Gruppe von Speicherzellen einer Vielzahl von Speicherzellen als Reaktion auf den Abschluss einer Operation beinhalten.
  • Die vorliegende Offenlegung kann in anderen spezifischen Formen ausgeführt werden, ohne von ihrem Geist oder wesentlichen Charakteristika abzuweichen. Die beschriebenen Ausführungsformen sind in jeder Hinsicht nur als veranschaulichend und nicht als einschränkend zu betrachten. Der Umfang der Offenlegung ist daher eher durch die beigefügten Ansprüche als durch die vorangehende Beschreibung angegeben. Alle Änderungen, die in die Bedeutung und den Äquivalenzbereich der Ansprüche fallen, sollen in ihren Schutzumfang fallen.

Claims (20)

  1. Vorrichtung aufweisend: eine Vielzahl von Speichergruppen; eine Operationsschaltung, die eine Operation an einer ausgewählten Speichergruppe der Vielzahl von Speichergruppen ausführt; und eine Sanierungsschaltung, die eine Gegenmaßnahmenoperation auf einer nicht ausgewählten Speichergruppe der Vielzahl von Speichergruppen als Reaktion auf die Operation an einer ausgewählten Speichergruppe ausführt.
  2. Vorrichtung gemäß Anspruch 1, wobei die Vielzahl von Speichergruppen, die Operationsschaltung und die Sanierungsschaltung Teil eines einzelnen integrierten Schaltungschips sind.
  3. Vorrichtung gemäß Anspruch 1, weiterhin eine Steuerleitungsschaltung aufweisend, die eine Steuerspannung an die Vielzahl von Speichergruppen liefert.
  4. Vorrichtung gemäß Anspruch 3, wobei die Steuerspannung ein Durchgangsgate für jede der Vielzahl von Speichergruppen öffnet und die Operationsschaltung der ausgewählten Speichergruppe eine Operationsspannung für die Operation bereitstellt und der nicht ausgewählten Speichergruppe während der Operation eine Vorspannung bereitstellt, wobei die Vorspannung eine niedrigere Größe als die Operationsspannung aufweist.
  5. Vorrichtung gemäß Anspruch 1, weiterhin einen Zeilendecodierer aufweisend, der von jeder Speichergruppe der Vielzahl von Speichergruppen gemeinsam genutzt wird.
  6. Vorrichtung gemäß Anspruch 1, wobei die Sanierungsschaltung die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe durchführt, ohne Informationen zurückzugeben, die auf Speicherzellen innerhalb der nicht ausgewählten Speichergruppe gespeichert sind.
  7. Vorrichtung gemäß Anspruch 1, wobei die Operationsschaltung, welche die Operationen an Speicherzellen der ausgewählten Speichergruppe durchführt, die Speicherzellen der nicht ausgewählten Speichergruppe in einen anderen Lesezustand versetzt als Speicherzellen der ausgewählten Speichergruppe.
  8. Vorrichtung gemäß Anspruch 1, wobei die Sanierungsschaltung, welche die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe ausführt, die nicht ausgewählte Speichergruppe in den gleichen Lesezustand wie die ausgewählte Speichergruppe versetzt.
  9. Vorrichtung gemäß Anspruch 1, wobei die Sanierungsschaltung die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe als Reaktion auf das Detektieren der Beendigung der Operation durchführt.
  10. Vorrichtung gemäß Anspruch 1, wobei die Sanierungsschaltung die Gegenmaßnahmenoperation an der nicht ausgewählten Speichergruppe als Reaktion auf das Empfangen eines Befehls zum Durchführen der Gegenmaßnahmenoperation auf der nicht ausgewählten Speichergruppe durchführt.
  11. System aufweisend: eine Vielzahl von Speicherblöcken, die mit der gleichen Steuerleitung gekoppelt sind; eine Steuerung, die eingerichtet ist, um: eine Operation an einem ausgewählten Speicherblock der Vielzahl von Speicherblöcken durchzuführen; und als Teil der Operation eine Leseaktualisierung an einem nicht ausgewählten Speicherblock der Vielzahl von Speicherblöcken durchzuführen.
  12. System gemäß Anspruch 11, wobei die Operation eine Löschoperation und/oder eine Programmieroperation aufweist.
  13. System gemäß Anspruch 11, wobei die Leseaktualisierung das Anlegen einer Lesespannung an den nicht ausgewählten Speicherblock aufweist, ohne Daten abzutasten, die auf dem nicht ausgewählten Speicherblock gespeichert sind.
  14. System gemäß Anspruch 11, wobei ein Anfangsteil der Operation den nicht ausgewählten Speicherblock in einen verschlechterten Lesezustand versetzt und die Leseaktualisierung den nicht ausgewählten Speicherblock in einen nominellen Lesezustand versetzt.
  15. System gemäß Anspruch 11, wobei ein Anfangsabschnitt der Operation den ausgewählten Speicherblock in einen nominellen Lesezustand versetzt.
  16. System gemäß Anspruch 11, wobei das Durchführen der Leseaktualisierung auf dem nicht ausgewählten Speicherblock das Durchführen der Leseaktualisierung auf mindestens einer Seite des nicht ausgewählten Speicherblocks aufweist.
  17. System gemäß Anspruch 11, wobei das Durchführen der Leseaktualisierung auf dem nicht ausgewählten Speicherblock das Anlegen einer Lesespannung an den nicht ausgewählten Speicherblock für eine vorbestimmte Dauer aufweist.
  18. System gemäß Anspruch 11, wobei das Durchführen der Leseaktualisierung auf dem nicht ausgewählten Speicherblock das Warten für eine vorbestimmte Dauer vor dem Durchführen einer Operation auf einem Speicherblock des nicht ausgewählten Speicherblocks aufweist.
  19. System gemäß Anspruch 11, wobei die Steuerung so eingerichtet ist, dass sie als Teil der Operation die Leseaktualisierung auf dem ausgewählten Speicherblock durchführt.
  20. Vorrichtung aufweisend: Mittel zum Durchführen einer Operation an einer ausgewählten Gruppe von Speicherzellen einer Vielzahl von Speicherzellen unter Verwendung eines Operationsspannungspegels für die ausgewählte Gruppe von Speicherzellen und eines anderen Spannungspegels für eine nicht ausgewählte Gruppe von Speicherzellen der Vielzahl von Speicherzellen; und Mittel zum Durchführen einer Leseaktualisierung auf der nicht ausgewählten Gruppe von Speicherzellen der Vielzahl von Speicherzellen als Reaktion auf den Abschluss der Operation.
DE102018123961.0A 2017-10-31 2018-09-27 Gruppen-leseaktualisierung Pending DE102018123961A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/800,023 US10347315B2 (en) 2017-10-31 2017-10-31 Group read refresh
US15/800,023 2017-10-31

Publications (1)

Publication Number Publication Date
DE102018123961A1 true DE102018123961A1 (de) 2019-05-02

Family

ID=66137878

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018123961.0A Pending DE102018123961A1 (de) 2017-10-31 2018-09-27 Gruppen-leseaktualisierung

Country Status (3)

Country Link
US (1) US10347315B2 (de)
CN (1) CN109727627B (de)
DE (1) DE102018123961A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10622075B2 (en) * 2017-12-12 2020-04-14 Sandisk Technologies Llc Hybrid microcontroller architecture for non-volatile memory
US10991413B2 (en) * 2019-07-03 2021-04-27 Micron Technology, Inc. Memory with programmable die refresh stagger
US11264110B2 (en) 2020-02-13 2022-03-01 Sandisk Technologies Llc Refresh operations for memory cells based on susceptibility to read errors
US11043280B1 (en) 2020-02-13 2021-06-22 Sandisk Technologies Llc Refresh operations for dedicated groups of blocks of memory cells
US11404127B1 (en) 2021-02-11 2022-08-02 Sandisk Technologies Llc Read refresh to improve power on data retention for a non-volatile memory

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01214993A (ja) 1988-02-23 1989-08-29 Nissan Motor Co Ltd データ記憶装置
US5491809A (en) 1993-01-05 1996-02-13 Texas Instruments Incorporated Smart erase algorithm with secure scheme for flash EPROMs
KR0171930B1 (ko) 1993-12-15 1999-03-30 모리시다 요이치 반도체 메모리, 동화기억 메모리, 동화기억장치, 동화표시장치, 정지화기억 메모리 및 전자노트
KR100625753B1 (ko) 1999-02-16 2006-09-20 후지쯔 가부시끼가이샤 테스트 모드 입력 회로를 구비한 반도체 장치
US6343033B1 (en) 2000-02-25 2002-01-29 Advanced Micro Devices, Inc. Variable pulse width memory programming
US6831865B2 (en) 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US6751146B1 (en) 2003-01-07 2004-06-15 Advanced Micro Devices, Inc. System and method for charge restoration in a non-volatile memory device
US7221588B2 (en) 2003-12-05 2007-05-22 Sandisk 3D Llc Memory array incorporating memory cells arranged in NAND strings
JP4107269B2 (ja) 2004-02-23 2008-06-25 ソニー株式会社 固体撮像装置
EP1626413B1 (de) 2004-08-11 2007-02-21 STMicroelectronics S.r.l. Ein Reihendekodierer für NAND-Speicher
KR100624302B1 (ko) 2004-10-07 2006-09-19 주식회사 하이닉스반도체 난드 플래시 메모리의 로우 디코더 회로 및 이를 이용한동작 전압 공급 방법
JP4284300B2 (ja) 2005-05-02 2009-06-24 株式会社東芝 半導体記憶装置
JP4714590B2 (ja) 2006-01-23 2011-06-29 パトレネラ キャピタル リミテッド, エルエルシー メモリ
US9099174B2 (en) 2012-10-09 2015-08-04 Micron Technology, Inc. Drift acceleration in resistance variable memory
US7450421B2 (en) 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
US7609559B2 (en) 2007-01-12 2009-10-27 Micron Technology, Inc. Word line drivers having a low pass filter circuit in non-volatile memory device
US7940552B2 (en) 2007-04-30 2011-05-10 Samsung Electronics Co., Ltd. Multiple level cell phase-change memory device having pre-reading operation resistance drift recovery, memory systems employing such devices and methods of reading memory devices
KR100898661B1 (ko) 2007-08-06 2009-05-22 주식회사 하이닉스반도체 플래시 메모리 소자의 블럭 디코더
KR101401558B1 (ko) 2007-08-20 2014-06-09 삼성전자주식회사 플래시 메모리 장치, 그것의 프로그램 및 소거 방법들,그리고 그것을 포함하는 메모리 시스템 및 컴퓨터 시스템
US8248848B1 (en) 2007-10-01 2012-08-21 Marvell International Ltd. System and methods for multi-level nonvolatile memory read, program and erase
US8677221B2 (en) 2008-01-02 2014-03-18 Apple Inc. Partial voltage read of memory
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
KR101361131B1 (ko) 2008-04-11 2014-02-13 삼성전자주식회사 공유되는 로우 디코더를 갖는 플래쉬 메모리 장치
JP2009266946A (ja) 2008-04-23 2009-11-12 Toshiba Corp 三次元積層不揮発性半導体メモリ
US7719888B2 (en) 2008-06-18 2010-05-18 Micron Technology, Inc. Memory device having a negatively ramping dynamic pass voltage for reducing read-disturb effect
US7719876B2 (en) 2008-07-31 2010-05-18 Unity Semiconductor Corporation Preservation circuit and methods to maintain values representing data in one or more layers of memory
KR101468149B1 (ko) 2008-09-19 2014-12-03 삼성전자주식회사 플래시 메모리 장치 및 시스템들 그리고 그것의 읽기 방법
US7983078B2 (en) 2008-09-24 2011-07-19 Sandisk Technologies Inc. Data retention of last word line of non-volatile memory arrays
US8331128B1 (en) 2008-12-02 2012-12-11 Adesto Technologies Corporation Reconfigurable memory arrays having programmable impedance elements and corresponding methods
US7995394B2 (en) 2009-07-30 2011-08-09 Sandisk Technologies Inc. Program voltage compensation with word line bias change to suppress charge trapping in memory
JP4940287B2 (ja) 2009-08-06 2012-05-30 株式会社東芝 不揮発性半導体記憶装置
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US8199556B2 (en) 2009-09-22 2012-06-12 Micron Technology, Inc. Methods of reading and using memory cells
US7974134B2 (en) 2009-11-13 2011-07-05 Sandisk Technologies Inc. Voltage generator to compensate sense amplifier trip point over temperature in non-volatile memory
US8203876B2 (en) 2009-12-01 2012-06-19 Micron Technology, Inc. Reducing effects of erase disturb in a memory device
CA2782142A1 (en) 2009-12-01 2011-06-09 Queen's University At Kingston Method and system for a run-time reconfigurable computer architecture
JP2011258289A (ja) 2010-06-10 2011-12-22 Toshiba Corp メモリセルの閾値検出方法
JP5595901B2 (ja) 2010-12-28 2014-09-24 株式会社東芝 不揮発性半導体記憶装置
US8788922B2 (en) 2011-02-28 2014-07-22 Apple Inc Error correction codes for incremental redundancy
US8472266B2 (en) 2011-03-31 2013-06-25 Sandisk Technologies Inc. Reducing neighbor read disturb
JP5404685B2 (ja) 2011-04-06 2014-02-05 株式会社東芝 不揮発性半導体記憶装置
KR20120126436A (ko) 2011-05-11 2012-11-21 에스케이하이닉스 주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 프로그램 방법
US8406053B1 (en) 2011-09-21 2013-03-26 Sandisk Technologies Inc. On chip dynamic read for non-volatile storage
KR20130034533A (ko) * 2011-09-28 2013-04-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US8908435B2 (en) 2011-12-21 2014-12-09 Sandisk Technologies Inc. Erase operation with controlled select gate voltage for 3D non-volatile memory
US9111612B2 (en) 2012-03-07 2015-08-18 Rambus Inc. Direct relative measurement of memory durability
US8732537B2 (en) 2012-08-06 2014-05-20 Lsi Corporation Method and system for symbol error rate estimation and sector quality measurement
JP2014063556A (ja) 2012-09-24 2014-04-10 Toshiba Corp 不揮発性半導体記憶装置
US9142275B2 (en) 2012-10-31 2015-09-22 Taiwan Semiconductor Manufacturing Co., Ltd. Wordline tracking for boosted-wordline timing scheme
KR20140064434A (ko) 2012-11-20 2014-05-28 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR102083496B1 (ko) * 2012-11-21 2020-03-02 삼성전자 주식회사 리드 동작 시 온도 보상된 워드 라인 전압을 인가하는 반도체 메모리 장치 및 그 방법
US9171605B1 (en) 2012-12-21 2015-10-27 Samsung Electronics Co., Ltd. Concentrated address detecting method of semiconductor device and concentrated address detecting circuit using the same
CN103077742B (zh) 2012-12-21 2017-02-08 上海华虹宏力半导体制造有限公司 行译码电路及存储器
US8947963B2 (en) 2013-01-11 2015-02-03 Apple Inc. Variable pre-charge levels for improved cell stability
US9153331B2 (en) 2013-03-13 2015-10-06 Sandisk Technologies Inc. Tracking cell erase counts of non-volatile memory
KR101984051B1 (ko) 2013-05-24 2019-09-03 에스케이하이닉스 주식회사 전압 스케일링 장치 및 그에 따른 아날로그-디지털 변환 장치와 씨모스 이미지 센서
US9728263B2 (en) 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
US9378830B2 (en) 2013-07-16 2016-06-28 Seagate Technology Llc Partial reprogramming of solid-state non-volatile memory cells
US20150092488A1 (en) 2013-09-27 2015-04-02 Yogesh Wakchaure Flash memory system endurance improvement using temperature based nand settings
US8908441B1 (en) 2013-10-15 2014-12-09 Sandisk Technologies Inc. Double verify method in multi-pass programming to suppress read noise
US8902668B1 (en) 2013-10-15 2014-12-02 Sandisk Technologies Inc. Double verify method with soft programming to suppress read noise
KR102154620B1 (ko) * 2013-12-19 2020-09-10 삼성전자주식회사 비휘발성 메모리 장치의 소거 방법 및 그것을 포함하는 저장 장치
US9136003B1 (en) 2014-04-10 2015-09-15 Apple Inc. Mitigation of data retention drift by progrmming neighboring memory cells
US9275730B2 (en) 2014-04-11 2016-03-01 Micron Technology, Inc. Apparatuses and methods of reading memory cells based on response to a test pulse
KR20150142503A (ko) 2014-06-12 2015-12-22 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작방법
US9230663B1 (en) 2014-08-29 2016-01-05 Sandisk Technologies Inc. Programming memory with reduced short-term charge loss
JP2016054017A (ja) 2014-09-04 2016-04-14 株式会社東芝 半導体記憶装置
US10353598B2 (en) 2014-10-06 2019-07-16 Sandisk Technologies Llc System and method for refreshing data in a memory device
US9324439B1 (en) 2014-10-20 2016-04-26 Sandisk Technologies Inc. Weak erase after programming to improve data retention in charge-trapping memory
KR20160046502A (ko) * 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US9431121B2 (en) 2014-10-24 2016-08-30 Micron Technology, Inc. Read voltage adjustment
US9443606B2 (en) 2014-10-28 2016-09-13 Sandisk Technologies Llc Word line dependent two strobe sensing mode for nonvolatile storage elements
US20160118135A1 (en) 2014-10-28 2016-04-28 Sandisk Technologies Inc. Two-strobe sensing for nonvolatile storage
US9947682B2 (en) 2014-11-18 2018-04-17 Sandisk Technologies Llc Three dimensional non-volatile memory with separate source lines
KR20160063726A (ko) * 2014-11-27 2016-06-07 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US9552885B2 (en) 2014-12-10 2017-01-24 Sandisk Technologies Llc Partial block erase for open block reading in non-volatile memory
US9711240B2 (en) 2015-01-08 2017-07-18 Kabushiki Kaisha Toshiba Memory system
US9418743B1 (en) 2015-02-17 2016-08-16 Macronix International Co., Ltd. 3D NAND memory with decoder and local word line drivers
US10518272B2 (en) * 2015-02-20 2019-12-31 Current Ways, Inc. Air cleaner
US9761313B2 (en) * 2015-04-09 2017-09-12 SK Hynix Inc. Non-volatile semiconductor memory device with multiple pass voltage and improved verification and programming operating method thereof
US9412463B1 (en) 2015-06-02 2016-08-09 Sandisk Technologies Llc Reducing hot electron injection type of read disturb in 3D non-volatile memory for edge word lines
US9721671B2 (en) 2015-09-10 2017-08-01 Sandisk Technologies Llc Memory device which performs verify operations using different sense node pre-charge voltages and a common discharge period
KR102429452B1 (ko) * 2016-02-02 2022-08-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
JP6490018B2 (ja) 2016-02-12 2019-03-27 東芝メモリ株式会社 半導体記憶装置
US9911500B2 (en) 2016-04-18 2018-03-06 Sandisk Technologies Llc Dummy voltage to reduce first read effect in memory
US9715937B1 (en) 2016-06-15 2017-07-25 Sandisk Technologies Llc Dynamic tuning of first read countermeasures
US9711231B1 (en) 2016-06-24 2017-07-18 Sandisk Technologies Llc System solution for first read issue using time dependent read voltages
US9607707B1 (en) 2016-06-30 2017-03-28 Sandisk Technologies Llc Weak erase prior to read
US9620233B1 (en) 2016-06-30 2017-04-11 Sandisk Technologies Llc Word line ramping down scheme to purge residual electrons
US10262743B2 (en) 2016-10-25 2019-04-16 Sandisk Technologies Llc Command sequence for first read solution for memory
US9952944B1 (en) 2016-10-25 2018-04-24 Sandisk Technologies Llc First read solution for memory
US10216570B2 (en) * 2017-01-31 2019-02-26 Winbond Electronics Corporation Memory device and control method thereof
US9830994B1 (en) 2017-02-02 2017-11-28 Sandisk Technologies Llc Sequential deselection of word lines for suppressing first read issue
US10026486B1 (en) 2017-03-06 2018-07-17 Sandisk Technologies Llc First read countermeasures in memory

Also Published As

Publication number Publication date
US10347315B2 (en) 2019-07-09
US20190130964A1 (en) 2019-05-02
CN109727627B (zh) 2023-06-30
CN109727627A (zh) 2019-05-07

Similar Documents

Publication Publication Date Title
DE102017104283A1 (de) Löschgeschwindigkeitsbasierte wortleitungssteuerung
DE102020106971A1 (de) Datenschreibverwaltung im nichtflüchtigen speicher
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
DE102018123961A1 (de) Gruppen-leseaktualisierung
DE102020116362B3 (de) Dynamische zuweisung von unterblöcken
DE102011085988B4 (de) Verfahren und Vorrichtungen zum Beeinflussen eines Betriebszustands eines Mehrfachpegelzelle-Speichers
DE112019000165T5 (de) Gleichzeitiges programmieren mehrerer zellen für nichtflüchtigespeichervorrichtungen
DE102018123805A1 (de) Vorgang für verteiltes Programmieren
DE102021115373A1 (de) Identifizierte zonen für zonen mit optimaler paritätsteilung
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
DE112018004373T5 (de) Adaptive programmierspannung für nichtflüchtige speichervorrichtungen
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird
DE102021115374A1 (de) Abschwächung des in zonen unterteilten namensraums unter verwendung des unterblock-modus
DE102018209207A1 (de) Selektive body-reset-operation für dreidimensionalen (3d ) nand-speicher
DE112020006215T5 (de) Blockfamilien-basierte Fehlervermeidung für Speichervorrichtungen
DE112020000237T5 (de) Soft-bit-lesemodusauswahl für nicht-flüchtige speicher
DE102020116188B4 (de) Verbesserung der sourceseitigen vorladung und verstärkung für das programmieren in umgekehrter reihenfolge
DE102013108456A1 (de) Nichtflüchtige Speichervorrichtung und Programmierverfahren
DE112019000161T5 (de) Speicher-cache-verwaltung
DE102021114457A1 (de) Abwicklung von lesen in vorrichtungen mit in zonen unterteiltem namensraum
DE102021107475A1 (de) Kalibrieren von leseschwellenwerten eines nichtflüchtigen speichers
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE112019000153T5 (de) Auswahl der Untergruppe zur Prüfung
DE112021000776T5 (de) Verwaltung von schreib-operationen in einer nichtflüchtigen speichervorrichtung unter verwendung eines variablen vor-lese-spannungspegels
DE102022102589A1 (de) Auslösen der nächsten zustandsverifizierung in der programmierschleife für nichtflüchtigen speicher

Legal Events

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

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

Representative=s name: MURGITROYD & COMPANY, DE