DE102022119998A1 - Dynamische fehlerkontrollkonfiguration fürspeichersysteme - Google Patents

Dynamische fehlerkontrollkonfiguration fürspeichersysteme Download PDF

Info

Publication number
DE102022119998A1
DE102022119998A1 DE102022119998.3A DE102022119998A DE102022119998A1 DE 102022119998 A1 DE102022119998 A1 DE 102022119998A1 DE 102022119998 A DE102022119998 A DE 102022119998A DE 102022119998 A1 DE102022119998 A1 DE 102022119998A1
Authority
DE
Germany
Prior art keywords
data set
type
errors
determining
error control
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
DE102022119998.3A
Other languages
English (en)
Inventor
Zhengang Chen
Deping He
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of DE102022119998A1 publication Critical patent/DE102022119998A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Verfahren, Systeme und Vorrichtungen für eine dynamische Fehlerkontrollkonfiguration für Speichersysteme sind beschrieben. Das Speichersystem kann einen Lesebefehl empfangen und einen Datensatz von einer Stelle des Speichersystems basierend auf dem Lesebefehl abrufen. Das Speichersystem kann eine erste Art von Fehlerkontrolloperation auf dem Datensatz durchführen, um zu bestimmen, ob der Datensatz einen oder mehrere Fehler beinhaltet. Falls der Datensatz den einen oder die mehreren Fehler beinhaltet, kann das Speichersystem einen zweiten Datensatz von der Stelle des Speichersystems abrufen und bestimmen, ob ein Syndromgewicht einen Schwellenwert erfüllt. Das Speichersystem kann eine zweite Art von Fehlerkontrolloperation auf dem zweiten Datensatz basierend auf Bestimmen, dass das Syndromgewicht den Schwellenwert erfüllt, durchführen.

Description

  • QUERVERWEIS
  • Die vorliegende Patentanmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 17/584.034 von He et al. mit dem Titel „DYNAMIC ERROR CONTROL CONFIGURATION FOR MEMORY SYSTEMS“, eingereicht am 25. Januar 2022, und der vorläufigen US-Patentanmeldung Nr. 63/232.982 von He et al. mit dem Titel „DYNAMIC ERROR CONTROL CONFIGURATION FOR MEMORY SYSTEMS“, eingereicht am 13. August 2021.
  • TECHNISCHES GEBIET
  • Das Folgende betrifft im Allgemeinen ein oder mehrere Systeme für Speicher und insbesondere eine dynamische Fehlerkontrollkonfiguration für Speichersysteme.
  • HINTERGRUND
  • Speichervorrichtungen werden häufig verwendet, um Informationen in verschiedenen elektronischen Vorrichtungen wie etwa Computern, Benutzervorrichtungen, drahtlosen Kommunikationsvorrichtungen, Kameras, digitalen Anzeigen und dergleichen zu speichern. Informationen werden gespeichert, indem Speicherzellen innerhalb einer Speichervorrichtung in verschiedenen Zuständen programmiert werden. Zum Beispiel können binäre Speicherzellen in einen von zwei unterstützten Zuständen programmiert werden, die oft einer logischen 1 oder einer logischen 0 entsprechen. In einigen Beispielen kann eine einzelne Speicherzelle mehr als zwei mögliche Zustände unterstützen, von denen jeder durch die Speicherzelle gespeichert werden kann. Um auf durch eine Speichervorrichtung gespeicherte Informationen zuzugreifen, kann eine Komponente den Zustand einer oder mehrerer Speicherzellen innerhalb der Speichervorrichtung lesen oder erfassen. Um Informationen zu speichern, kann eine Komponente eine oder mehrere Speicherzellen innerhalb der Speichervorrichtung in entsprechende Zustände schreiben oder programmieren.
  • Es gibt verschiedene Arten von Speichervorrichtungen, darunter magnetische Festplatten, Direktzugriffsspeicher (random access memory - RAM), Nur-Lese-Speicher (read-only memory - ROM), dynamischer Direktzugriffsspeicher (dynamic random-access memory - DRAM), synchroner dynamischer RAM (SDRAM), statischer RAM (SRAM), ferroelektrischer RAM (FeRAM), magnetoresistiver RAM (MRAM), resistiver RAM (RRAM), Flash-Speicher, Phasenwechsel-Speicher (phase change memory - PCM), dreidimensionaler XPoint-Speicher (3D cross point), Nicht-Oder (not-or - NOR)- und Nicht-Und (not-and - NAND)-Speichervorrichtungen und andere. Speichervorrichtungen können flüchtig oder nichtflüchtig sein. Flüchtige Speicherzellen (z. B. DRAM-Zellen) können im Laufe der Zeit ihre programmierten Zustände verlieren, es sei denn, sie werden regelmäßig von einer externen Stromquelle aufgefrischt. Nichtflüchtige Speicherzellen (z. B. NAND-Speicherzellen) können ihre programmierten Zustände über einen längeren Zeitraum beibehalten, selbst wenn keine externe Stromquelle vorhanden ist.
  • Figurenliste
    • 1 veranschaulicht ein Beispiel eines Systems, das eine dynamische Fehlerkontrollkonfiguration für Speichersysteme gemäß den in dieser Schrift offenbarten Beispielen unterstützt.
    • 2 veranschaulicht ein Beispiel eines Flussdiagramms, das eine dynamische Fehlerkontrollkonfiguration für Speichersysteme gemäß den in dieser Schrift offenbarten Beispielen unterstützt.
    • 3 zeigt ein Blockdiagramm eines Speichersystems, das eine dynamische Fehlerkontrollkonfiguration für Speichersysteme gemäß den in dieser Schrift offenbarten Beispielen unterstützt.
    • 4 zeigt ein Flussdiagramm, das ein oder mehrere Verfahren, die eine dynamische Fehlerkontrollkonfiguration für Speichersysteme unterstützen, gemäß den in dieser Schrift offenbarten Beispielen veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Beim Speichern von Informationen in einem Array von Speicherzellen kann ein Speichersystem eine Fehlerkontrolloperation verwenden, um sicherzustellen, dass die Informationen fehlerfrei sind. Die Fehler können durch Schreiben der Informationen in das Array, durch Störungen, die auftreten können, während die Informationen im Array gespeichert sind, oder durch Auslesen der Informationen aus dem Array verursacht werden. Solche Fehlerkontrolloperationen können eine Paritätsprüfung mit geringer Dichte (lowdensity parity check - LDPC) beinhalten. Einige Fehlerkontrolloperationen können eine geringere Latenz aufweisen, können aber auch dazu konfiguriert sein, weniger Fehler als andere Fehlerkontrolloperationen zu erfassen oder zu korrigieren. Es kann Kompromisse zwischen dem Verwenden von Fehlerkontrolloperationen mit hoher Auflösung geben, die dazu konfiguriert sind, viele Fehler zu erfassen oder zu korrigieren (und mehr Strom oder Energie verbrauchen), und der Verwendung von Fehlerkontrolloperationen mit geringerer Auflösung, die dazu konfiguriert sind, weniger Fehler zu erfassen oder zu korrigieren, die aber weniger Zeit in Anspruch nehmen und weniger Strom oder Energie verbrauchen. Falls zum Beispiel das Speichersystem dazu konfiguriert ist, eine erste Art von Fehlerkontrolloperation (z. B. Bit-Flipping(BF)-LDPC-Decodierung) und/oder eine zweite Art von Fehlerkontrolloperation zu verwenden, kann das Speichersystem erhöhte Mengen an Strom und Zeit verbrauchen, um die zweite Art von Fehlerkontrolloperation durchzuführen, verglichen mit der Durchführung der ersten Art von Fehlerkontrolloperation. Das Speichersystem kann jedoch in der Lage sein, eine größere Anzahl von Bits unter Verwendung der zweiten Art von Fehlerkontrolloperation im Vergleich zur Verwendung der ersten Art von Fehlerkontrolloperation zu erfassen oder zu korrigieren. Techniken zum Auswählen, ob eine Leseoperation unter Verwendung der ersten Art von Fehlerkontrolloperation oder unter Verwendung der zweiten Art von Fehlerkontrolloperation durchgeführt werden soll, können erwünscht sein.
  • Es werden Techniken zum Durchführen einer Leseoperation unter Verwendung unterschiedlicher Arten von Fehlerkontrolloperationen in unterschiedlichen Situationen beschrieben. Ein Speichersystem kann zuerst Daten abrufen und eine erste Fehlerkontrolloperation anwenden, die eine geringere Latenz und eine geringere Fehlererfassungs- oder -korrekturauflösung hat. Falls das Speichersystem nicht korrigierbare Fehler mit der ersten Fehlerkontrolloperation identifiziert, kann das Speichersystem eine zweite Fehlerkontrolloperation anwenden, die eine höhere Fehlererfassungs- oder Korrekturauflösung hat. Solche Techniken können eine Wahrscheinlichkeit reduzieren, dass die zweite Art von Fehlerkontrolloperation durchgeführt wird, wodurch die Latenz von Befehlen reduziert wird, die dem Speichersystem zugeordnet sind, was den Stromverbrauch der Befehle reduziert, während die Fähigkeit des Speichersystems beibehalten wird, eine höhere Anzahl von Fehlern zu erfassen oder zu korrigieren. Zum Beispiel kann das Speichersystem eine Leseoperation unter Verwendung der ersten Art von Fehlerkontrolloperation durchführen. Das Speichersystem kann bestimmen, ob die Leseoperation fehlschlägt (z. B. ob die Daten einen oder mehrere Fehler beinhalten). In einigen Fällen kann das Speichersystem bestimmen, dass die Leseoperation fehlschlägt, und kann eine Lesewiederholungsoperation als Reaktion auf das Bestimmen durchführen, dass die Leseoperation fehlschlägt. Die Lesewiederholungsoperation kann unter Verwendung der ersten Art von Fehlerkontrolloperation durchgeführt werden. Das Speichersystem kann bestimmen, ob die Lesewiederholungsoperation fehlschlägt (z. B. ob die Daten einen oder mehrere Fehler beinhalten). In einigen Beispielen kann das Speichersystem bestimmen, dass die Lesewiederholungsoperation fehlschlägt und kann als Reaktion auf das Bestimmen, dass die Lesewiederholungsoperation fehlschlägt, ein Syndromgewicht bestimmen, das der ersten Art von Fehlerkontrolloperation zugeordnet ist. Falls das Syndromgewicht einen Schwellenwert erfüllt, kann das Speichersystem eine Lesewiederholung unter Verwendung der zweiten Art von Fehlerkontrolloperation durchführen. In anderen Beispielen kann das Speichersystem, falls das Syndromgewicht den Schwellenwert nicht erfüllt, eine Lesewiederholungsoperation unter Verwendung der ersten Art von Fehlerkontrolloperation durchführen.
  • Durch Verwenden einer mehrstufigen Konfiguration für Fehlerkorrekturoperationen kann das Speichersystem die Latenz von dem Speichersystem zugeordneten Operationen verringern, indem bestimmt wird, ob die Lesewiederholungsoperation unter Verwendung der zweiten Art von Fehlerkontrolloperation basierend auf dem Syndromgewicht durchgeführt werden soll. Die Verwendung der mehrstufigen Konfiguration für Fehlerkorrekturoperationen kann die Gesamteffizienz des Speichersystems verbessern, was dazu führen kann, dass das Speichersystem verbesserte Lese-, Schreib- und Löschgeschwindigkeiten, reduzierten Stromverbrauch, verbesserte Verarbeitungszeiten, reduzierten Verschleiß an Speicherzellen und dergleichen erfährt.
  • Merkmale der Offenbarung werden zunächst im Zusammenhang mit einem System unter Bezugnahme auf 1 beschrieben. Merkmale der Offenbarung werden im Zusammenhang mit einem Flussdiagramm unter Bezugnahme auf die 2 beschrieben. Diese und andere Merkmale der Offenbarung werden unter Bezugnahme auf ein Gerätediagramm und ein Flussdiagramm, die sich auf eine dynamische Fehlerkontrollkonfiguration beziehen, unter Bezugnahme auf 3-4 weiter veranschaulicht und beschrieben.
  • 1 veranschaulicht ein Beispiel eines Systems 100, das eine dynamische Fehlerkontrollkonfiguration für Speichersysteme gemäß den in dieser Schrift offenbarten Beispielen unterstützt. Das System 100 beinhaltet ein Hostsystem 105, das mit einem Speichersystem 110 gekoppelt ist.
  • Ein Speichersystem 110 kann eine beliebige Vorrichtung oder eine Sammlung von Vorrichtungen sein oder beinhalten, wobei die Vorrichtung oder Sammlung von Vorrichtungen zumindest ein Speicherarray beinhaltet. Zum Beispiel kann ein Speichersystem 110 eine Universal Flash Storage (UFS)-Vorrichtung, eine Embedded Multi-Media Controller (eMMC)-Vorrichtung, eine Flash-Vorrichtung, eine Universal Serial Bus (USB)-Flash-Vorrichtung, eine Secure Digital (SD)-Karte, ein Solid-State-Laufwerk (solid-state drive - SSD), ein Festplattenlaufwerk (hard disk drive - HDD), ein Dual-Inline-Speichermodul (dual in-line memory module - DIMM), ein Small Outline DIMM (SO-DIMM) oder ein nichtflüchtiges DIMM (non-volatile DIMM - NVDIMM) sein oder beinhalten, neben anderen Möglichkeiten.
  • Das System 100 kann in einer Computervorrichtung, wie etwa einem Desktop-Computer, einem Laptop-Computer, einem Netzwerkserver, einer mobilen Vorrichtung, einem Fahrzeug (z. B. Flugzeug, Drohne, Zug, Auto oder einem anderen Transportmittel), einer Internet of Things (IoT)-fähigen Vorrichtung, einem eingebetteten Computer (z. B. in einem Fahrzeug, einer Industrieanlage oder einer vernetzten kommerziellen Vorrichtung) oder einer beliebigen anderen Computervorrichtung, die einen Speicher und eine Verarbeitungsvorrichtung beinhaltet, beinhaltet sein.
  • Das System 100 kann ein Hostsystem 105 beinhalten, das mit dem Speichersystem 110 gekoppelt sein kann. In einigen Beispielen kann diese Kopplung eine Schnittstelle mit einer Hostsystemsteuerung 106 beinhalten, die ein Beispiel für eine Steuerung oder eine Steuerkomponente sein kann, die dazu konfiguriert ist, das Hostsystem 105 zu veranlassen, verschiedene Operationen gemäß in dieser Schrift beschriebenen Beispielen durchzuführen. Das Hostsystem 105 kann ein oder mehrere Vorrichtungen beinhalten und kann in einigen Fällen einen Prozessorchipsatz und einen Softwarestapel, der durch den Prozessorchipsatz ausgeführt wird, beinhalten. Zum Beispiel kann das Hostsystem 105 eine Anwendung beinhalten, die zum Kommunizieren mit dem Speichersystem 110 oder einer darin befindlichen Vorrichtung konfiguriert ist. Der Prozessorchipsatz kann einen oder mehrere Kerne, einen oder mehrere Caches (z. B. einen lokalen oder im Hostsystem 105 beinhalteten Speicher), eine Speichersteuerung (z. B. NVDIMM-Steuerung) und eine Speicherprotokollsteuerung (z. B. Peripheral Component Interconnect Express (PCIe)-Steuerung, Serial Advanced Technology Attachment (SATA)-Steuerung) beinhalten. Das Hostsystem 105 kann das Speichersystem 110 zum Beispiel dazu verwenden, Daten in das Speichersystem 110 zu schreiben und Daten aus dem Speichersystem 110 zu lesen. Obwohl in 1 ein Speichersystem 110 gezeigt ist, kann das Hostsystem 105 mit einer beliebigen Anzahl von Speichersystemen 110 gekoppelt sein.
  • Das Hostsystem 105 kann über mindestens eine physische Hostschnittstelle mit dem Speichersystem 110 gekoppelt sein. Das Hostsystem 105 und das Speichersystem 110 können in einigen Fällen dazu konfiguriert sein, über eine physische Hostschnittstelle unter Verwendung eines zugehörigen Protokolls zu kommunizieren (z. B. um Steuer-, Adress-, Daten- und andere Signale zwischen dem Speichersystem 110 und dem Hostsystem 105 auszutauschen oder anderweitig zu kommunizieren). Beispiele für eine physische Hostschnittstelle können unter anderem eine SATA-Schnittstelle, eine UFS-Schnittstelle, eine eMMC-Schnittstelle, eine PCIe-Schnittstelle, eine USB-Schnittstelle, eine Fibre-Channel-Schnittstelle, eine Small Computer System Schnittstelle (Small Computer System Interface - SCSI), eine Serial Attached SCSI (SAS), eine Double Data Rate (DDR)-Schnittstelle, eine DIMM-Schnittstelle (z. B. DIMM-Sockelschnittstelle, die DDR unterstützt), eine Open NAND Flash Schnittstelle (Open NAND Flash Interface - ONFI) und eine Low Power Double Data Rate (LPDDR)-Schnittstelle beinhalten. In einigen Beispielen können eine oder mehrere derartiger Schnittstellen in einer Hostsystemsteuerung 106 des Hostsystems 105 und einer Speichersystemsteuerung 115 des Speichersystems 110 beinhaltet sein oder auf andere Weise zwischen diesen unterstützt werden. In einigen Beispielen kann das Hostsystem 105 mit dem Speichersystem 110 über eine entsprechende physische Hostschnittstelle für jede im Speichersystem 110 beinhaltete Speichervorrichtung 130 oder über eine entsprechende physische Hostschnittstelle für jede im Speichersystem 110 beinhaltete Art von Speichervorrichtung 130 gekoppelt sein (z. B. kann die Hostsystemsteuerung 106 mit der Speichersystemsteuerung 115 gekoppelt sein).
  • Das Speichersystem 110 kann eine Speichersystemsteuerung 115 und ein oder mehrere Speichervorrichtungen 130 beinhalten. Eine Speichervorrichtung 130 kann ein oder mehrere Speicherarrays aller Arten von Speicherzellen (z. B. nichtflüchtige Speicherzellen, flüchtige Speicherzellen oder eine beliebige Kombination davon) beinhalten. Obwohl in dem Beispiel aus 1 zwei Speichervorrichtungen 130-a und 130-b gezeigt sind, kann das Speichersystem 110 eine beliebige Anzahl von Speichervorrichtungen 130 beinhalten. Ferner können, falls das Speichersystem 110 mehr als eine Speichervorrichtung 130 beinhaltet, unterschiedliche Speichervorrichtungen 130 innerhalb des Speichersystems 110 die gleichen oder unterschiedliche Arten von Speicherzellen beinhalten.
  • Die Speichersystemsteuerung 115 kann mit dem Hostsystem 105 gekoppelt sein und mit ihm kommunizieren (z. B. über die physische Hostschnittstelle) und kann ein Beispiel für eine Steuerung oder Steuerkomponente sein, die dazu konfiguriert ist, das Speichersystem 110 zu veranlassen, verschiedene Operationen gemäß in dieser Schrift beschriebenen Beispielen durchzuführen. Die Speichersystemsteuerung 115 kann auch mit Speichervorrichtungen 130 gekoppelt sein und mit diesen kommunizieren, um Operationen wie das Lesen von Daten, das Schreiben von Daten, das Löschen von Daten oder das Auffrischen von Daten in einer Speichervorrichtung 130 - neben anderen derartigen Operationen - auszuführen, die allgemein als Zugriffsoperationen bezeichnet werden können. In einigen Fällen kann die Speichersystemsteuerung 115 Befehle vom Hostsystem 105 empfangen und mit einer oder mehreren Speichervorrichtungen 130 kommunizieren, um derartige Befehle auszuführen (z. B. in Speicherarrays innerhalb der einen oder mehreren Speichervorrichtungen 130). Zum Beispiel kann die Speichersystemsteuerung 115 Befehle oder Operationen vom Hostsystem 105 empfangen und die Befehle oder Operationen in Anweisungen oder geeignete Befehle umwandeln, um den gewünschten Zugriff auf die Speichervorrichtungen 130 zu erreichen. In einigen Fällen kann die Speichersystemsteuerung 115 Daten mit dem Hostsystem 105 und mit einer oder mehreren Speichervorrichtungen 130 austauschen (z. B. als Reaktion auf Befehle vom Hostsystem 105 oder in anderer Weise in Verbindung mit diesen). Zum Beispiel kann die Speichersystemsteuerung 115 Reaktionen (z. B. Datenpakete oder andere Signale), die den Speichervorrichtungen 130 zugeordnet sind, in entsprechende Signale für das Hostsystem 105 umwandeln.
  • Die Speichersystemsteuerung 115 kann für andere Operationen, die den Speichervorrichtungen 130 zugeordnet sind, konfiguriert sein. Zum Beispiel kann die Speichersystemsteuerung 115 Operationen wie Verschleißausgleichsoperationen, Garbage-Collection-Operationen, Fehlerkontrolloperationen wie etwa Fehlererfassungsoperationen oder Fehlerkorrekturoperationen, Verschlüsselungsoperationen, Caching-Operationen, Medienverwaltungsoperationen, Hintergrundauffrischung, Zustandsüberwachung und Adressübersetzungen zwischen logischen Adressen (z. B. logischen Blockadressen (LBAs)), die Befehlen vom Hostsystem 105 zugeordnet sind, und physischen Adressen (z. B. physischen Blockadressen), die Speicherzellen innerhalb der Speichervorrichtungen 130 zugeordnet sind, ausführen oder verwalten.
  • Die Speichersystemsteuerung 115 kann Hardware wie eine oder mehrere integrierte Schaltungen oder diskrete Komponenten, einen Pufferspeicher oder eine beliebige Kombination davon beinhalten. Die Hardware kann Schaltungen mit dedizierter (z. B. hartcodierter) Logik beinhalten, um die in dieser Schrift der Speichersystemsteuerung 115 zugeschriebenen Operationen auszuführen. Die Speichersystemsteuerung 115 kann eine Mikrosteuerung, eine spezielle Logikschaltung (z. B. ein Field Programmable Gate Array (FPGA), eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit - ASIC), ein digitaler Signalprozessor (digital signal processor - DSP)) oder eine beliebige andere geeignete Prozessor- oder Verarbeitungsschaltung sein oder beinhalten.
  • Die Speichersystemsteuerung 115 kann auch einen lokalen Speicher 120 beinhalten. In einigen Fällen kann der lokale Speicher 120 einen Nur-Lese-Speicher (ROM) oder einen anderen Speicher beinhalten, der den von der Speichersystemsteuerung 115 ausführbaren Operationscode (z. B. ausführbare Anweisungen) speichern kann, um Funktionen auszuführen, die der Speichersystemsteuerung 115 in dieser Schrift zugeschrieben werden. In einigen Fällen kann der lokale Speicher 120 zusätzlich oder alternativ auch statischen Direktzugriffsspeicher (SRAM) oder anderen Speicher beinhalten, der von der Speichersystemsteuerung 115 für interne Speicherungen oder Berechnungen verwendet werden kann, z. B. im Zusammenhang mit den in dieser Schrift der Speichersystemsteuerung 115 zugeschriebenen Funktionen. Zusätzlich oder alternativ kann der lokale Speicher 120 als Cache für die Speichersystemsteuerung 115 dienen. Zum Beispiel können Daten im lokalen Speicher 120 gespeichert werden, falls sie von einer Speichervorrichtung 130 gelesen oder auf diese geschrieben werden, und die Daten können im lokalen Speicher 120 für den nachfolgenden Abruf oder die Manipulation (z. B. Aktualisierung) durch das Hostsystem 105 (z. B. mit reduzierter Latenz gegenüber einer Speichervorrichtung 130) gemäß einer Cache-Richtlinie verfügbar sein.
  • Obwohl das Beispiel des Speichersystems 110 in 1 so veranschaulicht ist, dass es die Speichersystemsteuerung 115 beinhaltet, kann ein Speichersystem 110 in einigen Fällen möglicherweise keine Speichersystemsteuerung 115 beinhalten. Zum Beispiel kann das Speichersystem 110 zusätzlich oder alternativ auf eine externe Steuerung (z. B. umgesetzt durch das Hostsystem 105) oder eine oder mehrere lokale Steuerungen 135 zurückgreifen, die jeweils innenliegend in den Speichervorrichtungen 130 sein können, um die in dieser Schrift der Speichersystemsteuerung 115 zugeschriebenen Funktionen auszuführen. Im Allgemeinen können eine oder mehrere Funktionen, die in dieser Schrift der Speichersystemsteuerung 115 zugeschrieben werden, in einigen Fällen stattdessen von dem Hostsystem 105, einer lokalen Steuerung 135 oder einer beliebigen Kombination davon ausgeführt werden. In einigen Fällen kann eine Speichervorrichtung 130, die zumindest zum Teil von einer Speichersystemsteuerung 115 verwaltet wird, als verwaltete Speichervorrichtung bezeichnet werden. Ein Beispiel für eine verwaltete Speichervorrichtung ist eine verwaltete NAND (managed NAND - MNAND)-Vorrichtung.
  • Eine Speichervorrichtung 130 kann ein oder mehrere Arrays nichtflüchtiger Speicherzellen beinhalten. Eine Speichervorrichtung 130 kann zum Beispiel NAND (z. B. NAND-Flash)-Speicher, ROM, Phasenwechelspeicher (PCM), selbstwählenden Speicher, andere Chalkogenid-basierte Speicher, ferroelektrischen Direktzugriffsspeicher (RAM) (FeRAM), Magneto-RAM (MRAM), NOR (z. B. NOR-Flash)-Speicher, Spin-Transfer-Torque (STT)-MRAM, Conductive-Bridging-RAM (CBRAM), resistiven Direktzugriffsspeicher (RRAM), oxidbasierten RRAM (oxid based RRAM - OxRAM), elektrisch überschreibbaren ROM (electrically erasable programmable ROM - EEPROM) oder eine beliebige Kombination davon beinhalten. Zusätzlich oder alternativ kann eine Speichervorrichtung 130 ein oder mehrere Arrays flüchtiger Speicherzellen beinhalten. Eine Speichervorrichtung 130 kann zum Beispiel RAM-Speicherzellen wie etwa dynamische RAM (dynamic RAM - DRAM)-Speicherzellen und synchrone DRAM (synchronous DRAM - SDRAM)-Speicherzellen beinhalten.
  • In einigen Beispielen kann eine Speichervorrichtung 130 eine lokalen Steuerung 135 beinhalten (z. B. auf einem gleichen Chip oder innerhalb eines gleichen Pakets), die Operationen auf einer oder mehreren Speicherzellen der jeweiligen Speichervorrichtung 130 ausführen kann. Eine lokale Steuerung 135 kann in Verbindung mit einer Speichersystemsteuerung 115 betrieben werden oder eine oder mehrere Funktionen ausführen, die in dieser Schrift der Speichersystemsteuerung 115 zugewiesen sind. Wie zum Beispiel in 1 veranschaulicht, kann eine Speichervorrichtung 130-a eine lokale Steuerung 135-a beinhalten und eine Speichervorrichtung 130-b kann eine lokale Steuerung 135-b beinhalten.
  • In einigen Fällen kann eine Speichervorrichtung 130 eine NAND-Vorrichtung (z. B. NAND-Flash-Vorrichtung) sein oder beinhalten. Eine Speichervorrichtung 130 kann ein Speicherchip 160 sein oder einen solchen beinhalten. In einigen Fällen kann die Speichervorrichtung 130 zum Beispiel ein Paket sein, das einen oder mehrere Chips 160 beinhaltet. Ein Chip 160 kann in einigen Beispielen ein aus einem Wafer geschnittenes Stück eines Halbleiters in Elektronikqualität sein (z. B. ein aus einem Siliziumwafer geschnittener Siliziumchip). Jeder Chip 160 kann eine oder mehrere Ebenen 165 beinhalten und jede Ebene 165 kann einen entsprechenden Satz von Blöcken 170 beinhalten, wobei jeder Block 170 einen entsprechenden Satz von Seiten 175 beinhalten kann, und jede Seite 175 kann einen Satz von Speicherzellen beinhalten.
  • In einigen Fällen kann eine NAND-Speichervorrichtung 130 Speicherzellen beinhalten, die dazu konfiguriert sind, jeweils ein Bit an Informationen zu speichern, die als Single-Level-Zellen (SLCs) bezeichnet werden können. Zusätzlich oder alternativ kann eine NAND-Speichervorrichtung 130 Speicherzellen beinhalten, die dazu konfiguriert sind, jeweils mehrere Bits an Informationen zu speichern, die als Multi-Level-Zellen (MLC) bezeichnet werden, falls sie dazu konfiguriert sind, jeweils zwei Bits an Informationen zu speichern, als Tri-Level-Zellen (TLC), falls sie dazu konfiguriert sind, jeweils drei Bits an Informationen zu speichern, als Quad-Level-Zellen (QLC), falls sie dazu konfiguriert sind, jeweils vier Bits an Informationen zu speichern, oder allgemeiner als Multi-Level-Speicherzellen. Multi-Level-Speicherzellen können im Vergleich zu SLC-Speicherzellen eine höhere Speicherdichte bereitstellen, können aber in einigen Fällen engere Lese- oder Schreibspannen oder eine höhere Komplexität der unterstützenden Schaltungen mit sich bringen.
  • In einigen Fällen können sich die Ebenen 165 auf Gruppen von Blöcken 170 beziehen, und in einigen Fällen können gleichzeitige Operationen in unterschiedlichen Ebenen 165 stattfinden. So können zum Beispiel gleichzeitige Operationen an Speicherzellen in verschiedenen Blöcken 170 ausgeführt werden, solange sich die verschiedenen Blöcke 170 in unterschiedlichen Ebenen 165 befinden. In einigen Fällen kann ein einzelner Block 170 als physischer Block bezeichnet werden, und ein virtueller Block 180 kann sich auf eine Gruppe von Blöcken 170 beziehen, in denen gleichzeitige Operationen stattfinden können. Zum Beispiel können gleichzeitige Operationen an den Blöcken 170-a, 170-b, 170-c und 170-d durchgeführt werden, die sich jeweils innerhalb der Ebenen 165-a, 165-b, 165-c, und 165-d befinden, und die Blöcke 170-a, 170-b, 170-c und 170-d können gemeinsam als ein virtueller Block 180 bezeichnet werden. In einigen Fällen kann ein virtueller Block 180 Blöcke 170 aus unterschiedlichen Speichervorrichtungen 130 (z. B. einschließlich Blöcken 170 in einer oder mehreren Ebenen 165 der Speichervorrichtung 130-a und der Speichervorrichtung 130-b) beinhalten. In einigen Fällen können die Blöcke 170 innerhalb eines virtuellen Blocks 180 dieselbe Blockadresse innerhalb ihrer jeweiligen Ebenen 165 aufweisen (z. B. kann Block 170-a „Block 0“ von Ebene 165-a sein, Block 170-b kann „Block 0“ von Ebene 165-b sein und so weiter). In einigen Fällen kann die Durchführung gleichzeitiger Operationen in verschiedenen Ebenen 165 einer oder mehreren Einschränkungen unterliegen, wie etwa der Ausführung gleichzeitiger Operationen auf Speicherzellen innerhalb verschiedener Seiten 175, die dieselbe Seitenadresse in ihren jeweiligen Ebenen 165 haben (z. B. in Bezug auf die Befehlsdecodierung, die Schaltung zur Decodierung der Seitenadresse oder andere Schaltungen, die über die Ebenen 165 hinweg gemeinsam genutzt werden).
  • In einigen Fällen kann ein Block 170 Speicherzellen beinhalten, die in Zeilen (Seiten 175) und Spalten (z. B. Strings, nicht gezeigt) geordnet sind. Zum Beispiel können sich Speicherzellen in einer gleichen Seite 175 eine gemeinsame Wortleitung teilen (z. B. mit ihr gekoppelt sein) und Speicherzellen in einem gleichen String können sich eine gemeinsame Ziffernleitung teilen (z. B. mit ihr gekoppelt sein) (die alternativ auch als Bitleitung bezeichnet werden kann).
  • Bei einigen NAND-Architekturen können Speicherzellen auf einer ersten Granularitätsebene (z. B. auf der Seitenebene der Granularität) gelesen und programmiert (z. B. geschrieben) werden, aber auf einer zweiten Granularitätsebene (z. B. auf der Blockebene der Granularität) gelöscht werden. Das heißt, eine Seite 175 kann die kleinste Speichereinheit (z. B. ein Satz von Speicherzellen) sein, die unabhängig programmiert oder gelesen werden kann (z. B. gleichzeitig programmiert oder gelesen als Teil einer einzelnen Programm- oder Leseoperation), und ein Block 170 kann die kleinste Speichereinheit (z. B. ein Satz von Speicherzellen) sein, die unabhängig gelöscht werden kann (z. B. gleichzeitig gelöscht als Teil einer einzelnen Löschoperation). Ferner können in einigen Fällen NAND-Speicherzellen gelöscht werden, bevor sie mit neuen Daten überschrieben werden können. So kann zum Beispiel eine benutzte Seite 175 in einigen Fällen erst dann aktualisiert werden, wenn der gesamte Block 170, der die Seite 175 beinhaltet, gelöscht worden ist.
  • Das System 100 kann eine beliebige Anzahl nicht transitorischer, computerlesbarer Medien beinhalten, die eine dynamische Fehlerkontrollkonfiguration für Speichersysteme unterstützen. Zum Beispiel können das Hostsystem 105, die Speichersystemsteuerung 115 oder eine Speichervorrichtung 130 ein oder mehrere nichttransitorische computerlesbare Medien beinhalten oder anderweitig darauf zugreifen, die Befehle (z. B. Firmware) zum Durchführen der Funktionen speichern, die in dieser Schrift dem Hostsystem 105, der Speichersystemsteuerung 115 oder der Speichervorrichtung 130 zugeschrieben werden. Zum Beispiel können solche Anweisungen, falls sie durch das Hostsystem 105 (z. B. durch die Hostsystemsteuerung 106), durch die Speichersystemsteuerung 115 oder durch eine Speichervorrichtung 130 (z. B. durch eine lokale Steuerung 135) ausgeführt werden, das Hostsystem 105, die Speichersystemsteuerung 115 oder die Speichervorrichtung 130 veranlassen, eine oder mehrere zugehörige Funktionen, wie in dieser Schrift beschrieben, durchzuführen.
  • In einigen Beispielen kann das Speichersystem 110 eine Leseoperation unter Verwendung eines ersten Modus (z. B. einer ersten Art von Fehlerkontrolloperation oder eines BF-Modus) durchführen. Zum Beispiel kann das Speichersystem einen Lesebefehl empfangen, einen ersten Datensatz von einer ersten Stelle des Speichersystems 110 basierend auf dem Lesebefehl abrufen und die erste Art von Fehlerkontrolloperation durchführen. In einigen Fällen kann das Speichersystem 110 bestimmen, ob der erste Datensatz einen oder mehrere Fehler beinhaltet (z. B. bestimmen, ob die Leseoperation bestanden wird). Das Speichersystem 110 kann bestimmen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet (z. B. dass der erste Datensatz daran scheitert, die Fehlerkontrolloperation zu bestehen) und kann eine Lesewiederholungsoperation unter Verwendung der ersten Art von Fehlerkontrolloperation basierend auf dem einen oder mehreren Fehlern durchführen. Zum Beispiel kann das Speichersystem 110 einen zweiten Datensatz von der ersten Stelle des Speichersystems 110 als Reaktion auf das Bestimmen abrufen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet.
  • In einigen Fällen kann das Speichersystem 110 bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet (z. B. bestimmen, ob die Lesewiederholungsoperation die Fehlerkontrolloperation besteht oder daran scheitert). Das Speichersystem 110 kann bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet (z. B. dass der zweite Datensatz daran scheitert, die Fehlerkontrolloperation zu bestehen). In solchen Fällen kann das Speichersystem 110 bestimmen, ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert erfüllt. Das Speichersystem 110 kann bestimmen, dass das Syndromgewicht den Schwellenwert erfüllt, und schaltet Operationsmodi um, um eine Lesewiederholungsoperation unter Verwendung einer zweiten Art von Fehlerkontrolloperation durchzuführen. Die zweite Art von Fehlerkontrolloperation kann eine höhere Latenzzeit und eine höhere Anzahl von Fehlern aufweisen, die unter Verwendung der zweiten Art von Fehlerkontrolloperation erfassbar oder korrigierbar sind. In solchen Fällen kann das Speichersystem 110 die zweite Art von Fehlerkontrolloperation auf dem zweiten Datensatz durchführen.
  • 2 veranschaulicht ein Beispiel eines Flussdiagramms 200, das eine dynamische Fehlerkontrollkonfiguration für Speichersysteme gemäß den in dieser Schrift offenbarten Beispielen unterstützt. Zum Beispiel können die Operationen des Flussdiagramms 200 durch ein Speichersystem durchgeführt werden, wie es unter Bezugnahme auf 1 beschrieben wurde. Alternative Beispiele des Folgenden können implementiert werden, wobei einige Schritte in einer anderen Reihenfolge durchgeführt oder nicht durchgeführt werden. Einige Schritte können außerdem zusätzliche, im Folgenden nicht erwähnte Merkmale beinhalten. Das Flussdiagramm 200 veranschaulicht Techniken, bei denen ein Speichersystem eine dynamische Fehlerkontrollkonfiguration für Speichersysteme umsetzen kann.
  • Aspekte des Flussdiagramms 200 können durch eine Steuerung, neben anderen Komponenten, umgesetzt werden. Zusätzlich oder alternativ können Aspekte des Flussdiagramms 200 als in einer Steuerung gespeicherte Anweisungen umgesetzt werden (z. B. Steuerung, die mit dem Speichersystem gekoppelt ist). Zum Beispiel können die Anweisungen, falls sie durch eine Steuerung (z. B. die Speichersystemsteuerung 115) ausgeführt werden, die Steuerung veranlassen, die Operationen des Flussdiagramms 200 durchzuführen.
  • Bei einigen Leseoperationen kann eine Fehlerkontrolloperation (z. B. LDPC) durchgeführt werden, um zu bestimmen, ob es Fehler in den von dem NAND abgerufenen Daten gibt. Der LDPC kann iterative Operationen durchführen, um ein oder mehrere Informationsbits umzukehren und zu bestimmen, ob die Daten Fehler beinhalten. Das Anwenden einer Fehlerkontrolle auf Informationen, die in dem NAND gespeichert sind, kann dabei helfen, Fehler zu erfassen oder zu korrigieren (oder beides), die in den Informationen auftreten können, die in dem NAND gespeichert sind. Zum Beispiel können Fehler als Reaktion auf das Schreiben von Informationen in das NAND, das Auslesen von Informationen aus dem NAND oder Störungen von Speicherzellen des NAND als Teil von Operationen des NAND auftreten. Die erste Art von Fehlerkontrolloperation kann im Vergleich zur zweiten Art von Fehlerkontrolloperation eine geringere Latenz (z. B. benötigt weniger Zeit zum Durchführen der Operation), einen geringeren Stromverbrauch und eine geringere Auflösung der Anzahl von Fehlern, die erfasst oder korrigiert werden kann, aufweisen. Ein Beispiel der ersten Art von Fehlerkontrolloperation kann einen Bit-Flipping-LDPC-Decoder oder andere Arten von LDPC-Decodern beinhalten. Die zweite Art von Fehlerkontrolloperation kann eine höhere Latenz (z. B. benötigt mehr Zeit zum Durchführen der Operation), einen höheren Stromverbrauch und eine höhere Auflösung der Anzahl von Fehlern, die erfasst oder korrigiert werden kann, aufweisen. Beispiele der zweiten Art von Fehlerkontrolloperation können einen Min-Sum-LDPC-Decoder oder andere Arten von LDPC-Decodern beinhalten. In einigen Fällen können die Fehlerkontrolloperationen eine Fehlererfassungsoperation oder einen Fehlererfassungscode (EDC), eine Fehlerkontrolloperation oder einen Fehlerkorrekturcode (ECC), einen Einzelfehlerkorrektur, Doppel-Fehlererfassungs (single error correction, double error detection - SECDED)-Code oder andere Arten von Fehlerkorrekturcodes beinhalten.
  • Die zweite Art von Fehlerkontrolloperation kann längere Verarbeitungszeiten und eine erhöhte Latenz erfahren, die das Speichersystem im Vergleich zu der ersten Art von Fehlerkontrolloperation erfährt. In einigen Fällen kann die zweite Art von Fehlerkontrolloperation eine erhöhte Anzahl von Iterationen beinhalten oder die Latenzzeit pro Iteration erhöhen, wodurch die Operation mit reduzierten Geschwindigkeiten durchgeführt wird. Die zweite Art von Fehlerkontrolloperation kann zum Decodieren von LDPC-Code genutzt werden.
  • Eine Schaltung in dem Speichersystem kann dazu konfiguriert sein, sowohl die erste Art von Fehlerkontrolloperation als auch die zweite Art von Fehlerkontrolloperation umzusetzen. Die erste Art von Fehlerkontrolloperation kann ein Beispiel eines Algorithmus sein, der die Rechenkomplexität der Schaltung in dem Speichersystem reduzieren kann. Zum Beispiel kann das Speichersystem mindestens ein Codewort unter Verwendung der Schaltung und der ersten Art von Fehlerkontrolloperation decodieren, wobei die Decodieroperation 19 Mikrosekunden dauern kann, bis sie abgeschlossen ist. In anderen Beispielen kann das Speichersystem mindestens ein Codewort unter Verwendung der Schaltung und der zweiten Art von Fehlerkontrolloperation decodieren, wobei die Decodieroperation 143 Mikrosekunden dauern kann, bis sie abgeschlossen ist. Die zweite Art von Fehlerkontrolloperation kann verglichen mit der ersten Art von Fehlerkontrolloperation eine erhöhte Menge von Fehlern in den abgerufenen Daten identifizieren. In solchen Fällen kann die erste Art von Fehlerkontrolloperation kürzere Verarbeitungszeiten erfahren, aber weniger Fehler in den abgerufenen Daten korrigieren. Die erste Art von Fehlerkontrolloperation kann eine geringere Latenzzeit und eine geringere Fehlerkorrekturfähigkeit als die zweite Art von Fehlerkontrolloperation beinhalten. In solchen Fällen kann die erste Art von Fehlerkontrolloperation eine niedrige Latenzzeit mit relativ geringer Fehlerkorrekturfähigkeit beinhalten und kann die zweite Art von Fehlerkontrolloperation eine lange Latenzzeit mit mehr Fehlerkorrekturfähigkeit beinhalten.
  • Falls das Speichersystem eine Bitfehlerrate beinhaltet, die unter einem Schwellenwert liegt, kann das Speichersystem die erste Art von Fehlerkontrolloperation mit verlängerten Verarbeitungszeiten und weniger Iterationen im Vergleich zu der zweiten Art von Fehlerkontrolloperation durchführen. In einigen Systemen kann das Speichersystem die erste Art von Fehlerkontrolloperation auf den abgerufenen Daten durchführen und dann die Operationsmodi umschalten und die zweite Art von Fehlerkontrolloperation auf den abgerufenen Daten durchführen. Das Durchführen sowohl der ersten Art von Fehlerkontrolloperation als auch der zweiten Art von Fehlerkontrolloperation ohne Identifizieren von Fehlern kann die Verarbeitungszeit und Latenz erhöhen, die das Speichersystem erfährt. In einigen Systemen kann das Speichersystem eine Lesewiederholungsoperation durchführen, bis die abgerufenen Daten fehlerfrei sind. In einigen Systemen kann die LDPC-Operation für eine Anzahl von Iterationen durchgeführt werden, bis einige oder alle Bits korrigiert werden können oder bis eine Obergrenze für die Anzahl von Iterationen erfüllt ist. Das iterative Durchführen einer Lesewiederholungsoperation kann jedoch die Wiederherstellungszeit erhöhen, die das Speichersystem erfährt.
  • Es werden Techniken zum anfänglichen Verwenden einer ersten Art von Fehlerkontrolloperation nach einer Leseoperation beschrieben, um die abgerufenen Daten zu prüfen oder zu decodieren. Falls die abgerufenen Daten Fehler beinhalten, von denen vorhergesagt wird, dass sie durch die zweite Art von Fehlerkontrolloperation wahrscheinlich korrigierbar sind, kann die zweite Art von Fehlerkontrolloperation verwendet werden. Andernfalls fährt das Speichersystem mit der Lesewiederholungsoperation fort, indem es die Lesereferenzspannungen oder andere Leseverfahren ändert. In solchen Fällen kann das Speichersystem bestimmen, ob auf die zweite Art von Fehlerkontrolloperation umgeschaltet werden soll, nachdem die erste Art von Fehlerkontrolloperation durchgeführt wurde. Das Speichersystem kann Rückkopplung über die Schaltung und die erste Art von Fehlerkontrolloperation verwenden, indem bestimmt wird, ob ein Syndromgewicht der ersten Art von Fehlerkontrolloperation einen Schwellenwert erfüllt. In solchen Fällen kann das Speichersystem eine Wahrscheinlichkeit vorhersagen, dass die Leseoperation eine zweite Instanz der ersten Art von Fehlerkontrolloperation bestehen kann (z. B. fehlerfrei sein kann), basierend auf Bestimmen, ob das Syndromgewicht einen Schwellenwert erfüllt.
  • Bei 205 kann ein Lesebefehl empfangen werden. Zum Beispiel kann das Hostsystem den Lesebefehl übertragen und das Speichersystem kann den Lesebefehl empfangen. Der Lesebefehl kann einen Hinweis auf eine erste Stelle des Speichersystems zum Durchführen der Leseoperation beinhalten. Die erste Stelle kann ein Beispiel einer physischen Adresse, einer logischen Adresse oder einer Kombination von Adressen sein, um auf Informationen in dem Speichersystem zuzugreifen.
  • Bei 210 kann eine Leseoperation durchgeführt werden. Zum Beispiel kann das Speichersystem die Leseoperation durchführen. In solchen Fällen kann das Speichersystem eine Stelle (z. B. physische Adressen) des NAND identifizieren, an der die Informationen gespeichert sind, und die Informationen als Reaktion auf das Empfangen des Lesebefehls aus dem NAND abrufen. In einigen Beispielen kann das Speichersystem einen ersten Datensatz von der ersten Stelle eines Speichersystems abrufen, die in dem Lesebefehl identifiziert wurde. Abrufen des ersten Datensatzes von der ersten Stelle des Speichersystems kann als direkte Reaktion auf das Empfangen des Lesebefehls erfolgen. Ein Datensatz kann ein oder mehrere Informationsbits beinhalten. In einigen Fällen kann ein gleicher Datensatz von einer gleichen Stelle im Speichersystem abgerufen werden.
  • In einigen Fällen kann die Speichervorrichtung (z. B. das NAND) den Datensatz und Fehlerkontrollinformationen (z. B. Paritätsbits) beinhalten, die an der Stelle gespeichert sind. Beim Schreiben der Daten kann das Speichersystem die Fehlerkontrollinformationen erzeugen und die Fehlerkontrollinformationen mit den Daten in der Speichervorrichtung speichern. Die Fehlerkontrollinformationen können dazu konfiguriert sein, dem Speichersystem dabei zu helfen, zu bestimmen, ob die an der Stelle gespeicherten Daten einen oder mehrere Fehler beinhalten, wenn die Daten von der Stelle abgerufen werden. Solche Techniken können eine größere Sicherheit für die gespeicherten Informationen bieten.
  • Das Speichersystem kann eine Schaltung beinhalten, die dazu konfiguriert sein kann, sowohl eine erste Art von Fehlerkontrolloperation als auch eine zweite Art von Fehlerkontrolloperation durchzuführen. Das Speichersystem kann die Leseoperation unter Verwendung der ersten Art von Fehlerkontrolloperation durchführen. In solchen Fällen kann das Speichersystem die erste Art von Fehlerkontrolloperation auf dem ersten Datensatz über eine erste Dauer als Reaktion auf das Abrufen des ersten Datensatzes durchführen. Die erste Art von Fehlerkontrolloperation kann dazu konfiguriert sein, höchstens eine erste Anzahl von Fehlern des ersten Datensatzes zu korrigieren. Die erste Anzahl von Fehlern kann ein Beispiel für korrupte Daten, ungültige Daten, diskontinuierliche Daten oder eine Kombination davon sein.
  • Bei 215 kann eine Bestimmung, ob die Daten Fehler beinhalten, unter Verwendung der ersten Art von Fehlerkontrolloperation erfolgen. Zum Beispiel kann das Speichersystem als Reaktion auf das Durchführen der ersten Art von Fehlerkontrolloperation bestimmen, ob der erste Datensatz einen oder mehrere Fehler beinhaltet. Der eine oder die mehreren Fehler können ein Beispiel für die erste Anzahl von Fehlern sein. Das Speichersystem kann bestimmen, ob die Leseoperation bestanden wird (z. B. Daten überträgt). In einigen Beispielen kann das Speichersystem bestimmen, dass in den Daten keine Fehler vorhanden sind. Zum Beispiel kann das Speichersystem nach dem Durchführen der Leseoperation bestimmen, dass die Leseoperation bestanden wird. Das Speichersystem kann bestimmen, dass die aus dem NAND abgerufenen Daten fehlerfrei sind.
  • Als Reaktion darauf, dass das Speichersystem bestimmt, dass die Daten fehlerfrei sind, kann das Speichersystem die Daten an einen Puffer senden, um an das Hostsystem übertragen zu werden. Zusätzlich oder alternativ kann das Speichersystem fortfahren, den nächsten Befehl in einer Warteschlange durchzuführen. Zum Beispiel kann das Speichersystem einen weiteren Lesebefehl durchführen und zu 205 oder 210 des Verfahrens zurückkehren. Das Speichersystem kann einen weiteren Lesebefehl empfangen und einen dritten Datensatz von einer zweiten Stelle des Speichersystems abrufen. Die zweite Stelle des Speichersystems kann sich von der ersten Stelle des Speichersystems unterscheiden. Die zweite Stelle kann ein Beispiel einer physischen Adresse, einer logischen Adresse oder einer Kombination von Adressen sein, um auf Informationen in dem Speichersystem zuzugreifen. In einigen Fällen kann das Speichersystem bei 210 die erste Art von Fehlerkontrolloperation auf dem dritten Datensatz durchführen und als Reaktion auf das Durchführen der ersten Art von Fehlerkontrolloperation bei 215 bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind. Falls in den abgerufenen Daten keine Fehler vorhanden sind, können die abgerufenen Daten an das Hostsystem gesendet werden.
  • In einigen Fällen kann das Speichersystem bei 215 bestimmen, dass die Daten die Fehler beinhalten. Zum Beispiel kann das Speichersystem nach dem Durchführen der Leseoperation bestimmen, dass die Leseoperation daran scheitert, zu bestehen. Das Speichersystem kann bestimmen, dass der erste aus dem NAND abgerufene Datensatz Fehler beinhaltet. In solchen Fällen kann das Speichersystem eine Lesewiederholungsoperation durchführen.
  • Bei 220 kann eine Lesewiederholungsoperation durchgeführt werden. Zum Beispiel kann das Speichersystem einen zweiten Datensatz von der ersten Stelle des Speichersystems als direkte Reaktion auf das Bestimmen abrufen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet. Die Lesewiederholungsoperation kann ein Beispiel einer Lesewiederherstellungsoperation sein. Eine Lesewiederholung kann sich auf ein Beispiel einer Operation beziehen, die eine Referenzspannung anpasst, die verwendet wird, um Daten zu lesen, und die Daten unter Verwendung der angepassten Referenzspannung erneut zu lesen. Lesewiederholungsoperationen können dazu konfiguriert sein, den Ladungsverlust zu kompensieren, der aufgrund von Retentionsverlusten oder thermischen Effekten oder beidem auftritt. Zum Beispiel kann das Speichersystem die Lesewiederholungsoperation durchführen, falls die abgerufenen Daten Fehler beinhalten. Als Teil der Lesewiederholungsoperation kann das Speichersystem die verwendete Referenzspannung anpassen, kann einen zweiten Datensatz von der Stelle in der NAND-Vorrichtung abrufen und die erste Fehlerkontrolloperation auf den zweiten Datensatz anwenden. In einigen Fällen kann das Speichersystem die erste Art von Fehlerkontrolloperation auf dem zweiten Datensatz als Reaktion auf das Abrufen des zweiten Datensatzes durchführen. Zum Beispiel kann die Lesewiederholungsoperation denselben Operationsmodus wie die Leseoperation verwenden (z. B. die erste Art von Fehlerkontrolloperation). Die Lesewiederholungsoperation kann Anpassen einer Referenzspannung des Speichersystems beinhalten. Zum Beispiel kann das Speichersystem die Lesereferenzspannung verschieben.
  • Falls nach der Lesewiederholungsoperation der zweite Datensatz einen oder mehrere Fehler beinhaltet, die unter Verwendung der ersten Art von Fehlerkontrolloperation nicht korrigierbar sind, kann das Speichersystem prüfen, ob die der Fehlerkontrolle zugeordnete Schaltung in der Lage ist, die zweite Art von Fehlerkontrolloperation zusätzlich zu der ersten Art von Fehlerkontrolloperation durchzuführen. Die zweite Art von Fehlerkontrolloperation kann dazu konfiguriert sein, eine höhere Anzahl von Fehlern zu korrigieren als die erste Art von Fehlerkontrolloperation. Die zweite Art von Fehlerkontrolloperation kann jedoch länger dauern (z. B. eine höhere Latenz) und kann mehr Strom verbrauchen als die erste Art von Fehlerkontrolloperation. Falls die erste Art von Fehlerkontrolloperation in der Lage ist, irgendwelche identifizierten Fehler zu korrigieren, kann das Speichersystem darauf verzichten, Zeit und Ressourcen zuzuweisen, um die zweite Art von Fehlerkontrolloperation durchzuführen. In solchen Fällen kann das Speichersystem darauf verzichten, die zweite Art von Fehlerkontrolloperation durchzuführen, falls die Fehler unter Verwendung einer Lesewiederholungsoperation und der ersten Art von Fehlerkontrolloperation korrigiert werden können.
  • Bei 225 kann eine Bestimmung erfolgen, ob die Daten Fehler beinhalten. Zum Beispiel kann das Speichersystem als Reaktion auf das Durchführen der Lesewiederholungsoperation bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet. In einigen Fällen kann das Speichersystem als Reaktion auf das Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz bestimmen, dass der zweite Datensatz einen oder mehrere Fehler beinhaltet. Das Speichersystem kann bestimmen, ob die Lesewiederholungsoperation bestanden wird (z. B. Daten an das Hostsystem überträgt).
  • In einigen Beispielen kann das Speichersystem bestimmen, dass in den Daten keine Fehler vorhanden sind. Zum Beispiel kann das Speichersystem nach Durchführen der Lesewiederholungsoperation bestimmen, dass die abgerufenen Daten die Fehlerkontrolloperation bestehen. Das Speichersystem kann bestimmen, dass der aus dem NAND abgerufene zweite Datensatz fehlerfrei ist. In solchen Fällen kann das Speichersystem mit der nächsten Phase oder dem nächsten Code fortfahren und bei 205 einen Lesebefehl empfangen. Falls in den abgerufenen Daten keine Fehler vorhanden sind, können die abgerufenen Daten an das Hostsystem gesendet werden.
  • In einigen Fällen kann das Speichersystem bestimmen, dass die Daten die Fehler beinhalten. Zum Beispiel kann das Speichersystem nach Durchführen der Lesewiederholungsoperation bestimmen, dass die Lesewiederholungsoperation daran scheitert, zu bestehen. Das Speichersystem kann bestimmen, dass der zweite aus dem NAND abgerufene Datensatz Fehler beinhaltet. In solchen Fällen kann das Speichersystem bestimmen, ob ein Syndromgewicht einen Schwellenwert erfüllt.
  • Bei 230 kann eine Bestimmung erfolgen, ob das Syndromgewicht den Schwellenwert erfüllt. Zum Beispiel kann das Speichersystem als Reaktion auf das Durchführen der ersten Art von Fehlerkontrolloperation bestimmen, ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert erfüllt. In einigen Fällen kann das Speichersystem als Reaktion auf das Bestimmen, dass der erste Datensatz Fehler enthält, und das Bestimmen, dass der zweite Datensatz Fehler enthält, bestimmen, ob ein Syndromgewicht den Schwellenwert erfüllt. Zum Beispiel kann das Speichersystem als Reaktion auf das Abrufen des zweiten Datensatzes bestimmen, ob ein Syndromgewicht den Schwellenwert erfüllt.
  • Der Schwellenwert des Syndromgewichts kann basierend auf der Erfolgswahrscheinlichkeit der zweiten Art von Fehlerkontrolloperation gewählt werden, zum Beispiel ein Wert von 600. In solchen Fällen kann das Speichersystem bestimmen, ob das Syndromgewicht über oder unter 600 liegt. Das Syndromgewicht kann ein Beispiel für einen ungefähren Hinweis dafür sein, wie viele Bits im Codewort fehlerhaft sind. Falls das Syndromgewicht hoch ist (z. B. über einem Schwellenwert), kann das Syndromgewicht anzeigen, dass eine geringe Wahrscheinlichkeit dafür besteht, dass das Codewort durch die zweite Art von Fehlerkontrolloperation korrigiert werden kann. Falls das Syndromgewicht niedrig ist (z. B. unter einem Schwellenwert), kann das Syndromgewicht anzeigen, dass eine hohe Wahrscheinlichkeit dafür besteht, dass das Codewort durch die erste Art von Fehlerkontrolloperation korrigiert werden kann. Das Syndromgewicht kann ein Hinweis auf die Wahrscheinlichkeit eines erfolgreichen Decodierens durch die zweite Art von Fehlerkontrolloperation sein, vorausgesetzt, dass die erste Art von Fehlerkontrolloperation das Codewort nicht bereits korrigiert hat.
  • In einigen Fällen kann das Speichersystem bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen. In einigen Fällen kann das Speichersystem bestimmen, dass das Speichersystem möglicherweise nicht nahe daran ist, die Fehler zu korrigieren (z. B. nicht in der Lage ist, die verbleibenden Fehler unter Verwendung der ersten Art von Fehlerkontrolloperation oder der zweiten Art von Fehlerkontrolloperation zu korrigieren, je nachdem, welche Art für die abgerufenen Daten verwendet wird) und eine Lesewiederholungsoperation kann ausgewählt werden, um eine Anzahl von Fehlern beim Lesen zu reduzieren. In solchen Fällen kann das Speichersystem fortfahren, die Lesewiederholungsoperation bei 220 durchzuführen.
  • In einigen Beispielen kann das Speichersystem bestimmen, dass das Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, die auf einem dritten Datensatz durchgeführt wird, der von einer zweiten Stelle des Speichersystems abgerufen wird, daran scheitert, einen Schwellenwert zu erfüllen. Bei 220 kann das Speichersystem als Reaktion auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen, einen vierten Datensatz von der zweiten Stelle des Speichersystems abrufen. Das Speichersystem kann die erste Art von Fehlerkontrolloperation auf dem vierten Datensatz in direkter Reaktion auf das Bestimmen durchführen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen. Zum Beispiel kann das Speichersystem die Lesewiederholungsoperation unter Verwendung der ersten Art von Fehlerkontrolloperation durchführen.
  • In anderen Beispielen kann das Speichersystem bei 230 bestimmen, dass das Syndromgewicht den Schwellenwert erfüllt. In solchen Fällen kann das Speichersystem versuchen, das Codewort zu korrigieren. Das Speichersystem kann bestimmen, dass das Speichersystem möglicherweise nahe daran ist, die Fehler zu korrigieren (z. B. in der Lage ist, die Fehler unter Verwendung der zweiten Art von Fehlerkontrolloperation zu korrigieren). Als Reaktion auf das Bestimmen, dass das Syndromgewicht den Schwellenwert erfüllt (z. B. unter dem Schwellenwert liegt), kann das Speichersystem auf die zweite Art von Fehlerkontrolloperation umschalten.
  • Bei 235 kann ein Umschalten des Fehlerkontrollmodus stattfinden. Zum Beispiel kann das Speichersystem bewirken, dass die Schaltung die zweite Art von Fehlerkontrolloperation als Teil einer Leseoperation verwendet. Das Speichersystem kann auf die zweite Art von Fehlerkontrolloperation umschalten und die Daten erneut lesen und die zweite Art von Fehlerkontrolloperation verwenden, um Fehler in den Daten zu erfassen und/oder zu korrigieren. Das Speichersystem kann mit 210 oder 220 fortfahren, um eine zweite Art von Fehlerkontrolloperation auf dem zweiten Datensatz basierend auf Abrufen des zweiten Datensatzes durchzuführen. Die zweite Art von Fehlerkontrolloperation kann dazu konfiguriert sein, höchstens eine zweiten Anzahl von Fehlern zu identifizieren, die sich von einer ersten Anzahl von Fehlern unterscheidet, die durch die erste Fehlerkontrolloperation identifizierbar sein kann. Die zweite Anzahl von Fehlern kann ein Beispiel für korrupte Daten, ungültige Daten, diskontinuierliche Daten oder eine Kombination davon sein.
  • Basierend auf Umschalten auf die zweite Art von Fehlerkontrolloperation und Fortfahren mit 210 oder 220 kann das Speichersystem bestimmen, ob die Leseoperation bei 215 oder 225 bestanden wird, nachdem die Leseoperation unter Verwendung der zweiten Art von Fehlerkontrolloperation durchgeführt wurde. Zum Beispiel kann das Speichersystem als Reaktion auf das Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet. Das Speichersystem kann als Reaktion auf das Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, eine Benachrichtigung an das Hostsystem übertragen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet. In anderen Beispielen kann das Speichersystem als Reaktion auf das Bestimmen, dass der zweite Datensatz daran scheitert, den einen oder die mehreren Fehler zu beinhalten, den zweiten Datensatz an ein Hostsystem übertragen.
  • In einigen Fällen kann Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz als Reaktion auf das Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, auf das Bestimmen, dass das Syndromgewicht den Schwellenwert erfüllt, oder auf beides erfolgen. Indem die zweite Art von Fehlerkontrolloperation durchgeführt wird, wenn die Erfolgswahrscheinlichkeit hoch ist, kann das Speichersystem verbesserte Operationszeiten, reduzierte Latenz und erhöhte Effizienz erfahren.
  • In einigen Beispielen kann das Speichersystem unterschiedliche Leseoperationen im Zusammenhang mit Durchführen der ersten Art von Fehlerkontrolloperation und Durchführen der zweiten Art von Fehlerkontrolloperation durchführen. Zum Beispiel kann das Speichersystem eine erste Art von Leseoperation mit der ersten Art von Fehlerkontrolloperation durchführen. In einigen Fällen kann die erste Art von Leseoperation ein Beispiel dafür sein, dass das Speichersystem eine Lesewiederholungsoperation durchführt. In solchen Fällen kann das Speichersystem eine verringerte Latenz und eine verringerte Korrekturfähigkeit erfahren.
  • In anderen Beispielen kann das Speichersystem eine zweite Art von Leseoperation (z. B. eine Lesewiederholungsoperation) mit der ersten Art von Fehlerkontrolloperation durchführen. Die zweite Art von Leseoperation kann ein Beispiel des mehrmaligen Durchführens der Leseoperation (z. B. mehr als einmal) und des Durchführens der Fehlerkontrolloperation sein.
  • Das Speichersystem kann die erste Art von Leseoperation oder die zweite Art von Leseoperation mit der zweiten Art von Fehlerkontrolloperation durchführen. In einigen Fällen kann die zweite Art von Leseoperation ein Beispiel dafür sein, dass das Speichersystem eine interne Lesesuche oder -kompensation durchführt und das Lesen basierend auf der Lesesuche anpasst. In solchen Fällen kann das Speichersystem eine immer höhere Auflösung erfahren. In solchen Fällen kann das Speichersystem die NAND-Leseleistung verbessern, indem es eine erste oder zweite Art von Leseoperationen mit der ersten oder zweiten Art von Fehlerkontrolloperationen kombiniert.
  • 3 zeigt ein Blockdiagramm 300 eines Speichersystems 320, das eine dynamische Speicherkontrollkonfiguration für Speichersysteme gemäß den in dieser Schrift offenbarten Beispielen unterstützt. Das Speichersystem 320 kann ein Beispiel von Aspekten eines Speichersystems sein, wie es unter Bezugnahme auf die 1 bis 2 beschrieben wurde. Das Speichersystem 320 oder verschiedene Komponenten davon können ein Beispiel für Mittel zum Durchführen verschiedener Aspekte einer dynamischen Fehlerkontrollkonfiguration für Speichersysteme sein, wie in dieser Schrift beschrieben. Zum Beispiel kann das Speichersystem 320 eine Lesekomponente 325, eine Fehlerkontrollkomponente 330 einer ersten Art, eine Fehlererfassungskomponente 335, eine Lesewiederholungskomponente 340, eine Fehlerkontrollkomponente 345 einer zweiten Art, eine Syndromgewichtskomponente 350 oder eine beliebige Kombination davon beinhalten. Jede dieser Komponenten kann direkt oder indirekt (z. B. über einen oder mehrere Busse) miteinander kommunizieren.
  • Die Lesekomponente 325 kann als Mittel zum Abrufen eines ersten Datensatzes von einer ersten Stelle eines Speichersystems basierend zumindest teilweise auf einem Lesebefehl konfiguriert sein oder dieses anderweitig unterstützen. Die Fehlerkontrollkomponente 330 der ersten Art kann als Mittel zum Durchführen einer ersten Art von Fehlerkontrolloperation auf dem ersten Datensatz über eine erste Dauer basierend zumindest auf dem Abrufen des ersten Datensatzes konfiguriert sein oder dieses anderweitig unterstützen, wobei die erste Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine erste Anzahl von Fehlern zu identifizieren. Die Fehlererfassungskomponente 335 kann als Mittel zum Bestimmen, ob der erste Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation konfiguriert sein oder dieses anderweitig unterstützen. Die Lesewiederholungskomponente 340 kann als Mittel zum Abrufen eines zweiten Datensatzes von der ersten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet, konfiguriert sein oder dieses anderweitig unterstützen. Die Syndromgewichtskomponente 350 kann als Mittel zum Bestimmen, ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert zumindest teilweise erfüllt, basierend auf Abrufen des zweiten Datensatzes konfiguriert sein oder dieses anderweitig unterstützen. Die Fehlerkontrollkomponente 345 der zweiten Art kann als Mittel zum Durchführen einer zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz über eine zweite Dauer basierend zumindest teilweise auf Abrufen des zweiten Datensatzes und Bestimmen, dass das Syndromgewicht den Schwellenwert erfüllt, konfiguriert sein oder dieses anderweitig unterstützen, wobei die zweite Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine zweite Anzahl von Fehlern zu identifizieren.
  • In einigen Beispielen kann die Lesekomponente 325 als Mittel zum Abrufen eines dritten Datensatzes von einer zweiten Stelle des Speichersystems konfiguriert sein oder dieses anderweitig unterstützen. In einigen Beispielen kann die Fehlererfassungskomponente 335 als Mittel zum Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation an dem dritte Datensatz konfiguriert sein als oder dieses anderweitig unterstützen. In einigen Beispielen kann die Lesekomponente 325 als Mittel zum Abrufen eines vierten Datensatzes von einer dritten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind, konfiguriert sein oder dieses anderweitig unterstützen.
  • In einigen Beispielen kann die Syndromgewichtskomponente 350 als Mittel zum Bestimmen, dass ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, die auf einem dritten Datensatz durchgeführt wird, der von einer zweiten Stelle des Speichersystems abgerufen wird, einen Schwellenwert nicht erfüllt, konfiguriert sein oder dieses anderweitig unterstützen. In einigen Beispielen kann die Lesewiederholungskomponente 340 als Mittel zum Abrufen eines vierten Datensatzes von der zweiten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht den Schwellenwert nicht erfüllt, konfiguriert sein oder dieses anderweitig unterstützen. In einigen Beispielen kann die Fehlerkontrollkomponente 330 der ersten Art als Mittel zum Durchführen der ersten Art von Fehlerkontrolloperation auf dem vierten Datensatz basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht den Schwellenwert nicht erfüllt, konfiguriert sein oder dieses anderweitig unterstützen.
  • In einigen Beispielen kann die Fehlererfassungskomponente 335 als Mittel zum Bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz konfiguriert sein oder dieses anderweitig unterstützen.
  • In einigen Beispielen kann die Fehlererfassungskomponente 335 als Mittel zum Übertragen einer Benachrichtigung an ein Hostsystem, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, konfiguriert sein oder dieses anderweitig unterstützen.
  • In einigen Beispielen kann die Fehlererfassungskomponente 335 als Mittel zum Übertragen des zweiten Datensatzes an ein Hostsystem basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz nicht den einen oder die mehreren Fehler beinhaltet, konfiguriert sein oder dieses anderweitig unterstützen.
  • In einigen Beispielen kann die Fehlerkontrollkomponente 330 der ersten Art als Mittel zum Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz basierend zumindest teilweise auf Abrufen des zweiten Datensatzes konfiguriert sein oder dieses anderweitig unterstützen. In einigen Beispielen kann die Fehlererfassungskomponente 335 als Mittel zum Bestimmen, dass der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz konfiguriert sein oder dies auf andere Weise unterstützen, wobei Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz zumindest teilweise auf Bestimmen basiert, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet.
  • In einigen Beispielen kann die Lesekomponente 325 als Mittel zum Empfangen des Lesebefehls, der einen Hinweis auf die erste Stelle beinhaltet, von einem Hostsystem konfiguriert sein oder dieses anderweitig unterstützen, wobei Abrufen des ersten Datensatzes von der ersten Stelle des Speichersystems zumindest teilweise auf Empfangen des Lesebefehls basiert.
  • Die erste Art von Fehlerkontrolloperation beinhaltet in einigen Beispielen eine geringere Latenz und eine geringere Fehlerkorrekturfähigkeit als die zweite Art von Fehlerkontrolloperation.
  • 4 zeigt ein Flussdiagramm, das ein Verfahren 400 veranschaulicht, das eine dynamische Fehlerkontrollkonfiguration für Speichersysteme gemäß den in dieser Schrift offenbarten Beispielen unterstützt. Die Operationen des Verfahrens 400 können durch ein Speichersystem oder seine Komponenten wie in dieser Schrift beschrieben umgesetzt werden. Zum Beispiel können die Operationen des Verfahrens 400 durch ein Speichersystem durchgeführt werden, wie unter Bezugnahme auf die 1 bis 3 beschrieben. In einigen Beispielen kann ein Speichersystem einen Satz von Anweisungen ausführen, um die Funktionselemente der Vorrichtung zu steuern, um die beschriebenen Funktionen durchzuführen. Zusätzlich oder alternativ kann das Speichersystem Aspekte der beschriebenen Funktionen unter Verwendung von spezieller Hardware durchführen.
  • Bei 405 kann ein erster Datensatz abgerufen werden. Zum Beispiel kann das Verfahren Abrufen eines ersten Datensatzes von einer ersten Stelle eines Speichersystems basierend zumindest teilweise auf einem Lesebefehl beinhalten. Die Operationen von 405 können gemäß in dieser Schrift offenbarten Beispielen durchgeführt werden. In einigen Beispielen können Aspekte der Operationen von 405 durch eine Lesekomponente 325 durchgeführt werden, wie unter Bezugnahme auf 3 beschrieben.
  • Bei 410 kann eine erste Art von Fehlerkontrolloperation durchgeführt werden. Zum Beispiel kann das Verfahren Durchführen einer ersten Art von Fehlerkontrolloperation auf dem ersten Datensatz über eine erste Dauer basierend zumindest auf Abrufen des ersten Datensatzes beinhalten, wobei die erste Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine erste Anzahl von Fehlern zu identifizieren. Die Operationen von 410 können gemäß in dieser Schrift offenbarten Beispielen durchgeführt werden. In einigen Beispielen können Aspekte der Operationen von 410 durch eine Fehlerkontrollkomponente 330 erster Art durchgeführt werden, wie unter Bezugnahme auf 3 beschrieben.
  • Bei 415 kann eine Bestimmung erfolgen. Zum Beispiel kann das Verfahren Bestimmen, ob der erste Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation beinhalten. Die Operationen von 415 können gemäß in dieser Schrift offenbarten Beispielen durchgeführt werden. In einigen Beispielen können Aspekte der Operationen von 415 durch eine Fehlererfassungskomponente 335 durchgeführt werden, wie unter Bezugnahme auf 3 beschrieben.
  • Bei 420 kann ein zweiter Datensatz abgerufen werden. Zum Beispiel kann das Verfahren Abrufen eines zweiten Datensatzes von der ersten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet, beinhalten. Die Operationen von 420 können gemäß in dieser Schrift offenbarten Beispielen durchgeführt werden. In einigen Beispielen können Aspekte der Operationen von 420 durch eine Lesewiederholungskomponente 340 durchgeführt werden, wie unter Bezugnahme auf 3 beschrieben.
  • Bei 425 kann ein Syndromgewicht bestimmt werden. Zum Beispiel kann das Verfahren ein Bestimmen, ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert erfüllt, basierend zumindest teilweise auf Abrufen des zweiten Datensatzes beinhalten. Die Operationen von 425 können gemäß in dieser Schrift offenbarten Beispielen durchgeführt werden. In einigen Beispielen können Aspekte der Operationen von 425 durch eine Syndromgewichtkomponente 350 durchgeführt werden, wie unter Bezugnahme auf 3 beschrieben.
  • Bei 430 kann eine zweite Art von Fehlerkontrolloperation durchgeführt werden. Zum Beispiel kann das Verfahren Durchführen einer zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz über eine zweite Dauer basierend zumindest teilweise auf Abrufen des zweiten Datensatzes beinhalten, wobei die zweite Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine zweite Anzahl von Fehlern zu identifizieren. Die Operationen von 430 können gemäß in dieser Schrift offenbarten Beispielen durchgeführt werden. In einigen Beispielen können Aspekte der Operationen von 430 durch eine Fehlerkontrollkomponente 345 zweiter Art durchgeführt werden, wie unter Bezugnahme auf 3 beschrieben.
  • In einigen Beispielen kann ein in dieser Schrift beschriebenes Gerät ein Verfahren oder mehrere Verfahren durchführen, wie etwa das Verfahren 400. Das Gerät kann Merkmale, Schaltungen, Logik, Mittel oder Anweisungen (z. B. ein nichttransitorisches computerlesbares Medium, das Anweisungen speichert, die durch einen Prozessor ausführbar sind) zum Abrufen eines ersten Datensatzes von einer ersten Stelle eines Speichersystems basierend zumindest teilweise auf einem Lesebefehl, Durchführen einer ersten Art von Fehlerkontrolloperation auf dem ersten Datensatz über eine erste Dauer basierend zumindest auf Abrufen des ersten Datensatzes, wobei die erste Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine erste Anzahl von Fehlern zu identifizieren, Bestimmen, ob der erste Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation, Abrufen eines zweiten Datensatzes von der ersten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet, Bestimmen, ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert erfüllt, basierend zumindest teilweise auf Abrufen des zweiten Datensatzes, und Durchführen einer zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz über eine zweite Dauer basierend zumindest teilweise auf Abrufen des zweiten Datensatzes und Bestimmen, dass das Syndromgewicht den Schwellenwert erfüllt, wobei die zweite Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine zweite Anzahl von Fehlern zu identifizieren, beinhalten.
  • Einige Beispiele des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Abrufen eines dritten Datensatzes von einer zweiten Stelle des Speichersystems, Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz möglicherweise nicht vorhanden sind, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem dritten Datensatz, und Abrufen eines vierten Datensatzes von einer dritten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz möglicherweise nicht vorhanden sind, beinhalten.
  • Einige Beispiele des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Bestimmen umfassen, dass ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, die auf einem dritten Datensatz ausgeführt wird, der von einer zweiten Stelle des Speichersystems abgerufen wird, daran scheitert, einen Schwellenwert zu erfüllen, Abrufen eines vierten Datensatzes von der zweiten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen, und Durchführen der ersten Art von Fehlerkontrolloperation auf dem vierten Datensatz basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen, beinhalten.
  • Einige Beispiele des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend auf Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz beinhalten.
  • Einige Beispiele des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Übertragen einer Benachrichtigung an ein Hostsystem, dass der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, beinhalten.
  • Einige Beispiele des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Übertragen des zweiten Datensatzes an ein Hostsystem basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz daran scheitert, den einen oder die mehreren Fehler zu beinhalten, beinhalten.
  • Einige Beispiele des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz basierend zumindest teilweise auf Abrufen des zweiten Datensatzes und Bestimmen, dass der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz beinhalten, wobei Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz zumindest teilweise auf Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, basieren kann.
  • Einige Beispiele des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Empfangen des Lesebefehls, der einen Hinweis auf die erste Stelle beinhaltet, beinhalten, wobei Empfangen des ersten Datensatzes von der ersten Stelle des Speichersystems zumindest teilweise auf Empfangen des Lesebefehls basieren kann.
  • In einigen Beispielen des Verfahrens 400 und des in dieser Schrift beschriebenen Geräts beinhaltet die erste Art von Fehlerkontrolloperation eine geringere Latenz und eine geringere Fehlerkorrekturfähigkeit als die zweite Art von Fehlerkontrolloperation.
  • Es sollte beachtet werden, dass die vorstehend beschriebenen Verfahren mögliche Umsetzungen beschreiben und dass die Operationen und die Schritte neu angeordnet oder anderweitig modifiziert werden können und dass andere Umsetzungen möglich sind. Ferner können Abschnitte von zwei oder mehr der Verfahren kombiniert werden.
  • Die in dieser Schrift beschriebenen Informationen und Signale können unter Verwendung einer Vielzahl unterschiedlicher Technologien und Techniken dargestellt werden. Zum Beispiel können Daten, Anweisungen, Befehle, Informationen, Signale, Bits, Symbole und Chips, auf die in der obigen Beschreibung Bezug genommen wird, durch Spannungen, Ströme, elektromagnetische Wellen, magnetische Felder oder Partikel, optische Felder oder Partikel oder eine beliebige Kombination davon dargestellt werden. In einigen Zeichnungen können Signale als ein einziges Signal dargestellt werden; das Signal kann jedoch einen Bus von Signalen darstellen, wobei der Bus eine Vielzahl von Bitbreiten aufweisen kann.
  • Die Begriffe „elektronische Kommunikation“, „leitender Kontakt“, „verbunden“ und „gekoppelt“ können sich auf eine Beziehung zwischen Komponenten beziehen, die den Fluss von Signalen zwischen den Komponenten unterstützt. Komponenten gelten als elektronisch miteinander kommunizierend (oder in leitendem Kontakt miteinander oder verbunden oder gekoppelt), falls es einen leitenden Pfad zwischen den Komponenten gibt, der jederzeit den Signalfluss zwischen den Komponenten unterstützen kann. Zu jedem beliebigen Zeitpunkt kann der leitende Pfad zwischen Komponenten, die in elektronischer Kommunikation miteinander stehen (oder in leitendem Kontakt mit ihnen stehen oder mit ihnen verbunden oder gekoppelt sind), ein offener Schaltkreis oder ein geschlossener Schaltkreis sein, basierend auf dem Betrieb der Vorrichtung, die die angeschlossenen Komponenten beinhaltet. Der leitende Pfad zwischen verbundenen Komponenten kann ein direkter leitender Pfad zwischen den Komponenten sein oder der leitende Pfad zwischen verbundenen Komponenten kann ein indirekter leitender Pfad sein, der Zwischenkomponenten wie Schalter, Transistoren oder andere Komponenten beinhalten kann. In einigen Beispielen kann der Fluss von Signalen zwischen den verbundenen Komponenten zeitweise unterbrochen werden, z. B. durch ein oder mehrere Zwischenkomponenten wie etwa Schalter oder Transistoren.
  • Der Begriff „Kopplung“ bezieht sich auf eine Bedingung, in der von einem offenen Stromkreis zwischen Komponenten, in dem Signale derzeit nicht über einen leitenden Pfad zwischen den Komponenten übertragen werden können, zu einem geschlossenen Stromkreis zwischen Komponenten übergegangen wird, in dem Signale über den leitenden Pfad zwischen Komponenten übertragen werden können. Falls eine Komponente, wie etwa eine Steuerung, andere Komponenten miteinander koppelt, initiiert die Komponente eine Veränderung, die es ermöglicht, dass Signale zwischen den anderen Komponenten über einen leitenden Pfad fließen, der vorher keinen Signalfluss zuließ.
  • Der Begriff „isoliert“ bezieht sich auf eine Beziehung zwischen Komponenten, in der derzeit keine Signale zwischen den Komponenten fließen können. Komponenten sind voneinander isoliert, falls ein offener Stromkreis zwischen ihnen besteht. Zum Beispiel sind zwei Komponenten, die durch einen Schalter getrennt sind, der zwischen den Komponenten positioniert ist, voneinander isoliert, falls der Schalter geöffnet ist. Falls eine Steuerung zwei Komponenten isoliert, bewirkt die Steuerung eine Änderung, die verhindert, dass Signale zwischen den Komponenten über einen leitenden Pfad fließen, der zuvor den Fluss von Signalen ermöglichte.
  • Die Begriffe „falls“, „wenn“, „basierend auf“ oder „basierend zumindest teilweise auf“ können austauschbar verwendet werden. In einigen Beispielen können die Begriffe „falls“, „wenn“, „basierend auf“ oder „basierend zumindest teilweise auf“ falls sie zur Beschreibung einer bedingten Handlung, eines bedingten Prozesses oder einer Verbindung zwischen Abschnitten eines Prozesses verwendet werden, austauschbar sein.
  • Der Begriff „als Reaktion auf“ kann sich darauf beziehen, dass eine Bedingung oder Handlung zumindest teilweise, falls nicht sogar vollständig, als Folge einer vorhergehenden Bedingung oder Handlung auftritt. Zum Beispiel kann eine erste Bedingung oder Handlung ausgeführt werden und eine zweite Bedingung oder Handlung kann zumindest teilweise als Folge des Auftretens der vorherigen Bedingung oder Handlung auftreten (entweder direkt nach oder nach einem oder mehreren anderen Zwischenbedingungen oder - handlungen, die nach der ersten Bedingung oder Handlung auftreten).
  • Darüber hinaus können sich die Begriffe „direkt als Reaktion auf“ oder „in direkter Reaktion auf“ auf eine Bedingung oder Handlung beziehen, die als direkte Folge einer vorherigen Bedingung oder Handlung auftritt. In einigen Beispielen kann eine erste Bedingung oder Handlung durchgeführt werden und eine zweite Bedingung oder Handlung kann direkt als Folge des Auftretens der vorherigen Bedingung oder Handlung auftreten, unabhängig davon, ob andere Bedingungen oder Handlungen auftreten. In einigen Beispielen kann eine erste Bedingung oder Handlung durchgeführt werden und eine zweite Bedingung oder Aktion kann direkt als Folge des Auftretens der vorherigen Bedingung oder Handlung auftreten, sodass keine anderen Zwischenbedingungen oder -handlungen zwischen der früheren Bedingung oder Handlung und der zweiten Bedingung auftreten oder Handlung oder eine begrenzte Anzahl von einem oder mehreren Zwischenschritten oder Zwischenhandlungen zwischen der früheren Bedingung oder Handlung und der zweiten Bedingung oder Handlung auftreten. Jede Bedingung oder Handlung, die in dieser Schrift als „basierend“, „basierend zumindest teilweise auf“ oder „als Reaktion auf“ einen anderen Schritt, eine andere Handlung, ein anderes Ereignis oder eine andere Bedingung durchgeführt beschrieben wird, kann zusätzlich oder alternativ (z. B. in einem alternativen Beispiel) „in direkter Reaktion auf“ oder „unmittelbar als Reaktion auf eine solche andere Bedingung oder Handlung durchgeführt werden, sofern nicht anders angegeben.
  • Die in dieser Schrift erörterten Vorrichtungen, einschließlich eines Speicherarrays, können auf einem Halbleitersubstrat, wie etwa Silizium, Germanium, einer Silizium-Germanium-Legierung, Galliumarsenid, Galliumnitrid usw., gebildet werden. In einigen Beispielen ist das Substrat ein Halbleiter-Wafer. In einigen anderen Beispielen kann das Substrat ein Silizium-auf-Isolator (silicon-on-insulator - SOI)-Substrat sein, wie z. B. Silizium-auf-Glas (silicon-on-glass - SOG) oder Silizium-auf-Saphir (silicon-on-sapphire - SOP), oder epitaktische Schichten aus Halbleitermaterialien auf einem anderen Substrat. Die Leitfähigkeit des Substrats oder von Teilbereichen des Substrats kann durch Dotierung unter Verwendung von verschiedenen chemischen Stoffen wie unter anderem Phosphor, Bor oder Arsen gesteuert werden. Das Dotieren kann während der anfänglichen Bildung oder des anfänglichen Wachstums des Substrats durch Ionenimplantation oder durch irgendein anderes Dotiermittel durchgeführt werden.
  • Eine in dieser Schrift diskutierte Schaltkomponente oder ein Transistor kann einen Feldeffekttransistor (field-effect transistor - FET) darstellen und eine Vorrichtung mit drei Anschlüssen umfassen, die eine Source, einen Drain und ein Gate beinhaltet. Die Anschlüsse können durch leitende Materialien, z. B. Metalle, mit anderen elektronischen Elementen verbunden sein. Die Source und der Drain können leitfähig sein und können einen stark dotierten, z. B. degenerierten, Halbleiterbereich umfassen. Die Source und der Drain können durch einen leicht dotierten Halbleiterbereich oder Kanal getrennt sein. Falls der Kanal vom n-Typ ist (d. h., die meisten Ladungsträger sind Elektronen), kann der FET als n-Typ-FET bezeichnet werden. Falls der Kanal vom p-Typ ist (d. h. die meisten Ladungsträger sind Löcher), kann der FET als p-Typ-FET bezeichnet werden. Der Kanal kann durch ein isolierendes Gate-Oxid abgedeckt sein. Die Kanalleitfähigkeit kann durch Anlegen einer Spannung an das Gate gesteuert werden. Zum Beispiel kann das Anlegen einer positiven Spannung oder einer negativen Spannung an einen n-Typ-FET bzw. einen p-Typ-FET dazu führen, dass der Kanal leitend wird. Ein Transistor kann „ein“ oder „aktiviert“ sein, falls eine Spannung, die größer oder gleich der Schwellenspannung des Transistors ist, an das Transistor-Gate angelegt wird. Der Transistor kann „aus“ oder „deaktiviert“ sein, falls eine Spannung, die kleiner als die Schwellenspannung des Transistors ist, an das Transistor-Gate angelegt wird.
  • Die in dieser Schrift dargelegte Beschreibung in Verbindung mit den beigefügten Zeichnungen beschreibt beispielhafte Konfigurationen und stellt nicht alle Beispiele dar, die umgesetzt werden können oder innerhalb des Schutzumfangs der Ansprüche liegen. Der in dieser Schrift verwendete Begriff „beispielhaft“ bedeutet „als Beispiel, Variante oder Veranschaulichung dienend“ und nicht „bevorzugt“ oder „vorteilhaft gegenüber anderen Beispielen“. Die detaillierte Beschreibung beinhaltet spezifische Details zur Bereitstellung eines Verständnisses der beschriebenen Techniken. Diese Techniken können jedoch auch ohne diese spezifischen Details angewandt werden. In einigen Instanzen werden bekannte Strukturen und Geräte in Form von Blockdiagrammen dargestellt, um die Konzepte der beschriebenen Beispiele nicht zu verschleiern.
  • In den beigefügten Figuren können ähnliche Komponenten oder Merkmale das gleiche Bezugszeichen haben. Ferner können verschiedene Komponenten derselben Art dadurch unterschieden werden, dass der Referenzbezeichnung ein Bindestrich und eine zweite Bezeichnung folgt, welche die ähnlichen Komponenten voneinander unterscheidet. Falls in der Spezifikation nur die erste Referenzbezeichnung verwendet wird, so gilt die Beschreibung für jede der ähnlichen Komponenten mit derselben ersten Referenzbezeichnung unabhängig von der zweiten Referenzbezeichnung.
  • Die in dieser Schrift beschriebenen Funktionen können in Hardware, von einem Prozessor ausgeführter Software, Firmware oder einer beliebigen Kombination davon umgesetzt werden. Bei Umsetzung in von einem Prozessor ausgeführter Software können die Funktionen als eine oder mehrere Anweisungen oder Codes auf einem computerlesbaren Medium gespeichert oder über dieses übertragen werden. Andere Beispiele und Umsetzungen liegen im Schutzumfang der Offenbarung und der beigefügten Patentansprüche. Aufgrund der Beschaffenheit von Software können die oben beschriebenen Funktionen zum Beispiel unter Verwendung von Software umgesetzt werden, die von einem Prozessor, Hardware, Firmware, Festverdrahtung oder Kombinationen von diesen ausgeführt wird. Merkmale, die Funktionen implementieren, können auch physisch an verschiedenen Positionen angeordnet sein, einschließlich einer Verteilung, sodass Teile von Funktionen an verschiedenen physischen Orten implementiert sind.
  • Zum Beispiel können die verschiedenen veranschaulichenden Blöcke und Komponenten, die in Verbindung mit der Offenbarung in dieser Schrift beschrieben sind, mit einem Universalprozessor, einem DSP, einem ASIC, einem FPGA oder einer anderen programmierbaren Logikvorrichtung, einer diskreten Gate- oder Transistorlogik, diskreten Hardwarekomponenten oder einer beliebige Kombination davon umgesetzt oder durchgeführt werden, die dazu ausgestaltet ist, die in dieser Schrift beschriebenen Funktionen durchzuführen. Ein Universalprozessor kann ein Mikroprozessor sein, alternativ kann der Prozessor auch ein beliebiger Prozessor, Steuerung, Mikrosteuerung oder eine Zustandsmaschine sein. Ein Prozessor kann als eine Kombination von Rechenvorrichtungen umgesetzt sein (z. B. eine Kombination aus einem DSP und einem Mikroprozessor, mehrere Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine beliebige andere derartige Konfiguration).
  • Wie in dieser Schrift verwendet, einschließlich in den Patentansprüchen, bedeutet „oder“ in einer Liste von Elementen (z. B. in einer Liste von Elementen, der ein Ausdruck wie „zumindest eines von“ oder „eines oder mehrere von“ vorangestellt ist) eine einschließende Liste, sodass z. B. eine Liste von zumindest einem von A, B oder C Folgendes bedeutet: A oder B oder C oder AB oder AC oder BC oder ABC (d. h. A und B und C). Außerdem soll der Ausdruck „basierend“, wie er in dieser Schrift verwendet wird, nicht als Verweis auf einen geschlossenen Satz von Bedingungen ausgelegt werden. Zum Beispiel kann ein beispielhafter Schritt, der als „basierend auf Bedingung A“ beschrieben ist, sowohl auf einer Bedingung A als auch auf einer Bedingung B basieren, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Mit anderen Worten, wie in dieser Schrift verwendet, ist der Ausdruck „basierend auf“ in der gleichen Weise auszulegen wie der Ausdruck „basierend zumindest teilweise auf“.
  • Computerlesbare Medien beinhalten sowohl nichttransitorische Computerspeichermedien als auch Kommunikationsmedien, einschließlich aller Medien, die die Übertragung eines Computerprogramms von einem Ort zu einem anderen erleichtern. Ein nichttransitorisches Speichermedium kann ein beliebiges verfügbares Medium sein, auf das ein Allzweck- oder Spezialcomputer zugreifen kann. Als Beispiel und nicht einschränkend können nichttransitorische computerlesbare Medien Folgendes umfassen: RAM, ROM, elektrisch löschbaren programmierbaren Festwertspeicher (electrically erasable programmable read-only memory - EEPROM), Compact-Disk(CD)-ROM oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere nichttransitorische Medium, das verwendet werden kann, um gewünschte Programmcodemittel in Form von Anweisungen oder Datenstrukturen zu tragen oder zu speichern, und auf das von einem Allzweck- oder Spezialcomputer zugegriffen werden kann, oder einen Allzweck- oder Spezialcomputer. Außerdem wird jede Verbindung treffenderweise als computerlesbares Medium bezeichnet. Falls die Software zum Beispiel von einer Website, einem Server oder einer anderen entfernten Quelle über ein Koaxialkabel, Glasfaserkabel, Twisted Pair-Kabel, eine DSL-Leitung oder drahtlose Technologien wie Infrarot, Funk und Mikrowelle übertragen wird, dann sind Koaxialkabel, Glasfaserkabel, Twisted Pair-Kabel, DSL oder drahtlose Technologien wie etwa Infrarot, Funk und Mikrowelle in der Definition von Medium mit beinhaltet. Die in dieser Schrift verwendeten Datenträger beinhalten CD, Laserdisc, optische Disc, Digital Versatile Disc (DVD), Disketten und Blu-Ray-Discs, wobei Platten und Disketten Daten normalerweise magnetisch wiedergeben, während Discs Daten optisch mit Lasern wiedergeben. Kombinationen des Vorstehenden sind ebenfalls im Schutzumfang computerlesbarer Medien mit eingeschlossen.
  • Die Beschreibung in dieser Schrift wird bereitgestellt, um es dem Fachmann zu ermöglichen, die Offenbarung zu erstellen oder zu verwenden. Verschiedene Modifikationen der Offenbarung werden dem Fachmann offensichtlich sein, und die in dieser Schrift definierten allgemeinen Prinzipien können auf andere Variationen angewandt werden, ohne vom Umfang der Offenbarung abzuweichen. Somit ist die Offenbarung nicht auf die in dieser Schrift beschriebenen Beispiele und Ausgestaltungen beschränkt, sondern ihr soll der weitestgehende Schutzumfang zugesprochen werden, der mit den in dieser Schrift offenbarten Prinzipien und neuen Merkmalen vereinbar ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17584034 [0001]
    • US 63232982 [0001]

