DE102021126883A1 - Fehleranzeigen für speichersystembefehle - Google Patents

Fehleranzeigen für speichersystembefehle Download PDF

Info

Publication number
DE102021126883A1
DE102021126883A1 DE102021126883.4A DE102021126883A DE102021126883A1 DE 102021126883 A1 DE102021126883 A1 DE 102021126883A1 DE 102021126883 A DE102021126883 A DE 102021126883A DE 102021126883 A1 DE102021126883 A1 DE 102021126883A1
Authority
DE
Germany
Prior art keywords
storage
storage system
command
signature
transitory machine
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
DE102021126883.4A
Other languages
English (en)
Inventor
Prashant Kulli
Randy Gilbert
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102021126883A1 publication Critical patent/DE102021126883A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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
    • 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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In einigen Beispielen empfängt ein System einen Befehl für eine Operation, an der ein Speichersystem beteiligt ist, vergleicht Attribute, die mit dem Befehl verbunden sind, mit einer Signatur, wobei die Signatur auf einer Speichervolumencharakteristik und einer Konfiguration des Speichersystems basiert, und zeigt als Reaktion auf den Vergleich der Attribute, die mit dem Befehl verbunden sind, mit der Signatur einen potenziellen Fehler an, der mit der durch den Befehl angegebenen Operation verbunden ist.

Description

  • Hintergrund
  • Ein Speichersystem kann ein Speichergerät oder eine Reihe von Speichergeräten umfassen. Eine Datenverarbeitungsumgebung kann mehrere Speichersysteme umfassen. Eine Datenverarbeitungsumgebung kann beispielsweise ein Rechenzentrum, eine Cloud-Umgebung, eine Unternehmensumgebung oder jede andere Art von Datenverarbeitungsumgebung umfassen.
  • Figurenliste
  • Einige Ausführungsformen der vorliegenden Offenbarung werden anhand der folgenden Abbildungen beschrieben.
    • Die bis sind Blockdiagramme von Anordnungen, die Speichersysteme und Befehlsprüfmaschinen gemäß einigen Beispielen der vorliegenden Offenbarung umfassen.
    • ist ein Blockdiagramm eines Speichermediums, das maschinenlesbare Anweisungen gemäß einigen Beispielen der vorliegenden Offenbarung speichert.
    • ist ein Blockdiagramm eines Systems gemäß einigen Beispielen.
    • ist ein Flussdiagramm eines Verfahrens gemäß weiteren Beispielen.
  • In den Zeichnungen bezeichnen identische Referenznummern ähnliche, aber nicht unbedingt identische Elemente. Die Abbildungen sind nicht unbedingt maßstabsgetreu, und die Größe einiger Teile kann übertrieben sein, um das gezeigte Beispiel deutlicher zu machen. Darüber hinaus enthalten die Zeichnungen Beispiele und/oder Ausführungsformen, die mit der Beschreibung übereinstimmen; die Beschreibung ist jedoch nicht auf die in den Zeichnungen dargestellten Beispiele und/oder Ausführungsformen beschränkt.
  • Detaillierte Beschreibung
  • In der vorliegenden Offenlegung schließt die Verwendung des Begriffs „ein“, „ein“ oder „die“ auch die Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Auch der Begriff „umfasst“, „einschließlich“, „umfasst“, „umfasst“, „haben“ oder „haben“, wenn er in dieser Offenlegung verwendet wird, spezifiziert das Vorhandensein der angegebenen Elemente, schließt aber das Vorhandensein oder die Zugabe anderer Elemente nicht aus.
  • Es können Befehle erteilt werden, um Operationen in Bezug auf Speichersysteme durchzuführen. Speichersysteme können Speicher-Arrays, Speichergeräte usw. umfassen. Ein Speichersystem kann ein Speichergerät oder mehrere Speichergeräte umfassen. Beispiele für Speichergeräte sind plattenbasierte Speichergeräte (z. B. Festplattenlaufwerke, optische Laufwerke usw.), Solid-State-Laufwerke (z. B. Flash-Speichergeräte usw.) oder andere Arten von Speichergeräten.
  • Darüber hinaus kann ein Speichersystem einen Speicher-Controller enthalten, der den Datenzugriff und andere Vorgänge in Bezug auf die mit dem Speicher-Controller verbundene(n) Speichereinheit(en) verwaltet. Der Speichercontroller und das/die Speichergerät(e) des Speichersystems können zusammen in einem Gehäuse des Speichersystems untergebracht sein, oder der Speichercontroller kann von dem/den Speichergerät(en) getrennt sein.
  • Beispiele für Befehle können einen Befehl zur Migration von Daten von einem Speichersystem auf ein anderes Speichersystem (z. B. zur Durchführung eines Failover oder zur Verschiebung von Daten auf ein aktualisiertes Speichersystem oder auf ein Speichersystem mit geringerer Last), zum Kopieren von Daten von einem Speichersystem auf ein anderes Speichersystem (z. B. zu Zwecken der Datensicherung), zum Erstellen von Speicher-Volumes, zum Löschen von Speicher-Volumes, zum Konfigurieren eines Speichersystems, zum Komprimieren oder Dekomprimieren von Daten in einem Speichersystem, zum Deduplizieren von Daten in einem Speichersystem, zum Verschlüsseln oder Entschlüsseln von Daten in einem Speichersystem usw. umfassen.
  • Ein „Speichervolumen“ bezieht sich auf eine logische Speichereinheit, die einen Container mit Daten darstellt. Ein Speichervolumen kann in einem Speichersystem oder über mehrere Speichersysteme hinweg gespeichert werden. Ein Speichersystem kann ein einzelnes Speichervolumen oder mehrere Speichervolumen (oder Teile eines einzelnen Speichervolumens oder mehrerer Speichervolumen) umfassen.
  • In einer großen EDV-Umgebung, in der eine große Datenmenge in Speichersystemen gespeichert sein kann, kann die Ausführung bestimmter Befehle relativ lange dauern. So kann beispielsweise die Migration einer großen Datenmenge von einem Quellspeichersystem zu einem Zielspeichersystem Stunden oder sogar Tage dauern.
  • Wenn bei einem Befehl, der eine Operation mit einem Speichersystem spezifiziert, aus irgendeinem Grund ein Fehler auftritt, kann viel Zeit vergeudet werden, weil gewartet werden muss, bis die Operation abgeschlossen ist, ein Fehler festgestellt wird, der den Abschluss der Operation verhindert hat, und Maßnahmen ergriffen werden müssen, um den Fehler zu beheben und den Fehler zu beheben.
  • Beispiele für Fehler können eine beliebige oder eine Kombination der folgenden Punkte sein: ein Fehler in den gelesenen oder geschriebenen Daten, ein Programm (einschließlich maschinenlesbarer Anweisungen), das abstürzt oder sich aufhängt, eine Hardwarekomponente, die ein Problem aufweist, das die Hardwarekomponente daran hindert, eine angeforderte Aktion auszuführen (z. B. maschinenlesbare Anweisungen auszuführen, Daten zu speichern, Daten über ein Netz zu übertragen usw.), oder jedes andere Problem, das ein Speichersystem daran hindert, einen Vorgang in der vorgesehenen Weise auszuführen.
  • In einigen Beispielen kann eine Einheit Analysen in Bezug auf Statistiken durchführen, die als Teil von Operationen (z. B. Lese-/Schreiboperationen, Datenmigrationsoperationen, Datenkopieroperationen, Datendeduplizierungsoperationen, Datenkompressions-/Dekompressionsoperationen, Datenverschlüsselungs-/Entschlüsselungsoperationen, Speichersystemkonfigurationsoperationen usw.) mit Speichersystemen gesammelt werden. Die Einheit, die solche Analysen durchführt, kann mit einem Betreiber oder Benutzer der Speichersysteme verbunden sein. Alternativ kann die Einheit, die die Analysen durchführt, mit einem Dienstanbieter verbunden sein, der nicht mit dem Betreiber oder Benutzer der Speichersysteme identisch ist. Bei dem Dienstleister oder Betreiber/Benutzer kann es sich um ein Unternehmen, eine Regierungsbehörde, eine Bildungseinrichtung, eine andere Art von Organisation oder eine Einzelperson handeln. Die Analyse von Statistiken, die im Rahmen des Betriebs von Speichersystemen gesammelt werden, kann von Menschen, Maschinen und/oder Programmen durchgeführt werden.
  • In einigen Beispielen kann die Analyse der Statistiken eine visuelle Inspektion der Statistiken durch einen Menschen beinhalten oder durch Maschinen oder Programme auf der Grundlage von Klassifikatoren oder anderen Arten von maschinellen Lernmodellen durchgeführt werden.
  • Beispiele für Statistiken, die analysiert werden können, umfassen eine beliebige oder eine Kombination aus: einer Menge an Schreib- und/oder Lesevorgängen im Zusammenhang mit einer Operation, einer Menge an Prozessoren, die an der Operation beteiligt sind, einer Speicherkapazität des von der Operation verwendeten Speichers, einer Menge an Netzwerkverkehr im Zusammenhang mit der Operation, Hinweisen auf Fehler, die während der Operation auftreten, einer Menge an Zeit im Zusammenhang mit der Durchführung der Operation usw.
  • Sobald ein Fehler auf der Grundlage der Analyse von Statistiken, die während des Betriebs von Speichersystemen gesammelt wurden, identifiziert wurde, kann ein Bericht an einen Bediener oder Benutzer der Speichersysteme übermittelt werden. Ein „Bericht“ kann sich auf eine beliebige Sammlung von Informationen beziehen (z. B. eine E-Mail oder andere Nachricht, ein Dokument, eine Zusammenfassung, eine grafische Ausgabe usw.).
  • Der Bericht kann Informationen enthalten, die darauf hinweisen, dass bei bestimmten Speichersystemen in einer Computerumgebung als Reaktion auf bestimmte Befehle Fehler auftreten können. Der Bericht kann auch Informationen enthalten, die empfohlene Maßnahmen angeben, die ergriffen werden sollten, um das Auftreten von Fehlern während des Betriebs der Speichersysteme zu verhindern. Die in dem Bericht enthaltenen Informationen können beispielsweise besagen, dass maschinenlesbare Anweisungen (z. B. Software, Firmware usw.) von Speichersystemen aktualisiert werden sollten, dass Hardwarekomponenten von Softwarespeichersystemen aktualisiert oder ersetzt werden sollten, dass die Eigenschaften von Speichervolumen geändert werden sollten usw.
  • In einigen Fällen kann es vorkommen, dass der Bediener oder Benutzer die in dem Bericht empfohlenen Maßnahmen nicht durchführt, z. B. weil er den Bericht nicht versteht, weil er ein Versehen begangen hat, weil er zu beschäftigt ist usw. So kann es vorkommen, dass der Bediener oder Benutzer trotz der Informationen, die ihm zur Vermeidung von Störungen zur Verfügung stehen, beim Betrieb des Speichersystems auf solche Störungen stößt.
  • In Übereinstimmung mit einigen Implementierungen der vorliegenden Offenlegung empfängt ein System einen Befehl für eine Operation, die ein Speichersystem betrifft, vergleicht Attribute, die mit dem Befehl verbunden sind, mit Signaturen, wobei eine Signatur auf einer Speichervolumencharakteristik und einer Konfiguration des Speichersystems basiert, und zeigt einen potenziellen Fehler des Befehls in Reaktion auf den Vergleich der Attribute des Befehls mit der Signatur an. Beachten Sie, dass sich ein Vorgang, der ein Speichersystem betrifft, auf einen Vorgang beziehen kann, der ein einzelnes Speichersystem betrifft, oder auf einen Vorgang, der mehrere Speichersysteme betrifft.
  • ist ein Blockdiagramm einer Beispielanordnung, die Speichersysteme 102-1 bis 102-N umfasst, wobei N ≥ 2 ist. Obwohl in eine Beispielanordnung mit mehreren Speichersystemen 102-1 bis 102-N dargestellt ist, sei darauf hingewiesen, dass in anderen Beispielen eine Beispielanordnung auch nur ein Speichersystem umfassen kann.
  • Das Speichersystem 102-1 umfasst Speichervorrichtungen 104 und eine Speichersteuerung 105. Der Speichercontroller 105 und die Speichergeräte 104 können im selben Gehäuse untergebracht sein, oder der Speichercontroller 105 und die Speichergeräte 104 können voneinander getrennt sein, z. B. in separaten Gehäusen untergebracht. In anderen Beispielen kann das Speichersystem 102-1 nur ein einziges Speichergerät 104 enthalten.
  • Das Speichersystem 102-N kann ebenfalls einen Speicher-Controller und ein einzelnes Speichergerät oder mehrere Speichergeräte umfassen.
  • Das Speichersystem 102-1 umfasst verschiedene Sensoren 106, die Messungen im Zusammenhang mit Operationen des Speichersystems 102-1 (und möglicherweise eines anderen Speichersystems) erfassen können. Zu beachten ist, dass die Sensoren 106 Hardwaresensoren und/oder Sensoren umfassen können, die mit maschinenlesbaren Anweisungen implementiert sind, beispielsweise in Form von Überwachungsagenten, die im Speichersystem 102-1 ausgeführt werden. Obwohl in die Sensoren 106 als Teil des Speichersystems 102-1 dargestellt sind, kann in einigen Beispielen ein Sensor 106 auch außerhalb des Speichersystems 102-1 liegen.
  • Das Speichersystem 102-N kann in ähnlicher Weise Sensoren zur Erfassung von Messwerten enthalten, die mit Vorgängen im Zusammenhang mit dem Speichersystem 102-N (und möglicherweise einem anderen Speichersystem) verbunden sind.
  • Die von den Sensoren in den Speichersystemen 102-1 bis 102-N erfassten Messwerte können über ein Netzwerk 108 an ein Analysesystem 110 übertragen werden. Das Analysesystem 110 kann Teil eines Rechenzentrums, eines Cloud-Systems, eines Server-Computers oder einer anderen Art von Computersystem sein. Beispiele für das Netzwerk 108 können ein Storage Area Network (SAN), ein Local Area Network (LAN), ein Wide Area Network (WAN) oder eine andere Art von Netzwerk sein.
  • Zusätzlich oder alternativ zu den von den Sensoren 106 erfassten Messungen können die Speichersysteme 102-1 bis 102-N und/oder das Analysesystem 110 und/oder ein anderes System andere Informationsquellen enthalten, die mit dem Betrieb der Speichersysteme in Verbindung stehen. Beispiele für andere Informationsquellen können eine beliebige oder eine Kombination der folgenden sein: Protokolle, in die Informationen über den Betrieb des Speichersystems geschrieben werden, eine Datei oder eine Sammlung von Dateien, die die Konfigurationen des Speichersystems beschreiben, ein Dump von Daten, die mit dem Betrieb des Speichersystems verbunden sind, und/oder jede andere Informationsquelle.
  • Informationen in Messungen, die von den Sensoren 106 und/oder anderen Quellen bereitgestellt werden, können Statistiken enthalten, die von einem Statistik-Analysegerät 112 analysiert werden. Beachten Sie, dass die Informationen Statistiken enthalten können, die direkt von der Statistik-Analyse-Engine 112 analysiert werden können, oder alternativ oder zusätzlich kann die Statistik-Analyse-Engine 112 Statistiken basierend auf den Informationen von den Sensoren und/oder anderen Quellen ableiten.
  • Wie hier verwendet, kann sich ein „Motor“ auf eine Hardware-Verarbeitungsschaltung beziehen, die eine beliebige oder eine Kombination aus einem Mikroprozessor, einem Kern eines Multi-Core-Mikroprozessors, einem Mikrocontroller, einer programmierbaren integrierten Schaltung, einem programmierbaren Gate-Array oder einer anderen Hardware-Verarbeitungsschaltung umfassen kann. Alternativ kann sich eine „Engine“ auf eine Kombination aus einer Hardware-Verarbeitungsschaltung und maschinenlesbaren Anweisungen (Software und/oder Firmware) beziehen, die auf der Hardware-Verarbeitungsschaltung ausführbar sind.
  • Das Analysesystem 110 umfasst ferner eine Signaturbereitstellungsmaschine 114, die auf der Grundlage der von der Statistikanalyse-Maschine 112 durchgeführten Analyse Signaturen 116 bereitstellt. In einigen Beispielen können die Signaturen 116 von Menschen (z. B. über eine Benutzerschnittstelle des Analysesystems 110 oder über ein kommunikativ mit dem Analysesystem 110 verbundenes Benutzergerät) als Reaktion auf die von der Statistikanalyse-Engine 112 durchgeführte Analyse bereitgestellt werden. In anderen Beispielen kann die Signaturbereitstellungsmaschine 114 Klassifikatoren oder andere maschinelle Lernmodelle verwenden, um die Signaturen 116 auf der Grundlage der von der Statistikanalyse-Maschine 112 durchgeführten Analyse der Statistiken zu erstellen.
  • Eine „Signatur“ kann ein Muster von Informationen enthalten, das mit einem potenziellen Fehlerzustand korreliert ist, der mit einem durch einen Befehl angezeigten Speichersystemvorgang zusammenhängt. Eine Signatur kann zum Beispiel eine Sammlung von Attributen und möglicherweise mit diesen Attributen verbundenen Regeln umfassen.
  • Zu den Attributen können Attribute gehören, die sich auf Merkmale von Speichermedien beziehen (als „Speichermedien-Attribute“ bezeichnet), und Attribute, die sich auf die Konfiguration von Speichersystemen beziehen (als „Speichersystem-Attribute“ bezeichnet). Ein „Speichermediummerkmal“ bezieht sich auf ein Merkmal eines Speichermediums. Beispiele für Merkmale eines Speichermediums sind eine beliebige oder eine Kombination der folgenden Angaben: Größe eines Speichermediums, Dateisystemversion eines Speichermediums, einem Speichermedium zugeordnete Betriebszweige, Angabe, ob die Größe eines Speichermediums geändert wurde, Verschlüsselungsstatus eines Speichermediums, Komprimierungsstatus eines Speichermediums, Deduplizierungsstatus eines Speichermediums usw.
  • Die Größe eines Speichervolumens kann sich auf eine Datenmenge (z. B. ausgedrückt in Gigabyte, Terabyte usw.) beziehen, die auf dem Speichervolumen gespeichert ist oder gespeichert werden kann.
  • Eine Dateisystemversion eines Speichervolumens kann sich darauf beziehen, mit welcher Version eines Dateisystems die Daten auf dem Speichervolumen verknüpft sind. Ein Dateisystem bezieht sich auf einen Mechanismus, mit dem Daten in Form von Dateien und Verzeichnissen gespeichert werden können. Eine erste Version eines Programms (z. B. Firmware, Software oder andere maschinenlesbare Anweisungen) eines Speichersystems kann Daten in Blöcken entsprechend einer ersten Dateisystemversion schreiben. Eine zweite Version des Programms kann Datenblöcke in Übereinstimmung mit einer zweiten Dateisystemversion schreiben, die sich von der ersten Dateisystemversion unterscheidet. Wenn beispielsweise eine Datenmigration von einem ersten Speichersystem, auf dem die erste Version des Programms läuft, zu einem zweiten Speichersystem, auf dem die zweite Version des Programms läuft, stattfindet, können Inkompatibilitäten zwischen Blöcken der ersten Dateisystemversion und Blöcken der zweiten Dateisystemversion auftreten. Solche Inkompatibilitätsprobleme können auch bei anderen Arten von Operationen auftreten.
  • Mit einem Speichermedium verbundene Betriebszweige können sich auf eine Hierarchie von Vorgängen beziehen, die das Speichermedium betreffen. Eine Hierarchie von Vorgängen, die das Speichervolumen betreffen, kann beispielsweise umfassen, dass zuerst ein Schnappschuss des Speichervolumens erstellt wird, gefolgt vom Klonen des Schnappschusses des Speichervolumens, gefolgt von der Wiederherstellung aus dem Schnappschuss des Speichervolumens usw.
  • Eine Anzeige, ob ein Speichervolumen in der Größe verändert wurde, kann einen Parameter enthalten, der, wenn er auf einen ersten Wert eingestellt ist, anzeigt, dass das Speichervolumen in der Größe verändert wurde (die Größe des Speichervolumens wurde vergrößert oder verkleinert), und der, wenn er auf einen anderen zweiten Wert eingestellt ist, anzeigt, dass das Speichervolumen nicht in der Größe verändert wurde.
  • Der Verschlüsselungsstatus eines Speichermediums gibt an, ob die Daten des Speichermediums verschlüsselt oder unverschlüsselt sind.
  • Der Komprimierungsstatus eines Speichervolumens gibt an, ob die Daten des Speichervolumens komprimiert oder nicht komprimiert sind.
  • Der Deduplizierungsstatus eines Speichervolumens gibt an, ob die Daten des Speichervolumens dedupliziert oder nicht dedupliziert sind. Die Datendeduplizierung bezieht sich auf das Entfernen von Duplikaten von Datenabschnitten (z. B. Datenblöcken), so dass doppelte Datenabschnitte aus verschiedenen Datenobjekten (z. B. verschiedenen Dateien) nicht in einem Speichersystem gespeichert werden.
  • Eine Speichersystemkonfiguration (auch als „Speichersystemmerkmal“ bezeichnet) kann sich auf eine Konfiguration eines Speichersystems beziehen, z. B. auf eine Version eines Betriebssystems, einer Firmware oder eines anderen Programms im Speichersystem. Eine Speichersystemkonfiguration kann sich alternativ auch auf eine Hardwarekonfiguration beziehen, wie z. B. eine physische Ressourceneigenschaft, z. B. einen im Speichersystem enthaltenen Prozessortyp oder eine Ressourcenkapazität einer physischen Ressource im Speichersystem (z. B. eine Anzahl von Prozessoren im Speichersystem, eine Geschwindigkeit des/der Prozessors/Prozessoren im Speichersystem, eine Speicherkapazität eines Speichers oder eines anderen Speichers des Speichersystems, eine Kommunikationsbandbreite einer Netzwerkschnittstelle des Speichersystems usw.). Als weiteres Beispiel kann sich die Konfiguration des Speichersystems auf einen Lastzustand des Speichersystems beziehen, z. B. darauf, welcher Prozentsatz der Verarbeitungsressourcen des Speichersystems verbraucht wird oder verfügbar ist, welcher Prozentsatz der Speicherressourcen des Speichersystems verbraucht wird oder verfügbar ist, eine Menge von Arbeitslasten, die im Speichersystem ausgeführt werden, und so weiter.
  • Ein weiteres Beispiel: Eine Speichersystemkonfiguration kann sich auf eine Gruppe beziehen, zu der ein Speichersystem gehört. Ein Befehl kann festlegen, dass mehrere Speichersysteme in einer bestimmten Gruppe zusammengeführt werden, wobei der Befehl mit einem Attribut verknüpft ist, das die bestimmte Gruppe angibt (z. B. identifiziert). Ein weiteres Beispiel: Eine Speichersystemkonfiguration kann sich auf eine mit einem Speichersystem verbundene Netzwerkkonfiguration beziehen. Eine Netzwerkkonfiguration kann durch ein Netzwerkattribut oder mehrere Netzwerkattribute definiert werden, wie z. B. Netzwerkadressen (z. B. Internetprotokoll (IP)-Adressen, Media Access Control (MAC)-Adressen usw.), Ports, Kommunikationsprotokolle, Sicherheitsprotokolle usw.
  • Regeln, die in eine Signatur aufgenommen werden können, können eine Bedingung angeben, mit der ein Attribut (oder eine Kombination von Attributen) verglichen wird, um festzustellen, ob das Attribut (oder die Kombination von Attributen) die Bedingung erfüllt. Wenn beispielsweise die Größe eines Speichervolumens einen Größenschwellenwert überschreitet und eine Version einer Firmware im Speichersystem älter ist als eine aktuelle Version der Firmware, kann dies auf eine potenzielle Fehlerbedingung hinweisen, wenn ein bestimmter Befehlstyp (z. B. ein Datenmigrationsbefehl) ausgeführt wird, um das Speichervolumen von einem Quellspeichersystem zu einem Zielspeichersystem zu migrieren. Beachten Sie, dass es sich bei der geprüften Version der Firmware um die Version der Firmware im Quellspeichersystem und/oder im Zielspeichersystem handeln kann. Im vorstehenden Beispiel umfassen die Attribute der Signatur ein Größenattribut und ein Firmwareversionsattribut, und die in der Signatur angegebene Bedingung umfasst einen Schwellenwert für das Größenattribut und einen Firmwareversionswert.
  • Als weiteres Beispiel kann eine Signatur ein Dateisystemversionsattribut und ein Betriebssystemversionsattribut enthalten, und eine Bedingung in der Signatur kann sein, ob eine durch das Dateisystemversionsattribut angezeigte Dateisystemversion älter als ein bestimmter Dateisystemversionswert ist, und ob das Betriebssystemversionsattribut neuer als ein Betriebssystemversionswert ist.
  • Ein weiteres Beispiel: Eine Signatur kann ein Attribut zur Größenänderung und ein Attribut für Betriebszweige enthalten, und eine Bedingung in der Signatur kann sein, ob ein in der Größe verändertes Speichervolumen mit einer bestimmten Hierarchie von Betriebszweigen verbunden ist.
  • Es können auch andere Beispiele für Unterschriften angeführt werden.
  • Die Signaturbereitstellungsmaschine 114 kann die Signaturen 116 an das Speichersystem 102-1 senden. In dem Speichersystem 102-1 können die Signaturen 116 in einem Speicher 118 des Speichersystems 102-1 gespeichert werden. Der Speicher 118 kann unter Verwendung einer oder mehrerer Speichervorrichtungen implementiert werden. Beispiele für Speichervorrichtungen können eine beliebige oder eine Kombination der folgenden Vorrichtungen sein: eine dynamische Direktzugriffsspeicher-Vorrichtung (DRAM), eine statische Direktzugriffsspeicher-Vorrichtung (SRAM), eine Flash-Speicher-Vorrichtung usw.
  • In den Beispielen gemäß enthält die Speichersteuerung 105 im Speichersystem 102-1 eine Befehlsprüfmaschine 120, die Befehle prüft, die Operationen anfordern, die Speichersysteme, einschließlich des Speichersystems 102-1, betreffen. Obwohl in die Befehlsprüfmaschine 120 als Teil der Speichersteuerung 105 dargestellt ist, kann die Befehlsprüfmaschine 120 in anderen Beispielen von der Speichersteuerung 105 getrennt sein (einige andere Beispiele werden in Verbindung mit und weiter unten erörtert).
  • In einigen Beispielen kann ein Befehl 122 von einem Host-Gerät 124 erteilt werden. Ein „Befehl“ kann sich auf eine beliebige Nachricht, ein Informationselement oder eine andere Angabe beziehen, die ein Speichersystem veranlasst, einen in der Anfrage angegebenen Vorgang durchzuführen.
  • Das Host-Gerät 124 sendet den Befehl 122 über das Netz 108 an das Speichersystem 102-1 (oder an mehrere Speichersysteme). Die Befehlsprüfmaschine 120 prüft den Befehl 122 in Bezug auf die im Speicher 118 gespeicherten Signaturen 116.
  • Die Prüfung eines Befehls in Bezug auf eine Signatur kann sich auf den Vergleich von Attributen, die dem Befehl zugeordnet sind, mit der Signatur oder genauer gesagt mit einer durch die Signatur festgelegten Bedingung beziehen. Bei der Prüfung wird festgestellt, ob die dem Befehl zugeordneten Attribute der Signatur die in der Signatur angegebene Bedingung erfüllen. Die dem Befehl zugeordneten Attribute können ein Speichervolumenattribut und ein Speichersystemattribut umfassen.
  • Auf der Grundlage der Überprüfung des Befehls 122 in Bezug auf die Signaturen 116 kann die Befehlsprüfmaschine 120 feststellen, ob ein durch den Befehl 122 angezeigter Vorgang einen potenziellen Fehler verursachen kann oder nicht.
  • Wenn die Befehlsüberprüfungs-Engine 120 feststellt, dass ein durch den Befehl 122 angezeigter Vorgang einen potenziellen Fehler verursachen kann, kann die Befehlsüberprüfungs-Engine 120 einen Hinweis auf den potenziellen Fehler geben, beispielsweise in Form eines Signals, einer Nachricht, eines Informationselements usw. Der Speichercontroller 105 kann auf die Anzeige des potenziellen Fehlers reagieren, indem er eine Abhilfemaßnahme ergreift, die eine der folgenden Maßnahmen oder eine Kombination der folgenden Maßnahmen umfassen kann: Verhindern der Ausführung des Befehls, Anhalten eines vom Befehl angeforderten Vorgangs im Speichersystem 102-1, Abschalten oder Deaktivieren des Speichersystems 102-1, Aktualisieren eines Programms (z. B. eines Betriebssystems, einer Firmware usw.) des Speichersystems 102-1, Senden einer Benachrichtigung an einen Benutzer usw.
  • Mehrere Host-Geräte 124 können über das Netzwerk 108 mit den Speichersystemen 102-1 bis 102-N verbunden werden. Beispiele für Host-Geräte können eine beliebige oder eine Kombination der folgenden Geräte sein: ein Server-Computer, ein Benutzer-Computer oder jede andere Art von elektronischem Gerät, das Befehle an die Speichersysteme senden kann, um Operationen mit den Speichersystemen auszulösen.
  • zeigt ein Beispiel, bei dem sich die Befehlsprüfmaschine 120 in demselben Speichersystem 102-1 befindet, das den Befehl 122 empfängt, der die Durchführung eines Vorgangs auf dem Speichersystem 102-1 anfordert.
  • In einigen Beispielen kann die durch den Befehl 122 angeforderte Operation innerhalb des Speichersystems 102-1 stattfinden, wie z. B. eine Lese-/Schreiboperation von in den Speichergeräten 104 gespeicherten Daten, eine Datendeduplizierungsoperation, bei der Daten in den Speichergeräten 104 dedupliziert werden, eine Datenkomprimierungs- oder -dekomprimierungsoperation, bei der Daten in den Speichergeräten 104 komprimiert oder dekomprimiert werden, eine Datenverschlüsselungs- oder -entschlüsselungsoperation, bei der Daten in den Speichergeräten 104 verschlüsselt oder entschlüsselt werden, eine Konfigurationsoperation, bei der das Speichersystem konfiguriert wird, und so weiter.
  • Die Konfiguration eines Speichersystems kann sich auf die Änderung einer Einstellung oder eines anderen Merkmals des Speichersystems beziehen, z. B. durch Änderung von Parametern, die den Betrieb eines Betriebssystems (OS), einer Firmware oder eines anderen Programms des Speichersystems steuern. Die Konfiguration eines Speichersystems kann sich alternativ auch auf die Änderung eines Programms im Speichersystem beziehen, z. B. durch Aktualisierung des Programms, Hinzufügen eines Programms oder Entfernen eines Programms.
  • In einigen Beispielen kann das Analysesystem 110 zusätzlich zu der Befehlsprüfungs-Engine 120, die im Speichersystem 102-1 oder an anderer Stelle enthalten sein kann, auch eine Speichersystem-Identifizierungs-Engine 130 enthalten, die Speichersysteme identifizieren kann, die für Fehler anfällig sein können. Beispielsweise kann auf der Grundlage der von der Statistikanalyse-Engine 112 durchgeführten Analyse festgestellt werden, dass Speichersysteme mit bestimmten Speichersystemkonfigurationen anfällig für Fehler sind, wenn bestimmte Befehle in Bezug auf diese Speichersysteme ausgeführt werden. Diese Feststellung kann von einem Menschen oder von einer Maschine oder einem Programm unter Verwendung von Klassifizierern oder maschinellen Lernmodellen getroffen werden.
  • Die Speichersystem-Identifizierungs-Engine 130 erstellt eine Liste 132 von Speichersystemen, die als fehleranfällig identifiziert wurden, und korreliert die Speichersysteme in der Liste 132 mit entsprechenden Befehlen, die entsprechende Fehler auslösen können. Wenn ein Befehl, wie der Befehl 122, vom Analysesystem 110 erkannt wird, vergleicht das Analysesystem 110 den Befehl mit den korrelierten Befehlen in der Liste 132 der Speichersysteme. Wenn der Befehl mit einem Befehl in der Liste 132 der Speichersysteme übereinstimmt, kann das Analysesystem 110 das/die Speichersystem(e) benachrichtigen, das/die mit dem übereinstimmenden Befehl in der Liste 132 der Speichersysteme korreliert ist/sind, um die benachrichtigten Speichersysteme darüber zu informieren, dass das/die Speichersystem(e) einen Fehler erleiden könnten, wenn der Befehl ausgeführt würde. Das (die) Speichersystem(e) kann (können) dann Maßnahmen ergreifen, um den Befehl nicht auszuführen, den durch den Befehl ausgelösten Vorgang zu stoppen oder eine andere Abhilfemaßnahme zu ergreifen.
  • zeigt ein weiteres Beispiel, bei dem die Befehlsprüfmaschine 120 in einem entfernten System 200 implementiert ist, das von den Speichersystemen 202-1 bis 202-N entfernt ist. Jedes Speichersystem 202-i, i = 1 bis N, umfasst ein Speichergerät oder mehrere Speichergeräte sowie einen Speicher-Controller, der den Zugriff auf das/die Speichergerät(e) verwaltet.
  • In einigen Beispielen kann das entfernte System 200 das Analysesystem 110 von sein. In anderen Beispielen kann das entfernte System 200 von jedem der Analysesysteme 110 und den Speichersystemen 202-1 bis 202-N getrennt sein.
  • Das entfernte System 200 umfasst einen Speicher 204, der die Signaturen 116 speichert. In Beispielen, in denen das entfernte System 200 das Analysesystem 110 ist, werden die lokal von der Signaturbereitstellungsmaschine 114 bereitgestellten Signaturen 116 im Speicher 204 gespeichert. In anderen Beispielen, in denen das entfernte System 200 vom Analysesystem 110 getrennt ist, sendet die Signaturbereitstellungs-Engine 114 des Analysesystems 110 die Signaturen 116 an das entfernte System 200, z. B. über das Netzwerk 108.
  • Ein Host-Gerät 124 sendet einen Befehl 206 an ein Speichersystem 202-1 oder an mehrere Speichersysteme 202-1 bis 202-N. Der Befehl 206 wird auch von der Befehlsprüfmaschine 120 im entfernten System 200 empfangen, die eine Überprüfung des Befehls 206 in Bezug auf die Signaturen 116 durchführt. Wenn die Befehlsprüfmaschine 120 anzeigt, dass ein potenzieller Fehler auftreten kann, kann die Befehlsprüfmaschine 120 eine solche Anzeige an ein Speichersystem oder mehrere Speichersysteme (jedes der Systeme 202-1 bis 202-N, bei dem ein Fehler auftreten kann) senden. Das Speichersystem, das die Fehlermeldung von dem entfernten System 200 erhält, kann als Reaktion auf die Fehlermeldung eine Abhilfemaßnahme ergreifen.
  • zeigt ein weiteres Anordnungsbeispiel, bei dem die Befehlsprüfmaschine 120 in einem Reservespeichersystem 302 vorgesehen ist, das mit einem Primärspeichersystem 304 verbunden ist.
  • Das Standby-Speichersystem 302 dient der Hochverfügbarkeit (HA) im Falle eines Fehlers des primären Speichersystems 304. Sollte beim primären Speichersystem 304 ein Fehler auftreten, der das primäre Speichersystem 304 daran hindert, weiterhin ordnungsgemäß zu funktionieren, kann das Standby-Speichersystem 302 den Betrieb des primären Speichersystems 304 übernehmen.
  • Im Beispiel von können eine Speichersteuerung 306 des primären Speichersystems 304 und eine Speichersteuerung 308 des Reservespeichersystems 302 beide auf dieselbe Sammlung von Speichergeräten 104 zugreifen. In anderen Beispielen können sowohl das primäre Speichersystem 304 als auch das Reservespeichersystem 302 jeweils eine andere Sammlung von Speichergeräten enthalten.
  • Das Befehlsprüfsystem 120 ist in der Speichersteuerung 308 des Reservespeichersystems 302 enthalten. Die Speichersteuerung 308 umfasst einen Speicher 310, der die Signaturen 116 speichert, die vom Analysesystem 110 ( ) empfangen werden können. Da sich das Reservespeichersystem 302 im Leerlauf befinden kann oder anderweitig eine geringere Arbeitslast als das primäre Speichersystem 304 aufweist, ermöglicht die Durchführung der Befehlsprüfung im Reservespeichersystem 302 eine effektivere Nutzung der Ressourcen der Speichersysteme 304 und 302.
  • Ein Host-Gerät 124 kann einen Befehl 312 über das Netzwerk 108 an das primäre Speichersystem 304 senden, um einen Vorgang anzufordern, der das primäre Speichersystem 304 betrifft. Der Befehl 312 wird auch von der Befehlsprüfmaschine 120 im Reservespeichersystem 302 empfangen.
  • Wenn die Befehlsüberprüfungs-Engine 120 im Standby-Speichersystem 302 einen potenziellen Fehler in Verbindung mit dem Befehl 312 erkennt, kann die Befehlsüberprüfungs-Engine 120 eine Fehleranzeige an das primäre Speichersystem 304 senden, entweder über das Netzwerk 108 oder über eine dedizierte Kommunikationsverbindung zwischen dem primären Speichersystem 304 und dem Standby-Speichersystem 302. Die Fehleranzeige kann vom primären Speichersystem 304 verwendet werden, um eine Abhilfemaßnahme zur Behebung des potenziellen Fehlerzustands zu ergreifen.
  • ist ein Blockdiagramm eines nicht-transitorischen maschinenlesbaren oder computerlesbaren Speichermediums 400, das maschinenlesbare Anweisungen speichert, die bei Ausführung ein System veranlassen, verschiedene Aufgaben durchzuführen. Das System kann ein Speichersystem, ein von einem Speichersystem entferntes System oder ein Standby-Speichersystem umfassen.
  • Die maschinenlesbaren Anweisungen umfassen Befehlsempfangsanweisungen 402 zum Empfang eines Befehls für einen Vorgang, der ein Speichersystem betrifft. Der Befehl kann z. B. von einem Host-Gerät 124 in , oder empfangen werden.
  • Die maschinenlesbaren Anweisungen umfassen Befehlsattribut-Vergleichsanweisungen 404, um mit dem Befehl verbundene Attribute mit einer Signatur zu vergleichen, wobei die Signatur auf einer Speichervolumencharakteristik und einer Konfiguration des Speichersystems basiert.
  • Beispielsweise umfasst das Merkmal des Speichervolumens eine Größe des Speichervolumens, und der Vergleich soll feststellen, ob die Größe des Speichervolumens eine Größenbedingung erfüllt.
  • Ein weiteres Beispiel: Das Merkmal des Speichervolumens umfasst eine Dateisystemversion, die mit einem Speichervolumen verbunden ist, und der Vergleich soll feststellen, ob die mit dem Speichervolumen verbundene Dateisystemversion eine Bedingung erfüllt (z. B. älter oder neuer als eine bestimmte Dateisystemversion ist).
  • Ein weiteres Beispiel ist, dass die Speichervolumencharakteristik Betriebszweige enthält, die mit einem Speichervolumen verbunden sind, und dass der Vergleich dazu dient, festzustellen, ob die mit dem Speichervolumen verbundenen Betriebszweige eine Bedingung erfüllen (z. B. eine bestimmte Hierarchie von Betriebszweigen enthalten).
  • Ein weiteres Beispiel ist, dass die Speichervolumencharakteristik eine Angabe darüber enthält, ob ein Speichervolumen in der Größe verändert wurde, und dass der Vergleich dazu dient, festzustellen, ob das Speichervolumen in der Größe verändert wurde.
  • Ein weiteres Beispiel ist, dass das Merkmal des Speichervolumens einen Verschlüsselungszustand, einen Komprimierungszustand oder einen Deduplizierungszustand eines Speichervolumens umfasst, und der Vergleich dazu dient, festzustellen, ob der Verschlüsselungszustand, der Komprimierungszustand oder der Deduplizierungszustand des Speichervolumens eine bestimmte Bedingung erfüllt.
  • Beispielsweise enthält die Konfiguration des Speichersystems eine Version eines Programms (z. B. eines Betriebssystems, einer Firmware oder eines anderen Programms) im Speichersystem, und der Vergleich soll feststellen, ob die Version des Programms eine Bedingung erfüllt (z. B. ob die Version des Programms neuer oder älter ist als eine bestimmte Programmversion).
  • Ein weiteres Beispiel ist, dass die Konfiguration des Speichersystems eine physikalische Ressourceneigenschaft des Speichersystems enthält und der Vergleich dazu dient, festzustellen, ob die physikalische Ressourceneigenschaft des Speichersystems eine Bedingung erfüllt.
  • Ein weiteres Beispiel: Die Konfiguration des Speichersystems umfasst einen Lastzustand des Speichersystems, und der Vergleich soll feststellen, ob der Lastzustand des Speichersystems eine Bedingung erfüllt.
  • Ein weiteres Beispiel ist, dass die Konfiguration des Speichersystems eine Gruppe umfasst, zu der das Speichersystem gehört, und dass der Vergleich dazu dient, festzustellen, ob die Gruppe, zu der das Speichersystem gehört, eine Bedingung erfüllt.
  • Ein weiteres Beispiel ist, dass die Konfiguration des Speichersystems eine mit dem Speichersystem verknüpfte Netzwerkkonfiguration umfasst, und dass der Vergleich dazu dient, festzustellen, ob die Netzwerkkonfiguration eine Bedingung erfüllt.
  • Die maschinenlesbaren Anweisungen umfassen Anweisungen zur Anzeige eines potenziellen Fehlers 406, die auf den Vergleich der mit dem Befehl verbundenen Attribute mit der Signatur reagieren, um einen potenziellen Fehler anzuzeigen, der mit der durch den Befehl angegebenen Operation verbunden ist.
  • ist ein Blockdiagramm eines Systems 500, das einen Hardwareprozessor 502 (oder mehrere Hardwareprozessoren) enthält. Das System 500 umfasst ferner ein Speichermedium 504, auf dem maschinenlesbare Anweisungen gespeichert sind, die auf dem Hardware-Prozessor 502 ausgeführt werden können, um verschiedene Aufgaben durchzuführen.
  • Ein Hardware-Prozessor kann ein Mikroprozessor, ein Kern eines Multi-Core-Mikroprozessors, ein Mikrocontroller, eine programmierbare integrierte Schaltung, ein programmierbares Gate-Array oder eine andere Hardware-Verarbeitungsschaltung sein. Maschinenlesbare Befehle, die auf einem Hardware-Prozessor ausgeführt werden können, können sich auf die Befehle beziehen, die auf einem einzelnen Hardware-Prozessor oder auf die Befehle, die auf mehreren Hardware-Prozessoren ausgeführt werden können.
  • Die maschinenlesbaren Befehle im Speichermedium 504 enthalten Befehlsempfangsbefehle 506, um einen Befehl für eine Operation zu empfangen, die ein Speichersystem betrifft.
  • Die maschinenlesbaren Anweisungen im Speichermedium 504 enthalten Anweisungen 508 zur Bestimmung der Attributbedingungen, um festzustellen, ob die mit dem Befehl verbundenen Attribute eine Signatur aus einer Vielzahl von Signaturen erfüllen, die auf Statistiken in Bezug auf den Betrieb von Speichersystemen basieren, wobei eine Signatur aus der Vielzahl von Signaturen einem Speichervolumenmerkmal und einer Speichersystemkonfiguration entspricht.
  • Die maschinenlesbaren Anweisungen im Speichermedium 504 enthalten Anweisungen 510 zur Anzeige eines potenziellen Fehlers, um als Reaktion auf die Feststellung, dass die dem Befehl zugeordneten Attribute eine erste Signatur der Vielzahl von Signaturen erfüllen, eine Anzeige eines potenziellen Fehlers zu liefern, der mit der durch den Befehl angegebenen Operation verbunden ist.
  • ist ein Flussdiagramm eines Prozesses 600 gemäß einigen Beispielen, der von einem System (z. B. einem Speichersystem, dem Analysesystem 110 von , dem entfernten System 200 von , dem Reservespeichersystem 302 von usw.) durchgeführt werden kann.
  • Der Prozess 600 umfasst den Empfang (bei 602) eines Befehls für eine Operation, die ein Speichersystem betrifft, wobei der Befehl mit einem ersten Attribut, das sich auf ein Speichervolumenmerkmal eines Speichervolumens bezieht, auf dem die Operation durchgeführt werden soll, und einem zweiten Attribut, das mit einer Konfiguration des Speichersystems verbunden ist, verknüpft ist.
  • Der Prozess 600 umfasst die Bestimmung (bei 604), ob die ersten und zweiten Attribute, die dem Befehl zugeordnet sind, einer Signatur entsprechen.
  • Der Prozess 600 umfasst als Reaktion auf die Feststellung, dass die ersten und zweiten Attribute, die mit dem Befehl verbunden sind, die Signatur erfüllen, die Anzeige (bei 606) eines potenziellen Fehlers, der mit der durch den Befehl angegebenen Operation verbunden ist.
  • Ein Speichermedium (z.B., 400 von oder von ) kann eine beliebige oder eine Kombination der folgenden Elemente umfassen: eine Halbleiterspeichervorrichtung wie ein dynamischer oder statischer Direktzugriffsspeicher (DRAM oder SRAM), ein löschbarer und programmierbarer Festwertspeicher (EPROM), ein elektrisch löschbarer und programmierbarer Festwertspeicher (EEPROM) und ein Flash-Speicher oder eine andere Art von nichtflüchtiger Speichervorrichtung; eine Magnetplatte wie eine Festplatte, eine Diskette und eine Wechselplatte; ein anderes magnetisches Medium einschließlich eines Bandes; ein optisches Medium wie eine Compact Disk (CD) oder eine digitale Videodisk (DVD); oder eine andere Art von Speichervorrichtung. Es ist zu beachten, dass die oben beschriebenen Anweisungen auf einem einzigen computer- oder maschinenlesbaren Speichermedium oder alternativ auf mehreren computer- oder maschinenlesbaren Speichermedien bereitgestellt werden können, die in einem großen System mit möglicherweise mehreren Knotenpunkten verteilt sind. Ein solches computerlesbares oder maschinenlesbares Speichermedium oder solche Speichermedien werden als Teil eines Artikels (oder eines Herstellungsartikels) betrachtet. Ein Artikel oder Herstellungsgegenstand kann sich auf jede hergestellte Einzelkomponente oder mehrere Komponenten beziehen. Das Speichermedium oder die Speichermedien können sich entweder in der Maschine befinden, auf der die maschinenlesbaren Anweisungen ausgeführt werden, oder an einem entfernten Standort, von dem maschinenlesbare Anweisungen über ein Netzwerk zur Ausführung heruntergeladen werden können.
  • In der vorstehenden Beschreibung sind zahlreiche Details aufgeführt, um ein Verständnis des hierin offengelegten Themas zu vermitteln. Allerdings können Implementierungen ohne einige dieser Details praktiziert werden. Andere Implementierungen können Modifikationen und Abweichungen von den oben beschriebenen Details enthalten. Es ist beabsichtigt, dass die beigefügten Ansprüche solche Modifikationen und Variationen abdecken.

Claims (20)

  1. Nicht-transitorisches maschinenlesbares Speichermedium, das Anweisungen enthält, die bei der Ausführung ein System dazu veranlassen: einen Befehl für eine Operation empfangen, die ein Speichersystem betrifft; Vergleichen von Attributen, die mit dem Befehl verbunden sind, mit einer Signatur, wobei die Signatur auf einer Speichervolumencharakteristik und einer Konfiguration des Speichersystems basiert; und als Reaktion auf den Vergleich der dem Befehl zugeordneten Attribute mit der Signatur einen potenziellen Fehler im Zusammenhang mit der durch den Befehl angegebenen Operation anzuzeigen.
  2. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Speichervolumencharakteristik eine Größe eines Speichervolumens umfasst und der Vergleich dazu dient, festzustellen, ob die Größe des Speichervolumens eine Größenbedingung erfüllt.
  3. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Speichervolumencharakteristik eine Dateisystemversion umfasst, die mit einem Speichervolumen verbunden ist, und der Vergleich dazu dient, zu bestimmen, ob die mit dem Speichervolumen verbundene Dateisystemversion eine Bedingung erfüllt.
  4. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Speichervolumencharakteristik Betriebszweige umfasst, die mit einem Speichervolumen verbunden sind, und der Vergleich dazu dient, festzustellen, ob die mit dem Speichervolumen verbundenen Betriebszweige eine Bedingung erfüllen.
  5. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Speichervolumencharakteristik eine Angabe darüber umfasst, ob ein Speichervolumen in der Größe verändert wurde, und der Vergleich dazu dient, festzustellen, ob das Speichervolumen in der Größe verändert wurde.
  6. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Speichervolumencharakteristik einen Verschlüsselungszustand, einen Komprimierungszustand oder einen Deduplizierungszustand eines Speichervolumens umfasst, und der Vergleich dazu dient, zu bestimmen, ob der Verschlüsselungszustand, der Komprimierungszustand oder der Deduplizierungszustand des Speichervolumens eine bestimmte Bedingung erfüllt.
  7. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Konfiguration des Speichersystems eine Version eines Programms im Speichersystem umfasst und der Vergleich dazu dient, festzustellen, ob die Version des Programms eine Bedingung erfüllt.
  8. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Konfiguration des Speichersystems eine physikalische Ressourceneigenschaft des Speichersystems oder einen Lastzustand des Speichersystems umfasst und der Vergleich dazu dient, zu bestimmen, ob die physikalische Ressourceneigenschaft oder der Lastzustand des Speichersystems eine Bedingung erfüllt.
  9. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Konfiguration des Speichersystems eine Gruppe umfasst, zu der das Speichersystem gehört, und der Vergleich dazu dient, festzustellen, ob die Gruppe, zu der das Speichersystem gehört, eine Bedingung erfüllt.
  10. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei die Konfiguration des Speichersystems eine mit dem Speichersystem verbundene Netzwerkkonfiguration umfasst und der Vergleich dazu dient, festzustellen, ob die Netzwerkkonfiguration eine Bedingung erfüllt.
  11. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei das Speichersystem ein primäres Speichersystem ist und das System, in dem die Anweisungen ausführbar sind, ein mit dem primären Speichersystem verbundenes Standby-Speichersystem ist.
  12. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei das System, in dem die Befehle ausführbar sind, das Speichersystem ist und die Befehle bei Ausführung das Speichersystem veranlassen: die Signatur von einem entfernten System empfangen, das die Signatur auf der Grundlage von Analysen abgeleitet hat, die an Statistiken im Zusammenhang mit Operationen von Speichersystemen durchgeführt wurden.
  13. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 1, wobei das System, in dem die Befehle ausführbar sind, von dem Speichersystem entfernt ist und wobei die Befehle bei ihrer Ausführung das System veranlassen: über ein Netz an das Speichersystem eine Anzeige des potenziellen Fehlers senden, der mit dem durch den Befehl angegebenen Vorgang verbunden ist.
  14. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 13, wobei die Anweisungen bei der Ausführung das System veranlassen: eine Vielzahl von Speichersystemen zu identifizieren, die für Fehler anfällig sind; über das Netz von einem ersten Speichersystem aus der Vielzahl der Speichersysteme Informationen zu einem bestimmten Befehl empfangen, der auf dem ersten Speichersystem auszuführen ist; festzustellen, dass das erste Speichersystem eines aus der Vielzahl der Speichersysteme ist; und als Reaktion auf den Empfang der Informationen, die sich auf den gegebenen Befehl beziehen, und auf die Feststellung, dass das erste Speichersystem eines der mehreren Speichersysteme ist, über das Netz eine Anzeige eines potenziellen Fehlers an das erste Speichersystem senden, der mit einem durch den gegebenen Befehl angezeigten Vorgang am ersten Speichersystem verbunden ist.
  15. System, das Folgendes umfasst: einen Prozessor; und ein nicht-übertragbares Speichermedium, das Anweisungen speichert, die auf dem Prozessor ausgeführt werden können, um: einen Befehl für eine Operation empfangen, die ein Speichersystem betrifft; Bestimmen, ob mit dem Befehl verbundene Attribute eine Signatur einer Vielzahl von Signaturen erfüllen, die auf Statistiken basieren, die sich auf Operationen von Speichersystemen beziehen, wobei eine Signatur der Vielzahl von Signaturen einem Speichervolumenmerkmal und einer Speichersystemkonfiguration entspricht; und als Reaktion auf die Feststellung, dass die dem Befehl zugeordneten Attribute einer ersten Signatur aus der Vielzahl von Signaturen entsprechen, einen Hinweis auf einen potenziellen Fehler im Zusammenhang mit der durch den Befehl angezeigten Operation geben.
  16. System nach Anspruch 15, wobei der Prozessor und das nicht-übertragbare Speichermedium Teil des Speichersystems sind und wobei die Anweisungen auf dem Prozessor ausführbar sind, um: als Reaktion auf die Anzeige des potenziellen Fehlers einen Betriebsstopp auslösen oder die Ausführung des Befehls verhindern.
  17. System nach Anspruch 16, wobei die Anweisungen auf dem Prozessor ausführbar sind, um: die Vielzahl von Signaturen über ein Netzwerk von einem entfernten System empfangen, das die Vielzahl von Signaturen auf der Grundlage von Analysen der Statistiken in Bezug auf die Operationen der Speichersysteme abgeleitet hat.
  18. System nach Anspruch 17, wobei das Netzwerk einen Management-Kommunikationskanal umfasst, über den die mehreren Signaturen empfangen werden und über den die Anweisungen auf dem Prozessor ausführbar sind, um Heartbeat-Angaben an das entfernte System zu senden.
  19. Verfahren, das Folgendes umfasst: Empfangen eines Befehls für eine Operation, die ein Speichersystem einbezieht, durch ein System, das einen Hardware-Prozessor umfasst, wobei der Befehl mit einem ersten Attribut, das sich auf ein Speichervolumenmerkmal eines Speichervolumens bezieht, auf dem die Operation durchgeführt werden soll, und einem zweiten Attribut, das mit einer Konfiguration des Speichersystems verbunden ist, verknüpft ist; Bestimmen, durch das System, ob die ersten und zweiten Attribute, die mit dem Befehl verbunden sind, eine Signatur erfüllen; und als Reaktion auf die Feststellung, dass die ersten und zweiten Attribute, die dem Befehl zugeordnet sind, die Signatur erfüllen, Anzeige eines potenziellen Fehlers durch das System, der mit der durch den Befehl angegebenen Operation verbunden ist.
  20. Verfahren nach Anspruch 19, wobei das Speichersystem ein primäres Speichersystem ist und das System ein mit dem primären Speichersystem verbundenes Reservespeichersystem ist.
DE102021126883.4A 2020-11-18 2021-10-15 Fehleranzeigen für speichersystembefehle Pending DE102021126883A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/951,460 US11436073B2 (en) 2020-11-18 2020-11-18 Fault indications for storage system commands
US16/951,460 2020-11-18

Publications (1)

Publication Number Publication Date
DE102021126883A1 true DE102021126883A1 (de) 2022-05-19

Family

ID=81345395

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021126883.4A Pending DE102021126883A1 (de) 2020-11-18 2021-10-15 Fehleranzeigen für speichersystembefehle

Country Status (3)

Country Link
US (1) US11436073B2 (de)
CN (1) CN114518985B (de)
DE (1) DE102021126883A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755229B2 (en) * 2020-06-25 2023-09-12 EMC IP Holding Company LLC Archival task processing in a data storage system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496900B1 (en) 2000-09-12 2002-12-17 3Ware, Inc. Disk array system, controller, and method for verifying command data written to disk drives
US7197669B2 (en) 2003-07-30 2007-03-27 Via Technologies, Inc. Method and circuit for command integrity checking (CIC) in a graphics controller
JP2007310974A (ja) * 2006-05-19 2007-11-29 Fujitsu Ltd 記憶装置および制御装置
US7793264B2 (en) 2006-08-25 2010-09-07 International Business Machines Corporation Command-line warnings
US8473697B1 (en) 2008-10-29 2013-06-25 Netapp, Inc. Method and system for volume based snapshot restore
US20100287407A1 (en) * 2009-05-05 2010-11-11 Siemens Medical Solutions Usa, Inc. Computer Storage Synchronization and Backup System
US8055933B2 (en) * 2009-07-21 2011-11-08 International Business Machines Corporation Dynamic updating of failover policies for increased application availability
US8117493B1 (en) * 2009-10-30 2012-02-14 Netapp, Inc. Fast recovery in data mirroring techniques
KR20110083889A (ko) * 2010-01-15 2011-07-21 삼성전자주식회사 데이터 저장장치에서 원격 제어에 따라 데이터를 처리하는 방법 및 그 장치
US9135115B2 (en) * 2010-02-27 2015-09-15 Cleversafe, Inc. Storing data in multiple formats including a dispersed storage format
US20120036315A1 (en) * 2010-08-09 2012-02-09 International Business Machines Corporation Morphing Memory Architecture
US8665750B2 (en) * 2010-12-17 2014-03-04 At&T Mobility Ii Llc Methods, devices, and computer program products for auditing and repairing a wireless telecommunications network configuration
KR20150067583A (ko) * 2013-12-10 2015-06-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법
US9213642B2 (en) * 2014-01-20 2015-12-15 International Business Machines Corporation High availability cache in server cluster
US9336097B2 (en) * 2014-02-27 2016-05-10 International Business Machines Corporation Salvaging hardware transactions
US9939865B2 (en) * 2014-06-13 2018-04-10 Seagate Technology Llc Selective storage resource powering for data transfer management
US9836345B2 (en) * 2014-10-17 2017-12-05 Netapp, Inc. Forensics collection for failed storage controllers
US9729524B1 (en) * 2014-12-12 2017-08-08 Amazon Technologies, Inc. Authenticated device-based storage operations
US9507676B2 (en) * 2014-12-17 2016-11-29 International Business Machines Corporation Cluster creation and management for workload recovery
US10180886B2 (en) * 2015-11-16 2019-01-15 Red Hat, Inc. Recreating a computing environment using tags and snapshots
US10359966B2 (en) * 2017-05-11 2019-07-23 Vmware, Inc. Capacity based load balancing in distributed storage systems with deduplication and compression functionalities
US11042646B2 (en) * 2018-08-13 2021-06-22 International Business Machines Corporation Selecting data storage based on data and storage classifications
US11113132B2 (en) * 2019-02-08 2021-09-07 Hewlett Packard Enterprise Development Lp Localization of potential issues to objects
US11017846B2 (en) * 2019-08-26 2021-05-25 Micron Technology, Inc. Updating program files of a memory device using a differential write operation

Also Published As

Publication number Publication date
CN114518985B (zh) 2023-02-10
CN114518985A (zh) 2022-05-20
US20220156139A1 (en) 2022-05-19
US11436073B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
DE112010002938B4 (de) Eine integrierte Herangehensweise zur Deduplizierung von Daten in einer verteiltenUmgebung, die eine Quelle und ein Ziel umfasst
US10831591B2 (en) Remedial action based on maintaining process awareness in data storage management
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112019002584T5 (de) Wechseln zwischen vermittlerdiensten für ein speichersystem
US11249943B2 (en) Scalable enterprise content management
DE102013215535A1 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE112008004014T5 (de) Analysieren von Serverkopien von Clientdateien
DE112011103378T5 (de) Automatische und sich selbsttätig anpassende Datensicherungsoperationen
DE102013201174A1 (de) Online-Überprüfung einer Standby-Datenbank in physischen Replikationsumgebungen mit Protokollversand
DE112019000143T5 (de) Versionierungsvalidierung für die datenübertragung zwischen heterogenen datenspeichern
DE112019006667T5 (de) Nutzen von blockchaintechnologie zum prüfen eines cloud-dienstes für die datenschutzkonformität
DE112017000190T5 (de) Durchgehende Verschlüsselung und Backup in Datenschutzumgebungen
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE112015000343T5 (de) Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist
DE102020208245A1 (de) Datenspeicherungsvorrichtung und Datenspeicherungsprogramm
DE112012002796T5 (de) Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien
DE102019131039A1 (de) Systeme und methoden für die live-validierung der gerätekonfiguration
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
US9639701B1 (en) Scheduling data protection operations based on data activity
DE112014002877T5 (de) Passives Überwachen von virtuellen Systemen mithilfe von agentenunabhängiger, echtzeitnaher Indexierung
DE102021126883A1 (de) Fehleranzeigen für speichersystembefehle
US9811542B1 (en) Method for performing targeted backup
DE112018000227T5 (de) Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk
DE102022107799A1 (de) Verarbeitungsvorrichtung, Steuereinheit, elektronische Vorrichtung, Verfahren und Computerprogramm
DE112015003579B4 (de) Vervielfältigung von Bandkassettendaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TX, US

R016 Response to examination communication