DE112020005227T5 - Speicherzustandsüberwachung für differenziertedatenwiederherstellungskonfigurationen - Google Patents

Speicherzustandsüberwachung für differenziertedatenwiederherstellungskonfigurationen Download PDF

Info

Publication number
DE112020005227T5
DE112020005227T5 DE112020005227.3T DE112020005227T DE112020005227T5 DE 112020005227 T5 DE112020005227 T5 DE 112020005227T5 DE 112020005227 T DE112020005227 T DE 112020005227T DE 112020005227 T5 DE112020005227 T5 DE 112020005227T5
Authority
DE
Germany
Prior art keywords
data
storage
storage device
backup
state
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
DE112020005227.3T
Other languages
English (en)
Inventor
Ariel Navon
Alex Bazarsky
Eran Sharon
Idan Alrod
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies 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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE112020005227T5 publication Critical patent/DE112020005227T5/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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
    • 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/0653Monitoring storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

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)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Beispielhafte Systeme und Verfahren stellen differenzierte Datenrettungskonfigurationen bereit, die auf Speicherzustandsdaten basieren. Ein verteiltes Speicherungssystem, wie beispielsweise ein Cloud-basiertes Speicherungssystem, speichert Sicherungsdaten von einer entfernten Speichervorrichtung unter Verwendung einer ersten Datenwiederherstellungskonfiguration. Auf Grundlage von Speicherzustandsdaten, die von der entfernten Speichervorrichtung gesammelt wurden, kann eine Änderung des Speicherzustands der entfernten Speichervorrichtung bestimmt werden. Als Reaktion auf die Änderung des Speicherzustands kann eine andere Datenwiederherstellungskonfiguration verwendet werden, um Sicherungsdaten in Zukunft zu speichern und zuvor gespeicherte Sicherungsdaten im verteilten Speicherungssystem neu zuzuordnen.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf die Datenspeicherung und in einem spezielleren Beispiel auf Datenwiederherstellungskonfigurationen bei der Speicherung von Sicherungsdaten.
  • HINTERGRUND
  • Edge-Storage-Vorrichtungen, wie Computerfestplatten, externe Festplatten, austauschbare Festkörperlaufwerke (z. B. Flash-Laufwerke) usw., können von Fernsicherungslösungen profitieren, um im Falle einer Verschlechterung oder eines Verlusts der Speichervorrichtung Datenverluste zu verhindern. Solche Speichervorrichtungen können zum Beispiel für eine regelmäßige Sicherung in einem Cloud-basierten Speicherungssystem eingerichtet werden. Das Cloud-basierte Speicherungssystem kann eine Speicheranwendung bereitstellen, um mit der Edge-Storage-Vorrichtung zu interagieren, die Konfiguration der Datensicherung zu ermöglichen und die zu sichernden Daten von der Speichervorrichtung zu empfangen. In einigen Konfigurationen kann die Speicheranwendung eine Schnittstellenfunktion für ein verteiltes Speicherungssystem bereitstellen, das Backup oder andere Datenspeicheranwendungen für eine Vielzahl von Endnutzern unterstützt.
  • Häufig werden verteilte Speicherungssysteme verwendet, um große Mengen (z. B. Terabytes, Petabytes, Exabytes usw.) von Daten, wie Objekte oder Dateien, in einer verteilten und fehlertoleranten Weise mit einem vorbestimmten Grad an Redundanz zu speichern. Solche verteilten Speicherungssysteme können besonders vorteilhaft als aktive Sicherungsziele für Edge-Storage-Vorrichtungen sein.
  • Diese groß angelegten Speicherungssysteme können die Speicherung von Daten unterstützen, die löschcodiert und über viele Speichervorrichtung verteilt sind. Daten, wie beispielsweise Dateien oder Objekte, können in Nachrichten oder ähnliche größenbegrenzte Dateneinheiten aufgeteilt werden. Diese Dateneinheiten werden dann in eine Anzahl von Symbolen aufgeteilt. Die Symbole werden dann als Eingabe für die Löschcodierung verwendet. Wenn zum Beispiel ein systematischer Löschcodierungsalgorithmus verwendet wird, liefert die Ausgabe des Löschcodierungsprozesses die Originalsymbole und eine feste Anzahl von zusätzlichen Paritätssymbolen. Die Summe dieser Symbole wird auf eine Auswahl von Speichervorrichtungen verteilt.
  • Eine Löschcodierung kann zwar eine größere Redundanzstufe und eine höhere Fehlertoleranz bei der Wiederherstellung von Daten ermöglichen, aber die Verarbeitung, der Speicherort und andere Speicherressourcen, die dafür benötigt werden, stellen immer noch erhebliche Kosten für den Speicheranbieter dar. Insbesondere die Auswahl der Paritätsstufe und andere Gesichtspunkte der Datenwiederherstellungskonfigurationen können die Verarbeitung, den Speicherplatz, die Netzwerkbandbreite und andere für die Speicherung und Wiederherstellung benötigte Ressourcen erhöhen oder verringern. Der Speicheranbieter muss die Speicherressourcen, die für die Sicherung einer bestimmten Edge-Storage-Vorrichtung bereitgestellt werden, mit den gewünschten Stufen für die Datensicherung und -wiederherstellung abgleichen.
  • Es kann möglich sein, eine allgemeine Wiederherstellungskonfiguration für die Sicherung von Edge-Storage-Vorrichtungen einzurichten. Es ist jedoch bekannt, dass sich die tatsächliche Nutzung, die Fehlerraten und die Verschlechterung bei den einzelnen Speichervorrichtungen unterscheiden. Eine allgemeine Konfiguration kann auf einer durchschnittlichen oder schlechtesten Leistung der Speichervorrichtung basieren und daher mehr oder weniger Speicherressourcen für die Sicherung zuweisen, als es der aktuelle Zustand der Speichervorrichtung eigentlich rechtfertigt.
  • Beim Einsatz verteilter Speicherungssysteme zur Bereitstellung von Backups für Edge-Storage-Vorrichtungen kann die Zuweisung von Speicherressourcen nach festen Kriterien auf Grundlage von Worst-Case-Szenarien für die Population von Speichervorrichtungen zu einer Verschwendung von Speicherressourcen und/oder einem unnötigen Risiko von Datenverlusten führen. Es besteht ein Bedarf an adaptiver, diverser Datensicherung entsprechend dem tatsächlichen Risiko für die Daten zu einem aktuellen Zeitpunkt für eine bestimmte Speichervorrichtung. Zum Beispiel könnten Speicherungssysteme benötigt werden, die Speicherzustandsdaten von einzelnen Speichervorrichtungen empfangen und diese Speicherzustandsdaten verwenden, um Speicherressourcen durch differenzierte Datenwiederherstellungskonfigurationen zuzuweisen.
  • KURZDARSTELLUNG
  • Es werden verschiedene Gesichtspunkte für die Speicherung redundanter Sicherungsdaten von Speichervorrichtungen in verteilten Speicherungssystemen beschrieben, insbesondere die Verwendung der Speicherzustandsverfolgung zur Differenzierung von Datenwiederherstellungskonfigurationen für einzelne Speichervorrichtungen.
  • Ein allgemeiner Gesichtspunkt schließt ein computerimplementiertes Verfahren ein. Das computerimplementierte Verfahren schließt das Speichern eines redundanten Datensatzes aus einer entfernten Speichervorrichtung in einem verteilten Speicherungssystem unter Verwendung einer ersten Datenwiederherstellungskonfiguration ein; Empfangen von Speicherzustandsdaten, die mit der entfernten Speichervorrichtung verbunden sind, wobei die Speicherzustandsdaten einem Speicherzustand eines nichtflüchtigen Mediums der entfernten Speichervorrichtung entsprechen; Bestimmen, basierend auf den Speicherzustandsdaten, einer Änderung im Speicherzustandszustand des nichtflüchtigen Mediums der entfernten Speichervorrichtung; und Neuzuweisen, unter Verwendung einer zweiten Datenwiederherstellungskonfiguration, des redundanten Datensatzes in dem verteilten Speicherungssystem als Reaktion auf die Änderung des Speicherzustands.
  • Implementierungen können eines oder mehrere der folgenden Merkmale einschließen. Bei der entfernten Speichervorrichtung kann es sich um eine nichtflüchtige Speichervorrichtung an einem vom verteilten Speicherungssystem entfernten Standort handeln. Die Neuzuweisung des redundanten Datensatzes im verteilten Speicherungssystem kann das periodische Sichern einer Differenz zwischen einem aktuellen Datensatz, der auf der entfernten Speichervorrichtung gespeichert ist, und einer umfassenden Kopie von Daten, die zu einem früheren Zeitpunkt auf der entfernten Speichervorrichtung gespeichert wurden, einschließen. Das computerimplementierte Verfahren kann weiterhin Folgendes einschließen: Bestimmen einer periodischen Sicherungskonfiguration für die entfernte Speichervorrichtung; Bestimmen mindestens eines anfänglichen Speicherzustandswertes für die entfernte Speichervorrichtung; und Bestimmen der ersten Datenwiederherstellungskonfiguration auf Grundlage des mindestens einen anfänglichen Speicherzustandswerts und der periodischen Sicherungskonfiguration. Das computerimplementierte Verfahren kann weiterhin Folgendes einschließen: Bestimmen einer Dienststufe für mindestens eine Systemressource des verteilten Speicherungssystems; Bestimmen, basierend auf der Dienststufe, einer Zuweisung der mindestens einen Systemressource zum Speichern des redundanten Datensatzes im verteilten Speicherungssystem, wobei das Bestimmen der ersten Datenwiederherstellungskonfiguration weiterhin auf der Zuweisung der mindestens einen Systemressource basiert; und Bestimmen der zweiten Datenwiederherstellungskonfiguration auf Grundlage der Zuweisung der mindestens einen Systemressource und der Änderung des Speicherzustands. Das Speichern des redundanten Datensatzes im verteilten Speicherungssystem unter Verwendung der ersten Datenwiederherstellungskonfiguration kann das Einschließen des redundanten Datensatzes in einer ersten Vielzahl von codierten Datensymbolen gemäß einer ersten Paritätsstufe einschließen. Das Neuzuordnen des redundanten Datensatzes im verteilten Speicherungssystem unter Verwendung der zweiten Datenwiederherstellungskonfiguration kann das Einschließen von mindestens einem Abschnitt des redundanten Datensatzes in einer zweiten Vielzahl von codierten Datensymbolen gemäß einer zweiten Paritätsstufe einschließen. Die zweite Paritätsstufe kann eine andere Fehlerrate für die Wiederherstellung des Abschnitts des redundanten Datensatzes berücksichtigen als die erste Paritätsstufe. Die Speicherzustandsdaten können mindestens einen Speicherzustandswert einschließen, der ausgewählt ist aus: einem Bitfehlerratenwert; einem Wert für Schreib-/Löschzyklen; einem Programmschleifenzählerwert; einem Löschschleifenzählerwert; einem Messwert für die Lecksuche; einem erratischen Programmstörungswert; einem schlechten Blockwert; oder einem Spannungsrandwert. Das computerimplementierte Verfahren kann weiterhin das Empfangen des redundanten Datensatzes von der entfernten Speichervorrichtung gemäß eines periodischen Sicherungsplans einschließen, wobei das Empfangen von Speicherzustandsdaten von der entfernten Speichervorrichtung in Verbindung mit dem Empfangen des redundanten Datensatzes gemäß dem periodischen Sicherungsplan ausgeführt wird. Das computerimplementierte Verfahren kann weiterhin Folgendes einschließen: Bestimmen einer Vielzahl von physischen Speichereinheiten in der entfernten Speichervorrichtung; und das Speichern von Referenzwerten, die den redundanten Satz von in dem verteilten Speicherungssystem gespeicherten Daten mit der Vielzahl von physischen Speichereinheiten verknüpfen, die entsprechende Daten in der entfernten Speichervorrichtung speichern. Das Empfangen von Speicherzustandsdaten von der entfernten Speichervorrichtung kann das Empfangen von mindestens einem Speicherzustandswert für jede physische Speichereinheit aus der Vielzahl von physischen Speichereinheiten einschließen. Das Bestimmen der Änderung des Speicherzustands kann Folgendes einschließen: Bestimmen, dass mindestens ein Speicherzustandswert für eine erste physische Speichereinheit aus der Vielzahl der physischen Speichereinheiten eine Bedingung für verringerte Zuverlässigkeit erfüllt; und Bestimmen mindestens eines Speicherzustandswertes für eine zweite physische Speichereinheit aus der Vielzahl physischer Speichereinheiten, die die Bedingung der verringerten Zuverlässigkeit nicht erfüllt. Das Neuzuweisen des Satzes redundanter Daten im verteilten Speicherungssystem unter Verwendung der zweiten Datenwiederherstellungskonfiguration kann das Speichern von Daten, die mit der ersten physischen Speichereinheit verbunden sind, als Reaktion auf die Bestimmung der verminderten Zuverlässigkeitsbedingung einschließen. Daten, die mit der zweiten physischen Speichereinheit verbunden sind, können unter Verwendung der ersten Datenwiederherstellungskonfiguration gespeichert bleiben. Das Bestimmen der Änderung des Speicherzustands kann Folgendes einschließen: Bestimmen mindestens eines verringerten Zuverlässigkeitsschwellenwerts; und Auswerten der Speicherzustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwertes. Das computerimplementierte Verfahren kann weiterhin Folgendes einschließen: Sammeln historischer Speicherzustandsdaten für eine Population entfernter Speichervorrichtungen eines entfernten Speichervorrichtungstyps, der mit der entfernten Speichervorrichtung verbunden ist; Bestimmen eines Datenzuverlässigkeitsmodells für den Typ der entfernten Speichervorrichtung auf Grundlage der gesammelten historischen Speicherzustandsdaten; und Bestimmen mindestens eines verringerten Zuverlässigkeitsschwellenwerts auf Grundlage des Datenzuverlässigkeitsmodells, wobei das Bestimmen der Änderung des Gedächtniszustands das Auswerten der Gedächtniszustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwerts einschließt.
  • Ein weiterer allgemeiner Gesichtspunkt schließt ein System ein. Das System schließt ein Speicherungssystem ein, das so eingerichtet ist, dass es unter Verwendung einer ersten Datenwiederherstellungskonfiguration einen redundanten Datensatz aus einer entfernten Speichervorrichtung speichert; einen Speicherzustandsmonitor, der so eingerichtet ist, dass er Speicherzustandsdaten empfängt, die mit der entfernten Speichervorrichtung verbunden sind, wobei die Speicherzustandsdaten einem Speicherzustandszustand eines nichtflüchtigen Mediums der entfernten Speichervorrichtung entsprechen; einen Zuverlässigkeitsmanager, der so eingerichtet ist, dass er: auf Grundlage der Speicherzustandsdaten eine Änderung des Speicherzustands der entfernten Speichervorrichtung bestimmt; und als Reaktion auf die Änderung des Speicherzustands eine zweite Datenwiederherstellungskonfiguration einleitet, wobei das Speicherungssystem weiterhin eingerichtet ist, um unter Verwendung der zweiten Datenwiederherstellungskonfiguration redundante Daten von der entfernten Speichervorrichtung zu speichern.
  • Implementierungen können eines oder mehrere der folgenden Merkmale einschließen. Bei der entfernten Speichervorrichtung kann es sich um eine nichtflüchtige Speichervorrichtung an einem vom Speicherungssystem entfernten Ort handeln, und das Speicherungssystem kann weiterhin so eingerichtet sein, dass es periodisch eine Differenz zwischen einem aktuellen Datensatz, der auf der entfernten Speichervorrichtung gespeichert ist, und einer umfassenden Kopie von Daten, die zu einem früheren Zeitpunkt auf der entfernten Speichervorrichtung gespeichert wurden, speichert. Das System kann weiterhin eine Sicherungsschnittstelle einschließen, die so eingerichtet ist, dass sie eine periodische Sicherungskonfiguration für die entfernte Speichervorrichtung bestimmt. Der Zuverlässigkeitsmanager kann weiterhin eingerichtet sein, um: mindestens einen anfänglichen Speicherzustandswert für die entfernte Speichervorrichtung zu bestimmen; und auf Grundlage des mindestens einen anfänglichen Speicherzustandswertes und der periodischen Sicherungskonfiguration die erste Datenwiederherstellungskonfiguration einzurichten. Der Zuverlässigkeitsmanager kann weiterhin eingerichtet sein, um: eine Dienststufe für mindestens eine Systemressource des Speicherungssystems zu bestimmen; auf Grundlage der Dienststufe eine Zuweisung der mindestens einen Systemressource zur Speicherung redundanter Daten im Speicherungssystem einzurichten, wobei die erste Datenwiederherstellungskonfiguration weiterhin auf der Zuweisung der mindestens einen Systemressource basiert; und auf Grundlage der Zuweisung der mindestens einen Systemressource und der Änderung des Speicherzustands die zweite Datenwiederherstellungskonfiguration einzurichten. Das Speicherungssystem kann weiterhin so eingerichtet sein, dass es als Reaktion auf die erste Datenwiederherstellungskonfiguration den redundanten Datensatz in einer ersten Vielzahl von kodierten Datensymbolen gemäß einer ersten Paritätsstufe codiert; und als Reaktion auf die zweite Datenwiederherstellungskonfiguration redundante Daten in einer zweiten Vielzahl von codierten Datensymbolen gemäß einer zweiten Paritätsstufe codiert. Die zweite Paritätsstufe kann eine andere Fehlerrate für die Wiederherstellung von Daten berücksichtigen als die erste Paritätsstufe. Das System kann weiterhin eine Sicherungsschnittstelle einrichten, die so eingerichtet ist, dass sie Sicherungsdaten von der entfernten Speichervorrichtung gemäß einem periodischen Sicherungsplan empfängt, wobei der Speicherzustandsmonitor weiterhin so eingerichtet sein kann, dass er Speicherzustandsdaten von der entfernten Speichervorrichtung in Verbindung mit der Sicherungsschnittstelle empfängt, die Sicherungsdaten gemäß dem periodischen Sicherungsplan empfängt. Der Speicherzustandsmonitor kann weiterhin eingerichtet sein, um: eine Vielzahl von physischen Speichereinheiten in der entfernten Speichervorrichtung zu bestimmen; Referenzwerte zu speichern, die in dem Speicherungssystem gespeicherte Daten mit der Vielzahl von physischen Speichereinheiten verknüpfen, die entsprechende Benutzerdaten in der entfernten Speichervorrichtung speichern; und mindestens einen Speicherzustandswert für jede physische Speichereinheit aus der Vielzahl der physischen Speichereinheiten zu empfangen. Der Zuverlässigkeitsmanager kann weiterhin eingerichtet sein, um: zu bestimmen, dass mindestens ein Speicherzustandswert für eine erste physische Speichereinheit aus der Vielzahl physischer Speichereinheiten eine Bedingung für verringerte Zuverlässigkeit erfüllt; und zu bestimmen, dass mindestens ein Speicherzustandswert für eine zweite physische Speichereinheit aus der Vielzahl der physischen Speichereinheiten die Bedingung der verringerten Zuverlässigkeit nicht erfüllt. Das Speicherungssystem kann weiterhin so eingerichtet sein, dass es als Reaktion auf die Bestimmung der verminderten Zuverlässigkeitsbedingung redundante Daten speichert, die mit der ersten physischen Speichereinheit verbunden sind, wobei es die zweite Datenwiederherstellungskonfiguration verwendet. Die mit der zweiten physischen Speichereinheit verbundenen redundanten Daten können unter Verwendung der ersten Datenwiederherstellungskonfiguration gespeichert bleiben. Der Zuverlässigkeitsmanager kann weiterhin eingerichtet sein, um: mindestens einen verringerten Zuverlässigkeitsschwellenwert zu bestimmen; und die Speicherzustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwertes zu bewerten. Der Zuverlässigkeitsmanager ist weiterhin eingerichtet, um: auf historische Speicherzustandsdaten für eine Population von entfernten Speichervorrichtungen eines entfernten Speichervorrichtungstyps zuzugreifen, der mit der entfernten Speichervorrichtung verbunden ist; auf Grundlage der historischen Speicherzustandsdaten ein Datenzuverlässigkeitsmodell für den Typ der entfernten Speichervorrichtung zu bestimmen; auf Grundlage des Datenzuverlässigkeitsmodells mindestens einen verringerten Zuverlässigkeitsschwellenwert zu bestimmen; und die Speicherzustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwertes zu bewerten.
  • Ein weiterer allgemeiner Gesichtspunkt schließt ein System ein. Das System schließt ein Speicherungssystem ein, das so eingerichtet ist, dass es unter Verwendung einer ersten Datenwiederherstellungskonfiguration einen redundanten Satz von Daten aus einer entfernten Speichervorrichtung speichert; Mittel zum Empfangen von Speicherzustandsdaten, die mit der entfernten Speichervorrichtung verbunden sind, wobei die Speicherzustandsdaten einem Speicherzustandszustand eines nichtflüchtigen Mediums der entfernten Speichervorrichtung entsprechen; Mittel zum Bestimmen, basierend auf den Speicherzustandsdaten, einer Änderung des Speicherzustands der entfernten Speichervorrichtung; und Mittel zum Initiieren einer zweiten Datenwiederherstellungskonfiguration als Reaktion auf die Änderung des Speicherzustands, wobei das Speicherungssystem weiterhin eingerichtet ist, um unter Verwendung der zweiten Datenwiederherstellungskonfiguration redundante Daten von der entfernten Speichervorrichtung zu speichern. Die verschiedenen Ausführungsformen wenden die Lehren von den verteilten Speichernetzwerken und/oder -systemen vorteilhaft an, um die Funktionalität solcher Computersysteme zu verbessern. Die verschiedenen Ausführungsformen schließen Operationen zum Überwinden oder mindestens Reduzieren der Probleme in den bisherigen Speichernetzwerken und/oder -systemen, die oben erörtert wurden, ein und sind entsprechend zuverlässiger und/oder effizienter als andere Rechennetzwerke. Das heißt, die verschiedenen hierin offenbarten Ausführungsformen schließen Hardware und/oder Software mit einer Funktionalität ein, die die Nutzung von Speicherressourcen verbessert, indem Speicherzustandsdaten zur Unterscheidung der Datenwiederherstellungskonfigurationen zur Sicherung einzelner Speichervorrichtungen verwendet werden. Dementsprechend stellen die hierin offenbarten Ausführungsformen verschiedene Verbesserungen für Speichernetzwerke und/oder Speicherungssysteme bereit, insbesondere für Cloud-basierte Speicher.
  • Es sei klargestellt, dass die in der vorliegenden Offenbarung verwendete Ausdrucksweise hauptsächlich für Lesbarkeits- und Anweisungszwecke gewählt wurde und den Schutzumfang des hierin offenbarten Gegenstands nicht beschränken soll.
  • Figurenliste
    • 1 veranschaulicht schematisch ein Beispiel für ein Cloud-basiertes System zum Sichern von Speichervorrichtungen in einem verteilten Speicherungssystem.
    • 2 veranschaulicht schematisch eine beispielhafte Sicherungsarchitektur, die in dem System in 1 funktionieren kann.
    • 3 veranschaulicht schematisch einige beispielhafte Elemente eines Speicherungssystems für das System in 1.
    • 4 veranschaulicht ein beispielhaftes Verfahren zur Unterscheidung von Datenwiederherstellungskonfigurationen auf Grundlage von Speicherzustandsdaten.
    • 5 veranschaulicht ein beispielhaftes Verfahren zur Verwaltung der Sicherungskonfiguration auf Grundlage von Speicherzustandsdaten.
    • 6 veranschaulicht ein Beispiel für ein Verfahren zur Differenzierung von Datenwiederherstellungskonfigurationen innerhalb von Speichereinheiten einer Speichervorrichtung auf Grundlage von Speicherzustandsdaten.
    • 7 veranschaulicht ein Beispiel für die Verwendung von Bedingungen verringerter Zuverlässigkeit zur Änderung von Datenwiederherstellungskonfigurationen.
  • DETAILLIERTE BESCHREIBUNG
  • Nachfolgende Ausführungsformen ermöglichen eine flexible Zuweisung von Redundanz in der Cloud, die sich nach dem Zustand des lokalen Speichers des Benutzers richtet. Der Käufer eines Edge-Storage-Produkts, wie beispielsweise eines Flash-Laufwerks oder eines Festkörperlaufwerks (SSD), kann es dem Hersteller möglicherweise ermöglichen, den Zustand seines Speichers zu verfolgen, um die Datensicherung besser zu verwalten und/oder den Käufer proaktiv vor Veränderungen des Speicherzustands zu warnen. Der Käufer kann Anreize erhalten, wenn er sich für die Erfassung von Speicherzustandsdaten auf seinen Speichervorrichtungen entscheidet, wie beispielsweise einen vergünstigten Cloud-Dienst. Die Speicherzustandsdaten können von einem Cloud-Speicheranbieter, der dem Käufer eine Cloud-Sicherungsanwendung anbietet, verwendet werden, um die Zuweisung des Sicherungsspeichers auf Grundlage der Speicherzustandsdaten zu optimieren.
  • Der Cloud-Speicheranbieter kann ein verteiltes Speicherungssystem bereitstellen, das zwei Schutzstufen für die auf einer bestimmten Speichervorrichtung gespeicherten Daten bietet. Der Sicherungsdienst kann ein vollständiges Backup mit ultralangsamer Wiederherstellungslatenz als erste Sicherungsstufe einschließen - eine langsame und billige Sicherung, die einen Schnappschuss des gesamten Inhalts der Speichervorrichtung zu einem bestimmten Zeitpunkt speichert. Diese vollständigen Backups können in regelmäßigen Abständen gemäß einem Sicherungszeitplan oder anderen Sicherungsbedingungen ausgeführt werden. Diese erste Schutzstufe ist vor allem bei einem plötzlichen, katastrophalen Verlust der Speichervorrichtung (z. B. durch Diebstahl, Verlust oder mechanischen Zusammenbruch) sinnvoll. Beispiele für langsame Speicherungssysteme können redundante RAID-Systeme (Redundant Array of Interconnected Disks) und/oder kostengünstige Speichersicherungen einschließen, wie beispielsweise Bänder, Festplattenlaufwerke (HDD) mit hoher Kapazität, X4 NAND-Flash-Speicher usw.
  • Die zweite Stufe des Sicherungsschutzes kann einen flexiblen Schutz mit einer schnellen Reaktionszeit bei der Datenwiederherstellung einschließen, wie beispielsweise eine häufige Schnellsicherung, um ein Delta zwischen den aktuell auf der Speichervorrichtung gespeicherten Daten und dem letzten in der ersten Schutzstufe gespeicherten Schnappschusses zu speichern. Diese zweite Schutzstufe eignet sich besonders für den Umgang mit einer allmählichen Verschlechterung der Zuverlässigkeit der Speichervorrichtung (z. B. hohe Bitfehlerrate (BER) aufgrund eines hohen Schreib-/Löschzyklenwerts). Beispiele für reaktionsschnelle Speicherungssysteme können Server und Speicherarrays einschließen, die mit reaktionsschnellem Speicher eingerichtet sind, wie beispielsweise All-Flash-Speicherarrays.
  • Die Storage-Edge-Vorrichtung kann von jedem Typ sein, wie beispielsweise SSD, HDD, Hybrid-Laufwerk, SD-Karte (Secure Digital), USB-Stick (Universal Serial Bus) oder andere Formfaktoren von Flash-Laufwerken. In den gezeigten Ausführungsformen wird die Speichervorrichtung in einem verteilten Speicherungssystem gesichert, das im Allgemeinen als Komponente eines Cloud-Speicherungssystems arbeitet. Es sind jedoch auch andere Speicherungssystemkonfigurationen möglich, und die beschriebenen Systeme und Verfahren könnten zur Sicherung auf einem lokalen Speicherungssystem eines beliebigen Typs implementiert werden, vielleicht sogar auf einer anderen Edge-Storage-Vorrichtung desselben Typs wie die zu sichernde Speichervorrichtung.
  • In einigen Ausführungsformen kann ein Sicherungsdienst in der Cloud zwei Arten von Zuverlässigkeitsbedrohungen für die physischen Speichermedien der Vorrichtung unterscheiden: allmähliche Verschlechterung der Zuverlässigkeit (hohe Bitfehlerrate z. B. aufgrund eines hohen W/E-Zykluswertes) und „katastrophaler“ plötzlicher Verlust (Ereignisse wie Diebstahl, Verlust, Ausfall usw.). Der Cloud-Back-Dienst kann daher einen zweistufigen Cloud-Schutz der Daten implementieren.
  • Die erste Stufe kann eine vollständige Sicherung mit ultralangsamer Wiederherstellungslatenz einschließen). Um die „katastrophalen“ plötzlichen Verlustereignisse zu schützen, kann der Cloud-Anbieter ein vollständiges, aktualisiertes Sicherung der Daten aufbewahren, das allerdings mit einer sehr hohen Wiederherstellungslatenz gespeichert werden könnte. Bei einem solchen seltenen Ausfall der Speichervorrichtung könnte die Reaktionszeit bis zum Bereitstellen des gesamten gespeicherten Datensatzes beispielsweise in der Größenordnung von Stunden liegen. Für die vorgeschlagene erste Schutzstufe können langsame und billige Sicherungsverfahren für die gesamte Vorrichtung verwendet werden, wie beispielsweise RAID über mehrere Clients und/oder eine kostengünstige Speichersicherung (Bänder, kostengünstige HDD, X4 NAND usw.).
  • Die zweite Stufe kann einen flexiblen Schutz für eine allmähliche Verschlechterung der Zuverlässigkeit (verringerte Zuverlässigkeitsbedingungen auf Grundlage des Speicherzustands) mit einer schnellen Reaktionszeit für die Datenwiederherstellung einschließen. Die zweite Schutzstufe kann Redundanz auf Grundlage des physischen Zustands der Speichervorrichtung auf flexible Art und Weise zuweisen. Die Speicherzustandsdaten für das physische Speichermedium in jeder Speichervorrichtung werden von der Speichervorrichtung verfolgt und können an das Speicherungssystem gesendet werden. Das Speicherungssystem kann diese Informationen dann verwenden, um die Redundanz in den Datumswiederherstellungskonfigurationen bestimmter Speichervorrichtungen oder sogar physischer Einheiten (Vorrichtung, Chip, Seite/Block usw.) innerhalb dieser Vorrichtungen dynamisch zuzuweisen.
  • Um sich gegen die allmähliche Verschlechterung der Zuverlässigkeit (d. h. hohe BER) zu schützen, kann einem Anbieter von Cloud-Diensten der Zugriff auf die von den Speichervorrichtungen erfassten Speicherzustandsparameter ermöglicht werden. Ein Hersteller von Speichervorrichtungen kann den Fernzugriff auf die physischen Gesundheitsparameter von nichtflüchtigen Speichervorrichtungen in der Speichervorrichtung einschließen (abhängig von der Zustimmung des Benutzers). Die Sammlung von Speicherzustandsdaten kann es dem Hersteller des Speicherspeichers ermöglichen, dem Benutzer Speicherzustandswarnungen und weitere Fähigkeiten im Zusammenhang mit den Cloud-Sicherungsdiensten des Benutzers bereitzustellen. Die Zustandsparameter des physischen Speichers können Folgendes einschließen:
    • • BER-Werte (Bitfehlerrate)
    • • W/E-Zykluswerte (Schreiben/Löschen)
    • • PLC-Werte (Programmschleifenzähler)
    • • ELC-Werte (Löschschleifenzähler)
    • • Messwerte der Lecksuche
    • • EPD-Fehlerwerte (erratische Programmstörung)
    • • Schlechte Blockstatistiken
    • • Spannungsreserven.
  • Diese zweite Stufe des Schutzes kann in einer reaktionsschnellen Speichersicherung innerhalb eines verteilten Speicherungssystems gespeichert werden, das so eingerichtet ist, dass eine schnelle Wiederherstellung der Daten möglich ist. Das Speicherungssystem kann die Kenntnis der Speicherzustandsdaten nutzen, um die optimale Redundanzzuweisung anzupassen. In einigen Ausführungsformen kann die zweite Stufe dazu verwendet werden, die Delta-Sicherung der letzten umfassenden Kopie des Gesamtspeicher-Backups (erste Stufe) zu speichern. Bei der Delta-Sicherung kann es sich um die Änderungen in den Daten zwischen einer umfassenden Kopie, die zu einem früheren Zeitpunkt erstellt wurde, und dem aktuellen Datensatz auf der Speichervorrichtung handeln.
  • 1 veranschaulicht ein Blockdiagramm eines beispielhaften Cloud-basierten Systems 100, in dem für das schnelle Speicherungssystem (zweite Schutzstufe) ein abgestufter Speicher mit Speicherzustandsverfolgung für differenzierte Wiederherstellungskonfigurationen implementiert werden kann. Wie dargestellt, schließt das System 100 Client-Systeme 102 (z. B. Client-Systeme 102.1 und 102.n), verteilte Speicherungssysteme 120.1, 102.2...120.n, Objektspeicher 140.1, 140.2...140.n, die mit den verteilten Speicherungssystemen verbunden sind, und Serversysteme 150 (z. B. Serversysteme 150.1 und 150.n) ein. Die Komponenten 102, 120, 140 und/oder 150 und/oder ihre Unterkomponenten können direkt oder über ein Kommunikationsnetzwerk 110 miteinander verbunden sein. Der Einfachheit halber können in einigen Fällen, je nach Kontext, Client-Systeme 102.1 ... 102.n hierin auch einzeln oder gemeinsam als Client-Systeme 102 oder Clients 102 bezeichnet werden, verteilte Speicherungssysteme 120.1, 120.2...120.n können hierin einzeln oder gemeinsam als verteilte Speicherungssysteme 120 oder DSS 120 bezeichnet werden, Speicheranwendungen 124.1, 124.2...124. n können hierin einzeln oder gemeinsam als Speicheranwendungen 124 bezeichnet werden, Metadatenspeicher 130.1, 130.2...130.n können hierin einzeln oder gemeinsam als Metadatenspeicher 130 bezeichnet werden, Objektspeicher 140.1, 140.2...104.n können hierin einzeln oder gemeinsam als Objektspeicher 140 bezeichnet werden, und Serversysteme 150.1 und 150.n können hierin einzeln oder gemeinsam als Serversysteme 150 bezeichnet werden.
  • Das Kommunikationsnetzwerk 110 kann eine beliebige Anzahl von privaten und öffentlichen Computernetzwerken einschließen. Das Kommunikationsnetzwerk 110 kann Netzwerke mit einer Vielzahl von Netzwerktypen einschließen, darunter lokale Netzwerke (LANs), Weitverkehrsnetze (WANs), drahtlose Netzwerke, virtuelle private Netzwerke, drahtgebundene Netzwerke, das Internet, persönliche Netzwerke (PANs), Objektbusse, Computerbusse und/oder eine Kombination geeigneter Kommunikationsmedien, über die Vorrichtungen auf sichere oder unsichere Art und Weise kommunizieren können.
  • Die Daten können über das Netzwerk 110 mit jedem geeigneten Protokoll übertragen werden. Zu den beispielhaften Protokollen gehören unter anderem das Übertragungskontrollprotokoll/Internetprotokoll (TCP/IP), das Benutzerdatenprotokoll (UDP), das Übertragungskontrollprotokoll (TCP), das Hypertext-Übertragungsprotokoll (HTTP), das sichere Hypertext-Übertragungsprotokoll (HTTPS), das dynamische adaptive Streaming über HTTP (DASH), das Echtzeit-Streaming-Protokoll (RTSP), Echtzeit-Transportprotokoll (RTP) und das Echtzeit-Transportsteuerungsprotokoll (RTCP), Sprachübertragung über das Internetprotokoll (VOIP), Dateiübertragungsprotokoll (FTP), WebSocket (WS), drahtloses Zugangsprotokoll (WAP), verschiedene Nachrichtenprotokolle (Short Messaging Service (SMS), Protokoll für den Zugriff auf Internetnachrichten (IMAP) usw.) oder andere geeignete Protokolle.
  • Das Client-System 102 kann eine elektronische Rechnervorrichtung sein, wie beispielsweise ein persönlicher Computer (PC), ein Laptop, ein Smartphone, ein Tablet, ein Mobiltelefon, eine tragbare elektronische Vorrichtung, ein Server, ein Servergerät oder eine andere elektronische Vorrichtung oder ein Rechnersystem, das zur Kommunikation mit dem Kommunikationsnetzwerk 110 fähig ist. Das Client-System 102 kann eine oder mehrere Client-Anwendungen in einem nichtflüchtigen Speicher, einschließlich eines internen Speichers (nicht gezeigt) und/oder Speichervorrichtungen 106.1-106.n, zur Verwendung durch die Benutzer 104.1-104.n speichern. Externe oder austauschbare Speichervorrichtungen 106 können beispielsweise SSD, HDD, Hybrid-Laufwerke, sichere digitale Karten (SD), universelle serielle Busse (USB) oder andere Formfaktoren von Flash-Laufwerken einschließen, die ein nichtflüchtiges Speichermedium enthalten. Eine Client-Anwendung kann von einem Computerprozessor des Client-Systems 102 ausgeführt werden. In einigen Ausführungsformen schließt eine Client-Anwendung eine oder mehrere Anwendungen ein, wie beispielsweise Datenspeicheranwendungen, Suchanwendungen, Kommunikationsanwendungen, Produktivitätsanwendungen, Spieleanwendungen, Textverarbeitungsanwendungen oder beliebige andere Anwendungen, ohne darauf beschränkt zu sein. Eine Client-Anwendung kann in manchen Fällen einen Webbrowser und/oder damit ausführbaren Code einschließen.
  • In einigen Ausführungsformen kann das Client-System 102 eine Anwendung zum Erstellen, Modifizieren und Löschen von Objekten einschließen, die im Objektspeicher 140 gespeichert werden können. Die Anwendung kann beispielsweise speziell für die Kommunikation mit der Cloud-Anwendung 152 und/oder der Speicheranwendung 124 angepasst werden, wie beispielsweise eine Anwendung, die die Programmierschnittstellen der Speicheranwendung 124 einrichtet und/oder nutzt. In einigen Ausführungsformen können die Cloud-Anwendung 152 und/oder die Speicheranwendung 124 Sicherungsanwendungen für das Client-System 102 und/oder die Speichervorrichtungen 106 darstellen. Zum Beispiel können redundante Kopien von Dateneinheiten, die im nichtflüchtigen Speicher des Client-Systems 102 und/oder der Speichervorrichtungen 106 gespeichert sind, mit Hilfe der Speicheranwendung 124 und/oder der Cloud-Anwendung 152 als Objekte im Objektspeicher 140 abgelegt werden. In einigen Ausführungsformen kann die vom Serversystem 150.1 gehostete Cloud-Anwendung 152 einen Client der Speicheranwendung 124 verkörpern, da sie über verschiedene programmatische Schnittstellen auf die Funktionen der Speicheranwendung 124 zugreifen kann (z. B. um im Objektspeicher gespeicherte Objekte zu erstellen, zu speichern, abzurufen, zu löschen usw.). Die Client-Systeme 102 können von den verteilten Speicherungssystemen 120 und den Serversystemen 150 entfernt sein und sind nur über das Kommunikationsnetzwerk 110 verbunden. Verteilte Speicherungssysteme 120 und/oder Serversysteme 150 können sich zum Beispiel an sicheren Standorten wie kommerziellen Rechenzentren befinden, und bei Client-Systemen 102 kann es sich um private und geschäftliche Computersysteme und -vorrichtungen handeln, die an entfernten Heim-, Geschäfts- und mobilen Standorten betrieben werden.
  • Client-Systeme 102, verteilte Speicherungssysteme 120 und/oder Serversysteme 150 können Anforderungen und/oder Antworten, wie beispielsweise, aber nicht ausschließlich, HTTP(S)-Anforderungen/Antworten, aneinander bzw. voneinander senden/empfangen. Das Client-System 102 kann den Benutzern 104 Informationen, wie beispielsweise visuelle, akustische, taktile und/oder andere Informationen über Ausgabevorrichtungen, wie beispielsweise Displays, Audiowiedergabevorrichtungen, Vibrationsmechanismen usw., auf Grundlage von Informationen präsentieren, die von einem Client-System 102 erzeugt und/oder von einem Serversystem 128 und/oder einem verteilten Speicherungssystem 120 empfangen wurden.
  • Die Benutzer 104 können mit verschiedenen Client-Systemen 102 interagieren, um Eingaben bereitzustellen und Informationen zu erhalten. Wie veranschaulicht, können Benutzer 104.1 und 104.n beispielsweise mit Client-Systemen 102.1 und 102.n interagieren, indem sie das Betriebssystem und/oder verschiedene Anwendungen nutzen, die auf den Client-Systemen 102.1 und 102.n ausgeführt werden.
  • In einigen Ausführungsformen kann eine Client-Anwendung (z. B. eine Client-Anwendung, die auf dem Client-System 102 ausgeführt wird, eine Cloud-Anwendung 152 usw.) eine Anforderung (auch als Objektspeicheranforderung bezeichnet) an die verteilten Speicherungssysteme 120 oder Objektspeicher 140 senden, um eine bestimmte Datei, ein Datenobjekt oder eine andere Dateneinheit, die in den verteilten Speicherungssystemen 120 und/oder den Objektspeichern 140 gespeichert ist, über das Kommunikationsnetzwerk 110 zu speichern, zu aktualisieren, zu löschen oder abzurufen. Zum Beispiel kann ein Benutzer 104 eine Sicherungsanwendung so einrichten, dass sie in regelmäßigen Abständen Sicherungsdatensätze, wie beispielsweise umfassende Schnappschüsse einer Speichervorrichtung oder ausgewählter Volumes oder Dateien darin und/oder Delta-Updates von Änderungen seit einem früheren Schnappschuss oder Delta-Update, in den verteilten Speicherungssystemen 120 und/oder Objektspeichern 140 speichert. In diesem Fall überträgt die Sicherungsanwendung eine Anforderung an die verteilten Speicherungssysteme 120 oder Objektspeicher 140, um das/die Update(s) zu speichern. Eine umfassende Kopie einer Speichervorrichtung oder eines ausgewählten Volumes, Verzeichnisses, Buckets usw. kann alle Datenobjekte oder Dateien einschließen, die in der ausgewählten Speichervorrichtung oder einer ausgewählten Unterteilung davon enthalten sind.
  • Eine Objektspeicheranforderung kann Informationen einschließen, die ein zu erstellendes und/oder zu aktualisierendes Objekt beschreiben, wie beispielsweise einen Dateinamen, die Daten, die die Aktualisierung(en) aufweisen, eine Client-Kennung, einen Vorgangstyp usw., und Speicheranwendungen 124 können diese Informationen verwenden, um die Aktualisierung(en), wie hierin beschrieben, aufzuzeichnen. In einem anderen Beispiel kann eine Client-Anwendung (z. B. eine Anwendung, die auf einem Client-System 102 ausgeführt wird, eine Cloud-Anwendung 152 usw.) ein Objekt oder einen Abschnitt davon, eine Liste von Objekten, die bestimmten Kriterien entsprechen, usw. anfordern. In diesem Fall kann die Anforderung entsprechende Informationen einschließen (z. B. einen Objektidentifikator, Suchkriterien (z. B. Zeit/Datum, Schlüsselwörter usw.) und eine Objektliste oder das Objekt selbst von der Speicheranwendung 124 erhalten. Zahlreiche andere Anwendungsfälle sind ebenfalls denkbar und möglich.
  • Die Speicheranwendung 124 kann einen Objektspeicherdienst bereitstellen, die Datenspeicherung mit Hilfe von Metadatenspeichern 130 und Objektspeichern 140 verwalten (z. B. Daten in den Metadatenspeichern 130 und den Objektspeichern 140 speichern, abrufen und/oder anderweitig manipulieren usw.), von verschiedenen Entitäten (z. B. Client-Systemen 102, Serversystemen 150, lokalen Anwendungen usw.) empfangene Anforderungen verarbeiten, Gleichzeitigkeit bereitstellen, für Datenredundanz sorgen und Daten replizieren, Speicherbereinigung durchführen und andere Handlungen ausführen, wie hierin weiter erläutert. Die Speicheranwendung 124 kann verschiedene Schnittstellen einschließen, wie Software- und/oder Hardwareschnittstellen (z. B. Anwendungsprogrammierschnittstelle(n) (API(s)), auf die (z. B. lokal, aus der Ferne usw.) von Komponenten des Systems 100 zugegriffen werden kann, wie beispielsweise verschiedene Client-Anwendungen, die Cloud-Anwendung 152, der Speicherzustandsmonitor 154 usw.
  • In einigen Ausführungsformen kann die Speicheranwendung 124 eine verteilte Anwendung sein, die in zwei oder mehr Rechnersystemen implementiert ist (z. B. in den verteilten Speicherungssystemen 120.1-120.n). Zum Beispiel kann die Speicheranwendung 124 so eingerichtet werden, dass sie eine erste Sicherungsdatenstufe mit einem langsamen verteilten Speicherungssystem 120.1 und eine zweite Sicherungsdatenstufe mit einem schnellen verteilten Speicherungssystem 120.2 bereitstellt. In einigen Ausführungsformen kann der Objektspeicher 140 aus einer Vielzahl von Speichervorrichtungen, Servern, Softwareanwendungen und anderen Komponenten bestehen, wie beispielsweise, aber nicht ausschließlich, jeder geeigneten Speicherhardware und -software für Unternehmensdaten. In einigen Ausführungsformen kann die Speicheranwendung 124 eine lokale Anwendung sein, die lokale und/oder entfernte Speicheranforderungen von anderen Clients (z. B. lokalen Anwendungen, entfernten Anwendungen usw.) erhält.
  • In einem nicht einschränkenden Beispiel kann das verteilte Speicherungssystem 120 einen Objektspeicherdienst bereitstellen, wie beispielsweise Speicherdienste, die Objektspeicherfunktionen im Unternehmensmaßstab bieten. Weitere Beispiele für solche Speicherdienste können den Amazon Simple Storage Service (S3) Objektspeicherdienst, wie ActiveScale™, andere lokale und/oder Cloud-basierte S3-Speicherungssysteme/-dienste einschließen.
  • Das verteilte Speicherungssystem 120 kann mit einem Objektspeicher 140 verknüpft sein und/oder einen solchen einschließen. Der Objektspeicher 140 kann einen oder mehrere Datenspeicher zum Speichern von Datenobjekten aufweisen. Der Objektspeicher 140 kann über eine Vielzahl von physischen Speichervorrichtungen implementiert werden. In einigen Ausführungsformen kann sich die Vielzahl der physischen Speichervorrichtungen an unterschiedlichen Orten befinden. Auf Objekte, die im Objektspeicher 140 gespeichert sind, kann durch Metadateneinträge, die im Metadatenspeicher 130 gespeichert sind, Bezug genommen werden. In einigen Ausführungsformen können mehrere Kopien eines bestimmten Objekts oder Abschnitte davon (z. B. löschcodierte Kopien) auf verschiedenen physischen Speichervorrichtungen gespeichert werden, um sich vor Datenverlusten durch Systemausfälle zu schützen oder um von verschiedenen geografischen Standorten aus schnell auf das Objekt zugreifen zu können.
  • Der Metadatenspeicher 130 kann eine Datenbank aufweisen, die einen geordneten Satz von Metadateneinträgen speichert. Einträge können als Reaktion auf Objektspeicheranforderungen gespeichert werden, die von einem Speicherdienst empfangen werden, wie beispielsweise setzen, holen, löschen, auflisten usw. Der von der Speicheranwendung 124 bereitgestellte Speicherdienst kann eine Metadatensteuerung des Metadatenspeichers 130 anweisen, die Vorgänge zur Datenmanipulation aufzuzeichnen. Der von der Speicheranwendung 124 bereitgestellte Speicherdienst kann zum Beispiel entsprechende Methoden der Metadatensteuerung des Metadatenspeichers 130 aufrufen, der so eingerichtet ist, dass er die verschiedenen Speicherfunktionen ausführt und je nach Konfiguration und Bedarf handelt.
  • In einigen Ausführungsformen kann der Metadatenspeicher 130 eine horizontal partitionierte Datenbank mit zwei oder mehr Shards aufweisen, obwohl auch andere geeignete Datenbankkonfigurationen möglich sind und in Betracht gezogen werden. Da es sich bei der horizontalen Partitionierung um ein Prinzip des Datenbankdesigns handelt, bei dem die Zeilen einer Datenbanktabelle separat gehalten und nicht in Spalten aufgeteilt werden (was bei der Normalisierung und der vertikalen Partitionierung in unterschiedlichem Maße der Fall ist), kann jede Partition Teil eines Shards sein, der sich wiederum auf einem separaten Datenbankserver oder an einem anderen physischen Standort befinden kann. Je nach Implementierung können Datenbank-Shards auf verschiedenen physischen Speichervorrichtungen, als virtuelle Partitionen auf derselben physischen Speichervorrichtung oder als eine beliebige Kombination davon eingerichtet werden.
  • Der Metadatenspeicher 130 und/oder der Objektspeicher 140 können in das verteilte Speicherungssystem 120 oder in ein anderes Rechnersystem und/oder ein anderes Speicherungssystem eingeschlossen sein, das sich vom verteilten Speicherungssystem 120 unterscheidet, aber mit diesem gekoppelt oder über dieses zugänglich ist. Der Metadatenspeicher 130 und/oder der Objektspeicher 140 schließen ein oder mehrere nichtflüchtige, computerlesbare Medien (z. B. solche, die mit Bezug auf den Speicher 316 in 3 besprochen wurden) zum Speichern der Daten ein. In einigen Implementierungen können der Metadatenspeicher 130 und/oder der Objektspeicher 140 in den Speicher 316 integriert oder davon getrennt sein. In einigen Implementierungen kann der Metadatenspeicher 130 und/oder der Objektspeicher 140 Daten speichern, die mit einem Datenbankmanagementsystem (DBMS) verbunden sind, wie beispielsweise einem, das von der Speicheranwendung 124 und/oder anderen Komponenten des Systems 100 umfasst und/oder gesteuert wird. In einigen Fällen kann das DBMS Daten in mehrdimensionalen Tabellen speichern, die aus Zeilen und Spalten bestehen, und Datenzeilen mit Hilfe von programmatischen Vorgängen manipulieren, wie beispielsweise einfügen, abfragen, aktualisieren und/oder löschen, obwohl auch andere geeignete DBMS-Konfigurationen möglich sind.
  • In einigen Ausführungsformen kann das Serversystem 150.n einen Speicherzustandsmonitor 154 beherbergen, wie beispielsweise eine Überwachungsanwendung, die von einem Hersteller von Speichervorrichtungen verwendet wird, um Speicherzustandsdaten von entfernten Speichervorrichtungen (z. B. Client-Systemen 102 und Speichervorrichtungen 106) zu sammeln. Der Speicherzustandsmonitor 154 kann zum Beispiel einen berechtigungsbasierten Zugriff verwenden, um regelmäßige Aktualisierungen der Speicherzustandsdaten von jeder überwachten Speichervorrichtung zu erhalten. Der Speicherzustandsmonitor 154 kann so eingerichtet werden, dass er die empfangenen Speicherzustandsdaten verarbeitet und den Benutzern 104 Warnungen bereitstellt, wenn eine Änderung des Speicherzustands erkannt wird. In einigen Ausführungsformen kann der Speicherzustandsmonitor 154 auch so eingerichtet sein, dass er Speicherzustandsdaten und/oder Warnmeldungen über Änderungen des Speicherzustands für andere Systeme und Anwendungen bereitstellt, wie beispielsweise die Cloud-Anwendung 152 auf dem Serversystem 150.1 und/oder die Speicheranwendung 124 auf dem verteilten Speicherungssystem 120. In einigen Ausführungsformen können andere Systeme oder Anwendungen, wie die Cloud-Anwendung 152 auf dem Serversystem 150.1 und/oder die Speicheranwendung 124 auf dem verteilten Speicherungssystem 120, Speicherzustandsdaten und/oder Warnmeldungen direkt von den Client-Systemen 102 und/oder den Speichervorrichtungen 106 empfangen.
  • Es ist zu verstehen, dass das in 1 veranschaulichte System 100 für ein beispielhaftes System steht und dass eine Vielzahl unterschiedlicher Systemumgebungen und -konfigurationen in Betracht gezogen werden und innerhalb des Schutzumfangs der vorliegenden Offenbarung fallen. In einigen weiteren Ausführungsformen können beispielsweise verschiedene Funktionen zwischen den Serversystemen 150 und den verteilten Speicherungssystemen 120, von den Serversystemen 150 und dem verteilten Speicherungssystem 120 zu einem Client oder umgekehrt verschoben werden, Module können kombiniert und/oder in weitere Komponenten segmentiert werden, Daten können in einem einzigen Datenspeicher konsolidiert oder weiter in zusätzliche Datenspeicher segmentiert werden, und einige Implementierungen können zusätzliche oder weniger Rechnervorrichtungen, Dienste und/oder Netzwerke einschließen und verschiedene Funktionen dient- oder serverseitig implementieren. Weiterhin können verschiedene Entitäten des Systems 100 in eine einzige Rechnervorrichtung oder ein System oder in zusätzliche Rechnervorrichtungen oder Systeme usw. integriert werden.
  • 2 zeigt schematisch ausgewählte Komponenten eines Systems 200 zum Bereitstellen von differenzierten Datenwiederherstellungskonfigurationen auf Grundlage von Speicherzustandsdaten. In einigen Ausführungsformen kann das System 200 in einer ähnlichen Architektur implementiert werden wie das System 100 in 1. Das verteilte Speicherungssystem 220 kann ähnlich wie die verteilten Speicherungssysteme 120 eingerichtet werden. Die Speichervorrichtungen 240 können ähnlich wie die Speichervorrichtungen 106 und/oder die internen Speichervorrichtungen der Client-Systeme 102 eingerichtet werden. Die Sicherungsanwendung 210 und/oder ihre Komponenten können von Client-Systemen 102, verteilten Speicherungssystemen 220, Serversystemen 150 und/oder verschiedenen Kombinationen davon gehostet werden.
  • Die Sicherungsanwendung 210 kann eine oder mehrere Software- und/oder Hardwarekomponenten einschließen, um eine redundante Sicherung für eine oder mehrere Speichervorrichtungen 240 bereitzustellen. Die Daten 244 von den Speichervorrichtungen 240 können im verteilten Speicherungssystem 220 gesichert werden. In der gezeigten Ausführungsform kann die Sicherungsanwendung 210 von einem schnellen Speicherungssystem unterstützt werden, das in einem verteilten Speicherungssystem 220 verkörpert ist, wie es vorstehend für die zweite Schutzstufe beschrieben wurde, die so eingerichtet ist, dass sie eine allmähliche Verschlechterung der Speicherzuverlässigkeit berücksichtigt. Insbesondere kann die Sicherungsanwendung 210 so eingerichtet werden, dass sie differenzierte Datenwiederherstellungskonfigurationen im verteilten Speicherungssystem 220 auf Grundlage von Änderungen der Speicherzustandsdaten 246 unterstützt. In einigen Ausführungsformen können verschiedene Datenwiederherstellungskonfigurationen ausgewählt und den Sicherungsdaten auf der Speichervorrichtung und/oder der physischen Speichereinheit mit Hilfe der Datenkarte 212 zugeordnet werden. Die Sicherungsanwendung 210 kann zum Beispiel ein hierarchisches physikalisches Modell für die Speichereinheiten 242 implementieren, das die Einstellung verschiedener Paritätsstufen auf der Ebene des Löschblocks, der Seite, des Chips und/oder der Speichervorrichtung innerhalb der Speichervorrichtungen 240 ermöglicht.
  • Das verteilte Speicherungssystem 220 kann redundante Datensätze 244 von Speichervorrichtungen 240 speichern. So kann die Sicherungsanwendung 210 zum Beispiel eine Sicherungskopie der auf den Speichervorrichtungen 240 gespeicherten Daten speichern. In einigen Ausführungsformen können die Daten 244 im verteilten Speicherungssystem 220 gemäß den Datenwiederherstellungskonfigurationen 214 gespeichert werden, um zusätzliche Redundanz und Fehlerkorrektur für die Wiederherstellung verlorener oder beschädigter Daten bereitzustellen. Die Sicherungsanwendung 210 kann die Datenwiederherstellungskonfigurationen 214 für jede Dateneinheit der Daten 244 bestimmen und zuweisen, während diese gespeichert werden, und/oder die Dateneinheiten auf Grundlage von Änderungen des Speicherzustands der physischen Speichervorrichtung, die mit den entsprechenden Daten 244 in den Speichervorrichtungen 240 verbunden ist, neu zuweisen. In einigen Ausführungsformen kann das verteilte Speicherungssystem 220 langsame und schnelle Speicheroptionen einschließen, und die Daten 244 können in einer Kombination aus langsamer Speicherung umfassender Sicherung und schneller Speicherung von Delta-Sicherung gespeichert werden.
  • Die Speichervorrichtungen 240 können eine beliebige Anzahl von Edge-Storage-Vorrichtungen einschließen, wie beispielsweise SSD, HDD, Hybrid-Laufwerk, sichere digitale Karte (SD), USB-Stick (Universal Serial Bus) oder andere Formfaktoren von Flash-Laufwerken in eigenständigen Vorrichtungen oder integriert in ein Rechnersystem, wie beispielsweise einen persönlichen Computer (PC), einen Laptop, ein Smartphone, ein Tablet, ein Mobiltelefon, eine tragbare elektronische Vorrichtung, ein intelligentes Gerät, eine Internet-of-Things (loT)-Vorrichtung, ein eingebettetes System, einen Server, eine Servervorrichtung oder jede andere elektronische Vorrichtung mit nichtflüchtigem Speicher, Computerverarbeitung und Netzwerkkommunikationsfähigkeiten. In einigen Ausführungsformen können die Speichervorrichtungen 240 eine Vielzahl von physischen Speichereinheiten 242 einschließen, die einen nichtflüchtigen Speicher zur Speicherung von Daten 244 enthalten. Die Speichereinheiten 242 können zum Beispiel Speichervorrichtungen, Chips, Medienplatten und/oder physische Untereinheiten davon einschließen.
  • Die Speichervorrichtungen 240 können jeweils ein oder mehrere Hardware- und/oder Softwaremodule zum Sammeln von Speicherzustandsdaten 264 einschließen, die sich auf das nichtflüchtige Speichermedium beziehen, das die Speichervorrichtung enthält. Zum Beispiel können die Speichervorrichtungen 240 verschiedene Messungen, Zählungen, Parameter und andere Werte zusammenfassen und an einem Speicherort zur Verwendung durch verschiedene Speichervorrichtungsverwaltungsfunktionen innerhalb der Speichervorrichtung speichern. Auf die in den Speichervorrichtungen 240 gespeicherten Speicherzustandsdaten 246 kann über ein sicheres Fernzugriffs- oder Nachrichtenprotokoll zugegriffen werden, wie beispielsweise Internetprotokolle, Fernspeicherzugriff (RMA) usw. In einigen Ausführungsformen können die Speichervorrichtungen 240 eine Anwendung oder einen Dienst zur Unterstützung der Sicherungsanwendung 210 über eine Programmierschnittstelle (API) bereitstellen. Zum Beispiel können die Speichervorrichtungen 240 periodische Sicherungsdaten 250 aus Daten 244 an die Sicherungsanwendung 210 senden und Gesundheitsdaten 252 aus Speicherzustandsdaten 246 als Teil dieser Nachrichten oder des Datenaustauschs einschließen.
  • Wie gezeigt, kann die Sicherungsanwendung 210 Folgendes einschließen: eine Datenkarte 212, die Dateneinheiten (Dateien, Objekte, Blöcke usw.) von den Speichervorrichtungen 240 auf entsprechende Datenspeicherplätze im verteilten Speicherungssystem 220 abbildet; Datenwiederherstellungskonfigurationen 214, die so eingerichtet sind, dass sie eine Vielzahl von differenzierten Datenwiederherstellungskonfigurationen einschließen, die unterschiedlichen Fehlerraten entsprechen, die von jeder Konfiguration behandelt werden; Speicherzustandsmonitor 216, der so eingerichtet ist, dass er Speicherzustandsdaten 246 von den Speichereinheiten 240 sammelt; und Zuverlässigkeitsmanager 218, der so eingerichtet ist, dass er die gesammelten Speicherzustandsdaten 246 auswertet und bestimmt, welche Datenwiederherstellungskonfigurationen 214 für Sicherungsdaten verwendet werden sollten, die von einer bestimmten Speichervorrichtung und/oder Speichereinheit empfangen wurden. Zum Beispiel kann die Sicherungsanwendung 210 in regelmäßigen Abständen Sicherungsdaten 250 und Speicherzustandsdaten 252 in einer Nachricht, Sitzung oder Antwort von den Speichervorrichtungen 240 empfangen und die empfangenen Speicherzustandsdaten 252 anhand verringerter Zuverlässigkeitsschwellenwerte bewerten, um zu bestimmen, welche Datenwiederherstellungskonfigurationen 214 für die empfangenen Sicherungsdaten verwendet werden sollten. Verschiedene Komponenten, die den Vorgang der Sicherungsanwendung 210 in einigen Ausführungsformen unterstützen können, werden weiter unten mit Bezug auf 3 beschrieben.
  • 3 zeigt schematisch ausgewählte Module eines Serversystems, eines verteilten Speicherungssystems und/oder einer Kombination davon, die eine Sicherungsanwendung wie vorstehend beschrieben hosten. Das System 300 kann einen Bus 310 einschließen, der mindestens eine Kommunikationseinheit 312, mindestens einen Prozessor 314 und mindestens einen Speicher 316 miteinander verbindet. Der Bus 310 kann einen oder mehrere Leiter einschließen, die die Kommunikation zwischen den Komponenten des Systems 300 ermöglichen. Die Kommunikationseinheit 312 kann jeden Transceiver-ähnlichen Mechanismus einschließen, der es dem System 300 ermöglicht, mit anderen Vorrichtungen und/oder Systemen zu kommunizieren. So kann die Kommunikationseinheit 312 beispielsweise drahtgebundene oder drahtlose Mechanismen zur Kommunikation mit Dateisystem-Clients, anderen Zugriffssystemen und/oder einem oder mehreren Objektspeicherungssystemen oder -komponenten wie Speicherknoten oder Steuerungsknoten einschließen. Der Prozessor 314 kann einen beliebigen Typ von Prozessor oder Mikroprozessor einschließen, der Anweisungen interpretiert und ausführt. Der Speicher 316 kann einen Direktzugriffsspeicher (RAM) oder eine andere Art von dynamischer Speichervorrichtung einschließen, die Informationen und Anweisungen zur Ausführung durch den Prozessor 314 speichert, und/oder einen Festwertspeicher (ROM) oder eine andere Art von statischer Speichervorrichtung, die statische Informationen und Anweisungen zur Verwendung durch den Prozessor 314 speichert, und/oder ein beliebiges geeignetes Speicherelement wie eine Festplatte oder ein Festkörperspeicherelement.
  • Das System 300 kann eine oder mehrere Datenbanken und/oder spezialisierte Datenspeicher einschließen oder darauf zugreifen, wie beispielsweise den Metadatenspeicher 380 und den Datenspeicher 390. Datenbanken können eine oder mehrere Datenstrukturen zum Speichern, Abrufen, Indexieren, Suchen, Filtern usw. von strukturierten und/oder unstrukturierten Datenelementen einschließen. In einigen Ausführungsformen kann der Metadatenspeicher 380 als Referenzdateneinträge und/oder Datenfelder strukturiert sein, die durch Metadatenschlüsselwerteinträge indiziert sind, die sich auf Datenobjekte beziehen, die im Datenspeicher 390 gespeichert sind. Der Datenspeicher 390 kann Datenobjekte einschließen, die aus Objektdaten (z. B. Hostdaten), einer gewissen Menge an Metadaten (gespeichert als Metadaten-Tags) und einem global eindeutigen Bezeichner (GUID) bestehen. Der Metadatenspeicher 380, der Datenspeicher 390 und/oder andere Datenbanken oder Datenstrukturen können in separaten Rechnersystemen, wie beispielsweise Serverknoten, Speicherknoten, Steuerungsknoten oder Zugangsknoten, mit separaten Kommunikations-, Prozessor-, Speicher- und anderen Rechnerressourcen gepflegt und verwaltet werden, auf die das System 300 über Datenzugriffsprotokolle zugreift. Der Metadatenspeicher 380 und der Datenspeicher 390 können von mehreren Speicherungssystemen gemeinsam genutzt werden.
  • Das Speicherungssystem 300 kann eine Vielzahl von Modulen oder Subsystemen einschließen, die im Speicher 316 zur Ausführung durch den Prozessor 314 gespeichert und/oder instanziiert werden. Zum Beispiel kann die Schnittstelle 316 eine Sicherungsschnittstelle 320 enthalten, die so eingerichtet ist, dass sie Sicherungsdaten und zugehörige Anforderungen von einer oder mehreren entfernten Speichervorrichtungen empfängt, verarbeitet und verwaltet. Der Speicher 316 kann ein Codierungs-/Decodierungsmodul 330 einschließen, die für die Codierung und Decodierung von Symbolen eingerichtet ist, die Dateneinheiten (Dateien, Objekte, Nachrichten usw.) entsprechen, die im Datenspeicher 390 gespeichert sind. Der Speicher 316 kann einen Speicherzustandsmonitor 340 einschließen, der für den Empfang und die Verwaltung von Speicherzustandsdaten eingerichtet ist, die von entfernten Speichervorrichtungen empfangen werden. Der Speicher 316 kann einen Zuverlässigkeitsmanager 350 einschließen, der so eingerichtet ist, dass er verschiedene Datenwiederherstellungskonfigurationen verwaltet, die für die Speicherung von Sicherungsdaten auf Grundlage eines oder mehrerer Speicherzustände der Speichervorrichtungen verwendet werden. In einigen Ausführungsformen können die Sicherungsschnittstelle 320, das Codierungs-/Decodierungsmodul 330, der Speicherzustandsmonitor 340 und/oder der Zuverlässigkeitsmanager 350 in eine Sicherungsanwendung (z. B. die Sicherungsanwendung 210 in 2), eine Speicheranwendung (z. B. die Speicheranwendungen 124 in 1) integriert und/oder als separate Bibliotheken oder Hintergrundprozesse (z. B. Daemon) über eine API oder eine andere Schnittstelle verwaltet werden.
  • Die Sicherungsschnittstelle 320 kann ein Schnittstellenprotokoll oder einen Satz von Funktionen und Parametern zum Speichern, Wiederherstellen und anderweitigen Verwalten von Datensicherungsanforderungen von entfernten Speichervorrichtungen an den Datenspeicher 390 einschließen. So kann die Sicherungsschnittstelle 320 zum Beispiel Funktionen zum Lesen, Schreiben, Modifizieren oder anderweitigen Manipulieren von Sicherungsdatenobjekten und/oder -dateien sowie ihrer jeweiligen Client- oder Hostdaten und Metadaten in Übereinstimmung mit den Protokollen eines Objekt- oder Dateispeicherungssystems einschließen. In einigen Ausführungsformen kann die Sicherungsschnittstelle 320 eine mehrstufige Sicherungskonfiguration einrichten, die regelmäßige Vollsicherungen auf einen langsamen Speicher und häufigere Delta-Sicherungen auf einen schnellen Speicher einschließt. Die Sicherungsschnittstelle 320 kann weiterhin so eingerichtet werden, dass differenzierte Datenwiederherstellungskonfigurationen auf Grundlage von Speicherzustandsdaten für die Speicherung von Sicherungsdaten verwendet werden. Zum Beispiel können Delta-Sicherungen auf schnellem Speicher so eingerichtet werden, dass ein Speicherzustandszustand bestimmt wird und die Auswahl der Datenwiederherstellungskonfiguration auf dem Speicherzustandszustand und/oder dessen Änderungen basiert.
  • In einigen Ausführungsformen kann die Sicherungsschnittstelle 320 eine Vielzahl von Hardware- und/oder Softwaremodulen einschließen, die so eingerichtet sind, dass sie den Prozessor 314 und den Speicher 316 verwenden, um bestimmte Vorgänge der Sicherungsschnittstelle 320 zu verarbeiten oder zu verwalten. Die Sicherungsschnittstelle 320 kann zum Beispiel einen Sicherungsplaner 322, einen Sicherungsdatenkanal 324, einen Speichermanager 326 und eine Sicherungsbenutzerschnittstelle 328 einschließen. Für jede beliebige Speichervorrichtung kann die Sicherungsschnittstelle 320 über den Sicherungsplaner 322 und den Sicherungsdatenkanal 324 Sicherungsanforderungen empfangen oder initiieren. Diese Sicherungsvorgänge können Sicherungsvorgänge einschließen, die vom Speichermanager 326 abgewickelt werden, einschließlich Codierungs- und Decodierungsvorgängen. In einigen Ausführungsformen kann die Sicherungsschnittstelle 328 so eingerichtet sein, dass sie vom Benutzer initiierte Sicherungen ermöglicht und/oder Sicherungskonfigurationsparameter einstellt, die vom Sicherungsplaner 322 verwendet werden.
  • Die Sicherungsschnittstelle 320 kann Nachrichten, die Sicherungsdaten einschließen, empfangen und sie gemäß den entsprechenden Kommunikations- und Speicherprotokollen analysieren. In einigen Ausführungsformen kann die Sicherungsschnittstelle 320 eine Transaktionskennung, eine Client-Kennung, eine Objektkennung (Objektname oder GUID), einen Sicherungsvorgang und ggf. zusätzliche Parameter für den Sicherungsdatenvorgang aus der oder den empfangenen Nachrichten identifizieren, aus denen die Sicherungsdatenanforderung besteht.
  • Die Sicherungsplanung 322 kann eine Schnittstelle, Funktion oder Logik sowie zugehörige Datenstrukturen einschließen, um Sicherungsdatenanforderungen von entfernten Speichervorrichtungen zu empfangen und/oder Sicherungsdatenanforderungen an entfernte Speichervorrichtungen nach einem festgelegten Zeitplan zu initiieren. Beispielsweise können entfernte Speichervorrichtungen eine Sicherungsdatenanforderungen über eine Netzwerkverbindung an das System 300 oder einen Anschluss oder eine Komponente davon, wie beispielsweise eine API für den Sicherungsdatenkanal 324, nach einem zeit- oder ereignisbasierten Zeitplan senden. Sicherungsplanung 322 kann eine Zeitplandefinition und/oder eine Zeitplanungslogik einschließen, die so eingerichtet ist, dass sie bestimmt, wann die Kommunikation zur Datensicherung mit einer entfernten Speichervorrichtung eingeleitet werden soll. In einigen Ausführungsformen kann die Sicherungsplanung 322 als Initiator periodischer Sicherungen und/oder als Empfänger periodischer Sicherungen, die von entfernten Speichervorrichtungen initiiert werden, eingerichtet werden. In einigen Ausführungsformen kann die Sicherungsplanung 322 eine Sicherungskonfiguration 322.1 und einen Delta-Sicherungsmodus 322.2 einschließen.
  • Die Sicherungskonfiguration 322.1 kann zum Beispiel eine Vielzahl von Sicherungskonfigurationsparametern einschließen, die modifiziert werden können, um den Vorgang der Sicherungsschnittstelle 320 zu verändern. In einigen Ausführungsformen kann die Sicherungskonfiguration 322.1 in einer Konfigurationsdatei oder einer ähnlichen Datenstruktur gespeichert sein. Zum Beispiel kann eine standardmäßige Sicherungskonfiguration und/oder eine oder mehrere benutzerdefinierte Sicherungskonfigurationen über die Benutzerschnittstelle 328 erstellt und/oder empfangen werden. In einigen Ausführungsformen kann die Sicherungskonfiguration 322.1 die Zuordnung zu Sicherungsstufen einschließen, wie beispielsweise schneller Speicher und/oder langsamer Speicher, und/oder die Definition von Sicherungsdienststufen für den Benutzer, wie beispielsweise Sicherungsstufen in Bezug auf die Häufigkeit der Sicherung, die Bedingungen für die Wiederherstellung (akzeptable Zeit bis zur Wiederherstellung), Sicherheitsstufen und/oder die Zuweisung von Ressourcen, wie beispielsweise die Zuweisung von Speicherraum und/oder anderen Cloud-Ressourcen (z. B. Prozessor, spezialisierte Hardware-/Softwaredienste, Netzwerkressourcen, dedizierte Hardware usw.). In einigen Ausführungsformen kann die Sicherungskonfiguration 322.1 eine Datenstruktur oder Funktion einschließen, die einen periodischen Sicherungsplan definiert, der Sicherungsdatenanforderungen in vorbestimmten Intervallen oder auf Grundlage anderer wiederkehrender Auslösebedingungen initiiert und/oder empfängt.
  • In einigen Ausführungsformen kann der Delta-Sicherungsmodus 322.2 ein Standard-Sicherungsmodus sein und/oder über die Sicherungs-Benutzerschnittstelle 328 zur Speicherung in der Sicherungskonfiguration 322.1 eingerichtet werden. Der Delta-Sicherungsmodus 322.2 kann eine Logik einschließen, die periodische vollständige Sicherungen einer entfernten Speichervorrichtung oder eines Abschnitts davon identifiziert und inkrementelle oder Delta-Sicherungen einleitet, die so eingerichtet sind, dass sie eine Differenz zwischen der letzten vollständigen Sicherung und einem aktuellen Zustand der Speichervorrichtung speichern. In einigen Ausführungsformen kann zwischen jedem vollständigen Sicherungs eine Reihe von Delta-Sicherungen eingeleitet werden, die ihrerseits alle Änderungen seit der vorangegangenen vollständigen Sicherung oder seit der unmittelbar vorangegangenen Delta-Sicherung einschließen können, falls vorhanden. Delta-Sicherungen können von der Sicherungsplanung 322 und/oder der entfernten Speichervorrichtung initiiert werden. In einigen Ausführungsformen können vollständige Sicherungen von der Sicherungsplanung 322 geplant und eingeleitet werden, und Delta-Sicherungen können von der entfernten Speichervorrichtung als Reaktion auf Änderungen der darin gespeicherten Daten eingeleitet werden.
  • Der Sicherungsdatenkanal 324 kann einen festen oder konfigurierbaren Netzwerkdatenpfad für den Empfang von Sicherungsdaten von entfernten Speichervorrichtungen einschließen. Der Sicherungsdatenkanal 324 kann eine Kombination aus physischen und/oder logischen Netzwerkkonfigurationen, die mit der Kommunikationseinheit 312 kompatibel sind, und kompatiblen Schnittstellen, Protokollen und/oder Parametern für den Empfang von Sicherungsdaten von entfernten Speichervorrichtungen einschließen. In einigen Ausführungsformen kann der Sicherungsdatenkanal 324 Streaming, sitzungsbasierte Protokolle und/oder Fernspeicherzugriff unterstützen, um die effiziente Übertragung großer Mengen von Sicherungsdaten zu ermöglichen. In einigen Ausführungsformen kann der Sicherungsdatenkanal 324 unabhängig von einem Nachrichtenkanal betrieben werden, wie beispielsweise der Internetkommunikation unter Verwendung von Standard-HTTPS, die zur Initiierung und Verwaltung des Sicherungsdatenkanals 324 verwendet wird. In einigen Ausführungsformen, die Delta-Sicherung implementieren, können vollständige Sicherungen über einen Sicherungsdatenkanal 324 mit hohem Durchsatz und Delta-Sicherungen über einen allgemeinen Kommunikationskanal initiiert werden. In einigen Ausführungsformen kann der Sicherungsdatenkanal 324 sowohl Sicherungsdaten als auch Speicherzustandsdaten von der entfernten Speichervorrichtung empfangen, die Sicherungsdaten in Sicherungsdatenobjekten im Datenspeicher 390 speichern und Speicherzustandsdaten im Metadatenspeicher 380 speichern.
  • Der Speichermanager 326 kann Schnittstellen, Funktionen und/oder Parameter zum Lesen, Schreiben und Löschen von Datenelementen im Datenspeicher 390 einschließen. Zum Beispiel können Objekt-PUT-Befehle so eingerichtet werden, dass sie Objektidentifikatoren, Objektdaten und/oder Objekt-Tags in einen Objektspeicher schreiben. Object-GET-Befehle können so eingerichtet werden, dass sie Daten aus einem Objektspeicher lesen. Object-DELETE-Befehle können so eingerichtet werden, dass sie Daten aus dem Objektspeicher löschen oder mindestens ein Datenobjekt zur Löschung markieren, bis eine zukünftige Speicherbereinigung oder ein ähnlicher Vorgang die Daten tatsächlich löscht oder den physischen Speicherplatz einem anderen Zweck zuweist.
  • In einigen Ausführungsformen kann der Speichermanager 326 das Schreiben und Lesen von Datenelementen überwachen, die auf dem Speichermedium, auf dem der Datenspeicher 390 gespeichert ist, löschcodiert sind. Wenn eine Nachricht oder eine Dateneinheit, wie beispielsweise eine Datei oder ein Datenobjekt, zur Speicherung empfangen wird, kann der Speichermanager 326 die Datei oder das Datenobjekt durch ein Löschcodierungsmodul, wie beispielsweise das Codierungs-/Decodierungsmodul 330, leiten. Die Dateneinheit kann in Datensymbole unterteilt und die Symbole in löschcodierte Datensymbole 392 zur Speicherung im Datenspeicher 390 codiert werden. In einigen Ausführungsformen können die Symbole auf eine Vielzahl von Speicherknoten verteilt werden, um Fehlertoleranz, Effizienz, Wiederherstellung und andere Gesichtspunkte zu unterstützen.
  • Wenn auf die Dateneinheit zugegriffen oder sie gelesen werden soll, kann der Speichermanager 326 die Speicherorte für jedes Symbol identifizieren, wie beispielsweise mit Hilfe einer im Metadatenspeicher 580 gespeicherten Dateneinheit/Symbolkarte 382. Löschcodierte Datensymbole 392 können durch ein Löschdecodiermodul, wie beispielsweise das Codier-/Decodiermodul 330, geleitet werden, um die ursprünglichen Symbole, aus denen die Dateneinheit besteht, an den Speichermanager 326 zurückzugeben. Die Dateneinheit kann dann wieder zusammengesetzt und von der Sicherungsschnittstelle 320 verwendet werden, um einen Vorgang zur Wiederherstellung von Sicherungsdaten abzuschließen. Der Speichermanager 326 kann mit dem Codierungs-/Decodierungsmodul 330 zusammenarbeiten, um löschcodierte Datensymbole 392 im Datenspeicher 390 zu speichern und abzurufen.
  • In einigen Ausführungsformen kann der Speichermanager 326 einen Metadatenmanager zum Erstellen, Modifizieren, Löschen, Zugreifen und/oder anderweitigen Verwalten von Objekt- oder Datei-Metadaten, wie beispielsweise im Metadatenspeicher 380 gespeicherten Metadaten, einschließen oder eine Schnittstelle zu diesem aufweisen. Wenn zum Beispiel ein neues Objekt in den Datenspeicher 390 geschrieben wird, kann mindestens ein neuer Metadateneintrag im Metadatenspeicher 380 erstellt werden, um Parameter darzustellen, die das neu erstellte Objekt beschreiben oder mit ihm in Verbindung stehen. Der Metadatenmanager kann Metadaten generieren und pflegen, die es dem Speichermanager 326 ermöglichen, Objekt- oder Datei-Metadaten im Metadatenspeicher 380 zu finden. Der Metadatenspeicher 380 kann beispielsweise als Schlüsselwertspeicher organisiert sein, und die Objektmetadaten können Schlüsselwerte für Datenobjekte und/oder Vorgänge im Zusammenhang mit diesen Objekten einschließen, die mit einem Schlüsselwert indiziert sind, der den Objektidentifikator oder die GUID für jedes Objekt einschließt.
  • In einigen Ausführungsformen kann der Speichermanager 326 den Metadatenmanager verwenden, um Karten der physischen Einheiten/Dateneinheiten 384 und/oder Speicherzustandsdaten 386 im Metadatenspeicher 380 zu speichern. Zum Beispiel können Karten der physischen Einheiten/Dateneinheiten 384 Einträge von Referenzwerten einschließen, wie logische Blockadressen und Identifikatoren von Speichereinheiten, die physische Speichereinheiten in den Speichervorrichtungen auf die in diesen entfernten Speichereinheiten gespeicherten Sicherungsdateneinheiten abbilden, die vom Speicherzustandsmonitor 340 und/oder dem Zuverlässigkeitsmanager 350 aktualisiert und verwendet werden können. Der Speicherzustandsdatenspeicher 386 kann die aktuellsten und/oder historischen Speicherzustandsdaten einschließen, die sich auf entfernte, zu sichernde Vorrichtungen und/oder ähnliche Populationen und Typen von Speichervorrichtungen für den Einsatz des Speicherzustandsmonitors 340 und/oder des Zuverlässigkeitsmanagers 350 beziehen.
  • Die Sicherungsschnittstelle 328 kann APIs, Funktionen und/oder Parameter für die vom Benutzer konfigurierbare Verwaltung der Sicherungsschnittstelle 320 einschließen. Zum Beispiel kann die Benutzerschnittstelle 328 eine grafische Benutzerschnittstelle und die zugrundeliegenden Logik- und Datenstrukturen bereitstellen, damit ein Benutzer die Sicherungsplanung 322 verwalten und/oder den Sicherungsdatenkanal 324 einrichten kann. In einigen Ausführungsformen kann die Sicherungsschnittstelle 328 als grafische Benutzerschnittstelle bereitgestellt werden, die Internetprotokolle unterstützt und über die Kommunikationseinheit 312 von einem oder mehreren entfernten Rechnersystemen aus zugänglich ist. Zum Beispiel kann sich der Benutzer einer entfernten Speichervorrichtung von einem anderen Rechnersystem aus sicher bei der Sicherungs-Benutzerschnittstelle 328 anmelden, wie beispielsweise bei dem Rechnersystem, das die entfernte Speichervorrichtung enthält oder mit ihr verbunden ist, oder bei einem anderen Rechnersystem, auf das derselbe Benutzer Zugriff hat.
  • Das Codierungs-/Decodierungsmodul 330 kann einen Satz von Funktionen und Parametern zum Speichern, Lesen und anderweitigen Verwalten von codierten Daten, wie beispielsweise löschcodierten Datensymbolen 392, im Datenspeicher 390 einschließen. Das Codierungs-/Decodierungsmodul 330 kann zum Beispiel Funktionen zum Codieren eines Nutzdatensymbols in ein löschcodiertes Datensymbol und zum Decodieren eines löschcodierten Datensymbols zurück in das ursprüngliche Nutzdatensymbol einschließen. In einigen Ausführungsformen kann das Codierungs-/Decodierungsmodul 330 in den Schreib- und/oder Lesepfad für den Datenspeicher 390 eingeschlossen sein, der vom Speichermanager 326 verwaltet wird. In einigen Ausführungsformen können die Codierungs- und Decodierungsfunktionen in getrennten Codierungs- und Decodierungsmodulen mit redundanten und/oder gemeinsam genutzten Funktionen untergebracht werden, wenn ähnliche Funktionen sowohl von den Codierungs- als auch von den Decodierungsvorgängen verwendet werden.
  • In einigen Ausführungsformen kann das Codierungs-/Decodierungsmodul 330 eine Vielzahl von Hardware- und/oder Softwaremodulen einschließen, die so konfiguriert sind, dass sie den Prozessor 314 und den Speicher 316 verwenden, um definierte Vorgänge des Codierungs-/Decodierungsmoduls 330 zu bearbeiten oder zu verwalten. Das Codierungs-/Decodierungsmodul 330 kann zum Beispiel eine Löschcodierungskonfiguration 332, einen Symbolpartitionierer 334 und Codierer/Decodierer 336 einschließen.
  • Die Löschcodierungskonfiguration 332 kann Funktionen, Parameter und/oder Logik zur Bestimmung der Vorgänge einschließen, die zur Aufteilung von Dateneinheiten in Symbole, zur Codierung und zur Decodierung dieser Symbole verwendet werden. So gibt es zum Beispiel verschiedene Löschcodierungsalgorithmen, die eine Vorwärtsfehlerkorrektur bereitstellen, indem sie eine Nachricht mit einer bestimmten Anzahl von Symbolen in eine längere Nachricht mit mehr Symbolen umwandeln, so dass die ursprüngliche Nachricht aus einem Untersatz der codierten Symbole wiederhergestellt werden kann. In einigen Ausführungsformen kann eine Nachricht in eine feste Anzahl von Symbolen aufgeteilt werden und diese Symbole werden als Eingabe für die Löschcodierung verwendet. Ein systematischer Löschcodierungsalgorithmus kann die ursprünglichen Symbole und eine feste Anzahl von zusätzlichen Paritätssymbolen liefern. Die Summe dieser Symbole kann dann an einem oder mehreren Speicherorten gespeichert werden.
  • In einigen Ausführungsformen kann die Löschcodierungskonfiguration 332 es ermöglichen, das Codierungs-/Decodierungsmodul 330 aus den verfügbaren Decodierungsalgorithmen 332.1 und den vom Datenspeicher 390 unterstützten codierten Blockgrößen 332.2 einzurichten. Die Codierungsalgorithmen 332.1 ermöglichen zum Beispiel die Auswahl eines Algorithmentyps, wie paritätsbasierte Codes, Paritätscodes niedriger Dichte, Reed-Solomon-Codes usw., und eines oder mehrerer Algorithmusparameter, wie Anzahl der ursprünglichen Symbole, Anzahl der codierten Symbole, Coderate, Empfangseffizienz usw. Die codierte Blockgröße 332.2 kann die Auswahl einer Blockgröße für codierte Symbole ermöglichen. Zum Beispiel kann die codierte Blockgröße so gewählt werden, dass sie mit den Überlegungen zu Speichermedien übereinstimmt, wie beispielsweise die Größe eines Löschblocks für SSD-Laufwerke (Solid State Drives) und/oder eine Symbolgröße, die mit den Parametern der Dateneinheit und/oder Untereinheit für Datenvorgänge übereinstimmt. Die Löschcodierungskonfiguration 332 kann auch eine Paritätsstufe 332.3 einschließen. Die Paritätsstufe 332.3 kann ein einrichtbarer Parameter sein, der das Verhältnis zwischen Nutzdaten, wie Host- oder Sicherungsdaten, und Paritätsdaten bestimmt. Die Paritätsstufe 332.3 kann bestimmen, wie viele Symbole beschädigt oder verloren gehen können und dennoch die gesamte Nachricht wiederhergestellt werden kann. In einigen Ausführungsformen kann die Paritätsstufe 332.3 mit der maximalen Fehlerrate korrelieren, ab der Sicherungsdaten wiederhergestellt werden können, wobei höhere Paritätsstufen höheren zulässigen Fehlerraten entsprechen, aber auch einen höheren Verbrauch an Speicherplatz für die zusätzlichen Paritätssymbole bedeuten. In einigen Ausführungsformen kann die Löschcodierungskonfiguration 332 eine Schnittstelle oder API, wie beispielsweise einen Konfigurationsdienst, einschließen, um den Zuverlässigkeitsmanager 350 in die Lage zu versetzen, einen oder mehrere Parameter des Codierungsalgorithmus 332.1, der codierten Blockgröße 332.2 und/oder der Paritätsstufe 332.3 auszuwählen, um die Datenwiederherstellungskonfigurationen zu variieren, die für Speicherdaten von verschiedenen entfernten Speichervorrichtungen und/oder Speichereinheiten darin verwendet werden.
  • Der Symbolpartitionierer 334 kann Funktionen, Parameter und/oder Logik für den Empfang einer Nachricht zur Codierung und Partitionierung der Nachricht in eine Reihe von Originalsymbolen basierend auf den Daten in der Nachricht einschließen. Ein Vorgang zur Standard-Symbolpartitionierung kann zum Beispiel eine Nachricht empfangen und eine durch die Löschcodierungskonfiguration 332 definierte Symbolgröße verwenden, um die Nachricht in eine feste Anzahl von Symbolen für die Codierung zu partitionieren.
  • Der Codierer/Decodierer 336 kann Hardware- und/oder Software-Codierer und -Decodierer für die Implementierung des Codierungsalgorithmus 332.1 einschließen. Der Codierer/Decodierer 336 kann zum Beispiel eine Vielzahl von registerbasierten Codierern und Decodierern einschließen, um die Parität für ein Symbol zu berechnen und löschungscodierte Datensymbole 392 zurückzugeben. In einigen Ausführungsformen kann der Codierer/Decodierer 336 in den Schreibpfad bzw. den Lesepfad integriert werden, so dass die auf die Speichermedien zu schreibenden und von den Speichermedien zu lesenden Daten den Codierer/Decodierer 336 zur Codierung und Decodierung gemäß dem Codierungsalgorithmus 530.1 durchlaufen.
  • Der Speicherzustandsmonitor 340 kann einen Satz von Funktionen und Parametern zum Sammeln von Speicherzustandsdaten von entfernten Speichervorrichtungen zur Verwendung durch den Zuverlässigkeitsmanager 350 und andere Systemfunktionen einschließen. Zum Beispiel können Speicherzustandsdaten von entfernten Speichervorrichtungen über die Sicherungsschnittstelle 320 oder einen anderen Datenkanal gesammelt und im Speicherzustandsdaten-Repository 386 im Metadatenspeicher 380 gespeichert werden. Der Speicherzustandsmonitor 340 kann Speicherzustandsdaten empfangen, die einen oder mehrere Parameter enthalten, die sich auf die Funktion der Speichermedien in der entfernten Speichervorrichtung beziehen und mit einem Speicherzustandsstatus korrelieren. In einigen Ausführungsformen ist der Speicherzustandsmonitor 340 in die Sicherungsschnittstelle 320 und/oder den Zuverlässigkeitsmanager 350 integriert. In einigen Ausführungsformen kann der Speicherzustandsmonitor 340 eine separate Funktion oder ein separater Dienst sein, der zur Überwachung entfernter Speichervorrichtungen und zur Meldung von SpeicherzustandsdatenParametern und/oder anderen Vorgangsparametern für die Verwendung bei der Verwaltung von Speichervorrichtungen, Qualität, Sicherheit und anderen Diensten eingesetzt wird.
  • In einigen Ausführungsformen kann der Speicherzustandsmonitor 340 eine Vielzahl von Hardware- und/oder Softwaremodulen einschließen, die so eingerichtet sind, dass sie den Prozessor 314 und den Speicher 316 verwenden, um bestimmte Vorgänge des Speicherzustandsmonitors 340 zu bearbeiten oder zu verwalten. Der Speicherzustandsmonitor 340 kann zum Beispiel Speicherdatenberechtigungen 342, Speicherdatenidentifikatoren 344, Speicherdatenhandler 346 und/oder Speicherdatenmanager 348 einschließen.
  • Speicherdatenberechtigungen 342 können Funktionen, Parameter und/oder Datenstrukturen zum Einrichten und Speichern von Benutzer- oder Speichervorrichtungsbesitzerberechtigungen für den Zugriff auf entfernte Speichervorrichtungen einschließen. Der Speicherzustandsmonitor 340 kann zum Beispiel so eingerichtet werden, dass er nur auf entfernte Speichervorrichtungen zugreift, für die der Benutzer oder Eigentümer eine ausdrückliche Zugriffserlaubnis erteilt hat. In einigen Ausführungsformen können entfernte Speichervorrichtungen ein Konfigurationswerkzeug einschließen, das von der Speichervorrichtung oder als Teil eines Registrierungsprozesses für die Speichervorrichtung gestartet wird und es dem Benutzer ermöglicht, Zugriff auf die von der Speichervorrichtung gesammelten Speicherzustandsdaten zu gewähren. Wenn der Benutzer zum Beispiel einen Sicherungsdienst über die Benutzerschnittstelle 328 auswählt oder einrichtet, kann er auch die Option erhalten, die Fernüberwachung des Speicherzustands zu aktivieren. Die Zugriffsberechtigungen auf die Speicherdaten von den Eigentümern der Speichervorrichtung können gesammelt und in den Speicherdatenberechtigungen 342 gespeichert werden und/oder selektiv für die Speicherdatenberechtigungen 342 zugänglich sein, wie beispielsweise über ein Benutzerprofil oder eine ähnliche Datenstruktur, die dem System 300 zur Verfügung steht. In einigen Ausführungsformen können Speicherzustandsdaten 342 die Auswahl spezifischer Datenzustandsparameter, Erfassungshäufigkeit, zulässiger Verwendungen und anderer konfigurierbarer Parameter ermöglichen, die vom Speicherzustandsmonitor 340 verwendet werden sollen.
  • Der Speicherzustandsidentifikator 344 kann Funktionen, Parameter und/oder Logik zur Identifizierung eines oder mehrerer Typen von Speicherzustandsdaten einschließen, die vom Speicherzustandsmonitor 340 überwacht werden können. Jeder Speichervorrichtungstyp kann eine Vielzahl von Betriebsparametern unterstützen, die dem Zustand des Speichers entsprechen oder als Speicherzustandsdaten fungieren können. Speichervorrichtungen können sich auch hinsichtlich der gesammelten Parameter der Speicherzustandsdaten unterscheiden und ob sie für den Fernzugriff eingerichtet sind. Der Zuverlässigkeitsmanager 350 kann auch so eingerichtet werden, dass er bestimmte Arten von Speicherzustandsdaten unterstützt. In einigen Ausführungsformen können die Speicherzustandsdaten Folgendes einschließen: BER-Werte, W/E-Zyklus-Werte, PLC-Werte, ELC-Werte, Leckerkennungsmesswerte, EPD-Fehlerwerte, schlechte Blöcke, Spannungsspannenwerte und andere Betriebswerte, die direkt oder indirekt mit dem Zustand des Speichers zusammenhängen. In einigen Speichervorrichtungen können die Speicherzustandsdaten aggregierte oder abgeleitete Werte auf Grundlage von Speicherzustandsdatentypen einschließen, und diese aggregierten oder abgeleiteten Werte können als unterschiedliche Speicherzustandsdatentypen verwaltet werden. In einigen Ausführungsformen kann der Identifikator für Speicherzustandsdaten 344 Parameter für den Abgleich der von bestimmten Speichervorrichtungen oder Arten von Speichervorrichtungen gesammelten Speicherzustandsdaten mit den Speicherzustandsdatentypen einschließen, die vom Zuverlässigkeitsmanager 350 zur Bestimmung der Zuverlässigkeitsbedingungen verwendet werden. Der Identifikator für Speicherzustandsdaten 344 kann auch eine Logik zum Markieren oder Auffinden der gewünschten Arten von Speicherzustandsdaten einschließen, die vom Speicherdatenhandler 346 empfangen und im Speicherzustandsdaten-Repository 386 gespeichert werden.
  • Der Speicherdatenhandler 346 kann Funktionen, Parameter und/oder Logik zum Empfang oder zur Identifizierung von Speicherzustandsdaten einschließen, die vom System 300 empfangen werden. Zum Beispiel kann der Speicherdatenhandler 346 so eingerichtet werden, dass er Speicherzustandsdaten empfängt, die von entfernten Speichervorrichtungen über den Sicherungsdatenkanal 324 empfangen werden. In einigen Ausführungsformen kann die Sicherungsschnittstelle 320 Speicherzustandsdaten als Teil von Nachrichten oder anderen Datenübertragungen von entfernten Speichervorrichtungen empfangen und die Speicherzustandsdaten speichern und/oder die Speicherzustandsdaten direkt an den Speicherdatenhandler 346 senden. In einigen Ausführungsformen kann der Speicherdatenhandler 346 die Speicherzustandsdaten in Verbindung mit dem Speicherdatenmanager 348 analysieren und speichern. In einigen Ausführungsformen kann der Speicherdatenhandler 346 so eingerichtet werden, dass er unabhängig von der Sicherungsschnittstelle 320 arbeitet, um Speicherzustandsdaten von entfernten Speichervorrichtungen zu empfangen. Der Speicherdatenhandler 346 kann zum Beispiel Fernzugriffsfunktionen zum Lesen von Speicherzustandsdaten von entfernten Vorrichtungen über ein Netzwerk, wie das Internet, einschließen. Der Speicherdatenhandler 346 kann eine API für den Empfang von Speicherzustandsdaten von entfernten Speichervorrichtungen über ein direktes Adressierungsprotokoll einschließen oder nachdem sie von einem Zwischensystem, wie beispielsweise einem Serversystem zum Sammeln von Speicherzustandsdaten für einen bestimmten Speicherhersteller, erfasst und formatiert wurden.
  • Der Speicherdatenmanager 348 kann Funktionen, Parameter und/oder Logik zum Speichern und Abrufen von Speicherzustandsdaten im Metadatenspeicher 380, wie beispielsweise im Speicherzustandsdaten-Repository 386, einschließen. Zum Beispiel kann der Speicherdatenmanager 348 Speicherzustandsdaten, die vom Speicherdatenhandler 346 empfangen wurden, auswählen und formatieren, indem er Speicherzustandsdatentypen verwendet, die durch den Speicherdatenidentifikator 344 identifiziert werden. In einigen Ausführungsformen kann der Speicherdatenmanager 348 Speicherzustandsdaten im Speicherzustandsdaten-Repository 386 unter Verwendung eindeutiger Identifikatoren für die Speichervorrichtung in einem Vorrichtungsindex 348.1 speichern. Zum Beispiel kann der Vorrichtungsindex die Identifikatoren der Speichervorrichtungen für jede entfernte Speichervorrichtung einschließen, die vom Speicherzustandsmonitor 340 überwacht und in den Vorrichtungsdaten 386.1 gespeichert wird. Jeder Speichervorrichtungseintrag in den Vorrichtungsdaten 386.1 kann einen oder mehrere Speicherzustandsdatentypen und entsprechende Speicherzustandsdatenwerte einschließen. Die Vorrichtungsdaten 386.1 können als Schlüsselwertspeicher mit mehreren Einträgen für jede Speichervorrichtung organisiert sein, die verschiedene Arten von Speicherzustandsdaten und/oder Werte von verschiedenen Erfassungszeitpunkten repräsentieren. In einigen Ausführungsformen kann der Speicherdatenmanager 348 so eingerichtet sein, dass er selektiv Speicherzustandsdaten für eine angeforderte Speichervorrichtung, einen Speicherzustandsdatentyp und/oder einen Zeitpunkt oder eine Zeitspanne zurückgibt, wie beispielsweise ein Array von Speicherzustandsdatenwerten, die den gewünschten Parametern entsprechen.
  • In einigen Ausführungsformen können die Speicherzustandsdaten durch den Speicherzustandsmonitor 340 und das Speicherzustandsdaten-Repository 386 weiterhin nach den physischen Speicheruntereinheiten der Vorrichtungen organisiert werden. Eine Flash-Speichervorrichtung kann zum Beispiel eine Vielzahl von Flash-Speicherchips als Speichermedien innerhalb der Speichervorrichtung einschließen, und Identifikatoren für jeden der Chips können in die Speicherzustandsdaten eingeschlossen werden, um Speicherzustandsdatenwerte mit bestimmten Chips zu verknüpfen. In einigen Ausführungsformen kann der Speicherdatenmanager 348 einen Einheitenindex 348.2 einschließen, um die Identifikatoren der Speichereinheiten innerhalb jeder Speichervorrichtung zu organisieren und zu indizieren. Zum Beispiel kann der Einheitsindex 348.2 eine Erweiterung des Vorrichtungsindex 348.1 sein, der eine oder mehrere Schichten von hierarchischen Identifikatoren unterstützt, um die Unterteilung von Speichervorrichtungen in physische Speichereinheiten zur Überwachung von Speicherzustandsdaten zu ermöglichen. In einigen Ausführungsformen kann eine beliebige Anzahl von hierarchischen Stufen, die auf einer physischen Hierarchie von Speichermedium-Untereinheiten basieren, mit Kennwerten versehen werden und zur Verwaltung der Überwachung, Speicherung und Abfrage von Speicherzustandsdaten auf Grundlage von Speichereinheiten physischer Speichermedien verwendet werden. In einigen Ausführungsformen kann in der Karte 384 des Metadatenspeichers 380 eine Datenstruktur für die Zuordnung der im Datenspeicher 390 gespeicherten Dateneinheiten zu der physischen Speichereinheit der entfernten Speichereinheit, von der sie stammen, eingeschlossen sein.
  • Der Zuverlässigkeitsmanager 350 kann einen Satz von Funktionen und Parametern für die Verwaltung verschiedener Datenwiederherstellungskonfigurationen zur dynamischen Speicherung von Sicherungsdaten auf Grundlage der Speicherzustandsdaten für die entfernte Speichervorrichtung, die die zu sichernden Originaldaten enthält, einschließen. Wenn die Sicherungsschnittstelle 320 zum Beispiel Sicherungsdaten von entfernten Speichervorrichtungen empfängt, kann der Zuverlässigkeitsmanager 350 die von der Speicherzustandsüberwachung 340 gesammelten Speicherzustandsdaten auswerten, um zu bestimmen, welche Löschcodierungskonfiguration 332 vom Codierungs-/Decodierungsmodul 330 verwendet werden soll, wenn die entsprechenden Sicherungsdatenobjekte in den Datenspeicher 390 geschrieben werden. Der Zuverlässigkeitsmanager 350 kann so eingerichtet werden, dass er die Nutzung von Speicherplatz und/oder anderen Systemressourcen auf Grundlage der aktuellsten Speicherzustandsdaten optimiert, die für die zu sichernde Speichervorrichtung und/oder deren Untereinheiten verfügbar sind. Der Zuverlässigkeitsmanager 350 kann die Datenwiederherstellungskonfigurationen für Sicherungsdaten, die von einer entfernten Speichervorrichtung gespeichert wurden, während der Lebensdauer der Speichervorrichtung auf Grundlage von Änderungen des Speicherzustands und des entsprechenden Zuverlässigkeitszustands der entfernten Speichervorrichtung ändern.
  • In einigen Ausführungsformen kann der Zuverlässigkeitsmanager 350 eine Vielzahl von Hardware- und/oder Softwaremodulen einschließen, die so eingerichtet sind, dass sie den Prozessor 314 und den Speicher 316 nutzen, um bestimmte Vorgänge des Zuverlässigkeitsmanagers 350 zu bearbeiten oder zu verwalten. Zum Beispiel kann der Zuverlässigkeitsmanager 350 Datenwiederherstellungskonfigurationen, einen Dienststufenprüfer 354, eine Zuverlässigkeitszustandslogik 356, einen Zuverlässigkeitsmodellierer 358 und ein Änderungsmodul 360 einschließen. In einigen Ausführungsformen kann der Zuverlässigkeitsmanager 350 den Speicherdatenmanager 348 und/oder die Löschcodierungskonfiguration 332 einschließen oder Zugriff darauf haben.
  • Die Datenwiederherstellungskonfigurationen 352 können Funktionen, Parameter und/oder Datenstrukturen einschließen, um eine Vielzahl von verschiedenen Datenwiederherstellungskonfigurationen zu definieren, die zum Speichern von Sicherungsdaten im Datenspeicher 390 mit unterschiedlichen Stufen von Fehlerkorrekturfähigkeiten und/oder akzeptablen Fehlerraten verwendet werden können. Zum Beispiel kann jede Wiederherstellungskonfiguration 352.1-352.n einer anderen Löschcodierungskonfiguration 332 entsprechen, die zu unterschiedlichen Konfigurationen von löschcodierten Datensymbolen 392 im Datenspeicher 390 führt. In einigen Ausführungsformen können die Datenwiederherstellungskonfigurationen 352 eine Reihe von Konfigurationen einschließen, die auf einem Bereich und inkrementellen Werten für einen bestimmten Parameter der Löschcodierung basieren, wie beispielsweise die Paritätsstufe 332.3. In einigen Ausführungsformen kann jede der Wiederherstellungskonfigurationen 352.1-352.n einem Satz von Konfigurationsparametern für die Löschcodierung entsprechen, wie beispielsweise verschiedenen Löschcodierungsalgorithmen 332.1, verschiedenen Blockgrößen 332.2 und/oder verschiedenen Paritätsstufen 332.3. In einigen Ausführungsformen können die Wiederherstellungskonfigurationen 352.1-352.n in einer Tabelle, Konfigurationsdateien oder ähnlichen Datenstrukturen organisiert sein. In einigen Ausführungsformen können die Wiederherstellungskonfigurationen 352.1-352.n funktional auf Grundlage einer oder mehrerer Funktionen und entsprechender Parameter eingerichtet werden, die die gewünschten Konfigurationsparameter für die Löschcodierung liefern.
  • Der Dienststufenprüfer 354 kann Funktionen, Parameter und/oder Logik zur Bestimmung einer Dienststufe einschließen, die mit der entfernten Speichervorrichtung und/oder einem zugehörigen Benutzer-/Eigentümerprofil oder Dienstvertrag verbunden ist. Eine entfernte Speichervorrichtung kann zum Beispiel entsprechend einem bestimmten Angebot für Cloud-basierte Sicherungsspeicherung eingerichtet werden, und es kann eine Anzahl von Dienststufen für die Sicherungsspeicherung angeboten werden, wie Häufigkeit, Speicherplatz, Wiederherstellungsoptionen usw. Diese Dienststufen können den Preisstufen eines Dienstleistungsvertrags oder ähnlichen Bedingungen entsprechen. In einigen Ausführungsformen kann der Dienststufenprüfer 354 einen oder mehrere Dienststufenparameter identifizieren oder bestimmen, die sich auf die Wiederherstellungskonfigurationen auswirken können, die dem Zuverlässigkeitsmanager 350 für Sicherungsdaten einer bestimmten Speichervorrichtung und der entsprechenden Dienststufenvereinbarung zur Verfügung stehen und/oder von ihm ausgewählt werden. Zum Beispiel können ein oder mehrere Parameter der Dienststufe des Änderungsmoduls 360 verwendet werden, um die zu verwendende Wiederherstellungskonfiguration auf Grundlage der Zuverlässigkeitsbedingungen einzurichten.
  • Die Zuverlässigkeitszustandslogik 356 kann Funktionen, Parameter und/oder Logik zur Bestimmung oder Identifizierung eines Zuverlässigkeitszustands oder einer Änderung des Zuverlässigkeitszustands auf Grundlage von Speicherzustandsdaten einschließen. Zum Beispiel kann die Zuverlässigkeitszustandslogik 356 einen oder mehrere Speicherzustandsdatenwerte, die mit der entfernten Speichervorrichtung oder einer Speichereinheit davon verbunden sind, als Index oder Eingabewert verwenden, um zu bestimmen, ob sich ein Zuverlässigkeitszustand verschlechtert hat und eine andere Datenwiederherstellungskonfiguration für die Speichervorrichtung oder Speichereinheit in Zukunft implementiert werden sollte. In einigen Ausführungsformen kann die Zuverlässigkeitszustandslogik 356 einen oder mehrere Speicherzustandsdatenwerte als Eingabe empfangen und einen Zuverlässigkeitszustandswert oder einen verringerten Zuverlässigkeitszustandsstatus als Ausgabe bereitstellen. In einigen Ausführungsformen kann die Zuverlässigkeitszustandslogik 356 eine Änderung des Zuverlässigkeitszustands einer Speichervorrichtung bestimmen und diese Änderung dem Änderungsmodul 360 mitteilen, um die Reaktion des Zuverlässigkeitsmanagers 350 und des Systems 300 auf diese Änderung zu bestimmen.
  • In einigen Ausführungsformen kann die Zuverlässigkeitszustandslogik 356 auf einem oder mehreren Zuverlässigkeitsschwellenwerten 356.1 basieren, die einem oder mehreren Speicherzustandsdaten oder aggregierten oder abgeleiteten Werten davon entsprechen. Zum Beispiel können die Speicherzustandsdaten für eine bestimmte Speichervorrichtung BER-Werte über die Zeit für Daten einschließen, die von dieser Speichervorrichtung gelesen wurden. Die Zuverlässigkeitszustandslogik 356 kann eine Vielzahl von Zuverlässigkeitsschwellenwerten basierend auf BER-Werten implementieren. Unterhalb eines ersten BER-Zuverlässigkeitsschwellenwerts kann die Speichervorrichtung beispielsweise als in ihrem primären Betriebszustand und in einem Zustand hoher Zuverlässigkeit betrachtet werden. Wenn die BER den ersten BER-Zuverlässigkeitsschwellenwert erreicht oder überschreitet, aber unter einem zweiten BER-Zuverlässigkeitsschwellenwert liegt, kann davon ausgegangen werden, dass sich die Speichervorrichtung in einem fairen Betriebszustand mit einem normalen Zuverlässigkeitszustand befindet, einem verringerten Zuverlässigkeitszustand im Vergleich zum hohen Zuverlässigkeitszustand. Wenn die BER den zweiten BER-Zuverlässigkeitsschwellenwert erreicht oder überschreitet, aber unter einem dritten BER-Zuverlässigkeitsschwellenwert liegt, kann die Speichervorrichtung als in einem verschlechterten Betriebszustand mit einem gefährdeten Zuverlässigkeitszustand, einem verringerten Zuverlässigkeitszustand im Vergleich zum hohen und normalen Zuverlässigkeitszustand betrachtet werden. Wenn die BER den dritten BER-Zuverlässigkeitsschwellenwert erreicht oder überschreitet, kann davon ausgegangen werden, dass sich die Speichervorrichtung in einem beschädigten Betriebszustand mit einem kritischen Risikozuverlässigkeitszustand befindet, einem verringerten Zuverlässigkeitszustand im Vergleich zu den hohen, normalen und gefährdeten Zuverlässigkeitszuständen. Diese beispielhaften Schwellenwerte und Stufen sind nur als Beispiele bereitgestellt und das System kann mit einer beliebigen Anzahl von Schwellenwerten und abnehmenden Zuverlässigkeitsbedingungen implementiert werden.
  • In einigen Ausführungsformen kann die Zuverlässigkeitszustandslogik 356 eine Tabelle der Zuverlässigkeitsbedingungen 356.2 einschließen. Zum Beispiel kann die Zuverlässigkeitszustandstabelle 356.2 eine Vielzahl von Speicherzustandsdatenarten und -werten auf Zuverlässigkeitsschwellenwerte abbilden, wie beispielsweise die Zuverlässigkeitsschwellenwerte 356.1 zur Bestimmung des Zuverlässigkeitszustands. In einigen Ausführungsformen kann die Zuverlässigkeitszustandstabelle 356.2 einen multivariablen Prozess zur Bewertung mehrerer Speicherzustandsdaten anhand mehrerer Zuverlässigkeitsschwellenwerte definieren, um einen einzigen Zuverlässigkeitszustandswert oder -zustand zu erzeugen. Zum Beispiel kann die Zuverlässigkeitszustandstabelle 356.2 verschiedene Bereiche und logische Kombinationen (und, oder, noch usw.) für die Bewertung verschiedener Speicherzustandsdaten enthalten, wie beispielsweise die Anforderung, dass sowohl die BER- als auch die PLC- oder ELC-Werte bestimmte Schwellenwerte überschreiten oder in bestimmte Bereiche fallen, um mit einer Änderung des Zuverlässigkeitszustands, wie beispielsweise einem verringerten Zuverlässigkeitszustand, zu korrelieren.
  • In einigen Ausführungsformen kann die Zuverlässigkeitszustandslogik 356 ein Zuverlässigkeitsregelmodul 356.3 einschließen. Zum Beispiel kann das Zuverlässigkeitsregelmodul 356.3 in einem logischen Regelauswerter und einer Vielzahl von logischen Regeln, die einen Satz von Zuverlässigkeitsregeln definieren, verkörpert sein. In einigen Ausführungsformen kann das Zuverlässigkeitsregelmodul 356.3 die für jede Sicherungsdatentransaktion und/oder in regelmäßigen Abständen festgelegten Zuverlässigkeitsregeln auswerten, um den Zuverlässigkeitszustand für die Speichervorrichtung oder -einheit zum Zeitpunkt der letzten Speicherzustandsdaten zu bestimmen. In einigen Ausführungsformen kann zumindest ein Abschnitt der Zuverlässigkeitsregeln Vergleiche der Zuverlässigkeitsschwellen einschließen, wie vorstehend in Bezug auf die Zuverlässigkeitsschwelle 356.1 und/oder die Bedingungstabelle 356.2 beschrieben.
  • Der Zuverlässigkeitsmodellierer 358 kann Funktionen, Parameter und/oder Logik zur Modellierung einer Vielzahl von Speicherzustandsdatenparametern einschließen, die Änderungen im Zuverlässigkeitszustand entsprechen. Zum Beispiel kann der Zuverlässigkeitsmodellierer 358 historische Zuverlässigkeitsdaten aus einer Population von Speichervorrichtungen und entsprechende Speicherzustandsdaten verwenden, um Parameter und/oder Regeln für die Zuverlässigkeitszustandslogik 356 zu generieren. In einigen Ausführungsformen kann der Zuverlässigkeitsmodellierer 358 Populationsdaten 386.2 für eine große Anzahl von Speichervorrichtungen desselben Speichervorrichtungstyps verwenden, um Zuverlässigkeitsmodelle 386.3 abzuleiten. Zum Beispiel können die Populationsdaten 386.2 eine statistisch signifikante Anzahl von Speichervorrichtungen bestimmter Typen, Hersteller, Formfaktoren, Modelle usw. einschließen, die zur Bestimmung von Zuverlässigkeitsmodellen 386.3 verwendet werden können, die diesen Parametern des Vorrichtungstyps entsprechen. In einigen Ausführungsformen können Zuverlässigkeitsmodelle 386.3 verwendet werden, um Zuverlässigkeitsschwellen 356.1, Parameter für die Bedingungstabelle 356.2 und/oder Zuverlässigkeitsregeln für das Zuverlässigkeitsregelmodul 356.3 zu bestimmen. In einigen Ausführungsformen kann der Zuverlässigkeitsmodellierer 358 auf einer statistischen Analyse der Populationen von Speichervorrichtungen, der Ausfallraten und der Speicherzustandsparameter basieren.
  • Das Änderungsmodul 360 kann Funktionen, Parameter und/oder Logik einschließen, um zu bestimmen, dass sich eine Zuverlässigkeitsbedingung für eine bestimmte Speichervorrichtung oder physische Speichereinheit davon geändert hat, und um eine entsprechende Änderung der Datenwiederherstellungskonfiguration zu erzeugen. Zum Beispiel kann die Zuverlässigkeitszustandslogik 356 bestimmen, dass ein Zuverlässigkeitsschwellenwert oder ein anderer Indikator für eine Änderung der Zuverlässigkeitsbedingung erreicht wurde und einen geänderten Wert für die Zuverlässigkeitsbedingung an das Änderungsmodul 360 weitergeben. Das Änderungsmodul 360 kann einen Index oder eine Übertragungsfunktion zur Bestimmung einer anderen Datenwiederherstellungskonfiguration aus den Datenwiederherstellungskonfigurationen 352 zur Verwendung bei der Speicherung von Sicherungsdaten aus der Speichervorrichtung oder Speichereinheit mit dem geänderten Zuverlässigkeitszustand einschließen. Das Änderungsmodul 360 kann die neue Datenwiederherstellungskonfiguration an die Sicherungsschnittstelle 320 und/oder das Codierungs-/Decodierungsmodul 330 weitergeben, um sie für die Speicherung von Sicherungsdaten aus der Speichervorrichtung in Zukunft zu verwenden.
  • In einigen Ausführungsformen kann das Änderungsmodul 360 auch eine Rekonfiguration der zuvor gespeicherten Sicherungsdaten der Speichervorrichtung mit der geänderten Zuverlässigkeitsbedingung einleiten. Zum Beispiel kann das Änderungsmodul 360 die Karte 384 für physische Einheiten/Dateneinheiten verwenden, um alle Dateneinheiten zu identifizieren, die von der betroffenen Speichervorrichtung oder Speichereinheit gesichert wurden, und einen oder mehrere Befehle erzeugen, um Dateneinheiten, die zuvor mit einer früheren Datenwiederherstellungskonfiguration (mit geringerer Fehlertoleranz) gespeichert wurden, in der neuen Datenwiederherstellungskonfiguration (mit höherer Fehlertoleranz) zu lesen und zu speichern. In einigen Ausführungsformen kann die Rekonfiguration vorhandener Sicherungsdaten als Hintergrundvorgang oder als Aufgabe mit niedrigerer Priorität im Vergleich zu neuen Sicherungsdatenanforderungen durchgeführt werden. In einigen Ausführungsformen, insbesondere bei der Implementierung von Delta-Sicherung, können Delta-Sicherung sofort in die neue Datenwiederherstellungskonfiguration übergehen und die neue Datenwiederherstellungskonfiguration kann für das nächste vollständige Sicherung verwendet werden, aber das vorherige vollständige Sicherung kann nicht für die neue Datenwiederherstellungskonfiguration eingerichtet werden.
  • Der Speicher 316 kann zusätzliche Logik und andere Ressourcen (nicht gezeigt) für die Verarbeitung von Datenanforderungen einschließen, wie beispielsweise Module zum Erzeugen, Einreihen in eine Warteschlange und anderweitige Verwaltung von Objekt- oder Dateidatenanforderungen. Die Verarbeitung einer Sicherungsdatenanforderung durch die Sicherungsschnittstelle 320 kann eine beliebige Anzahl von Zwischenschritten einschließen, die mindestens eine Sicherungsdatenanforderung an den Datenspeicher 390 ergeben.
  • Wie in 4 gezeigt, kann das System 300 nach einem beispielhaften Verfahren zur Bestimmung verschiedener Datenwiederherstellungskonfigurationen auf Grundlage von Änderungen der Speicherzustandsdaten betrieben werden, d. h. nach dem durch die Blöcke 402-412 von 4 veranschaulichten Verfahren 400.
  • In Block 402 kann eine erste Datenwiederherstellungskonfiguration für eine zu speichernde Dateneinheit aus einer entfernten Speichervorrichtung bestimmt werden. Als Reaktion auf den Empfang einer Sicherungsdatenanforderung kann ein Speichermanager zum Beispiel mit Hilfe eines Zuverlässigkeitsmanagers eine erste Datenwiederherstellungskonfiguration einrichten, wie die Standard- oder anfängliche Datenwiederherstellungskonfiguration, die von dem Speicherungssystem verwendet wird, das die Dateneinheit empfängt.
  • Bei Block 404 können die Daten, die den von der entfernten Speichervorrichtung empfangenen Daten entsprechen, in einem Speicherungssystem unter Verwendung der ersten Datenwiederherstellungskonfiguration gespeichert werden. Zum Beispiel kann der Speichermanager mit Hilfe eines Codierungs-/Decodierungsmoduls eine Dateneinheit, die zumindest einem Abschnitt der Sicherungsdatenanforderung entspricht, unter Verwendung der ersten Datenwiederherstellungskonfiguration speichern.
  • In Block 406 können Speicherzustandsdaten von der entfernten Speichervorrichtung empfangen werden. Zum Beispiel kann ein Speicherzustandsmonitor Speicherzustandsdaten von der entfernten Speichervorrichtung empfangen.
  • In Block 408 können die Speicherzustandsdaten auf eine Änderung des Zuverlässigkeitszustands ausgewertet werden. Zum Beispiel kann der Zuverlässigkeitsmanager die in Block 406 empfangenen Speicherzustandsdaten mit einem oder mehreren Zuverlässigkeitsschwellenwerten vergleichen, um zu bestimmen, ob die Speicherzustandsdaten eine signifikante Änderung erfahren haben, die eine wesentliche Änderung der Zuverlässigkeit der entfernten Speichervorrichtung darstellt. Wenn nein, gibt es keine wesentliche Änderung und das Verfahren 400 kann zum Block 404 zurückkehren, um die nächste Dateneinheit unter Verwendung der ersten Datenwiederherstellungskonfiguration zu speichern. Wenn ja, liegt eine signifikante Änderung der Zuverlässigkeit vor und das Verfahren 400 kann mit Block 410 fortfahren.
  • In Block 410 kann eine zweite Datenwiederherstellungskonfiguration für eine zu speichernde Dateneinheit aus einer entfernten Speichervorrichtung bestimmt werden. Als Reaktion auf den Empfang einer nächsten Sicherungsdatenanforderung kann der Speichermanager beispielsweise eine zweite Datenwiederherstellungskonfiguration verwenden, wie beispielsweise eine Löschcodierungskonfiguration, die in der Lage ist, höhere Fehlerraten zu verarbeiten, und die vom Zuverlässigkeitsmanager als Reaktion auf die in Block 408 bestimmte Änderung eingerichtet wurde.
  • Bei Block 412 können die Daten, die den von der entfernten Speichervorrichtung empfangenen Daten entsprechen, in dem Speicherungssystem unter Verwendung der zweiten Datenwiederherstellungskonfiguration gespeichert werden. Zum Beispiel kann der Speichermanager mit Hilfe des Codierungs-/Decodierungsmoduls eine Dateneinheit, die zumindest einem Abschnitt der neuen Sicherungsdatenanforderung entspricht, unter Verwendung der zweiten Datenwiederherstellungskonfiguration speichern.
  • Wie in 5 gezeigt, kann das System 300 gemäß einem beispielhaften Verfahren zur Verwaltung der Sicherungskonfiguration auf Grundlage von Speicherzustandsdaten betrieben werden, d. h. gemäß dem durch die Blöcke 502-522 von 5 veranschaulichten Verfahren 500.
  • In Block 502 kann eine periodische Sicherungskonfiguration für eine entfernte Speichervorrichtung bestimmt werden. Eine Sicherungsschnittstelle kann zum Beispiel eine Sicherungsplanung einschließen, die so eingerichtet ist, dass sie einen zeit- oder ereignisbasierten Zeitplan für die periodische Sicherung einer entfernten Speichervorrichtung festlegt.
  • In Block 504 kann ein anfänglicher Speicherzustandswert für die entfernte Speichervorrichtung bestimmt werden. Zum Beispiel können die anfänglichen Speicherzustandswerte von einem Speicherzustandsmonitor empfangen werden, wenn die Sicherungskonfiguration für die entfernte Speichervorrichtung eingerichtet wird.
  • In Block 506 kann eine Dienststufe für die entfernte Speichervorrichtung bestimmt werden. Zum Beispiel kann eine Dienststufe als Teil des Sicherungsdienstes über die Sicherungsschnittstelle mit der entfernten Speichervorrichtung und/oder dem Benutzer/Eigentümer der Speichervorrichtung verknüpft werden.
  • In Block 508 kann die Ressourcenzuweisung für die Sicherung der entfernten Speichervorrichtung bestimmt werden. Zum Beispiel kann die Sicherungsschnittstelle die in Block 506 ermittelte Dienststufe verwenden, um die Speicher-, Verarbeitungs-, Netzwerk- und/oder anderen Ressourcen zu bestimmen, die für die Sicherungsvorgänge für die entfernte Speichervorrichtung verwendet werden können.
  • In Block 510 kann eine erste Datenwiederherstellungskonfiguration für die Speichervorrichtung eingerichtet werden. Zum Beispiel kann der Zuverlässigkeitsmanager auf Grundlage des anfänglichen Speicherzustandswertes und der Ressourcenzuweisung eine erste Datenwiederherstellungskonfiguration mit einer ersten Fehlerratentoleranz für die Speicherung von Sicherungsdaten einrichten.
  • In Block 512 können Sicherungsdaten von der entfernten Speichervorrichtung im Speicherungssystem empfangen werden. Zum Beispiel kann eine Sicherungsschnittstelle Sicherungsdaten von der entfernten Speichervorrichtung gemäß der in Block 502 bestimmten periodischen Sicherungskonfiguration empfangen.
  • In Block 514 können die Daten der entfernten Speichervorrichtung codiert und im Speicherungssystem mit einer ersten Paritätsstufe gespeichert werden. Zum Beispiel kann ein Codierungs-/Decodierungsmodul Dateneinheiten, die den Sicherungsdaten entsprechen, gemäß einer Paritätsstufe codieren, die durch die erste Datenwiederherstellungskonfiguration definiert ist.
  • In Block 516 können Speicherzustandsdaten von der entfernten Speichervorrichtung empfangen werden. Zum Beispiel kann ein Speicherzustandsmonitor Speicherzustandsdaten von der entfernten Speichervorrichtung über denselben Datenkanal und/oder dieselben Nachrichten empfangen wie die in Block 512 empfangenen Sicherungsdaten.
  • In Block 518 kann ein geänderter Speicherzustandswert für die entfernte Speichervorrichtung bestimmt werden. Zum Beispiel kann ein Zuverlässigkeitsmanager die in Block 516 empfangenen Speicherzustandsdaten auswerten, um zu bestimmen, ob sich ein Speicherzustandswert so verändert hat, dass sich der Zuverlässigkeitszustand der Speichervorrichtung verschlechtert hat.
  • In Block 520 kann eine zweite Datenwiederherstellungskonfiguration für die Speichervorrichtung auf Grundlage des bei Block 518 ermittelten geänderten Speicherzustandswertes bestimmt werden. Zum Beispiel kann der Zuverlässigkeitsmanager den geänderten Speicherzustandswert verwenden, um einen verminderten Zuverlässigkeitszustand zu identifizieren, der einer Datenwiederherstellungskonfiguration mit einer höheren Fehlerratentoleranz entspricht.
  • In Block 522 können die Daten der entfernten Speichervorrichtung codiert und im Speicherungssystem mit einer zweiten Paritätsstufe gespeichert werden. Zum Beispiel kann das Codierungs-/Decodierungsmodul Dateneinheiten, die den Sicherungsdaten entsprechen, gemäß einer Paritätsstufe codieren, die durch die zweite Datenwiederherstellungskonfiguration definiert ist.
  • Wie in 6 gezeigt, kann das System 300 gemäß einem beispielhaften Verfahren zur Unterscheidung von Datenwiederherstellungskonfigurationen innerhalb von Speichereinheiten einer Speichervorrichtung auf Grundlage von Speicherzustandsdaten betrieben werden, d. h. gemäß dem Verfahren 600, das durch die Blöcke 602-622 von 6 veranschaulicht wird.
  • In Block 602 kann eine Vielzahl von physischen Speichereinheiten innerhalb einer Speichervorrichtung bestimmt werden. Eine entfernte Speichervorrichtung kann zum Beispiel aus Speichermedien bestehen, die verschiedene Matrizen zum Speichern von Daten einschließen, die bestimmten Sätzen von physikalischen Adressen entsprechen, und das Sicherungsspeicherungssystem kann Identifikatoren für die Matrizen empfangen, die die ursprünglichen Dateneinheiten speichern, wenn diese Einheiten zur Sicherung empfangen werden.
  • In Block 604 können Referenzwerte für die Zuordnung von Benutzerdaten zu physischen Speichereinheiten gespeichert werden. Die Sicherungsschnittstelle kann zum Beispiel eine Karte der Speichereinheiten/Dateneinheiten in den Metadaten speichern, die auf den von der entfernten Speichervorrichtung empfangenen Kennungen der Speichereinheiten oder Referenzwerten basiert.
  • In Block 606 können Speicherzustandsdaten von der entfernten Speichervorrichtung für jede physische Speichereinheit empfangen werden. Der Speicherzustandsmonitor kann zum Beispiel Speicherzustandsdaten für jeden Chip oder eine ähnliche physische Speichereinheit empfangen, von der Sicherungsdaten empfangen wurden.
  • In Block 608 kann eine physische Speichereinheit aus der Vielzahl der physischen Speichereinheiten ausgewählt werden. Das Zuverlässigkeitsmodul kann zum Beispiel eine erste physische Speichereinheit auswählen, die auf verminderte Zuverlässigkeit geprüft werden soll, und dann systematisch jede einzelne Einheit nacheinander prüfen.
  • In Block 610 kann ein Speicherzustandswert für die ausgewählte physische Speichereinheit bestimmt werden. Der Speicherzustandsmonitor kann zum Beispiel empfangene Speicherzustandswerte in einer Datenstruktur speichern, die den Abruf der Werte durch die physische Speichereinheit für das Zuverlässigkeitsmodul ermöglicht.
  • In Block 612 kann die ausgewählte physische Speichereinheit auf eine verminderte Zuverlässigkeit geprüft werden. Zum Beispiel kann das Zuverlässigkeitsmodul die Speicherzustandswerte für die ausgewählte physische Speichereinheit anhand einer Zuverlässigkeitsschwelle bewerten. Wenn nein, liegt bei der ausgewählten Speichereinheit keine verminderte Zuverlässigkeit vor und das Verfahren 600 kann mit Block 614 fortfahren. Wenn ja, hat die ausgewählte Speichereinheit einen Zustand verminderter Zuverlässigkeit und das Verfahren 600 kann mit Block 616 fortfahren.
  • In Block 614 können Dateneinheiten von der ausgewählten physischen Speichereinheit weiterhin im Speicherungssystem gespeichert werden, um die erste Datenwiederherstellungskonfiguration zu verwenden. Zum Beispiel können ausstehende und zukünftige Sicherungsanforderungen mit dem Referenzwert oder der Kennung der Speichereinheit, die mit der ausgewählten physischen Speichereinheit übereinstimmen, vom Speichermanager unter Verwendung der ersten Datenwiederherstellungskonfiguration gespeichert werden.
  • In Block 616 können Dateneinheiten von der ausgewählten physischen Speichereinheit unter Verwendung der zweiten Datenwiederherstellungskonfiguration auf dem Speicherungssystem gespeichert werden. Beispielsweise können ausstehende und zukünftige Sicherungsanforderungen, bei denen der Referenzwert oder die Kennung der Speichereinheit mit der ausgewählten physischen Speichereinheit übereinstimmt, vom Speichermanager unter Verwendung der zweiten Datenwiederherstellungskonfiguration mit einer höheren Fehlerratentoleranz gespeichert werden.
  • In Block 618 kann geprüft werden, ob es zusätzliche physische Speichereinheiten gibt, die ausgewertet werden müssen. Der Zuverlässigkeitsmanager kann zum Beispiel bestimmen, ob die ausgewählte physische Speichereinheit nicht die letzte physische Speichereinheit in der Speichervorrichtung ist. Wenn ja, gibt es weitere Einheiten zu bewerten und das Verfahren 600 kann zu Block 108 zurückkehren, um eine nächste physische Speichereinheit auszuwählen. Wenn nein, gibt es keine weiteren Einheiten zu bewerten und das Verfahren 600 kann mit Block 620 fortfahren.
  • In Block 620 können zuvor gespeicherte Daten von allen physischen Speichereinheiten, die jetzt eine verringerte Zuverlässigkeit aufweisen, aus dem Speicherungssystem unter Verwendung der ersten Datenwiederherstellungskonfiguration gelesen werden. Zum Beispiel kann der Zuverlässigkeitsmanager eine Rekonfiguration von zuvor gespeicherten Sicherungsdaten initiieren, die eine Speichereinheitenkennung oder einen anderen Referenzwert haben, der mit physischen Speichereinheiten mit verringerten Zuverlässigkeitsbedingungen verbunden ist. Als Reaktion darauf kann der Speichermanager die zuvor gespeicherten Daten gemäß der Datenwiederherstellungskonfiguration lesen, mit der sie gespeichert wurden, wie beispielsweise die erste Datenwiederherstellungskonfiguration.
  • In Block 622 können die zuvor gespeicherten Daten im Speicherungssystem unter Verwendung der zweiten Datenwiederherstellungskonfiguration neu zugewiesen werden. Sobald der Speichermanager beispielsweise die zuvor gespeicherten Daten entsprechend der Datenwiederherstellungskonfiguration, in der sie gespeichert wurden, liest, können die Sicherungsdateneinheiten mit dem Referenzwert oder der Kennung der Speichereinheit, die mit der physischen Speichereinheit mit verringerter Zuverlässigkeitsbedingung übereinstimmen, unter Verwendung der zweiten Datenwiederherstellungskonfiguration mit einer höheren Fehlerratentoleranz gespeichert werden.
  • Wie in 7 gezeigt, kann das System 300 gemäß einem anderen beispielhaften Vorgang betrieben werden, bei dem die Bedingungen für eine verringerte Zuverlässigkeit genutzt werden, um die Datenwiederherstellungskonfigurationen einzurichten, d. h. gemäß dem durch die Blöcke 702-712 der 7 veranschaulichten Vorgang 700.
  • In Block 702 können historische Speicherzustandsdaten für eine Population von Speichervorrichtungen gesammelt werden. Zum Beispiel können Speicherzustandsdaten in einem Speicherzustandsdatenspeicher aus Qualitätsprüfungsdaten, Garantie- und Rückgabedaten, Speicherzustandsüberwachung und anderen Datenquellen zusammengefasst werden, die es ermöglichen, die Speicherzustandsdaten mit den Zuverlässigkeitsergebnissen für die Population der Speichervorrichtungen in Verbindung zu bringen.
  • In Block 704 kann auf die historischen Speicherzustandsdaten zur Analyse von Zuverlässigkeitsmustern und Speicherzustandsdatenindikatoren zugegriffen werden. Zum Beispiel kann ein Zuverlässigkeitsmodellierer so eingerichtet werden, dass er historische Datenquellen identifiziert, die für die Erstellung von Datenzuverlässigkeitsmodellen für einen oder mehrere Speichervorrichtungstypen verwendet werden können.
  • In Block 706 kann mindestens ein Datenzuverlässigkeitsmodell bestimmt werden. Zum Beispiel können historische Daten vom Zuverlässigkeitsmodellierer mit Hilfe statistischer Modellierung analysiert werden, um Speicherzustandsdaten und Schwellenwerte zu bestimmen, die mit einer oder mehreren Stufen verringerter Zuverlässigkeit korrelieren.
  • In Block 708 kann mindestens eine Bedingung für verminderte Zuverlässigkeit bestimmt werden, die zur Bewertung einzelner Speichervorrichtungen verwendet werden kann. Auf Grundlage des Datenzuverlässigkeitsmodells kann zum Beispiel ein Zuverlässigkeitsmanager mit den ausgewählten Speicherzustandsdaten und den entsprechenden Schwellenwerten eingerichtet werden, um Bedingungen für eine verringerte Zuverlässigkeit zu erkennen.
  • In Block 710 können Speicherzustandsdaten für eine entfernte Speichervorrichtung anhand der Bedingung der verringerten Zuverlässigkeit bewertet werden. Zum Beispiel kann der Zuverlässigkeitsmanager die Werte der Speicherzustandsdaten der ausgewählten Speicherzustandsdatentypen mit den entsprechenden Zuverlässigkeitsschwellenwerten aus dem Datenzuverlässigkeitsmodell vergleichen, um Speichervorrichtungen zu identifizieren, die den Zustand der verringerten Zuverlässigkeit erreicht haben.
  • In Block 712 kann eine Änderung der Datenwiederherstellungskonfiguration eingeleitet werden. Zum Beispiel kann der Zuverlässigkeitsmanager eine andere Datenwiederherstellungskonfiguration mit einer höheren Fehlertoleranz für eingehende Sicherungsdatenanforderungen von der Speichervorrichtung einrichten.
  • Während mindestens eine beispielhafte Ausführungsform in der vorstehenden ausführlichen Beschreibung der Technologie dargestellt worden ist, sollte gewürdigt werden, dass eine große Anzahl von Variationen existieren kann. Es sollte auch beachtet werden, dass eine beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen Beispiele sind, und in keiner Weise den Umfang, die Anwendbarkeit, oder Konfiguration der Technologie einschränken sollen. Die vorangehende genaue Beschreibung wird vielmehr eine brauchbare Anleitung für Fachleute zur Implementierung einer beispielhaften Ausführungsform der Technologie bereitstellen, wobei es sich versteht, dass verschiedene Modifikationen an einer Funktion und/oder Anordnung von Elementen vorgenommen werden können, die in einer beispielhaften Ausführungsform beschrieben sind, ohne vom Umfang der Technologie abzuweichen, wie in den beigefügten Ansprüchen und ihren rechtlichen Entsprechungen dargelegt.
  • Wie einem Durchschnittsfachmann bekannt, können verschiedene Ausführungsformen der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt verkörpert werden. Folglich können Ausführungsformen der vorliegenden Offenlegung die Form einer vollständigen Hardware-Ausführung, einer vollständigen Software-Ausführung (einschließlich Firmware, speicherresidente Software, Mikrocodes, oder dergleichen) oder Ausführungsformen in der Form einer Kombination von Hardware und Software annehmen, die alle allgemein hierin als Schaltung, Modul, System und/oder Netzwerk bezeichnet werden können. Darüber hinaus können verschiedene Ausführungsformen der vorliegenden Technologie die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, einschließlich eines darauf ausgebildeten computerlesbaren Programmcodes.
  • Es kann jede Kombination eines oder mehrerer computerlesbarer Speichermedien verwendet werden. Ein computerlesbares Medium kann ein computerlesbares Signalmedium oder ein physisches oder computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, ein Gerät oder eine Vorrichtung, usw. oder irgendeine geeignete Kombination der Vorstehenden sein. Nicht einschränkende Beispiele eines physischen computerlesbaren Speichermediums können eine elektrische Verbindung, einschließlich einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, Speicher mit wahlfreiem Zugriff (RAM), Festwertspeicher (ROM), löschbaren programmierbaren Festwertspeicher (EPROM), elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), einen Flash-Speicher, eine optische Faser, einen Compact Disk-Festwertspeicher (CD-ROM), einen optischen Prozessor, einen magnetischen Prozessor usw. oder eine beliebige geeignete Kombination der Vorstehenden einschließen, sind aber nicht darauf beschränkt. Im Kontext dieses Dokuments kann ein computerlesbares und/oder ausführbares Speichermedium jedes greifbare Medium sein, das ein Programm oder Daten zur Verwendung durch ein System, ein Gerät und/oder eine Vorrichtung zur Befehlsausführung oder in Verbindung mit einer/einem solchen, enthalten oder speichern kann.
  • Ein Computercode, der auf einem computerlesbaren Medium enthalten ist, kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, einschließlich, aber nicht beschränkt auf, drahtloses, verdrahtetes, optisches Faserkabel, Radiofrequenz (RF), usw. oder jede geeignete Kombination des Vorhergehenden. Ein Computercode zur Ausführung von Prozessen bei Ausführungsformen der vorliegenden Erfindung kann in einer beliebigen statischen Sprache, wie die C-Programmiersprache oder andere ähnliche Programmiersprachen, geschrieben werden. Der Computercode kann vollständig auf einer Rechenvorrichtung des Benutzers, teilweise auf einer Rechenvorrichtung des Benutzers, als ein alleinstehendes Softwarepaket, teilweise auf einer Rechenvorrichtung des Benutzers und teilweise auf einer Remote-Rechenvorrichtung oder vollständig auf der Remote-Vorrichtung oder einem Server ausgeführt werden. In dem letzteren Gedankenspiel kann eine Remote-Rechenvorrichtung mit einer Rechenvorrichtung des Benutzers durch eine beliebige Art von Netzwerk oder Kommunikationssystem, einschließlich, aber nicht begrenzt auf, ein lokales Netzwerk (LAN) oder ein Wide Area Network (WAN), eine Netzkonvergenz, verbunden sein, oder die Verbindung kann zu einem externen Computer (z. B. durch das Internet unter Verwendung eines Internetanbieters) hergestellt werden.
  • Verschiedene Ausführungsformen der vorliegenden Erfindung können vorstehend mit Bezug auf die Flussdiagramme und/oder Blockdiagramme von Verfahren, Vorrichtungen, Systemen und Computerprogrammprodukten beschrieben sein. Es versteht sich, dass jeder Block des schematischen Flussdiagramms und/oder schematischen Blockdiagramms und Kombinationen von Blöcken in den schematischen Flussdiagrammen und/oder schematischen Blockdiagrammen durch Computerprogrammanweisungen implementiert werden kann. Diese Computerprogrammanweisungen können einer Verarbeitungseinheit (Prozessor) eines allgemeinen Computers, speziellen Computers oder einer anderen programmierbaren Datenverarbeitungsanlage zur Erzeugung einer Maschine bereitgestellt werden, so dass die Anweisungen, die über die Verarbeitungsvorrichtung oder andere programmierbare Datenverarbeitungsanlagen ausgeführt werden können, Mittel zum Implementieren der Abläufe/Handlungen in einem Flussdiagramm und/oder Block (Blöcken) eines Blockdiagramms erzeugen.
  • Einige Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder (eine) andere Vorrichtung(en) zum Betrieb in einer bestimmten Weise steuern kann, so dass die in einem computerlesbaren Medium gespeicherten angefertigten Artikel Anweisungen beinhalten, die den in einem Flussdiagramm und/oder Block (Blöcken) eines Blockdiagramms spezifizierten Betrieb/Vorgang implementieren. Einige Computerprogrammanweisungen können auch auf eine Rechenvorrichtung, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Vorrichtung(n) geladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten an der Rechenvorrichtung, einer anderen programmierbaren Vorrichtung oder (einer) anderen Vorrichtung(en) durchgeführt werden, so dass die Anweisungen, die durch den Computer oder eine andere programmierbare Vorrichtung ausgeführt werden, einen oder mehrere Prozesse zur Implementierung der in einem Flussdiagramm und/oder Block (Blöcken) eines Blockdiagramms spezifizierten Betrieb/Vorgang bereitstellen.
  • Ein Flussdiagramm und/oder Blockdiagramm in den vorstehenden Figuren kann eine Bauweise, Funktionalität und/oder einen Vorgang möglicher Implementierungen von Vorrichtungen, Systemen, Verfahren und/oder Computerprogrammprodukten gemäß verschiedenen Gesichtspunkten der vorliegenden Technologie veranschaulichen. In dieser Hinsicht kann ein Block in einem Flussdiagramm oder Blockdiagramm ein Modul, Segment oder einen Teil eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Implementieren einer oder mehrerer spezifizierter logischer Funktionen aufweisen kann. Es sollte auch beachtet werden, dass in einigen alternativen Implementierungen die in dem Block angegebenen Funktionen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, entsprechend der involvierten Funktionalität. Es sei auch angemerkt, dass ein Block einer Blockdiagramm- und/oder einer Flussdiagrammdarstellung oder eine Kombination von Blöcken in einer Blockdiagramm- und/oder einer Flussdiagrammdarstellung durch speziell auf Hardware basierenden Systemen implementiert werden kann, die eine oder mehrere spezifizierte Vorgänge oder Handlungen ausführen, oder durch Kombinationen von Hardware zu speziellen Zwecken und Computeranweisungen.
  • Während ein oder mehrere Gesichtspunkte der vorliegenden Technologie im Detail dargestellt und besprochen wurden, wird ein Fachmann erkennen, dass Modifikationen und/oder Anpassungen an die verschiedenen Gesichtspunkte vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen, wie in den folgenden Ansprüchen dargelegt.

Claims (20)

  1. Computerimplementiertes Verfahren, aufweisend: Speichern eines redundanten Satzes von Daten aus einer entfernten Speichervorrichtung in einem verteilten Speicherungssystem unter Verwendung einer ersten Datenwiederherstellungskonfiguration; Empfangen von Speicherzustandsdaten, die mit der entfernten Speichervorrichtung verbunden sind, wobei die Speicherzustandsdaten einem Speicherzustandszustand eines nichtflüchtigen Mediums der entfernten Speichervorrichtung entsprechen; Bestimmen, basierend auf den Speicherzustandsdaten, einer Änderung im Speicherzustandszustand des nichtflüchtigen Mediums der entfernten Speichervorrichtung; und Neuzuweisen, unter Verwendung einer zweiten Datenwiederherstellungskonfiguration, des redundanten Datensatzes in dem verteilten Speicherungssystem als Reaktion auf die Änderung des Speicherzustands.
  2. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei: die entfernte Speichervorrichtung eine nichtflüchtige Speichervorrichtung an einem Ort ist, der von dem verteilten Speicherungssystem entfernt ist; und die Neuzuweisung des redundanten Satzes von Daten in dem verteilten Speicherungssystem die periodische Sicherung einer Differenz zwischen einem aktuellen Datensatz, der auf der entfernten Speichervorrichtung gespeichert ist, und einer umfassenden Kopie von Daten, die auf der entfernten Speichervorrichtung zu einem früheren Zeitpunkt gespeichert wurden, aufweist.
  3. Computerimplementiertes Verfahren gemäß Anspruch 1, weiterhin aufweisend: Bestimmen einer periodischen Sicherungskonfiguration für die entfernte Speichervorrichtung; Bestimmen mindestens eines anfänglichen Speicherzustandswertes für die entfernte Speichervorrichtung; und Bestimmen der ersten Datenwiederherstellungskonfiguration, basierend auf dem mindestens einen anfänglichen Speicherzustandswert und der periodischen Sicherungskonfiguration.
  4. Computerimplementiertes Verfahren gemäß Anspruch 3, weiterhin aufweisend: Bestimmen einer Dienststufe für mindestens eine Systemressource des verteilten Speicherungssystems; Bestimmen, basierend auf der Dienststufe, einer Zuweisung der mindestens einen Systemressource zum Speichern des redundanten Datensatzes in dem verteilten Speicherungssystem, wobei das Bestimmen der ersten Datenwiederherstellungskonfiguration weiterhin auf der Zuweisung der mindestens einen Systemressource basiert; und Bestimmen der zweiten Datenwiederherstellungskonfiguration auf Grundlage der Zuweisung der mindestens einen Systemressource und der Änderung des Speicherzustands.
  5. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei: Das Speichern des redundanten Datensatzes in dem verteilten Speicherungssystem unter Verwendung der ersten Datenwiederherstellungskonfiguration das Codieren des redundanten Datensatzes in einer ersten Vielzahl von codierten Datensymbolen gemäß einer ersten Paritätsstufe einschließt; das Neuzuordnen des redundanten Datensatzes in dem verteilten Speicherungssystem unter Verwendung der zweiten Datenwiederherstellungskonfiguration die Codierung mindestens eines Abschnitts des redundanten Datensatzes in einer zweiten Vielzahl von codierten Datensymbolen gemäß einer zweiten Paritätsstufe einschließt; und die zweite Paritätsstufe eine andere Fehlerrate für die Wiederherstellung des Abschnitts des redundanten Datensatzes zulässt als die erste Paritätsstufe.
  6. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei die Speicherzustandsdaten mindestens einen Speicherzustandswert einschließen, der ausgewählt ist aus: einem Bitfehlerratenwert; einem Wert für Schreib-/Löschzyklen; einem Programmschleifenzählerwert; einem Löschschleifenzählerwert; einem Messwert für die Lecksuche; einem erratischen Programmstörungswert; einem schlechten Blockwert; oder einer Spannungsreserve.
  7. Computerimplementiertes Verfahren gemäß Anspruch 1, weiterhin aufweisend: Empfangen des redundanten Datensatzes von der entfernten Speichervorrichtung gemäß einem periodischen Sicherungsplan, wobei das Empfangen von Speicherzustandsdaten von der entfernten Speichervorrichtung in Verbindung mit dem Empfangen des redundanten Datensatzes gemäß dem periodischen Sicherungsplan ausgeführt wird.
  8. Computerimplementiertes Verfahren gemäß Anspruch 1: weiterhin aufweisend: Bestimmen einer Vielzahl von physischen Speichereinheiten in der entfernten Speichervorrichtung; und Speichern von Referenzwerten, die den redundanten Satz von in dem verteilten Speicherungssystem gespeicherten Daten mit der Vielzahl von physischen Speichereinheiten verknüpfen, die entsprechende Daten in der entfernten Speichervorrichtung speichern; wobei: das Empfangen von Speicherzustandsdaten von der entfernten Speichervorrichtung das Empfangen von mindestens einem Speicherzustandswert für jede physische Speichereinheit der Vielzahl von physischen Speichereinheiten einschließt; das Bestimmen der Änderung des Speicherzustands Folgendes einschließt: Bestimmen mindestens eines Speicherzustandswertes für eine erste physische Speichereinheit der Vielzahl physischer Speichereinheiten, die eine Bedingung für verminderte Zuverlässigkeit erfüllt; und Bestimmen mindestens eines Speicherzustandswertes für eine zweite physische Speichereinheit der Vielzahl physischer Speichereinheiten, die die Bedingung der verringerten Zuverlässigkeit nicht; Neuzuweisen des Satzes redundanter Daten in dem verteilten Speicherungssystem unter Verwendung der zweiten Datenwiederherstellungskonfiguration schließt das Speichern von Daten, die mit der ersten physischen Speichereinheit verbunden sind, als Reaktion auf die Bestimmung der verringerten Zuverlässigkeitsbedingung ein; und Daten, die mit der zweiten physischen Speichereinheit verbunden sind, bleiben unter Verwendung der ersten Datenwiederherstellungskonfiguration gespeichert.
  9. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei das Bestimmen der Änderung des Speicherzustandes Folgendes einschließt: Bestimmen von mindestens einem verringerten Zuverlässigkeitsschwellenwert; und Auswerten der Speicherzustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwertes.
  10. Computerimplementiertes Verfahren gemäß Anspruch 1, weiterhin aufweisend: Sammeln von historischen Speicherzustandsdaten für eine Population von entfernten Speichervorrichtungen eines entfernten Speichervorrichtungstyps, der mit der entfernten Speichervorrichtung verbunden ist; Bestimmen eines Datenzuverlässigkeitsmodells für den Typ der entfernten Speichervorrichtung auf Grundlage der gesammelten historischen Speicherzustandsdaten; und Bestimmen mindestens eines verringerten Zuverlässigkeitsschwellenwerts auf Grundlage des Datenzuverlässigkeitsmodells, wobei das Bestimmen der Änderung des Gedächtniszustands das Auswerten der Gedächtniszustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwerts einschließt.
  11. System, aufweisend: ein Speicherungssystem, das so eingerichtet ist, dass es unter Verwendung einer ersten Datenwiederherstellungskonfiguration einen redundanten Satz von Daten aus einer entfernten Speichervorrichtung speichert; einen Speicherzustandsmonitor, der so eingerichtet ist, dass er Speicherzustandsdaten empfängt, die mit der entfernten Speichervorrichtung verbunden sind, wobei die Speicherzustandsdaten einem Speicherzustandszustand eines nichtflüchtigen Mediums der entfernten Speichervorrichtung entsprechen; einen Zuverlässigkeitsmanager, der eingerichtet ist, um: auf Grundlage der Speicherzustandsdaten eine Änderung des Speicherzustands der entfernten Speichervorrichtung zu bestimmen; und als Reaktion auf die Änderung des Speicherzustands eine zweite Datenwiederherstellungskonfiguration einzuleiten, wobei das Speicherungssystem weiterhin eingerichtet ist, um unter Verwendung der zweiten Datenwiederherstellungskonfiguration redundante Daten von der entfernten Speichervorrichtung zu speichern.
  12. System gemäß Anspruch 11, wobei: die entfernte Speichervorrichtung eine nichtflüchtige Speichervorrichtung an einem vom Speicherungssystem entfernten Ort ist; und das Speicherungssystem weiterhin so eingerichtet ist, dass es periodisch eine Differenz zwischen einem aktuellen Satz von auf der entfernten Speichervorrichtung gespeicherten Daten und einer umfassenden Kopie von auf der entfernten Speichervorrichtung zu einem früheren Zeitpunkt gespeicherten Daten speichert.
  13. System gemäß Anspruch 11: weiterhin aufweisend: eine Sicherungsschnittstelle, die eingerichtet ist, um eine periodische Sicherungskonfiguration für die entfernte Speichervorrichtung zu bestimmen; wobei: der Zuverlässigkeitsmanager weiterhin eingerichtet ist, um: mindestens einen anfänglichen Speicherzustandswert für die entfernte Speichervorrichtung zu bestimmen; und auf Grundlage des mindestens einen anfänglichen Speicherzustandswertes und der periodischen Sicherungskonfiguration die erste Datenwiederherstellungskonfiguration einzurichten.
  14. System gemäß Anspruch 13, wobei: der Zuverlässigkeitsmanager weiterhin eingerichtet ist, um: eine Dienststufe für mindestens eine Systemressource des Speicherungssystems zu bestimmen; auf Grundlage der Dienststufe eine Zuweisung der mindestens einen Systemressource zur Speicherung redundanter Daten in dem Speicherungssystem einzurichten, wobei die erste Datenwiederherstellungskonfiguration weiterhin auf der Zuweisung der mindestens einen Systemressource basiert; und auf Grundlage der Zuweisung der mindestens einen Systemressource und der Änderung des Speicherzustands die zweite Datenwiederherstellungskonfiguration einzurichten.
  15. System gemäß Anspruch 11, wobei: das Speicherungssystem weiterhin eingerichtet ist, um: als Reaktion auf die erste Datenwiederherstellungskonfiguration den redundanten Datensatz in einer ersten Vielzahl von codierten Datensymbolen gemäß einer ersten Paritätsstufe zu codieren; und als Reaktion auf die zweite Datenwiederherstellungskonfiguration redundante Daten in einer zweiten Vielzahl von codierten Datensymbolen gemäß einer zweiten Paritätsstufe zu codieren; und die zweite Paritätsstufe eine andere Fehlerrate für die Wiederherstellung von Daten als die erste Paritätsstufe zuzulassen.
  16. System gemäß Anspruch 11: weiterhin aufweisend: eine Sicherungsschnittstelle, die eingerichtet ist, um Sicherungsdaten von der entfernten Speichervorrichtung nach einem periodischen Sicherungsplan zu empfangen; wobei: der Speicherzustandsmonitor weiterhin so eingerichtet ist, dass er Speicherzustandsdaten von der entfernten Speichervorrichtung in Verbindung mit der Sicherungsschnittstelle empfängt, die Sicherungsdaten gemäß dem periodischen Sicherungsplan empfängt.
  17. System gemäß Anspruch 11, wobei: der Speicherzustandsmonitor weiterhin eingerichtet ist, um: eine Vielzahl von physischen Speichereinheiten in der entfernten Speichervorrichtung zu bestimmen; Referenzwerte zu speichern, die in dem Speicherungssystem gespeicherte Daten mit der Vielzahl von physischen Speichereinheiten verknüpfen, die entsprechende Benutzerdaten in der entfernten Speichervorrichtung speichern; und mindestens einen Speicherzustandswert für jede physische Speichereinheit aus der Vielzahl der physischen Speichereinheiten zu empfangen; der Zuverlässigkeitsmanager weiterhin eingerichtet ist, um: zu bestimmen, dass mindestens ein Speicherzustandswert für eine erste physische Speichereinheit aus der Vielzahl der physischen Speichereinheiten eine Bedingung für verminderte Zuverlässigkeit erfüllt; und zu bestimmen, dass mindestens ein Speicherzustandswert für eine zweite physische Speichereinheit aus der Vielzahl der physischen Speichereinheiten die Bedingung der verringerten Zuverlässigkeit nicht erfüllt; das Speicherungssystem weiterhin eingerichtet ist, um: als Reaktion auf die Bestimmung der verminderten Zuverlässigkeit redundante Daten, die mit der ersten physischen Speichereinheit verbunden sind, unter Verwendung der zweiten Datenwiederherstellungskonfiguration zu speichern; und redundante Daten, die mit der zweiten physischen Speichereinheit verbunden sind, unter Verwendung der ersten Datenwiederherstellungskonfiguration gespeichert bleiben.
  18. System gemäß Anspruch 11, wobei: der Zuverlässigkeitsmanager weiterhin eingerichtet ist, um: mindestens einen verringerten Zuverlässigkeitsschwellenwert zu bestimmen; und die Speicherzustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwerts zu bewerten.
  19. System gemäß Anspruch 11, wobei: der Zuverlässigkeitsmanager weiterhin eingerichtet ist, um: auf historische Speicherzustandsdaten für eine Population von entfernten Speichervorrichtungen eines entfernten Speichervorrichtungstyps zuzugreifen, der mit der entfernten Speichervorrichtung verbunden ist; auf Grundlage der historischen Speicherzustandsdaten ein Datenzuverlässigkeitsmodell für den Typ der entfernten Speichervorrichtung zu bestimmen; auf Grundlage des Datenzuverlässigkeitsmodells mindestens einen verringerten Zuverlässigkeitsschwellenwert zu bestimmen; und die Speicherzustandsdaten anhand des mindestens einen verringerten Zuverlässigkeitsschwellenwerts zu bewerten.
  20. System, aufweisend: ein Speicherungssystem, das so eingerichtet ist, dass es unter Verwendung einer ersten Datenwiederherstellungskonfiguration einen redundanten Satz von Daten aus einer entfernten Speichervorrichtung speichert; Mittel zum Empfangen von Speicherzustandsdaten, die mit der entfernten Speichervorrichtung verbunden sind, wobei die Speicherzustandsdaten einem Speicherzustandszustand eines nichtflüchtigen Mediums der entfernten Speichervorrichtung entsprechen; Mittel zum Bestimmen, basierend auf den Speicherzustandsdaten, einer Änderung des Speicherzustands der entfernten Speichervorrichtung; und Mittel zum Initiieren einer zweiten Datenwiederherstellungskonfiguration als Reaktion auf die Änderung des Speicherzustands, wobei das Speicherungssystem weiterhin eingerichtet ist, um unter Verwendung der zweiten Datenwiederherstellungskonfiguration redundante Daten von der entfernten Speichervorrichtung zu speichern.
DE112020005227.3T 2020-01-14 2020-05-29 Speicherzustandsüberwachung für differenziertedatenwiederherstellungskonfigurationen Pending DE112020005227T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/741,952 2020-01-14
US16/741,952 US11210183B2 (en) 2020-01-14 2020-01-14 Memory health tracking for differentiated data recovery configurations
PCT/US2020/035432 WO2021145915A1 (en) 2020-01-14 2020-05-29 Memory health tracking for differentiated data recovery configurations

Publications (1)

Publication Number Publication Date
DE112020005227T5 true DE112020005227T5 (de) 2022-09-08

Family

ID=76760507

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005227.3T Pending DE112020005227T5 (de) 2020-01-14 2020-05-29 Speicherzustandsüberwachung für differenziertedatenwiederherstellungskonfigurationen

Country Status (4)

Country Link
US (1) US11210183B2 (de)
CN (1) CN114746843A (de)
DE (1) DE112020005227T5 (de)
WO (1) WO2021145915A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294786B2 (en) * 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11586385B1 (en) * 2020-05-06 2023-02-21 Radian Memory Systems, Inc. Techniques for managing writes in nonvolatile memory
JP2022124054A (ja) * 2021-02-15 2022-08-25 株式会社日立製作所 ストレージシステム、ストレージ装置及びストレージ装置管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US7415585B1 (en) * 2004-11-18 2008-08-19 Symantec Operating Corporation Space-optimized backup repository grooming
US8694469B2 (en) 2009-12-28 2014-04-08 Riverbed Technology, Inc. Cloud synthetic backups
US9098456B2 (en) 2010-01-13 2015-08-04 International Business Machines Corporation System and method for reducing latency time with cloud services
US10803970B2 (en) 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability

Also Published As

Publication number Publication date
WO2021145915A1 (en) 2021-07-22
US11210183B2 (en) 2021-12-28
US20210216412A1 (en) 2021-07-15
CN114746843A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
DE112018000193B4 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112019002584T5 (de) Wechseln zwischen vermittlerdiensten für ein speichersystem
DE112020005227T5 (de) Speicherzustandsüberwachung für differenziertedatenwiederherstellungskonfigurationen
DE112013001421T5 (de) Auf Richtlinien beruhendes Verwalten von Speicherfunktionen in Datenreplikationsumgebungen
DE112018004637B4 (de) Maschinelles lernen zum verbessern von wiederherstellungen von redundanten anordnungen von unabhängigen festplatten
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE202011110892U1 (de) System von aktivem Risikomanagement, um die Wahrscheinlichkeit des Descheduling der Jobs in Computer-Clustern zu reduzieren
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE112020003277T5 (de) Erzeugen von tags für die datenzuweisung
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE102013215535A1 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE112012005275T5 (de) Datenauswahl zur Sicherung von Datenspeichern
DE102012219098A1 (de) Verwaltung von Teildatensegmenten in Systemen mit doppeltem Cachespeicher
DE112014000251T5 (de) Echtzeitklassifizierung von Daten in Datenkomprimierungsdomänen
DE112014000254T5 (de) Merhrstufiges Zwischenspeichern und migrieren in unterschiedlichen Granularitäten
DE202015009260U1 (de) Effiziente Datenlesungen von verteilten Speichersystemen
DE112019000143T5 (de) Versionierungsvalidierung für die datenübertragung zwischen heterogenen datenspeichern
DE112017000167B4 (de) Verteilte Datendeduplizierung in einem Prozessorraster
DE102021115763A1 (de) Identifizierung und klassifizierung der schreibstrompriorität
DE112013000900T5 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
DE112015000222T5 (de) Zusammenführen von mehreren Zeitpunktkopien zu einer zusammengeführten Zeitpunktkopie
DE102016119298A1 (de) Zeitpunktkopieren mit klonen von ketten
DE112012002796T5 (de) Übertragen von in virtuellen Datenträgern organisierten deduplizierten Daten in einen Zielsatz von physischen Medien
DE102016100773A1 (de) Erfassen von Komprimierungsleistungsmesswerten für die Verarbeitung von Daten

Legal Events

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

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

Representative=s name: MEWBURN ELLIS LLP, DE

R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE