DE102022101260A1 - Ereignismechanismus zur Fehlererkennung - Google Patents

Ereignismechanismus zur Fehlererkennung Download PDF

Info

Publication number
DE102022101260A1
DE102022101260A1 DE102022101260.3A DE102022101260A DE102022101260A1 DE 102022101260 A1 DE102022101260 A1 DE 102022101260A1 DE 102022101260 A DE102022101260 A DE 102022101260A DE 102022101260 A1 DE102022101260 A1 DE 102022101260A1
Authority
DE
Germany
Prior art keywords
error condition
condition
indication
identifying
storage system
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
DE102022101260.3A
Other languages
English (en)
Inventor
Giuseppe Cariello
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 DE102022101260A1 publication Critical patent/DE102022101260A1/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/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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Es werden Verfahren, Systeme und Vorrichtungen für einen Ereignismechanismus zur Fehlererkennung beschrieben. Das Speichersystem kann einen Fehlerzustand identifizieren und an ein Hostsystem eine Meldung übermitteln, die eine erste Anzeige anzeigt, dass der Fehlerzustand im Speichersystem vorliegt. In einigen Fällen kann das Speichersystem in einem Register des Speichersystems eine zweite Anzeige setzen, die eine Art des Fehlerzustands basierend auf dem Identifizieren des Fehlerzustands anzeigt. Das Speichersystem kann ein Wiederherstellungsverfahren basierend auf der ersten Anzeige und der zweiten Anzeige ausführen.

Description

  • QUERVERWEIS
  • Die vorliegende Patentanmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 63/140,666 von Cariello mit dem Titel „ERROR DETECTION EVENT MECHANISM“, eingereicht am 22. Januar 2021.
  • TECHNISCHER BEREICH
  • Das Folgende bezieht sich im Allgemeinen auf ein oder mehrere Systeme für den Speicher und insbesondere auf einen Ereignismechanismus zur Fehlererkennung.
  • HINTERGRUND
  • Speichervorrichtungen werden häufig verwendet, um Informationen in verschiedenen elektronischen Vorrichtungen wie Computer, drahtlosen Kommunikationsvorrichtungen, Kameras, digitale Displays und dergleichen zu speichern. Informationen werden gespeichert, indem Speicherzellen in einer Speichervorrichtung in verschiedene Zustände programmiert werden. Zum Beispiel können binäre Speicherzellen auf einen von zwei unterstützten Zuständen programmiert werden, die häufig 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 von der Speicherzelle gespeichert werden kann. Um auf von einer Speichervorrichtung gespeicherte Informationen zuzugreifen, kann eine Komponente den Zustand einer oder mehrerer Speicherzellen innerhalb der Speichervorrichtung lesen oder erkennen. Um Informationen zu speichern, kann eine Komponente eine oder mehrere Speicherzellen innerhalb der Speichervorrichtung in den entsprechenden Status 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 RAM - DRAM), synchroner dynamischer Direktzugriffsspeicher (synchronous dynamic RAM - SDRAM), ferroelektrischer RAM (ferroelectric RAM - FeRAM ), magnetoresistiver Direktzugriffsspeicher (magnetoresistive RAM - MRAM), resistiver RAM (RRAM), Flash-Speicher, Phasenwechsel-Speicher (phase change memory - PCM), dreidimensionaler XPoint-Speicher (3D cross point - 3D XPoint), 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 ihren programmierten Zustand über einen längeren Zeitraum beibehalten, selbst wenn keine externe Stromquelle vorhanden ist.
  • Figurenliste
    • 1 veranschaulicht ein Beispiel für ein System, das einen Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt.
    • 2 veranschaulicht ein Beispiel eines Flussdiagramms, das den Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt.
    • 3 veranschaulicht ein Beispiel für eine Meldung, die den Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt.
    • 4 veranschaulicht ein Beispiel einer Tabelle, die den Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt.
    • 5 zeigt ein Blockdiagramm eines Speichersystems, das den Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt.
    • 6 zeigt ein Flussdiagramm, das ein oder mehrere Verfahren veranschaulicht, die den Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützen.
  • DETAILLIERTE BESCHREIBUNG
  • In einem Speichersystem kann ein Fehlerzustand auftreten, der mit dem Ausführen einer Operation des Speichersystems verbunden ist. Nachdem das Speichersystem den Fehlerzustand erkannt hat, kann das Speichersystem das Hostsystem möglicherweise nicht über den Fehlerzustand alarmieren. Wenn der Fehlerzustand eintritt, funktioniert die Software oder Firmware (oder Hardware) des Speichersystems möglicherweise nicht mehr wie erwartet (oder hat sich aufgehängt). Wenn das Speichersystem über einen längeren Zeitraum nicht die erwarteten Funktionen ausführt, kann das System in einen Time-out-Zustand eintreten und ein Wiederherstellungsverfahren auslösen. Zum Beispiel kann der Fehlerzustand (z. B. eine Meldung, die den Fehlerzustand anzeigt) nicht an das Hostsystem kommuniziert werden, sondern das Hostsystem kann eine Systemprüfung oder Abhilfemaßnahmen am Speichersystem ausführen. Sobald der Time-Out-Zustand auftritt, kann das Hostsystem Abhilfemaßnahmen ausführen (z. B. Hardware-Reset erzwingen oder einen Stromzyklus zum Speichersystems ausführen), um den Fehlerzustand zu heilen, der das Speichersystem beeinträchtigen kann. In einigen Fällen kann das Speichersystem Debug-Informationen (z. B. eine Fehlerhistorie) abrufen, um den Fehlerzustand zu identifizieren, aber das Speichersystem kann das Hostsystem möglicherweise nicht über den Fehlerzustand alarmieren. Das Identifizieren des Fehlerzustands ohne Benachrichtigen des Hostsystems kann die Effizienz des Speichersystems verringern und die Anzahl von Problemen steigern, die möglicherweise nicht behoben werden, wodurch die Gesamtleistung des Speichersystems sinkt und die Anzahl der mit dem Speichersystem verbundenen Hardware- und Softwarekomplikationen steigt.
  • Das Identifizieren von Fehlerzuständen des Speichersystems, ohne den Fehlerzustand dem Hostsystem zu kommunizieren, kann das Risiko von Hackerangriffen und anderen Beeinträchtigungen des Systems als Ganzes steigern, was eine Vielzahl von Folgen haben kann, einschließlich des Informationsdiebstahls aus dem System, des Ausfalls verschiedener Teilsysteme des Systems, das Steigern des Stromverbrauchs, das Verringern der Effizienz und der Startzeit für die Ausführung von Operationen (z. B. eine Verzögerungszeit für den Anwendungsstart) und der Verringerung der Gesamtleistung des Speichersystems. Zum Beispiel kann das Hostsystem nicht reagieren oder den Status (z. B. den Zustand) des Speichersystems nicht kennen, so dass das Speichersystem nach dem Auftreten des Fehlers weiterhin Operationen ausführen kann, wodurch die Anzahl der durch beschädigten Code und Daten verursachten Komplikationen steigt. Solche Fälle können eine Bedrohung für die Sicherheit des Speichersystems darstellen.
  • Es werden Systeme, Vorrichtungen und Techniken beschrieben, die die Sicherheit des Speichersystems verbessern und dadurch die Gesamteffizienz und den Betrieb des Speichersystems verbessern. In einigen Speichersystemen werden Techniken zur Bereitstellung einer Echtzeitaktualisierung (z. B. einer Meldung) an das Hostsystem bei Erkennung des Fehlerzustands offenbart, wodurch ein Time-out-Zustand vermieden wird, bei der das Hostsystem das Speichersystem auf Fehler überprüfen kann. Durch das Kommunizieren des Fehlerzustands kann das Hostsystem in der Lage sein, Abhilfeoperationen zu ergreifen, bevor der Time-out-Zustand auftritt, wodurch die mit einem Fehlerzustand verbundene Latenzzeit verbessert wird. Das Speichersystem kann die Meldung an das Hostsystem übermitteln, um anzuzeigen, dass der Fehlerzustand im Speichersystem vorliegt. In einigen Fällen kann das Speichersystem in einem mit dem Speichersystem verbundenen Register Informationen über eine Art des Fehlerzustands oder eine Anzeige, die anzeigt, dass ein Fehlerzustand im Speichersystem vorliegt, oder beides setzen. Das Speichersystem kann ein Wiederherstellungsverfahren ausführen, die auf der Meldung basiert, die anzeigt, dass der Fehlerzustand vorliegt und welche Art von Fehlerzustand vorliegt. In einigen Beispielen kann das Übermitteln der Meldung an das Hostsystem und das Setzen einer Information im Register die Zuverlässigkeit und Sicherheit des Speichersystems steigern, wodurch das Speichersystem oder andere Komponenten Operationen mit verbesserter Geschwindigkeit, Effizienz und Leistung ausführen können.
  • Merkmale der Offenbarung werden zunächst im Zusammenhang mit Systemen beschrieben, wie unter Bezugnahme auf 1 beschrieben. Merkmale der Offenbarung werden in den Kontextflussdiagrammen, Meldungen und Tabellen beschrieben, wie unter Bezugnahme auf 2- 4 beschrieben. Diese und andere Merkmale der Offenbarung werden ferner veranschaulicht und beschrieben unter Bezugnahme auf ein Gerätsdiagramm und ein Flussdiagramm, die sich auf den Ereignismechanismus zur Fehlererkennung beziehen, wie unter Bezugnahme auf 5- 6 beschrieben.
  • 1 veranschaulicht ein Beispiel für ein System 100, das einen Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt. Das System 100 enthält ein Hostsystem 105, das mit einem Speichersystem 110 gekoppelt ist.
  • Ein Speichersystem 110 kann eine beliebige Vorrichtung oder eine Sammlung von Vorrichtungen sein oder enthalten, wobei die Vorrichtung oder die Sammlung von Vorrichtungen mindestens ein Speicherarray enthält. Zum Beispiel, kann ein Speichersystem 110 eine Universal Flash Storage (UFS)-Vorrichtung, eine eingebettete Multi-Media-Controller (embedded multi-media controller - eMMC)-Vorrichtung, eine Flash-Vorrichtung, eine Universal Serial Bus (USB)- Flash-Vorrichtung, eine SD-Karte (Secure Digital - SD), ein Solid-State-Laufwerk (solid-state drive - SSD), eine Festplatte (hard disk drive - HDD), ein Dual in-Line-Memorymodul (DIMM), ein Small Outline DIMM (SO-DINIM) oder ein nichtflüchtiges DIMM (non-volatile DIMM - NVDIMM) sein oder enthalten, neben anderen Möglichkeiten.
  • Das System 100 kann in einer Computervorrichtung wie 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 anderen Computervorrichtung, die einen Speicher und eine Verarbeitungsvorrichtung enthält, enthalten sein.
  • Das System 100 kann ein Hostsystem 105 enthalten, das mit dem Speichersystem 110 gekoppelt sein kann. In einigen Beispielen kann diese Kopplung eine Schnittstelle mit einem Hostsystem-Controller 106 enthalten, der ein Beispiel für eine Steuerkomponente sein kann, die so konfiguriert ist, dass sie das Hostsystem 105 veranlasst, verschiedene Operationen gemäß den hier beschriebenen Beispielen auszuführen. Das Hostsystem 105 kann ein oder mehrere Vorrichtungen enthalten und kann in einigen Fällen einen Prozessor-Chipsatz und einen vom Prozessor-Chipsatz ausgeführten Softwarestapel enthalten. Zum Beispiel kann das Hostsystem 105 eine Anwendung enthalten, die für das Kommunizieren mit dem Speichersystem 110 oder einer sich darin befindlichen Vorrichtung konfiguriert ist. Der Prozessor-Chipsatz kann einen oder mehrere Kerne, einen oder mehrere Caches (z. B. einen lokalen oder im Hostsystem 105 enthaltenen Speicher), einen Speicher-Controller (z. B. NVDIMM-Controller) und einen Speicherprotokoll-Controller (z. B. Peripheral Component Interconnect Express (PCIe)- Controller), einen Serial Advanced Technology Attachment (SATA)- Controller enthalten. 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 ein Speichersystem 110 in 1 gezeigt wird, kann das Hostsystem 105 mit einer beliebigen Anzahl von Speichersystemen 110 gekoppelt werden.
  • Das Hostsystem 105 kann über mindestens eine physische Host-Schnittstelle mit dem Speichersystem 110 verbunden sein. Das Hostsystem 105 und das Speichersystem 110 können in einigen Fällen so konfiguriert sein, dass sie über eine physische Host-Schnittstelle unter Verwendung eines zugehörigen Protokolls 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 Host-Schnittstelle können, ohne darauf beschränkt zu sein, eine SATA-Schnittstelle, eine UFS-Schnittstelle, eine eMMC-Schnittstelle, eine PCIe-Schnittstelle, eine USB-Schnittstelle, eine Fibre-Channel-Schnittstelle, eine SCSI-Schnittstelle (Small Computer System Interface), eine SAS-Schnittstelle (Serial Attached SCSI), eine DDR-Schnittstelle (Double Data Rate), eine DIMM-Schnittstelle (z. B. DIMM-Sockelschnittstelle, die DDR unterstützt), eine ONFI-Schnittstelle (Open NAND Flash Interface) und eine LPDDR-Schnittstelle (Low Power Double Data Rate) enthalten. In einigen Beispielen können eine oder mehrere solcher Schnittstellen in einem Hostsystem-Controller 106 des Hostsystems 105 und einem Speichersystem-Controller 115 des Speichersystems 110 enthalten sein oder auf andere Weise unterstützt werden. In einigen Beispielen kann das Hostsystem 105 mit dem Speichersystem 110 (z. B. kann der Hostsystem-Controller 106 mit dem Speichersystem-Controller 115 gekoppelt sein) über eine entsprechende physikalische Host-Schnittstelle für jede im Speichersystem 110 enthaltene Speichervorrichtung 130 oder über eine entsprechende physikalische Host-Schnittstelle für jeden im Speichersystem 110 enthaltenen Art von Speichervorrichtung 130 gekoppelt sein.
  • Das Speichersystem 110 kann einen Speichersystem-Controller 115 und ein oder mehrere Speichervorrichtungen 130 enthalten. 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) enthalten. Obwohl zwei Speichervorrichtungen 130-a und 130-b im Beispiel von 1 gezeigt werden, kann das Speichersystem 110 eine beliebige Anzahl von Speichervorrichtungen 130 enthalten. Ferner können, wenn das Speichersystem 110 mehr als eine Speichervorrichtung 130 enthält, verschiedene Speichervorrichtungen 130 innerhalb des Speichersystems 110 die gleichen oder unterschiedliche Typen von Speicherzellen enthalten.
  • Der Speichersystem-Controller 115 kann mit dem Hostsystem 105 gekoppelt sein und mit diesem kommunizieren (z. B. über die physikalische Host-Schnittstelle) und kann ein Beispiel für eine Steuerkomponente sein, die so konfiguriert ist, dass sie das Speichersystem 110 veranlasst, verschiedene Operationen gemäß den hier beschriebenen Beispielen auszuführen. Der Speichersystem-Controller 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 solchen Operationen - auszuführen, die allgemein als Zugriffsoperationen bezeichnet werden können. In einigen Fällen kann der Speichersystem-Controller 115 Befehle vom Hostsystem 105 empfangen und mit einer oder mehreren Speichervorrichtungen 130 kommunizieren, um solche Befehle auszuführen (z. B. in Speicherarrays innerhalb der einen oder mehreren Speichervorrichtungen 130). Zum Beispiel kann der Speichersystem-Controller 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 Speichervorrichtung 130 zu erreichen. In einigen Fällen kann der Speichersystem-Controller 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 der Speichersystem-Controller 115 Antworten (z. B. Datenpakete oder andere Signale), die mit den Speichervorrichtungen 130 verbunden sind, in entsprechende Signale für das Hostsystem 105 umwandeln.
  • Der Speichersystem-Controller 115 kann für andere Operationen im Zusammenhang mit den Speichervorrichtungen 130 konfiguriert werden. Zum Beispiel kann der Speichersystem-Controller 115 Operationen wie Verschleißausgleichsoperationen, Garbage-Collection-Operationen, Fehlerkontrolloperationen wie Fehlererkennungsoperationen oder Fehlerkorrekturoperationen, Verschlüsselungsoperationen, Caching-Operationen, Medienverwaltungsoperationen, Hintergrundauffrischung, Zustandsüberwachung und Adressübersetzungen zwischen logischen Adressen (z. B. logischen Blockadressen (logical block addresses - 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.
  • Der Speichersystem-Controller 115 kann Hardware wie eine oder mehrere integrierte Schaltungen oder diskrete Komponenten, einen Pufferspeicher oder eine Kombination daraus enthalten. Die Hardware kann Schaltungen mit dedizierter (z. B. hartcodierter) Logik enthalten, um die hier dem Speichersystem-Controller 115 zugeschriebenen Operationen auszuführen. Der Speichersystem-Controller 115 kann ein Mikrocontroller, Logikschaltungen für spezielle Zwecke (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 andere geeignete Prozessor- oder Verarbeitungsschaltung sein oder enthalten.
  • Der Speichersystem-Controller 115 kann auch einen lokalen Speicher 120 enthalten. In einigen Fällen kann der lokale Speicher 120 einen Nur-Lese-Speicher (ROM) oder einen anderen Speicher enthalten, der den vom Speichersystem-Controller 115 ausführbaren Operationscode (z. B. ausführbare Anweisungen) speichern kann, um Funktionen auszuführen, die dem Speichersystem-Controller 115 hierin zugewiesen werden. In einigen Fällen kann der lokale Speicher 120 zusätzlich oder alternativ auch statischen Direktzugriffsspeicher (static random access memory - SRAM) oder anderen Speicher enthalten, der vom Speichersystem-Controller 115 für interne Speicherungen oder Berechnungen verwendet werden kann, zum Beispiel im Zusammenhang mit den hier dem Speichersystem-Controller 115 zugeschriebenen Funktionen. Zusätzlich oder alternativ kann der lokale Speicher 120 als Cache für den Speichersystem-Controller 115 dienen. Zum Beispiel können Daten im lokalen Speicher 120 gespeichert werden, wenn sie von einer Speichervorrichtung 130 gelesen oder in diese geschrieben werden 130, 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 im Vergleich zu einer Speichervorrichtung 130) gemäß einer Cache-Richtlinie verfügbar sein.
  • Obwohl das Beispiel des Speichersystems 110 in 1 mit dem enthaltenen Speichersystem-Controller 115 veranschaulicht ist, kann ein Speichersystem 110 in einigen Fällen keinen Speichersystem-Controller 115 enthalten. Zum Beispiel kann das Speichersystem 110 zusätzlich oder alternativ auf einen externen Controller (z. B. implementiert durch das Hostsystem 105) oder einen oder mehrere lokale Controller 135 zurückgreifen, die jeweils innenliegend in den Speichervorrichtungen 130 sein können, um die hierin dem Speichersystem-Controller 115 zugeschriebenen Funktionen auszuführen. Im Allgemeinen können eine oder mehrere Funktionen, die hierin dem Speichersystem-Controller 115 zugeschrieben werden, in einigen Fällen stattdessen von dem Hostsystem 105, einem lokalen Controller 135 oder einer beliebigen Kombination davon ausgeführt werden. In einigen Fällen kann eine Speichervorrichtung 130, die zumindest zum Teil von einem Speichersystem-Controller 115 verwaltet wird, als verwaltete Speichervorrichtung bezeichnet werden. Ein Beispiel für eine verwaltete Speichervorrichtung ist eine verwaltete NAND-Vorrichtung (managed NAND - MNAND).
  • Eine Speichervorrichtung 130 kann ein oder mehrere Arrays nichtflüchtiger Speicherzellen enthalten. Zum Beispiel kann eine Speichervorrichtung 130 NAND-Speicher (z. B. NAND-Flash), ROM, Phasenwechselspeicher (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), oxidbasierter RRAM (oxid based RRAM - OxRAM), elektrisch überschreibbaren ROM (electrically erasable programmable ROM - EEPROM) oder eine beliebige Kombination davon enthalten. Zusätzlich oder alternativ kann eine Speichervorrichtung 130 ein oder mehrere Arrays von flüchtigen Speicherzellen enthalten. Zum Beispiel kann eine Speichervorrichtung 130 RAM-Speicherzellen wie dynamische RAM-Speicherzellen (dynamic RAM - DRAM) und synchrone DRAM-Speicherzellen (synchronous DRAM - SDRAM) enthalten.
  • In einigen Beispielen kann eine Speichervorrichtung 130 einen lokalen Controller 135 enthalten (z. B. auf einer gleichen Matrize oder innerhalb eines gleichen Pakets), der Operationen auf einer oder mehreren Speicherzellen der jeweiligen Speichervorrichtung 130 ausführen kann. Ein lokaler Controller 135 kann in Verbindung mit einem Speichersystem-Controller 115 betrieben werden oder eine oder mehrere Funktionen ausführen, die dem Speichersystem-Controller 115 zugewiesen sind. Zum Beispiel kann, wie in 1 veranschaulicht, eine Speichervorrichtung 130-a einen lokalen Controller 135-a enthalten und eine Speichervorrichtung 130-b einen lokalen Controller 135-b enthalten.
  • In einigen Fällen kann eine Speichervorrichtung 130 eine NAND-Vorrichtung sein oder enthalten (z. B. NAND-Flash-Vorrichtung). Eine Speichervorrichtung 130 kann einer Speichermatrize 160 sein oder enthalten. In einigen Fällen kann die Speichervorrichtung 130 beispielsweise ein Paket sein, das eine oder mehrere Matrizen 160 enthält. Eine Matrize 160 kann in einigen Beispielen ein aus einem Wafer geschnittenes Stück eines Halbleiters in Elektronikqualität sein (z. B. eine aus einem Siliziumwafer geschnittene Siliziummatrize). Jede Matrize 160 kann eine oder mehrere Ebenen 165 enthalten, und jede Ebene 165 kann einen entsprechenden Satz von Blöcken 170 enthalten, wobei jeder Block 170 einen entsprechenden Satz von Seiten 175 enthalten kann, und jede Seite 175 kann einen Satz von Speicherzellen enthalten.
  • In einigen Fällen kann eine NAND-Speichervorrichtung 130 Speicherzellen enthalten, die so konfiguriert sind, dass sie jeweils ein Bit an Informationen speichern, was als Single-Level-Zellen (SLCs) bezeichnet werden kann. Zusätzlich oder alternativ kann eine NAND-Speichervorrichtung 130 Speicherzellen enthalten, die so konfiguriert sind, dass sie jeweils mehrere Bits an Informationen speichern, die als Multi-Level-Zellen (MLC) bezeichnet werden, wenn sie so konfiguriert sind, dass sie jeweils zwei Bits an Informationen speichern, als Tri-Level-Zellen (TLC), wenn sie so konfiguriert sind, dass sie jeweils drei Bits an Informationen speichern, als Quad-Level-Zellen (QLC), wenn sie so konfiguriert sind, dass sie jeweils vier Bits an Informationen 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 verschiedenen Ebenen 165 stattfinden. Zum Beispiel können gleichzeitige Operationen an Speicherzellen in verschiedenen Blöcken 170 ausgeführt werden, solange sich die verschiedenen Blöcke 170 in verschiedenen Ebenen 165 befinden. In einigen Fällen kann das Ausführen gleichzeitiger Operationen in verschiedenen Ebenen 165 einer oder mehreren Einschränkungen unterliegen, wie der Ausführung identischer Operationen an Speicherzellen innerhalb verschiedener Seiten 175, die dieselbe Seitenadresse in ihren jeweiligen Ebenen 165 haben (z. B. in Bezug auf die Befehlsdekodierung, die Schaltung zur Dekodierung der Seitenadresse oder andere Schaltungen, die über die Ebenen 165 hinweg gemeinsam genutzt werden).
  • In einigen Fällen kann ein Block 170 Speicherzellen enthalten, die in Zeilen (Seiten 175) und Spalten (z. B. Strings, nicht dargestellt) organisiert 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 Einheit des Speichers (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 Einheit des Speichers (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 beispielsweise eine benutzte Seite 175 in manchen Fällen erst dann aktualisiert werden, wenn der gesamte Block 170, der die Seite 175 enthält, gelöscht worden ist.
  • Das System 100 kann eine beliebige Anzahl nicht-transitorischer, computerlesbarer Medien enthalten, die einen Ereignismechanismus zur Fehlererkennung unterstützen. Zum Beispiel können das Hostsystem 105, der Speichersystem-Controller 115 oder eine Speichervorrichtung 130 ein oder mehrere nicht-transitorische computerlesbare Medien enthalten oder anderweitig darauf zugreifen, die Befehle (z. B. Firmware) zur Ausführung der Funktionen speichern, die hierin dem Hostsystem 105, dem Speichersystem-Controller 115 oder der Speichervorrichtung 130 zugeschrieben werden. Zum Beispiel können solche Befehle, wenn sie vom Hostsystem 105 (z. B. vom Hostsystem-Controller 106), vom Speichersystem-Controller 115 oder von einer Speichervorrichtung 130 (z. B. von einem lokalen Controller 135) ausgeführt werden, das Hostsystem 105, den Speichersystem-Controller 115 oder die Speichervorrichtung 130 veranlassen, eine oder mehrere zugehörige Funktionen, wie hier beschrieben, auszuführen.
  • In einigen Fällen kann ein Speichersystem 110 einen Speichersystem-Controller 115 verwenden, um ein verwaltetes Speichersystem bereitzustellen, das beispielsweise ein oder mehrere Speicherarrays und zugehörige Schaltungen in Kombination mit einem lokalen (z. B. On-Matrize- oder In-Paket-) Controller (z. B. lokaler Controller 135) enthalten kann. Ein Beispiel für ein verwaltetes Speichersystem ist ein verwaltetes NAND-System (MNAND).
  • Das Speichersystem kann ein Register 180 enthalten. In einigen Fällen kann das Register 180 eine Anzeige (z. B. eine erste Anzeige) speichern, die anzeigt, dass am Speichersystem 110 ein Fehlerzustand vorliegt. Das Register 180 kann eine Anzeige (z. B. eine zweite Anzeige) speichern, die eine Art von Fehlerzustand anzeigt, der am Speichersystem 110 vorliegt. Das Register 180 kann mit dem Speichersystem-Controller 115 gekoppelt werden und mit ihm kommunizieren. Auf das Register 180 kann das Hostsystem 105 zugreifen, so dass die Informationen im Register 180 sowohl vom Hostsystem 105 als auch vom Speichersystem 110 gelesen werden können. In einigen Fällen kann das Register 180 durch das Hostsystem 105, das Speichersystem 110 oder beide beschrieben werden.
  • In anderen Systemen wird der Fehlerzustand möglicherweise nicht an das Hostsystem 105 kommuniziert, sondern das Hostsystem 105 kann während eines Time-Out-Zustands eine Systemprüfung des Speichersystems 110 ausführen. Sobald der Time-Out-Zustand auftritt, kann das Hostsystem 105 Abhilfemaßnahmen ausführen (z. B. einen Stromzyklus für das Speichersystem 110), um den Fehlerzustand zu beheben. In solchen Fällen kann der Time-out-Zustand dem Hostsystem 105 anzeigen, dass das Hostsystem 105 das Speichersystem 110 auf Fehler überprüft. In einigen Fällen kann der Time-out-Zustand dem Hostsystem 105 anzeigen, dass ein Befehl während der Übermittlung abgebrochen wird, um so die Ausführung der Operation zu verhindern.
  • Das Ausführen von Systemprüfungen und Abhilfemaßnahmen, ohne den Fehlerzustand zu identifizieren, kann die Effizienz des Speichersystems 110 verringern, wodurch die Gesamtleistung des Speichersystems 110 sinkt. In einigen Fällen kann das Speichersystem 110 den mit dem Fehlerzustand verknüpften Code nicht blockieren. In solchen Fällen können Techniken erwünscht sein, um ein Protokoll zu verwalten und den Code daran zu hindern, ein Unterbrechungssignal (z. B. eine Meldung), das den Fehlerzustand anzeigt, an das Hostsystem 105 zu senden.
  • In einigen Beispielen kann das Speichersystem 110 das Vorhandensein eines bestimmten Zustands (z. B. eines Fehlerzustands) kommunizieren, der die Leistung des Speichersystems 110 beeinträchtigen kann. Zum Beispiel kann das Speichersystem 110 einen Fehlerzustand des Speichersystems 110 identifizieren. Der Fehlerzustand kann mit der Ausführung einer Operation verbunden sein (z. B. hohe oder niedrige Temperatur, Schreibbooster voll usw.). Das Speichersystem 110 kann eine Meldung an das Hostsystem 105 übermitteln, die einen ersten Hinweis darauf gibt, dass der Fehlerzustand im Speichersystem vorliegt. Zum Beispiel kann das Speichersystem 110 ein Ereignisalarm-Bit setzen und zusätzliche Informationen, die mit dem Ereignisalarm-Bit verbunden sind, in ein Register hochladen. Alternativ kann das Speichersystem 110 ein Ereignisalarm-Bit im Register 180 setzen und die separate Meldung nicht senden (z. B. über einen Kanal). Als Reaktion auf die Identifizierung des Fehlerzustands und das Übermitteln der Meldung kann das Speichersystem 110 in dem dem Speichersystem 110 zugeordneten Register 180 eine zweite Anzeige setzen, die eine Art des Fehlerzustands anzeigt. Das Speichersystem 110 kann ein Wiederherstellungsverfahren basierend auf der ersten Anzeige und der zweiten Anzeige ausführen. Das Wiederherstellungsverfahren kann ein Beispiel für einen Stromzyklus sein. Durch das Übermitteln der Meldung an das Hostsystem 105 und das Setzen des Registers 180 kann das Speichersystem 110 die Wiederherstellungszeiten als Reaktion auf einen Fehlerzustand verlängern und die Effizienz bei der Vermeidung künftiger Fehlerzustände erhöhen.
  • 2 veranschaulicht ein Beispiel eines Flussdiagramms 200 das einen Ereignismechanismus zur Fehlererkennung gemäß den hierin offenbarten Beispielen unterstützt. Das Flussdiagramm 200 kann ein Hostsystem 205 und ein Speichersystem 210 enthalten, die entsprechenden Beispiele für ein Hostsystem 105 und ein Speichersystem 110 sein können, wie unter Bezugnahme auf 1 beschrieben. Es können alternative Beispiele für die folgenden Schritte umgesetzt werden, bei denen einige Schritte in einer anderen Reihenfolge oder gar nicht ausgeführt werden. Einige Schritte können außerdem zusätzliche, im Folgenden nicht erwähnte Merkmale enthalten. Das Flussdiagramm 200 veranschaulicht Techniken, bei denen ein Hostsystem 205 Fehlerzustände an das Speichersystem 210 kommuniziert.
  • Aspekte des Flussdiagramms 200 können unter anderem durch einen Controller implementiert werden. Zusätzlich oder alternativ können Aspekte des Flussdiagramms 200 als Anweisungen implementiert werden, die in einem Speicher gespeichert sind (z. B. Firmware, die in einem mit dem Speichersystem 210 gekoppelten Speicher gespeichert ist). Zum Beispiel können die Anweisungen, wenn sie von einem Controller (z. B. dem Speichersystem-Controller 115) ausgeführt werden, den Controller veranlassen, die Operationen des Flussdiagramms 200 auszuführen.
  • Eine Herausforderung bei einigen Speichersystemen besteht darin, dass das Speichersystem nicht mehr auf ein Hostsystem reagiert. Wenn das Speichersystem nicht mehr reagiert, kann das Hostsystem Time-out-Operationen implementieren (z. B. eine Reset-Operation oder einen Stromzyklus), um das Speichersystem zurückzusetzen und mit den normalen Operationen fortzufahren. Speichersysteme können aus einer Vielzahl von Gründen nicht mehr reagieren, z. B. wenn die Firmware hängt, eine Hardware-Ausnahme auftritt, ein kritischer Betriebszustand des Speichersystems oder ein fataler Fehler im Speichersystem vorliegt oder eine Kombination davon.
  • Bei einigen Fehlerzuständen kann das Speichersystem so konfiguriert sein, dass es Informationen über den Fehler an das Hostsystem kommuniziert. In solchen Beispielen können Abhilfemaßnahmen oder Änderungen der anderen Operationen implementiert werden, um das Problem des Speichersystems zu beheben oder dem Speichersystem zu helfen, zukünftige Probleme, die ähnlich sein könnten, zu vermeiden. In einigen Beispielen kann es jedoch eine Reihe von Fehlerzuständen geben, für die das Speichersystem nicht so konfiguriert sein kann, dass es Informationen an das Hostsystem kommuniziert (z. B. wenn die Firmware hängt, eine Hardware-Ausnahme auftritt, ein kritischer Betriebszustand des Speichersystems oder ein fataler Fehler im Speichersystem vorliegt oder eine Kombination davon). Es werden Techniken zum Kommunizieren von Informationen über bestimmte Fehlerzustände vom Speichersystem an das Hostsystem bereitgestellt. In einigen Beispielen kann eine Meldung (z. B. eine UPIU-Meldung) so konfiguriert werden, dass sie einen Hinweis darauf enthält, dass ein Fehlerzustand aufgetreten ist, und ein Register kann mit Informationen über den Fehlerzustand geladen werden.
  • In manchen Fällen werden Fehlerzustände nicht an das Hostsystem 205 kommuniziert, sondern das Hostsystem 205 kann auf einen Time-Out-Zustand warten, um ein Problem zu überprüfen. Um die Ineffizienzen zu beheben, die mit der Umgehung der Kommunikation mit dem Hostsystem 205 bezüglich des Fehlerzustands verbunden sind, kann das Speichersystem 210 dem Hostsystem 205 kommunizieren, dass das Speichersystem 210 den Fehlerzustand identifiziert hat. Zum Beispiel, wenn die Spannung des Speichersystems 210 unter einen Schwellenwert fällt, kann das Speichersystem 210 einen Hinweis an das Hostsystem 205 übermitteln und einen Hinweis in einem Register des Speichersystems 210 setzen. In solchen Fällen kann das Speichersystem 210 den Fehlerzustand zum Zeitpunkt des Auftretens beheben und das Auftreten künftiger Fehlerzustände verhindern.
  • Bei 215 kann ein Fehlerzustand identifiziert werden. Zum Beispiel kann das Speichersystem 210 den Fehlerzustand identifizieren. Der Fehlerzustand kann ein Beispiel für eine dem Speichersystem 210 zugeordnete Hardwareausnahme, einem aufgehängten Zustand der Firmware des Speichersystems 210, einen Betriebszustand des Speichersystems 210, der einen Schwellenwert erfüllt, einen dem Speichersystem 210 zugeordneten Fehler oder eine Kombination davon sein. Zum Beispiel kann der Betriebszustand des Speichersystems 210 über oder unter dem Schwellenwert liegen. In einigen Fällen kann der Fehlerzustand ein Beispiel für eine Kapazitätsoperation des Speichersystems 210, eine Ressourcenbegrenzung des Speichersystems 210, eine Hintergrundoperation, eine Temperaturerfassungsoperation, eine Flush-Operation oder eine Kombination davon sein. Zum Beispiel kann die Temperaturerfassungsoperation eine Temperatur erkennen, die über oder unter einem Schwellenwert liegt.
  • Das Arbeitsspeichersystem 210 kann den Fehlerzustand erkennen und Informationen im Zusammenhang mit dem Fehlerzustand identifizieren als Reaktion auf das Identifizieren des Fehlerzustands. Die mit dem Fehlerzustand verbundenen Informationen können eine Zeit, zu der der Fehlerzustand auftrat, eine Dauer des Fehlerzustands, eine Temperatur des Speichersystems 210 oder eine Kombination davon enthalten. In solchen Fällen kann das Speichersystem 210 den Fehlerzustand erkennen und zusätzliche Informationen erkennen, die mit dem Fehlerzustand verbunden sind (d. h. Temperatur, Zeit, Dauer), um zusätzliche Informationen an das Hostsystem 205 zu übermitteln.
  • In einigen Beispielen kann der Fehlerzustand ein Beispiel für einen Bitfehler aufgrund von Rauschen im Speichersystem 210 sein. Zum Beispiel kann das Speichersystem 210 ein Flip-Bit erkennen, das durch einen Fehlererkennungscode (error detection code - ECC) nicht wiederhergestellt werden kann. In anderen Beispielen kann der Fehlerzustand ein Beispiel für einen Schwellenwert für eine Spannungserfassung sein. Zum Beispiel kann die Stromversorgung unterhalb eines Schwellenwerts liegen. In solchen Fällen kann das Speichersystem 210 ein Interrupt (z. B. eine Meldung) an das Hostsystem 205 senden, die den Fehlerzustand anzeigt.
  • Bei 220 kann ein Time-out-Zustand identifiziert werden. In einigen Beispielen kann das Hostsystem 205 den Time-out-Zustand als Reaktion darauf identifizieren, dass das Speichersystem 210 mindestens eine erwartete Operation für eine bestimmte Zeitdauer nicht ausführt (z. B. ein Time-Out-Timer abläuft). Zum Beispiel kann das Hostsystem 205 eine Meldung (z. B. eine Antwort) vom Speichersystem 210 nicht innerhalb einer bestimmten Zeitspanne empfangen, und das Hostsystem 205 kann bestimmen, dass das Speichersystem 210 Probleme hat oder ein Fehlerzustand aufgetreten ist. In einigen Fällen kann der Time-Out Zustand unabhängig vom Identifizieren auftreten, ob das Speichersystem einen Fehlerzustand identifiziert. In einigen Beispielen kann ein Hostsystem 205 einen Time-Out-Timer unterhalten, der nach dem Auftreten einer oder mehrerer Operationen zurückgesetzt werden kann. Während des normalen Betriebs des Speichersystems kann der Time-Out-Timer also nicht ablaufen, da er relativ häufig zurückgesetzt wird. Wenn der Time-Out-Timer nicht zurückgesetzt wird, kann das Hostsystem 105 nach Ablauf des Timers (z. B. des Time-Out-Zustands) einen Befehl zum Zurücksetzen des Speichersystems 210 oder zum Starten des Stromzyklus erteilen. In einigen Beispielen kann das Speichersystem 210 den Time-Out-Zustand als Reaktion auf die Identifizierung des Fehlerzustands identifizieren.
  • Nach dem Auftreten des Time-out-Zustands kann das Hostsystem 205 Abhilfemaßnahmen ausführen (z. B. einen Stromzyklus für das Speichersystem 210 ausführen), um die Zustände zu beheben, die die Leistung des Speichersystems 210 beeinträchtigen. Das Hostsystem 205 kann sich jedoch des Zustandes, der den Time-Out-Zustand verursacht hat, nicht bewusst sein. In einigen Fällen wird der Fehlerzustand dem Hostsystem 205 nicht kommuniziert, sondern das Hostsystem 205 führt den Time-Out-Zustand aus (z. B. einen Stromausfall), um das Speichersystem 210 aufzufrischen und ein Wiederherstellungsverfahren für das Speichersystem 210 auszuführen.
  • Bei 225 kann eine Meldung übermittelt werden. Zum Beispiel kann das Speichersystem 210 als Reaktion auf die Identifizierung des Fehlerzustands die Meldung, die einen ersten Hinweis auf das Vorhandensein des Fehlerzustands enthält, an das Hostsystem 205 übermitteln. In einigen Fällen kann das Speichersystem 210 die Meldung als Reaktion auf den Eintritt in den Timeout-Zustand übermitteln. In solchen Fällen kann das Hostsystem 205 von dem Speichersystem 210 die Meldung empfangen, die den ersten Hinweis anzeigt. Das Speichersystem 210 kann in dem dem Speichersystem 210 zugeordneten Register als Reaktion auf die Identifizierung des Fehlerzustands die erste Anzeige setzen. Das Speichersystem 210 kann die Meldung als Reaktion auf das Setzen des ersten Hinweises übermitteln.
  • Die Meldung kann ein Informationsfeld (z. B. ein Vorrichtungsinformationsfeld) enthalten, das den ersten Hinweis anzeigt. Der erste Hinweis kann ein Ereignisalarm-Bit enthalten. Beispielsweise kann das Ereignisalarm-Bit auf „1“ gesetzt werden, um anzuzeigen, dass der Fehlerzustand im Speichersystem 210 vorliegt. In anderen Beispielen kann das Ereignisalarm-Bit auf „0“ gesetzt werden, um anzuzeigen, dass der Fehlerzustand im Speichersystem 210 nicht vorhanden ist. In solchen Fällen kann das Speichersystem 210 das Ereignisalarm-Bit setzen (z. B. Bit 0 im Vorrichtungsinformationsfeld der Meldung), um eine ausbleibende Antwort auf einen ausstehenden oder künftigen Befehl des Hostsystems 205 auszulösen. Die Meldung kann dann über einen Bus vom Speichersystem 210 und an das Hostsystem 205 übermittelt werden, nachdem das Speichersystem 210 die erste Angabe im Register gesetzt hat.
  • Bei 230 kann eine zweite Anzeige gesetzt werden. Zum Beispiel kann das Speichersystem 210 als Reaktion auf die Identifizierung des Fehlerzustands die zweite Anzeige im Register setzen. Die zweite Anzeige kann eine Art des Fehlerzustands anzeigen. In einigen Fällen kann die zweite Anzeige die mit dem Fehlerzustand verbundenen Informationen anzeigen. Zum Beispiel kann ein Bit gesetzt werden, um die Art des Fehlerzustands und die mit dem Fehlerzustand verbundenen Informationen anzuzeigen. In einigen Beispielen kann die zweite Anzeige als Reaktion auf das Übermitteln der Meldung gesetzt werden. In einigen Beispielen kann die zweite Anzeige vor dem Übermitteln der Meldung gesetzt werden.
  • Die im Register gesetzte Information kann ein Auftreten des aufgehängten Zustands der Firmware des Speichersystems, ein Auftreten der dem Speichersystem zugeordneten Hardware-Ausnahme, ein Auftreten eines Betriebszustands (z. B. eines kritischen Betriebszustands) des Speichersystems und ein Auftreten eines dem Speichersystem zugeordneten Fehlers anzeigen. In einigen Fällen können die im Register eingestellten Informationen das Auftreten einer Kapazitätsoperation des Speichersystems, das Auftreten einer Ressourcenbegrenzung des Speichersystems, das Auftreten einer Hintergrundoperation, das Auftreten einer Temperaturerfassungsoperation, das Auftreten einer Flush-Operation oder eine Kombination davon anzeigen.
  • In einigen Fällen kann das Speichersystem 210 als Reaktion auf die Identifizierung des Fehlerzustands Debugging-Informationen aus einem Fehlerhistorienbericht des Speichersystems abrufen. In solchen Fällen kann das Speichersystem 210 die zweite Anzeige als Reaktion auf das Abrufen der Debugging-Informationen setzen. Die mit dem Fehlerzustand verbundenen Informationen können ein Beispiel für die Debugging-Informationen sein. Zum Beispiel kann das Speichersystem 210 erkennen, dass ein verspäteter oder fehlender Befehl vom Hostsystem 205 oder ein mit dem Speichersystem 210 verbundenes Rauschen erkannt wird. In solchen Fällen kann das Speichersystem 210 ein Verlaufsprotokoll von Ereignissen (z. B. Fehlerzuständen) abrufen, die in einem gemeinsamen Speicher des Speichersystems 210 gespeichert sind. Das Verlaufsprotokoll kann enthalten, wie oft das Speichersystem 210 Daten wiederhergestellt hat oder wie oft das Speichersystem 210 aufgefrischt wurde.
  • Bei 235 kann ein sicherer Betriebsmodus eingeleitet werden. In einigen Beispielen kann das Speichersystem 210 als Reaktion auf das Übermitteln der Meldung in den sicheren Betriebsmodus eintreten. In einigen Beispielen kann das Speichersystem 210 in den sicheren Betriebsmodus eintreten, bevor die Meldung übermittelt und der Fehlerzustand identifiziert wird. Der sichere Betriebsmodus kann ein Beispiel für eine Zeitspanne sein, in der das Speichersystem 210 von der Ausführung einer Operation absieht. In solchen Fällen können die Operationsmöglichkeiten des Speichersystems 210 eingeschränkt sein. Zum Beispiel kann das Speichersystem 210 als Reaktion auf das Einleiten des sicheren Betriebsmodus von der Ausführung der Operation absehen. Die Firmware des Speichersystems 210 kann den sicheren Betriebsmodus einleiten, nachdem sie die Meldung, die die erste Anzeige anzeigt, an das Hostsystem 205 übermittelt und in dem Register die zweite Anzeige gesetzt hat. Indem das Speichersystem 210 einen sicheren Betriebsmodus einleitet, können eine Beschädigung des SRAM, ein Spannungsabfall oder andere Fehlerzustände eingedämmt werden, um weitere Schäden (z. B. eine Beschädigung) am Speichersystem 210 zu verhindern. In anderen Beispielen können das Hostsystem 205 und das Speichersystem 210 weiterhin über einen sicheren Pfad (z. B. einen sicheren Betriebsmodus) kommunizieren, während der Fehlerzustand auftritt.
  • Bei 240 kann eine Meldung empfangen werden. Zum Beispiel kann das Speichersystem 210 vom Hostsystem 205 den Befehl zum Verlassen des sicheren Betriebsmodus empfangen. In solchen Fällen kann das Hostsystem 205 den Befehl zum Verlassen des sicheren Betriebsmodus nach Ablauf einer bestimmten Zeitspanne übermitteln.
  • Bei 245 kann der sichere Betriebsmodus verlassen werden. Zum Beispiel kann das Speichersystem 210 den sicheren Betriebsmodus als Reaktion auf den Empfang des Befehls beenden. In einigen Fällen kann das Speichersystem 210 den sicheren Modus als Reaktion auf den Eintritt des Speichersystems 210 in einen Stromzyklus verlassen. Beispielsweise kann das Hostsystem 205 die Stromversorgung des Speichersystems 210 unterbrechen und damit einen Stromzyklus innerhalb des Speichersystems 210 einleiten.
  • Bei 250 kann ein Wiederherstellungsverfahren ausgeführt werden. Zum Beispiel kann das Speichersystem 210 das Wiederherstellungsverfahren als Reaktion auf das Übermitteln der ersten Anzeige und das Setzen der zweiten Anzeige im Register ausführen. In einigen Fällen kann das Speichersystem 210 das Wiederherstellungsverfahren in Reaktion auf das Verlassen des sicheren Betriebsmodus ausführen.
  • In einigen Fällen kann der Fehlerzustand ein kritischer Fehlerzustand sein. Der kritische Fehlerzustand kann ein Beispiel für einen NAND-Fehler, eine Software-Anomalie, einen Fehler der physikalischen Schicht oder eine Kombination davon sein. Der kritische Fehlerzustand darf den Betrieb der Firmware nicht verhindern (z. B. die Fortsetzung von Operationen durch die Firmware ermöglichen). In einigen Fällen können das Speichersystem 210 und das Hostsystem 205 in der Lage sein, den kritischen Fehlerzustand zu beheben, und das Speichersystem 210 kann ein separates Ereignis (z. B. eine Anzeige) in einer Meldung und einem Register setzen (z. B. definieren). Wenn das Speichersystem 210 in solchen Fällen in der Lage ist, den Fehlerzustand zum Zeitpunkt des Auftretens zu kommunizieren, kann es das Hostsystem 205 davon abhalten, die Fehlerhistorie periodisch zu überprüfen, wodurch die Fehlerprüfung reduziert und das Risiko vermieden wird, dass die Informationen aufgrund begrenzter Ressourcen verworfen werden könnten.
  • Als Reaktion auf die Meldung, dass der kritische Fehlerzustand vorliegt, kann das Speichersystem 210 ein erstes Wiederherstellungsverfahren des Wiederherstellungsverfahrens ausführen. Zum Beispiel kann das Speichersystem 210 ein erstes Bit (z. B. eine zweite Anzeige) setzen, das den kritischen Fehlerzustand im Register anzeigt. Das im Register gesetzte erste Bit kann das Speichersystem 210 veranlassen, das erste Wiederherstellungsverfahren für den kritischen Fehlerzustand auszuführen.
  • In einigen Fällen kann der Fehlerzustand ein fataler Fehlerzustand sein. Der fatale Fehlerzustand kann ein Beispiel für einen aufgehängten Zustand, einen Hardware-Fehler, eine Software-Panic oder eine Kombination davon sein. Das sofortige Signalisieren des Vorhandenseins eines aufgehängten Zustands (z. B. eines fatalen Fehlers) an das Hostsystem 205 kann die Wiederherstellungszeit reduzieren und die Operationen des Speichersystems 210 verbessern. In einigen Fällen kann der fatale Fehlerzustand durch eine Reset-Operation (z. B. Wiederherstellungsverfahren) behoben werden. In solchen Fällen kann der fatale Fehlerzustand den Betrieb der Firmware verhindern und das Speichersystem 210 zurücksetzen.
  • Als Reaktion auf die Meldung, dass der fatale Fehlerzustand vorliegt, kann das Speichersystem 210 ein zweites Wiederherstellungsverfahren des Wiederherstellungsverfahrens ausführen. Das zweite Wiederherstellungsverfahren kann sich vom ersten Wiederherstellungsverfahren unterscheiden. Zum Beispiel kann das Speichersystem 210 ein erstes Bit (z. B. eine zweite Anzeige) setzen, das den fatalen Fehlerzustand im Register anzeigt. Das im Register gesetzte zweite Bit kann das Speichersystem 210 veranlassen, das zweite Wiederherstellungsverfahren für den fatalen Fehlerzustand auszuführen. In solchen Fällen kann ein anderes Bit (z. B. das zweite Bit), das im Register gesetzt ist, zu unterschiedlichen Wiederherstellungsverfahren führen, die vom Speichersystem 210 ausgeführt werden.
  • Indem das Speichersystem 210 die Meldung, die die erste Anzeige anzeigt, in Echtzeit übermittelt (z. B. zu dem Zeitpunkt, zu dem der Fehlerzustand auftritt) und die zweite Anzeige im Register setzt, kann das Speichersystem 210 verhindern, dass das Hostsystem 205 in den Time-out-Zustand eintritt, der die Ineffizienz des Speichersystems 210 durch Steigern des Leistungs- und Energieverbrauchs steigert. In einigen Fällen kann die Bereitstellung von Echtzeit-Fehlerzustandsberichten das Fehlermanagement verbessern, die Anzahl der Testfirmware-Versionen zur Erkennung von Fehlerzuständen verringern und einen sicheren Zustand (z. B. einen sicheren Betriebsmodus) für das Hostsystem 205 ermöglichen, um mit dem Speichersystem 210 zu kommunizieren, falls ein Fehlerzustand auftritt. In solchen Fällen kann das Übermitteln der Meldung an das Hostsystem 205 die Fehleranalyse beschleunigen, um die Ursachen des Fehlerzustands zu ermitteln, wodurch das Speichersystem 210 in die Lage versetzt wird, den Fehlerzustand schnell zu beheben, die Latenzzeit bei der Fehlerbehandlung zu verbessern und das Auftreten künftiger Fehlerzustände zu verhindern.
  • 3 veranschaulicht ein Beispiel für eine Meldung 300, das einen Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt. Die Meldung 300 kann ein Beispiel für eine Meldung sein, wie unter Bezugnahme auf 1 und 2 beschrieben. Die Meldung kann einen Header 305, einen Transferzähler 310 und einen Anzeiger 315 enthalten. Der Header kann Vorrichtungsinformationen enthalten (z. B. Byte 9).
  • Die Meldung 300 kann Informationen enthalten, die den vom Hostsystem empfangenen Befehl und einen Status des Speichersystems angeben, der sich aus der Ausführung des Befehls ergibt. Das Speichersystem kann die Meldung 300 nach Beendigung der Operation an das Hostsystem kommunizieren. In einigen Fällen kann die Meldung 300 einen identifizierten Fehlerzustand anzeigen. In solchen Fällen kann das Speichersystem den Header 305 (z. B. Vorrichtungsinformationen) und andere Bytes ändern, um den Fehlerzustand an das Hostsystem zu übermitteln. Nachdem das Speichersystem den Fehlerzustand identifiziert hat, kann das Speichersystem die Meldung 300 an das Hostsystem übermitteln. In einigen Fällen kann die Meldung 300 ein Beispiel für eine UFS Protocol Information Unit (UPIU) sein. In manchen Fällen kann die Meldung 300 ein Beispiel für eine Antwort-UPIU sein, die von einem Speichersystem an ein Hostsystem gesendet wird.
  • Der Header 305 kann die ersten zwölf Bytes der Meldung 300 enthalten. Jedes nummerierte Kästchen in der Meldung 300 steht für ein Informationsbyte, das eine Vielzahl von Bits enthält. In einigen Beispielen kann der Header 305 einen Transaktionstyp, ein Flag, eine Speichersystemidentifikation (ID), eine Befehlssatzart, eine Antwort, einen Status, ein Task-Tag, Speichersysteminformationen (z. B. Vorrichtungsinformationen in Byte 9) und eine Datensegmentlänge enthalten. Die Meldung 300 kann ein Informationsfeld (z. B. Vorrichtungsinformationen) enthalten, das eine erste Anzeige 315 enthält. Die Vorrichtungsinformationen können im neunten Byte der Meldung 300 enthalten sein und mit Ereignissen verknüpft sein, die im Speichersystem auftreten können. In solchen Fällen können die Vorrichtungsinformationen anzeigen, dass ein Fehlerzustand auf dem Speichersystem vorliegt. Die Vorrichtungsinformationen können mit dem Fehlerzustand verknüpft sein und dem Hostsystem signalisieren, dass der Fehlerzustand aufgetreten ist. In einigen Fällen kann das Speichersystem die erste Anzeige in einem Register setzen, um anzuzeigen, dass der Fehlerzustand im Speichersystem vorliegt.
  • Ein erstes Bit (z. B. Bit 0) der Vorrichtungsinformationen kann ein Beispiel für ein Ereignisalarmbit sein. Zum Beispiel kann das Ereignisalarm-Bit der Vorrichtungsinformationen auf „1“ gesetzt werden, um anzuzeigen, dass der Fehlerzustand im Speichersystem vorhanden ist (z. B. ein Fehlerzustand aktiv ist). In anderen Beispielen kann das Ereignisalarm-Bit auf „0“ gesetzt werden, um anzuzeigen, dass der Fehlerzustand im Speichersystem nicht vorhanden ist (z. B. ein Fehlerzustand ist inaktiv). In solchen Fällen kann das Speichersystem das Ereignisalarm-Bit setzen (z. B. Bit 0 im Vorrichtungsinformationsbyte der Meldung 300), um eine ausbleibende Antwort auf einen ausstehenden oder künftigen Befehl des Hostsystems auszulösen. Die Meldung 300 kann dann über einen Bus vom Speichersystem an das Hostsystem übermittelt werden, nachdem das Speichersystem die erste Anzeige im Register gesetzt hat. Ein zweites Bit (z. B. Bit 1) der Vorrichtungsinformationen kann für den Host Performance Booster (HPB) reserviert werden. In einigen Fällen kann die Verwendung von Vorrichtungsinformationen die Ausführung eines kontinuierlichen Abfragemechanismus durch das Hostsystem vermeiden.
  • Die Meldung 300 kann den Transferzähler 310 enthalten. Der Transferzähler 310 kann die Anzahl der Bytes angeben, die nicht zum oder vom Speichersystem übermitteln werden dürfen. Die Meldung 300 kann auch die reservierten Bytes enthalten, die nicht für bestimmte Verwendungen spezifiziert sind, wie z. B. die Bytes 16 bis 31. Die Meldung kann auch andere Informationen enthalten, wie die Bytes k bis k+19 und die zugehörigen Informationen veranschaulichen.
  • Das Speichersystem kann den Fehlerzustand identifizieren und die Meldung 300 als Reaktion auf die Identifizierung des Fehlerzustands übermitteln. Die Meldung 300 kann in den Vorrichtungsinformationen der Meldung 300 einen ersten Hinweis darauf geben, dass der Fehlerzustand im Speichersystem vorliegt. In solchen Fällen kann das Speichersystem im Register des Speichersystems die zweite Anzeige speichern, die die Art des Fehlerzustands anzeigt. In solchen Fällen kann ein auf „1“ gesetztes Bit in den Vorrichtungsinformationen (z. B. die erste Anzeige) der Meldung 300 dem Hostsystem anzeigen, dass es das Register lesen und die Art des Fehlerzustands (z. B. die zweite Anzeige) identifizieren soll.
  • 4 veranschaulicht ein Beispiel für eine Tabelle 400, die einen Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt. Die Tabelle 400 kann Bits eines Registers darstellen, das zum Speichern einer zweiten Anzeige und zum Kommunizieren zusätzlicher Informationen über einen Fehlerzustand zwischen einem Hostsystem und einem Speichersystem verwendet wird. Die Tabelle 400 kann einen Moduswert 405, einen Fehlerzustandsstatus 410, eine Meldungsbeschreibung 415, eine Byte-ID 420, Verwendung 425, Datenlänge 430 und Bit-ID 435 enthalten.
  • Der Fehlerzustandsstatus 410 kann einen Ausnahmeereignisstatus enthalten. In einigen Fällen kann ein Fehlerzustand ein Beispiel für ein Ausnahmeereignis sein. Ein Ausnahmeereignismechanismus kann vom Speichersystem verwendet werden, um das Auftreten bestimmter Ereignisse (z. B. Fehlerzustände) an das Hostsystem zu melden. Zum Beispiel kann der Ausnahmeereignismechanismus ein Ereignisalarm-Bit, einen Fehlerzustandsstatus 410 (z. B. ein Ausnahmeereignisstatusattribut) und ein Fehlerzustandssteuerungsattribut (z. B. ein Ausnahmeereignissteuerungsattribut) enthalten. Jedem Fehlerzustand kann ein Bit im Fehlerzustandsstatus 410 zugewiesen werden. Zum Beispiel kann ein Bit des Fehlerzustandsstatus 410 auf „1“ gesetzt werden, um anzuzeigen, dass der entsprechende Fehlerzustand aktiv ist (z. B. im Speichersystem vorliegt). Das Bit des Fehlerzustandsstatus 410 kann auf „0“ gesetzt werden, um anzuzeigen, dass der entsprechende Fehlerzustand inaktiv ist (z. B. nicht im Speicher vorliegt).
  • Das Fehlerzustandssteuerungsattribut kann ein Bit enthalten, das jedem Fehlerzustand zugewiesen wird. Zum Beispiel können das Bit im Fehlerzustandssteuerungsattribut und ein Bit im Fehlerzustandsstatus 410 beide auf „1“ gesetzt werden. In solchen Fällen kann das im Vorrichtungsinformationsfeld der Meldung enthaltene Ereignisalarm-Bit auf „1“ gesetzt werden. In anderen Beispielen kann das Bit im Fehlerzustandssteuerungsattribut auf „0“ gesetzt werden und das Bit im Fehlerzustandsstatus 410 auf „1“. In solchen Fällen kann das im Vorrichtungsinformationsfeld der Meldung enthaltene Ereignisalarm-Bit auf „0“ gesetzt werden.
  • Das Ereignisalarm-Bit kann ein Beispiel für die logische ODER-Verknüpfung von Bits im Fehlerzustandstatus 410 sein, die durch die Bits des Fehlerzustandsteuerungsattributs maskiert sind. Das Ereignisalarm-Bit kann auf „1“ gesetzt werden, wenn mindestens ein Bit im Fehlerzustandsstatus 410 und mindestens ein Bit im Fehlerzustandssteuerungsattribut auf „1“ gesetzt werden. Nachdem das Speichersystem den Fehlerzustand behoben hat (z. B. ein Wiederherstellungsverfahren ausgeführt hat), können die Bits des Fehlerzustandssteuerungsattributs, des Fehlerzustandsstatus 410 und des Ereignisalarm-Bits gelöscht (z. B. zurückgesetzt) werden.
  • Die Bit-ID 435, die mit dem Fehlerzustandstatus 410 verbunden ist, kann den Fehlerzustand anzeigen. Jedes Bit in der Bit-ID 435 kann verschiedenen Fehlerzuständen zugewiesen werden. Der Fehlerzustand kann ein Beispiel für einen Betriebszustand des Speichersystems sein, der einen Schwellenwert (z. B. eine dynamische Vorrichtungskapazität), eine Kapazitätsoperation des Speichersystems (z. B. ein erschöpfter Systempool), eine Hintergrundoperation, eine Temperaturerfassungsoperation, eine Leistungsdrosselung und eine Flush-Operation (z. B. Write-Booster-Pufferflush) erfüllt. Zum Beispiel kann Bit 0 der Bit-ID 435 anzeigen, dass der Fehlerzustand eine dynamische Vorrichtungskapazität ist. In solchen Fällen kann das Speichersystem eine dynamische Kapazitätsoperation anfordern. Das Bit kann nach Abschluss der dynamischen Kapazitätsoperation gelöscht werden, wodurch die zum Freigeben angeforderte Kapazität des Speichersystems freigegeben wird.
  • In einigen Beispielen kann Bit 1 der Bit-ID 435 anzeigen, dass der Fehlerzustand darin besteht, dass der Systempool erschöpft ist. In solchen Fällen kann die Menge der Ressourcen zur Adressierung von Hostdaten als Systemdaten unter einem Schwellenwert liegen. Das Bit kann gelöscht werden, nachdem das Hostsystem einen Systemdatenbereich des Speichersystems in einen Nicht-Systemdatenbereich umgewandelt hat. Bit 2 der Bit-ID 435 kann anzeigen, dass der Fehlerzustand der Hintergrundoperation entspricht. In solchen Fällen kann das Speichersystem während der Ausführung einer Hintergrundoperation eine Anforderung an das Hostsystem übermitteln. Das Bit kann gelöscht werden, nachdem der Status der Hintergrundoperation wieder auf 00h oder 01h zurückgeht.
  • In anderen Beispielen kann Bit 3 der Bit-ID 435 anzeigen, dass es sich bei dem Fehlerzustand um die Temperaturerfassung handelt, die über einem Schwellenwert liegen kann (z. B. den Schwellenwert erfüllt). In solchen Fällen kann das Speichersystem eine Anforderung an das Hostsystem übermitteln, die Temperatur des Speichersystems zu senken. Bit 4 der Bit-ID 435 kann anzeigen, dass es sich bei dem Fehlerzustand um die Temperaturerfassung handelt, die unter dem Schwellenwert liegen kann (z. B. den Schwellenwert erfüllt). In solchen Fällen kann das Speichersystem eine Anforderung an das Hostsystem übermitteln, die Temperatur des Speichersystems zu steigern.
  • In einigen Fällen kann das Bit 5 der Bit-ID 435 anzeigen, dass der Fehlerzustand die Leistungsdrosselung ist. In diesem Fall kann das Speichersystem mit reduzierter Leistung arbeiten. Das Hostsystem kann den Fehlerzustandsstatus 410 lesen und die Ursache für die verringerte Leistung bestimmen. Bit 6 der Bit-ID 435 kann anzeigen, dass es sich bei dem Fehlerzustand um den Write-Booster-Pufferflush handelt. In solchen Fällen kann das Hostsystem einen Flush-Befehl erteilen, und das Speichersystem kann ein Bit auf „1“ setzen und damit dem Speichersystem anzeigen, dass es eine Flush-Operation für den Puffer des Write-Boosters ausführen soll.
  • Bits 7 bis 15 können reserviert sein und andere Fehlerzustände anzeigen. Bits 7 bis 15 können reserviert sein und andere Fehlerzustände anzeigen. Zum Beispiel können die Bits 7 bis 15 anzeigen, dass es sich bei dem Fehlerzustand um eine mit dem Speichersystem verbundene Hardware-Ausnahme, einen aufgehängten Zustand der Firmware des Speichersystems, eine Spannungserfassungsoperation, einen nicht korrigierbaren Fehler oder eine Kombination davon handelt. In einigen Fällen können die Bits 7-15 reserviert werden, und diese Bits können verwendet werden, um die hier beschriebenen zusätzlichen Fehlerzustände zu kommunizieren. In einigen Fällen können mindestens einige der Bits 7-15 Fehlerzuständen zugewiesen werden. Zum Beispiel kann ein Bit dem Anzeigen eines aufgehängten Zustands der Firmware des Speichersystems, eines Auftretens einer dem Speichersystem zugeordneten Hardware-Ausnahme, eines Auftretens eines Betriebszustands (z. B. eines kritischen Betriebszustands) des Speichersystems und eines Auftretens eines dem Speichersystem zugeordneten Fehlers zugewiesen werden. In einigen Fällen können die im Register eingestellten Informationen das Auftreten einer Kapazitätsoperation des Speichersystems, das Auftreten einer Ressourcenbegrenzung des Speichersystems, das Auftreten einer Hintergrundoperation, das Auftreten einer Temperaturerkennungsoperation, das Auftreten einer Flush-Operation oder eine Kombination davon anzeigen.
  • 5 zeigt ein Blockdiagramm 500 eines Speichersystems 520, das den Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützt. Das Speichersystem 520 kann ein Beispiel für Aspekte eines Speichersystems sein, wie unter Bezugnahme auf die 1 bis 4 beschrieben. Das Speichersystem 520 oder verschiedene Komponenten davon können ein Beispiel für Mittel zur Ausführung verschiedener Aspekte des hier beschriebenen Ereignismechanismus zur Fehlererkennung sein. Zum Beispiel kann das Speichersystem 520 eine Fehlerzustandskomponente 525, einen Meldungstransmitter 530, eine Einstellkomponente 535, eine Wiederherstellungskomponente 540, einen Safe-Mode-Operator 545 oder eine beliebige Kombination davon enthalten. Jede dieser Komponenten kann direkt oder indirekt miteinander kommunizieren (z. B. über einen oder mehrere Busse).
  • Die Fehlerzustandskomponente 525 kann als Mittel zur Identifizierung eines Fehlerzustands des Speichersystems konfiguriert sein oder dieses anderweitig unterstützen. Der Meldungstransmitter 530 kann als ein Mittel zum Übermitteln einer Meldung an ein Hostsystem konfiguriert sein, die einen ersten Hinweis darauf gibt, dass der Fehlerzustand im Speichersystem zumindest zum Teil auf der Identifizierung des Fehlerzustands beruht, oder dieses anderweitig unterstützen. Die Einstellkomponente 535 kann als ein Mittel zum Setzen einer zweiten Anzeige in einem dem Speichersystem zugeordneten Register konfiguriert sein, die einen Typ des Fehlerzustands zumindest zum Teil auf der Grundlage der Identifizierung des Fehlerzustands anzeigt, oder dieses anderweitig unterstützen. Die Wiederherstellungskomponente 540 kann als ein Mittel zur Ausführung eines Wiederherstellungsverfahrens, das zumindest zum Teil auf der ersten Anzeige und der zweiten Anzeige basiert, konfiguriert sein oder dieses anderweitig unterstützen.
  • In einigen Beispielen, in denen der Fehlerzustand einen kritischen Fehlerzustand umfasst, kann die Wiederherstellungskomponente 540 als ein Mittel zur Ausführung eines ersten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens konfiguriert sein, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der kritische Fehlerzustand vorliegt, oder dieses anderweitig unterstützen.
  • In einigen Beispielen, in denen der Fehlerzustand einen fatalen Fehlerzustand umfasst, kann die Wiederherstellungskomponente 540 als ein Mittel zur Ausführung eines zweiten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens konfiguriert sein, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der fatale Fehlerzustand vorliegt, oder dieses anderweitig unterstützen.
  • In einigen Beispielen kann die Fehlerzustandskomponente 525 als ein Mittel zum Eintreten in einen Time-out-Zustand konfiguriert sein, der zumindest zum Teil auf der Identifizierung des Fehlerzustands basiert, oder dieses anderweitig unterstützen, wobei das Übermitteln der Meldung zumindest zum Teil auf dem Eintritt in den Time-out-Zustand beruht.
  • In einigen Beispielen kann die Fehlerzustandskomponente 525 als ein Mittel zur Identifizierung von mit dem Fehlerzustand verbundenen Informationen konfiguriert sein, die zumindest zum Teil auf der Identifizierung des Fehlerzustands basieren, oder dieses anderweitig unterstützen, wobei die zweite Anzeige die mit dem Fehlerzustand verbundenen Informationen anzeigt.
  • In einigen Beispielen kann die Einstellkomponente 535 als Mittel zum Setzen der ersten Anzeige in dem Speichersystem zugeordneten Register konfiguriert sein, das zumindest zum Teil auf der Identifizierung des Fehlerzustands basiert, oder dieses anderweitig unterstützen, wobei das Übermitteln der Meldung zumindest zum Teil auf dem Setzen der ersten Anzeige beruht.
  • In einigen Beispielen kann die Fehlerzustandskomponente 525 als ein Mittel zum Abrufen von Debugging-Informationen aus einem Fehlerhistorienbericht des Speichersystems konfiguriert sein, das zumindest zum Teil auf der Identifizierung des Fehlerzustands beruht, oder dieses anderweitig unterstützen, wobei das Setzen der zweiten Anzeige zumindest zum Teil auf dem Abrufen der Debugging-Informationen beruht.
  • In einigen Beispielen kann der Safe-Mode-Operator 545 als Mittel konfiguriert sein oder anderweitig ein Mittel unterstützen, das das Speichersystem veranlasst, in einen sicheren Betriebsmodus einzutreten, der zumindest zum Teil auf dem Übermitteln der Meldung beruht. In einigen Beispielen kann der Safe-Mode-Operator 545 als ein Mittel zur Unterlassung einer Operation konfiguriert sein, die zumindest zum Teil auf der Initiierung des Speichersystems zum Eintritt in den sicheren Betriebsmodus basiert, oder dieses anderweitig unterstützen.
  • In einigen Beispielen kann der Safe-Mode-Operator 545 als ein Mittel zum Empfangen eines Befehls zum Verlassen des sicheren Betriebsmodus vom Hostsystem konfiguriert sein oder dieses anderweitig unterstützen. In einigen Beispielen kann der Safe-Mode-Operator 545 als ein Mittel zum Verlassen des sicheren Betriebsmodus zumindest zum Teil auf der Grundlage des Empfangs des Befehls konfiguriert sein oder dieses anderweitig unterstützen, wobei die Ausführung des Wiederherstellungsverfahrens zumindest zum Teil auf dem Verlassen des sicheren Betriebsmodus beruht.
  • In einigen Beispielen enthält die Meldung ein Informationsfeld, das die erste Anzeige anzeigt. In einigen Beispielen enthält die erste Anzeige ein Ereignisalarm-Bit.
  • In einigen Beispielen enthält der Fehlerzustand eine dem Gerät zugeordnete Hardware-Ausnahme, einen aufgehängten Zustand der Firmware des Geräts, einen Betriebszustand des Geräts, der einen Schwellenwert erfüllt, eine Kapazitätsoperation des Geräts, eine Ressourcenbegrenzung des Geräts, eine Hintergrundoperation, eine Temperaturerfassungsoperation, eine Flush-Operation, eine Spannungserfassungsoperation oder eine Kombination davon.
  • 6 zeigt ein Flussdiagramm, das ein oder mehrere Verfahren 600 veranschaulicht, die den Ereignismechanismus zur Fehlererkennung gemäß den hier offenbarten Beispielen unterstützen. Die Operationen des Verfahrens 600 können durch ein Speichersystem oder seine Komponenten, wie hier beschrieben, implementiert werden. Zum Beispiel können die Operationen des Verfahrens 600 von einem Speichersystem ausgeführt werden, wie unter Bezugnahme auf die 1 bis 5 beschrieben. In einigen Beispielen kann ein Speichersystem einen Satz von Befehlen ausführen, um die Funktionselemente der Vorrichtung zu steuern und die beschriebenen Funktionen auszuführen. Zusätzlich oder alternativ kann das Speichersystem Aspekte der beschriebenen Funktionen unter Verwendung spezieller Hardware ausführen.
  • Aspekte des Verfahrens 600 können unter anderem durch einen Controller implementiert werden. Zusätzlich oder alternativ können Aspekte des Verfahrens 600 in Form von Anweisungen implementiert werden, die in einem Speicher gespeichert sind (z. B. Firmware, die in einem mit dem Speichersystem gekoppelten Speicher gespeichert ist). Zum Beispiel können die Anweisungen, wenn sie von einem Controller (z. B. dem Speichersystem-Controller) ausgeführt werden, den Controller veranlassen, die Operationen des Verfahrens 600 auszuführen.
  • Bei 605 kann ein Fehlerzustand identifiziert werden. Zum Beispiel kann das Verfahren die Identifizierung des Fehlerzustands des Speichersystems enthalten. Die Operationen von 605 können gemäß den hier offenbarten Beispielen ausgeführt werden. In einigen Beispielen können Aspekte der Operationen von 605 von einer Fehlerzustandskomponente 525 ausgeführt werden, wie unter Bezugnahme auf 5 beschrieben.
  • Bei 610 kann eine Meldung übermittelt werden. Zum Beispiel kann das Verfahren das Übermitteln der Meldung, die einen ersten Hinweis darauf gibt, dass der Fehlerzustand im Speichersystem zumindest zum Teil auf der Identifizierung des Fehlerzustands beruht, an ein Hostsystem enthalten. Die Operationen von 610 können gemäß den hier offenbarten Beispielen ausgeführt werden. In einigen Beispielen können Aspekte der Operationen von 610 von einem Meldungstransmitter 530 ausgeführt werden, wie unter Bezugnahme auf 5 beschrieben.
  • Bei 615 kann eine zweite Anzeige gesetzt werden. Zum Beispiel kann das Verfahren das Setzen der zweiten Anzeige, die eine Art des Fehlerzustands zumindest zum Teil auf der Grundlage der Identifizierung des Fehlerzustands anzeigt, in einem dem Speichersystem zugeordneten Register enthalten. Die Operationen von 615 können gemäß den hier offenbarten Beispielen ausgeführt werden. In einigen Beispielen können Aspekte der Operationen von 615 von einer Einstellkomponente 535 ausgeführt werden, wie unter Bezugnahme auf 5 beschrieben.
  • Bei 620 kann ein Wiederherstellungsverfahren ausgeführt werden. Zum Beispiel kann das Verfahren die Ausführung des Wiederherstellungsverfahrens zumindest zum Teil auf der Grundlage der ersten Anzeige und der zweiten Anzeige enthalten. Die Operationen von 620 können gemäß den hier offenbarten Beispielen ausgeführt werden. In einigen Beispielen können Aspekte der Operationen von 620 von einer Wiederherstellungskomponente 540 ausgeführt werden, wie unter Bezugnahme auf 5 beschrieben.
  • In einigen Beispielen kann ein hierin beschriebenes Gerät ein oder mehrere Verfahren, wie das Verfahren 600, ausführen. Das Gerät kann Merkmale, Schaltungen, Logik, Mittel oder Anweisungen enthalten (z.B., ein nichttransitorisches computerlesbares Medium, das von einem Prozessor ausführbare Anweisungen speichert) zum Identifizieren eines Fehlerzustands des Speichersystems, zum Übermitteln einer Meldung an ein Hostsystem, die eine erste Anzeige anzeigt, dass der Fehlerzustand in dem Speichersystem vorliegt, die zumindest zum Teil auf der Identifizierung des Fehlerzustands basiert, zum Setzen einer zweiten Anzeige in einem dem Speichersystem zugeordneten Register, die eine Art des Fehlerzustands anzeigt, die zumindest zum Teil auf der Identifizierung des Fehlerzustands basiert, und zum Ausführen eines Wiederherstellungsverfahrens, das zumindest zum Teil auf der ersten Anzeige und der zweiten Anzeige basiert.
  • In einigen Beispielen des hierin beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können das Verfahren, die Geräte und das nichttransitorische computerlesbare Medium weitere Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Ausführen eines ersten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens enthalten, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der kritische Fehlerzustand vorliegt.
  • In einigen Beispielen des hierin beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können das Verfahren, die Geräte und das nichttransitorische computerlesbare Medium weitere Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Ausführen eines zweiten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens enthalten, das zumindest zum Teil auf der Nachricht basiert, die anzeigt, dass der fatale Fehlerzustand vorliegt.
  • Einige Beispiele des hier beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Eingeben eines Time-out-Zustands enthalten, der zumindest zum Teil auf der Identifizierung des Fehlerzustands basiert, wobei das Übermitteln der Nachricht zumindest zum Teil auf dem Eingeben des Time-out-Zustands basieren kann.
  • Einige Beispiele des hier beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Identifizieren von mit dem Fehlerzustand verbundenen Informationen enthalten, die zumindest zum Teil auf dem Identifizieren des Fehlerzustands basieren, wobei die zweite Anzeige die mit dem Fehlerzustand verbundenen Informationen anzeigt.
  • Einige Beispiele des hier beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Setzen der ersten Anzeige in dem dem Speichersystem zugeordneten Register enthalten, die zumindest zum Teil auf der Identifizierung des Fehlerzustands basiert, wobei das Übermitteln der Meldung zumindest zum Teil auf dem Setzen der ersten Anzeige basieren kann.
  • Einige Beispiele des hier beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Abrufen von Debugging-Informationen aus einem Fehlerhistorienbericht des Speichersystems enthalten, die zumindest zum Teil auf der Identifizierung des Fehlerzustands basieren, wobei das Setzen der zweiten Anzeige zumindest zum Teil auf dem Abrufen der Debugging-Informationen basieren kann.
  • Einige Beispiele des hierin beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen enthalten, um das Speichersystem zu veranlassen, in einen sicheren Betriebsmodus einzutreten, der zumindest zum Teil auf des Übermittelns der Meldung basiert, und um die Ausführung einer Operation zu unterlassen, die zumindest zum Teil auf der Veranlassung des Speichersystems basiert, in den sicheren Betriebsmodus einzutreten.
  • Einige Beispiele des hier beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts können ferner Operationen, Merkmale, Schaltungen, Logik, Mittel oder Anweisungen zum Empfangen eines Befehls zum Verlassen des sicheren Betriebsmodus vom Hostsystem und zum Verlassen des sicheren Betriebsmodus zumindest zum Teil auf der Grundlage des Empfangs des Befehls enthalten, wobei das Ausführen des Wiederherstellungsverfahrens zumindest zum Teil auf dem Verlassen des sicheren Betriebsmodus basieren kann.
  • In einigen Beispielen des hier beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts enthält die Meldung ein Informationsfeld, das die erste Anzeige anzeigt, und die erste Anzeige enthält ein Ereignisalarm-Bit.
  • In einigen Beispielen des hier beschriebenen Verfahrens 600 und des hierin beschriebenen Geräts umfasst der Fehlerzustand eine mit dem Gerät verbundene Hardware-Ausnahme, einen aufgehängten Zustand der Firmware des Geräts, einen Betriebszustand des Geräts, der einen Schwellenwert erfüllt, eine Kapazitätsoperation des Geräts, eine Ressourcenbegrenzung des Geräts, eine Hintergrundoperation, eine Temperaturerfassungsoperation, eine Flush-Operation, eine Spannungserfassungsoperation oder eine Kombination davon.
  • Es sollte beachtet werden, dass die oben beschriebenen Verfahren mögliche Implementierungen beschreiben und dass die Operationen und die Schritte neu angeordnet oder anderweitig modifiziert werden können und dass andere Implementierungen möglich sind. Darüber hinaus können Teile von zwei oder mehr der Verfahren kombiniert werden.
  • Die hier beschriebenen Informationen und Signale können mit 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), wenn 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 oder ein geschlossener Stromkreis sein, je nach dem Betrieb der Vorrichtung, das die angeschlossenen Komponenten umfasst. Der leitende Pfad zwischen den angeschlossenen Komponenten kann ein direkter leitender Pfad zwischen den Komponenten sein oder der leitende Pfad zwischen den angeschlossenen Komponenten kann ein indirekter leitender Pfad sein, der Zwischenkomponenten wie Schalter, Transistoren oder andere Komponenten enthalten kann. In einigen Beispielen kann der Signalfluss zwischen den angeschlossenen Komponenten zeitweise unterbrochen werden, z. B. durch ein oder mehrere Zwischenkomponenten wie Schalter oder Transistoren.
  • Der Begriff „Kopplung“ bezieht sich auf einen Zustand, in dem von einem offenen Stromkreis zwischen Komponenten, in dem Signale derzeit nicht über einen leitenden Pfad zwischen den Komponenten kommuniziert werden können, zu einem geschlossenen Stromkreis zwischen Komponenten übergegangen wird, in dem Signale über den leitenden Pfad zwischen Komponenten kommuniziert werden können. Wenn eine Komponente, z. B. ein Controller, andere Komponenten miteinander koppelt, löst die Komponente eine Veränderung aus, 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, wenn ein offener Stromkreis zwischen ihnen besteht. Zum Beispiel sind zwei Komponenten, die durch einen Schalter getrennt sind, der sich zwischen den Komponenten befindet, voneinander isoliert, wenn der Schalter offen ist. Wenn ein Controller zwei Komponenten isoliert, bewirkt der Controller 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 „sofern“, „wenn“, „basierend auf“ oder „zumindest zum Teil basierend auf“ können austauschbar verwendet werden. In einigen Beispielen können, wenn die Begriffe „sofern“, „wenn“, „basierend auf“ oder „zumindest zum Teil basierend auf“ zur Beschreibung einer bedingten Operation, eines bedingten Prozesses oder einer Verbindung zwischen Teilen eines Prozesses verwendet werden, die Begriffe austauschbar sein.
  • Der Begriff „als Reaktion auf“ kann sich darauf beziehen, dass ein Zustand oder eine Operation zumindest teilweise, wenn nicht sogar vollständig, als Folge eines vorhergehenden Zustands oder einer vorhergehenden Operation auftritt. Zum Beispiel kann ein erster Zustand oder eine erste Operation ausgeführt werden und ein zweiter Zustand oder eine zweite Operation kann zumindest teilweise als Folge des Auftretens des vorherigen Zustands oder der vorherigen Operation auftreten (entweder direkt nach oder nach einem oder mehreren anderen Zwischenzuständen oder -operationen, die nach dem ersten Zustand oder der ersten Operation auftreten).
  • Darüber hinaus können sich die Begriffe „direkt als Reaktion auf“ oder „in direkter Reaktion auf“ auf einen Zustand oder eine Operation beziehen, der/die als direkte Folge eines vorherigen Zustands oder einer vorherigen Operation auftritt. In einigen Beispielen kann ein erster Zustand oder eine erste Operation ausgeführt werden und der zweite Zustand oder die zweite Operation kann direkt als Folge des Auftretens des vorherigen Zustands oder der vorherigen Operation auftreten, unabhängig davon, ob andere Zustände oder Operationen auftreten. In einigen Beispielen kann ein erster Zustand oder eine Operation ausgeführt werden und der zweite Zustand oder die zweite Operation kann direkt als Folge des Auftretens des vorherigen Zustands oder der vorherigen Operation auftreten, so dass keine anderen Zwischenzustände oder -operationen zwischen dem früheren Zustand oder der früheren Operation und dem zweiten Zustand oder der zweiten Operation auftreten oder eine begrenzte Anzahl von einem oder mehreren Zwischenschritten oder -operationen zwischen dem früheren Zustand oder der früheren Operation und dem zweiten Zustand oder der zweiten Operation auftreten. Jeder Zustand oder jede Operation, die hier als „basierend auf“, „zumindest zum Teil basierend auf“ oder „als Reaktion auf“ einen anderen Schritt, eine Operation, ein Ereignis oder einen Zustand beschrieben wird, kann zusätzlich oder alternativ (z. B. in einem alternativen Beispiel) „in direkter Reaktion auf“ oder „direkt als Reaktion auf“ einen solchen anderen Zustand oder eine solche Operation ausgeführt werden, sofern nicht anders angegeben.
  • Die hier erörterten Vorrichtungen, einschließlich eines Speicherarrays, können auf einem Halbleitersubstrat, wie 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-onglass - 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 mit verschiedenen chemischen Stoffen wie Phosphor, Bor oder Arsen gesteuert werden. Die Dotierung kann während der anfänglichen Bildung oder des Wachstums des Substrats, durch Ionenimplantation oder durch jedes andere Dotierungsmittel ausgeführt werden.
  • Eine Schaltkomponente oder ein Transistor, die hier erörtert werden, können einen Feldeffekttransistor (field-effect transistor - FET) darstellen und eine Vorrichtung mit drei Anschlüssen umfassen, die eine Source, einen Drain und ein Gate enthält. Die Anschlüsse können über leitende Materialien, z. B. Metalle, mit anderen elektronischen Elementen verbunden sein. Source und Drain können leitend sein und einen stark dotierten, z. B. entarteten, Halbleiterbereich umfassen. Source und Drain können durch einen leicht dotierten Halbleiterbereich oder Kanal getrennt sein. Wenn der Kanal vom n-Typ ist (d. h., die meisten Ladungsträger sind Elektronen), kann der FET als n-Typ-FET bezeichnet werden. Ist der Kanal vom p-Typ (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 oder negativen Spannung an einen n-Typ-FET bzw. einen p-Typ-FET dazu führen, dass der Kanal leitfähig wird. Ein Transistor kann „eingeschaltet“ oder „aktiviert“ sein, wenn eine Spannung, die größer oder gleich der Schwellenspannung des Transistors ist, an das Gate des Transistors angelegt wird. Der Transistor kann „ausgeschaltet“ oder „deaktiviert“ sein, wenn eine Spannung, die kleiner als die Schwellenspannung des Transistors ist, an das Transistor-Gate angelegt wird.
  • Die hierin enthaltene Beschreibung beschreibt in Verbindung mit den beigefügten Zeichnungen Beispielkonfigurationen und stellt nicht alle Beispiele dar, die implementiert werden können oder in den Anwendungsbereich der Ansprüche fallen. Der hier verwendete Begriff „beispielhaft“ bedeutet „als Beispiel, Variante oder Illustration dienend“ und nicht „bevorzugt“ oder „vorteilhaft gegenüber anderen Beispielen“. Die detaillierte Beschreibung enthält spezifische Details zur Bereitstellung eines Verständnisses der beschriebenen Techniken. Diese Techniken können jedoch auch ohne diese spezifischen Details angewandt werden. In einigen Fällen werden bekannte Strukturen und Vorrichtungen 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 Referenzkennzeichen haben. Darüber hinaus können verschiedene Komponenten derselben Art dadurch unterschieden werden, dass der Referenzbezeichnung ein Bindestrich und eine zweite Bezeichnung folgt, die die ähnlichen Komponenten voneinander unterscheidet. Wird in der Beschreibung nur das erste Referenzkennzeichen verwendet, so gilt die Beschreibung für jede der gleichartigen Komponenten mit demselben ersten Referenzkennzeichen, unabhängig vom zweiten Referenzkennzeichen.
  • Die hier beschriebenen Funktionen können in Hardware, in Software, die von einem Prozessor ausgeführt wird, in Firmware oder in einer Kombination davon implementiert werden. Wenn die Funktionen in Software implementiert sind, die von einem Prozessor ausgeführt wird, können sie auf einem computerlesbaren Medium gespeichert oder über dieses übermittelt werden, und zwar in Form von einer oder mehreren Anweisungen oder Codes. Andere Beispiele und Implementierungen fallen in den Anwendungsbereich der Offenbarung und der beigefügten Ansprüche. Aufgrund der Beschaffenheit von Software können die oben beschriebenen Funktionen beispielsweise mit Hilfe von Software, die von einem Prozessor ausgeführt wird, Hardware, Firmware, Festverdrahtung oder Kombinationen aus diesen implementiert werden. Merkmale, die Funktionen implementieren, können auch physisch an verschiedenen Positionen angeordnet sein, einschließlich einer Verteilung, so dass Teile von Funktionen an verschiedenen physischen Orten implementiert sind.
  • Zum Beispiel können die verschiedenen illustrativen Blöcke und Komponenten, die im Zusammenhang mit der vorliegenden Offenbarung beschrieben werden, mit einem Allzweckprozessor, einem DSP, einem ASIC, einem FPGA oder einer anderen programmierbaren Logikvorrichtung, diskreter Gatter- oder Transistorlogik, diskreten Hardwarekomponenten oder einer beliebigen Kombination davon implementiert oder ausgeführt werden, um die hier beschriebenen Funktionen auszuführen. Ein Universalprozessor kann ein Mikroprozessor sein, alternativ kann der Prozessor auch ein beliebiger Prozessor, Controller, Mikrocontroller oder eine Zustandsmaschine sein. Ein Prozessor kann als eine Kombination von Recheneinheiten implementiert werden (z. B. eine Kombination aus einem DSP und einem Mikroprozessor, mehrere Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine andere derartige Konfiguration).
  • Wie hierin verwendet, einschließlich in den Ansprüchen, bedeutet „oder“ in einer Liste von Elementen (z. B. in einer Liste von Elementen, der ein Satz wie „mindestens eines von“ oder „eines oder mehrere von“ vorangestellt ist) eine umfassende Liste, so dass zum Beispiel eine Liste von mindestens einem von A, B oder C A oder B oder C oder AB oder AC oder BC oder ABC (d. h. A und B und C) bedeutet. Außerdem soll der hier verwendete Ausdruck „basierend auf“ nicht als Verweis auf einen geschlossenen Satz von Zuständen ausgelegt werden. Zum Beispiel kann ein beispielhafter Schritt, der als „basierend auf Zustand A“ beschrieben wird, sowohl auf einem Zustand A als auch auf einem Zustand B basieren, ohne dass dies vom Anwendungsbereich der vorliegenden Offenbarung abweicht. Mit anderen Worten: Der hier verwendete Ausdruck „basierend auf“ ist in gleicher Weise auszulegen wie der Ausdruck „zumindest zum Teil basierend auf“.
  • Computer-lesbare Medien enthalten sowohl nichttransitorische Computerspeichermedien als auch Kommunikationsmedien einschließlich aller Medien, die die Übertragung eines Computerprogramms von einem Ort zum anderen erleichtern. Ein nichttransitorisches Speichermedium kann jedes verfügbare Medium sein, auf das ein Allzweck- oder Spezialcomputer zugreifen kann. Beispielhaft und nicht einschränkend können nichttransitorische, computerlesbare Medien RAM, ROM, elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), Compact Disk (CD)- ROM oder andere optische Speicher, Magnetspeicher oder andere magnetische Speichervorrichtungen umfassen, oder ein jedes andere nichttransitorische Medium, das zum Tragen oder Speichern gewünschter Programmcodemittel in Form von Anweisungen oder Datenstrukturen verwendet werden kann und auf das von einem Allzweck- oder Spezialcomputer oder einem Allzweck- oder Spezialprozessor zugegriffen werden kann. Außerdem wird jede Verbindung ordnungsgemäß als ein computerlesbares Medium bezeichnet. Zum Beispiel sind, wenn die Software von einer Website, einem Server oder einer anderen externen Quelle unter Verwendung eines Koaxialkabels, eines Glasfaserkabels, Twisted-Pair, einer digitalen Teilnehmerleitung (digital subscriber line - DSL) oder drahtloser Technologien wie Infrarot, Radio und Mikrowelle übermittelt wird, das Koaxialkabel, Glasfaserkabel, Twisted-Pair, DSL oder drahtlose Technologien wie Infrarot, Radio und Mikrowelle in der Definition von Medium enthalten. Die hier verwendeten Datenträger umfassen CD, Laserdatenträger, optische Datenträger, Digital Versatile Datenträger (DVD), Disketten und Blu-Ray-Datenträger, wobei Disketten Daten normalerweise magnetisch wiedergeben, während Datenträger-Daten optisch mit Lasern wiedergeben. Kombinationen der oben genannten Möglichkeiten sind ebenso im Umfang der computerlesbaren Medien enthalten.
  • Die vorliegende Beschreibung soll den Fachmann in die Lage versetzen, die Offenbarung herzustellen oder zu verwenden. Verschiedene Modifikationen der Offenbarung werden dem Fachmann offensichtlich sein, und die hierin definierten allgemeinen Prinzipien können auf andere Variationen angewandt werden, ohne vom Umfang der Offenbarung abzuweichen. Daher ist die Offenbarung nicht auf die hier beschriebenen Beispiele und Ausführungsformen beschränkt, sondern hat den weitesgehenden Anwendungsbereich, der mit den hier 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 63/140666 [0001]

Claims (25)

  1. Gerät, umfassend: eine Speichervorrichtung (130-a, 130-b); ein Register (180); und eine Steuerschaltung (115), die mit der Speichervorrichtung (130-a, 130-b) gekoppelt und so konfiguriert ist, dass sie das Gerät (110) zu Folgendem veranlasst: Identifizieren (215) eines Fehlerzustands des Geräts; Übermitteln (225) einer Meldung an ein Hostsystem (205), die eine erste Anzeige anzeigt, dass der Fehlerzustand in dem Gerät zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands beruht, Setzen (230) einer zweiten Anzeige in dem Register (180), die eine Art des Fehlerzustands zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands anzeigt; und Ausführen (250) eines Wiederherstellungsverfahrens zumindest zum Teil basierend auf der ersten Anzeige und der zweiten Anzeige.
  2. Gerät nach Anspruch 1, wobei der Fehlerzustand einen kritischen Fehlerzustand umfasst, und wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Ausführen eines ersten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der kritische Fehlerzustand vorliegt.
  3. Gerät nach Anspruch 1 oder 2, wobei der Fehlerzustand einen fatalen Fehlerzustand umfasst, und wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Ausführen eines zweiten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der fatale Fehlerzustand vorliegt.
  4. Gerät nach einem der vorhergehenden Ansprüche, wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Eintreten (220) in einen Time-out-Zustand, der zumindest teilweise auf dem Identifizieren (215) des Fehlerzustands basiert, wobei das Übermitteln (225) der Meldung zumindest zum Teil auf dem Eintreten in den Time-out-Zustand basiert.
  5. Gerät nach einem der vorhergehenden Ansprüche, wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Identifizieren von Informationen, die mit dem Fehlerzustand verbunden sind, zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei die zweite Anzeige die mit dem Fehlerzustand verbundenen Informationen anzeigt.
  6. Gerät (110) nach einem der vorhergehenden Ansprüche, wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Setzen der ersten Anzeige in dem dem Gerät zugeordneten Register (180) zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei das Übermitteln (225) der Meldung zumindest zum Teil auf dem Setzen der ersten Anzeige basiert.
  7. Gerät nach einem der vorhergehenden Ansprüche, wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Abrufen von Debugging-Informationen aus einem Fehlerhistorienbericht des Geräts (110) zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei das Setzen (230) der zweiten Anzeige zumindest zum Teil auf dem Abrufen der Debugging-Informationen basiert.
  8. Gerät nach einem der vorhergehenden Ansprüche, wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Einleiten (235) des Eintretens des Geräts in einen sicheren Betriebsmodus zumindest zum Teil basierend auf dem Übermitteln (225) der Meldung; und Unterlassen der Ausführung einer Operation zumindest zum Teil basierend auf der Einleitung des Eintretens des Geräts in den sicheren Betriebsmodus.
  9. Gerät nach Anspruch 8, wobei die Steuerschaltung (115) ferner so konfiguriert ist, dass sie das Gerät zu Folgendem veranlasst: Empfangen (240) eines Befehls von dem Hostsystem (205) zum Verlassen des sicheren Betriebsmodus; und Verlassen (245) des sicheren Betriebsmodus zumindest zum Teil basierend auf dem Empfang (240) des Befehls, wobei die Ausführung (250) des Wiederherstellungsverfahrens zumindest zum Teil auf dem Verlassen (245) des sicheren Betriebsmodus basiert.
  10. Gerät nach einem der vorhergehenden Ansprüche, wobei die Meldung ein Informationsfeld umfasst, das die erste Anzeige anzeigt, wobei die erste Anzeige ein Ereignisalarm-Bit umfasst.
  11. Gerät nach einem der vorhergehenden Ansprüche, wobei der Fehlerzustand eine dem Gerät zugeordnete Hardware-Ausnahme, einen aufgehängten Zustand der Firmware des Geräts, einen Betriebszustand des Geräts, der einen Schwellenwert erfüllt, eine Kapazitätsoperation des Geräts, eine Ressourcenbegrenzung des Geräts, eine Hintergrundoperation, eine Temperaturerfassungsoperation, eine Flush-Operation, eine Spannungserfassungsoperation oder eine Kombination davon umfasst.
  12. Nichttransitorisches computerlesbares Medium, das einen Code speichert, der Anweisungen enthält, die, wenn sie von einem Prozessor einer elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung zu Folgendem veranlassen: Identifizieren (215) eines Fehlerzustands eines Speichersystems (110); Übermitteln (225) einer Meldung an ein Hostsystem (205), die eine erste Anzeige anzeigt, dass der Fehlerzustand in dem Speichersystem (110) zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands beruht, Setzen (230) einer zweiten Anzeige in einem mit dem Speichersystem (110) verbundenen Register (180), die eine Art des Fehlerzustands zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands anzeigt; und Ausführen (250) eines Wiederherstellungsverfahrens zumindest zum Teil basierend auf der ersten Anzeige und der zweiten Anzeige.
  13. Nichttransitorisches computerlesbares Medium nach Anspruch 12, wobei der Fehlerzustand einen kritischen Fehlerzustand umfasst, und wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung ferner zu Folgendem veranlassen: Ausführen eines ersten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der kritische Fehlerzustand vorliegt.
  14. Nichttransitorisches computerlesbares Medium nach Anspruch 12 oder 13, wobei der Fehlerzustand einen fatalen Fehlerzustand umfasst, und wobei die Anweisungen, wenn sie durch den Prozessor der elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung ferner zu Folgendem veranlassen: Ausführen eines zweiten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der fatale Fehlerzustand vorliegt.
  15. Nichttransitorisches computerlesbares Medium nach einem der vorhergehenden Ansprüche 12 bis 14, wobei die Anweisungen, wenn sie von dem Prozessor der elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung ferner zu Folgendem veranlassen: Eintreten in einen Time-out-Zustand, der zumindest teilweise auf dem Identifizieren des Fehlerzustands basiert, wobei das Übermitteln der Meldung zumindest zum Teil auf dem Eintreten in den Time-out-Zustand basiert.
  16. Nichttransitorisches computerlesbares Medium nach einem der vorhergehenden Ansprüche 12 bis 15, wobei die Anweisungen, wenn sie von dem Prozessor der elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung ferner zu Folgendem veranlassen: Identifizieren von Informationen, die mit dem Fehlerzustand verbunden sind, zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei die zweite Anzeige die mit dem Fehlerzustand verbundenen Informationen anzeigt
  17. Nichttransitorisches computerlesbares Medium nach einem der vorhergehenden Ansprüche 12 bis 16, wobei die Anweisungen, wenn sie von dem Prozessor der elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung ferner zu Folgendem veranlassen: Setzen (180) der ersten Anzeige in dem dem Speichersystem (110) zugeordneten Register zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei das Übermitteln der Meldung zumindest zum Teil auf dem Setzen der ersten Anzeige basiert.
  18. Nichttransitorisches computerlesbares Medium nach einem dem vorhergehenden Ansprüche 12 bis 17, wobei die Anweisungen, wenn sie von dem Prozessor der elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung ferner zu Folgendem veranlassen: Abrufen von Debugging-Informationen aus einem Fehlerhistorienbericht des Speichersystems (110) zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei das Setzen der zweiten Anzeige zumindest zum Teil auf dem Abrufen der Debugging-Informationen basiert.
  19. Nichttransitorisches computerlesbares Medium nach nach einem der vorhergehenden Ansprüche 12 bis 18, wobei die Anweisungen, wenn sie von dem Prozessor der elektronischen Vorrichtung ausgeführt werden, die elektronische Vorrichtung ferner zu Folgendem veranlassen: Einleiten (235) des Eintretens des Speichersystems (210) in einen sicheren Betriebsmodus zumindest zum Teil basierend auf dem Übermitteln der Meldung; und Unterlassen der Ausführung einer Operation zumindest zum Teil basierend auf der Einleitung des Eintretens des Speichersystems in den sicheren Betriebsmodus.
  20. Verfahren (200), das in einem Speichersystem (110) ausgeführt wird, umfassend: Identifizieren (215) eines Fehlerzustands des Speichersystems; Übermitteln einer Meldung an ein Hostsystem (205), die eine erste Anzeige anzeigt, dass der Fehlerzustand in dem Speichersystem (110) zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands beruht, Setzen (230) einer zweiten Anzeige in einem mit dem Speichersystem (110) verbundenen Register (180), die eine Art des Fehlerzustands zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands anzeigt; und Ausführen (250) eines Wiederherstellungsverfahrens zumindest zum Teil basierend auf der ersten Anzeige und der zweiten Anzeige.
  21. Verfahren (200) nach Anspruch 20, wobei der Fehlerzustand einen kritischen Fehlerzustand umfasst und ferner Folgendes umfasst: Ausführen eines ersten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens, das zumindest zum Teil auf der Meldung basiert, die anzeigt, dass der kritische Fehlerzustand vorliegt.
  22. Verfahren (200) nach Anspruch 20 oder 21, wobei der Fehlerzustand einen fatalen Fehlerzustand umfasst und ferner Folgendes umfasst: Ausführen eines zweiten Wiederherstellungsverfahrens des Wiederherstellungsverfahrens, das zumindest zum Teil basierend auf der Meldung basiert, die anzeigt, dass der fatale Fehlerzustand vorliegt.
  23. Verfahren (200) nach einem der vorhergehenden Ansprüche 20 bis 22, ferner umfassend: Eintreten (220) in einen Time-out-Zustand, der zumindest teilweise auf dem Identifizieren des Fehlerzustands basiert, wobei das Übermitteln der Meldung zumindest zum Teil auf dem Eintreten in den Time-out-Zustand basiert.
  24. Verfahren (200) nach einem der vorhergehenden Ansprüche 20 bis 24, ferner umfassend: Identifizieren von Informationen, die mit dem Fehlerzustand verbunden sind, zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei die zweite Anzeige die mit dem Fehlerzustand verbundenen Informationen anzeigt
  25. Verfahren (200) nach einem der vorhergehenden Ansprüche 20 bis 24, ferner umfassend: Setzen der ersten Anzeige in dem dem Speichersystem zugeordneten Register (180) zumindest zum Teil basierend auf dem Identifizieren des Fehlerzustands, wobei das Übermitteln der Meldung zumindest zum Teil auf dem Setzen der ersten Anzeige basiert.
DE102022101260.3A 2021-01-22 2022-01-20 Ereignismechanismus zur Fehlererkennung Pending DE102022101260A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163140666P 2021-01-22 2021-01-22
US63/140,666 2021-01-22
US17/564,843 2021-12-29
US17/564,843 US20220237079A1 (en) 2021-01-22 2021-12-29 Error detection event mechanism

Publications (1)

Publication Number Publication Date
DE102022101260A1 true DE102022101260A1 (de) 2022-07-28

Family

ID=82320871

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022101260.3A Pending DE102022101260A1 (de) 2021-01-22 2022-01-20 Ereignismechanismus zur Fehlererkennung

Country Status (3)

Country Link
US (1) US20220237079A1 (de)
CN (1) CN114816809A (de)
DE (1) DE102022101260A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7161583B1 (ja) * 2021-06-29 2022-10-26 ウィンボンド エレクトロニクス コーポレーション 半導体装置
KR20240116256A (ko) * 2023-01-20 2024-07-29 삼성전자주식회사 예외 이벤트 처리 방법 및 이의 방법으로 예외 이벤트를 처리하는 스토리지 장치
US20240296087A1 (en) * 2023-03-02 2024-09-05 Hamilton Sundstrand Corporation Ram test with parity error detection and handling

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428180B2 (en) * 2006-01-25 2008-09-23 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
US11023302B2 (en) * 2018-03-07 2021-06-01 Dell Products L.P. Methods and systems for detecting and capturing host system hang events

Also Published As

Publication number Publication date
US20220237079A1 (en) 2022-07-28
CN114816809A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
DE102022101260A1 (de) Ereignismechanismus zur Fehlererkennung
DE112018000180T5 (de) System und verfahren zum adaptiven senden frühzeitiger beendigung unter verwendung eines steuerungsspeicherpuffers
DE112013003255B4 (de) Managementmechanismus für fehlerhafte Blöcke
DE102020107659A1 (de) Zonenbildung für gezonte namensräume
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE102019124450A1 (de) Bandbreitenbegrenzung in solid-state-laufwerken
DE102017104125A1 (de) Zonen von Übersetzungstabellen von logischen in physische Datenadressen mit parallelisiertem Log-Listenreplay
DE102018214010A1 (de) Verfahren und Vorrichtung zur Reduzierung von unbemerkten Datenfehlern in nichtflüchtigen Speichersystemen
DE102016009806A1 (de) Speichern von paritätsdaten getrennt von geschützten daten
DE112014003349T5 (de) Verfahren und Gerät zum Ausführen atomarer Schreibvorgänge
DE102018105440A1 (de) Leistungsausfallbehandlung unter Verwendung von Stoppbefehlen
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
DE102022102388A1 (de) Topologiebasierte zurückziehung in einem speichersystem
DE102022102980A1 (de) Operationsstechniken der datenverlagerung
DE102020132768A1 (de) Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur
DE102022106019A1 (de) Verfahren und vorrichtung für ein gegendrucksignal bei einer speicherchip-rowhammer-bedrohung und hostseitige reaktion
DE102022102434A1 (de) Flüchtiges Register zum Erkennen eines Stromverlusts
DE102022108821A1 (de) Konfigurierbare geschwindigkeit für flush-operationen
DE102019104871A1 (de) Nichtflüchtige dateiaktualisierungsmedien
DE102022119340A1 (de) Auslösen einer auffrischung für einen nichtflüchtigen speicher
DE112021000776T5 (de) Verwaltung von schreib-operationen in einer nichtflüchtigen speichervorrichtung unter verwendung eines variablen vor-lese-spannungspegels
DE102019112751A1 (de) Selektives hintergrund-datenauffrischen für ssd
DE102020128675A1 (de) Puffer zum verringern von schreibverstärkung fehlausgerichteter schreiboperationen
DE112019000158T5 (de) Bereichskollisions-crawler für logische blockadressierung
DE102021117355A1 (de) SSD-verwaltete Host-Schreib-Atomizität mit beliebiger Übertragungslänge

Legal Events

Date Code Title Description
R012 Request for examination validly filed