-
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 1–4 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.