Claims (25)

  1. Gerät (100), das Folgendes umfasst: eine Speichervorrichtung (130); und eine Steuerung (115, 135), die mit der Speichervorrichtung (130) gekoppelt und dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Abrufen (205; 405) eines ersten Datensatzes von einer ersten Stelle eines Speichersystems (110) basierend zumindest teilweise auf einem Lesebefehl; Durchführen (210; 410) einer ersten Art von Fehlerkontrolloperation auf dem ersten Datensatz über eine erste Dauer basierend zumindest teilweise auf Abrufen des ersten Datensatzes, wobei die erste Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine erste Anzahl von Fehlern zu identifizieren; Bestimmen (215; 415), ob der erste Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation; Abrufen (220; 420) eines zweiten Datensatzes von der ersten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet; Bestimmen (225; 425), ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert erfüllt, basierend zumindest teilweise auf Abrufen des zweiten Datensatzes; und Durchführen (430) einer zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz über eine zweite Dauer basierend zumindest teilweise auf Abrufen (220; 420) des zweiten Datensatzes und Bestimmen (230), dass das Syndromgewicht den Schwellenwert erfüllt, wobei die zweite Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine zweite Anzahl von Fehlern zu identifizieren.
  2. Gerät (100) nach Anspruch 1, wobei die Steuerung (115, 135) ferner dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Abrufen eines dritten Datensatzes von einer zweiten Stelle des Speichersystems (110); Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem dritten Datensatz; und Abrufen eines vierten Datensatzes von einer dritten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind.
  3. Gerät (100) nach Anspruch 1 oder 2, wobei die Steuerung (115, 135) ferner dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Bestimmen, dass das Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, die auf einem dritten Datensatz durchgeführt wird, der von einer zweiten Stelle des Speichersystems (110) abgerufen wird, daran scheitert, den Schwellenwert zu erfüllen; Abrufen eines vierten Datensatzes von der zweiten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen; und Durchführen der ersten Art von Fehlerkontrolloperation auf dem vierten Datensatz basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen.
  4. Gerät (100) nach einem der vorhergehenden Ansprüche, wobei die Steuerung (115, 135) ferner dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz.
  5. Gerät (100) nach Anspruch 4, wobei die Steuerung (115, 135) ferner dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Übertragen einer Benachrichtigung an ein Hostsystem (105), dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet.
  6. Gerät (100) nach Anspruch 4 oder 5, wobei die Steuerung (115, 135) ferner dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Übertragen des zweiten Datensatzes an ein Hostsystem (105) basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz daran scheitert, den einen oder die mehreren Fehler zu beinhalten.
  7. Gerät (100) nach einem der vorhergehenden Ansprüche, wobei die Steuerung (115, 135) ferner dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz basierend zumindest teilweise auf Abrufen des zweiten Datensatzes; und Bestimmen, dass der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz, wobei Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz zumindest teilweise auf Bestimmen basiert, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet.
  8. Gerät (100) nach einem der vorhergehenden Ansprüche, wobei die Steuerung (115, 135) ferner dazu konfiguriert ist, das Gerät (100) zu Folgendem zu veranlassen: Empfangen (205; 405) des Lesebefehls, der einen Hinweis auf die erste Stelle beinhaltet, von einem Hostsystem (105), wobei Abrufen des ersten Datensatzes von der ersten Stelle des Speichersystems (110) zumindest teilweise auf Empfangen des Lesebefehls basiert.
  9. Gerät (100) nach einem der vorhergehenden Ansprüche, wobei die erste Art von Fehlerkontrolloperation eine geringere Latenz und eine geringere Fehlerkorrekturfähigkeit als die zweite Art von Fehlerkontrolloperation umfasst.
  10. Nichttransitorisches computerlesbares Medium, das einen Code speichert, der Anweisungen umfasst, die, wenn sie durch einen Prozessor einer elektronischen Vorrichtung (100) ausgeführt werden, die elektronische Vorrichtung (100) zu Folgendem veranlassen: Abrufen (205; 405) eines ersten Datensatzes von einer ersten Stelle eines Speichersystems (110) basierend zumindest teilweise auf einem Lesebefehl; Durchführen (210; 410) einer ersten Art von Fehlerkontrolloperation auf dem ersten Datensatz über eine erste Dauer basierend zumindest teilweise auf Abrufen des ersten Datensatzes, wobei die erste Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine erste Anzahl von Fehlern zu identifizieren; Bestimmen (215; 415), ob der erste Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation; Abrufen (220; 420) eines zweiten Datensatzes von der ersten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet; Bestimmen (225; 425), ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert erfüllt, basierend zumindest teilweise auf Abrufen des zweiten Datensatzes; und Durchführen (430) einer zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz über eine zweite Dauer basierend zumindest teilweise auf Abrufen (220; 420) des zweiten Datensatzes und Bestimmen (230), dass das Syndromgewicht den Schwellenwert erfüllt, wobei die zweite Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine zweite Anzahl von Fehlern zu identifizieren.
  11. Nichttransitorisches computerlesbares Medium nach Anspruch 10, wobei die Anweisungen durch den Prozessor ferner zu Folgendem ausführbar sind: Abrufen eines dritten Datensatzes von einer zweiten Stelle des Speichersystems (110); Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem dritten Datensatz; und Abrufen eines vierten Datensatzes von einer dritten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind.
  12. Nichttransitorisches computerlesbares Medium nach Anspruch 10 oder 11, wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung (100) ausgeführt werden, die elektronische Vorrichtung (100) ferner zu Folgendem veranlassen: Bestimmen, dass das Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, die auf einem dritten Datensatz durchgeführt wird, der von einer zweiten Stelle des Speichersystems (110) abgerufen wird, daran scheitert, den Schwellenwert zu erfüllen; Abrufen eines vierten Datensatzes von der zweiten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen; und Durchführen der ersten Art von Fehlerkontrolloperation auf dem vierten Datensatz basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen.
  13. Nichttransitorisches computerlesbares Medium nach einem der vorhergehenden Ansprüche 10 bis 12, wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung (100) ausgeführt werden, die elektronische Vorrichtung (100) ferner zu Folgendem veranlassen: Bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz.
  14. Nichttransitorisches computerlesbares Medium nach Anspruch 13, wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung (100) ausgeführt werden, die elektronische Vorrichtung (100) ferner zu Folgendem veranlassen: Übertragen einer Benachrichtigung an ein Hostsystem (105), dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet.
  15. Nichttransitorisches computerlesbares Medium nach Anspruch 13 oder 14, wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung (100) ausgeführt werden, die elektronische Vorrichtung (100) ferner zu Folgendem veranlassen: Übertragen des zweiten Datensatzes an ein Hostsystem (105) basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz daran scheitert, den einen oder die mehreren Fehler zu beinhalten.
  16. Nichttransitorisches computerlesbares Medium nach einem der vorhergehenden Ansprüche 10 bis 15, wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung (100) ausgeführt werden, die elektronische Vorrichtung (100) ferner zu Folgendem veranlassen: Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz basierend zumindest teilweise auf Abrufen des zweiten Datensatzes; und Bestimmen, dass der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz, wobei Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz zumindest teilweise auf Bestimmen basiert, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet.
  17. Nichttransitorisches computerlesbares Medium nach einem der vorhergehenden Ansprüche 10 bis 16, wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung (100) ausgeführt werden, die elektronische Vorrichtung (100) ferner zu Folgendem veranlassen: Empfangen des Lesebefehls, der einen Hinweis auf die erste Stelle beinhaltet, von einem Hostsystem (105), wobei Abrufen des ersten Datensatzes von der ersten Stelle des Speichersystems (110) zumindest teilweise auf Empfangen des Lesebefehls basiert.
  18. Nichttransitorisches computerlesbares Medium nach einem der vorhergehenden Ansprüche 10 bis 17, wobei die erste Art von Fehlerkontrolloperation eine geringere Latenz und eine geringere Fehlerkorrekturfähigkeit als die zweite Art von Fehlerkontrolloperation umfasst.
  19. Verfahren (200; 400), das Folgendes umfasst: Abrufen (205; 405) eines ersten Datensatzes von einer ersten Stelle eines Speichersystems (110) basierend zumindest teilweise auf einem Lesebefehl; Durchführen (210; 410) einer ersten Art von Fehlerkontrolloperation auf dem ersten Datensatz über eine erste Dauer basierend zumindest teilweise auf Abrufen des ersten Datensatzes, wobei die erste Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine erste Anzahl von Fehlern zu identifizieren; Bestimmen (215; 415), ob der erste Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation; Abrufen (220; 420) eines zweiten Datensatzes von der ersten Stelle des Speichersystems basierend zumindest teilweise auf Bestimmen, dass der erste Datensatz den einen oder die mehreren Fehler beinhaltet; Bestimmen (225; 425), ob ein Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, einen Schwellenwert erfüllt, basierend zumindest teilweise auf Abrufen des zweiten Datensatzes; und Durchführen (430) einer zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz über eine zweite Dauer basierend zumindest teilweise auf Abrufen (220; 420) des zweiten Datensatzes und Bestimmen (230), dass das Syndromgewicht den Schwellenwert erfüllt, wobei die zweite Art von Fehlerkontrolloperation dazu konfiguriert ist, höchstens eine zweite Anzahl von Fehlern zu identifizieren.
  20. Verfahren (200; 400) nach Anspruch 19, das ferner Folgendes umfasst: Abrufen eines dritten Datensatzes von einer zweiten Stelle des Speichersystems (110); Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem dritten Datensatz; und Abrufen eines vierten Datensatzes von einer dritten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass der eine oder die mehreren Fehler in dem dritten Datensatz nicht vorhanden sind.
  21. Verfahren (200; 400) nach Anspruch 19 oder 20, das ferner Folgendes umfasst: Bestimmen, dass das Syndromgewicht, das der ersten Art von Fehlerkontrolloperation zugeordnet ist, die auf einem dritten Datensatz durchgeführt wird, der von einer zweiten Stelle des Speichersystems (110) abgerufen wird, daran scheitert, den Schwellenwert zu erfüllen; Abrufen eines vierten Datensatzes von der zweiten Stelle des Speichersystems (110) basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen; und Durchführen der ersten Art von Fehlerkontrolloperation auf dem vierten Datensatz basierend zumindest teilweise auf Bestimmen, dass das Syndromgewicht daran scheitert, den Schwellenwert zu erfüllen.
  22. Verfahren (200; 400) nach einem der vorhergehenden Ansprüche 19 bis 21, das ferner Folgendes umfasst: Bestimmen, ob der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz.
  23. Verfahren (200; 400) nach Anspruch 22, das ferner Folgendes umfasst: Übertragen einer Benachrichtigung an ein Hostsystem (105), dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet, basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet.
  24. Verfahren (200; 400) nach Anspruch 22 oder 23, das ferner Folgendes umfasst: Übertragen des zweiten Datensatzes an ein Hostsystem (105) basierend zumindest teilweise auf Bestimmen, dass der zweite Datensatz daran scheitert, den einen oder die mehreren Fehler zu beinhalten.
  25. Verfahren (200; 400) nach einem der vorhergehenden Ansprüche 19 bis 24, das ferner Folgendes umfasst: Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz basierend zumindest teilweise auf Abrufen des zweiten Datensatzes; und Bestimmen, dass der zweite Datensatz einen oder mehrere Fehler beinhaltet, basierend zumindest teilweise auf Durchführen der ersten Art von Fehlerkontrolloperation auf dem zweiten Datensatz, wobei Durchführen der zweiten Art von Fehlerkontrolloperation auf dem zweiten Datensatz zumindest teilweise auf Bestimmen basiert, dass der zweite Datensatz den einen oder die mehreren Fehler beinhaltet.
