-
Die
vorliegende Erfindung bezieht sich auf ein Informationsverarbeitungssystem
und ein Zugriffsverfahren und insbesondere, aber nicht ausschließlich auf
das Feststellen eines Fehlers.
-
In
jüngster
Zeit hat die von Informationsverarbeitungssystemen verarbeitete
Datenmenge beträchtlich
zugenommen. Eine Speichereinrichtung großer Kapazität sollte eine E/A-Leistung
und Zuverlässigkeit
entsprechend der Speicherkapazität
gewährleisten.
Dazu sind Systeme und Verfahren zum Multiplexen des logischen Pfads
(E/A-Pfad) zu der Speichereinrichtung und Zuordnen der Daten-Ein/Ausgabeanforderung
(E/A-Anforderung) an die Speichereinrichtung zu dem logischen Pfad
entwickelt worden.
-
Als
ein solches Verfahren ist ein System und Verfahren zur Verbesserung
der Zuverlässigkeit
des Systems mit einem Computer und einer Speichereinrichtung bekannt,
die durch mehrere Pfade verbunden sind, wobei nach Berechnung der
Fehlerwahrscheinlichkeit für
jeden Pfad aus der Anzahl der E/A-Anforderungen für den Pfad
ein Pfads mit geringerer Fehlerwahrscheinlichkeit ausgewählt wird
(siehe zum Beispiel
US-Patent
Nr. 6.802.021 ).
-
Durch
Verwendung einer Konfiguration zum Auswählen eines der Pfade entsprechend
des Auftretens eines Fehlers oder der Wahrscheinlichkeit des Auftretens
eines Fehlers ist es möglich,
die Zuverlässigkeit
zu verbessern.
-
Wenn
jedoch eine E/A-Anforderung einem Pfad mit Ausnahme des Pfads zugeordnet
ist, auf dem ein Fehler aufgetreten ist, oder eine E/A-Anforderung
einem Pfad mit einer geringen Wahrscheinlichkeit des Auftretens
eines Fehlers zugeordnet ist, um die Zuverlässigkeit zu verbessern, konzentrieren sich
die E/A-Anforderungen
auf dem Pfad, wodurch sich wiederum der Durchsatz verringert.
-
In
einem System, das eine Konfiguration mit einer Informationsverarbeitungseinrichtung
wie zum Beispiel einem Computer und einer Speichereinrichtung aufweist,
die durch mehrere Pfade verbunden sind, werden verschiedene Verfahren
zum Speichern von Daten in den Speichereinrichtungen verwendet. So
erfolgt zum Beispiel ein Spiegeln der Daten zum doppelten Speichern
der Daten, wenn diese sehr wichtig sind. Außerdem gibt es bei der Datenspiegelung
Verfahren zur Steuerung des Spiegelns durch die Speichereinrichtung
oder durch die Informationsverarbeitungseinrichtung.
-
US 2003/172331 A beschreibt
ein System und Verfahren zur Verwaltung des Mehrpfad-Ausfallprotokolls
eines Speicherbereichnetzwerks mit Speichersystemen, die mehrere
Ports und mehrere Speichersteuerungen aufweisen. Eine Reihe von
verfügbaren
Speicherpfaden zwischen jedem Server und jeder Speichereinheit des
Speichersystems wird festgelegt. Ein Speicherpfad wird ausgewählt. Für den Fall,
dass der Speicherpfad nicht benutzbar wird, wird als Ersatz für den nicht
betriebsbereiten Speicherpfad ein alternativer Speicherpfad ausgewählt. Der
alternative Speicherpfad wird so gewählt, dass er keine Speichersteuerung
enthält,
die Teil des nicht betriebsbereiten Speicherpfads war.
-
Daher
ist ein Ziel der vorliegenden Erfindung die weitere Verbesserung
der Durchsatzleistung für E/A-Anforderungen
in einer Konfiguration zur Steuerung des Spiegelns durch eine Informationsverarbeitungseinrichtung.
-
Die
Erfindung ist durch die selbstständigen Ansprüche 1 und
4 festgelegt. Ein Aspekt der vorliegenden Erfindung stellt ein Informationsverarbeitungssystem
bereit mit einer Speichereinrichtung, die einen Speicherbereich
aufweist, einer mit der Speichereinrichtung gekoppelten Informationsverarbeitungseinrichtung,
die eine Zugriffsanforderung ausgibt, und mehreren Zugriffspfaden
zum Übertragen der
von der Informationsverarbeitungseinrichtung ausgegebenen Zugriffsanforderung
an den Speicherbereich, wobei die Informationsverarbeitungseinrichtung
aufweist: eine Speichereinheit zum Speichern eines Zustands der
Zugriffspfade und eine Verarbeitungseinheit zum Ändern eines Zustands eines
Zugriffspfads, auf dem ein Fehler aufgetreten ist, und eines Zustands
eines weiteren Zugriffspfads, der einen Teil des Zugriffspfads,
auf dem der Fehler aufgetreten ist, mitbenutzt, sowie zum Wählen eines
Zugriffspfads mit einem von dem fehlerhaften Zustand verschiedenen
Zustand bei Ausgabe einer Zugriffsanforderung auf den Speicherbereich,
dadurch gekennzeichnet, dass die Speichereinheit der Informationsverarbeitungseinrichtung
Speicherbereiche speichert, in denen gleiche Daten in einer einander
entsprechenden Weise eingeschrieben sind, und die Verarbeitungseinheit
bei Erfassen der Zustandsänderung
des Zugriffspfads zu der Speichereinrichtung einen Speicherbereich
mit einer größeren Anzahl
von zuordnungsfähigen
Zugriffspfaden zum Gegenstand einer Datenleseanforderung macht.
-
Nach
der vorliegenden Erfindung ist es möglich, die Durchsatzleistung
für Zugriffsanforderungen zu
verbessern.
-
1 zeigt
ein Blockdiagramm mit einem Beispiel für den gesamten Aufbau eines
Informationsverarbeitungssystems.
-
2 zeigt
ein Blockdiagramm mit einem Beispiel einer Logikeinheiten-Verwaltungseinheit
und einer Pfadverwaltungseinheit.
-
3 zeigt
ein Beispiel für
eine LU-Verwaltungstabelle.
-
4 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in der Logikeinheiten-Verwaltungseinheit.
-
5 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in einer
Logikeinheiten-Umschalteinheit.
-
6 zeigt
ein Beispiel für
eine Pfadtabelle.
-
7 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in einer
Pfadinformations-Verwaltungseinheit.
-
8 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in einer
Fehlerstatistik-Verwaltungseinheit.
-
9 zeigt
ein Beispiel für
eine Pfadfehlertabelle.
-
10 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in einer
Betriebsstatistik-Verwaltungseinheit.
-
11 zeigt
ein Beispiel für
eine Betriebsstatistiktabelle.
-
12 zeigt
ein Blockdiagramm mit einem Beispiel für den Aufbau des Informationsverarbeitungssystems.
-
13 zeigt
ein weiteres Beispiel für
die Pfadtabelle.
-
14 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung bei der
E/A-Zuordnung.
-
15 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in der Pfadinformations-Verwaltungseinheit.
-
Nachstehend
werden Ausführungsformen der
vorliegenden Erfindung unter Bezugnahme auf die anliegenden Zeichnungen
beschrieben.
-
1 zeigt
ein Blockdiagramm mit einem Beispiel für den Aufbau des Informationsverarbeitungssystems.
-
Das
Informationsverarbeitungssystem umfasst eine Informationsverarbeitungseinrichtung 100 und
eine Speichereinrichtung 120. Es ist zu beachten, dass
das Informationsverarbeitungssystem zwei oder mehr Informationsverarbeitungseinrichtungen aufweisen
kann.
-
Die
Informationsverarbeitungseinrichtung 100 ist über ein
SAN (Storage Area Network) 110 mit der Speichereinrichtung 120 verbunden.
Die Kommunikation über
das SAN zwischen der Informationsverarbeitungseinrichtung 100 und
der Speichereinrichtung 120 erfolgt normalerweise nach
dem Fibre-Channel-Protokoll.
Es ist zu beachten, dass die Informationsverarbeitungseinrichtung 100 auch
mit anderen Mitteln als dem SAN mit der Speichereinrichtung 200 verbunden
sein kann. So ist es zum Beispiel möglich, ein Netzwerk wie etwa
ein LAN zu verwenden oder sie mittels SCSI (Small Computer System Interface)
direkt miteinander zu verbinden.
-
Die
Informationsverarbeitungseinrichtung 100 ist ein Computer
(Personalcomputer, Workstation, Mainframe-Computer usw.) mit einer
CPU und einem Speicher und führt
verschiedene Anwendungsprogramme aus. Die Informationsverarbeitungseinrichtung 100 umfasst
eine Anwendung 101, eine Logikeinheiten-Verwaltungseinheit 102,
eine Pfadverwaltungseinheit 103, einen Host-Bus-Adapter (HBA) 104 und
dergleichen.
-
Der
HBA 104 ist zum Beispiel ein HBA (Rost-Bus-Adapter) eines
SCSI-Adapters oder
des Fibre-Channel-Adapters. Ein oder mehr HBA 104 sind
in der Informationsverarbeitungseinrichtung 100 angeordnet
und kommunizieren mit der Speichereinrichtung 120 über das
SAN 110. In dem Beispiel in 1 sind vier
HBA 104 in der Informationsverarbeitungseinrichtung 100 angeordnet.
Hier sind HBA1, HBA2, HBA3 und HBA4 die HBA 104 mit den HBA-Kennungen
(HBA-ID) „1", „2", „3" und „4". Die Informationsverarbeitungseinrichtung 100 kann
mit der Speichereinrichtung unter Verwendung jedes der HBA 104 kommunizieren.
-
Die
Speichereinrichtung 120 ist zum Beispiel eine Disk-Array-Einrichtung
mit mehreren Plattenlaufwerken und einer Steuerung (nicht gezeigt)
zu deren Steuerung. Die Speichereinrichtung 120 weist eine
oder mehr Logikeinheiten (LU) 121.
-
Die
Logikeinheit 121 ist eine Einheit, die die Informationsverarbeitungseinrichtung 100 als
ein Plattenlaufwerk erkennt. Die Logikeinheit 121 ist logisch
gesehen ein Plattenlaufwerk, kann physikalisch aber ein Teilbereich
eines Plattenlaufwerks oder ein teilweiser oder ganzer Bereich mehrerer
Plattenlaufwerke sein. In dem Beispiel in 1 sind drei
Logikeinheiten 121 in der Speichereinrichtung A 120a eingerichtet,
während
zwei Logikeinheiten 121 in der Speichereinrichtung B 120b eingerichtet
sind. Hier sind LU1 bis LU3 der Speichereinrichtung A 120a die Logikeinheiten 121 mit
den LU-Kennungen (LU-ID) „0101" bis „0103". Außerdem sind
LU1 und LU2 der Speichereinrichtung B 120b die Logikeinheiten 121 mit
den LU-Kennungen (LU-ID) „0201" und „0202".
-
Die
Speichereinrichtung 120 weist weiter ein oder mehr Adapter
(ADP) 122 auf. Der ADP 122 kommuniziert mit der
Informationsverarbeitungseinrichtung 100 über das
SAN 110. In dem Beispiel in 1 weist
die Speichereinrichtung 120 zwei ADP 122 auf.
Hier sind ADP1 und ADP2 der Speichereinrichtung A 120a die
ADP 122 mit den ADP-Kennungen (ADP-ID) „0101" und „0102". Außerdem sind ADP1 und ADP2 der
Speichereinrichtung B 120b die ADP 122 mit den
ADP-Kennungen (ADP-ID) „0201" und „0202". Die Speichereinrichtung 120 kann
mit der Informationsverarbeitungseinrichtung 100 unter Verwendung
jedes der ADP 122 kommunizieren.
-
Der
ADP 122 umfasst normalerweise einen Cache-Speicher (nicht
gezeigt). Wenn der ADP 122 eine Datenleseanforderung von
der Informationsverarbeitungseinrichtung 100 empfängt und
wenn die Objektdaten für
die Leseanforderung im Cache-Speicher vorliegt, gibt der ADP 122 die
Daten im Cache-Speicher an die Informationsverarbeitungseinrichtung 100 zurück, ohne
auf die Logikeinheit 121 zuzugreifen. Folglich entfällt der
Zugriff auf die Logikeinheit 121 (das heißt der Zugriff
auf das Plattenlaufwerk, das die Logikeinheit 121 bildet),
wodurch die Zugriffsgeschwindigkeit verbessert wird. Es ist zu beachten,
dass ein ähnlicher
Cache-Speicher auch im HBA 104 vorgesehen sein kann.
-
Die
HBA 104 können
jeweils mit jedem der ADP 122 kommunizieren. In gleicher
Weise können die
ADP 122 jeweils mit jedem der HBA 104 kommunizieren.
-
Hier
bedeutet „Pfad" einen Kommunikationspfad
von der Informationsverarbeitungseinrichtung 100 zu der
Logikeinheit 121 oder einen Datenzugriffspfad. Weil in
dem Beispiel in 1 zwei ADP 122 für die vier
HBA 104 und die eine Speichereinrichtung vorgesehen sind,
gibt es acht Pfade von der Informationsverarbeitungseinrichtung 100 zu
einer Logikeinheit 121 der Speichereinrichtung A 120a. Der
Pfad ist durch die Pfadkennung identifiziert. Die Pfadkennung wird
durch die Kennungen von HBA 104, ADP 122 und LU 121 (HBA-ID,
ADP-ID und LU-ID) bestimmt, über
die der Pfad läuft.
Die Pfadkennung des Pfads über
den HBA1 und den ADP1 des Speichers A lautet zum Beispiel „101010102".
-
Der
Zugriff auf die in der Speichereinrichtung 120 gespeicherten
Daten von der Informationsverarbeitungseinrichtung 100 erfolgt
zum Beispiel durch eine E/A-Anforderung
wie etwa eine Datenschreibanforderung oder eine Datenleseanforderung.
Die E/A-Anforderung wird von verschiedenen Anwendungen 101 ausgegeben.
In der von der Anwendung 101 ausgegebenen E/A-Anforderung
sind ein Header, eine Speichereinrichtung, eine LU-Verwaltungskennung,
eine Adresse und dergleichen angegeben. Der Header enthält die Kennung
der Informationsverarbeitungseinrichtung 100, die die E/A-Anforderung sendet.
Die Speichereinrichtung enthält
die Kennung der Speichereinrichtung, für die die E/A-Anforderung durchgeführt wird.
Die LU-Verwaltungskennung ist die Kennung, die zur Verwaltung der
Logikeinheit durch die Logikeinheiten-Verwaltungseinheit 12 angegeben
wird, wie später
ausführlich
beschrieben. Die LU-Verwaltungskennung enthält die Kennung. Die Adresse
enthält
die Startposition (Startadresse), zum Beispiel eine Startposition
für das
Auslesen oder Einschreiben von Daten. Wenn die E/A-Anforderung eine
Datenschreibanforderung ist, ist zu beachten, dass die zu schreibenden
Daten in der E/A-Anforderung hinzugefügt werden.
-
Die
Logikeinheiten-Verwaltungseinheit 102 verwaltet die Logikeinheit,
auf die von der Informationsverarbeitungseinrichtung 100 zugegriffen
werden kann, anhand der LU-Verwaltungskennung. Daher ist es durch
Zuweisen derselben LU-Verwaltungskennung
zu zwei Logikeinheiten möglich,
ein Paar von Logikeinheiten zu erhalten.
-
Wenn
die Logikeinheiten-Verwaltungseinheit 102 eine E/A-Anforderung
empfängt,
gibt sie eine E/A-Anforderung aus, die auf die LU-ID der durch die LU-Verwaltungskennung
angegebenen Logikeinheit aktualisiert worden ist. Das heißt, eine
E/A-Anforderung (Header, Speichereinrichtung, LU-Verwaltungskennung,
Adresse usw. wird auf eine E/A-Anforderung (Header, Speichereinrichtung,
LU-ID, Adresse usw.) aktualisiert. Wenn die E/A-Anforderung eine Schreibanforderung
ist und in der LU-Verwaltungskennung zwei Logikeinheiten angegeben
sind, erzeugt die Logikeinheiten-Verwaltungseinheit 102 eine
E/A-Anforderung für
jede der Logikeinheiten. Daher werden dieselben Daten in die beiden
Logikeinheiten geschrieben, und ein Spiegeln der Daten wird durchgeführt.
-
Wenn
andererseits die E/A-Anforderung eine Leseanforderung ist und in
der LU-Verwaltungskennung zwei Logikeinheiten angegeben sind, wird
nur an eine der Logikeinheiten eine E/A-Anforderung ausgegeben.
Die Logikeinheiten-Verwaltungseinheit 102 verwaltet die
beiden Logikeinheiten, die ein Paar bilden, als eine primäre und eine
sekundäre
Einheit. Eine Schreibanforderung wird an die primäre und die sekundäre Logikeinheit
ausgegeben, während
eine Leseanforderung an die primäre
Logikeinheit ausgegeben wird.
-
Die
von der Logikeinheiten-Verwaltungseinheit 102 ausgegebene
E/A-Anforderung
wird von der Pfadverwaltungseinheit 103 auf alle Pfade
verteilt (zum Beispiel gleichmäßig zugewiesen)
und an die Speichereinrichtung 120 übermittelt. Daher ist es durch
parallele Verarbeitung mehrerer E/A-Anforderungen möglich, die
Leistung des Informationsverarbeitungssystems zu verbessern.
-
Bei
Feststellung eines Pfadfehlers in einer der Logikeinheiten, die
ein Paar bilden, setzt die Informationsverarbeitungseinrichtung 100,
die eine Datenspiegelung durchführen
kann, die Logikeinheit mit mehr normalen Pfaden als die primäre. Mit
anderen Worten, wenn die Anzahl der normalen Pfade in der sekundären Einheit
größer ist
als die Anzahl der normalen Pfade in der primären Einheit, wer den die primäre und die
sekundäre
Logikeinheit umgeschaltet. Auch wenn ein Pfad der primären Logikeinheit
ausgefallen ist, stehen daher zahlreiche Pfade zum Zuweisen zur
Verfügung,
so dass es möglich
ist, den Rückgang
der Durchsatzleistung zu verringern.
-
2 zeigt
Einzelheiten der Logikeinheiten-Verwaltungseinheit 102 und
der Pfadverwaltungseinheit 103.
-
Hier
sind die LU-Verwaltungstabelle 300, die Pfadtabelle 600,
die Pfadfehlertabelle 900, die Betriebsstatistiktabelle 1100 und
die E/A-Tabelle im Speicher der Informationsverarbeitungseinrichtung 100 gespeichert. 2 zeigt,
wie diese Tabellen verwaltet werden.
-
Die
Logikeinheiten-Verwaltungseinheit 102 verwaltet die LU-Verwaltungstabelle 300 (3). Wenn
die Logikeinheiten-Verwaltungseinheit 102 eine E/A-Anforderung von der
Anwendung 101 empfängt,
sucht sie anhand der in der E/A-Anforderung enthaltenen
LU-Verwaltungskennung in der LU-Verwaltungstabelle 300 und
gibt die Logikeinheit 121 an, auf die zugegriffen werden
soll. In der LU-Verwaltungstabelle 300 ist
die LU-ID der Logikeinheit 121 gespeichert, und wenn ein
Paar gebildet ist, ist die Logikeinheit 121 als die primäre oder
die sekundäre Einheit
festgelegt.
-
Wenn
die Logikeinheit, für
die eine E/A-Anforderung erfolgt, zu einem Paar gehört, erzeugt
die Logikeinheiten-Verwaltungseinheit 102 jeweils eine E/A-Anforderung für die primäre und die
sekundäre Logikeinheit,
falls die Anforderung eine Schreibanforderung ist, bzw. erzeugt
eine E/A-Anforderung für
die primäre
Logikeinheit, falls die Anforderung eine Leseanforderung ist.
-
Die
Logikeinheiten-Umschalteinheit 211 empfängt Brauchbarkeitsinformationen
für die
Logikeinheit 121 von der Pfadverwaltungseinheit 103 und legt
die Logikeinheiten, die ein Paar bilden, als die primäre und die
sekundäre
Einheit fest. Dies wird später
ausführlich
beschrieben.
-
Die
E/A-Anforderungs-Empfangseinheit 221 der Pfadverwaltungseinheit 103 empfängt die
von der Logikeinheiten-Verwaltungseinheit 102 ausgegebene
E/A-Anforderung.
Die E/A-Ende-Benachrichtigungseinheit 222 sendet E/A-Ende-Informationen oder
Brauchbarkeitsinformationen, die angeben, dass die Verarbeitung
für die
von der E/A-Anforderungs-Empfangseinheit 221 von der Logikeinheiten-Verwaltungseinheit 102 empfangene
E/A-Anforderung abgeschlossen ist, an die Logikeinheiten-Verwaltungseinheit 102.
-
Die
E/A-Zuordnungseinheit 223 weist die von der E/A-Anforderungs-Empfangseinheit 221 empfangene
E/A-Anforderung einem entsprechenden Pfad zu. Bei Empfang einer
E/A-Anforderung extrahiert die E/A-Zuordnungseinheit 223 einen
normalen Pfad (einen Pfad mit einer „0" für
die Pfadfehlerinformationen) für
die Logikeinheit, für
die die E/A-Anforderung erfolgt, aus der Pfadtabelle (6). Es
ist zu beachten, dass die Pfadtabelle 600 alle Pfadinformationen
für die
HBA 104 und die Logikeinheit 121 enthält.
-
Die
E/A-Zuordnungseinheit 223 bestimmt einen Pfad aus den ausgewählten normalen
Pfaden, so dass die E/A-Anforderungen durch die Lastverteilungsfunktion
gleichmäßig auf
die Pfade aufgeteilt werden, und weist die E/A-Anforderung zu. Die E/A-Anforderung
wird zum Beispiel einem Pfad zugewiesen, der gegenwärtig keine
E/A-Anforderung verarbeitet, oder einem Pfad, der die E/A-Anforderung abgeschlossen
hat.
-
Wenn
die E/A-Zuordnungseinheit 223 die E/A-Ende-Informationen
empfängt,
die angeben, dass die E/A-Anforderung für den zugewiesenen Pfad normal
beendet worden ist, sendet sie diese an die E/A-Ende-Benachrichtigungseinheit 222.
Es ist zu beachten, dass die E/A-Zuordnungseinheit 223, wenn
die E/A-Anforderung
nicht normal beendet worden ist (wenn von der Fehlererfassungseinheit 224 ein
Fehler festgestellt wird), einen normalen Pfad aus der Pfadtabelle 600 extrahiert
und eine E/A-Anforderung durch die Lastverteilungsfunktion zuweist.
-
Darüber hinaus
weist die E/A-Zuordnungseinheit 223 eine Fehlererfassungseinheit 224 und eine
Fehlerwiederherstellungs-Erfassungseinheit 225 auf und
realisiert die Pfadzustands-Kontrollfunktion zum Feststellen der Änderung
des Pfadzustands für
die Speichereinrichtung durch diese Funktionen. Im Einzelnen erfasst
die Fehlererfassungseinheit 224 eine Pfadzustandsänderung,
wenn der Benutzer den Pfad in den Offline-Zustand (geschlossener
Zustand, in dem auf dem Pfad ein Fehler aufgetreten ist und eine
E/A-Anforderung nicht normal verarbeitet werden kann) bringt oder
wenn während
der Verarbeitung einer E/A-Anforderung ein Pfadfehler festgestellt
worden ist, und meldet die Fehlerinformationen einschließlich der
Pfadkennung an die Pfadinformations-Verwaltungseinheit 226.
Außerdem
erfasst die Fehlerwiederherstellungs-Erfassungseinheit 225 die Wiederherstellung
des Pfadfehlers und meldet die Fehlerwiederherstellungsinformationen
an die Pfadinformations-Verwaltungseinheit 226. Im Einzelnen führt die
Fehlerwiederherstellungs-Erfassungseinheit 225 periodisch
eine E/A-Verarbeitung für
den Pfad durch, auf dem von der Fehlererfassungseinheit 224 ein
Fehler festgestellt worden ist, und prüft, ob die normale Verarbeitung
ausgeführt
worden ist, um festzustellen, ob der Fehler behoben ist. Wenn die
normale Verarbeitung ausgeführt
worden ist, meldet die Fehlerwiederherstellungs-Erfassungseinheit 225 die Fehlerwiederherstellungsinformationen
einschließlich
der Pfadkennung an die Pfadinformations-Verwaltungseinheit 226.
-
Wenn
die Pfadinformations-Verwaltungseinheit 226 Fehlerinformationen
oder Fehlerwiederherstellungsinformationen empfängt, aktualisiert sie die Pfadtabelle 600.
Im Einzelnen wird bei Empfang von Fehlerinformationen der Wert „1" für die Pfadfehlerinformationen
entsprechend der Pfadkennung aus der Pfadkennung in den Fehlerinformationen
gesetzt. Bei Empfang von Fehlerwiederherstellungsinformationen wird
der Wert „0" für die Pfadfehlerinformationen entsprechend
der Pfadkennung aus der Pfadkennung in den Fehlerwiederherstellungsinformationen gesetzt.
-
Als
Nächstes
sieht die Pfadinformations-Verwaltungseinheit 226 in der
Pfadtabelle 600 nach und bestimmt die Anzahl der normalen
Pfade für
die Logikeinheit, in der die Pfadfehlerinformationen geändert worden
sind, und sendet Brauchbarkeitsinformationen einschließlich der
LU-ID und der Anzahl der normalen Pfade für die LU-ID an die E/A-Ende-Benachrichtigungseinheit 222.
-
Die
E/A-Ende-Benachrichtigungseinheit 222 sendet die von der
E/A-Zuordnungseinheit 223 empfangenen Zugriffsendeinformationen
oder die von der Pfadinformations-Verwaltungseinheit 226 empfangenen
Brauchbarkeitsinformationen an die Logikeinheiten-Umschalteinheit 211.
-
Die
Logikeinheiten-Umschalteinheit 211 der Logikeinheiten-Verwaltungseinheit 102 sieht
in der LU-Verwaltungstabelle 300 nach und prüft anhand der
LU-ID in den Brauchbarkeitsinformationen, ob die Einheit eine Logikeinheit
ist, die zu einem Paar gehört.
Wenn festgestellt wird, dass die durch die LU-ID in den Brauchbarkeitsinformationen
angegebene Logikeinheit eine der Logikeinheiten ist, die ein Paar
bilden, wird die Anzahl der normalen Pfade der jeweiligen Logikeinheiten,
die das Paar bilden, miteinander verglichen, und die Logikeinheit
mit der größeren Anzahl
von normalen Pfaden wird als die primäre Logikeinheit in der LU-Verwaltungstabelle 300 gespeichert
(aktualisiert). Außerdem
wird die Logikeinheit mit der kleineren Anzahl von normalen Pfaden
als die sekundäre
Logikeinheit in der LU-Verwaltungstabelle 300 gespeichert
(aktualisiert). Weil die Brauchbarkeitsinformationen von der Pfadverwaltungseinheit 103 ausgegeben
werden, wenn ein Fehler festgestellt oder der Fehler behoben wird,
schaltet die Logikeinheiten-Umschalteinheit 211 die Logikeinheiten, die
ein Paar bilden, jedes Mal, wenn ein Fehler auftritt oder der Fehler
behoben wird, zwischen der primären und
der sekundären
Einheit um.
-
Weil
die primäre
Logikeinheit im Vergleich zu der sekundären Logikeinheit eine höhere Zugriffsfrequenz
aufweist, wird eine Einheit mit mehr zuordnungsfähigen Pfaden als die primäre Logikeinheit festgelegt.
Daher ist es möglich,
den Rückgang
der Durchsatzleistung oder das Auftreten von Problemen aufgrund
dessen, dass nicht auf die Logikeinheit zugegriffen werden kann,
zu verringern.
-
Außerdem kann
die Pfadverwaltungseinheit 103 nach Vorgabe durch einen
Benutzer oder nach einem vorbestimmten Zyklus Brauchbarkeitsinformationen
entsprechend dem in dem Pfad aufgetretenen vergangenen Fehler und
der durch die Zugriffsanforderung in dem Pfad erzeugten vergangenen
Last ausgeben.
-
In
der E/A-Tabelle 1200 sind eine von der E/A-Zuordnungseinheit 223 ausgegebene
E/A-Anforderung, eine Antwort auf die E/A-Anforderung, von der Fehlererfassungseinheit 224 erfasste
Fehlerinformationen, eine von der Fehlerwiederherstellungs-Erfassungseinheit 225 ausgegebene
E/A-Anforderung, eine Antwort auf die E/A-Anforderung und dergleichen
gespeichert, zusammen mit Zeitinformationen.
-
Die
Fehlerstatistik-Verwaltungseinheit 228 untersucht den Fehler
(momentaner Fehler, kumulierter Fehler) aus der in der E/A-Tabelle 1200 gespeicherten
E/A-Anforderung und einer Antwort auf die E/A-Anforderung und erzeugt
eine Pfadfehlertabelle 900 (9).
-
Außerdem erzeugt
die Betriebsstatistik-Verwaltungseinheit 229 aus der in
der E/A-Tabelle 1200 gespeicherten E/A-Anforderung unter
Verwendung der an den Pfad für
die E/A-Verarbeitung übertragenen
Datenmenge und der erforderlichen Zeit für die E/A-Verarbeitung eine
Betriebsstatistiktabelle 1100 (11). Weiter
sieht die Betriebsstatistik-Verwaltungseinheit 229 in der
erzeugten Betriebsstatistiktabelle 1100 nach, gibt einen
Pfad an, für
den festgestellt worden ist, dass er eine verringerte Leistung aufweist,
und speichert ihn als Leistungsfehler in der Pfadfehlertabelle 900.
-
Die
Fehlerhistorien-Verwaltungseinheit 227 berechnet die Sicherheit
für jede
der Logikeinheiten aus den in der Pfadfehlertabelle 900 gespeicherten Fehlerinformationen
und sendet die LU-ID und die Sicherheit der Logikeinheit als Brauchbarkeitsinformationen
an die E/A-Ende-Benachrichtigungseinheit 222. Es ist zu
beachten, dass die Sicherheit weiter unten ausführlich erläutert wird.
-
Wenn
sich die von der E/A-Ende-Benachrichtigungseinheit 222 empfangenen
Brauchbarkeitsinformationen auf eine Logikeinheit beziehen, die
zu einem Paar gehört,
legt die Logikeinheiten-Umschalteinheit 211 die Logikeinheit
mit einer höheren
Sicherheit als die primäre
Logikeinheit und die Logikeinheit mit einer niedrigeren Sicherheit
als die sekundäre
Logikeinheit fest.
-
Weil
die LU-Verwaltungstabelle 300 mit den von der Fehlerhistorien-Verwaltungseinheit 227 empfangenen
Brauchbarkeitsinformationen aktualisiert wird, weist die Fehlerhistorien-Verwaltungseinheit 227 die
Pfadinformations-Verwaltungseinheit 226 zum Senden eines
Ausgangswerts an. Daher sieht die Pfadinformations-Verwaltungseinheit 226 in
der Pfadtabelle 600 nach und sendet die LU-ID der jeweiligen
Logikeinheit und die Anzahl der normalen Pfade für jede Logikeinheit als einen
Ausgangswert an die Logikeinheiten-Umschalteinheit 211.
-
Vor
der Ausführung
der Verarbeitung für
die Anwendung 101 werden zum Beispiel die primäre Logikeinheit
und die sekundäre
Logikeinheit durch die Brauchbarkeitsinformationen, die eine Last
für jeden Pfad
sind, von der Fehlerhistorien-Verwaltungseinheit 227 festgelegt,
und nach Starten der Verarbeitung für die Anwendung 101 erfolgt
der Betrieb durch Umschalten der Logikeinheiten von der primären auf die
sekundäre
oder von der sekundären
auf die primäre
entsprechend den Brauchbarkeitsinformationen von der Pfadinformations-Verwaltungseinheit 226.
-
3 zeigt
ein Beispiel für
die LU-Verwaltungstabelle.
-
Die
LU-Verwaltungstabelle 300 ist eine im Speicher der Informationsverarbeitungseinrichtung 100 gespeicherte
Tabelle und enthält
die Definition der Logikeinheit 121, die von der Informationsverarbeitungseinrichtung 100 verarbeitet
werden kann. Die LU-Verwaltungskennung 301 ist eine Kennung zur
Verwaltung der Logikeinheit, und die E/A-Anforderung der Anwendung 101 gibt
diese LU-Verwaltungskennung
an. Die LU-Kennungen 302 und 305 sind Kennungen
der Logikeinheit. Wenn hier zwei LU-Kennungen für dieselbe LU-Verwaltungskennung definiert
sind, weist die Logikeinheit eine Paarkonfiguration oder eine Konfiguration
auf, bei der dieselben Daten für
die Schreib-E/A-Anforderung geschrieben werden (Spiegeln). In 3 weisen
die Logikeinheit mit der LU-ID „0101" und die Logikeinheit mit der LU-ID „0201" die LU-Verwaltungskennung „1" auf. Das heißt, die
LU1 der Speichereinrichtung A und die LU2 der Speichereinrichtung
B sind so definiert, dass sie ein Paar bilden. In gleicher Weise
sind für
die LU-Verwaltungskennung „2" die LU2 und die
LU3 der Speichereinrichtung A so definiert, dass sie ein Paar bilden.
Für die
LU-Verwaltungskennung „3" ist eine Logikeinheit
definiert. In dem Beispiel in 3 können zwei
Logikeinheiten für
eine LU-Verwaltungskennung definiert sein. Es ist jedoch auch möglich drei oder
mehr Logikeinheiten zu definieren. Außerdem ist bei dieser Ausführungsform
die LU-ID in dem Informationsverarbeitungssystem eindeutig definiert. Es
ist jedoch auch möglich,
sie eindeutig in der Speichereinrichtung zu definieren. In diesem
Fall kann dieselbe LU-ID zwischen verschiedenen Speichereinrichtungen
definiert werden. Daher definiert die LU-Verwaltungstabelle 300 auch
die Kennung der Speichereinrichtung. Die LU-Kennungen 302 und 305 und
die Ausgangswerte der P/S-Flags 303 und 306 werden
durch den Benutzer oder ein anderes Programm festgelegt.
-
Wenn
zwei oder mehr Logikeinheiten für
die LU-Verwaltungskennung definiert sind, definieren die P/S-Flags 303 und 306,
ob die Logikeinheit die primäre
(P) oder die sekundäre
(S) Einheit ist. Wenn die E/A-Anforderung eine Schreibanforderung
ist, werden die primären/sekundären Logikeinheiten
zu deren Gegenständen,
und wenn die E/A-Anforderung eine Leseanforderung ist, wird die
primäre
Logikeinheit zu deren Gegenstand.
-
In
der Spalte Brauchbarkeit 304 und 307 sind die
Anzahl der normalen Pfade in den von der Pfadverwaltungseinheit 103 gesendeten
Brauchbarkeitsinformationen und die Sicherheit angegeben. Normalerweise
ist die von der Pfadinformations-Verwaltungseinheit 226 gesendete
Anzahl der normalen Pfade gespeichert. Die Ausgangswerte für die Spalte Brauchbarkeit 304 und 307 werden
durch die Pfadinformations-Verwaltungseinheit 226 festgelegt.
Wenn die Pfadverwaltungseinheit 103 startet, sieht die Pfadinformations-Verwaltungseinheit 226 im
Einzelnen in der Pfadtabelle 600 nach und sendet die LU-ID und
die Anzahl der normalen Pfade für
die LU-ID als Ausgangswerte an die Logikeinheiten-Verwaltungseinheit 102.
Die Logikeinheiten-Verwaltungseinheit 102 speichert die
Anzahl der normalen Pfade als Brauchbarkeit für die empfangene LU-ID in der LU-Verwaltungstabelle 300.
-
4 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in der Logikeinheiten-Verwaltungseinheit 102.
-
Wenn
die Logikeinheiten-Verwaltungseinheit 102 eine E/A-Anforderung
von der Anwendung 101 empfängt, wird geprüft, ob die
E/A-Anforderung eine Schreibanforderung ist (S401). Falls ja, wird
in der LU-Verwaltungstabelle 300 nachgesehen, und die LU-ID
wird aus der LU-Verwaltungskennung in der E/A-Anforderung ausgelesen. Außerdem wird
eine Zugriffsanforderung für
die Logikeinheit erzeugt und ausgegeben (S402). Wenn die Logikeinheit
eine Paarkonfiguration aufweist (wenn mehrere Logikeinheiten für eine LU-Verwaltungskennung
definiert sind), wird hier eine E/A-Anforderung für die primäre Logikeinheit
und die sekundäre
Logikeinheit erzeugt und ausgegeben.
-
Ist
hingegen die von der Anwendung 101 empfangene E/A-Anforderung
eine Leseanforderung („Nein” in S401),
wird in der LU-Verwaltungstabelle 300 nachgesehen, und
die LU-ID wird aus der LU-Verwaltungskennung in der E/A-Anforderung ausgelesen.
Danach wird eine Zugriffsanforderung für die Logikeinheit erzeugt
und ausgegeben (S403). Wenn die Logikeinheit eine Paarkonfiguration
aufweist (wenn mehrere Logikeinheiten für eine LU-Verwaltungskennung
definiert sind), wird hier eine E/A-Anforderung für die primäre Logikeinheit
erzeugt und ausgegeben.
-
Daher
werden dieselben Daten in die primäre Logikeinheit und die sekundäre Logikeinheit
geschrieben (Spiegeln). Außerdem
wird ein Auslesen von der primären
Logikeinheit durchgeführt.
-
5 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in der Logikeinheiten-Umschalteinheit 211.
-
Wenn
die Logikeinheiten-Umschalteinheit 211 Brauchbarkeitsinformationen
von der Pfadverwaltungseinheit 103 empfängt, speichert sie die Informationen
in der LU-Verwaltungstabelle 300. Im Einzelnen wird die
in den Brauchbarkeitsinformationen enthaltene Anzahl der normalen
Pfade in der Spalte Brauchbarkeit 304 oder 307 entsprechend
der LU-ID in den Brauchbarkeitsinformationen gespeichert (S501).
Danach wird in der LU-Verwaltungstabelle 300 nachgesehen,
um zu prüfen,
ob die Logikeinheit mit der Anzahl der normalen Pfade zu einem Paar
gehört
(S502). Ist kein Paar gebildet, endet die Verarbeitung.
-
Ist
hingegen ein Paar gebildet („Ja” in S502), wird
die Brauchbarkeit der Logikeinheit, die zu einem Paar gehört, aus
der LU-Verwaltungstabelle 300 gelesen, und die Brauchbarkeit
der primären
Logikeinheit wird mit der Brauchbarkeit der sekundären Logikeinheit
verglichen (S504). Im Einzelnen wird die Anzahl der normalen Pfade
der primären
Logikeinheit mit der Anzahl der normalen Pfade der sekundären Logikeinheit
verglichen. Ist die Brauchbarkeit der sekundären Logikeinheit größer als
die Brauchbarkeit der primären
Logikeinheit („Nein” in S504),
wird ein Umschalten zwischen der primären Logikeinheit und der sekundären Logikeinheit
durchgeführt
(S505). Im Einzelnen wird „P" für das P/S-Flag
der LU-ID gesetzt, für
die festgestellt wurde, dass sie eine höhere Brauchbarkeit aufweist,
und „S" wird für das P/S-Flag der
LU-ID gesetzt, für
die festgestellt wurde, dass sie eine geringere Brauchbarkeit aufweist.
-
Wenn
andererseits die primäre
Logikeinheit und die sekundäre
Logikeinheit dieselbe Brauchbarkeit aufweisen oder wenn die primäre Logikeinheit eine
höhere
Brauchbarkeit aufweist („Ja” in S504), wird
die Verarbeitung beendet, ohne ein Umschalten zwischen der primären Logikeinheit
und der sekundären
Logikeinheit durchzuführen.
-
Wenn
die Logikeinheiten ein Paar bilden, legt daher die Logikeinheiten-Umschalteinheit 211 die größere Anzahl
von normalen Pfaden für
die primäre Logikeinheit
und die geringere Anzahl von normalen Pfaden für die sekundäre Logikeinheit
fest.
-
Wenn
drei oder mehr Logikeinheiten einer LU-Verwaltungskennung zugeordnet
sind, ist zu beachten, dass die Logikeinheit mit der höchsten Brauchbarkeit
auf die primäre
Einheit eingestellt wird und die übrigen Logikeinheiten auf die
sekundäre Einheit
eingestellt werden, anstatt die Verarbeitung in den Schritten 504 und 505 durchzuführen.
-
Außerdem ist
zu beachten, dass die von einer Fehlerhistorien-Verwaltungseinheit 227 gesendeten
Brauchbarkeitsinformationen ein Sicherheitsverhältnis angeben, das in gleicher
Weise verarbeitet wird. Das heißt,
der größere Wert
des Sicherheitsverhältnisses
wird für
die primäre
Logikeinheit festgelegt, und der kleinere Wert des Sicherheitsverhältnisses
wird für
die sekundäre
Logikeinheit festgelegt.
-
6 zeigt
ein Beispiel für
die Pfadtabelle.
-
Die
Pfadtabelle 600 ist eine im Speicher der Informationsverarbeitungseinrichtung 100 gespeicherte
Tabelle und enthält
Informationen, die die Zustände
aller Pfade in dem Informationsverarbeitungssystem in 1 (das
heißt
der Informationsverarbeitungseinrichtung 100 und der damit
verbundenen Speichereinrichtung 120) angeben. Die in 6 gezeigte
Pfadtabelle 600 wird von einem Administrator der Speichereinrichtung
oder einem anderen Programm eingerichtet, wenn die Pfadverwaltungseinheit 103 gestartet
wird. Der HBA 104 der Informationsverarbeitungseinrichtung 100 erfasst
zum Beispiel die Logikeinheit 121, und die Informationen über die
erfasste Logikeinheit 121 können durch das Betriebssystem
(OS) der Informationsverarbeitungseinrichtung 100 aus dem
HBA 104 erfasst werden. Die Informationsverarbeitungseinrichtung 100 kann
Informationen über
den Bus (zum Beispiel Informationen, die angeben, welcher HBA 104 den
ADP 122 benutzt) mit Hilfe des SCSI-Befehls für die erfasste
Logikeinheit 121 erfassen. Die Informationsverarbeitungseinrichtung
erzeugt die Pfadtabelle entsprechend den Informationen.
-
Außerdem zeigt
die Pfadtabelle 600 in 6 einen
Fall, bei dem der HBA1 und der HBA2 der Informationsverarbeitungseinrichtung 100 mit
der Speichereinrichtung A 120a verbunden sind, während der HBA3
und der HBA4 mit der Spei chereinrichtung B 120b verbunden
sind. Es ist zu beachten, dass es auch möglich ist, dass die HBA1 bis
HBA4 mit der Speichereinrichtung A 120a und der Speichereinrichtung
B 120b verbunden sind oder dass der HBA1 mit der Speichereinrichtung
A 120a und die HBA2 bis HBA4 mit der Speichereinrichtung
B 120b verbunden sind.
-
In
der Pfadtabelle 600 gibt die Pfadnummer 601 eine
Pfadnummer an, die allen Pfaden eindeutig zugewiesen ist. Die HBA-ID 602 ist
eine Kennung (HBA-ID)
des HBA 104, den der Pfad passiert. Die ADP-ID 603 ist
eine Kennung (ADP-ID)
des ADP 122, den der Pfad passiert. Die LU-ID 604 ist
eine Kennung (LU-ID) der Logikeinheit 121, die der Pfad erreicht.
Die Pfadfehlerinformationen 605 geben an, ob auf dem Pfad
ein Fehler aufgetreten ist. Ist in keinem der Elemente HBA 104,
ADP 122 und der Logikeinheit 121, die den Pfad
bilden, ein Fehler aufgetreten, wird der Wert für die Pfadfehlerinformationen 605 auf „0" gesetzt. Anderenfalls
wird, wenn ein Fehler in einem dieser Elemente aufgetreten ist,
der Wert für
die Pfadfehlerinformationen 605 auf „1" gesetzt.
-
7 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in der Pfadinformations-Verwaltungseinheit 226.
-
Die
Pfadinformations-Verwaltungseinheit 226 startet die Verarbeitung,
wenn sie Fehlerinformationen von der Fehlererfassungseinheit 224 oder Fehlerwiederherstellungsinformationen
von der Fehlerwiederherstellungs-Erfassungseinheit 225 empfängt.
-
Wenn
die Pfadinformations-Verwaltungseinheit 226 Fehlerinformationen
von der Fehlererfassungseinheit 224 empfängt, setzt
sie „1" in den Pfadfehlerinformationen 605 in
der Pfadtabelle 600 aus der in den Fehlerinformationen
enthaltenen Pfadkennung (S701). Danach wird eine LU-ID aus der Pfadkennung
identifiziert, wo ein Fehler aufgetreten ist, und die Anzahl der
normalen Pfade wird für
die LU-ID gezählt (S702).
Die Pfadinformations-Verwaltungseinheit 226 sendet die
LU-ID und die Anzahl der normalen Pfade als Brauchbarkeitsinformationen
an die Zugriffsende-Benachrichtigungseinheit 222 (S703).
-
In
dem Beispiel in 6 empfängt die Pfadinformations-Verwaltungseinheit 226 die
Fehlerinformationen für
die Pfadkennung „1" von der Fehlererfassungseinheit 224 und
setzt „1" in den Pfadfehlerinformationen
mit der Pfadnummer „1". Die Pfadinformations-Verwaltungseinheit 226 zählt die
Anzahl der normalen Pfade für
die LU-ID „0101" der Pfadnummer „1". Weil in diesem
Fall die Pfadnummern „2", „3" und „4" normal sind, beträgt die Anzahl
der normalen Pfade „3". Die Pfadinformations-Verwaltungseinheit 226 sendet
die LU-ID „0101" und die Anzahl der
normalen Pfade „3" als Brauchbarkeitsinformationen
an die Zugriffsende-Benachrichtigungseinheit 222.
-
Es
ist zu beachten, dass bei Empfang einer Fehlerwiederherstellungsbenachrichtigung
in der Pfadinformations-Verwaltungseinheit 226 von der Fehlerwiederherstellungs-Erfassungseinheit 225 der Wert „0" in den Pfadfehlerinformationen 605 in
der Pfadtabelle 600 aus der Pfadkennung in den Fehlerwiederherstellungsinformationen
gesetzt wird (S701). Danach wird in ähnlicher Weise wie beim Empfang
von Fehlerinformationen eine LU-ID identifiziert, die Anzahl der
normalen Pfade für
diese LU-ID wird gezählt
(S702), und die LU-ID und die Anzahl der normalen Pfade werden als
Brauchbarkeitsinformationen an die E/A-Ende-Benachrichtigungseinheit 222 (S703)
gesendet.
-
Bei
jeder Änderung
des Pfadzustands aufgrund des Auftretens eines Fehlers und der Behebung
eines Fehlers gibt die Pfadinformations-Verwaltungseinheit 226 daher
die LU-ID der Logikeinheit und die Anzahl der normalen Pfade für die LU-ID
aus. Auf diese Weise entscheidet die Logikeinheiten-Umschalteinheit 211 über das
Umschalten zwischen der primären
und der sekundären
Logikeinheit entsprechend dem Auftreten eines Fehlers und der Behebung
eines Fehlers.
-
Die
Fehlerhistorien-Verwaltungseinheit 227 untersucht den Fehler
(momentaner Fehler, kumulierter Fehler und Leistungsfehler) anhand
der in der E/A-Tabelle 1200 gespeicherten
Historieninformationen.
-
Ein
momentaner Fehler wird festgestellt, wenn ein Fehler in einer E/A-Anforderung
im selben Pfad aufgetreten ist, aber die nächste E/A-Anforderung normal
beendet worden ist. Ein momentaner Fehler tritt durch Verschleiß einer
optischen Faser oder Instabilität
der Stromversorgung auf, was wiederum zur Instabilität des Übertragungspfads
führt.
-
Ein
kumulierter Fehler wird festgestellt, wenn eine Anzahl von Fehlern,
die einen vorbestimmten Wert überschreitet,
innerhalb einer bestimmten Zeit (zum Beispiel in einem Monat) aufgetreten
ist. Es ist zu beachten, dass anstelle der Beurteilung des kumulierten
Fehlers anhand der Anzahl von Fehlern in einer bestimmten Zeit ein
kumulierter Fehler auch festgestellt werden kann, wenn eine vorbestimmte Anzahl
von Fehlern aufgetreten ist, ohne den Zeitraum für das Zählen der Anzahl von Fehlern
festzulegen. Außerdem
kann ein kumulierter Fehler auch festgestellt werden, wenn die Anzahl
der Fehler, die bei einer vorbestimmten Anzahl von aufeinander folgenden
Zugriffsanforderungen aufgetreten sind, eine vorbestimmte Anzahl überschreitet
oder wenn ein vorbestimmtes Verhältnis
von Zugriffsanforderungen einen Fehler verursacht.
-
Ein
Leistungsfehler wird festgestellt, wenn sich die Leistung um einen
vorbestimmten Wert gegenüber
dem Zustand beim Einrichten des Pfads verschlechtert. Wie nachstehend
beschrieben, erfasst die Betriebsstatistik-Verwaltungseinheit 229 die
Datenmenge und die Verarbeitungszeit für die Zugriffsverarbeitung,
und es wird entschieden, dass ein Leistungsfehler aufgetreten ist,
wenn sich die Reaktion gegenüber
der Ausgangseinstellung um 60% verschlechtert hat.
-
8 zeigt
ein Ablaufdiagramm mit einem Beispiel für die Verarbeitung in der Fehlerstatistik-Verwaltungseinheit 228.
-
Die
Fehlerstatistik-Verwaltungseinheit 228 liest die in der
E/A-Tabelle gespeicherte Antwort auf die an jeden Pfad ausgegebene
E/A-Anforderung (E/A-Ende,
Fehler) in chronologischer Reihenfolge und zählt die Anzahl der aufgetretenen
momentanen Fehler und kumulierten Fehler.
-
Die
Fehlerstatistik-Verwaltungseinheit 228 liest die Antwort
auf die E/A-Anforderung
aus der E/A-Tabelle (S801) und entscheidet, ob die Antwort auf die
E/A-Anforderung ein Fehler ist (S802). Ist die Antwort kein Fehler
(„Nein” in S802),
wird die Steuerung an Schritt S807 übergeben, ohne die Schritte
für kumulierte
Fehler (S803 bis S806) auszuführen.
Ist andererseits die Antwort ein Fehler („Ja” in S802), werden die Schritte
für kumulierte
Fehler (S803 bis S806) ausgeführt.
-
In
den Schritten für
kumulierte Fehler werden zuerst die Startzeit und die Überwachungsdauer
für kumulierte
Fehler auf dem Pfad in der Pfadfehlertabelle nachgesehen, und es
wird geprüft,
ob die aktuelle Zeit innerhalb des Überwachungszeitraums liegt, das
heißt
ob der Fehler innerhalb einer vorbestimmten Überwachungszeit aufgetreten
ist (S803). Ist der Fehler innerhalb der vorbestimmten Überwachungszeit
aufgetreten, wird die Steuerung an Schritt S804 übergeben, und der Erfassungswert
für kumulierte Fehler
wird erhöht,
wodurch die Verarbeitung beendet wird.
-
Wenn
andererseits in Schritt S803 festgestellt wird, dass der Fehler
zu einer anderen Zeit als der vorbestimmten Überwachungszeit aufgetreten ist,
wird die aktuelle Zeit auf die Überwachungsstartzeit
gesetzt (S804), und der Erfassungswert für kumulierte Fehler wird auf „0" gesetzt (S805),
wodurch eine neue Überwachungszeit
gestartet wird. Der Erfassungswert für kumulierte Fehler wird erhöht (S806),
und die Verarbeitung wird beendet.
-
Danach
wird die Steuerung an Schritt S807 übergeben, wo geprüft wird,
ob ein Fehler in dem Verfahren aufgetreten ist, das während einer
vorbestimmten momentanen Überwachungszeit
(eine Sekunde zuvor in dem Beispiel in 8) ausgeführt worden
ist (S807). Wenn festgestellt wird, dass eine Sekunde zuvor kein
Fehler aufgetreten ist, werden die Schritte für momentane Fehler (S808 bis
S811) nicht ausgeführt.
-
Wenn
andererseits festgestellt wird, dass ein Fehler während einer
Sekunde zuvor aufgetreten ist, wird die Steuerung an Schritt 808 übergeben,
wo die Schritte für
momentane Fehler (S808 bis S811) ausgeführt werden.
-
In
den Schritten für
momentane Fehler werden zuerst die Startzeit und die Überwachungszeit
in der Spalte kumulierte Fehler für den Pfad in der Fehlerverwaltungstabelle
nachgesehen, und es wird geprüft,
ob die aktuelle Zeit innerhalb eines vorbestimmten Überwachungszeitraums
liegt, das heißt
ob der Fehler innerhalb einer vorbestimmten Überwachungszeit aufgetreten
ist (S808). Ist der Fehler innerhalb der vorbestimmten Überwachungszeit
aufgetreten, wird die Steuerung an Schritt S811 übergeben, und der Erfassungswert
für momentane
Fehler wird um die Anzahl eines Fehlers (um eins) erhöht, wodurch
die Verarbeitung endet.
-
Wenn
andererseits in Schritt S808 festgestellt wird, dass der Fehler
zu einer anderen Zeit als der vorbestimmten Überwachungszeit aufgetreten ist,
wird die aktuelle Zeit auf die Überwachungsstartzeit
gesetzt (S809), und der Erfassungswert für momentane Fehler wird auf „0" gesetzt (S810),
wodurch eine neue Überwachungszeit
gestartet wird. Der Erfassungswert für momentane Fehler wird um
die Anzahl eines Fehlers (um eins) erhöht, wodurch die Verarbeitung
endet.
-
Es
wird geprüft,
ob die aus der E/A-Tabelle 1200 ausgelesene Antwort auf
die E/A-Anforderung einen vorbestimmten Zeitraum überschreitet
(S812). Wird der vorbestimmte Zeitraum überschritten, endet die Verarbeitung.
-
Wird
andererseits der vorbestimmte Zeitraum nicht überschritten, liest Schritt 801 eine
Antwort auf die nächste
E/A-Anforderung aus und führt die
Verarbeitung erneut durch.
-
9 zeigt
ein Beispiel für
die Pfadfehlertabelle.
-
Die
Pfadfehlertabelle enthält
die Überwachungsstartzeit,
den Überwachungszeitraum,
den Entscheidungswert und den Erfassungswert in Zusammenhang mit
der Art des Fehlers für
jeden der Pfade und jeden der Fehlertypen.
-
Momentane
Fehler werden zum Beispiel während
30 Tagen ab 10:20 Uhr, 30,02 Sekunden am 1. September 2003 überwacht.
Wird während
dieses Überwachungszeitraums
das Auftreten eines momentanen Fehlers erfasst, wird der Erfassungswert um
eins erhöht,
und die Fehlerverwaltungstabelle wird aktualisiert. Außerdem wird,
wenn während
des Überwachungszeitraums
momentane Fehler mit dem Entscheidungswert (20-mal) erfasst werden,
entschieden, dass auf dem Pfad ein momentaner Fehler vorliegt.
-
Weil
Leistungsfehler anhand des Durchschnitts der Zugriffsverfahren bestimmt
werden, ist außerdem
zu beachten, dass das Auftreten eines Leistungsfehlers festgestellt
wird, wenn eine Leistungsminderung einmalig festgestellt wird. Daher
ist der Überwachungszeitraum
nicht festgelegt.
-
10 zeigt
ein Beispiel für
die Verarbeitung in der Betriebsstatistik-Verwaltungseinheit.
-
Zuerst
werden die E/A-Anforderungs-Datenmenge, die erforderliche Verarbeitungszeit
für die E/A-Anforderung
und die E/A-Anforderungszeit aus der E/A-Tabelle 1200 ausgelesen (S1001).
-
Danach
werden Datum und Uhrzeit aus den Zeitinformationen erfasst, die
in der Informationsverarbeitungseinrichtung 100 verwaltet
werden, und es wird geprüft,
ob Datum und Uhrzeit ein bestimmtes Datum und eine bestimmte Uhrzeit
sind (in dem Beispiel in 10 der
erste Tag des Monats und 0:00 Uhr) (S1002). Ist das Datum ein anderes
als der erste Tag des Monats, wird die Steuerung an Schritt 1006 übergeben.
Wird hingegen der erste Tag des Monats festgestellt, wird eine Spalte
zum Aufzeichnen der Daten für
den beginnenden neuen Monat in der Betriebsstatistik-Verwaltungstabelle
hinzugefügt (S1004),
und die bei dem Zugriffsverfahren an den Pfad übertragene Datenmenge und die
erforderliche Zeit für
die E/A-Verarbeitung werden auf „0" initialisiert (S1005), wodurch die
Leistungsüberwachung für einen
neuen Zeitraum vorbereitet wird.
-
Die
Datenmenge, die bei der normal beendeten Zugriffsverarbeitung an
den Pfad übertragen
worden ist, und die erforderliche Zeit für den Zugriff werden zu der
entsprechenden Spalte in der Betriebsstatistiktabelle hinzugefügt (S1006).
-
Es
wird geprüft,
ob sich die Leistung um ein bestimmtes Verhältnis (60% in dem Beispiel
in 10) verschlechtert hat. Diese Prüfung wird
periodisch (zum Beispiel einmal im Monat) oder nach Anweisung durch
den Benutzer durchgeführt.
Wenn festgestellt wird, dass sich die Leistung um 60% verschlechtert
hat, wird ein Leistungsfehler festgestellt und „1" zu dem Erfassungswert für den Leistungsfehler
in der Pfadfehlertabelle 900 hinzugefügt (S1008), wodurch die Verarbeitung
beendet wird. Hat sich die Leistung hingegen nicht um 60% verschlechtert,
wird kein Leistungsfehler festgestellt, und die Verarbeitung wird
beendet.
-
Es
ist zu beachten, dass in 10 die
Pfadleistung (Ansprechrate der Zugriffsverarbeitung durch den Pfad)
für den
Monat als Einheit berechnet wird, aber ein beliebiger Zeitraum für die Leistungsüberwachung
festgelegt werden kann.
-
11 zeigt
ein Beispiel für
die Betriebsstatistik-Verwaltungstabelle.
-
Die
Betriebsstatistik-Verwaltungstabelle enthält den kumulierten Wert der
durch die Zugriffsverarbeitung an den Pfad übertragenen Datenmenge und den
kumulierten Wert der erforderlichen Zeit für die Zugriffsverarbeitung
in dem Pfad. Durch Dividieren der kumulierten Datenmenge durch die
kumulierte Verarbeitungszeit ist es möglich, die Ansprechrate der
Zugriffsverarbeitung für
die Überwachungszeit
zu erhalten.
-
Es
ist zu beachten, dass es ausreicht, wenn die Statistik-Verwaltungstabelle
die Ansprechrate für den
Zeitraum enthält,
in dem die Leistung optimal war (normalerweise bei Installation),
den kumulierten Wert der Datenmenge der Zugriffsverarbeitung für den aktuellen Überwachungszeitraum
und den kumulierten Wert der erforderlichen Zeit für die Zugriffsverarbeitung.
-
Außerdem sind
in der in 11 gezeigten Betriebsstatistik-Verwaltungstabelle
die Datenmenge für
die Zugriffsverarbeitung und die erforderliche Zeit für die Zugriffsverarbeitung
für jeden
Monat gespeichert, aber es ist auch möglich, einen anderen Überwachungszeitraum
für die Überwachung
der Pfadleistung festzulegen.
-
Die
Fehlerhistorien-Verwaltungseinheit 227 bestimmt einen Fehler
für jeden
der Pfade aus der Pfadfehlertabelle 900 in 9.
Der Pfad 1 in 9 weist zum Beispiel einen Erfassungswert
für den
momentanen Fehler auf, der den Entscheidungswert überschreitet,
so dass festgestellt wird, dass Pfad 1 einen momentanen Fehler aufweist.
Darüber
hinaus weist der Pfad 2 Erfassungswerte auf, die die Entscheidungswerte
nicht überschreiten,
so dass festgestellt wird, dass er normal ist. Auf diese Weise wird
für jeden
der Pfade bestimmt, ob er einen momentanen Fehler, einen kumulierten
Fehler oder einen Leistungsfehler aufweist oder normal ist.
-
Als
Nächstes
wird der Pfad für
die Logikeinheit durch Nachsehen in der Pfadtabelle 600 bestimmt.
Für die
LU-ID „0101" werden zum Beispiel
die Pfadnummern „1", „2", „3" und „4" identifiziert. Aus den
so identifizierten Pfadnummern wird die Sicherheit für die LU-ID
berechnet. Hierbei ist „Sicherheit
= a1 × Anzahl
der normalen Pfade – (a2 × Anzahl
der Pfade mit momentanem Fehler + a3 × Anzahl der Pfade mit Leistungsfehler
+ a4 × Anzahl
der Pfade mit kumuliertem Fehler)". Außerdem sind a1 bis a4 Koeffizienten.
Es wird angenommen, dass a1 = 1, a2 = 0,1, a3 = 0,01 und a4 = 0,001.
Wenn alle Pfade als „normal" bestimmt werden,
ist die Sicherheit daher am höchsten,
und wenn für
alle Pfade ein „momentaner
Fehler" festgestellt
wird, ist die Sicherheit am geringsten. Hierbei wird der Koeffizient
für den
momentanen Fehler am höchsten
eingestellt, weil ein momentaner Fehler verursacht wird, wenn die
optische Faser verschlissen ist oder der Übertragungspfad aufgrund der
Instabilität
der Stromversorgung instabil wird und der Fehler nicht ohne weiteres
behoben werden kann. Es ist zu beachten, dass die Koeffizienten
vom Benutzer beliebig festgelegt werden können. So ist es zum Beispiel
möglich,
a1, a2 und a4 auf „0" und a3 auf „1" einzustellen, um
dadurch die Sicherheit für
den Leistungsfehler zu berechnen.
-
Die
Fehlerhistorien-Verwaltungseinheit 227 sendet die so ermittelte
Sicherheit und die LU-ID als Brauchbarkeitsinformationen an die
Zugriffsende-Benachrichtigungseinheit 222. Daher wird in
der Logikeinheiten-Umschalteinheit 211 die Einheit mit
der höheren
Sicherheit auf die primäre
Logikeinheit umgeschaltet.
-
Andererseits
ist die Brauchbarkeit in der LU-Verwaltungstabelle 300 durch
die von der Fehlerhistorien-Verwaltungseinheit 227 empfangenen Brauchbarkeitsinformationen
geändert
worden, weshalb die Fehlerhistorien-Verwaltungseinheit 227 die Pfadinformations-Verwaltungseinheit 226 anweist, einen
Ausgangswert zu senden. Bei Empfang der Anweisung für die Ausgangswertbenachrichtigung von
der Fehlerhistorien-Verwaltungseinheit 227 sieht die Pfadinformations-Verwaltungseinheit 226 in
der Pfadtabelle 600 nach und sendet die Anzahl der normalen
Pfade für
jede der Logikeinheiten als Ausgangswert an die Logikeinheiten-Verwaltungseinheit 102.
Die Logikeinheiten-Verwaltungseinheit 102 aktualisiert
die Brauchbarkeit in der LU-Verwaltungstabelle 300 mit
dem empfangenen Ausgangswert.
-
Die
Fehlerhistorien-Verwaltungseinheit 227 kann vom Benutzer
oder von einem anderen Programm ausgeführt werden. Daher ist es möglich, die Ausführung mit
einem vorbestimmten Zyklus vorzunehmen. So ist es zum Beispiel möglich, jede
Stunde zwischen der primären
und der sekundären
Logikeinheit anhand des Leistungsfehlers als Lastzustand des Pfads
umzuschalten.
-
Entsprechend
dem Auftreten eines Fehlers und der Fehlerwiederherstellung werden
die Logikeinheit, in der ein Fehler aufgetreten ist bzw. wiederhergestellt
worden ist, und die Anzahl der normalen Pfade als Brauchbarkeitsinformationen
von der Pfadinformations-Verwaltungseinheit gemeldet. Es ist jedoch
auch möglich,
einfach die Informationen über das
Auftreten/Wiederherstellen eines Fehlers (zum Beispiel „1" für das Auftreten
eines Fehlers und „0" für die Wiederherstel lung)
und die Logikeinheit, in der ein Fehler auftreten ist bzw. wiederhergestellt
worden ist, als Brauchbarkeitsinformationen zu verwenden.
-
In
diesem Fall, wenn die Brauchbarkeitsinformationen in Schritt 501 „1" lauten, subtrahiert
die Logikeinheiten-Umschalteinheit 211 den Wert 1 von der
Brauchbarkeit der Logikeinheit. Lauten die Brauchbarkeitsinformationen „0", wird der Wert 1
zur Brauchbarkeit der Logikeinheit addiert. Wenn die Logikeinheit,
die geändert
worden ist, zu einem Paar gehört,
wird die Brauchbarkeit der Logikeinheiten, die ein Paar bilden,
verglichen, und die Logikeinheit mit der höheren Brauchbarkeit wird als
die primäre
Einheit festgelegt. Daher geben die Brauchbarkeitsinformationen
die Zuverlässigkeit
der Logikeinheit an und können
beliebige Informationen sein, die die Zuverlässigkeit definieren können.
-
Wie
vorstehend erläutert,
kann eine Logikeinheit mit einer größeren Anzahl von normalen Pfaden,
einer geringen Anzahl von Pfaden mit Leistungsfehler oder einer
geringen Anzahl von Pfaden mit momentanem Fehler als die primäre Logikeinheit festgelegt
werden. Daher ist es möglich,
die Durchsatzleistung für
die E/A-Anforderungen von der Anwendung zu verbessern.
-
Darüber hinaus
ist auch eine Realisierung mit dem Programm zur Ausführung der
in 2 gezeigten Verarbeitungseinheiten möglich.
-
Nachstehend
wird eine weitere Ausführungsform
beschrieben.
-
Hier
werden auch Fehlerinformationen für den Pfad gesetzt, der mit
dem Pfad verbunden ist, auf dem ein Fehler aufgetreten ist.
-
12 zeigt
ein Beispiel für
das Informationsverarbeitungssystem. 12 zeigt
schematisch einen Teil des SAN 110 in 1.
Jeder HBA ist mit allen ADP der Speichereinrichtungen A und B verbunden.
Es ist zu beachten, dass es auch möglich ist, eine Verbindung
zu einigen der ADP anstatt zu allen ADP herzustellen. Darüber hinaus
ist die Konfiguration der jeweiligen Komponenten identisch mit der
in 1.
-
Bei
diesem Aufbau wird zum Beispiel angenommen, wenn ein Fehler in dem
Pfad für
HBA1, ADP1 und LU1 festgestellt wird, dass der Fehler auch auf dem
Pfad aufgetreten ist, der HBA1-ADP1 mitbenutzt, wo der Fehler aufgetreten
ist, das heißt
dem Pfad HBA1-ADP1-LU2 und dem Pfad HBA1-ADP1-LU3. Die Pfadverwaltungseinheit 103 schließt die Pfade
aus, auf denen ein Fehler aufgetreten ist, wählt einen neuen Pfad aus und
ordnet eine E/A-Anforderung zu. Das heißt, wenn ein Fehler auf dem
Pfad zwischen HBA1 und ADP1 aufgetreten ist, wird das Ausgeben einer
E/A-Anforderung an den Pfad vermieden. Dies kann durch Modi fizieren
der Verarbeitung in der Pfadinformations-Verwaltungseinheit 226 in 2 realisiert
werden, wie nachstehend beschrieben wird.
-
Anhand
von 2 und 12 wird
die Verarbeitung bei Ausgabe einer E/A-Anforderung beschrieben.
-
Bei
Empfang einer E/A-Anforderung von der Logikeinheiten-Verwaltungseinheit 102 wählt die E/A-Zuordnungseinheit 223 der
Pfadverwaltungseinheit 103 einen normalen Pfad (Pfad mit
dem Wert „0" in den Fehlerinformationen)
aus der Pfadtabelle 600 aus. Hier wird angenommen, dass
ein Pfad für HBA1-ADP1-LU1
als normaler Pfad gewählt
worden ist. Die E/A-Zuordnungseinheit 223 gibt die E/A-Anforderung
an den gewählten
Pfad aus. Wenn die Fehlererfassungseinheit 224 einen Fehler
für den
Pfad feststellt, gibt die Fehlererfassungseinheit 224 hierbei
die ausgewählte
Pfadkennung als Fehlerinformationen an die Pfadinformations-Verwaltungseinheit 226.
Die Pfadinformations-Verwaltungseinheit 226 setzt „1" für alle Pfade,
die den HBA und ADP mitbenutzen, aus der in den Fehlerinformationen
enthaltenen Pfadkennung. In diesem Fall wird „1" für
die Fehlerinformationen auf dem Pfad für HBA1-ADP1-LU1, dem Pfad für HBA1-ADP1-LU2
und dem Pfad für HBA1-ADP1-LU3
gesetzt, wo der Fehler aufgetreten ist. Außerdem meldet die Pfadinformations-Verwaltungseinheit 226 die
Anzahl der normalen Pfade der Logikeinheiten mit dem gesetzten Wert „1" in den Fehlerinformationen
als Brauchbarkeitsinformationen an die Logikeinheiten-Umschalteinheit 211.
Das heißt,
die Anzahl der normalen Pfade für
jede der Logikeinheiten LU1, LU2 und LU3 wird als Brauchbarkeitsinformationen
gemeldet.
-
Wenn
die Fehlererfassungseinheit 224 einen Fehler feststellt,
wird geprüft,
ob die E/A-Anforderung nicht normal beendet worden ist. Die E/A-Zuordnungseinheit 223 sieht
in der Pfadtabelle 600 nach und wählt einen neuen Pfad aus. In
der Pfadtabelle 600 werden die Fehlerinformationen für den Pfad,
auf dem ein Fehler aufgetreten ist, und den Pfad, der mit dem Pfad
verbunden ist, auf dem der Fehler aufgetreten ist, von der Pfadinformations-Verwaltungseinheit 226 auf „1" gesetzt, und damit
wählt die
Pfadinformations-Verwaltungseinheit 226 einen anderen Pfad
als diesen aus (Pfad mit einer „0" in den Fehlerinformationen). Es ist
zu beachten, dass als mögliche
Pfade zur Auswahl die Pfade HBA1-ADP2-LU1, HBA2-ADP2-LU1 oder dergleichen
in Frage kommen. Die E/A-Zuordnungseinheit 223 gibt erneut
die E/A-Anforderung an den ausgewählten Pfad aus. Wenn die E/A-Zuordnungseinheit 223 eine
neue E/A-Anforderung empfängt,
wählt sie
außerdem
einen Pfad zum Zuordnen aus dem normalen Pfad in der Pfadtabelle
aus.
-
Wie
vorstehend beschrieben, gibt die Fehlerwiederherstellungs-Erfassungseinheit 225 eine E/A-Anforderung
mit einem vorbestimmten Intervall an den Pfad aus, für den eine „1" in den Fehlerinformationen
gesetzt ist. Wenn die E/A-Anforderung
normal beendet wird, wird die Pfadkennung der normal beendeten E/A-Anforderung
als Fehlerwiederherstellungsinformationen an die Pfadinformations-Verwaltungseinheit 226 gemeldet.
-
Wie
vorstehend beschrieben, setzt die Pfadinformations-Verwaltungseinheit 226 die
Pfadfehlerinformationen aus der in den Fehlerwiederherstellungsinformationen
enthaltenen Pfadkennung auf „0" und meldet die Anzahl
der normalen Pfade der Logikeinheit für den Pfad als Brauchbarkeitsinformationen
an die Logikeinheiten-Umschalteinheit 211.
-
Wenn
zum Beispiel ein Fehler zwischen ADP1 und LU1 unter den drei Pfaden (HBA1-ADP1-LU1,
HBA1-ADP1-LU2 und HBA1-ADP1-LU3), für die Fehlerinformationen gesetzt
sind, aufgetreten ist und die übrigen
Pfade normal sind, werden die E/A-Anforderungen an HBA1-ADP1-LU2
und HBA1-ADP1-LU3 von der Fehlerwiederherstellungs-Erfassungseinheit 225 normal
beendet. Dementsprechend werden die Pfadfehlerinformationen auf
HBA1-ADP1-LU2 und HBA1-ADP1-LU3
auf „0" gesetzt. Das heißt, wenn ein
Fehler zwischen ADP und LU aufgetreten ist, wird die Kennung des
Pfads mit dem Fehler eingeengt.
-
Die
Verarbeitung in der Logikeinheiten-Umschalteinheit 211,
die die Brauchbarkeitsinformationen empfangen hat, ist identisch
mit der vorstehenden Beschreibung.
-
13 zeigt
ein Beispiel für
die Pfadtabelle. Diese Pfadtabelle zeigt nur den Pfadteil für die Informationsverarbeitungseinrichtung 100 und
die Speichereinrichtung A 120a. Der Pfad der Informationsverarbeitungseinrichtung 100 und
der Speichereinrichtung B 120b ist auch im Speicher der
Informationsverarbeitungseinrichtung 100 gespeichert. Beim Zählen der
Anzahl der normalen Pfade werden alle in der Informationsverarbeitungseinrichtung 100 gespeicherten
Pfade berücksichtigt.
Der Unterschied gegenüber
der Tabelle in 6 ist der, dass Pfadkorrekturinformationen 606 vorgesehen
sind. Wenn kein normaler Pfad verfügbar ist, bedeuten diese Pfadkorrekturinformationen 606,
dass der Pfad Gegenstand einer Zuordnung durch die E/A-Zuordnungseinheit 223 ist,
auch wenn Fehlerinformationen für
den Pfad gesetzt sind. Die Pfadkorrekturinformationen 606 werden
vom Benutzer festgelegt.
-
14 zeigt
ein Beispiel für
die Pfadauswahlverarbeitung in der E/A-Zuordnungseinheit 223.
-
Die
E/A-Zuordnungseinheit 223, die eine E/A-Anforderung empfangen
hat, ist ein Pfad mit der in der E/A-Anforderung enthaltenen LU-ID
aus der Pfadtabelle 600 und sucht einen Pfad (normaler Pfad)
mit einer „0" in den Pfadfehlerinformationen 605.
Es wird geprüft,
ob der Pfad normal ist (S1402). Wird der Pfad als normal beurteilt,
wird geprüft,
ob mehrere Pfade vorgesehen sind (S1403). Sind mehrere Pfade vorgesehen,
wird einer der Pfade von der Lastverteilungsfunktion ausgewählt (S1404),
und eine E/A-Anforderung wird von dem HBA des ausgewählten Pfads
ausgegeben (S1405). Andererseits umfasst, wenn kein normaler Pfad
verfügbar
ist („Nein” in S1402),
der Pfad die in der E/A-Anforderung enthaltene LU-ID. Der Pfad mit
einer „1" in den Pfadkorrekturinformationen 606 wird
ausgewählt (S1406),
und eine E/A-Anforderung wird von dem HBA des ausgewählten Pfads
ausgegeben (S1405).
-
Außerdem wird,
wenn nur ein normaler Pfad ausgewählt wird („Nein” in S1403), eine E/A-Anforderung
von dem HBA des Pfads ausgegeben (S1405). Es ist zu beachten, dass
diese Verarbeitung der Fehlerfassung durch die Fehlererfassungseinheit 224 unterliegt
und ausgeführt
wird, wenn die E/A-Anforderung erneut ausgegeben wird.
-
15 zeigt
ein Beispiel für
die Verarbeitung in der Pfadinformations-Verwaltungseinheit 226.
-
Die
Pfadinformations-Verwaltungseinheit 226 startet die Verarbeitung
bei Empfang der Fehlerinformationen oder der Fehlerwiederherstellungsinformationen.
Zuerst prüft
die Pfadinformations-Verwaltungseinheit 226, ob die Informationen
Fehlerinformationen sind (S1501). Handelt es sich um Fehlerinformationen,
wird eine „1" in den Pfadfehlerinformationen 605 für den gemeinsamen
Pfad des HBA und ADP mit der in den Fehlerinformationen enthaltenen
Pfadkennung gesetzt (S1502). Wenn zum Beispiel die Pfadkennung der
Pfadnummer „1" als Fehlerinformationen
gemeldet wird, setzt die Pfadinformations-Verwaltungseinheit 226 eine „1" in den Pfadfehlerinformationen 605 für die Pfadnummern „9" und „17", die HBA1-ADP1 mitbenutzen,
anders als Pfadnummer „1".
-
Als
Nächstes
wird die Anzahl der normalen Pfade unter den Pfaden mit der LU-ID,
für die
die Pfadfehlerinformationen 605 auf „1" geändert
sind, gezählt
(S1503). Die LU-ID und die gezählte
Anzahl der normalen Pfade werden als Brauchbarkeitsinformationen
an die E/A-Ende-Benachrichtigungseinheit 222 gemeldet.
-
Wenn
andererseits festgestellt wird, dass die Informationen keine Fehlerinformationen
sind („Nein” in S1501),
wird eine „0" in den Pfadfehlerinformationen 605 für die in
den Fehlerwiederherstellungsinformationen enthaltene Pfadkennung
gesetzt, und die Anzahl der normalen Pfade in den Pfaden mit der
auf „0" geänderten
LU-ID wird gezählt
(S1506). Die LU-ID und die gezählte
Anzahl der normalen Pfade werden als Brauchbarkeitsinformationen
an die E/A-Ende-Benachrichtigungseinheit 222 gemeldet.
-
Es
ist zu beachten, dass die Logikeinheiten-Umschalteinheit 211,
die Brauchbarkeitsinformationen empfangen hat, wie vorstehend anhand
von 5 usw. beschrieben, die primäre und die sekundäre Logikeinheit
entsprechend der Anzahl der normalen Pfade festlegt, wenn die Logikeinheiten,
die durch die in den Brauchbarkeitsinformationen enthaltene LU-ID
angegeben sind, ein Paar bilden, und die LU-Verwaltungstabelle 300 aktualisiert.
-
Es
ist zu beachten, dass hier die Pfade beschrieben worden sind, die
HBA und ADP mitbenutzen. Durch Ändern
der Verarbeitung in Schritt 1502 in 15 kann
jedoch dasselbe auch für
den übrigen gemeinsamen
Teil ausgeführt
werden. Ein Fehler kann zum Beispiel für den Pfad festgestellt werden, der
die ADP-LU oder HBA oder CHA mit dem Pfad, auf dem der Fehler aufgetreten
ist, mitbenutzt.
-
Wenn
ein Fehler auf einem Pfad (Zugriffspfad) aufgetreten ist, wird daher
der Pfad (Zugriffspfad), der mit dem Pfad (Zugriffspfad) verbunden
ist, auf dem der Fehler aufgetreten ist, ebenfalls als ein Pfad
mit einem Fehler angesehen, so dass die Verwendung des Pfads (Zugriffspfads)
mit der Möglichkeit
eines Fehlers vermieden werden kann, wodurch sich die Durchsatzleistung
verbessert.