DE112010003345B4 - Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems - Google Patents
Datenspeichersystem und Verfahren für das Betreiben eines Datenspeichersystems Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Abstract
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 - 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 Datenspeichersystem1 gemäß einer Ausführungsform der vorliegenden Erfindung eine Speicherteilsystem-Steuereinheit2 für das Steuern von mindestens einer Halbleiterdatenträgeranordnung3 . Die Halbleiterdatenträgeranordnung3 umfasst mehrere Speichereinheiten oder Halbleiterdatenträger3-i SSD. Diese Speichereinheiten3-i SSD können Flash-basierte Halbleiterdatenträger oder Flash-basierte Module für das Speichern von Benutzerdaten sein. Die Speichereinheiten der Halbleiterdatenträgeranordnung3 können Flash-Speicherchips und/oder Phasenwechselspeicherchips umfassen. Die Speicherteilsystem-Steuereinheit2 ist mit der Halbleiterdatenträgeranordnung3 über eine Steuer- oder Datenbusschnittstelle4 verbunden, wie in1 dargestellt. Bei einer möglichen Ausführungsform sind die Speicherteilsystem-Steuereinheit2 und die Halbleiterdatenträgeranordnung3 in die Datenspeichersystemeinheit integriert. Bei einer alternativen Ausführungsform können die Speicherteilsystem-Steuereinheit2 und die Halbleiterdatenträgeranordnung3 getrennte Einheiten bilden. Bei einer möglichen Ausführungsform bildet die Speicherteilsystem-Steuereinheit2 einen Teil eines Computers oder Servers, der mit einer Halbleiterdatenträgeranordnung3 verbunden ist. -
2 zeigt die Speicherteilsystem-Steuereinheit2 aus1 ausführlicher. In der gezeigten Ausführungsform umfasst die Speicherteilsystem-Steuereinheit2 einen Mikroprozessor2A mit Zugriff auf einen Cachespeicher2B sowie einen nichtflüchtigen Speicher2C . Des Weiteren wird eine Schnittstelleneinheit2D für das Austauschen von Daten mit der Datenstation oder dem Server5 bereitgestellt. Bei der in2 gezeigten Ausführungsform kann der Mikroprozessor2A ein Programm ausführen, das aus dem nichtflüchtigen Speicher2C geladen wird, in dem mindestens ein Computerprogramm mit Befehlen gespeichert ist, um ein Verfahren gemäß der vorliegenden Erfindung durchzuführen. Der Cachespeicher2B wird bereitgestellt, um Daten vorübergehend zu speichern, die von der Schnittstelleneinheit2D 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ägeranordnung3 verbunden ist. - Die in
2 gezeigte Speicherteilsystem-Steuereinheit2 ist so gestaltet, dass es einen Ausgleich nachlassender Funktionsfähigkeit der Speichereinheiten oder Halbleiterdatenträger innerhalb der Halbleiterdatenträgeranordnung3 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ägereinheit3 gespeichert sind, ausgetauscht werden. Der Ersatzspeicher ersetzt eine ausgefallene Speichereinheit der Halbleiterdatenträgeranordnung3 . Bei einer anderen Ausführungsform ist der Ersatzspeicher ein zusätzlicher Speicher, der in der Halbleiterdatenträgeranordnung3 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 Datenspeichersystems1 sein, die von der Speicherteilsystem-Steuereinheit2 ü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 Datenspeichersystem1 genutzte Speicherteilsystem-Steuereinheit2 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 Server5 empfangen werden, auf mehrere Speichereinheiten oder Halbleiterdatenträger3-i der Halbleiterdatenträgeranordnung3 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ägeranordnung3 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ägeranordnung3 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ägeranordnung3 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 Speichereinheit3-i der Halbleiterdatenträgeranordnung3 bereitgestellt, um die Gesamtzahl der Löschvorgänge oder -zyklen, die mit der betreffenden Speichereinheit3-i durchgeführt werden, zu messen und zu überwachen. Wenn eine Speichereinheit3-i der Anordnung3 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ägeranordnung3 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 Schnittstelleneinheit2D 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 Servers5 kann gemäß der vorliegenden Erfindung ein Datenspeichersystem1 mit Datenentitäten DE oder Datenblöcken A, B, C, D, E, F, G, H wie in4 gezeigt zur Verfügung stellen. Die Speicherteilsystem-Steuereinheit2 , die z. B. über einen Mikroprozessor2A verfügt, verteilt diese Datenblöcke auf physische Speichereinheiten3-i oder Halbleiterdatenträger SSD innerhalb der Halbleiterdatenträgeranordnung3 , wie in4 gezeigt. Vom Server5 aus gesehen, gibt es eine virtuelle Speichereinheit, die alle Datenblöcke oder Datenentitäten A–H beinhaltet, wie in4 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ägeranordnung3 verteilt, wie in4 gezeigt. Wenn ein Halbleiterdatenträger SSD der Halbleiterdatenträgeranordnung3 ausfällt, wie z. B. der Halbleiterdatenträger3-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örperlaufwerksanordnung3 gespeichert sind, ausgetauscht werden. Bei dem Verfahren gemäß der vorliegenden Erfindung kann z. B. die Paritätsentität PEABCD des fünften Festkörperlaufwerks3-5 gegen den wiederhergestellten Datenblock A ausgetauscht werden, der auf dem ersten Halbleiterdatenträger3-1 gespeichert ist. Entsprechend wird in diesem Beispiel die häufig aktualisierte Paritätsentität PEABCD auf der wenig benutzten, neu eingesetzten Speichereinheit3-1 untergebracht, um die ältere, verbleibende Speichereinheit3-5 zu entlasten, ihren Anteil an nachlassender Funktionsfähigkeit zu verringern und damit die Zuverlässigkeit des gesamten Datenspeichersystems1 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ägeranordnung3 des Datenspeichersystems1 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 Datenspeichersystem1 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 Speichereinheiten3-i innerhalb des Datenspeichersystems1 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 Speichereinheiten3-i in demselben Datenspeichersystem1 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 Datenspeichersystem1 . - 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 Datenspeichersystems1 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 Speichereinheit3-i mit einem hohen Verhältnis von Schreibvorgängen zu einem Lebensdauer-Erwartungswert auf eine zweite Speichereinheit3-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)
- 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. - 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.
- 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. - 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. - 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.
- 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.
- 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.
- 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.
- 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. - Datenspeichersystem nach Anspruch 9, wobei die Speichereinheiten Halbleiterdatenträger (
3-i ) umfassen. - Datenspeichersystem nach Anspruch 9 oder 10, wobei die Speichereinheiten Flash-Speicherchips und/oder Phasenwechselspeicherchips umfassen.
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)
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)
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)
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 |
-
2010
- 2010-08-05 WO PCT/IB2010/053544 patent/WO2011021126A1/en active Application Filing
- 2010-08-05 GB GB1200228.3A patent/GB2484846A/en not_active Withdrawn
- 2010-08-05 US US13/387,740 patent/US8977894B2/en active Active
- 2010-08-05 DE DE112010003345.5T patent/DE112010003345B4/de active Active
- 2010-08-05 CN CN201080036993.8A patent/CN102483686B/zh active Active
Patent Citations (2)
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 |