DE102022119998.3A 2021-08-13 2022-08-09 Dynamische fehlerkontrollkonfiguration fürspeichersysteme Pending DE102022119998A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163232982P 2021-08-13 2021-08-13
US63/232,982 2021-08-13
US17/584,034 2022-01-25
US17/584,034 US11782787B2 (en) 2021-08-13 2022-01-25 Dynamic error control configuration for memory systems

Publications (1)

Publication Number Publication Date
DE102022119998A1 true DE102022119998A1 (de) 2023-02-16

Family

ID=85040178

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022119998.3A Pending DE102022119998A1 (de) 2021-08-13 2022-08-09 Dynamische fehlerkontrollkonfiguration fürspeichersysteme

Country Status (3)

Country Link
US (1) US11782787B2 (de)
CN (1) CN115705915A (de)
DE (1) DE102022119998A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11940874B2 (en) * 2022-08-08 2024-03-26 Micron Technology, Inc. Queue management for a memory system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869009B2 (en) * 2013-02-11 2014-10-21 Apple Inc. Read commands specifying error performance
JP2015053096A (ja) * 2013-09-09 2015-03-19 マイクロン テクノロジー, インク. 半導体装置、及び誤り訂正方法
US10180868B2 (en) * 2016-07-08 2019-01-15 Seagate Technology Llc Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping
TWI625735B (zh) * 2017-11-01 2018-06-01 大心電子股份有限公司 記憶體管理方法以及儲存控制器
US10998920B1 (en) * 2020-02-26 2021-05-04 Apple Inc. Overcoming saturated syndrome condition in estimating number of readout errors

Also Published As

Publication number Publication date
CN115705915A (zh) 2023-02-17
US20230052044A1 (en) 2023-02-16
US11782787B2 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
DE102022102388A1 (de) Topologiebasierte zurückziehung in einem speichersystem
DE102022102980A1 (de) Operationsstechniken der datenverlagerung
DE102022102434A1 (de) Flüchtiges Register zum Erkennen eines Stromverlusts
DE102022119340A1 (de) Auslösen einer auffrischung für einen nichtflüchtigen speicher
CN115248662A (zh) 动态超级块
DE102022119998A1 (de) Dynamische fehlerkontrollkonfiguration fürspeichersysteme
CN114822670A (zh) 有效数据感知媒体可靠性扫描
CN116897342A (zh) 存储器装置的偏压控制
DE102022120160A1 (de) Techniken zum stilllegen von blöcken eines speichersystems
DE112021000474T5 (de) Durchführung einer Medienverwaltungsoperation basierend auf einer Änderung eines Schreibmodus eines Datenblocks in einem Cache
DE102022101260A1 (de) Ereignismechanismus zur Fehlererkennung
DE102022108821A1 (de) Konfigurierbare geschwindigkeit für flush-operationen
CN113870933B (zh) 数据编程技术
CN115966242A (zh) 用于存储器系统的参数表保护
US20230068324A1 (en) Direct logical-to-physical address mapping
US20230297501A1 (en) Techniques for accessing managed nand
CN114691031A (zh) 基于分片操作的存储器系统的存取
CN114067895A (zh) 用于确定存储器单元读取偏移的技术
DE102022119848A1 (de) Techniken zur verwaltung vorübergehend stillgelegter blöcke eines speichersystems
DE102022120108A1 (de) Verbesserte datenverwaltung für speicher
DE102022109656A1 (de) Umschaltbare spurrichtungen zwischen einem hostsystem und einem speichersystem
DE102022114937A1 (de) Einstellungsumschaltung für einstufige zellen
DE102022101019A1 (de) Meldung von fehlerzuständen der vorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed