DE69532030T2 - Speicherplattenanordnung mit Ersatzbetriebsmitteln in Betrieb und Verfahren zur Verwendung von Ersatzbetriebsmitteln zum Speichern von Benutzerdaten - Google Patents

Speicherplattenanordnung mit Ersatzbetriebsmitteln in Betrieb und Verfahren zur Verwendung von Ersatzbetriebsmitteln zum Speichern von Benutzerdaten Download PDF

Info

Publication number
DE69532030T2
DE69532030T2 DE69532030T DE69532030T DE69532030T2 DE 69532030 T2 DE69532030 T2 DE 69532030T2 DE 69532030 T DE69532030 T DE 69532030T DE 69532030 T DE69532030 T DE 69532030T DE 69532030 T2 DE69532030 T2 DE 69532030T2
Authority
DE
Germany
Prior art keywords
disk
storage
raid
data
space
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.)
Expired - Lifetime
Application number
DE69532030T
Other languages
English (en)
Other versions
DE69532030D1 (de
Inventor
Marvin D. Boise Nelson
Theresa A. Meridian Burkes
Bryan M. Boise Diamond
Michael B. Boise Jacobson
Wade A. Boise Dolphin
Douglas L. Boise Voigt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE69532030D1 publication Critical patent/DE69532030D1/de
Publication of DE69532030T2 publication Critical patent/DE69532030T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf Plattenarrays und insbesondere auf redundante hierarchische Plattenarraydatenspeichersysteme, die Heiße-Reserve-Ressourcen aufweisen, um einen ausreichenden Platz zur Rekonstruktion von Benutzerdaten und redundanten Informationen für den Fall, daß eine Speicherplatte ausfällt, zu liefern. Diese Erfindung bezieht sich ferner auf Verfahren zum Verwenden der Heiße-Reserve-Ressourcen, um Benutzerdaten zu speichern, bis derartige Ressourcen benötigt werden, um ein Wiederaufbauen zu erleichtern.
  • Hintergrund der Erfindung
  • Plattenarraydatenspeichersysteme weisen Mehrfach-Speicherplattenlaufwerksvorrichtungen auf, die angeordnet und koordiniert sind, um ein einziges Massenspeichersystem zu bilden. Für derartige Speichersysteme gibt es drei Hauptentwurfskriterien: Kosten, Leistungsfähigkeit und Verfügbarkeit. Am wünschenswertesten ist es, Speichervorrichtungen zu erzeugen, die geringe Kosten pro Megabyte, eine hohe Eingangs-/Ausgangsleistungsfähigkeit und eine hohe Datenverfügbarkeit aufweisen. "Verfügbarkeit" ist die Fähigkeit, auf Daten, die in dem Speichersystem gespeichert sind, zuzugreifen, und die Fähigkeit, im Fall eines Ausfalls einen fortgesetzten Betrieb zu gewährleisten. In der Regel wird eine Datenverfügbarkeit durch die Verwendung einer Redundanz geliefert, wobei Daten, oder Beziehungen zwischen Daten, an mehreren Plätzen gespeichert sind. Für den Fall, daß eine Speicherplatte in dem Plattearray teilweise oder vollständig ausfällt, können die Benutzerdaten über die auf den verbleibenden Platten gespeicherten redundanten Daten rekonstruiert werden.
  • Es gibt zwei übliche Verfahren zum Speichern von redundanten Daten. Gemäß dem ersten bzw. "Spiegel"-Verfahren werden Daten dupliziert und in zwei getrennten Bereichen des Speichersystems gespeichert. Bei einem Plattenarray werden die identischen Daten beispielsweise auf zwei getrennten Platten in dem Plattenarray bereitgestellt. Das Spiegelverfahren weist die Vorteile einer hohen Leistungsfähigkeit und einer hohen Datenverfügbarkeit aufgrund der Duplexspeichertechnik auf. Das Spiegelverfahren ist jedoch auch relativ teuer, da es die Kosten des Speicherns von Daten effektiv verdoppelt.
  • Bei dem zweiten bzw. "Paritäts"-Verfahren wird ein Teil des Speicherbereichs verwendet, um redundante Daten zu speichern, die Größe des redundanten Speicherbereichs ist jedoch geringer als der zum Speichern der ursprünglichen Daten verwendete verbleibende Speicherbereich. Bei einem Plattenarray, das fünf Platten aufweist, könnten beispielsweise vier Platten verwendet werden, um Daten zu speichern, wobei die fünfte Platte für das Speichern von redundanten Daten reserviert ist. Das Paritätsverfahren ist vorteilhaft, da es kostengünstiger ist als das Spiegelverfahren, im Vergleich zu dem Spiegelverfahren weist es jedoch auch geringere Leistungsfähigkeits- und Verfügbarkeitscharakteristika auf.
  • Abgesehen von der Datenredundanz verbessern manche Plattenarraydatenspeichersysteme die Datenverfügbarkeit, indem sie eine zusätzliche physische Speicherplatte reservieren, die eine ausgefallene Speicherplatte ersetzen kann. Diese zusätzliche Speicherplatte wird als "Reserve" bezeichnet. Die Reserveplatte wird verwendet, um nach dem Plattenausfall Benutzerdaten zu rekonstruieren und eine Redundanz in dem Plattenarray wiederherzustellen, ein Vorgang, der als "Wiederaufbauen" bekannt ist. In manchen Fällen ist die zusätzliche Speicherplatte sogar an dem Plattenarray befestigt und in demselben vollständig betreibbar, bleibt jedoch au ßer Betrieb, bis eine Speicherplatte ausfällt. Diese unter Strom stehenden Speicherplatten werden als "heiße Reserven" bezeichnet.
  • Während die Heiße-Reserve-Platte im Fall eines Plattenausfalls nützlich ist, liefert sie dem Plattenarray während eines normalen Betriebs, wenn alle Platten ordnungsgemäß funktionieren, keine Dienste. Ein Reservieren und Vormerken einer gesamten physischen Speicherplatte für Heiße-Reserve-Zwecke erhöht somit die Kosten des Systems, ohne den Vorteil aufzuweisen, daß die zusätzlichen Ressourcen für Datenspeicherfunktionen vollständig genutzt werden.
  • Es wäre vorteilhaft, Heiße-Reserve-Ressourcen bereitzustellen und gleichzeitig alle Speicherplatten des Plattenarrays vollständig zu nutzen.
  • Aus der EP-A-0569313 ist ein Plattenspeichersystem einer RAID-Ebene 5 bekannt, bei dem eine der Mehrzahl von Speicherplatten als zweckgebundene Schreibunterstützungsspeichereinheit zur Verbesserung der Schreibleistungsfähigkeit verwendet wird, wodurch die Schreibunterstützungsspeichereinheit gleichzeitig auch als Heiße-Reserve-Einheit im Fall eines Plattenausfalls fungiert.
  • Aus der EP-A-0493984 ist ein RAID-Plattenspeichersystem bekannt, bei dem eine Rückkopier-Cache-Speichereinheit vorgesehen ist, an die Schreibvorgänge zu Spitzenlastzeiten des Systems geleitet werden. Daten, die in die Rückkopier-Cache-Speichereinheit geschrieben werden, werden während Ruheperioden des Systems zu den normalen RAID-Plätzen kopiert. Ferner wird gelehrt, daß eine zweckgebundene Heiße-Reserve-Speichereinheit als die Rückkopier-Cache-Speichereinheit fungieren kann.
  • Zusammenfassung der Erfindung
  • Diese Erfindung, die in den beigefügten unabhängigen Ansprüchen ausführlich definiert ist, schafft ein Plattenarraydatenspeichersystem, das alle an dem Array befestigten Speicherplatten vollständig nutzt und trotzdem Heiße-Reserve-Ressourcen liefert. Statt eine ganze physische Platte als heiße Reserve zu reservieren und vorzumerken, reservieren das System und die Verfahren dieser Erfindung die logische Kapazität einer Heiße-Reserve-Platte, die aus einem verfügbaren Speicherraum, der über mehrere Speicherplatten in dem Array verteilt ist, besteht. Auf diese Weise werden alle Speicherplatten verwendet, um Benutzerdaten zu speichern, während gewährleistet wird, daß eine entsprechende Quantität an Platz zum Rekonstruieren von Benutzerdaten und Wiederherstellen einer Redundanz im Fall eines Plattenausfalls zur Verfügung gestellt werden kann:
  • Gemäß einem Aspekt dieser Erfindung weist ein Plattenarraydatenspeichersystem eine Mehrzahl von Speicherplatten und eine Plattenarraysteuerung zum Koordinieren eines Transfers von Benutzerdaten zu und von den Speicherplatten auf. Ein RRID-Verwaltungssystem ist vorgesehen, um einen virtuellen Speicherplatz der RAID-Ebene auf den physischen Speicherplatz der Speicherplatten abzubilden. Der virtuelle Speicherplatz der RAID-Ebene präsentiert den physischen Speicherplatz als mehrere RAID-Bereiche, die Spiegel-RAID-Bereiche umfassen, die Daten gemäß einer Spiegelredundanz speichern, und Paritäts-RAID-Bereiche, die Daten gemäß einer Paritätsredundanz speichern, umfassen. Das RAID-Verwaltungssystem bildet ferner den virtuellen Speicherplatz der RAID-Ebene in einen virtuellen Speicherplatz einer Anwendungsebene ab, der dem Benutzer präsentiert wird.
  • Wenn die Heiße-Reserve-Option aktiviert ist, verwendet das RAID-Verwaltungssystem den Heiße-Reserve-Platz, um Benutzerdaten in einem Spiegelspeicher zu speichern, während es ferner garantiert, daß der Heiße-Reserve-Platz im Anschluß an einen Speicherplattenausfall zum Wiederaufbauen einer Redundanz zur Verfügung gestellt werden kann. Platz wird zur Verfügung gestellt, indem Daten von einem Spiegelspeicher zu einem Paritätsspeicher bewegt werden. Diese Bewegung bzw. Migration erhöht gleichzeitig den Umfang an Paritätsspeicher, während sie den Umfang an Spiegelspeicher verringert. Gleichzeitig mit diesem Migrationsvorgang werden die Streifengrößen für eine Datenspeicherung aufgrund des von der ausgefallenen Speicherplatte verlorenen Platzes verringert.
  • Gemäß diesem System werden alle Speicherplatten in dem Array verwendet, um Benutzerdaten zu speichern, und zusätzlich, um einen Speicherplatz beizubehalten, der im Fall eines Plattenausfalls ohne weiteres zu Heiße-Reserve-Zwecken zur Verfügung gestellt werden kann. Diese Verwendung eines Heiße-Reserve-Speicherplatzes verbessert die Leistungsfähigkeit beträchtlich, indem sie die Parallelität erhöht und mehr Kapazität für einen Spiegelspeicher liefert.
  • Beschreibung der Zeichnungen
  • Unter Bezugnahme auf die folgenden beigefügten Zeichnungen, in denen Beispiele gezeigt sind, die den besten Modus zum Praktizieren der Erfindung verkörpern, werden nachfolgend bevorzugte Ausführungsbeispiele der Erfindung beschrieben.
  • 1 ist ein schematisches Blockdiagramm eines redundanten hierarchischen Plattenarraydatenspeichersystems gemäß dieser Erfindung.
  • 2 ist eine schematische Veranschaulichung eines Speicherplatzes auf mehreren Speicherplatten und zeigt eine Datenspeicherung gemäß einer RAID-Ebene 1.
  • 3 ist eine schematische Veranschaulichung eines Speicherplatzes auf mehreren Speicherplatten und zeigt eine Datenspeicherung gemäß einer RAID-Ebene 5.
  • 4 ist eine schematische Veranschaulichung einer Speicherabbildungsanordnung dieser Erfindung, bei der zwei virtuelle Speicherplätze auf einen physischen Speicherplatz abgebildet werden.
  • 5 ist eine schematische Veranschaulichung eines Speicherplatzes auf mehreren Speicherplatten und zeigt eine Verwendung von Heiße-Reserve-Ressourcen vor einem Ausfall einer Speicherplatte.
  • 6 ist eine schematische Veranschaulichung eines Speicherplatzes auf mehreren Speicherplatten und zeigt eine Verwendung von Heiße-Reserve-Ressourcen nach einem Ausfall einer Speicherplatte.
  • 7 ist eine schematische Veranschaulichung eines Speicherplatzes auf mehreren Speicherplatten und zeigt, wie eine Datenmigration von einer Speicherung der RAID-Ebene 1 zu einer Speicherung der RAID-Ebene 5 einen Platz für Heiße-Reserve-Zwecke zur Verfügung stellt.
  • 8 ist ein Flußdiagramm eines Verfahrens zum Betreiben eines Plattenarrays, um die Verfügbarkeit eines Heiße-Reserve-Platzes zu gewährleisten.
  • Ausführliche Beschreibung der Erfindung
  • 1 zeigt ein Datenspeichersystem 10, das gemäß dieser Erfindung aufgebaut ist. Vorzugsweise ist das Datenspei chersystem 10 ein Plattenarraydatenspeichersystem, das folgende Merkmale umfaßt: ein hierarchisches Plattenarray 11, das eine Mehrzahl von Speicherplatten 12 aufweist, eine Plattenarraysteuerung 14, die mit dem Plattenarray 11 gekoppelt ist, um einen Transfer von Benutzerdaten zu und von den Speicherplatten 12 zu koordinieren, und ein RAID-Verwaltungssystem 16. Diese Erfindung wird im Kontext ihrer bevorzugten Implementierung als redundantes hierarchisches Plattenarraysystem beschrieben. Man beachte jedoch, daß Aspekte und Konzepte dieser Erfindung auch bei anderen Arten von Plattenarraydatenspeichersystemen, beispielsweise nicht-hierarchischen Plattenarrays, verwendet werden können.
  • Für die Zwecke dieser Offenbarung ist eine "Platte" jegliche nicht-flüchtige, direkt zugreifbare, wiederbeschreibbare Massenspeichervorrichtung, die die Fähigkeit aufweist, ihre eigenen Speicherausfälle zu erfassen. Sie umfaßt sowohl sich drehende magnetische und optische Platten als auch Festzustandsplatten, oder nicht-flüchtige elektronische Speicherelemente (z. B. PROMs, EPROMs und EEPROMs). Der Begriff "Plattenarray" umfaßt eine Sammlung von Platten, die Hardware, die erforderlich ist, um sie mit einem oder mehreren Hostcomputern zu verbinden, und eine Verwaltungssoftware, die verwendet wird, um den Betrieb der physischen Platten zu steuern und sie der Host-Betriebsumgebung als eine oder mehrere virtuelle Platten zu präsentieren. Eine "virtuelle Platte" ist eine abstrakte Entität, die durch die Verwaltungssoftware in dem Plattenarray verwirklicht ist.
  • Der Begriff "RAID" (Redundant Array of Independent Plattes, redundantes Array aus unabhängigen Platten) bedeutet ein Plattenarray, bei dem ein Teil der physischen Speicherkapazität verwendet wird, um redundante Informationen über Benutzerdaten, die auf dem Rest der Speicherkapazität gespeichert sind, zu speichern. Die redundanten Informationen ermöglichen eine Regeneration von Benutzerdaten für den Fall, daß eine der zu dem Array gehörenden Platten oder der Zugriffspfad zu derselben ausfällt. Eine ausführlichere Erläuterung von RAID-Systemen findet sich in einem Buch mit dem Titel The RAIDBook: A Source Book for RAID Technology, das am 9. Juni 1993 von RAID Advisory Board, Lino Lakes, Minnesota, veröffentlicht wurde.
  • Die Plattenarraysteuerung 14 ist über einen oder mehrere Schnittstellenbusse 13, beispielsweise eine Kleincomputer-Schnittstelle (SCSI – small computer system interface) mit dem Plattenarray 11 gekoppelt. Das RAID-Verwaltungssystem 16 ist über ein Schnittstellenprotokoll 15 wirksam mit der Plattenarraysteuerung 14 gekoppelt. Ferner ist das Datenspeichersystem 10 über einen I/O-Schnittstellenbus 17 mit einem Hostcomputer (nicht gezeigt) gekoppelt. Das RAID-Verwaltungssystem 16 kann als separate Komponente verkörpert sein oder kann in der Plattenarraysteuerung 14 oder in dem Hostcomputer konfiguriert sein, um eine Datenverwaltungseinrichtung zum Steuern von Plattenspeicherungs- und von Zuverlässigkeitsebenen sowie zum Transferieren von Daten zwischen verschiedenen Zuverlässigkeits-Speicherstufen bereitzustellen. Diese Zuverlässigkeits-Speicherebenen sind, wie nachfolgend beschrieben wird, vorzugsweise Spiegel- oder Paritäts-Redundanzebenen, können jedoch auch eine Zuverlässigkeits-Speicherebene ohne jegliche Redundanz umfassen.
  • Die Plattenarraysteuerung 14 ist vorzugsweise als duale Steuerung implementiert, die aus der Plattenarraysteuerung A, die durch Bezugszeichen 14a bezeichnet ist, und aus der Plattenarraysteuerung B, die durch Bezugszeichen 14b bezeichnet ist, besteht. Die dualen Steuerungen 14a und 14b verbessern die Zuverlässigkeit, indem sie für den Fall, daß eine Steuerung funktionsuntüchtig wird, eine fortlaufende Sicherung und Redundanz liefern. Diese Erfindung kann jedoch auch mit einer einzigen Steuerung oder mit anderen Architekturen praktiziert werden.
  • Das hierarchische Plattenarray 11 kann als unterschiedliche Speicherplätze, einschließlich seines physischen Speicherplatzes und eines oder mehrerer virtueller Speicherplätze, charakterisiert werden. Diese verschiedenen Speicheransichten sind durch Abbildungstechniken verbunden. Beispielsweise kann der physische Speicherplatz des Plattenarrays in einen virtuellen Speicherplatz abgebildet werden, der Speicherbereiche gemäß den verschiedenen Datenzuverlässigkeitsebenen darstellt. Manche Bereiche in dem virtuellen Speicherplatz können einer ersten Zuverlässigkeitsspeicherebene zugewiesen sein, beispielsweise Spiegel- oder RAID-Ebene 1, und andere Bereiche können einer zweiten Zuverlässigkeitsspeicherebene zugewiesen sein, beispielsweise Paritätsoder RAID-Ebene 5. Die verschiedenen Abbildungstechniken und virtuellen Plätze, die RAID-Ebenen betreffen, werden nachfolgend ausführlicher beschrieben.
  • Das Datenspeichersystem 10 umfaßt einen Speicherabbildungsspeicher 21, der eine durchgängige Speicherung der virtuellen Abbildungsinformationen liefert, die verwendet werden, um verschiedene Speicherplätze ineinander abzubilden. Der Speicherabbildungsspeicher befindet sich außerhalb des Plattenarrays und vorzugsweise in der Plattenarraysteuerung 14. Die Speicherabbildungsinformationen können durch die Steuerung oder das RAID-Verwaltungssystem kontinuierlich oder periodisch aktualisiert werden, während sich die verschiedenen Abbildungskonfigurationen unter den verschiedenen Ansichten ändern.
  • Vorzugsweise ist der Speicherabbildungsspeicher 21 als zwei nicht-flüchtige RAMs (Direktzugriffsspeicher) 21a und 21b verkörpert, die in jeweiligen Steuerungen 14a und 14b angeordnet sind. Ein beispielhafter nicht-flüchtiger RAM (NVRAM) ist ein batteriegepufferter RAM. Ein batteriegepufferter RAM verwendet Energie von einer unabhängigen Batteriequelle, um im Falle eines Verlustes von Leistung an das Datenspeichersystem 10 die Daten über einen bestimmten Zeitraum in dem Speicher beizubehalten. Ein bevorzugter Aufbau ist ein selbstauffrischender batteriegepufferter DRAM (dynamischer RAM).
  • Die dualen NVRAMs 21a und 21b sorgen für eine redundante Speicherung der Speicherabbildungsinformationen. Die virtuellen Abbildungsinformationen werden dupliziert und gemäß Spiegelredundanztechniken in beiden NVRAMs 21a und 21b gespeichert. Auf diese Weise kann der NVRAM 21a dafür reserviert sein, die ursprünglichen Abbildungsinformationen zu speichern, und der NVRAM 21b kann dafür reserviert sein, die redundanten Abbildungsinformationen zu speichern. Bei einem alternativen Aufbau kann ein gespiegelter Speicherabbildungsspeicher unter Verwendung eines einzelnen nichtflüchtigen RAMs mit einem ausreichenden Platz, um die Daten im Duplikat zu speichern, konfiguriert sein.
  • Wie in 1 gezeigt ist, weist das Plattenarray 11 mehrere Speicherplattenlaufwerksvorrichtungen 12 auf. Beispielhafte Größen dieser Speicherplatten betragen ein bis drei Gigabytes. Die Speicherplatten können unabhängig voneinander mit mechanischen Buchten verbunden oder von denselben getrennt sein, die eine Schnittstellenbildung mit dem SCSI-Bus 13 liefern. Bei einer Implementierung ist das Datenspeichersystem mit zwölf aktiven mechanischen Buchten entworfen. Vier SCSI-Busse werden verwendet, um eine Schnittstelle zwischen diesen Buchten und der Plattenarraysteuerung 14 zu bilden (d. h. ein Bus pro drei mechanischen Buchten). Falls die aktiven Buchten vollständig beladen sind, weist das Datenspeichersystem eine beispielhafte kombinierte Kapazität von 12 bis 36 Gigabytes auf. Die Plattenarraysteuerung 14 erkennt die Speicherplatten 12 unabhängig davon, in welche Bucht sie eingesteckt sind. Das Datenspeichersystem 10 ist entworfen, um ein "heißes Einstecken" zusätzlicher Platten in verfügbare mechanische Buchten in dem Plattenarray, während das Plattenarray in Betrieb ist, zu ermöglichen.
  • Die Speicherplatten 12 in dem Plattenarray 11 können zu Erläuterungszwecken vom Konzept her so erklärt werden, daß sie in einer Spiegelgruppe 18 aus mehreren Platten 20 und einer Paritätsgruppe 22 aus mehreren Platten 24 angeordnet sind. Die Spiegelgruppe 18 stellt eine erste Speicherposition oder einen ersten RAID-Bereich des Plattenarrays dar, die bzw. der Daten gemäß einer ersten bzw. Spiegelredundanzebene speichert. Diese Spiegelredundanzebene wird auch als RAID-Ebene 1 betrachtet. Die RAID-Ebene 1 bzw. oder ein Spiegeln von Platten bietet die höchste Datenzuverlässigkeit, indem sie insofern einen Eins-Zu-Eins-Schutz bietet, als jedes Datenbit dupliziert und in dem Datenspeichersystem gespeichert wird. Die Spiegelredundanz ist schematisch durch die drei Paare von Platten 20 in 1 dargestellt. Ursprüngliche Daten können auf einem ersten Satz von Platten 26 gespeichert werden, während dupliziert, redundante Daten auf dem gepaarten zweiten Satz von Platten 28 gespeichert werden.
  • 2 veranschaulicht die Speicherung von Daten gemäß der RAID-Ebene 1 noch ausführlicher. Die vertikalen Spalten stellen einzelne Platten dar, von denen Platten 0, 1, 2 und 3 veranschaulicht sind. Der in diesem Plattenarray aus vier Platten enthaltene physische Speicherplatz kann zu mehreren Streifen konfiguriert sein, wie sie durch die horizontalen Zeilen veranschaulicht sind. Ein "Streifen" erstreckt sich über die Speicherplatten und ist aus zahlreichen gleich großen Segmenten an Speicherplatz gebildet, wobei ein Segment jeder Platte in dem Array zugeordnet ist. Das heißt, daß ein Segment der Abschnitt eines Streifens ist, der sich auf einer einzelnen Platte befindet. Jeder Streifen hält eine vorbestimmte Datenmenge, die über die Speicherplatten verteilt ist. Manche Segmente eines Streifens werden für ursprüngliche Daten verwendet, während andere Segmente für redundante Daten verwendet werden.
  • Bei diesem Beispiel einer Spiegelredundanz (RAID-Ebene 1) werden Daten, die auf der Platte 0 in dem Segment 0 des Streifens 0 gespeichert sind, dupliziert und auf der Platte 1 in dem Segment 0' des Streifens 0 gespeichert. Desgleichen werden Daten, die auf der Platte 2 in dem Segment 5 des Streifens 2 gespeichert sind, zu dem Segment 5' des Streifens 2 auf der Platte 3 gespiegelt. Auf diese Weise wird jede Dateneinheit dupliziert und auf den Platten gespeichert. Der Redundanzentwurf der 2 ist zu Erläuterungszwecken vorgesehen. Die redundanten Daten müssen nicht sauber in demselben Streifen plaziert werden, wie gezeigt ist. Beispielsweise könnten Daten, die auf der Platte 0 in dem Segment 2 des Streifens 1 gespeichert sind, dupliziert werden und auf der Platte 3 in dem Segment T' des Streifens S plaziert werden.
  • Unter erneuter Bezugnahme auf 1 stellt die Paritätsgruppe 22 der Platten 24 eine zweite Speicherposition bzw. einen zweiten RAID-Bereich dar, in der bzw, dem Daten gemäß einer zweiten Redundanzebene, z. B. RAID-Ebene 5, gespeichert werden. In dieser erläuternden Veranschaulichung von sechs Platten sind ursprüngliche Daten auf den fünf Platten 30 gespeichert, und redundante "Paritäts"-Daten sind auf der sechsten Platte 32 gespeichert.
  • 3 zeigt einen Paritäts-RAID-Bereich-Entwurf etwas ausführlicher. Ähnlich dem Entwurf des Spiegel-RAID-Bereichs der 2 kann der physische Speicherplatz der Platten 0, 1, 2, 3 zu mehreren gleich großen Streifen konfiguriert sein. Bei diesem veranschaulichten Beispiel werden Daten gemäß der RAID-Ebene 5 gespeichert, und die redundanten Daten werden in den Segmenten gespeichert, auf die durch den Buchstaben P Bezug genommen wird. Die redundanten P-Segmente speichern die Parität der anderen Segmente in dem Streifen. In dem Streifen 0 speichert das redundante P-Segment auf der Platte 3 beispielsweise die Parität der Platten 0, 1 und 2. Die Parität für jeden Streifen wird durch eine bestimmte Funktion berechnet, beispielsweise eine Exklusiv-ODER-Funktion, die durch das Symbol "⊕" dargestellt wird. Die Paritäten für die ersten vier Streifen (wobei die tiefgestellte Zahl den entsprechenden Streifen darstellt) lauten wie folgt:
    • P0 = Segment 0 ⊕ Segment 1 ⊕ Segment 2 = Platte 0 ⊕ Platte 1 ⊕ Platte 2
    • P1 = Segment 3 ⊕ Segment 4 ⊕ Segment 5 = Platte 0 ⊕ Platte 1 ⊕ Platte 3
    • P2 = Segment 6 ⊕ Segment 7 ⊕ Segment 8 = Platte 0 ⊕ Platte 2 ⊕ Platte 3
    • P3 = Segment 9 ⊕ Segment 10 ⊕ Segment 11 = Platte 1 ⊕ Platte 2 ⊕ Platte 3
  • Eine Paritätsredundanz ermöglicht eine Regeneration von Daten, die auf einer der Platten nicht mehr zur Verfügung stehen. Wenn beispielsweise die Daten in dem Segment 5 nicht mehr zur Verfügung stehen, kann ihr Inhalt aus den Segmenten 3 und 4 und den Paritätsdaten in dem Segment P ermittelt werden. Eine Paritätsspeicherung ist kostengünstiger als eine Spiegelspeicherung, ist jedoch auch weniger zuverlässig und weist eine geringere Leistungsfähigkeit auf.
  • Die Plattenanordnung der 1 ist zu Konzeptionszwecken vorgesehen. In der Praxis weist das Plattenarray 11 einfach eine Mehrzahl von Platten 12 auf, die in der Lage sind, Daten gemäß einer Spiegel- und Paritätsredundanz zu speichern. Aus dem durch alle Platten 12 gelieferten, zur Verfügung stehenden Speicherplatz wird ein Abschnitt dieses Speicherplatzes einer Spiegelredundanz zugewiesen, und ein weiterer Abschnitt wird einer Paritätsredundanz zugewiesen. Vorzugsweise sind die Platten 12 konfiguriert, um mehrere gleich große Speicherregionen (die bei 4 mit dem Bezugszeichen 35 benannt sind) zu enthalten, wobei einzelne Regionen mehrere Segmente aufweisen. Die Regionen sind gruppiert, um bei einer virtuellen Ansicht des Speicher platzes RAID-Bereiche zu bilden. Zusätzlich wird eine weitere (durch einen Host definierte) Ansicht eines Speicherplatzes dem Benutzer oder Host präsentiert, so daß die RAID-Bereiche und die Datenredundanz-Speichertechniken für den Benutzer oder Host transparent sind. Diese Merkmale werden nachstehend unter Bezugnahme auf 4 ausführlicher erläutert.
  • Das Datenspeichersystem 10 verwaltet die "Migration bzw. Bewegung" von Daten zwischen Spiegel- und Paritätsspeicherschemata. Die Verwaltung beider Redundanztypen wird durch das RAID-Verwaltungssystem 16 (1) koordiniert. Das RAID-Verwaltungssystem 16 verwaltet die zwei unterschiedlichen Typen von RAID-Bereichen in dem Plattenarray als Speicherhierarchie, wobei die Spiegel-RAID-Bereiche ähnlich einem Cache für die Paritäts-RAID-Bereiche agieren. Das RAID-Verwaltungssystem 16 verschiebt und organisiert die Daten zwischen dem Spiegel- und dem Paritäts-RAID-Bereich gemäß einem definierten Leistungsfähigkeitsprotokoll, und verwaltet die Daten ansonsten auf ebensolche Weise. Der Vorgang des Bewegens von Daten zwischen dem Spiegel- und dem Paritäts-RAID-Bereich wird als "Migration" bezeichnet.
  • Das Datenspeichersystem 10 versucht, die für die Leistungsfähigkeit kritischeren Daten in die Spiegel-RAID-Bereiche zu plazieren, da dies die höchste Leistungsfähigkeit und Zuverlässigkeit liefert. Die Leistungsfähigkeitsprotokolle, die durch das RAID-Verwaltungssystem 16 implementiert sind, umfassen eine von zwei bevorzugten Migrationsrichtlinien. Gemäß der ersten Migrationsrichtlinie, die als "Zugriffshäufigkeit" bekannt ist, werden die Daten in dem hierarchischen Plattenarray, auf die am häufigsten zugegriffen wird, in dem Spiegel-RAID-Bereich 18 beibehalten. Daten, auf die weniger häufig zugegriffen wird, werden in dem Paritäts-RAID-Bereich 22 gehalten. Gemäß einer zweiten Migrationsrichtlinie, die als "Zugriffsaktualität" bekannt ist, werden die Daten, deren Zugriff am wenigsten lange zurückliegt, in dem Spiegel-RAID-Bereich 18 beibehalten, während die Daten, deren Zugriff länger zurückliegt, in dem Paritäts-RAID-Bereich 22 gespeichert werden. Es können auch andere Leistungsfähigkeitsprotokolle verwendet werden. Idealerweise sind solche Protokolle auf der Basis der spezifischen Computeranwendung und der Erfordernisse des Benutzers definiert.
  • Zusätzlich "stimmt" das RAID-Verwaltungssystem 16 die Speicherressourcen eines Datenspeichersystems gemäß einer Funktion von zwei Parametern "ab". Größe der physischen Speicherkapazität und Größe der vorhandenen Menge an Benutzerdaten, die in dem Datenspeichersystem gespeichert sind. Anfänglich werden alle Daten in Spiegel-RAID-Bereichen gespeichert, da dies die höchste Leistungsfähigkeit und Zuverlässigkeit liefert. Während mehr Daten zu dem Datenspeichersystem hinzugefügt werden, werden die Daten zwischen Spiegel-RAID-Bereichen und Paritäts-RAID-Bereichen bewegt, um die Leistungsfähigkeit und Zuverlässigkeit zu optimieren. Während sich das Datenspeichersystem an eine volle Kapazität annähert, werden im Rahmen des Bemühens, alle durch den Benutzer gestellten Anforderungen zu erfüllen und trotzdem durch Redundanz eine Zuverlässigkeit zu liefern, immer mehr Daten in Paritäts-RAID-Bereiche bewegt. Dementsprechend liefert das Datenspeichersystem dieser Erfindung eine maximale Flexibilität und Anpassung. Es erfordert nicht, daß der Benutzer einen spezifischen Speicherbetriebszustand auswählt, sondern kann sich statt dessen an jegliche durch den Benutzer an das System gestellte Forderung anpassen.
  • 4 veranschaulicht ein Speicherabbilden des verfügbaren Speicherplatzes des Datenspeichersystems 10 als mehrere Lagen eines abgebildeten virtuellen Speicherplatzes. Jedes vertikal verlängerte Rechteck in dem Diagramm stellt eine Ansicht des physischen Speicherplatzes dar. Bei diesem Diagramm wird auf den physischen Speicherplatz 34 durch zwei virtuelle Speicheransichten 40 und 50 Bezug genommen. Der physische Speicherplatz 34 wird durch vier Platten (z. B.
  • Platten 12 in 1) dargestellt, die durch die Bezugszeichen 0, 1, 2 und 3 benannt sind. Die den Platten zugeordneten vier Rechtecke stellen eine Ansicht des physischen Speicherplatzes dar, bei der die Platten 1, 2 und 3 eine ungefähr gleiche Speicherkapazität aufweisen und die Platte 0 eine etwas geringere Speicherkapazität aufweist. Beispielhafte Speicherkapazitäten für derartige Platten betragen 1 bis 3 Gigabytes. Der Speicherplatz 34 ist in Bereiche A0, A1, A2 usw. unterteilt. Einzelne Bereiche enthalten zahlreiche Streifen, im Bereich A0 z. B. Streifen O-Q. Einzelne Bereiche enthalten auch zahlreiche Regionen 35. Die Regionen 35 bestehen vorzugsweise aus einer ausgewählten Anzahl von Segmenten einer gleichmäßigen Größe auf jeder Speicherplatte, so daß die Regionen über das gesamte Plattenarray eine gleiche Größe aufweisen. Eine beispielhafte Größe einer Region 35 ist ein Megabyte.
  • Der Speicherplatz der Platten wird in eine erste virtuelle Zwischenansicht 40 der RAID-Ebene des physischen Speicherplatzes 34 abgebildet. Diese erste virtuelle Ansicht ist vom Konzept her ein Satz von RAID-Bereichen, die auf eine zweite Anwendungsansicht abgebildet werden können, die einen angrenzend adressierbaren Speicherplatz darstellt. Die physische Konfiguration und RAID-Ansichten des Speicherplatzes entziehen sich der Anwendungsansicht.
  • Der RAID-Bereich-Speicherplatz 40 ist die Speicheransicht, die den Spiegel- und Paritätsspeicherplatz identifiziert. Beispielsweise kann ein RAID-Bereich 42 einen Spiegel-RAID-Bereich von M Zuweisungsblöcken 43 darstellen, während der RAID-Bereich 44 einen Paritäts-RAID-Bereich von N Zuweisungsblöcken 45 darstellen kann. Die Zuweisungsblöcke 43 und 45 weisen vorzugsweise eine gleiche Größe auf, wobei eine beispielhafte Größe 64 Kilobytes beträgt. Diese RAID-Bereiche beziehen sich auf entsprechende physische Bereiche A0, A1, A2 usw. auf dem physischen Speicherplatz 34. Beispielsweise können sechzehn 64K-Zuweisungsblöcke 43 oder 45 an der virtuellen RAID-Ansicht auf eine einzige 1M-Region 35 abgebildet werden.
  • Die Spiegel- und Paritäts-RAID-Bereiche können den gesamten Speicherplatz 34 des Plattenarrays einnehmen, müssen aber nicht. Dementsprechend kann während bestimmter Anwendungen ein unbenutzter und unbezeichneter Speicherplatz vorliegen, der keinem bestimmten RAID-Bereich entspricht. Ein solcher Speicherplatz kann jedoch in einen Spiegel- oder Paritäts-RAID-Bereich umgewandelt werden. Ferner ist zu beachten, daß die RAID-Bereiche in der Abbildung in benachbarte Bereiche auf dem Plattenarray abgebildet werden, wobei jede einem RAID-Bereich zugeordnete Region an derselben physischen Adresse auf jeder Speicherplatte angeordnet ist. Die RAID-Bereiche können alternativ auch zu nicht-benachbarten Bereichen auf dem Plattenarray abgebildet werden.
  • Der in den RRID-Bereichen verfügbare Speicherplatz wird in eine zweite virtuelle Vorderes-Ende-Ansicht 50 der Anwendungsebene abgebildet, die eine Speicheransicht ist, wie sie durch den Benutzer oder das Hostanwendungsprogramm definiert und demselben präsentiert wird. Bei einer Betrachtung durch den Benutzer" oder das Hostanwendungsprogramm kann die virtuelle Ansicht 50 der Anwendungsebene eine einzige große Speicherkapazität darstellen, die den verfügbaren Speicherplatz auf den Speicherplatten 12 angibt. Der virtuelle Speicherplatz 50 präsentiert eine Ansicht eines linearen Satzes von gleich großen virtuellen Speicherblökken 52 und 53, die einzeln als 0, 1, 2,... J – 1, J, J + 1, ..., L – 1, L, L + 1,..., usw. bezeichnet werden. Die virtuellen Blöcke 52 und 53 weisen vorzugsweise dieselbe Größe auf wie die Zuweisungsblöcke in dem RAID-Bereich 40, wobei eine beispielhafte Größe 64 Kilobytes beträgt. Der virtuelle Blockspeicherplatz 50 wird in der durch die RAID-Bereiche 40 dargestellten Ansicht durch eine Tabelle von Bezugnahmen oder Zeigern (wie sie durch Pfeile 54 dargestellt sind) auf Zuweisungsblöcke, dargestellt. Die virtuellen Blöcke 52 und 53 bei der virtuellen Anwendungsansicht 50 sind somit über die in der virtuellen Blocktabelle beibehaltenen Zeiger den Zuweisungsblöcken 43 und 45 an der virtuellen RAID-Ansicht 50 zugeordnet. Es gibt mindestens zwei Arten von RAID-Bereichen, auf die von der virtuellen Blocktabelle verwiesen werden kann: Spiegel und Parität.
  • Das RAID-Verwaltungssystem 16 kann die Konfiguration der RAID-Bereiche über den physischen Speicherplatz dynamisch verändern. Die Anzahl von RAID-Bereichen für jeden Typ kann je nach der Menge von Benutzerdaten, die in dem System gespeichert sind, und je nach der Größe des physischen Plattenspeicherplatzes erhöht oder verringert werden. Folglich befinden sich das Abbilden der RAID-Bereiche in der virtuellen Ansicht 40 der RAID-Ebene auf die Platten und das Abbilden der virtuellen Ansicht 50 der Anwendungsebene auf die RAID-Ansicht 40 allgemein in einem Veränderungszustand. Der Speicherabbildungsspeicher in den NVRAMs 21a und 21b (1) behält die aktuellen Abbildungsinformationen bei, die durch das RAID-Verwaltungssystem 16 verwendet werden, um die RAID-Bereiche auf die Platten abzubilden, und behält die Informationen bei, die verwendet werden, um zwischen die zwei virtuellen Ansichten abzubilden. Während das RAID-Verwaltungssystem die Abbildungen der RAID-Ebene dynamisch verändert, aktualisiert es auch die Abbildungsinformationen in dem Speicherabbildungsspeicher, um die Veränderungen zu reflektieren.
  • Die Migrationsoperation des Speichersystems 10 wird nun unter Bezugnahme auf 1 und 4 beschrieben.
  • Für die Zwecke einer fortführenden Erläuterung nehmen virtuelle Blöcke 53 des virtuellen Speicherplatzes 50 der Anwendungsebene Bezug auf zugeordnete Zuweisungsblöcke 45 in dem Paritäts-RAID-Bereich 44, die in dem Bereich A1 des physischen Speicherplatzes 34 gespeichert sind. Derartige virtuelle Blöcke 53 können als "virtuelle Paritätsblöcke" bezeichnet werden, während die zugeordneten Zuweisungsblökke 45 als "Paritätszuweisungsblöcke" bezeichnet werden.
  • Desgleichen nehmen virtuelle Blöcke 52 Bezug auf zugeordnete Zuweisungsblöcke 43 in dem Spiegel-RAID-Bereich 42, die in dem Bereich A0 des physischen Speicherplatzes 34 gespeichert sind. Derartige virtuelle Blöcke 52 können hierin als "virtuelle Spiegelblöcke" bezeichnet werden, während die zugeordneten Zuweisungsblöcke 43 als "Spiegelzuweisungsblöcke" bezeichnet werden.
  • Um Daten von einem RAID-Bereich zu einem anderen zu bewe gen, wird allgemein ein virtueller Block, der einem Zuweisungsblock eines Typs der ersten RAID-Ebene (z. B. Spiegel oder Ebene 1) zugeordnet ist, ausgewählt. Anschließend wird ein nicht benutzter Zuweisungsblock, der einen Typ der zweiten RAID-Ebene (beispielsweise Parität oder Ebene 5) darstellt, lokalisiert. Falls ein nicht benutzter Zuweisungsblock nicht lokalisiert werden kann, wird einer erzeugt. Als nächstes werden Daten von dem Zuweisungsblock, der zuvor dem ausgewählten virtuellen Block zugeordnet war, an den nicht benutzten Zuweisungsblock transferiert, der bewirkt, daß die Daten einer Redundanzebenenänderung unterzogen werden. Beispielsweise werden Daten, die einst gemäß der Spiegelredundanz gespeichert wurden, nun gemäß einer Paritätsredundanz gespeichert, oder umgekehrt. Als abschließenden Schritt wird die 54 des virtuellen Speicherplatzes 50 der Anwendungsebene auf den virtuellen Speicherplatz 40 der RAID-Ebene modifiziert und aktualisiert, um die Datenverschiebung widerzuspiegeln. Der ausgewählte virtuelle Block, der zuvor einem Zuweisungsblock des Typs der ersten RAID-Ebene zugeordnet war, nimmt nun über einen aktualisierten Zeiger Bezug auf einen Zuweisungsblock des Typs der zweiten RAID-Ebene, der die migrierten Daten enthält. Jegliche Abbildungsveränderung, die während dieser Transaktion auftritt, würde in dem Speicherabbildungsspeicher 21 aktualisiert werden.
  • Die fortdauernde Erörterung liefert eine ausführlichere Erklärung des Bewegens von Daten zwischen Spiegel- und Paritätsspeicherbereichen gemäß bevorzugten Verfahren und Se quenzen dieser Erfindung. Zum Bewegen von Daten von einem Paritäts- zu einem Spiegelspeicher wird die folgende Sequenz verwendet:
    • 1. Das RAID-Verwaltungssystem lokalisiert einen unbenutzten Spiegelzuweisungsblock 43 in einem Spiegel-RAID-Bereich 42.
    • 2. Falls keiner gefunden wird, erzeugt das RAID-Verwaltungssystem einen Spiegelzuweisungsblock (nachfolgend erläutert).
    • 3. Das RAID-Verwaltungssystem hebt neue Speicheranforderungen an den zu bewegenden virtuellen Block zeitweilig auf.
    • 4. Das RAID-Verwaltungssystem wartet, bis alle aktiven Datenspeicherungsanforderungen an den virtuellen Block abgeschlossen sind.
    • 5. Die Daten von dem Paritätszuweisungsblock 45, der dem virtuellen Block 53 zugewiesen ist, werden in einen vorübergehenden Speicherpuffer eingelesen.
    • 6. Die Daten werden anschließend in den bei Schritt 2 gewählten Spiegelzuweisungsblock 43 geschrieben.
    • 7. Die virtuelle Blocktabelle wird modifiziert, um auf die neue Position der Daten in dem Spiegelzuweisungsblock 43 zu verweisen.
    • 8. Die zeitweilig aufgehobenen Speicheranforderungen werden wiederaufgenommen.
  • Gemäß der obigen Prozedur bewegte sich ein virtueller Block 53 in der virtuellen Ansicht 50 der Anwendungsebene von einer Paritäts- zu einer Spiegelspeicherung. Relativ zu der virtuellen Zwischenansicht 40 bewegten sich Daten von einem Paritätszuweisungsblock 45 in dem Paritäts-RAID-Bereich 44 zu einem Spiegelzuweisungsblock 43 in dem Spiegel-RAID-Bereich 42. In dem physischen Speicherplatz bewegten sich Daten von dem Bereich A1 zum Bereich A0.
  • Falls kein unbenutzter Spiegelzuweisungsblock lokalisiert werden kann (Schritt 1 oben), versucht das RAID-Verwaltungssystem die folgende bevorzugte Sequenz von drei Techniken. Erstens versucht das RAID-Verwaltungssystem, einen unbenutzten (und somit unbenannten) RAID-Bereich zu lokalisieren, der in einen Spiegel-RAID-Bereich umgewandelt werden kann, ohne die Systemschwelle eines unbenutzten Speichers der RAID-Ebene zu verletzen, die benötigt wird, um zu garantieren, daß eine Migration immer stattfinden kann. Falls dies fehlschlägt und das System mehr als die reservierte Menge an unbenutztem Speicher der RAID-Ebene aufweist, bewegt das System Daten innerhalb des Paritätsspeichers, um unbenutzte Paritätszuweisungsblöcke zu unbenutzten RAID-Bereichen zu sammeln. Falls diese Migration einen unbenutzten RAID-Bereich ergibt, der, wie oben erwähnt, in einen Spiegel-RAID-Bereich umgewandelt werden kann, wandelt das System ihn in einen Spiegel-RAID-Bereich um. Andernfalls bewegt das System alternativ dazu Daten von einem Spiegel- zu einem Paritätsspeicher, verdichtet den Spiegelspeicher und wandelt einen unbenutzten Speicher der RAID-Ebene in einen Paritätsspeicher um, bis das System den unbenutzten Speicher der RAID-Ebene ausreichend für die Lokalisierung eines unbenutzten Spiegelzuweisungsblocks oder eine Umwandlung eines unbenutzten RAID-Bereichs in einen Spiegel-RAID-Bereich erhöht. Da Spiegelzuweisungsblöcke mehr physischen Speicherplatz belegen als Paritätszuweisungsblöcke, führt diese letzte Technik zu einer Nettoerhöhung des Umfangs an unbenutztem Speicher der RAID-Ebene.
  • Das Erzeugungs-/Umwandlungsprotokoll, das verwendet wird, um unbenutzte Spiegelzuweisungsblöcke zu lokalisieren und einzurichten, ist vorteilhaft, da es dem RAID- Verwaltungssystem ermöglicht, die Speicherzuweisung gemäß der Menge an Benutzerdaten und der Größe des physischen Speicherplatzes zwischen Paritäts- und Spiegelbereichen selektiv einzustellen. Da die Datennutzung und die Speicherkapazität variieren, verwendet das RAID-Verwaltungssystem eine oder mehrere der obigen drei Techniken, um die Datenmenge, die in einem Spiegelspeicher gehalten wird, zu maximieren.
  • Das RAID-Verwaltungssystem versucht, die Situation zu vermeiden, bei der eine Speicheranforderung warten muß, bis die Platzschaffungssequenz einen unbenutzten Spiegelzuweisungsblock ergibt, indem sie während einer Leerlaufzeit unbenutzte RAID-Bereiche erzeugt. In manchen Situationen können Speicheranforderungen während der Platzschaffungssequenz jedoch zeitweilig aufgehoben werden. Das RAID-Verwaltungssystem konfiguriert den virtuellen Blockspeicherplatz derart, daß der virtuelle Platz geringer ist als die RAID-Ansicht. Dies gewährleistet, daß für eine Migration oder andere Zwecke ein freier Platz reserviert wird, der gleich zumindest einem RAID-Bereich ist. Auf diese Weise ergibt die Sequenz von Techniken immer einen unbenutzten Spiegelzuweisungsblock.
  • Um Daten von einem Spiegel- zu einem Paritätsspeicher zu bewegen, wird die folgende Sequenz verwendet:
    • 1. Das RAID-Verwaltungssystem wählt einen virtuellen Block aus 52 aus, um gemäß einer Migrationsrichtlinie, beispielsweise Zugriffsaktualität oder Zugriffshäufigkeit, von einem Spiegel- zu einem Paritätsspeicher zu bewegen.
    • 2. Das RAID-Verwaltungssystem lokalisiert einen unbenutzten Paritätszuweisungsblock 45 in einem Paritäts-RAID-Bereich 44.
    • 3. Falls kein solcher Block gefunden werden kann, wird ein für eine Migration reservierter Platz gemäß den oben beschriebenen Erzeugungstechniken in einen Paritäts-RAID-Bereich umgewandelt.
    • 4. Neue Speicheranforderungen an den zu bewegenden virtuellen Block werden zeitweilig aufgehoben.
    • 5. Das RAID-Verwaltungssystem wartet, bis alle aktiven Speicheranforderungen an den virtuellen Block abgeschlossen sind.
    • 6. Daten werden von dem Spiegelzuweisungsblock 43, der dem virtuellen Block 52 zugeordnet ist, in einen vorübergehenden Speicherpuffer gelesen.
    • 7. Die Daten werden in den gewählten Paritätszuweisungsblock 45 geschrieben.
    • 8. Die virtuelle Blocktabelle wird modifiziert, um auf die neue Position der Daten in dem Paritätszuweisungsblock 45 zu verweisen.
    • 9. Datenanforderungen an den virtuellen Block werden wiederaufgenommen.
  • Die obigen zwei aufgezählten Sequenzen liefern Beispiele dessen, wie das Speichersystem dieser Erfindung arbeiten kann, um Daten zwischen zwei verschiedenen Redundanzebenen zu bewegen.
  • Abgesehen von der Datenredundanz bietet das Plattenarraydatenspeichersystem dieser Erfindung "Heiße-Reserve"-Fähigkeiten, um eine Datenverfügbarkeit zu verbessern. Wie in dem Abschnitt "Hintergrund der Erfindung" erörtert wurde, reservieren bekannte Plattenarrays eine zusätzliche physische Speicherplatte bzw. eine "Reserve", die in dem Fall, daß eine Speicherplatte ausfällt, verwendet wird. Die zusätzliche Speicherplatte ist an dem Plattenarray befestigt und in demselben vollständig betreibbar, bleibt jedoch im Ruhezustand, bis der Speicherplattenausfall auftritt. Die unter Strom stehende Speicherplatte wird als "heiße Reserve" bezeichnet. Die Heiße-Reserve-Platte wird verwendet, um die Daten nach dem Plattenausfall zu rekonstruieren und die Redundanz in der Platte wiederherzustellen, ein Vorgang, der als "Wiederaufbauen" bezeichnet wird. Ungünstigerweise liefern die zweckgebundenen Heiße-Reserve-Platten während eines normalen Betriebs, wenn alle Platten ordnungsgemäß funktionieren, keinen brauchbaren Dienst, sondern sind statt dessen nur im Fall eines Plattenausfalls von Nutzen.
  • Gemäß dem Plattenarray dieser Erfindung wird eine Speicherplatzmenge, die ausreichend ist, um ein Wiederaufbauen von Benutzerdaten im Fall eines Plattenausfalls zu ermöglichen, in einer verteilten Weise über viele, vorzugsweise alle, Speicherplatten in dem Array beibehalten und verwendet, um eine RAID-1-Speicherung zu erhöhen. Keine einzelne Speicherplatte ist als die "Heiße-Reserve"-Platte bezeichnet. Alle Platten in dem Array speichern zugängliche Benutzerdaten derart, daß ein Speicherplatz zum Wiederaufbauen zur Verfügung gestellt werden kann. Die Verwendung eines Heiße-Reserve-Platzes verbessert die Leistungsfähigkeit beträchtlich, indem die Parallelität erhöht wird und indem mehr Kapazität für eine Spiegelspeicherung bereitgestellt wird. Im wesentlichen ist die zusätzliche Speicherplatte, die in der Vergangenheit ausschließlich für Heiße-Reserve-Ressourcen reserviert war, nun zum Zweck eines normalen Betriebs des Speicherns von Benutzerdaten in das Array integriert.
  • 5 zeigt ein beispielhaftes homogenes Plattenarray aus sechs Platten, das Speicherplatten 0 bis 5 aufweist, bevor ein Plattenausfall auftritt. Der gesamte Speicherplatz wird verwendet, um Benutzer- und redundante Daten gemäß Spiegel- oder Paritätstechniken zu speichern. Kein einziger Bereich und keine einzige Platte ist lediglich für Heiße-Reserve- Ressourcen reserviert. Hier sind 55% der Benutzerdaten in RAID-5-Paritätsbereichen gespeichert, und 45% sind in RAID-1-Spiegelbereichen gespeichert. Obwohl der gesamte Speicherplatz für eine normale Datenspeicherung verwendet wird, kann eine Quantität des Platzes im Fall eines Plattenausfalls zum Rekonstruieren von Benutzerdaten und zum Wiederherstellen einer Redundanz zur Verfügung gestellt werden. In dieser Figur wird der Heiße-Reserve-Platz, der zur Verfügung gestellt werden kann, derzeit als RAID-1-Speicherplatz verwendet, der über die Speicherplatten in dem Array verteilt ist.
  • 6 zeigt dasselbe Plattenarray wie 5, aber im Anschluß an einen Ausfall der Speicherplatte 5. Die auf der Platte 5 gespeicherten Benutzer- und/oder redundanten Daten sind verloren. Auf einen Ausfall hin beginnt das Plattenarray einen Wiederaufbauvorgang, um eine Redundanz in dem System wiederaufzubauen. Durch Bewegen von Daten von dem Spiegelspeicher zu dem Paritätsspeicher wird Platz zur Verfügung gestellt. Diese Migration erhöht gleichzeitig den Umfang an Paritätsspeicher, während sie den Umfang an Spiegelspeicher verringert. Gleichzeitig mit diesem Migrationsvorgang wird die Größe aller Streifen in dem System um ein Segment, das aufgrund der ausgefallenen Speicherplatte verloren ist, verringert. Man beachte, daß sich die Streifen nun lediglich über die Platten 0 bis 4 und nicht über die Platte 5 erstrecken. Infolge dieser Datenmigration und Verringerung der Streifengröße sind nun 90% der Benutzerdaten in RAID-5-Bereichen gespeichert, und 10% sind in ARID-1-Bereichen gespeichert. Im Anschluß an diesen Wiederaufbauvorgang wurde die Redundanz in dem Plattenarray wiederhergestellt.
  • 7 veranschaulicht, wie eine Datenmigration im Anschluß an einen Ausfall der Platte 5 zusätzlichen Platz freimacht. Diese Figur zeigt Abschnitte der Speicherplatten 0 bis 5, die zwei Sätze von drei Streifen enthalten, die allgemein mit den Zahlen 90 und 92 bezeichnet sind. Daten in den obe ren drei Streifen 90 sind gemäß Spiegelspeichertechniken gespeichert, bei denen Benutzerdaten in den Segmenten 1 bis 9 gespeichert sind und redundante Daten in den Segmenten 1' bis 9' gespeichert sind. Man beachte, daß die redundanten Daten 3', 6' und 9' auf der Platte 5 aufgrund des Ausfalls dieser Platte verlorengingen.
  • Bei dem Beispiel der 7 sei angenommen, daß die Benutzerdaten in den Streifen 90 zu dem unteren Satz von Streifen 92 bewegt werden. Aufgrund der Differenz bezüglich der redundanten Speichertechniken können die Benutzerdaten 1 bis 9 hier in weniger Segmenten gespeichert werden. Trotz des Verlustes der Platte 5 kann die Datenmigration, die an drei zusätzlichen Segmenten (als "unbenutzt" bezeichnet) zur Verfügung gestellt ist, nun verwendet werden, um Benutzerdaten zu speichern.
  • Die Fähigkeit, Heiße-Reserve-Platz als RAID-1-Speicher zu verwenden, während ein Wiederaufbauen im Anschluß, an einen Plattenausfall garantiert wird, wird durch einen Speicherverwalter verwaltet. Bei der bevorzugten Implementierung ist der Speicherverwalter als das RAID-Verwaltungssystem 16 (1) verkörpert, das die Benutzerdaten, die redundanten Daten und den unbenutzten Platz auf dem Plattenarray nachverfolgt.
  • Das RAID-Verwaltungssystem gewährleistet, daß ein unbenutzter Speicherplatz zu Heiße-Reserve-Zwecken zur Verfügung gestellt werden kann, indem dem Umfang an virtuellem Speicherplatz der Anwendungsebene (bei 4 Platz 50), der einem Benutzer überlassen werden kann, eine künstliche Obergrenze auferlegt wird ("künstlich" insofern, als die Menge an virtuellem Speicherplatz der Anwendungsebene in bezug auf das, was zur Verfügung gestellt würde, wenn die Heiße-Reserve-Option nicht bestünde, verringert ist). Um diese Obergrenze zu liefern, berechnet das RAID-Verwaltungssystem routinemäßig eine Kapazität des virtuellen Speicherplatzes der Anwendungsebene, der einem Benutzer überlassen werden kann, während gewährleistet wird, daß das Plattenarray trotzdem noch seine erforderlichen Funktionen (z. B. Datenmigration) erfüllen kann. Wenn der Benutzer die Heiße-Reserve-Option wählt, berechnet das RAID-Verwaltungssystem die Anwendungsebenenkapazität so, als ob sie nicht die Kapazität der Speicherplatte der größten Größe in dem Array umfassen würde. Die Kapazität der größten Speicherplatte wird verwendet, um zu garantieren, daß der Wiederaufbauvorgang durchgeführt werden kann, falls irgendeine Speicherplatte, einschließlich der größten, in dem Array ausfällt. Bei einem homogenen Plattenarray, bei dem alle Speicherplatten dieselbe Größe aufweisen, kann die Kapazität jeglicher Speicherplatte verwendet werden.
  • Nachdem die künstliche Obergrenze berechnet wurde, setzt das RAID-Verwaltungssystem diese Grenze durch, indem es ein Überlassen von zusätzlichem virtuellem Speicherplatz der Anwendungsebene über die berechnete Kapazität hinaus verhindert. Diese kombinierte Kapazitätsanalyse und -durchsetzung verringert künstlich die Größe des virtuellen Speicherplatzes der Anwendungsebene, um dadurch zu gewährleisten, daß eine ausreichende Quantität des virtuellen Speicherplatzes der RAID-Ebene zum Wiederaufbauen im Falle des Ausfalls einer Speicherplatte zur Verfügung gestellt werden kann.
  • Falls der gegenwärtige Umfang an virtuellem Speicherplatz der Anwendungsebene nicht gefüllt werden kann, während gleichzeitig eine heiße Reserve garantiert wird, erzeugt das RAID-Verwaltungssystem eine Warnung, um den Benutzer zu informieren, daß kein Heiße-Reserve-Platz verfügbar ist. Diese Situation kann entstehen, wenn das Plattenarray bereits eine Speicherplatte verloren hat. Beispielsweise könnte das Plattenarray der 6, das bereits eine ausgefallene Platte 5 aufweist, keinen weiteren Plattenverlust hinnehmen und trotzdem die Redundanz der Benutzerdaten aufrechterhalten. Eine andere Situation könnte entstehen, wenn der Benutzer die Heiße-Reserve-Option anfänglich nicht freigibt, jedoch später dieses Merkmal anfordert, nachdem die Größe des virtuellen Speicherplatzes der Anwendungsebene bereits eingestellt wurde. Das Plattenarray ist an diesem Punkt eventuell nicht in der Lage, Heiße-Reserve-Ressourcen zu garantieren.
  • 8 zeigt ein bevorzugtes Verfahren zum Betreiben des Plattenarrays während normaler Bedingungen und im Falle eines Plattenausfalls. Bei Schritt 100 bildet das RAID-Verwaltungssystem 16 den durch das Plattenarray 12 bereitgestellten physischen Speicherplatz in einen ersten virtuellen Speicherplatz 40 bzw. einen virtuellen Speicherplatz 40 der RAID-Ebene ab (siehe 4). Wie oben beschrieben wurde, präsentiert der virtuelle Speicherplatz der RAID-Ebene den physischen Speicherplatz als Spiegel- und Paritäts-RAID-Bereiche. Bei Schritt 102 gewährleistet das RAID-Verwaltungssystem, daß über das Plattenarray genügend Speicherplatz zur Verwendung im Fall eines Plattenausfalls zur Verfügung gestellt werden kann.
  • Anfänglich, wenn Daten zuerst in dem System plaziert werden, werden die Daten gänzlich in dem Spiegelspeicher gespeichert (Schritt 104). Die Benutzerdaten und ihre redundanten Gegenstücke werden vorzugsweise gleichmäßig über die Platten in dem Array verteilt. Eine Spiegelspeicherung liefert eine bessere Leistungsfähigkeit und Zuverlässigkeit im Vergleich zu einer Paritätsspeicherung und ist somit der bevorzugte Speichertyp. Wenn die Menge an Benutzerdaten ungefähr die Hälfte der physischen Kapazität der Platten in dem System erreicht, ist das Plattenarray effektiv voll, da die Benutzerdaten ungefähr die Hälfte der Speicherkapazität einnehmen und die redundanten Daten ungefähr die andere Hälfte einnehmen. Wenn die Menge an Benutzerdaten die 50%-Schwelle überschreitet, beginnt das RAID-Verwaltungssystem, Daten unter Verwendung einer Datenmigration zwischen den Typen sowohl in Spiegel- als auch Paritäts-RRID-Bereichen zu speichern (Schritt 106). Im Gegensatz zu einer Spiegelspeicherung können unter Verwendung einer Paritätsspeiche rung mehr Benutzerdaten in demselben Platzumfang gespeichert werden (wie oben bei 7 veranschaulicht ist). Während sich das Datenspeichersystem weiterhin füllt, werden proportional mehr Daten zu dem Paritätsspeicher bewegt, um das zunehmende Datenvolumen zu berücksichtigen. Die Menge an Benutzerdaten in dem Spiegelspeicher nimmt ab.
  • Für den Fall, daß eine Speicherplatte zu einem beliebigen Zeitpunkt während des normalen Betriebs ausfällt (wie durch die gestrichelten Linien zum Schritt 108 veranschaulicht ist), initiiert das RAID-Verwaltungssystem den Wiederaufbauvorgang. Bei Schritt 109 wertet das RAID-Verwaltungssystem aus, ob ein entsprechender Umfang an Heiße-Reserve-Platz vorliegt, der im Fall eines Plattenausfalls zur Verfügung gestellt werden kann. Mit anderen Worten, kann das System ohne die ausgefallene Speicherplatte in der Lage sein, die gesamte überlassene Kapazität mit einer Redundanz zu speichern? Falls kein ausreichender Platz vorliegt, um im Fall eines Plattenausfalls die gesamte überlassene Kapazität mit einer Redundanz zu speichern (d. h. der "Nein"-Zweig aus Schritt 109), wird das Plattenarrayspeichersystem in einem verschlechterten Zustand ohne Heiße-Reserve-Ressourcen oder die Fähigkeit, eine Redundanz wiederherzustellen, betrieben (Schritt 111).
  • Wenn dagegen ein ausreichender Platz für eine heiße Reserve vorliegt (d. h. der "Ja"-Zweig aus Schritt 109), bestimmt das RAID-Verwaltungssystem, ob ausreichend Platz für die Zwecke des Rekonstruierens von Benutzerdaten und des Wiederherstellens einer Redundanz zur Verfügung gestellt wurde (Schritt 110). Falls dies der Fall ist (d. h. der "Ja"-Zweig aus Schritt 110), verwendet das Plattenarray den verfügbaren freien Platz zum Rekonstruieren der Benutzerdaten von der ausgefallenen Speicherplatte und zum Wiederherstellen der Redundanz (Schritt 112). Alternativ dazu, falls nicht genügend Platz zur Verfügung gestellt wurde (d. h. der "Nein"-Zweig von Schritt 110), bewegt das RAID-Verwaltungssystem Benutzerdaten von dem Spiegelspeicher zu dem Paritätsspeicher, um einen verfügbaren Speicherplatz freizumachen, um den verlorenen Platz auf der ausgefallenen Speicherplatte zu kompensieren. Das RAID-Verwaltungssystem bewegt so lange Daten von dem Spiegel- zum Paritätsspeicher (wie durch die Schleife der Schritte 110 und 114 dargestellt ist), bis ein ausreichender Umfang an verfügbarem Speicherplatz freigemacht ist, um den Bedarf an dem ausgefallenen Plattenplatz zu eliminieren.
  • Das Plattenarraysystem dieser Erfindung weist insofern Vorteile gegenüber bekannten Plattenarrays auf, als alle Speicherplatten gleichermaßen verwendet werden, um Daten in einem Spiegelspeicher zu speichern, während ein Wiederaufbau im Anschluß an einen Plattenausfall garantiert wird. Es gibt keine zweckgebundene Speicherplatte, die ungenutzt bleibt, bis ein Ausfall auftritt. Die Verwendung eines Heiße-Reserve-Speichers als Spiegelspeicher verbessert die Leistungsfähigkeit des gesamten Plattenarrays beträchtlich, indem die Parallelität erhöht wird und die Komplexität des Verwaltens der Schreiboperationen in redundante Speicherplätze verringert wird.
  • Vorschriftsgemäß wurde die Erfindung in einer Sprache beschrieben, die mehr oder weniger spezifisch für strukturelle und methodische Merkmale ist. Man sollte jedoch verstehen, daß die Erfindung nicht auf die gezeigten und beschriebenen spezifischen Merkmale beschränkt ist, da die hierin offenbarten Einrichtungen bevorzugte Formen der Umsetzung der Erfindung umfassen. Deshalb ist die Erfindung in jeglicher ihrer Formen oder Modifikationen in dem ordnungsgemäßen Schutzumfang der beigefügten Patentansprüche beansprucht, die gemäß der Äquivalente-Doktrin entsprechend interpretiert werden.

Claims (9)

  1. Ein Verfahren zum Bereitstellen von Speicherplatz in einem hierarchischen Speicherplattenarray zur Verwendung beim Wiederaufbauen in dem Fall, daß eine Speicherplatte ausfällt, wobei das Plattenarray (11) eine Mehrzahl von Speicherplatten (12) aufweist, die einen physischen Speicherplatz definieren, wobei der physische Speicherplatz in einen virtuellen Speicherplatz einer RAID-Ebene abgebildet ist, der den physischen Speicherplatz als mehrere RAID-Bereiche präsentiert, die Spiegel- und Paritäts-RAID-Bereiche umfassen, wobei das Verfahren folgende Schritte aufweist: vor einem Plattenausfall, Speichern von Benutzerdaten sowohl in den Spiegel- als auch den Paritäts-RAID-Bereichen, derart, daß die Benutzerdaten über alle Speicherplatten (12) verteilt sind; Speichern von redundanten Daten auf zumindest einer der Speicherplatten (12); Gewährleisten, daß eine ausreichende Quantität an Speicherplatz für ein Rekonstruieren von Benutzerdaten und ein Wiederherstellen einer Redundanz in dem Fall, daß eine der Speicherplatten ausfällt, zur Verfügung gestellt werden kann, so daß die Benutzerdaten vor und nach dem Speicherplattenausfall sowohl in den Spiegelals auch den Paritäts-RAID-Bereichen auf allen Speicherplatten (12) gespeichert sind; und Verwenden der Quantität an Speicherplatz, um sowohl Benutzer- als auch Redundanzdaten zu speichern, bis der Speicherplattenausfall auftritt.
  2. Ein Verfahren gemäß Anspruch 1, das ferner den Schritt des Umwandelns des zum Speichern von Benutzer- und redundanten Daten verwendeten Speicherplatzes in einen Heiße-Reserve-Platz zum Rekonstruieren der Benutzerdaten und zum Wiederherstellen der Redundanz aufweist.
  3. Ein Verfahren gemäß Anspruch 1, das ferner den Schritt des Erzeugens einer Warnung aufweist, um einen Benutzer zu informieren, daß Heiße-Reserve-Ressourcen nicht garantiert werden können, wenn bestimmt wird, daß im Anschluß an einen Plattenausfall keine ausreichende Quantität an Speicherplatz zum Rekonstruieren von Benutzerdaten und zum Wiederherstellen der Redundanz in dem Plattenarray zur Verfügung gestellt werden kann.
  4. Ein Verfahren zum Bereitstellen eines Speicherplatzes zur Verwendung beim Wiederaufbauen in einem hierarchischeu Datenspeichersystem, wobei das Datenspeichersystem (10) ein Plattenarray (11) von mehr als zwei Speicherplatten (12) ausgewählter Kapazitäten aufweist, die einen physischen Speicherplatz (34) definieren, wobei das Verfahren folgende Schritte aufweist: Abbilden des physischen Speicherplatzes (34) in einen virtuellen Speicherplatz (40) einer RAID-Ebene, der den physischen Speicherplatz als mehrere RAID-Bereiche präsentiert, wobei die RAID-Bereiche Spiegel- RAID-Bereiche, die Daten gemäß einer Spiegelredundanz speichern, und Paritäts-RAID-Bereiche umfassen, die Daten gemäß einer Paritätsredundanz speichern, wobei sich die Spiegel- und Paritäts-RAID-Bereiche über alle Speicherplatten in dem Plattenarray erstrecken; Speichern von Benutzerdaten sowohl in den Spiegel- als auch den Paritäts-RAID-Bereichen, derart, daß die Benutzerdaten über alle Speicherplatten (12) in dem Plattenarray (11) verteilt sind; Gewährleisten, daß eine ausreichende Quantität des virtuellen Speicherplatzes (40) der RAID-Ebene zum Rekonstruieren von Benutzerdaten und Wiederherstellen einer Redundanz im Fall eines Speicherplattenausfalls zur Verfügung gestellt werden kann; Verwenden der Quantität des virtuellen Speicherplatzes der RAID-Ebene, um Daten zu speichern, bis der Speicherplattenausfall auftritt; und im Fall eines Speicherplattenausfalls, Durchführen eines der folgenden zwei Schritte: (a) Verwenden eines unbenutzten Speicherplatzes, der nicht als Spiegel- oder Paritäts-RAID-Bereiche zugewiesen ist, als den Speicherplatz, um Benutzerdaten zu rekonstruieren und die Redundanz von der ausgefallenen Speicherplatte wiederherzustellen, oder (b) Bewegen von Benutzerdaten von Spiegel-RAID-Bereichen zu Päritäts-RAID-Bereichen und Verdichten der Spiegel-RAID-Bereiche, um Speicherplatz freizumachen, um den von der ausgefallenen Speicherplatte verlorenen Platz zu kompensieren; wobei jede Speicherplatte vor und nach einem Speicherplattenausfall Daten gemäß sowohl einer Spiegel- als auch einer Paritätsredundanz speichert.
  5. Ein Verfahren gemäß Anspruch 4, das ferner folgende Schritte aufweist: Abbilden des virtuellen Speicherplatzes (40) der RAID-Ebene in einen virtuellen Speicherplatz (50) einer Anwendungsebene; dynamisches Bewegen der Benutzerdaten zwischen den Spiegel- und den Paritäts-RAID-Bereichen; und Berechnen einer Kapazität des virtuellen Speicherplatzes (50) der Anwendungsebene, die einem Benutzer überlassen werden kann, ohne eine Kapazität einer Speicherplatte einer größten Größe zu umfassen.
  6. Ein Verfahren gemäß Anspruch 5, das ferner den zusätzlichen Schritt des Verhinderns eines Überlassens von zusätzlichem virtuellem Speicherplatz (50) der Anwendungsebene über die berechnete Kapazität hinaus aufweist, um zu gewährleisten, daß die ausreichende Quantität des virtuellen Speicherplatzes (40) der RRID-Ebene zum Wiederaufbauen zur Verfügung gestellt werden kann.
  7. Ein Datenspeichersystem, das folgende Merkmale aufweist: ein hierarchisches Plattenarray (11), das eine Mehrzahl von Speicherplatten (12) aufweist, die einen physischen Speicherplatz definieren; eine Plattenarraysteuerung (14), die mit dem Plattenarray (11) gekoppelt ist, zum Koordinieren eines Transfers von Benutzerdaten zu und von den Speicherplatten (12); einen Speicherverwalter, der wirksam mit der Plattenspeichersteuerung gekoppelt ist, um eine Abbildung des physischen Speicherplatzes in einen virtuellen Speicherplatz der RAID-Ebene, die den physischen Speicherplatz als mehrere RAID-Bereiche präsentiert, die Spiegel-RAID-Bereiche, die Daten gemäß einer Spiegelredundanz speichern, und Paritäts-RAID-Bereiche, die Daten gemäß einer Paritätsredundanz speichern, einschließen, zu verwalten, wobei der Speicherverwalter Benutzerdaten sowohl in dem Spiegel- als auch dem Paritäts-RAID-Bereich speichert, derart, daß die Benutzerdaten vor einem etwaigen Plattenausfall über alle Speicherplatten in dem Plattenarray verteilt sind; und wobei der Speicherverwalter (16) eine ausreichende Quantität an Speicherplatz beibehält, der zum Rekonstruieren der Benutzerdaten und Wiederherstellen einer Redundanz zur Verfügung gestellt werden kann, falls eine der Speicherplatten ausfällt, wobei der Speicherverwalter (16) die Quantität an Speicherplatz verwendet, um sowohl Benutzer- als auch redundante Daten zu speichern, während er garantiert, daß der Speicherplatz im Anschluß an einen Speicherplattenausfall zum Wiederaufbauen zur Verfügung gestellt werden kann, so daß jede Speicherplatte die Benutzerdaten vor und nach einem Speicherplattenausfall gemäß sowohl einer Spiegel- als auch einer Paritätsredundanz speichert.
  8. Ein Datenspeichersystem gemäß Anspruch 7, bei dem: das RAID-Verwaltungssystem den virtuellen Speicherplatz (40) der RAID-Ebene ferner in einen virtuellen Speicherplatz (50) der Anwendungsebene abbildet; und das RAID-Verwaltungssystem eine Kapazität des virtuellen Speicherplatzes (50) der Anwendungsebene berechnet, die einem Benutzer überlassen werden kann, ohne eine Kapazität einer Speicherplatte einer größten Größe zu umfassen.
  9. Ein Datenspeichersystem gemäß Anspruch 8, bei dem das RAID-Verwaltungssystem ein Überlassen von zusätzlichem virtuellem Speicherplatz (50) der Anwendungsebene über die berechnete Kapazität hinaus verhindert, um zu gewährleisten, daß die ausreichende Quantität des virtuellen Speicherplatzes (40) der RAID-Ebene zum Rekon struieren der Benutzerdaten und Wiederherstellen der Redundanz zur Verfügung gestellt werden kann.
DE69532030T 1995-02-10 1995-08-04 Speicherplattenanordnung mit Ersatzbetriebsmitteln in Betrieb und Verfahren zur Verwendung von Ersatzbetriebsmitteln zum Speichern von Benutzerdaten Expired - Lifetime DE69532030T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/386,574 US5666512A (en) 1995-02-10 1995-02-10 Disk array having hot spare resources and methods for using hot spare resources to store user data
US386574 1995-02-10

Publications (2)

Publication Number Publication Date
DE69532030D1 DE69532030D1 (de) 2003-12-04
DE69532030T2 true DE69532030T2 (de) 2004-06-17

Family

ID=23526167

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69532030T Expired - Lifetime DE69532030T2 (de) 1995-02-10 1995-08-04 Speicherplattenanordnung mit Ersatzbetriebsmitteln in Betrieb und Verfahren zur Verwendung von Ersatzbetriebsmitteln zum Speichern von Benutzerdaten

Country Status (4)

Country Link
US (1) US5666512A (de)
EP (1) EP0726521B1 (de)
JP (1) JP3753259B2 (de)
DE (1) DE69532030T2 (de)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334195B1 (en) * 1995-12-29 2001-12-25 Lsi Logic Corporation Use of hot spare drives to boost performance during nominal raid operation
US5941994A (en) * 1995-12-22 1999-08-24 Lsi Logic Corporation Technique for sharing hot spare drives among multiple subsystems
JP3140957B2 (ja) * 1996-02-16 2001-03-05 インターナショナル・ビジネス・マシーンズ・コーポレ−ション デイスク装置およびデイスク装置におけるエラー処理方法
US5875457A (en) * 1996-10-08 1999-02-23 Mylex Corporation Fault-tolerant preservation of data integrity during dynamic raid set expansion
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
JP3595099B2 (ja) * 1997-03-17 2004-12-02 富士通株式会社 デバイスアレイ・システム
US6098119A (en) * 1998-01-21 2000-08-01 Mylex Corporation Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level
US6230240B1 (en) * 1998-06-23 2001-05-08 Hewlett-Packard Company Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface
US6243795B1 (en) 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
US6530035B1 (en) * 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6519679B2 (en) 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6842422B1 (en) 1999-06-15 2005-01-11 Marconi Communications, Inc. Data striping based switching system
US6430714B1 (en) * 1999-08-06 2002-08-06 Emc Corporation Failure detection and isolation
US6513093B1 (en) * 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
WO2001040925A1 (fr) * 1999-12-02 2001-06-07 Fujitsu Limited Batterie de disques et procede d'extension de sa capacite
US6785785B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Method for supporting multi-level stripping of non-homogeneous memory to maximize concurrency
US6530004B1 (en) 2000-06-20 2003-03-04 International Business Machines Corporation Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration
US6691136B2 (en) 2000-09-28 2004-02-10 Fair Issac Corporation Fast data retrieval based upon contiguous consolidation of records according to frequency of access
US6595998B2 (en) * 2001-03-08 2003-07-22 Spinewave, Inc. Tissue distraction device
US6802023B2 (en) 2001-03-15 2004-10-05 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having hot insertion system and method
US6708285B2 (en) 2001-03-15 2004-03-16 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having system and method for handling controller resets
US6715101B2 (en) 2001-03-15 2004-03-30 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having an on-line controller removal system and method
US6845465B2 (en) * 2001-09-17 2005-01-18 Sun Microsystems, Inc. Method and system for leveraging spares in a data storage system including a plurality of disk drives
US6710958B2 (en) 2001-10-26 2004-03-23 Hewlett-Packard Development Company, L.P. Optimized sparing table and method
US7055056B2 (en) * 2001-11-21 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for ensuring the availability of a storage system
US7111117B2 (en) * 2001-12-19 2006-09-19 Broadcom Corporation Expansion of RAID subsystems using spare space with immediate access to new space
KR100463841B1 (ko) * 2002-02-25 2004-12-29 한국전자통신연구원 레이드 서브 시스템과 이를 이용한 디스크 에러 모드에서데이터 입출력 및 복구 방법
US6732233B2 (en) * 2002-05-21 2004-05-04 International Business Machines Corporation Hot spare reliability for storage arrays and storage networks
US6934804B2 (en) * 2002-05-28 2005-08-23 Sun Microsystems, Inc. Method and system for striping spares in a data storage system including an array of disk drives
US7024585B2 (en) * 2002-06-10 2006-04-04 Lsi Logic Corporation Method, apparatus, and program for data mirroring with striped hotspare
US7337269B2 (en) * 2002-10-03 2008-02-26 Hewlett Packard Development Company, L.P. Method of managing a data storage array, and a computer system including a raid controller
US7216195B1 (en) * 2003-03-29 2007-05-08 Emc Corporation Architecture for managing disk drives
US7062673B2 (en) * 2003-05-19 2006-06-13 Hitachi Global Technologies System and method for sparing in RAID-1 system
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
US7058762B2 (en) * 2003-06-09 2006-06-06 Hewlett-Packard Development Company, L.P. Method and apparatus for selecting among multiple data reconstruction techniques
US7827353B2 (en) * 2003-07-15 2010-11-02 International Business Machines Corporation Self healing memory
GB0320494D0 (en) * 2003-09-02 2003-10-01 Ibm Methods apparatus and controllers for a raid storage system
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
JP4384470B2 (ja) * 2003-10-21 2009-12-16 株式会社日立製作所 記憶装置の管理方法
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7266717B2 (en) 2004-01-26 2007-09-04 Network Appliance, Inc. System and method of selection and communication of a disk for storage of a coredump
US20050193273A1 (en) * 2004-02-18 2005-09-01 Xiotech Corporation Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
GB2411258A (en) 2004-02-18 2005-08-24 Hewlett Packard Development Co A method of maintaining a data storage system comprising an array of storage modules
US7188212B2 (en) * 2004-05-06 2007-03-06 International Business Machines Corporation Method and system for storing data in an array of storage devices with additional and autonomic protection
US7093157B2 (en) * 2004-06-17 2006-08-15 International Business Machines Corporation Method and system for autonomic protection against data strip loss
US7313721B2 (en) * 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array
GB0419599D0 (en) * 2004-09-03 2004-10-06 Ibm Controlling preemptive work balancing in data storage
GB2418769B (en) * 2004-10-02 2009-06-17 Hewlett Packard Development Co Method and system for storing data
EP1825372A2 (de) * 2004-11-05 2007-08-29 Data Robotics Incorporated Dynamisch expandierbares und kontrahierbares fehlertolerantes speichersystem, das verschieden grosse speichereinrichtungen gestattet, und verfahren
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP4441929B2 (ja) * 2005-01-19 2010-03-31 日本電気株式会社 ディスク装置及びホットスワップ方法
US7484038B1 (en) * 2005-01-26 2009-01-27 Network Appliance, Inc. Method and apparatus to manage storage devices
JP4754852B2 (ja) * 2005-03-15 2011-08-24 富士通株式会社 ストレージ制御装置および方法
US20060236149A1 (en) * 2005-04-14 2006-10-19 Dell Products L.P. System and method for rebuilding a storage disk
US20060253674A1 (en) * 2005-05-06 2006-11-09 Xiv Ltd. Automatic disk healing
US7596673B2 (en) * 2005-12-08 2009-09-29 Sony Corporation Failure tolerant data storage
US7743276B2 (en) * 2006-09-27 2010-06-22 Hewlett-Packard Development Company, L.P. Sufficient free space for redundancy recovery within a distributed data-storage system
JP2008102590A (ja) * 2006-10-17 2008-05-01 Hitachi Ltd ストレージシステムの運用管理方法およびストレージシステム
KR100800484B1 (ko) * 2006-11-03 2008-02-04 삼성전자주식회사 불휘발성 메모리를 위한 버퍼와 디스크를 위한 버퍼를구비하는 데이터 저장 시스템 및 상기 데이터 저장시스템의 데이터 억세스 방법
US20080155213A1 (en) * 2006-12-20 2008-06-26 International Business Machines Corporation Data Logging and Hot Spare Device Management
JP2008181416A (ja) 2007-01-25 2008-08-07 Hitachi Ltd 記憶システム及びデータ管理方法
US7958303B2 (en) * 2007-04-27 2011-06-07 Gary Stephen Shuster Flexible data storage system
US7987383B1 (en) 2007-04-27 2011-07-26 Netapp, Inc. System and method for rapid indentification of coredump disks during simultaneous take over
US20090265510A1 (en) * 2008-04-17 2009-10-22 Dell Products L.P. Systems and Methods for Distributing Hot Spare Disks In Storage Arrays
US8099623B1 (en) * 2008-10-08 2012-01-17 Netapp, Inc. Efficient distributed hot sparing scheme in a parity declustered RAID organization
JP5056747B2 (ja) * 2008-12-25 2012-10-24 富士通株式会社 記憶領域管理装置、記憶領域管理方法
US8392654B2 (en) * 2009-04-17 2013-03-05 Lsi Corporation Raid level migration for spanned arrays
JP2010113727A (ja) * 2009-12-21 2010-05-20 Hitachi Ltd 制御方法及び記憶システム
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
JP5806792B2 (ja) 2010-03-12 2015-11-10 エルエスアイ コーポレーション フラッシュメモリ用のldpc消失復号化
WO2012075200A2 (en) * 2010-12-01 2012-06-07 Sandforce, Inc. Dynamic higher-level redundancy mode management with independent silicon elements
US9727414B2 (en) 2010-12-01 2017-08-08 Seagate Technology Llc Fractional redundant array of silicon independent elements
US8719663B2 (en) 2010-12-12 2014-05-06 Lsi Corporation Cross-decoding for non-volatile storage
JP2014507717A (ja) * 2011-01-18 2014-03-27 エルエスアイ コーポレーション より高いレベルの冗長な情報の計算
US9594421B2 (en) 2011-03-08 2017-03-14 Xyratex Technology Limited Power management in a multi-device storage array
US8959389B2 (en) 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US8856431B2 (en) 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
JP6035991B2 (ja) 2012-08-15 2016-11-30 富士通株式会社 ストレージ制御方法、およびストレージ制御装置
US9454434B2 (en) 2014-01-17 2016-09-27 Netapp, Inc. File system driven raid rebuild technique
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
JP6244974B2 (ja) * 2014-02-24 2017-12-13 富士通株式会社 ストレージ装置、及びストレージ装置の制御方法
US9563509B2 (en) 2014-07-15 2017-02-07 Nimble Storage, Inc. Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
CN105893188B (zh) * 2014-09-30 2018-12-14 伊姆西公司 用于加速磁盘阵列的数据重构的方法和装置
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US10026454B2 (en) 2015-04-28 2018-07-17 Seagate Technology Llc Storage system with cross flow cooling of power supply unit
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
CN108153622B (zh) * 2016-12-06 2021-08-31 华为技术有限公司 一种故障处理的方法、装置和设备
US10664367B2 (en) 2017-11-30 2020-05-26 International Business Machines Corporation Shared storage parity on RAID
CN110389858B (zh) * 2018-04-20 2023-06-09 伊姆西Ip控股有限责任公司 存储设备的故障恢复方法和设备
US10929037B2 (en) 2019-06-15 2021-02-23 International Business Machines Corporation Converting a RAID to a more robust RAID level
US11442826B2 (en) 2019-06-15 2022-09-13 International Business Machines Corporation Reducing incidents of data loss in raid arrays having the same raid level
US11074118B2 (en) 2019-06-15 2021-07-27 International Business Machines Corporation Reporting incidents of data loss in RAID arrays
CN111597066B (zh) * 2020-05-14 2023-06-06 深圳忆联信息系统有限公司 Ssd修复方法、装置、计算机设备及存储介质
CN114253460A (zh) * 2020-09-23 2022-03-29 伊姆西Ip控股有限责任公司 管理存储池的方法、设备和计算机程序产品
US11436142B1 (en) * 2021-04-23 2022-09-06 EMC IP Holding Company, LLC System and method for moving metadata without updating references used by the metadata

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032614T2 (de) * 1989-11-03 1999-04-15 Compaq Computer Corp Verfahren zur Datenverteilung in einer Speicherplattenanordnung
JPH0792775B2 (ja) * 1989-12-11 1995-10-09 株式会社日立製作所 外部記憶装置群のスペース管理方法
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
AU8683991A (en) * 1990-11-09 1992-05-14 Array Technology Corporation Logical partitioning of a redundant array storage system
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5258984A (en) * 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5301297A (en) * 1991-07-03 1994-04-05 Ibm Corp. (International Business Machines Corp.) Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5297258A (en) * 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
US5287462A (en) * 1991-12-20 1994-02-15 Ncr Corporation Bufferless SCSI to SCSI data transfer scheme for disk array applications
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
US5289418A (en) * 1992-02-14 1994-02-22 Extended Systems, Inc. Memory apparatus with built-in parity generation
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
US5455934A (en) * 1993-03-23 1995-10-03 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5574851A (en) * 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5485571A (en) * 1993-12-23 1996-01-16 International Business Machines Corporation Method and apparatus for providing distributed sparing with uniform workload distribution in failures
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5479653A (en) * 1994-07-14 1995-12-26 Dellusa, L.P. Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
US5572661A (en) * 1994-10-05 1996-11-05 Hewlett-Packard Company Methods and system for detecting data loss in a hierarchic data storage system
US5615352A (en) * 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
US5524204A (en) * 1994-11-03 1996-06-04 International Business Machines Corporation Method and apparatus for dynamically expanding a redundant array of disk drives
US5542065A (en) * 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system

Also Published As

Publication number Publication date
JPH08221876A (ja) 1996-08-30
JP3753259B2 (ja) 2006-03-08
EP0726521A2 (de) 1996-08-14
US5666512A (en) 1997-09-09
DE69532030D1 (de) 2003-12-04
EP0726521A3 (de) 2000-02-23
EP0726521B1 (de) 2003-10-29

Similar Documents

Publication Publication Date Title
DE69532030T2 (de) Speicherplattenanordnung mit Ersatzbetriebsmitteln in Betrieb und Verfahren zur Verwendung von Ersatzbetriebsmitteln zum Speichern von Benutzerdaten
DE69533058T2 (de) Speicherplattenanordnung mit redundanter Speicherung und Verfahren zur inkrementalen Redundanzerzeugung während des Datenschreibens auf die Speicherplattenanordnung
DE69534057T2 (de) Verfahren zur Vermeidung der Über-Zuteilung virtueller Kapazität in einem redundanten hierarchischen Datenspeichersystem
DE69534527T2 (de) Verfahren zur Verwendung von nicht-aneinandergrenzenden reservierten Speicherplatz zur Datenmigration in einem hierarchischen redundanten Datenspeichersystem
DE69533575T2 (de) Verfahren der und System zur Speicherplatzreservierung für Datenmigration in einem hierarchischen Datenspeicherungssystem durch dynamische Berechnung maximalen Speicherplatzes für Spiegelredundanz
DE69534363T2 (de) Verfahren um Festplatten zu einer Festplattenanordnung hinzuzufügen und gleichzeitig die Datenerreichbarkeit zu gewährleisten
DE69533077T2 (de) Speichersystem mit hierarchischer Speicherplattenanordnung und Abbildungsspeicher zur Dauerspeicherung der virtuellen Abbildungsinformation
DE69533764T2 (de) Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung
DE69533570T2 (de) Verfahren und System zum Erkennen von Datenverlust in einem hierarchischen Datenspeichersystem
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112013006504B4 (de) Speichersystem und Datenverwaltungsverfahren
DE69626569T2 (de) Datenkompressionsverfahren und Struktur für eine Speichereinheit mit direktem Zugriff
DE69738091T2 (de) Speicherplattenanordnung und Verfahren zu deren Steuerung
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE4143072C2 (de) Blockweise löschbarer nicht-flüchtiger Halbleiterspeicher
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE69819686T2 (de) Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE102004013114B4 (de) Plattenarrayvorrichtung
DE19983218B4 (de) Verfahren zum Codieren von Datensignalen zur Speicherung
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE19723909B4 (de) Verfahren zum Verbessern der Fehlerfestigkeit und Leistungsfähigkeit eines RAID-Untersystems
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE112018004370T5 (de) Verfahren zum wiederherstellen einer ausgefallenen speichervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE