[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE69629444T2 - Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten - Google Patents

Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten Download PDF

Info

Publication number
DE69629444T2
DE69629444T2 DE69629444T DE69629444T DE69629444T2 DE 69629444 T2 DE69629444 T2 DE 69629444T2 DE 69629444 T DE69629444 T DE 69629444T DE 69629444 T DE69629444 T DE 69629444T DE 69629444 T2 DE69629444 T2 DE 69629444T2
Authority
DE
Germany
Prior art keywords
storage device
storage
backup
data processing
bus
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
DE69629444T
Other languages
English (en)
Other versions
DE69629444D1 (de
Inventor
Rodney A. Dekoning
Gerald J. Fredin
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.)
LSI Corp
Original Assignee
LSI Logic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of DE69629444D1 publication Critical patent/DE69629444D1/de
Application granted granted Critical
Publication of DE69629444T2 publication Critical patent/DE69629444T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error 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 interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zum Verwalten von Daten und insbesondere, aber nicht ausschließlich, eine verbesserte Speicherarchitektur in einem Datenverarbeitungssystem zur Bereitstellung eines Ersatzspeichergerätes in einem Datenverarbeitungssystem.
  • In Datenverarbeitungssystemen werden kostenarme Hochleistungsspeicher mit hoher Zuverlässigkeit gewünscht. Hohe Zuverlässigkeit für verschiedene Speichergeräte, die in einem Datenverarbeitungssystem zum Einsatz kommen, ist teuer. Das Problem wird bei Plattenlaufwerksspeichersystemen besonders schwerwiegend. Es sind große Plattenlaufwerke erhältlich, die mehr als ein Gigabyte Daten speichern können. Der Prozessor in dem Datenverarbeitungssystem speichert Datendateien auf dem Plattenlaufwerksspeicher, indem er die Daten aller Dateien auf ein einziges Plattenlaufwerk schreibt. Der Ausfall eines solchen einzigen Plattenlaufwerks kann zum Verlust erheblicher Datenmengen führen. Plattenlaufwerke werden als äußerst zuverlässige Geräte konstruiert, um die Gefahr eines solchen katastrophalen Datenverlustes minimal zu halten. Die hohen Kosten für Zuverlässigkeit sind darin begründet, dass Plattenlaufwerke teuer sind.
  • In kritischen Situationen, bei denen der Verlust von auf dem Laufwerk gespeicherten Daten eine erhebliche Unterbrechung des Prozessorbetriebs in dem Datenverarbeitungssystem verursachen würde, kann zusätzliche Zuverlässigkeit durch Plattenschattierung oder Sichern jedes einzelnen Plattenlaufwerks mit einem zusätzlichen redundanten Plattenlaufwerk erzielt werden. Die Bereitstellung eines zweiten Plattenlaufwerks zum Sichern des primären Plattenlaufwerks bedeutet jedoch gewöhnlich mehr als eine Verdoppelung der Speicherkosten für das Dateiverarbeitungssystem. Es wurden verschiedene Speicherarchitekturen vorgeschlagen, um die Kosten für die Bereitstellung von Sicherungsschutz durch Plattenschattierung zu reduzieren. Bei einer Architektur werden nur Änderungen gespeichert, die an auf dem Plattenlaufwerk gespeicherten Daten vorgenommen wurden, und es werden nur die kritischsten auf dem Plattenlaufwerk gespeicherten Daten gesichert, und auf dem Plattenlaufwerk gespeicherte Daten werden nur periodisch gesichert, indem man sie auf einer weitaus weniger teuren Datenspeichereinheit abspeichert, die auch weitaus schlechtere Datenzugriffszeiten haben.
  • Eine weitere Alternative beinhaltet die Verwendung einer Reihe kleinerer Plattenlaufwerke, die zu einer parallelen Array zusammengeschaltet sind. Bei einem solchen System betrachtet der Mikroprozessor in dem Datenverarbeitungssystem die Array von Speichergeräten als ein sehr großes logisches Speichergerät mit logischen Spuren darauf. Jede logische Spur wäre um ein Vielfaches größer als eine physikalische Spur eines beliebigen der die Array bildenden physikalischen Speichergeräte. Eine solche Architektur wird häufig als DASD-Array (Direktzugriffsspeichergerät) bezeichnet, die einen Satz von synchron gewählten und betriebenen DASDs beinhaltet.
  • Eine besondere Form einer DASD-Array ist ein RAID-Speichersystem (redundante Array kostenarmer Platten), das als Alternative zu großen und teuren Plattenlaufwerken für den Einsatz in Datenverarbeitungssystemen entstanden ist. Fünf verschiedene RAID-Ebenen werden in einem Artikel mit dem Titel "A Case For Redundant Arrays of Inexpensive Disks (RAID)" von David Patterson et al., University of California Berkeley Report, Nr. UCD/CSD 87/391, Dezember 1987, beschrieben. In traditionellen RAID-Systemen beinhalten Konfigurationen gewöhnlich ein oder zwei Controller, die Laufwerke in einer geschützten Umgebung gemeinsam nutzen. In dieser Umgebung werden Plattenlaufwerke recht einfach verwaltet, da sie leicht mit dem Subsystem zu identifizieren sind, an dem sie angeschlossen sind.
  • So zeigt z. B. das US-Patent Nr. 5,210,866 von Milligan et al. in 1 dieses Dokumentes ein Plattenlaufwerkarray-Datenspeichersystem 100, in dem Ersatzplattenlaufwerke 125-1 bis 125-R anstelle eines gestörten Plattenlaufwerks zugeschaltet werden können, wie z. B. die Plattenlaufwerke 122-1 bis 122-n + m. Diese Ersatzplattenlaufwerke werden auch als "Hot Spare Devices" (HSD - Heißersatzgeräte) bezeichnet.
  • Eine solche Architektur bietet dem Benutzer höhere Datenzuverlässigkeit sowie eine hohe Leistung infolge einer schnelleren Rückkehr zu optimalen Redundanzbetriebsarten nach einem Geräteausfall. Viele Datenverarbeitungssysteme enthalten jedoch mehr als ein Plattenlaufwerkssubsystem. Innerhalb jedes Subsystems müssen derzeit HSDs für jedes dieser Plattenlaufwerkssubsysteme gekennzeichnet werden. Es ist jedoch wünschenswert, so wenige HSDs wie möglich in einem Datenverarbeitungssystem zu haben, das mehrere Speichergerätesubsysteme enthält.
  • Das Dokument GB-A-2 278 228 offenbart ein Speichersystem mit einer Mehrzahl von Speichergeräten im Rahmen eines Datenverarbeitungssystems, das einen Bus, ein Sicherungsspeichergerät für den Anschluss an den Bus und eine Mehrzahl von Speichersubsystemen umfasst, wobei das Datenverarbeitungssystem so verwaltet wird, dass der Anschluss eines Sicherungsspeichergerätes an den Bus ermöglicht wird, um das Sicherungsspeichergerät anstelle eines identifizierten gestörten Speichergerätes zu verwenden. Der Gegenstand dieses Dokumentes ist jedoch in seiner Konstruktion und seinem Betrieb nachteiligerweise begrenzt und hat allgemein die oben erörterten Begrenzungen.
  • Es wäre daher vorteilhaft, ein verbessertes Verfahren und eine verbesserte Vorrichtung zur Bereitstellung von Redundanz in einem Datenverarbeitungssystem zu haben, während die Zahl der benötigten HSDs minimal gehalten wird.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verwalten von Speichergeräten in einem Datenverarbeitungssystem bereitgestellt, umfassend einen Bus, ein Sicherungsspeichergerät, das eine Mehrzahl von Speichergeräten beinhaltet und für den Anschluss an dem Bus vorgesehen ist, und eine Mehrzahl von Speichersubsystemen, die durch den Bus miteinander verbunden sind, und wobei jedes Speichersubsystem einen Controller und eine Mehrzahl von Speichergeräten beinhaltet, und umfassend die folgenden Schritte: Verbinden der Mehrzahl von Speichergeräten des Sicherungsspeichergerätes mit dem Bus für den Zugriff durch die Mehrzahl von Speichersubsystemen, Identifizieren eines gestörten Speichergerätes innerhalb von einem aus der Mehrzahl von Speichersubsystemen, und Verwenden von wenigstens einem aus der Mehrzahl von Speichergeräten des Sicherungsspeichergerätes anstelle des gestörten Speichergerätes, bis das gestörte Speichergerät ersetzt oder so repariert wurde, dass das genannte wenigstens eine aus der Mehrzahl von Speichergeräten des Sicherungsspeichergerätes wieder verwendet werden kann.
  • Der Schritt des Verwendens beinhaltet vorzugsweise das Rekonstruieren von Daten von dem gestörten Speichergerät auf dem Sicherungsspeichergerät. Ferner kann der Schritt des Rekonstruierens von Daten von dem gestörten Speichergerät die Verwendung von Daten umfassen, die sich auf einem ungestörten Speichergerät innerhalb der Mehrzahl von Speichergeräten in dem Speichersubsystem befinden, das die Daten des gestörten Speichergerätes enthält.
  • Das Verfahren kann vorteilhafterweise auch das Erkennen der Anwesenheit eines Ersatzspeichergerätes für das gestörte Speichergerät und das Rekonstruieren von Daten auf dem Ersatzspeichergerät anhand von Daten auf dem Sicherungsspeichergerät umfassen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Datenverarbeitungssystem bereitgestellt, umfassend einen Bus, eine Mehrzahl von an dem Bus angeschlossenen Speichersubsystemen, wobei jedes Subsystem eine Mehrzahl von Speichergeräten und einen Controller beinhaltet, wobei der Controller eine Schnittstelle zum Steuern von Datenübertragungen zwischen den Speichergeräten und dem Bus bereitstellt, ein Sicherungsspeichergerät, das eine Mehrzahl von Speichergeräten beinhaltet und für den Zugriff durch die Mehrzahl von Speichersubsystemen an dem Bus angeschlossen ist, Erkennungsmittel zum Erkennen einer Störung eines Speichergerätes in einem aus der Mehrzahl von Speichersubsystemen, und ein Sicherungsmittel zum Verwenden von wenigstens einem aus einer Mehrzahl von Speichergeräten des Sicherungsspeichergerätes anstelle des gestörten Speichergerätes, bis das gestörte Speichergerät entweder ersetzt oder so repariert wurde, dass das genannte wenigstens eine aus der Mehrzahl von Speichergeräten des Sicherungsspeichergerätes wieder verwendet werden kann.
  • Das Sicherungsmittel umfasst vorzugsweise Rekonstruktionsmittel zum Rekonstruieren von Daten von dem gestörten Speichergerät umfasst [sic] die Verwendung von Mitteln zum Verwenden von Daten, die sich auf den Speichergeräten in der Mehrzahl von Speichergeräten befinden, die in dem Speichersubsystem ungestört geblieben sind, das die Daten des gestörten Speichergerätes enthält.
  • Das System kann auch ein zweites Erkennungsmittel zum Erkennen der Anwesenheit eines Ersatzspeichergerätes für das gestörte Speichergerät sowie Rekonstruktionsmittel zum Rekonstruieren von Daten auf dem Ersatzspeichergerät anhand von Daten auf dem Sicherungsspeichersystem beinhalten. Jedes der Speichersubsystemgeräte kann eine Mehrzahl von Festplattenlaufwerken umfassen. Die Mehrzahl von Sicherungsspeichergeräten kann eine Mehrzahl von Festplattenlaufwerken umfassen. Ferner kann die Mehrzahl von Speichergeräten eine Mehrzahl von Bandlaufwerken umfassen.
  • Der Bus kann vorteilhafterweise einen SCSI-Bus oder einen Faserkanalbus umfassen.
  • Der Bus ist vorteilhafterweise Teil eines Bussystems, und das Datenverarbeitungssystem hat eine Mehrzahl von Betriebsarten, einschließlich einer ersten Betriebsart, in der das Datenverarbeitungssystem die Mehrzahl von Speichersystemen auf eine Störung eines Speichergerätes überwacht, und einer zweiten Betriebsart, in der das Sicherungsspeichersystem zum Ersetzen des gestörten Speichergerätes als Reaktion auf die Erkennung der Störung eines Speichergerätes innerhalb von einem aus der Mehrzahl von Speichersubsystemen verwendet wird.
  • Das Sicherungsspeichersystem umfasst vorteilhafterweise eine Mehrzahl von Speichergeräten.
  • Ferner kann die zweite Betriebsart das Identifizieren eines Sicherungsspeichergerätes innerhalb der Mehrzahl von Sicherungsspeichergeräten beinhalten, die für die Rekonstruktion von Daten von dem gestörten Speichergerät auf dem identifizierten Sicherungsspeichergerät zur Verfügung stehen.
  • Das Bussystem kann insbesondere einen ersten Bus und einen zweiten Bus umfassen.
  • Die Erfindung kann ein Datenverarbeitungssystem bereitstellen, umfassend ein Bussystem, ein Sicherungsspeichersystem, eine Mehrzahl von mit dem Bussystem verbundenen Speichersubsystemen, wobei jedes Speichersubsystem aus der Mehrzahl von Speichersubsystemen eine Mehrzahl von Speichergeräten und einen Controller beinhaltet, wobei der Controller mit der Mehrzahl von Speichergeräten und dem Bussystem verbunden ist, und wobei der Controller einen Prozessor mit einer Mehrzahl von Betriebsarten. beinhaltet, einschließlich einer ersten Betriebsart, in der der Controller das Speichersystem auf eine Störung eines Speichergerätes in der Mehrzahl von Speichergeräten in dem Speichersubsystem überwacht, und einer zweiten Betriebsart, in der das Sicherungsspeichersystem zum Ersetzen des gestörten Speichergerätes als Reaktion auf die Erkennung der Störung eines Speichergerätes verwendet wird.
  • Gemäß noch einem weiteren Aspekt der vorliegenden Erfindung wird ein Programmspeichergerät bereitgestellt, das von einem Datenverarbeitungssystem gelesen werden kann und die Aufgabe hat, auf einem Datenverarbeitungssystem ausführbare Anweisungen zum Verwalten einer Mehrzahl von Speichersubsystemen zu verwalten, die an einem Bus angeschlossen sind und eine Mehrzahl von Speichergeräten beinhalten, wobei das Programmspeichergerät ein erstes Anweisungsmittel zum Erkennen einer Störung eines Speichergerätes in einem aus der Mehrzahl von Speichersubsystemen und ein zweites Anweisungsmittel zum Ersetzen des gestörten Speichergerätes durch wenigstens eines aus der Mehrzahl von Speichergeräten eines Sicherungsspeichersystems umfasst, auf das die Mehrzahl von Speichersubsystemen zugreifen kann, wobei das erste und das zweite Anweisungsmittel aktiviert werden, wenn das Programmspeichergerät mit dem Datenverarbeitungssystem verbunden ist und wenn dieses darauf zugreift, und das genannte wenigstens eine aus der Mehrzahl von Speichergeräten des Sicherungsspeichersystems anstelle des gestörten Speichergerätes verwendet wird, bis das gestörte Speichergerät entweder ersetzt oder so repariert ist, dass das genannte wenigstens eine aus der Mehrzahl von Speichergeräten des Sicherungsspeichergerätes wieder verwendet werden kann. Das Speichergerät ist vorzugsweise ein Festplattenlaufwerk.
  • Das Speichergerät umfasst vorteilhafterweise einen ROM. Das Speichergerät kann alternativ eine Diskette umfassen.
  • Die vorliegende Erfindung stellt ein Datenverarbeitungssystem bereit, das eine verbesserte Architektur zur Bereitstellung von Heißersatzspeiehergeräten bietet. Insbesondere beinhaltet das Datenverarbeitungssystem einen Bus, der mit einem oder mehreren Computersystemen und einer Reihe von Speichersubsystemen verbunden ist. Jedes Speiehersubsystem beinhaltet Speichergeräte und einen Controller. Der Controller in einem Speichersubsystem bietet den Anschluss an den Bus sowie eine Schnittstelle zum Steuern von Datenübertragungen zu und von dem Speichergerät. Ein Sicherungsspeichersystem ist mit dem Bus verbunden. Das Datenverarbeitungssystem beinhaltet auch ein Erkennungsmittel zum Erkennen einer Störung eines Speichergerätes in einem aus der Mehrzahl von Speichersubsystemen und ein Sicherungsmittel zum Verwenden des Sicherungsspeichergerätes zum Ersetzen des gestörten Speichergerätes.
  • Die Erfindung wird nachfolgend, jedoch nur beispielhaft, unter Bezugnahme auf die Begleitzeichnungen näher beschrieben. Dabei zeigt:
  • 1 ein Datenverarbeitungssystem gemäß einer Ausgestaltung der vorliegenden Erfindung;
  • 2 ein Blockdiagramm eines Computersystems, in dem eine Ausgestaltung der vorliegenden Erfindung ausgeführt werden kann;
  • 3 ein Blockdiagramm eines Subsystems, wie z. B. die Subsysteme von 1, das die vorliegende Erfindung ausgestaltet;
  • 4 ein Blockdiagramm eines globalen Heißersatzgerätepools gemäß einer Ausgestaltung der vorliegenden Erfindung;
  • 5 ein Ablaufdiagramm eines Prozesses, der von einem Prozessor in einem der RAID-Controller von 2 abgearbeitet wird und der die vorliegende Erfindung ausgestaltet; und
  • 6 ein Ablaufdiagramm eines Prozesses zur Handhabung von Systemkonfigurationssperren gemäß der vorliegenden Erfindung.
  • Die Figuren, und insbesondere 1, illustrieren ein Datenverarbeitungssystem 100, das die vorliegende Erfindung ausgestaltet. Das Datenverarbeitungssystem 100 beinhaltet Computersysteme 102 und 104, die mit Subsystemen 106, 108 und 110 verbunden sind. Diese Subsysteme sind in dem dargestellten Beispiel Plattenlaufwerkssubsysteme. Computersysteme 102 und 104 sind über den Bus 112 und den Bus 114 mit den Subsystemen 106, 108 und 110 verbunden. Gemäß der illustrierten Ausgestaltung können der Bus 112 und der Bus 114 mit einer Reihe verschiedener Busarchitekturen wie z. B. dem SCSI-Bus (Small Computer System Interface) oder einem Faserkanalbus ausgeführt werden. Weitere Faserkanalinformationen befinden sich in Stephens, Fibre Channel Band 1: The Basics, ANCOT Corporation (1995).
  • Ferner beinhaltet das Datenverarbeitungssystem 100 globale Heißersatzgerätepools (GHSPs) 116, 118 und 120. Die globalen Heißersatzgerätepools (GHSP) 116, 118 und 120 beinhalten in dem dargestellten Beispiel jeweils Plattenlaufwerke. Die GHSPs 116, 118 und 120 arbeiten mit Heißersatzgeräten (HSDs). Der GHSP 120 ist über den Bus 122 mit Speichersubsystemen 106, 108 und 110 verbunden. Die Plattenlaufwerke in diesen GHSPs werden von allen Subsystemen 106, 108 und 110 gemäß der vorliegenden Erfindung gemeinsam genutzt. Diese GHSPs dienen zum Reduzieren der Zahl der im Datenverarbeitungssystem 100 benötigten HSDs.
  • 2 illustriert ein Blockdiagramm eines Computersystems 200 wie dem Computersystem 102 oder 104 von 1, in dem die vorliegende Erfindung ausgeführt werden kann. Das Computersystem 200 beinhaltet einen mit einem Prozessor 204 und einem Speicher 206 verbundenen Systembus 202. Das Computersystem 200 beinhaltet auch einen Nur-Lese-Speicher (ROM) 208, der Programme und Daten beinhalten kann, wie z. B. ein Ein-/Ausgabe-Grundsystem, das transparente Kommunikationen zwischen verschiedenen Ein-/Ausgabe- (E/A-) Geräten bereitstellt. In dem dargestellten Beispiel beinhaltet das Computersystem 200 auch Speichergeräte wie z. B. das Diskettenlaufwerk 210, das Festplattenlaufwerk 212, den CD-ROM 214 und das Bandlaufwerk 216.
  • Das Computersystem 200 sendet und empfängt Daten zu/von Speichersubsystemen, wie z. B. den Speichersubsystemen 106, 108 oder 110 in 1 durch die Host-Adapter 218 und 220. Ein Speichersubsystem ist eine Sammlung von Speichergeräten, die separat vom primären Verarbeitungssystem verwaltet werden, z. B. ein Personal Computer, eine Workstation oder ein Netzwerk-Server. Ein Speichersubsystem beinhaltet einen Controller, der die Speichergeräte verwaltet und eine Schnittstelle zum primären Verarbeitungssystem bereitstellt, so dass auf die Speichergeräte im Speichersubsystem zugegriffen werden kann. Ein Speichersystem ist typischerweise physikalisch vom primären Verarbeitungssystem getrennt und kann sich an einem abgesetzten Ort wie beispielsweise in einem separaten Raum befinden. Diese Host-Adapter bieten eine Schnittstelle zum Senden und Empfangen von Daten zu und von Subsystemen in einem Datenverarbeitungssystem.
  • Funktionen im Hostsystem 200 unterstützende Programme werden vom Prozessor 204 ausgeführt. Während für den Prozessor 204 jeder beliebige geeignete Prozessor eingesetzt werden kann, sind der Pentium-Mikroprozessor, der von der Intel Corporation veräußert wird, und der Power PC 620, der von International Business Machines Corporation und Motorola, Inc. erhältlich ist, Beispiele für geeignete Prozessoren. "Pentium" ist ein Warenzeichnen der Intel Corporation, "Power PC" ist ein Warenzeichnen der International Business Machines Corporation.
  • Ferner können sich Datenbanken und Programme in einem Speichergerät wie einem Festplattenlaufwerk 212 befinden. Vom Prozessor 204 verwendete Daten und andere vom Prozessor 204 ausgeführte Anweisungen können sich im RAM 206 und im ROM 208 befinden.
  • 3 zeigt ein Blockdiagramm eines Speichersubsystems wie z. B. die Speichersubsysteme 106, 108 oder 110 von 1 gemäß der vorliegenden Erfindung. In dem dargestellten Beispiel ist das Subsystem 300 ein Plattenlaufwerkssystem, das die Controller 302 und 304 enthält. Der Controller 302 ist mit dem Bus 112 verbunden, während der Controller 304 mit dem Bus 114 verbunden ist (siehe 1). Diese beiden Controller steuern die Plattenlaufwerke D1–D12 und die Übertragung von Daten zu und von Plattenlaufwerken D1–D12 auf Bussen 306, 308 und 310. In dem dargestellten Beispiel kann das Subsystem 300 in einer RAID-Ebene 1, 3 oder 5 konfiguriert werden.
  • 4 zeigt ein Blockdiagramm eines globalen Heißersatzgerätepools gemäß der vorliegenden Erfindung. Der globale Heißersatzgerätepool (GHSP) 400 kann gemäß 1 mit Bus 112, Bus 114 oder Bus 122 verbunden sein. Der GHSP 400 beinhaltet die HSDs 402 und 404, die in dem dargestellten Beispiel mit dem Bus 406 verbunden sind. Plattenlaufwerksspeichersubsysteme 106, 108 und 110 nutzen HSDs in GHSPs 116, 118 oder 120 gemeinsam. In dem dargestellten Beispiel enthält jedes Subsystem sechs HSDs.
  • Gemäß der vorliegenden Erfindung werden vier HSDs von den drei Festplattenlaufwerk-Speichersubsystemen gemeinsam genutzt. Diese HSDs werden auch als universale Heißersatzgeräte bezeichnet. Die HSDs sind zwar in dem veranschaulichten Beispiel direkt mit dem Bus 112, 114 oder 122 verbunden, aber es kann auch eine Schnittstelle in der Form eines Controllers zwischen den HSDs und dem Bus geschaltet sein, um den Zugriff und die Bewegung von Daten zu und von den HSDs im GHSP zu steuern.
  • Für den Fall, dass ein Plattenlaufwerk in Speichersubsystemen 106, 108 oder 114 ausfällt, bestimmt der Controller zum Verwalten des gestörten HSD, wie z. B. der RAID-Controller 302 oder 304, welches freie Laufwerk aus dem GHSP 116, 118 oder 120 zu verwenden ist. Der Controller kommuniziert dann mit anderen Subsystemen innerhalb des Datenverarbeitungssystems 100 über den Bus 112, 114 oder 122, um das gewählte HSD für den Gebrauch zu reservieren. Der Controller verwendet das gewählte HSD zum Durchführen der benötigten Heißersatzvorgänge, was bedeutet, dass er das HSD so verwendet, als wäre es Teil seines eigenen Subsystems. Nach dem Reparieren oder Austauschen des gestörten Laufwerks im Subsystem wird das HSD nicht mehr benötigt, und der Controller kommuniziert mit anderen Subsystemen innerhalb des Datenverarbeitungssystems 100, um das HSD für den Gebrauch durch ein anderes Subsystem freizugeben.
  • 5 zeigt ein Ablaufdiagramm eines Prozesses, der von einem Prozessor innerhalb eines der RAID-Controllers von 2 gemäß der vorliegenden Erfindung ausgeführt wird. Der Prozess beginnt damit, dass bestimmt wird, ob ein Plattenlaufwerk in dem Subsystem ausgefallen ist. Ist kein Plattenlaufwerk in dem Subsystem ausgefallen, dann bleibt der Prozessor auf Schritt 500. Ist ein Plattenlaufwerk in dem Subsystem ausgefallen (Schritt 500), dann bestimmt der Prozess, ob ein HSD für den Gebrauch durch das Subsystem definiert wurde (Schritt 502). Wurde kein HSD definiert, dann zeigt der Prozess an, dass kein HSD zur Verfügung steht (Schritt 504) und beendet den Prozess dann, weil kein HSD zur Verfügung steht. Ansonsten erwirbt der Prozessor die "Systemkonfigurationssperre", um eine Systemkonfigurationsdatei zu lesen, die den derzeitigen universalen Heißersatzgerät- (HSD) Status hat (Schritt 506).
  • Eine "Systemkonfigurationssperre" ist ein Token, der es einem Gerät gestattet, auf eine Systemkonfigurationsdatei zuzugreifen, während er andere Geräte daran hindert, auf die Systemkonfigurationsdatei zuzugreifen. Eine "Systemkonfigurationsdatei" ist eine Datei oder eine Gruppe von Dateien, die Informationen über den Status von Geräten in einem Datenverarbeitungssystem enthält. Diese Information gibt an, ob ein Gerät für den Gebrauch zur Verfügung steht. Diese Konfigurationsdateien können sich auf mehreren Speichergeräten befinden, oder es können mehrere Kopien der Konfigurationsdatei auf verschiedenen Speichergeräten erstellt werden. Eine Systemkonfigurationsdatei gibt insbesondere an, ob ein HSD von einem Controller verwendet werden kann. Ein Controller kann die Systemkonfigurationsdatei prüfen, um zu ermitteln, ob HSDs für den Gebrauch bereit stehen. Ferner wird, wenn ein Controller ein HSD für den Gebrauch wählt, die Information in der Systemkonfiguration so aktualisiert, dass angezeigt wird, dass das HSD jetzt in Gebrauch ist und nicht mehr für den Gebrauch durch andere Subsysteme zur Verfügung steht.
  • Nach dem Erwerb der Systemkonfigurationssperre bestimmt der Prozess, ob ein HSD zur Verfügung steht (Schritt 508). Steht kein HSD zur Verfügung, dann geht die Logikeinheit, die dem Adressraum entspricht, in einen verschlechterten Modus (Schritt 510).
  • Der Prozess bestimmt dann, ob ein HSD zur Verfügung steht (Schritt 512). Steht kein HSD zur Verfügung, dann wird die Systemkonfigurationssperre für den Gebrauch durch einen anderen Controller freigegeben (Schritt 514), so dass ein anderes Gerät die Systemkonfigurationssperre benutzen kann. Der Prozess bestimmt dann, ob das gestörte Laufwerk ersetzt wurde (Schritt 516). Wurde das gestörte Plattenlaufwerk nicht ersetzt, dann erwirbt der Prozessor die Systemkonfigurationssperre (Schritt 518) und kehrt zu Schritt 512 zurück, der oben beschrieben wurde. Wurde das Plattenlaufwerk ersetzt, dann kehrt der Prozess zu Schritt 500 zurück.
  • Wieder bezugnehmend auf Schritt 512, wenn ein HSD vor dem Ersetzen des gestörten Plattenlaufwerks verfügbar wird, dann fährt der Prozess damit fort, dass er das HSD für den Gebrauch durch das Subsystem beansprucht, die Information in der Systemkonfigurationsdatei aktualisiert und die Systemkonfigurationssperre freigibt (Schritt 520). Die Daten für das gestörte Plattenlaufwerk werden auf dem gewählten HSD rekonstruiert (Schritt 522). Danach wird das HSD als Ersatz für das gestörte Plattenlaufwerk verwendet (Schritt 524). Der Prozess bestimmt dann, ob das gestörte Plattenlaufwerk ersetzt wurde (Schritt 526). Wurde das gestörte Plattenlaufwerk nicht ersetzt, dann kehrt der Prozess zu Schritt 524 zurück und das HSD wird weiter von dem Subsystem verwendet.
  • Nach dem Ersetzen des gestörten Plattenlaufwerkes werden die Daten vom HSD auf das neue Laufwerk kopiert, das das gestörte Plattenlaufwerk ersetzt (Schritt 528). Danach erwirbt der Prozess die Systemkonfigurationssperre und setzt den Zustand des HSD so, dass angezeigt wird, dass das HSD jetzt zur Verfügung steht, und gibt die Systemkonfigurationssperre für das HSD frei, so dass andere Controller das freigegebene HSD verwenden können (Schritt 530). Der Prozess kehrt dann zu Schritt 500 zurück.
  • 6 zeigt ein Ablaufdiagramm eines Prozesses zum Handhaben von Systemkonfigurationssperren gemäß der vorliegenden Erfindung. Diese Schritte werden in einem Prozessor implementiert, der als "Master-Controller" bezeichnet wird. Der Master-Controller kann ein Prozessor in einem der RAID-Controller in Speichersubsystemen 106, 108 und 110 sein. Der Master-Controller kann auch in einem anderen Prozessor innerhalb des erfindungsgemäßen Datenverarbeitungssystems 100 implementiert werden.
  • Der Prozess beginnt mit dem Empfang einer Anforderung zur Bereitstellung einer Systemkonfigurationssperre zu einem Requestor (Schritt 600). Der Requestor ist in dem dargestellten Beispiel ein Controller. Die Anforderung wird zur Bearbeitung in eine Warteschlange gesetzt (Schritt 602). Danach wird eine Meldung zum Requestor gesendet, wenn die Systemkonfigurationssperre zur Verfügung steht (Schritt 604). Der Prozess empfängt dann eine Meldung vom Requestor, die besagt, dass er die Systemkonfigurationssperre zum Master-Controller zurückgibt (Schritt 604), wonach der Prozess beendet ist.
  • Das in den Figuren veranschaulichte Beispiel illustriert zwar den Gebrauch von HSDs in der Form von Plattenlaufwerken, aber dieselben Vorteile der vorliegenden Erfindung können auch in Systemen mit anderen Speichergeräten wie beispielsweise Magnetbändern oder CD-ROMs erzielt werden. Außerdem kann das HSD ein anderes Medium von den Speichergeräten innerhalb eines Speichersubsystems sein.
  • Die in 5 und 6 gezeigten Prozesse können innerhalb der in den 14 veranschaulichten Systeme implementiert werden. Die in den 5 und 6 gezeigten Prozesse können in Computersystem 200 oder innerhalb eines Controllers innerhalb eines der Subsysteme ausgeführt werden. Die Prozesse der vorliegenden Erfindung können auch als Computerprogrammprodukt in einem Speichergerät ausgeführt werden, das von einem Datenverarbeitungssystem gelesen werden kann, wobei das Speichergerät vom Datenverarbeitungssystem ausführbare Anweisungen zum Ausführen der Prozesse der vorliegenden Erfindung speichert. Das solche ausführbaren Anweisungen enthaltende Speichergerät kann verschiedene Formen annehmen, wie z. B., aber nicht begrenzt auf, ein Festplattenlaufwerk, eine Diskette, eine Bildplatte, ein ROM, ein RAM und ein EPROM, die der Fachperson alle bekannt sind. Der auf einem Speichergerät gespeicherte Prozess ist inaktiv, bis er durch den Gebrauch des Speichergerätes mit dem Datenverarbeitungssystem aktiviert wird.
  • So kann beispielsweise ein vom Datenverarbeitungssystem ausführbare Anweisungen enthaltendes Festplattenlaufwerk für die vorliegende Erfindung mit einem Prozessor im Computer 200 verbunden sein; eine von dem Datenverarbeitungssystem ausführbare Anweisungen enthaltende Diskette für die vorliegende Erfindung kann in ein Diskettenlaufwerk im Computer 200 eingelegt werden; oder ein vom Datenverarbeitungssystem ausführbare Anweisungen enthaltender ROM kann mit dem Computer 200 oder einem Controller im Subsystem 300 verbunden werden.
  • Die vorliegende Erfindung bietet einen Vorteil gegenüber derzeit verfügbaren Speichersubsystemen, da sie HSDs bereitstellt, die mehr als ein Subsystem gemeinsam nutzen können. HSDs sind mit einem Bus verbunden, der mit mehr als einem Subsystem miteinander verbunden ist. Die einzelnen Subsysteme können eines der HSDs verwenden, um ein gestörtes Speichergerät im Subsystem zu ersetzen. Wenn eines der HSDs verwendet wird, dann werden die übrigen Subsysteme darüber in Kenntnis gesetzt, dass das HSD in Gebrauch ist und daher für die Verwendung durch andere Subsysteme nicht zur Verfügung steht. Wenn ein HSD freigegeben wird, dann werden andere Subsysteme darüber in Kenntnis gesetzt, dass es jetzt zur Verfügung steht. Auf diese Weise ermöglicht die vorliegende Erfindung eine Reduzierung der Zahl der in einem mehrere Subsysteme verwendenden Datenverarbeitungssystem benötigten HSDs.
  • Während die Erfindung insbesondere mit Bezug auf eine bevorzugte Ausgestaltung dargestellt und beschrieben wurde, wird die Fachperson verstehen, dass die Erfindung nicht auf die Einzelheiten der obigen Ausgestaltung beschränkt ist.

Claims (10)

  1. Verfahren zum Verwalten von Speichergeräten in einem Datenverarbeitungssystem (100), umfassend einen Bus (112, 114), ein Sicherungsspeichergerät (116, 118, 120), das eine Mehrzahl von Speichergeräten (402, 404) beinhaltet und für den Anschluss an den Bus (112, 114) vorgesehen ist, und eine Mehrzahl von Speichersubsystemen (106, 108, 110), die durch den Bus (112, 114) miteinander verbunden sind, und wobei jedes Speichersubsystem (106, 108, 110) einen Controller (302, 304) und eine Mehrzahl von Speichergeräten (D1– D12) beinhaltet, und umfassend die folgenden Schritte: Verbinden der Mehrzahl von Speichergeräten (402, 404) des Sicherungsspeichergerätes (116, 118, 120) mit dem Bus (112, 114) für den Zugriff durch die Mehrzahl von Speichersubsystemen (106, 108, 110), Identifizieren eines gestörten Speichergerätes (D1–D12) innerhalb von einem aus der Mehrzahl von Speichersubsystemen (106, 108, 110), und Verwenden von wenigstens einem aus der Mehrzahl von Speichergeräten (402, 404) des Sicherungsspeichergerätes (116, 118, 120) anstelle des gestörten Speichergerätes (D1–D12), bis das gestörte Speichergerät (D1–D12) ersetzt oder so repariert wurde, dass das genannte wenigstens eine aus der Mehrzahl von Speichergeräten (402, 404) des Sicherungsspeichergerätes (116, 118, 120) wieder verwendet werden kann.
  2. Verfahren nach Anspruch 1, bei dem der Verwendungsschritt das Rekonstruieren von Daten von dem gestörten Speichergerät auf dem Sicherungsspeichergerät beinhaltet, indem Daten verwendet werden, die sich auf einem ungestörten Speichergerät aus der Mehrzahl von Speichergeräten in dem Speichersubsystem befinden, das die Daten des gestörten Speichergerätes enthält.
  3. Verfahren nach Anspruch 1 oder 2, umfassend das Erkennen der Anwesenheit eines Ersatzspeichergerätes für das gestörte Speichergerät, und Rekonstruieren der Daten auf dem Ersatzspeichergerät anhand von Daten auf dem Sicherungsspeichergerät.
  4. Datenverarbeitungssystem (100), umfassend einen Bus (112, 114), eine Mehrzahl von an dem Bus (112, 114) angeschlossenen Speichersubsystemen (106, 108, 110), wobei jedes Subsystem eine Mehrzahl von Speichergeräten (D1–D12) und einen Controller (302, 304) beinhaltet, wobei der Controller (302, 304) eine Schnittstelle zum Steuern von Datenübertragungen zwischen den Speichergeräten (D1–D12) und dem Bus (112, 114) bereitstellt, ein Sicherungsspeichergerät (116, 118, 120), das eine Mehrzahl von Speichergeräten (402, 404) beinhaltet und für den Zugriff durch die Mehrzahl von Speichersubsystemen (106, 108, 110) an dem Bus (112, 114) angeschlossen ist, Erkennungsmittel zum Erkennen einer Störung eines Speichergerätes (D1–D12) in einem aus der Mehrzahl von Speichersubsystemen, und ein Sicherungsmittel zum Verwenden von wenigstens einem aus der Mehrzahl von Speichergeräten (402, 404) des Sicherungsspeichergerätes (116, 118, 120) anstelle des gestörten Speichergerätes, bis das gestörte Speichergerät (D1–D12) entweder ersetzt oder so repariert wurde, dass das genannte wenigstens eine aus der Mehrzahl von Speichergeräten (402, 404) des Sicherungsspeichergerätes (116, 118, 120) wieder verwendet werden kann.
  5. Datenverarbeitungssystem nach Anspruch 4, bei dem das Sicherungsspeichersystem eine Mehrzahl von Sicherungsspeichergeräten (116, 118, 120) umfasst und das Sicherungsmittel ein Identifikationsmittel zum Identifizieren, welches aus der Mehrzahl von Sicherungsspeichergeräten (116, 118, 120) zum Rekonstruieren des gestörten Speichergerätes zur Verfügung steht, und Rekonstruktionsmittel zum Rekonstruieren von Daten umfasst, die zuvor auf dem gestörten Speichergerät auf dem identifizierten Sicherungsspeichergerät gespeichert waren.
  6. Datenverarbeitungssystem nach Anspruch 5, ferner umfassend ein zweites Identifikationsmittel zum Identifizieren eines Austauschs eines gestörten Speichergerätes durch ein Ersatzspeichergerät, und ein zweites Rekonstruktionsmittel zum Rekonstruieren von Daten, die auf dem Sicherungsspeichergerät auf dem identifizierten Ersatzspeichergerät gespeichert sind.
  7. Datenverarbeitungssystem nach Anspruch 6 mit einem ersten, auf das Identifikationsmittel ansprechenden Registriermittel zum Identifizieren eines Sicherungsspeichergeräts und zum Registrieren des identifizierten zur Verfügung stehenden Speichergeräts als unverfügbar für den Gebrauch, und mit einem zweiten auf das zweite Rekonstruktionsmittel ansprechenden Registriermittel zum Registrieren des identifizierten Sicherungsspeichergeräts als verfügbar für den Gebrauch.
  8. Datenverarbeitungssystem nach Anspruch 4, 5, 6 oder 7, wobei der Bus Teil eines Bussystems ist und das Datenverarbeitungssystem eine Mehrzahl von Betriebsarten hat, einschließlich einer ersten Betriebsart, in der das Datenverarbeitungssystem die Mehrzahl von Speichersubsystemen auf eine Störung eines Speichergeräts überwacht, und einer zweiten Betriebsart, in der das Sicherungsspeichersystem zum Ersetzen des gestörten Speichergerätes in Reaktion auf die Erfassung der Störung eines Speichergerätes innerhalb von einem aus der Mehrzahl von Speichersubsystemen verwendet wird.
  9. Datenverarbeitungssystem nach Anspruch 8 mit einer dritten Betriebsart, in der ein Ersatzspeichergerät zum Ersetzen des gestörten Speichergerätes identifiziert wird, und einer vierten Betriebsart, in der das Sicherungsspeichersystem als Reaktion auf die Erfassung des Austauschs des gestörten Speichergerätes durch ein Ersatzspeichergerät ersetzt wird.
  10. Programmspeichergerät, das von einem Datenverarbeitungssystem gelesen werden kann und die Aufgabe hat, auf einem Datenverarbeitungssystem ausführbare Anweisungen zum Verwalten einer Mehrzahl von Speichersubsystemen (106, 108, 110) zu führen, die an einem Bus (110, 114) angeschlossen sind und eine Mehrzahl von Speichergeräten (D1– D12) beinhalten, wobei das Programmspeichergerät ein erstes Anweisungsmittel zum Erkennen einer Störung eines Speichergerätes (D1–D12) in einem aus der Mehrzahl von Speichersubsystemen (106, 108, 110) und ein zweites Anweisungsmittel zum Ersetzen des gestörten Speichergerätes durch wenigstens eines aus der Mehrzahl von Speichergeräten (402, 404) eines Sicherungsspeichersystems (116, 118, 120) umfasst, auf das die Mehrzahl von Speichersubsystemen (106, 108, 110) zugreifen kann, wobei das erste und das zweite Anweisungsmittel aktiviert werden, wenn das Programmspeichergerät mit dem Datenverarbeitungssystem verbunden ist und wenn dieses darauf zugreift, und das genannte wenigstens eine aus der Mehrzahl von Speichergeräten (402, 404) des Sicherungsspeichersystems (116, 118, 120) anstelle des gestörten Speichergerätes (D1–D12) verwendet wird, bis das gestörte Speichergerät (D1–D12) entweder ersetzt oder so repariert wurde, dass das genannte wenigstens eine aus der Mehrzahl von Speichergeräten (402, 404) des Sicherungsspeichergerätes (116, 118, 120) wieder verwendet werden kann.
DE69629444T 1995-12-22 1996-12-17 Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten Expired - Lifetime DE69629444T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/577,311 US5941994A (en) 1995-12-22 1995-12-22 Technique for sharing hot spare drives among multiple subsystems
US577311 1995-12-22

Publications (2)

Publication Number Publication Date
DE69629444D1 DE69629444D1 (de) 2003-09-18
DE69629444T2 true DE69629444T2 (de) 2004-04-15

Family

ID=24308176

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69629444T Expired - Lifetime DE69629444T2 (de) 1995-12-22 1996-12-17 Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten

Country Status (5)

Country Link
US (1) US5941994A (de)
EP (1) EP0780765B1 (de)
JP (1) JPH09231013A (de)
KR (1) KR100288020B1 (de)
DE (1) DE69629444T2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374336B1 (en) * 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
CN1092864C (zh) * 1998-08-25 2002-10-16 华为技术有限公司 主备份倒换装置
EP1026575A3 (de) * 1999-02-08 2006-09-06 Hitachi, Ltd. Speicherplattenanordnungssystem und Verfahren zur Änderung ihrer Konfiguration
US6513097B1 (en) * 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6629315B1 (en) 2000-08-10 2003-09-30 International Business Machines Corporation Method, computer program product, and system for dynamically refreshing software modules within an actively running computer system
US6973553B1 (en) * 2000-10-20 2005-12-06 International Business Machines Corporation Method and apparatus for using extended disk sector formatting to assist in backup and hierarchical storage management
US6917929B2 (en) * 2001-07-16 2005-07-12 Sun Microsystems, Inc. Configuration for a storage network
US6976187B2 (en) * 2001-11-08 2005-12-13 Broadcom Corporation Rebuilding redundant disk arrays using distributed hot spare space
GB2382890B (en) * 2001-12-06 2005-04-20 Ibm Computer storage subsystem, method, software program and data carrier
US7111066B2 (en) * 2002-03-27 2006-09-19 Motorola, Inc. Method of operating a storage device
US7412495B2 (en) * 2002-04-26 2008-08-12 Sun Microsystems, Inc. Method, system, and article of manufacture for a server side application
US6862173B1 (en) 2002-07-11 2005-03-01 Storage Technology Corporation Modular multiple disk drive apparatus
US6819560B2 (en) 2002-07-11 2004-11-16 Storage Technology Corporation Forced air system for cooling a high density array of disk drives
US6925531B2 (en) * 2002-07-11 2005-08-02 Storage Technology Corporation Multi-element storage array
US7290168B1 (en) 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing a storage virtualization environment
US7447939B1 (en) 2003-02-28 2008-11-04 Sun Microsystems, Inc. Systems and methods for performing quiescence in a storage virtualization environment
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US7304855B1 (en) 2003-03-03 2007-12-04 Storage Technology Corporation Canister-based storage system
US7143305B2 (en) * 2003-06-25 2006-11-28 International Business Machines Corporation Using redundant spares to reduce storage device array rebuild time
US7159140B2 (en) * 2003-08-21 2007-01-02 International Business Machines Corporation Method to transfer information between data storage devices
US7428691B2 (en) * 2003-11-12 2008-09-23 Norman Ken Ouchi Data recovery from multiple failed data blocks and storage units
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
US7308600B2 (en) * 2004-08-11 2007-12-11 International Business Machines Corporation Managing access to spare data storage devices
JP4815825B2 (ja) * 2005-03-10 2011-11-16 日本電気株式会社 ディスクアレイ装置及びその再構築方法
US7805633B2 (en) * 2006-09-18 2010-09-28 Lsi Corporation Optimized reconstruction and copyback methodology for a disconnected drive in the presence of a global hot spare disk
US20080126839A1 (en) * 2006-09-19 2008-05-29 Satish Sangapu Optimized reconstruction and copyback methodology for a failed drive in the presence of a global hot spare disc
US20080172571A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Method and system for providing backup storage capacity in disk array systems
US8510370B2 (en) 2008-02-26 2013-08-13 Avid Technology, Inc. Array-based distributed storage system with parity
US7941697B2 (en) * 2008-12-30 2011-05-10 Symantec Operating Corporation Failure handling using overlay objects on a file system using object based storage devices
TW201239612A (en) * 2011-03-31 2012-10-01 Hon Hai Prec Ind Co Ltd Multimedia storage device
US9361082B2 (en) 2012-09-06 2016-06-07 Welch Allyn, Inc. Central monitoring station warm spare
US10042730B2 (en) 2014-08-19 2018-08-07 Western Digital Technologies, Inc. Mass storage chassis assembly configured to accommodate predetermined number of storage drive failures
US10733052B2 (en) * 2017-12-21 2020-08-04 International Business Machines Corporation Accelerated rebuilding of storage arrays
US20240231639A9 (en) * 2022-10-21 2024-07-11 Western Digital Technologies, Inc. Data Storage Device and Method for Reducing Read Disturbs When Reading Redundantly-Stored Data

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
JPH0394321A (ja) * 1989-06-21 1991-04-19 Hitachi Ltd アクセス制御方法
JP2830218B2 (ja) * 1989-11-22 1998-12-02 株式会社日立製作所 キャッシュ付ディスク制御装置の障害処理方法
US5402428A (en) * 1989-12-25 1995-03-28 Hitachi, Ltd. Array disk subsystem
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5155845A (en) * 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
US5210866A (en) * 1990-09-12 1993-05-11 Storage Technology Corporation Incremental disk backup system for a dynamically mapped data storage subsystem
US5212784A (en) * 1990-10-22 1993-05-18 Delphi Data, A Division Of Sparks Industries, Inc. Automated concurrent data backup system
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5271012A (en) * 1991-02-11 1993-12-14 International Business Machines Corporation Method and means for encoding and rebuilding data contents of up to two unavailable DASDs in an array of DASDs
US5258984A (en) * 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
US5331646A (en) * 1992-05-08 1994-07-19 Compaq Computer Corporation Error correcting code technique for improving reliablility of a disk array
JP3130536B2 (ja) * 1993-01-21 2001-01-31 アップル コンピューター インコーポレーテッド 多数のネットワークされたコンピュータ記憶装置からデータを転送し記憶する装置ならびに方法
GB2278228B (en) * 1993-05-21 1997-01-29 Mitsubishi Electric Corp An arrayed recording apparatus
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US5530850A (en) * 1993-10-25 1996-06-25 International Business Machines Corporation Data storage library array with log-structured file system which allows simultaneous write and garbage collection
US5566316A (en) * 1994-02-10 1996-10-15 Storage Technology Corporation Method and apparatus for hierarchical management of data storage elements in an array storage device
US5657439A (en) * 1994-08-23 1997-08-12 International Business Machines Corporation Distributed subsystem sparing
US5574863A (en) * 1994-10-25 1996-11-12 Hewlett-Packard Company System for using mirrored memory as a robust communication path between dual disk storage controllers
EP0709779B1 (de) * 1994-10-31 2001-05-30 International Business Machines Corporation Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung
US5666512A (en) * 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data

Also Published As

Publication number Publication date
US5941994A (en) 1999-08-24
DE69629444D1 (de) 2003-09-18
JPH09231013A (ja) 1997-09-05
KR970049731A (ko) 1997-07-29
EP0780765A2 (de) 1997-06-25
KR100288020B1 (ko) 2001-05-02
EP0780765B1 (de) 2003-08-13
EP0780765A3 (de) 1999-12-22

Similar Documents

Publication Publication Date Title
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE69323225T2 (de) Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
DE69231873T2 (de) Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
DE69807077T2 (de) Verfahren und vorrichtung zur wiederherstellung in einem verteilten datenbanksystem mit nicht global erreichbaren daten unter verwendung von gemeinsam genutzten virtuellen platten
DE69528443T2 (de) Betriebsverfahren einer Speicherplattenanordnung
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE69626947T2 (de) Reservekopie-Generierung in einem RAID-Untersystem
DE69703181T2 (de) Registrierdateioptimierung in einem Client/Server-Rechnersystem
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE3881786T2 (de) Identifizierung von Datenspeicherungseinrichtungen.
DE69710578T2 (de) Verfahren zum unabhängigen und gleichzeitigen zugriff auf eine gemeinsame datensammlung
DE69714498T2 (de) Steuervorrichtung und Verfahren für ein RAID-Untersystem
DE68928546T2 (de) Dateisystem für eine vielzahl von speicherklassen
DE3853452T2 (de) Mehrfachverarbeitung mit hoher Verfügbarkeit.
DE69311952T2 (de) Verfahren und System zur inkrementalen Datensicherung
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE69614383T2 (de) Kontinuierlich verfügbarer datenbankserver mit mehreren knotengruppen mit sich minimal überschneidenden sätzen von datenbankteilkopien
DE69030024T2 (de) Verfahren zur Herstellung einer Duplikation von einer Datenbank
DE69715967T2 (de) Quorummechanismus in einem verteilten Zweiknotenrechnersystem
DE69224589T2 (de) Speicherplattenanordnung und Verfahren zur Bestimmung des Vorhandenseins korrekter Speichervorrichtungen
DE69624191T2 (de) Atomisches Aktualisieren von EDC-geschützten Daten
DE69027167T2 (de) Rechnersystem mit Programmladegerät und Ladeverfahren
DE69608641T2 (de) Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung
DE69937768T2 (de) Externe Speichervorrichtung und Verfahren zur Datensicherung
DE69327679T2 (de) Nachrichtenübertragung zwischen Prozessoren und einer Koppeleinrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition