DE112010003345B4 - Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems - Google Patents

Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems Download PDF

Info

Publication number
DE112010003345B4
DE112010003345B4 DE112010003345.5T DE112010003345T DE112010003345B4 DE 112010003345 B4 DE112010003345 B4 DE 112010003345B4 DE 112010003345 T DE112010003345 T DE 112010003345T DE 112010003345 B4 DE112010003345 B4 DE 112010003345B4
Authority
DE
Germany
Prior art keywords
data
entities
parity
memory
storage
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.)
Active
Application number
DE112010003345.5T
Other languages
English (en)
Other versions
DE112010003345T5 (de
Inventor
Evangelos S. Eleftheriou
Robert Haas
Xiaoyu Hu
Ilias Iliadis
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112010003345T5 publication Critical patent/DE112010003345T5/de
Application granted granted Critical
Publication of DE112010003345B4 publication Critical patent/DE112010003345B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

Datenspeichersystem, das mindestens eine Speichereinheitenanordnung umfasst, die Speichereinheiten für das Speichern von Daten umfasst; sowie eine Speicherteilsystem-Steuereinheit für das Durchführen eines Verfahrens zum Betreiben der Speichereinheiten innerhalb der Speichereinheitenanordnung, indem Paritätsentitäten von einer ersten Speichereinheit auf eine Ersatzspeichereinheit, die eine ausgefallene Speichereinheit ersetzt, verlagert werden, und indem eine oder mehrere wiederhergestellte Datenentitäten auf der ersten Speichereinheit gespeichert werden.

Description

  • TECHNISCHER HINTERGRUND
  • Die Erfindung bezieht sich auf ein Verfahren und System für das Betreiben von Speichereinheiten, insbesondere von Halbleiterdatenträgern (Solid State Drives, SSD) eines Datenspeichersystems, insbesondere eines durch ein RAID (Redundant Array of Inexpensive Discs) geschützten Datenspeichersystems.
  • RAID ist ein Datenspeichersystem, das in erster Linie in Verbindung mit einer Vielzahl von Festplattenlaufwerken bekannt ist, bei denen Daten über mehrere Festplattenlaufwerke verteilt sind, wobei dies mit oder ohne Redundanz für den Datenschutz der Fall sein kann. Es gibt verschiedene RAID-Architekturen, die durch eine Ziffer wie beispielsweise RAID0, RAID1, RAID2 usw. kenntlich gemacht sind und unterschiedliche Bauweisen aufweisen, um die Datenzuverlässigkeit und die Ein-/Ausgabeleistung zu vergrößern. Eine RAID-Anordnung von Festplattenlaufwerken verteilt Daten auf mehrere Festplatten, wobei die Festplattenanordnung jedoch von einem Computer oder Server, der mit dieser Anordnung verbunden ist, virtuell als eine einzige Speichereinheit gesehen wird. Dementsprechend vereint RAID zwei oder mehr physische Festplattenlaufwerke zu einer einzigen Speichereinheit durch Verwendung spezieller Hardware oder Software.
  • In einem RAID-System können verschiedene Konzepte ausgeführt sein, namentlich Spiegelung, Striping oder Fehlerkorrektur. Die Spiegelung beinhaltet das Kopieren von Daten auf mehrere Festplatten. Das Striping von Daten beinhaltet das Aufteilen von Daten auf mehrere Festplatten der Anordnung. Für die Fehlerkorrektur werden redundante Daten gespeichert, damit Fehler erkannt und möglicherweise behoben werden können. Abhängig von den Anforderungen zur Erhöhung von Datenzuverlässigkeit und/oder Ein-/Ausgabeleistung verwenden Architekturen mit unterschiedlichen RAID-Niveaus eine oder mehrere dieser Techniken. Das RAID-Datenspeichersystem ist so ausgelegt, dass die Zuverlässigkeit und Verfügbarkeit von Daten verbessert werden, um sicherzustellen, dass wichtige Daten verfügbar sind, oder dass die Zugriffsgeschwindigkeit auf Dateien verbessert wird, wie beispielsweise bei einem Datenspeichersystem, das eine große Anzahl von Transaktionen für ein Bank-/Handelsdatenbanksystem oder für Programme für die bedarfsgesteuerte Bereitstellung von Videos an viele Betrachter oder Kunden zur Verfügung stellt.
  • Die Konfiguration eines RAID-Datenspeichersystems wirkt sich in verschiedener Hinsicht auf die Zuverlässigkeit und Leistung aus. Durch die Verwendung mehrerer Festplatten steigt die Wahrscheinlichkeit, dass eine Festplatte ausfällt. Dies lässt sich beheben, indem die Fehlerprüfung verwendet wird, um das gesamte Datenspeichersystem zuverlässiger zu machen. Striping kann zur Leistungserhöhung verwendet werden, da es gestattet, Datenfolgen gleichzeitig von mehreren Festplatten zu lesen. Die Fehlerprüfung verlangsamt in der Regel das Datenspeichersystem, da die Daten aus mehreren Speicherstellen gelesen und miteinander verglichen werden müssen, es erhöht jedoch die Zuverlässigkeit und ermöglicht die Bereitstellung eines Reparaturmechanismus, falls eine oder mehrere Festplatten ausfallen.
  • In einer RAID5-Datenspeicherarchitektur werden Paritätsentitäten auf verschiedene Festplatten verteilt, um die Leistung zu steigern. Die verteilte Paritätsentität erfordert, dass bis auf eine(s) alle Laufwerke oder Festplatten betriebsfähig sind. Sollte ein Laufwerkausfall auftreten, werden alle nachfolgenden Lesevorgänge von der verteilten Paritätsentität berechnet, so dass der Laufwerkausfall dem Benutzer verborgen bleibt.
  • RAID6-Architekturen stellen eine Ausfalltoleranz von zwei Laufwerkausfällen bereit, d. h., die Anordnung arbeitet bei bis zu zwei ausgefallenen Laufwerken weiter. Eine doppelte Parität verschafft Zeit für die Wiederherstellung der Anordnung, ohne dass die Gefahr besteht, dass ein weiterer Laufwerkausfall auftritt, bevor die Wiederherstellung abgeschlossen wurde.
  • Wenn bei einem herkömmlichen RAID-Speichersystem ein Festplattenausfall auftritt, wird eine Ersatzfestplatte verwendet, um die fehlenden Daten wiederzustellen. Bei einem herkömmlichen RAID-Datenspeichersystem wird die Ersatzfestplatte, die eine ausgefallene Festplatte ersetzt, auf dieselbe Art und Weise wie die verbleibenden noch betriebsfähigen Festplatten des Datenspeichersystems verwendet.
  • Eine Speichereinheit kann als Flash-Einheit wie beispielsweise ein Flash-basiertes SSD oder ein Flash-basiertes Modul ausgeführt sein, das Benutzerdaten speichern kann. Derartige nichtflüchtige Speichereinheiten auf der Grundlage von Halbleitern weisen ein Problem mit der Lebensdauer auf. Die Lebensdauer lässt sich als die maximale Anzahl von Schreib/Löschzyklen definieren, die für jeden Datenblock durchgeführt werden kann, bevor die Grenze der Funktionssicherheit erreicht ist. Der Ausgleich nachlassender Funktionsfähigkeit (wear-leveling) ist eine bekannte Technik für die Verlängerung der Nutzlebensdauer eines löschbaren Computerspeichermediums wie z. B. eines Flash-Speichers. Beim Ausgleich nachlassender Funktionsfähigkeit werden die Schreibvorgänge gleichmäßig auf Blöcke oder Einheiten des Speicherplatzes verteilt. Der Ausgleich nachlassender Funktionsfähigkeit erfolgt üblicherweise durch eine Flash-Einheiten-Steuereinheit, beruhend auf einer physischen Blockadresse (PBA).
  • Aus EP 1 840 722 A2 ist ein Speichersystem bekannt, das auf Flash-Speicher zurückgreift, wobei mehrere Flash-Speicher zu einer ersten logischen Gruppe zusammengefasst werden, Adressen von Flash-Speichern der ersten logischen Gruppe in eine zweite Adresse umgewandelt werden und mehrere erste logische Gruppen zu einer zweiten logischen Gruppe zusammengefasst werden.
  • Aus US 2008/0 250 270 A1 ist ein Speicherverwaltungssystem bekannt, bei dem Daten nach dem RAID-Verfahren abgespeichert werden. Anhand von Paritätsdaten lassen sich ggfs. Daten wiederherstellen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Aufgabe der Erfindung ist es, auch bei nachlassender Funktionsfähigkeit von Speicherelementen die Datensicherung zu gewährleisten.
  • Diese Aufgabe wird gelöst durch das Verfahren für das Betreiben von Speichereinheiten eines Datenspeichersystems nach Anspruch 1 und ein entsprechendes Datenspeichersystem nach Anspruch 9. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
  • Das Verfahren für das Betreiben von Speichereinheiten eines Datenspeichersystems kann das Verlagern von einer oder mehreren Paritätsentitäten von einer ersten Speichereinheit auf eine Ersatzspeichereinheit, die eine ausgefallene Speichereinheit ersetzt, sowie das Speichern von einer oder mehreren wiederhergestellten Datenentitäten auf der ersten Speichereinheit umfassen.
  • Das Verfahren zielt auf die Bereitstellung eines Verfahrens zum Ausgleich nachlassender Funktionsfähigkeit ab und macht sich die Tatsache zunutze, dass die installierte Ersatzspeichereinheit, die eine ausgefallene Speichereinheit ersetzt, in der Regel noch gut funktionsfähig ist, d. h. noch nicht unter Schreibzyklen gelitten hat. Somit stellt die neu installierte Ersatzspeichereinheit ein ideales Medium dar, um einen Teil oder alle der häufig aktualisierten Paritätsentitäten PE zu verlagern. Dies entlastet die verbleibenden Speichereinheiten des Datenspeichersystems, da ihre Häufigkeit nachlassender Funktionstüchtigkeit verringert wird. Infolgedessen verbessert sich die Zuverlässigkeit und erhöht sich die Lebensdauer des gesamten Datenspeichersystems.
  • Das Verfahren stellt vorzugsweise ein Schema zum Ausgleich nachlassender Funktionsfähigkeit innerhalb eines RAID-Datenspeichersystems bereit, das auf der Logikblockanordnung (Logical Block Array, LBA) ausgeführt wird und dadurch mit einem Ausgleich nachlassender Funktionsfähigkeit auf Einheitenebene kombiniert werden kann, um so die Ersatzspeichereinheit besser auszunutzen und die verbleibenden Speichereinheiten vor zusätzlichem, übermäßigem Nachlassen der Funktionsfähigkeit zu bewahren.
  • Die Speichereinheit, von der eine oder mehrere Paritätsentitäten genommen und auf die Ersatzspeichereinheit verlagert werden, ist vorzugsweise eine der verbleibenden Speichereinheiten, d. h. eine beliebige der Speichereinheiten mit Ausnahme der ausgefallenen Einheit. Dabei ist vorstellbar, dass nur eine oder einige wenige Paritätsentitäten von einer derartigen Einheit verlagert werden; ebenso ist vorstellbar, dass alle Paritätsentitäten dieser ersten Speichereinheit verlagert werden. Auf diese Weise verringert sich das künftige Nachlassen der Funktionsfähigkeit dieser ersten Speichereinheit, was zu einer längeren Lebensdauer und höheren Zuverlässigkeit des gesamten Datenspeichersystems führt.
  • Bei einer bevorzugten Ausführungsform wird eine bestimmte Anzahl von Paritätssektoren oder Paritätsentitäten PE, die im Vergleich zu Datenentitäten oder Datensektoren häufig aktualisiert werden, schrittweise von den verbleibenden, (hinsichtlich des Nachlassens der Funktionsfähigkeit) älteren Speichereinheiten entfernt und auf die neu installierte, (hinsichtlich des Nachlassens der Funktionsfähigkeit) jüngere Ersatzspeichereinheit gesetzt. Die Auswahl der zu verlagernden Paritätsentitäten kann von einem Markierungsmechanismus abhängen, der die Paritätsentitäten mit dem höchsten Anteil nachlassender Funktionsfähigkeit angibt, so dass diese als erstes verlagert werden.
  • Bei einer bevorzugten Ausführungsform werden eine, einige wenige oder sogar alle Paritätsentitäten von einer, einigen wenigen oder auch allen verbleibenden Speichereinheiten auf die Ersatzspeichereinheit verlagert. Die Verlagerungsaktion kann dann erfolgen, wenn die ausgefallene Speichereinheit durch die Speichereinheit ersetzt wird, oder sie kann zu einem späteren Zeitpunkt stattfinden.
  • Bei einer Ausführungsform wird die Verlagerung von Paritätsentitäten PE auf die Ersatzspeichereinheit dann durchgeführt, wenn ein vorgegebenes Verlagerungskriterium erfüllt ist. Das Verlagerungskriterium kann ein relatives Alter der Speichereinheiten des Datenspeichersystems berücksichtigen, wobei das relative Alter der Speichereinheit durch ein Verhältnis zwischen einem Alterszähler, der bei jedem Schreibvorgang auf der betreffenden Speichereinheit erhöht wird, und einer erwarteten Lebensdauer der Speichereinheit ermittelt werden. Das Verlagerungskriterium kann unmittelbar oder mittelbar von dem festgestellten Alter abhängig sein.
  • Bei einer möglichen Ausführungsform werden Daten, die auf dem Datenspeichersystem gespeichert werden sollen, in Gruppen von Datenentitäten aufgeteilt. Jede Gruppe von Datenentitäten umfasst vorzugsweise mehrere Datenentitäten, die auf verschiedenen Speichereinheiten gespeichert sind. Bei einer gegebenen Anzahl von N Speichereinheiten beinhaltet eine Gruppe von Datenentitäten vorzugsweise N – 1 Datenentitäten, wobei jede Datenentität auf einer anderen Speichereinheit gespeichert wird. Eine Datenentität kann durch eine spezifische und geeignete gespeicherte Informationseinheit wie beispielsweise ein Bit, ein Byte, ein Wort, eine Seite, ein Block usw. dargestellt werden und kann selbstverständlich auch in anderer Codierung als der Binärcodierung vorliegen.
  • Vorzugsweise wird mindestens eine Paritätsentität PE für jede Gruppe von Datenentitäten berechnet und auf einer Speichereinheit des Datenspeichersystems gespeichert, bevorzugt auf einer Speichereinheit, die keine Datenentitäten speichert, welche der betreffenden Gruppe von Datenentitäten zugehörig sind. Wenn im obigen Beispiel N – 1 Speichereinheiten die Datenentitäten einer Gruppe tragen, dann kann die N-te Speichereinheit die entsprechende Paritätsentität tragen. Die einer Gruppe von Datenentitäten zugehörige Paritätsentität wird vorzugsweise unter Anwendung einer bitweisen Exklusiv-ODER-Verknüpfung auf die Datenentitäten der Gruppe von Datenentitäten durchgeführt. Gemäß einer alternativen Ausführungsform werden die Paritätsentitäten für eine Gruppe von Datenentitäten berechnet, indem Galois-Feldverknüpfungen für die Datenentitäten der Gruppe von Datenentitäten durchgeführt werden.
  • Bei einem Ausfall einer der Speichereinheiten wird vorzugsweise eine für diesen Zweck vorgesehene Ersatzspeichereinheit aktiviert. Ein Ausfall der Speichereinheit kann automatisch anhand einer Prüfschaltung erkannt werden, und die Ersatzspeichereinheit kann bei Erkennen eines Ausfalls automatisch aktiviert werden. Vorzugsweise werden alle Datenentitäten, die zuvor in der ausgefallenen Speichereinheit gespeichert wurden, auf der Grundlage der verbleibenden Datenentitäten der betreffenden Gruppen von Datenentitäten und der entsprechenden berechneten Paritätsentitäten wiederhergestellt. Anstelle von Datenentitäten können auch Paritätsentitäten in der ausgefallenen Speichereinheit gespeichert worden sein, wobei die Gesamtheit der Paritätsentitäten ebenfalls auf der Grundlage der Datenentitäten der betreffenden Gruppen, die auf den anderen Speichereinheiten gespeichert sind, wiederhergestellt werden können.
  • Die wiederhergestellten Datenentitäten, die üblicherweise auf der Ersatzspeichereinheit gespeichert worden wären, werden nun auf einer anderen der verbleibenden Speichereinheiten gespeichert, wobei diese Speichereinheit im vorliegenden Zusammenhang auch als erste Speichereinheit bezeichnet wird. Damit werden nun vorzugsweise eine, manche oder alle der Paritätsentitäten, die sich auf dieser ersten Speichereinheit befinden und derselben Gruppe der wiederhergestellten Datenentitäten zugehörigen, auf die Ersatzspeichereinheit verlagert.
  • Die durch den Ausfall einer der Speichereinheiten verloren gegangenen Datenentitäten können z. B. durch die Verwendung von Registern wiederhergestellt werden, dann auf der Ersatzeinheit gespeichert und danach gegen Paritätsentitäten auf der ersten Speichereinheit ausgetauscht werden. Alternativ hierzu können nach der Wiederherstellung die wiederhergestellten Datenentitäten sofort auf der ersten Speichereinheit gespeichert werden, ohne dass sie zuvor auf der Ersatzspeichereinheit gespeichert werden. Die Verlagerung der betreffenden Paritätsentitäten auf die Ersatzspeichereinheit kann stattfinden, bevor die wiederhergestellten Datenentitäten auf der ersten Einheit gespeichert werden, oder sie kann nach den Wiederherstellungsaktivitäten stattfinden.
  • Bei einer bevorzugten Ausführungsform des Verfahrens umfasst es das Striping von Daten, wobei zur selben Gruppe gehörende Datenentitäten auf mehrere Speichereinheiten aufgeteilt werden, das Berechnen von mindestens einer Paritätsentität für jede Gruppe von Datenentitäten und das Speichern der Paritätsentität auf einer Speichereinheit, das Wiederherstellen aller Datenentitäten einer ausgefallenen Speichereinheit auf einer Ersatzspeichereinheit des Datenspeichersystems und das Verlagern von Paritätsentitäten auf den Ersatzspeicher, indem Datenentitäten, die auf der Ersatzspeichereinheit wiederhergestellt werden, gegen Paritätsentitäten, die auf anderen Speichereinheiten des Datenspeichersystems gespeichert sind, ausgetauscht werden.
  • Das Datenspeichersystem, das Speichereinheiten für das Speichern von Daten und eine Speicherteilsystem-Steuereinheit umfasst, kann so ausgelegt ist, dass zum Betreiben der Speichereinheiten die Schritte des Verfahren für das Betreiben von Speichereinheiten eines Datenspeichersystems durchgeführt werden.
  • Die Speichereinheiten beinhalten vorzugsweise Halbleiterdatenträger. Die Speichereinheiten umfassen vorzugsweise Flash-Speicherchips und/oder Phasenwechselspeicherchips.
  • Gemäß einer bevorzugten Ausführungsform umfasst die Speicherteilsystem-Steuereinheit einen Mikroprozessor für das Ausführen eines Programms, eine Schnittstelle für das Austauschen von Daten, einen nichtflüchtigen Speicher für das Speichern von mindestens einem Programm und einen Cachespeicher für das vorübergehende Speichern von Daten, die über die Schnittstelleneinheit gesendet oder empfangen werden.
  • Bevorzugte Merkmale des Verfahrens sind als offenbarte bevorzugte Merkmale des Systems zu betrachten und umgekehrt.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Im Folgenden werden Ausführungsformen des Verfahrens für das Betreiben eines Datenspeichersystems sowie eines Datenspeichersystems mit Bezug auf die beigefügten Figuren ausführlicher beschrieben.
  • 1 zeigt eine Ausführungsform eines Datenspeichersystems gemäß der vorliegenden Erfindung;
  • 2 zeigt ein Blockschaltbild einer Ausführungsform eines Datenspeichersystems gemäß der vorliegenden Erfindung;
  • 3 zeigt einen Ablaufplan einer möglichen Ausführungsform eines Verfahrens zum Ausgleich nachlassender Funktionsfähigkeit gemäß der vorliegenden Erfindung;
  • 4 zeigt ein weiteres Schaubild zur Veranschaulichung des Verfahrens zum Ausgleich nachlassender Funktionsfähigkeit gemäß der vorliegenden Erfindung.
  • Wie aus 1 ersichtlich ist, umfasst ein Datenspeichersystem 1 gemäß einer Ausführungsform der vorliegenden Erfindung eine Speicherteilsystem-Steuereinheit 2 für das Steuern von mindestens einer Halbleiterdatenträgeranordnung 3. Die Halbleiterdatenträgeranordnung 3 umfasst mehrere Speichereinheiten oder Halbleiterdatenträger 3-i SSD. Diese Speichereinheiten 3-i SSD können Flash-basierte Halbleiterdatenträger oder Flash-basierte Module für das Speichern von Benutzerdaten sein. Die Speichereinheiten der Halbleiterdatenträgeranordnung 3 können Flash-Speicherchips und/oder Phasenwechselspeicherchips umfassen. Die Speicherteilsystem-Steuereinheit 2 ist mit der Halbleiterdatenträgeranordnung 3 über eine Steuer- oder Datenbusschnittstelle 4 verbunden, wie in 1 dargestellt. Bei einer möglichen Ausführungsform sind die Speicherteilsystem-Steuereinheit 2 und die Halbleiterdatenträgeranordnung 3 in die Datenspeichersystemeinheit integriert. Bei einer alternativen Ausführungsform können die Speicherteilsystem-Steuereinheit 2 und die Halbleiterdatenträgeranordnung 3 getrennte Einheiten bilden. Bei einer möglichen Ausführungsform bildet die Speicherteilsystem-Steuereinheit 2 einen Teil eines Computers oder Servers, der mit einer Halbleiterdatenträgeranordnung 3 verbunden ist.
  • 2 zeigt die Speicherteilsystem-Steuereinheit 2 aus 1 ausführlicher. In der gezeigten Ausführungsform umfasst die Speicherteilsystem-Steuereinheit 2 einen Mikroprozessor 2A mit Zugriff auf einen Cachespeicher 2B sowie einen nichtflüchtigen Speicher 2C. Des Weiteren wird eine Schnittstelleneinheit 2D für das Austauschen von Daten mit der Datenstation oder dem Server 5 bereitgestellt. Bei der in 2 gezeigten Ausführungsform kann der Mikroprozessor 2A ein Programm ausführen, das aus dem nichtflüchtigen Speicher 2C geladen wird, in dem mindestens ein Computerprogramm mit Befehlen gespeichert ist, um ein Verfahren gemäß der vorliegenden Erfindung durchzuführen. Der Cachespeicher 2B wird bereitgestellt, um Daten vorübergehend zu speichern, die von der Schnittstelleneinheit 2D gesendet oder empfangen werden. Das Verfahren zum Ausgleich nachlassender Funktionsfähigkeit kann auch durch ein Programm durchgeführt werden, das auf einem Computer ausgeführt wird, der mit einer Halbleiterdatenträgeranordnung 3 verbunden ist.
  • Die in 2 gezeigte Speicherteilsystem-Steuereinheit 2 ist so gestaltet, dass es einen Ausgleich nachlassender Funktionsfähigkeit der Speichereinheiten oder Halbleiterdatenträger innerhalb der Halbleiterdatenträgeranordnung 3 durchführt, indem Paritätsentitäten PE auf mindestens einen Ersatzspeicher verlagert werden, indem Datenentitäten DE, die nach einem Ausfall einer Speichereinheit oder eines Halbleiterdatenträgers SSD auf einem Ersatzspeicher wiederhergestellt werden, gegen Paritätseinheiten PE, die auf anderen Speichereinheiten oder Halbleiterdatenträgern der Halbleiterdatenträgereinheit 3 gespeichert sind, ausgetauscht werden. Der Ersatzspeicher ersetzt eine ausgefallene Speichereinheit der Halbleiterdatenträgeranordnung 3. Bei einer anderen Ausführungsform ist der Ersatzspeicher ein zusätzlicher Speicher, der in der Halbleiterdatenträgeranordnung 3 installiert ist, um die Speicherkapazität der Anordnung zu erweitern.
  • Bei einer Ausführungsform wird die Verlagerung von Paritätsentitäten PE in den Ersatzspeicher durch die Speicherteilsystem-Steuereinheit 2 durchgeführt, wenn ein vorgegebenes Verlagerungskriterium erfüllt ist. Dieses Verlagerungskriterium kann eine Funktion von relativen Alterswerten von Speichereinheiten oder Halbleiterdatenträgern SSD des Datenspeichersystems 1 sein, die von der Speicherteilsystem-Steuereinheit 2 überwacht werden.
  • Bei einer möglichen Ausführungsform umfasst die Speicherteilsystem-Steuereinheit 2 für jede Speichereinheit bzw. jeden Halbleiterdatenträger SSD einen entsprechenden Alterszähler oder ein Altersregister, der/das bei jedem Schreibvorgang in die betreffende Speichereinheit oder auf den Halbleiterdatenträger erhöht wird, und berechnet ein relatives Alter der betreffenden Speichereinheit oder des Halbleiterdatenträgers SSD als ein Verhältnis des Alterszählwerts zu einem vorgegebenen Lebensdauer-Erwartungswert.
  • Die Speicherteilsystem-Steuereinheit 2 ist so gestaltet, dass sie nach und nach eine bestimmte Anzahl von Paritätssektoren oder Paritätsentitäten PE von älteren Speichereinheiten oder Halbleiterdatenträgern auf die neu installierte Ersatzspeichereinheit oder den neu installierten Halbleiterdatenträger verlagert. Entsprechend führt die vom Datenspeichersystem 1 genutzte Speicherteilsystem-Steuereinheit 2 gemäß der vorliegenden Erfindung durch gleitende Paritätsplatzierung einen dynamischen Ausgleich nachlassender Funktionsfähigkeit durch.
  • 3 zeigt einen Ablaufplan einer möglichen Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung.
  • In einem ersten Schritt S1 findet ein Striping von Daten statt, wobei Gruppen von Datenentitäten DE, die über die Schnittstelleneinheit 2D von dem Computer oder Server 5 empfangen werden, auf mehrere Speichereinheiten oder Halbleiterdatenträger 3-i der Halbleiterdatenträgeranordnung 3 aufgeteilt werden.
  • In einem weiteren Schritt S2 wird mindestens eine Paritätsentität PE für jede Gruppe von Datenentitäten DE oder Datenblöcken berechnet, und die berechnete Paritätsentität wird auf einer Speichereinheit oder einem Halbleiterdatenträger der Halbleiterdatenträgeranordnung 3 gespeichert. Die Paritätsentitäten PE können dabei zunächst auf alle Speichereinheiten oder Halbleiterdatenträger verteilt sein.
  • In einem weiteren Schritt S3 werden alle Datenentitäten DE und Paritätsentitäten PE einer ausgefallenen Speichereinheit oder eines ausgefallenen Halbleiterdatenträgers der Halbleiterdatenträgeranordnung 3 auf einer Ersatzspeichereinheit oder einem Ersatzhalbleiterdatenträger SSD der Halbleiterdatenträgeranordnung 3 wiederhergestellt. Diese Wiederherstellung in Schritt S3 erfolgt auf der Grundlage der verbleibenden Datenentitäten DE der betreffenden Gruppen von Datenentitäten und der entsprechenden berechneten Paritätsentitäten. Bei einer möglichen Ausführungsform wird eine Paritätsentität PE für eine Gruppe von Datenentitäten DE berechnet, indem eine bitweise Exklusiv-ODER-Verknüpfung für die Datenentitäten DE derselben Gruppe durchgeführt wird. Bei einer anderen Ausführungsform wird eine Paritätsentität PE für eine Gruppe von Datenentitäten DE berechnet, indem eine bitweise Exklusiv-ODER-Verknüpfung oder Galois-Feldverknüpfung für die Datenentitäten DE der Gruppe von Datenentitäten DE durchgeführt wird.
  • In einem weiteren Schritt S4 werden einige Paritätsentitäten PE auf den mindestens einen neu installierten Ersatzspeicher verlagert, indem die auf dem Ersatzspeicher wiederhergestellten Datenentitäten DE gegen Paritätsentitäten PE ausgetauscht werden, die auf älteren Speichereinheiten oder Halbleiterdatenträgern SSD des Datenspeichersystems 1 gespeichert sind.
  • Bei einer möglichen Ausführungsform wird in Schritt S4 die Verlagerung der Paritätsentitäten auf den Ersatzspeicher oder den Ersatzhalbleiterdatenträger SSD durchgeführt, falls mindestens ein vorgegebenes Verlagerungskriterium erfüllt ist. Bei einer Ausführungsform des Verfahrens zum Ausgleich nachlassender Funktionsfähigkeit gemäß der vorliegenden Erfindung wird dieses Verlagerungskriterium durch eine Funktion von relativen Alterswerten der Speichereinheiten oder Halbleiterdatenträger SSD des Datenspeichersystems 1 gebildet. Dieses relative Alter R einer Speichereinheit SSD oder eines Halbleiterdatenträgers kann als ein Verhältnis zwischen einem Alterszählwert ACV eines Zählers, der bei jedem Schreibvorgang in die betreffende Speichereinheit oder auf den Halbleiterdatenträger SSD erhöht wird, und einem Lebensdauer-Erwartungswert ELTV der Speichereinheit oder des Halbleiterdatenträgers R = ACV/ELTV berechnet werden. Bei einer möglichen Ausführungsform ist der Lebensdauer-Erwartungswert ELTV für alle Speichereinheiten oder Halbleiterdatenträger SSD innerhalb der Halbleiterdatenträgeranordnung 3 der gleiche, da die eingesetzten Halbleiterdatenträger SSD ein und dieselbe erwartete Lebensdauer aufweisen. Bei einer alternativen Ausführungsform können die verschiedenen Speichereinheiten oder Halbleiterdatenträger innerhalb der Halbleiterdatenträgeranordnung 3 aufgrund einer unterschiedlichen Bauweise oder vorherigen Nutzung verschiedene Lebensdauermerkmale aufweisen.
  • Bei einer möglichen Ausführungsform wird das Verfahren durchgeführt, wenn der Anteil nachlassender Funktionstüchtigkeit einer Speichereinheit oder eines Halbleiterdatenträgers SSD in erheblichem Maße über demjenigen der verbleibenden Einheiten bzw. Datenträger liegt. Dies kann beispielsweise durch eine Mischung von Speichereinheiten oder Halbleiterdatenträger SSD mit unterschiedlichen Lebensdauermerkmalen in ein und derselben Anordnung 3 verursacht werden. In diesem Fall wird ein Teil der Paritätssektoren auf einer älteren Speichereinheit mit nachlassender Funktionsfähigkeit auf die verbleibenden Speichereinheiten oder Halbleiterdatenträger verlagert, um ein übermäßiges Nachlassen ihrer Funktionsfähigkeit zu vermeiden.
  • Bei einer möglichen Ausführungsform wird in der Speicherteilsystem-Steuereinheit 2 ein Zähler für jede Speichereinheit 3-i der Halbleiterdatenträgeranordnung 3 bereitgestellt, um die Gesamtzahl der Löschvorgänge oder -zyklen, die mit der betreffenden Speichereinheit 3-i durchgeführt werden, zu messen und zu überwachen. Wenn eine Speichereinheit 3-i der Anordnung 3 ausfällt, wird ihr Dateninhalt in einer Ersatzspeichereinheit oder auf einem Ersatzhalbleiterdatenträger SSD wiederhergestellt, und der entsprechende Zähler wird auf null zurückgesetzt. Paritätsentitäten, die auf den verbleibenden Speichereinheiten der Halbleiterdatenträgeranordnung 3 gespeichert sind, werden daraufhin vorzugsweise auf die neu installierte Ersatzspeichereinheit verlagert, indem Datenentitäten DE, die auf der neu installierten Ersatzspeichereinheit wiederhergestellt sind, gegen Paritätsentitäten PE, die auf den verbleibenden Speichereinheiten vorhanden sind, ausgetauscht werden. Die Anzahl an Paritätsentitäten, die von den verbleibenden Speichereinheiten auf die mindestens eine neu installierte Ersatzspeichereinheit verlagert werden, kann von der Anzahl an Paritätsentitäten PE abhängen, die sich auf der neu installierten Ersatzspeichereinheit befinden, sowie von den relativen Alterszählwerten aller Speichereinheiten, die durch das Verhältnis des Alterszählwerts ACV zum entsprechenden Lebensdauer-Erwartungswert ELTV ausgedrückt werden, welcher in einer möglichen Ausführungsform über die Schnittstelleneinheit 2D von einem Benutzer auf der Grundlage der Informationen, die von der Datenspezifikation, welche vom Hersteller der Speichereinheit bereitgestellt wird, konfiguriert werden kann.
  • Je höher das Verhältnis des Alterszählwerts ACV zum entsprechenden Lebensdauer-Erwartungswert ELTV ist, d. h., je älter die betreffende Speichereinheit ist, desto größer ist die Anzahl an Paritätsentitäten PE, die von dieser Einheit auf die neu installierte Ersatzspeichereinheit verlagert werden. Bei einer möglichen Ausführungsform kann es auch eine Obergrenze für die Menge oder Anzahl an verlagerten Paritätssektoren oder Paritätsentitäten PE geben. In diesem Fall kann es geschehen, dass mehr oder alle Paritätssektoren oder Paritätsentitäten PE nach der Verlagerung auf der neu installierten Ersatzspeichereinheit untergebracht werden. Dies hat den Vorteil, dass ein Leistungsengpass vermieden werden kann.
  • Bei einer möglichen Ausführungsform wird die Verlagerung von Paritätssektoren oder Paritätsentitäten PE nicht nur durchgeführt, wenn eine Speichereinheit oder ein Halbleiterdatenträger SSD der Halbleiterdatenträgeranordnung 3 ausfällt und eine neu installierte Speichereinheit verwendet wird, sondern auch dann, wenn zu einem bestimmten Zeitpunkt das Alter, d. h. das Verhältnis des Alterszählwerts ACV zum entsprechenden Lebensdauer-Erwartungswert ELTV der betreffenden Speichereinheit, das Alter der nächsten Speichereinheit in der Folge um einen anpassbaren Schwellenwert übersteigt. In diesem Fall wird ein Teil des Paritätssektors, der auf dieser ältesten Speichereinheit gespeichert ist, gemäß dem relativen Alter, das aus den entsprechenden Alterszählern erhalten wird, auf die verbleibenden Speichereinheiten oder Halbleiterdatenträger SSD verlagert.
  • 4 zeigt ein Schaubild zur Veranschaulichung des Verfahrens zum Ausgleich nachlassender Funktionsfähigkeit gemäß der vorliegenden Erfindung. Ein Computer oder Nutzer eines Servers 5 kann gemäß der vorliegenden Erfindung ein Datenspeichersystem 1 mit Datenentitäten DE oder Datenblöcken A, B, C, D, E, F, G, H wie in 4 gezeigt zur Verfügung stellen. Die Speicherteilsystem-Steuereinheit 2, die z. B. über einen Mikroprozessor 2A verfügt, verteilt diese Datenblöcke auf physische Speichereinheiten 3-i oder Halbleiterdatenträger SSD innerhalb der Halbleiterdatenträgeranordnung 3, wie in 4 gezeigt. Vom Server 5 aus gesehen, gibt es eine virtuelle Speichereinheit, die alle Datenblöcke oder Datenentitäten A–H beinhaltet, wie in 4 gezeigt. Im gegebenen Beispiel wird eine Paritätsentität PE für eine Gruppe von vier Datenentitäten wie beispielsweise die Datenblöcke A, B, C, D oder die Datenblöcke E, F, G, H berechnet, indem eine bitweise Exklusiv-ODER-Verknüpfung oder eine Galois-Feldverknüpfung für die Datenentitäten der erwarteten Gruppe von Datenentitäten DE durchgeführt wird; zudem werden die berechneten Paritätsentitäten PEABCD und PEEFGH auf verschiedene Halbleiterdatenträger SSD der Halbleiterdatenträgeranordnung 3 verteilt, wie in 4 gezeigt. Wenn ein Halbleiterdatenträger SSD der Halbleiterdatenträgeranordnung 3 ausfällt, wie z. B. der Halbleiterdatenträger 3-i mit den Datenblöcken A, E, werden die verloren gegangenen Daten anhand der verbleibenden Datenblöcke oder Datenentitäten der Datenblockgruppe und der berechneten Paritätsentität PE der betreffenden Gruppe wiederhergestellt. Um beispielsweise den Datenblock A wiederherzustellen, werden die Datenblöcke B, C, D, die auf den anderen Halbleiterdatenträgern SSD gespeichert sind, und die berechnete Paritätsentität PEABCD, die auf einem weiteren Halbleiterdatenträger SSD gespeichert ist, zur Wiederherstellung des verloren gegangenen Datenblocks A verwendet. Auf ebendiese Art und Weise wird der Datenblock E wiederhergestellt, indem die Datenblöcke F, G, H und die Paritätsentität PEEFGH verwendet werden. Bei der vorliegenden Ausführungsform werden nach der Wiederherstellung der Datenentitäten A, E in Schritt S3 Paritätsentitäten wie PEABCD und PEEFGH auf die neu installierte Speichereinheit verlagert, auf der die wiederhergestellten Daten A, E gespeichert sind, indem manche oder alle der wiederhergestellten Datenentitäten A, E gegen manche oder alle der Paritätsentitäten PEABCD, PEEFGH, die auf den anderen Halbleiterdatenträgern SSD der Festkörperlaufwerksanordnung 3 gespeichert sind, ausgetauscht werden. Bei dem Verfahren gemäß der vorliegenden Erfindung kann z. B. die Paritätsentität PEABCD des fünften Festkörperlaufwerks 3-5 gegen den wiederhergestellten Datenblock A ausgetauscht werden, der auf dem ersten Halbleiterdatenträger 3-1 gespeichert ist. Entsprechend wird in diesem Beispiel die häufig aktualisierte Paritätsentität PEABCD auf der wenig benutzten, neu eingesetzten Speichereinheit 3-1 untergebracht, um die ältere, verbleibende Speichereinheit 3-5 zu entlasten, ihren Anteil an nachlassender Funktionsfähigkeit zu verringern und damit die Zuverlässigkeit des gesamten Datenspeichersystems 1 zu verbessern und dessen Lebensdauer zu erhöhen.
  • Das Verfahren gemäß der vorliegenden Erfindung kann für eine beliebige Art von Datenspeichersystem mit Speichereinheiten verwendet werden, bei denen ein Nachlassen der Funktionsfähigkeit auftreten kann. Die Größe oder Kapazität der betreffenden Speichereinheiten 3-i kann variieren. Weiterhin ist es möglich, dass verschiedene Speichereinheiten mit unterschiedlicher Bauweise und Lebenserwartung in ein und derselben Halbleiterdatenträgeranordnung 3 des Datenspeichersystems 1 gemäß der vorliegenden Erfindung verwendet werden.
  • Bei einer möglichen Ausführungsform können die Lebensdauer-Erwartungswerte über eine Schnittstelle konfiguriert werden.
  • Bei einer möglichen Ausführungsform kann die Speicherteilsystem-Steuereinheit 2 diesen konfigurierten Lebensdauer-Erwartungswert direkt von einer reservierten Speicherstelle der betreffenden Speichereinheit oder des betreffenden Halbleiterdatenträgers SSD lesen.
  • Bei einer möglichen Ausführungsform kann das Alter, d. h. das Verhältnis des Alterszählwerts ACV zum Lebensdauer-Erwartungswert ELTV, einem Benutzer oder Bediener z. B. auf einer Anzeige angegeben werden, um so das Nachlassen der Funktionsfähigkeit der verschiedenen Speichereinheiten 3-i in dem Datenspeichersystem 1 anzuzeigen.
  • Bei einer möglichen Ausführungsform wird die Durchführung des Verfahrens gemäß der vorliegenden Erfindung ausgelöst, wenn eine ausgefallene Speichereinheit 3-i durch eine Ersatzspeichereinheit ersetzt wird.
  • Bei einer alternativen Ausführungsform wird die Durchführung des Verfahrens gemäß der vorliegenden Erfindung ausgelöst, wenn das relative Alter einer Speichereinheit 3-i das Alter anderer Speichereinheiten 3-i innerhalb des Datenspeichersystems 1 deutlich übersteigt.
  • Bei einer weiteren Ausführungsform wird das Verfahren gemäß der vorliegenden Erfindung durch eine Eingabe eines Bedieners oder Benutzers ausgelöst, wenn das angezeigte Verhältnis zwischen dem Alterszählwert ACV und dem Lebensdauer-Erwartungswert ELTV zeigt, dass eine Speichereinheit 3-i ein Alter hat, das deutlich über dem Alter anderer Speichereinheiten 3-i in demselben Datenspeichersystem 1 liegt.
  • Bei möglichen Ausführungsformen können andere Ereignisse die Durchführung des Verfahrens auslösten, z. B. das Hinzufügen einer Speichereinheit oder eines Halbleiterdatenträgers, das Starten einer Operation für die Anordnung 3 oder das Starten und Hochfahren des Systems sowie das Verbinden einer Einheit oder eines Computers mit dem Datenspeichersystem 1.
  • Die Verlagerung der Paritätsentitäten PE kann während des Systembetriebs durchgeführt werden, z. B. während Leerlaufzeiten. Bei einer möglichen Ausführungsform kann der Ersatz von ausgefallenen Speichereinheiten auch während des Betriebs des Datenspeichersystems 1 erfolgen. Das Verfahren und System gemäß der vorliegenden Erfindung erhöht deutlich die erwartete Lebens- bzw. Betriebsdauer der verwendeten Speichereinheiten oder Halbleiterdatenträger SSD, indem es das Nachlassen der Funktionsfähigkeit der betreffenden Speichereinheiten ausgleicht. Dementsprechend wird die Zuverlässigkeit des gesamten Datenspeichersystems 1 erhöht.
  • Die Erfindung stellt ferner ein Verfahren für das Betreiben von Speichereinheiten oder Halbleiterdatenträger SSD eines durch RAID geschützten Datenspeichersystems 1 bereit, welches das Verlagern häufig aktualisierter Paritätseinheiten von einer ersten Speichereinheit 3-i mit einem hohen Verhältnis von Schreibvorgängen zu einem Lebensdauer-Erwartungswert auf eine zweite Speichereinheit 3-j mit einem niedrigen Verhältnis von Schreibvorgängen zu einem Lebensdauer-Erwartungswert umfasst.
  • Bei einer möglichen Ausführungsform wird die zweite Speichereinheit 3-j von einer neu installierten Ersatzspeichereinheit gebildet.
  • Das Verfahren zum Ausgleich nachlassender Funktionsfähigkeit gemäß der vorliegenden Erfindung kann eingeleitet werden, wenn ein Ereignis auftritt. Dieses Ereignis kann umfassen, dass das Verhältnis von Schreibvorgängen zum Lebensdauer-Erwartungswert der ersten Speichereinheit 3-i einen vorgegebenen Schwellenwert übersteigt. Bei einer möglichen Ausführungsform kann ein Auslöse-Ereignis darin bestehen, dass eine Speichereinheit innerhalb einer Speichereinheitenanordnung ersetzt oder hinzugefügt wird. Bei einer weiteren möglichen Ausführungsform entsteht das Ereignis durch den Empfang eines Befehls zum Starten des Ausgleichs nachlassender Funktionsfähigkeit. Bei einer weiteren möglichen Ausführungsform besteht das Ereignis darin, dass das Datenspeichersystem gestartet wird oder eine oder mehrere Speichereinheiten mit dem Datenspeichersystem verbunden werden.

Claims (11)

  1. Verfahren für das Betreiben von Speichereinheiten eines Datenspeichersystems (1), wobei Daten, die auf dem Datenspeichersystem gespeichert werden sollen, in Gruppen von Datenentitäten (DE) und einer Paritätsentität (PE) aufgeteilt werden und wobei Datenentitäten (DE), die zur selben Gruppe gehören, auf verschiedenen Speichereinheiten des Datenspeichersystems (1) gespeichert werden; wobei eine Paritätsentität (PE) für jede Gruppe von Datenentitäten (DE) berechnet wird und auf einer anderen Speichereinheit als den Speichereinheiten gespeichert wird, auf denen die Datenentitäten (DE) derselben Gruppe gespeichert sind; das Folgendes umfasst: – in Reaktion auf das automatische Erkennen eines Ausfalls einer Speichereinheit durch eine Prüfschaltung eine automatische Aktivierung eines Ersatzes der ausgefallenen Speichereinheit durch eine Ersatzspeichereinheit innerhalb des Dateispeichersystems, – Austauschen einer Datenentität, die zuvor in der ausgefallenen Speichereinheit gespeichert war, und aus den verbleibenden Datenentitäten und der Paritätsentität in der betreffenden Gruppe wiederhergestellt wurde, gegen eine auf einer ersten Speichereinheit des Datenspeichersystems gespeicherten Paritätsentität und – Speichern der ausgetauschten Paritätsentität auf der Ersatzspeichereinheit.
  2. Verfahren nach Anspruch 1, wobei die Verlagerung (S4) der einen oder mehreren Paritätsentitäten (PE) auf die Ersatzspeichereinheit durchgeführt wird, wenn mindestens ein vorgegebenes Verlagerungskriterium erfüllt ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Verlagerungskriterium ein relatives Alter von einer oder mehreren der Speichereinheiten des Datenspeichersystems (1) berücksichtigt, wobei das relative Alter einer Speichereinheit als ein Verhältnis zwischen einem Alterszählwert (ACV), der bei jedem Schreibvorgang auf die betreffende Speichereinheit erhöht wird, und einem Lebensdauer-Erwartungswert (ELTV) der Speichereinheit berechnet wird.
  4. Verfahren nach einem beliebigen der vorangegangenen Ansprüche, wobei die eine oder mehreren Datenentitäten (DE) auf der ausgefallenen Speichereinheit (1) auf der Grundlage der verbleibenden Datenentitäten (DE) der betreffenden Gruppe von Datenentitäten (DE) und der entsprechenden berechneten Paritätsentität (PE) derselben Gruppe wiederhergestellt werden.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Paritätsentität PE (für) eine Gruppe von Datenentitäten (DE) berechnet wird, indem eine bitweise Exklusiv-ODER-Verknüpfung für die Datenentitäten (DE) der Gruppe von Datenentitäten durchgeführt wird.
  6. Verfahren nach einem der Ansprüche 1 bis 3, wobei die Paritätsentität (PE) für eine Gruppe von Datenentitäten (DE) berechnet wird, indem Galois-Feldverknüpfungen auf die Datenentitäten (DE) der Gruppe von Datenentitäten angewendet werden.
  7. Verfahren nach einem beliebigen der vorangegangenen Ansprüche, wobei die eine oder mehreren Paritätsentitäten (PE) der ersten Speichereinheit auf die Ersatzspeichereinheit verlagert werden, indem sie gegen eine oder mehrere der wiederhergestellten Datenentitäten (DE), die auf der Ersatzspeichereinheit gespeichert sind, ausgetauscht werden.
  8. Verfahren nach einem beliebigen der Ansprüche 1 bis 6, wobei nach der Wiederherstellung die einen oder mehreren wiederhergestellten Datenentitäten (DE) direkt auf der ersten Speichereinheit gespeichert werden.
  9. Datenspeichersystem (1), das Folgendes umfasst: (a) Speichereinheiten für das Speichern von Daten; und (b) eine Speicherteilsystem-Steuereinheit (2), die so ausgelegt ist, dass die Speichereinheiten betrieben werden, indem die Schritte des Verfahren für das Betreiben von Speichereinheiten eines Datenspeichersystems (1) nach einem der Ansprüche 1 bis 8 durchgeführt werden.
  10. Datenspeichersystem nach Anspruch 9, wobei die Speichereinheiten Halbleiterdatenträger (3-i) umfassen.
  11. Datenspeichersystem nach Anspruch 9 oder 10, wobei die Speichereinheiten Flash-Speicherchips und/oder Phasenwechselspeicherchips umfassen.
DE112010003345.5T 2009-08-21 2010-08-05 Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems Active DE112010003345B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09168424 2009-08-21
EP09168424.1 2009-08-21
PCT/IB2010/053544 WO2011021126A1 (en) 2009-08-21 2010-08-05 Data storage system and method for operating a data storage system

Publications (2)

Publication Number Publication Date
DE112010003345T5 DE112010003345T5 (de) 2012-08-09
DE112010003345B4 true DE112010003345B4 (de) 2017-07-27

Family

ID=42813505

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010003345.5T Active DE112010003345B4 (de) 2009-08-21 2010-08-05 Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems

Country Status (5)

Country Link
US (1) US8977894B2 (de)
CN (1) CN102483686B (de)
DE (1) DE112010003345B4 (de)
GB (1) GB2484846A (de)
WO (1) WO2011021126A1 (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9177609B2 (en) 2011-06-30 2015-11-03 Sandisk Technologies Inc. Smart bridge for memory core
US9208070B2 (en) 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US20140172325A1 (en) * 2012-12-14 2014-06-19 Virtium Technology, Inc. Life monitoring in solid-state drive
US20140181437A1 (en) * 2012-12-26 2014-06-26 Unisys Corporation Equalizing wear on mirrored storage devices through file system controls
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9317367B2 (en) * 2013-08-01 2016-04-19 Globalfoundries Inc. Re-distributing high usage data in a raid solid state drive array
US9229640B2 (en) 2013-11-15 2016-01-05 Microsoft Technology Licensing, Llc Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table
US10067829B2 (en) 2013-12-13 2018-09-04 Intel Corporation Managing redundancy information in a non-volatile memory
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
CN104281499B (zh) * 2014-10-28 2017-10-13 苏州工业职业技术学院 基于奇偶校验的raid条带镜像数据分布方法
WO2016071743A1 (en) * 2014-11-07 2016-05-12 Elliptic Technologies Inc. Integrity protection for data storage
US10275310B2 (en) 2015-03-09 2019-04-30 Western Digital Technologies, Inc. Updating exclusive-or parity data
US10445232B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Determining control states for address mapping in non-volatile memories
US10452560B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US10445251B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US9921969B2 (en) 2015-07-14 2018-03-20 Western Digital Technologies, Inc. Generation of random address mapping in non-volatile memories using local and global interleaving
US10452533B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Access network for address mapping in non-volatile memories
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
JP6554990B2 (ja) * 2015-08-11 2019-08-07 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
CN107025066A (zh) 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
CN106649104A (zh) * 2016-12-02 2017-05-10 中国工商银行股份有限公司 一种基于主机系统交易重放的测试系统及方法
US10740181B2 (en) * 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US11360885B2 (en) * 2019-07-15 2022-06-14 Micron Technology, Inc. Wear leveling based on sub-group write counts in a memory sub-system
CN112230845A (zh) 2019-07-15 2021-01-15 美光科技公司 存储器子系统中基于子组写计数的损耗均衡
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory
US11334434B2 (en) * 2020-02-19 2022-05-17 Seagate Technology Llc Multi-level erasure system with cooperative optimization
CN113094307B (zh) * 2021-04-06 2023-12-05 深圳宏芯宇电子股份有限公司 映射信息管理方法、存储器存储装置及存储器控制器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1840722A2 (de) * 2006-03-29 2007-10-03 Hitachi, Ltd. Flash-Speicher verwendendes Speichersystem, abnutzungsausgleichendes Verfahren für dieses System und abnutzungsausgleichendes Programm für dieses System
US20080250270A1 (en) * 2007-03-29 2008-10-09 Bennett Jon C R Memory management system and method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199129A1 (en) * 2001-06-21 2002-12-26 International Business Machines Corp. Data storage on a computer disk array
US7308599B2 (en) * 2003-06-09 2007-12-11 Hewlett-Packard Development Company, L.P. Method and apparatus for data reconstruction after failure of a storage device in a storage array
JP2005100259A (ja) * 2003-09-26 2005-04-14 Hitachi Ltd ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法
US7484137B2 (en) * 2005-03-31 2009-01-27 Hitachi Global Storage Technologies Netherlands B.V. RAID system using regional error statistics for redundancy grouping
JP4932427B2 (ja) * 2006-10-20 2012-05-16 株式会社日立製作所 記憶装置及び記憶方法
US7477522B2 (en) 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
JP4912174B2 (ja) * 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
JP5124217B2 (ja) * 2007-09-18 2013-01-23 株式会社日立製作所 ストレージ装置
JP4499776B2 (ja) * 2007-10-31 2010-07-07 富士通株式会社 ストレージ制御装置、方法、及びプログラム
US20090172335A1 (en) 2007-12-31 2009-07-02 Anand Krishnamurthi Kulkarni Flash devices with raid
CN101281481B (zh) 2008-05-23 2010-06-16 北京时代民芯科技有限公司 一种存储器抗单粒子翻转的纠错检错方法
US8055835B2 (en) * 2008-06-23 2011-11-08 International Business Machines Corporation Apparatus, system, and method for migrating wear spots
JP5192352B2 (ja) * 2008-10-30 2013-05-08 株式会社日立製作所 記憶装置及びデータ格納領域管理方法
CN101436149B (zh) 2008-12-19 2010-06-30 华中科技大学 磁盘阵列数据重建方法
US8689040B2 (en) * 2010-10-01 2014-04-01 Lsi Corporation Method and system for data reconstruction after drive failures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1840722A2 (de) * 2006-03-29 2007-10-03 Hitachi, Ltd. Flash-Speicher verwendendes Speichersystem, abnutzungsausgleichendes Verfahren für dieses System und abnutzungsausgleichendes Programm für dieses System
US20080250270A1 (en) * 2007-03-29 2008-10-09 Bennett Jon C R Memory management system and method

Also Published As

Publication number Publication date
CN102483686A (zh) 2012-05-30
GB2484846A (en) 2012-04-25
WO2011021126A1 (en) 2011-02-24
DE112010003345T5 (de) 2012-08-09
US8977894B2 (en) 2015-03-10
CN102483686B (zh) 2015-03-25
US20120131381A1 (en) 2012-05-24
GB201200228D0 (en) 2012-02-22

Similar Documents

Publication Publication Date Title
DE112010003345B4 (de) Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems
DE112016005869T5 (de) Vorausschauende Arbeitsspeicherinstandhaltung
DE112010003887B4 (de) Datenverwaltung in Halbleiter-Speichereinheiten
JP6294518B2 (ja) 不揮発性メモリシステムにおける同期ミラーリング
DE202008018573U1 (de) Speichersystem
DE112012000385B4 (de) Korrigieren von Auslöschungen in Speicher-Arrays
DE112010003645B4 (de) Festkörper-Speichersystem mit Parallelem Zugriff aus Mehreren Flash/PCM-Einrichtungen
US9286002B1 (en) Dynamic restriping in nonvolatile memory systems
US8601311B2 (en) System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory
DE60304194T2 (de) Verfahren und vorrichtung zur tolerierung von mehreren abhängigen oder zwei beliebigen fehlern in einer speicherplattenanordnung
US8484522B2 (en) Apparatus, system, and method for bad block remapping
DE69434381T2 (de) Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
DE112019000149T5 (de) Multivorrichtungsspeichersystem mit gehosteten diensten auf peer-speichervorrichtungen
US9606866B2 (en) Method of, and apparatus for, improved data recovery in a storage system
DE112014005570T5 (de) Deaktivieren von Seiten in einem Nand-Flash-Speicher-System
DE102006016499B4 (de) Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
DE112019005408B4 (de) Masterloses raid für byte-adressierbaren nichtflüchtigen speicher
US10324782B1 (en) Hiccup management in a storage array
DE102016108733A1 (de) Steuern einer redundanten Anordnung von unabhängigen Festplatten (RAID), welche ein Nur-Lese-Flash-Datenspeichergerät einschließt
DE112020006443T5 (de) Storage class memory
DE112013001108T5 (de) Schreiben von neuen Daten einer ersten Blockgrösse in eine zweite Blockgrösse, wobei ein Write-Write-Modus verwendet wird
DE102021127814A1 (de) Ablagespeichersteuerung, operationsverfahren dafür
DE112019001968B4 (de) Gemeinsame korrekturlogik für hohe und niedrige zufalls-bitfehlerraten
DE102004003352A1 (de) Systeme und Verfahren zum Puffern von Daten zwischen einer Übereinstimmungscachesteuerung und einem Speicher
DE112020003062T5 (de) Dynamische anpassung einer logischen speicherkapazität für speicherlaufwerke

Legal Events

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

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, A, US

Free format text: FORMER OWNER: IBM CORP., ARMONK, N.Y., US

Effective date: 20120704

Owner name: INTERNATIONAL BUSINESS MACHINES CORP., US

Free format text: FORMER OWNER: IBM CORP., ARMONK, US

Effective date: 20120704

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE GBR, DE

Effective date: 20120704

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Effective date: 20120704

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Effective date: 20120704

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0003060000

Ipc: G06F0012080000

Effective date: 20120712

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final