[go: up one dir, main page]

DE69608641T2 - Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung - Google Patents

Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung

Info

Publication number
DE69608641T2
DE69608641T2 DE69608641T DE69608641T DE69608641T2 DE 69608641 T2 DE69608641 T2 DE 69608641T2 DE 69608641 T DE69608641 T DE 69608641T DE 69608641 T DE69608641 T DE 69608641T DE 69608641 T2 DE69608641 T2 DE 69608641T2
Authority
DE
Germany
Prior art keywords
controller
faulty
port
request
host system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69608641T
Other languages
English (en)
Other versions
DE69608641D1 (de
Inventor
Hidehiko Iwasaki
Kenji Muraoka
Akira Murotani
Toshio Nakano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE69608641D1 publication Critical patent/DE69608641D1/de
Application granted granted Critical
Publication of DE69608641T2 publication Critical patent/DE69608641T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Technik zum Gewährleisten einer hohen Zuverlässigkeit beim Betrieb mehrerer Steuereinheiten für Eingabe/Ausgabe-(E/A)-Vorrichtungen in einem Computersystem und insbesondere ein Verfahren zum redundanten Anordnen von Steuereinheiten, zwischen denen ein Vorgang ohne Eingriff des Benutzers und von Hostsystemen überragen werden kann, wenn in einer der Steuereinheiten in einem externen Speicher-Untersystem ein Fehler auftritt, wobei in dem externen Speicher-Untersystem eine Kleincomputer-Systemschnittstelle (SCSI) verwendet wird, in der die Steuereinheiten wenigstens in einer duplizierten Konfiguration angeordnet sind und auf sie vom Hostsystem zugegriffen werden kann.
  • Bei einer Systemkonfiguration, bei der die SCSI verwendet wird, bei der mehrere Steuereinheiten und ein von wenigstens zwei Steuereinheiten gemeinsam benutzter Speicher über ein Schnittstellenkabel in einer Prioritätskette mit den Hostsystemen verbunden sind, weisen die mehreren Steuereinheiten jeweils verschiedene Anschlußadressen in der Art von SCSI-Kennungen auf. Gewöhnlich verarbeiten diese Steuereinheiten E/A-Anforderungen, die gemäß von den Hostsystemen angegebenen passenden Anschlußadressen festgelegt sind.
  • In JP-A-4 364 514 ist ein System offenbart, bei dem die Steuereinheiten so in der Mehrfachkonfiguration angeordnet sind, daß von einer Hostvorrichtung an mit den mehreren Steuereinheiten verbundene Speicher ausgegebene E/A-Anforderungen mit hoher Geschwindigkeit verarbeitet werden. Bei einem solchen herkömmlichen System kann die E/A-Anforderung beim Auftreten eines Fehlers in einer der Steuereinheiten von einer normalen Steuereinheit verarbeitet werden, wenn das Hostsystem die Spezifikation der Steuereinheit zum Ausführen der E/A-Anforderung ändert. Bei einem System, bei dem das Hostsystem und die mehreren Steuereinheiten in einer Prioritätskette miteinander verbunden sind, wurde jedoch einer Vorgehensweise keine Rechnung getragen, bei der der Vorgang beim Auftreten eines Fehlers in einer Steuereinheit zu einer normalen Steuereinheit übertragen wird, um ihn ohne Eingriff des Hostsystems auszuführen.
  • Nach Ausgabe einer E/A-Anforderung an eine Steuereinheit überwacht das Hostsystem gewöhnlich den Abschluß der E/A-Anforderung durch einen Zeitgeber im Hostsystem. Wenn die E/A-Anforderung selbst dann nicht abgeschlossen ist, wenn die vom Hostsystem vorbestimmte Überwachungszeit nach Ausgabe der E/A-Anforderung abgelaufen ist, nimmt das Hostsystem vorübergehend an, daß der Zustand ein Fehler ist. Beim Ausführen von Vorgängen, wie eines Buswiederherstellungsvorgangs eines SCSI-Busses, versucht das Hostsystem, dieselbe E/A-Anforderung unter Angabe der Anschlußdresse der fehlerhaften Steuereinheit wieder auszugeben.
  • Wenn die Steuereinheit auf die wieder ausgegebene E/A-Anforderung nicht antwortet, bewertet das Hostsystem den Zustand als einen dauerhaften Fehler und gibt daher danach keine E/A-Anforderung an die fehlerhafte Steuereinheit aus. Bei einem Fehler in einer Steuereinheit im herkömmlichen System wird dessen Datenverarbeitung unterbrochen, wenn das Hostsystem einmal den dauerhaften Fehler erkannt hat. Daher ist der Benutzereingriff selbst dann, wenn mehrere Steuereinheiten angeordnet sind, erforderlich, um die Datenverarbeitung des Hostsystems bei einem Fehler in der entsprechenden Steuereinheit fortlaufend auszuführen.
  • Weiterhin wird in einem Fall, in dem mehrere Hostsysteme angeordnet sind, auch eine andere zwischen einem anderen Hostsystem und einer anderen Steuereinheit ausgeführte Datenverarbeitung unterbrochen, wenn eine Steuereinheit versagt und eine Blockierung ihres Arbeitsablaufs auftritt, wobei der Bus von der fehlerhaften Steuereinheit belegt bleibt. Der Benutzereingriff ist auch zum Wiederherstellen der unterbrochenen Datenverarbeitung erforderlich.
  • In der am 11.12.1996 veröffentlichten EP-A-0 747 822, die Stand der Technik nach Art. 54(3) EPÜ ist, ist ein Datenverarbeitungssystem beschrieben, bei dem ein Hostcomputer über ein SCSI-Kabel mit mehreren redundanten, eine Gruppe von Plattenlaufwerken steuernden Speicher-Steuereinheiten verbunden ist. Wenn eine primäre Steuereinheit versagt, antwortet eine Reserve-Steuereinheit mit derselben SCSI-Kennung auf eine Anforderung vom Hostcomputer. Wenngleich in EP-A-0 747 822 auch ein anderes System erwähnt ist, bei dem die Steuereinheiten wie bei jedem gewöhnlichen SCSI-System verschiedene SCSI-Kennungen ohne eine Redundanz aufweisen, ist darin kein bestimmtes Mittel zum Erzielen eines fehlertoleranten Betriebs bei einem solchen herkömmlichen System offenbart.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung besteht daher darin, ein Fehlerbehebungsverfahren und -system bereitzustellen, bei dem beim Auftreten eines Fehlers in einer Steuereinheit ihr Vorgang zu einer normalen Steuereinheit übertragen wird, um die Datenverarbeitung ohne jeden Eingriff des Hostsystems und des Benutzers fortlaufend auszuführen.
  • Diese Aufgabe wird durch das Verfahren nach Anspruch 1 und das System nach Anspruch 4 gelöst. Die Unteransprüche beziehen sich auf bevorzugte Ausführungsformen der Erfindung.
  • Bei einer Ausführungsform ist es in einem Fall, in dem die fehlerhafte Steuereinheit die E/A-Anforderung vom Hostsystem noch nicht empfangen hat und der Fehler daher nicht angenommen wurde, erforderlich, E/A-Anforderungen an die fehlerhafte Steuereinheit möglichst zu unterdrücken, um einen abnormalen Betrieb zu vermeiden. Folglich wird gemäß der vorliegenden Erfindung die Übertragung der Anschlußadresse und von Steuerinformationen nach Unterdrücken eines Ereignisses, bei dem die Hostsysteme E/A-Anforderungen an diese ausgeben, ausgeführt.
  • Zum Lösen der oben angegebenen Aufgabe weist eine normale Steuereinheit eine Funktion zum Empfangen von Steuerinformationen der fehlerhaften Steuereinheit und eine Funktion zum Bezugnehmen auf die Anschlußadresse der fehlerhaften Steuereinheit auf, um deren Inhalt der eigenen Anschlußadresse hinzuzufügen. Weiterhin besitzt die normale Steuereinheit eine Funktion zum Zurücksetzen der Anschlußadresse in der fehlerhaften Steuereinheit, um dadurch die Anschlußadresse zu löschen.
  • Dank diesen Funktionen kann die normale Steuereinheit die Anschlußadresse und Steuerinformationen der fehlerhaften Steuereinheit empfangen, und sie nimmt die an die fehlerhafte Steuereinheit ausgegebene E/A-Anforderung an und führt diese aus. Es kann beim Betrieb ein Verfahren verwendet werden, bei dem die Anschlußadresse von der zugehörigen fehlerhaften Steuereinheit zurückgesetzt wird.
  • Die normale Steuereinheit überwacht gemäß einer Ausführungsform der vorliegenden Erfindung weiterhin beim Erfassen des Fehlers einen Bus, wie einen SCSI-Bus, um dadurch zu entscheiden, ob die fehlerhafte Steuereinheit die E/A-Anforderung vom Hostsystem bereits empfangen hat. Falls die fehlerhafte Steuereinheit die E/A-Anforderung vom Hostsystem bereits empfangen hat, wird die Übertragung der Anschlußadresse und von Steuerinformationen zur fehlerhaften Steuereinheit abgeschlossen, um zu verhindern, daß das Hostsystem den dauerhaften Fehler erkennt, damit der Vorgang des Hostsystems ohne einen Eingriff des Benutzers und des Hostsystems fortgesetzt wird.
  • Wenn die normale Steuereinheit beim Erfassen eines Fehlers in einer Steuereinheit einen E/A-Vorgang ausführt, wird weiterhin angenommen, daß die fehlerhafte Steuereinheit die E/A-Anforderung vom Hostsystem noch nicht empfangen hat. Gemäß einer Ausführungsform der vorliegenden Erfindung ist eine Funktion zum Erfassen dieser Bedingung vorgesehen, so daß die Übertragung der Anschlußadresse und von Steuerinformationen der fehlerhaften Steuereinheit während der Ausführung des E/A-Vorgangs der normalen Steuereinheit vorgenommen wird.
  • Als Ergebnis können E/A-Anforderungen vom Hostsystem an die fehlerhafte Steuereinheit unterdrückt werden, bis der Anschlußadressen-Übertragungsvorgang abgeschlossen ist. Zusätzlich wird in einem Fall, in dem der Bus, wie der SCSI-Bus, beim Erfassen des Fehlers von keiner Steuereinheit benutzt wird, berücksichtigt, daß die fehlerhafte Steuereinheit die E/A-Anforderung vom Hostsystem noch nicht empfangen hat. Gemäß einer Ausführungsform der vorliegenden Erfindung ist eine Funktion vorgesehen, bei der diese Bedingung erfaßt wird und die normale Steuereinheit die fehlerhafte Steuereinheit auswählt, so daß die Übertragung der Anschlußadresse und der Steuerinformationen nach dem Ausführen der Auswahl ausgeführt wird. Dank dieser Funktion können E/A-Anforderungen vom Hostsystem an die fehlerhafte Steuereinheit unterdrückt werden, bis der Anschlußadressen-Übertragungsvorgang abgeschlossen ist.
  • Infolge der Verwendung der Konstruktion dieses Typs erkennt eine normale Steuereinheit in einer Situation, in der eine fehlerhafte Steuereinheit eine E/A-Anforderung empfangen hat und die Ausführung des E/A-Vorgangs nicht abgeschlossen ist, wobei ein Bus, wie ein SCSI-Bus, ausschließlich von der fehlerhaften Steuereinheit reserviert gehalten wird, diesen Zustand, beendet das Empfangen der Anschlußadresse und von Steuerinformationen und setzt die fehlerhafte Steuereinheit innerhalb der E/A-Überwachungszeit des Hostsystems zurück. Hierdurch wird ermöglicht, daß alle nachfolgenden E/A-Anforderungen an die fehlerhafte Steuereinheit empfangen werden können, um von der normalen Steuereinheit ausgeführt zu werden. Dadurch kann das System auf die vom Hostsystem wieder ausgegebenen E/A-Anforderungen antworten, weshalb das Unterbrechen des Vorgangs des Hostsystems sowie das Unterbinden der Ausgabe von E/A-Anforderungen durch das Hostsystem verhindert werden können.
  • Weiterhin kann die normale Steuereinheit beim Erfassen eines Fehlers in einer Steuereinheit E/A-Anforderungen vom Hostsystem an die fehlerhafte Steuereinheit unterdrücken. Daher braucht das Hostsystem in einem Fall, in dem die fehlerhafte Steuereinheit die E/A-Anforderung noch nicht empfangen hat, den Fehler nicht zu erkennen, und alle nachfolgenden E/A-Anforderungen können von der normalen Steuereinheit empfangen werden, wodurch der ununterbrochene Systembetrieb verwirklicht wird.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Diese und andere Aufgaben und Vorteile der vorliegenden Erfindung werden mit Bezug auf die nachfolgende Beschreibung und die anliegende Zeichnung offensichtlich werden, wobei:
  • Fig. 1 ein Hardware-Konfigurationsdiagramm zur Darstellung einer Ausführungsform der vorliegenden Erfindung ist,
  • Fig. 2 ein Diagramm einer Verarbeitungsfolge eines Hostsystems beim Auftreten eines Fehlers in einer Steuereinheit bei der Ausführungsform aus Fig. 1 ist,
  • Fig. 3 ein Diagramm zur kurzen Darstellung von Vorgängen ist, die abhängig von Zuständen des Plattenuntersystems bei der Ausführungsform aus Fig. 1 auszuführen sind,
  • Fig. 4 ein Flußdiagramm einer beim Erfassen des Steuereinheitsfehlers ausgeführten Verarbeitung und insbesondere einer Verarbeitung, die dann ausgeführt wird, wenn sich der SCSI-Bus bei der Ausführungsform aus Fig. 1 im Bus-frei-Zustand befindet, ist,
  • Fig. 5 ein Flußdiagramm einer beim Erfassen des Steuereinheitsfehlers ausgeführten Verarbeitung und insbesondere einer Verarbeitung, die dann ausgeführt wird, wenn der Bus bei der Ausführungsform aus Fig. 1 verwendet wird, ist,
  • Fig. 6 ein Hardware-Konfigurationsdiagramm einer weiteren Ausführungsform gemäß der vorliegenden Erfindung ist und
  • Fig. 7 ein schematisches Diagramm zur Darstellung eines Verfahrens zum Verwirklichen der SCSI-Kennungs-Übertragung bei der Konfiguration der Ausführungsform aus Fig. 6 ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Es wird nun eine detaillierte Beschreibung einer Ausführungsform gemäß der vorliegenden Erfindung gegeben.
  • In Fig. 1 geben die Bezugszahlen 10 und 20 Hostsysteme als Zentralprozessoren zum Ausführen einer Datenverarbeitung an und bezeichnet eine Bezugszahl 70 ein Plattenanordnungs-Untersystem als eine Peripherieeinheit in einer Anordnung mit zwei Steuereinheiten. Im Aufbau des Plattenmatrix-Untersystems 70 bezeichnet eine Bezugszahl 60 eine autonome Platte zum Speichern von Daten der Hostsysteme, bezeichnen die Bezugszahlen 30 und 40 Steuereinheiten zum Überwachen von Datenübertragungen zwischen den Hostsystemen und den autonomen Platten und steht eine Bezugszahl 50 für einen gemeinsam benutzten Speicher zum Übertragen von Informationen zwischen den Steuereinheiten. Eine Bezugszahl 71 gibt eine andere Peripherieeinheit mit einer Eingabe/Ausgabe-(E/A)- Vorrichtung 72 und einer Steuereinheit 73 zum Steuern der E/A-Vorrichtung 72 an.
  • Die Hostsysteme 10 und 20 sind über ein SCSI-Kabel mit den Steuereinheiten 30, 40 und 73 verbunden. Im Aufbau der Steuereinheit 30 gibt eine Bezugszahl 31 einen SCSI- Anschluß zum Steuern eines SCSI-Busses auf der Hostsystemseite an, ist eine Bezugszahl 32 ein Cache-Speicher, bezeichnet eine Bezugszahl 33 einen auf der Geräteseite befindlichen SCSI-Anschluß zum Steuern des SCSI-Busses, der die autonomen Platten mit der Steuereinheit 30 verbindet, bezeichnet eine Bezugszahl 34 einen Mikroprozessor zum Steuern sämtlicher Operationen der Steuereinheit 30, ist eine Bezugszahl 35 eine An schlußadressen-Zurücksetzeinrichtung zum Zurücksetzen des SCSI-Anschlusses der Steuereinheit 40, ist eine Bezugszahl 36 eine Datenübertragungs-Steuereinheit zum Ausführen einer Datenübertragung zwischen dem Hostsystem 10 und dem Cache-Speicher 32 und gibt eine Bezugszahl 37 eine Matrix-Datenübertragungs-Steuereinheit zum Ausführen einer Datenübertragung zwischen dem Cache-Speicher 32 und der autonomen Platte 60 an. Die Datenübertragungs-Steuereinheit 36 weist eine Funktion zum bei der Datenübertragung in den Cache-Speicher erfolgenden Schreiben des Dateninhalts auch in den Cache-Speicher 42 der Steuereinheit 40 auf. Zusätzlich weist die Matrix-Datenübertragungs-Steuereinheit 37 eine Funktion zum Erzeugen redundanter Daten für im Cache- Speicher 32 gespeicherte gepufferte Daten auf. Diese Funktion kann auch zum Wiederherstellen von Daten verwendet werden.
  • Die Steuereinheiten 40 und 30 weisen jeweils die gleiche Konfiguration auf. Insbesondere gibt eine Bezugszahl, die durch Addieren von zehn zur Bezugszahl des Bestandteils erhalten wird, für jeden Bestandteil der Steuereinheit 30 einen Partner oder zugeordneten Bestandteil in der Steuereinheit 40 an. Die Anschlußadressen-Zurücksetzeinrichtung 45 kann den SCSI-Anschluß 31 der Steuereinheit 30 zurücksetzen. Die Anschlußadressen-Zurücksetzeinrichtungen 35 und 45 setzen Anschlußadressen, d. h. von den SCSI-Anschlüssen 41 und 31 bewahrte SCSI-Kennungen in den jeweiligen Steuereinheiten 40 und 30, zurück. Gemäß den SCSI-Normen können die SCSI-Kennungen in der nächsten Entscheidungsphase gelöscht werden.
  • Weil die Datenübertragungs-Steuereinheit 36 zusätzlich eine Funktion zum Schreiben von Daten in den Cache-Speicher 32 aufweist, werden alle von den Hostsystemen 10 und 20 übertragenen Datenelemente zweifach in den jeweiligen Cache-Speichern 32 und 42 gepuffert. Dank dieser Maßnahme kann die verbleibende Steuereinheit selbst dann, wenn ein Fehler in einer der Steuereinheiten auftritt, den Vorgang der fehlerhaften Steuereinheit empfangen und ihn unter Verwendung der eigenen Daten im Cache-Speicher ausführen.
  • Der E/A-Vorgangsablauf wird anhand eines Beispiels beschrieben, in dem das Hostsystem 10 eine Datenübertragung über die Steuereinheit 30 erreicht. Das System 10 gibt eine E/A-Anforderung mit einer die Steuereinheit 30 bezeichnenden SCSI-Kennung aus. In der Steuereinheit 30 empfängt der SCSI-Anschluß 31, der die SCSI-Kennung aufweist, die E/A-Anforderung und leitet sie dann an den Mikroprozessor 34 weiter. Der Mikroprozessor 34 analysiert die E/A-Anforderung und weist dann die Datenübertragungs-Steuereinheit 36 an, eine Datenübertragung zwischen dem System 10 und der Platte 60 auszuführen. Die Übertragungsdaten werden vorübergehend im Cache-Speicher 32 gepuffert und dann für den Fall eines möglichen Fehlers in der Steuereinrichtung 30 auch in den Cache- Speicher 42 geschrieben. In diesem Zusammenhang wird die SCSI-Kennung vom Mikroprozessor 34 beim Initialisieren des SCSI-Anschlusses 31, beispielsweise beim Hochfahren des Systems, gesetzt. Die SCSI-Kennung wird gleichzeitig im gemeinsam benutzen Speicher 50 gespeichert. Im gemeinsam benutzten Speicher 50 werden auch Steuerinformationen gespeichert, so daß der Vorgang fortlaufend von einer normalen Steuereinheit ausgeführt werden kann, wenn in einem der Steuersysteme bei der Konfiguration mit zwei Steuereinheiten ein Fehler auftritt.
  • Mit Bezug auf den Vorgangsablauf des Hostsystems bei einem Fehler in der in Fig. 2 dargestellten Steuereinheit wird nun ein Verfahren zum Fortsetzen einer E/A-Operation des Hostsystems gemäß der vorliegenden Erfindung beschrieben.
  • Zunächst wird der innere Aufbau des Hostsystems beschrieben. In Fig. 2 bezeichnet eine Bezugszahl 81 ein Anwendungsprogramm zum Ausführen einer Datenverarbeitung zum Erzielen mehrerer Anforderungen vom Benutzer, bezeichnet eine Bezugszahl 82 ein Dateisystem, das dazu dient, die Datenstruktur und steuernde E/A-Anforderungen zu speichern, gibt eine Bezugszahl 83 einen Gerätetreiber zum Umwandeln einer E/A-Anforderung in einen für eine Peripherieeinheit geeignete Anforderungsmodus an, steht eine Bezugszahl 84 für eine SCSI-Karte zum Übertragen einer E/A-Anforderung zum SCSI-Bus, bezeichnet eine Bezugszahl 85 einen Übertragungs-E/A-Puffer und bezeichnet eine Bezugszahl 86 ein Systemprotokoll, in dem Fehlerinformationen der Hostsysteme gesammelt werden.
  • Als nächstes wird eine allgemeine Beschreibung der Verarbeitung des Hostsystems 10 gegeben, wenn in der Steuereinheit 30 des Plattenuntersystems ein Fehler auftritt. Beim Empfangen einer in der Anwendung 81 auftretenden E/A-Anforderung gibt das Dateisystem 82 eine E/A-Anforderung über den Gerätetreiber 83 und die SCSI-Karte 84 an den SCSI-Bus aus. Nach Empfang der Anforderung meldet die Steuereinheit 30 eine Prüfbedingung für die E/A-Anforderung, wenn die Steuereinheit 30 einen Fehler im Plattenuntersystem erfaßt.
  • Als nächstes gibt der Gerätetreiber 83 einen Abtastanforderungsbefehl aus, um Abtastdaten zu empfangen, die aus detaillierten Fehlerinformationen bestehen. Entsprechend den Abtastdaten erkennt der Gerätetreiber 83 den Zustand der Steuereinheit 30. Als Ergebnis gibt der Treiber 83 wieder dieselbe E/A-Anforderung aus (wiederholt diese). Weil die fehlerhafte Steuereinheit 30 die erneut ausgegebene E/A-Anforderung auch nicht ausführen kann, weist der Gerätetreiber 83 eine Operation zum Verwerfen des der E/A-Anforderung zugeordneten Vorgangs an und wiederholt den Vorgang beispielsweise durch eine Neuversuch-nach-Abbruch-Meldung. Nach dieser Operation erkennt der Treiber 83 den Zustand als einen dauerhaften Fehler und meldet die Bedingung dem Dateisystem 82.
  • Beim Empfangen der Mitteilung eines dauerhaften Fehlers gibt das Dateisystem 82 danach keine E/A-Anforderung an das Plattenuntersystem 70 aus. Das Dateisystem 82 löscht dann nichtreflektierte Daten des E/A-Puffers 85, zeichnet das Auftreten eines Fehlers im Systemprotokoll auf und sendet dann eine Fehlermeldung über die Anwendung 81 an den Benutzer. Folglich kann die Unversehrtheit aktualisierter Daten zwischen der Anwendung 81, dem Dateisystem 2 und dem Plattenuntersystem gegebenenfalls nicht aufrechterhalten werden. Als Folge muß der Benutzer in einem Fall, auf den die vorliegende Erfindung nicht angewendet wird, die Anwendung und dergleichen einmal unterbrechen, um das Plattenuntersystem wiederherzustellen, um daraufhin eine Folge von Vorgängen, die möglicherweise die Nichtübereinstimmung von Daten im Hostsystem bewirkt haben, erneut auszuführen.
  • Als ein anderes Beispiel der allgemeinen Verarbeitung tritt ein Fall auf, in dem die Steuereinheit 30 selbst bei einem Fehler die Prüfbedingung nicht dem Gerätetreiber 83 mitteilen kann. Insbesondere meldet die Steuereinheit 30 das Auftreten des Fehlers nicht dem Gerätetreiber 83. In diesem Fall prüft der Gerätetreiber 83 den Zustand des Plattenuntersystems, indem er den Zustand während eines festen, durch einen Zeitgeber angegebenen Zeitraums überwacht. Wenn die Antwort nicht innerhalb des festen Zeitraums empfangen wird, führt der Gerätetreiber ähnlich wie im oben angegebenen Beispiel den Vorgang beginnend mit dem Wiederausgeben (Wiederholen) derselben E/A-Anforderung aus.
  • Mit Bezug auf Fig. 1 wird ein vorteilhaftes Merkmal beschrieben, bei dem der E/A- Vorgang ohne Ausführen der Benutzeroperation gemäß der vorliegenden Erfindung fortgesetzt werden kann. Die Steuereinheiten 30 und 40 aktualisieren Überwachungsinformationseinträge der jeweiligen Steuereinheiten im gemeinsam benutzten Speicher 50 in festen Zeitabständen und weiterhin wechselseitige Bezugsüberwachungsinformationen.
  • In einem Fall, in dem die Steuereinheiten 30 und 40 von den Hostsystemen 10 bzw. 20 ausgegebene E/A-Anforderungen empfangen, werden die Überwachungsinformationen der Steuereinheit 30 im gemeinsam benutzten Speicher 50 dann, wenn in der Steuereinheit 30 ein Fehler auftritt, von der Steuereinheit 30 zu Informationen aktualisiert, die den Fehler angeben. Alternativ werden die Informationen selbst dann nicht aktualisiert, wenn ein fester Zeitraum abgelaufen ist. Durch Bezugnahme auf die Überwachungsinformationen im gemeinsam benutzten Speicher 50 erfaßt die Steuereinheit 40 den Fehler in der Steuereinheit 30, liest die SCSI-Kennung des SCSI-Anschlusses 31 und Steuerinformationen der Steuereinheit 30 aus dem gemeinsam benutzten Speicher 50 und fügt dem SCSI-Anschluß 41 mittels des Mikroprozessors 44 die SCSI-Kennung des SCSI-Anschlusses 31 hinzu.
  • Weiterhin löscht die Steuereinheit 40 unter Verwendung der SCSI-Anschluß-Zurücksetzeinrichtung 45 die vom SCSI-Anschluß 31 verarbeitete SCSI-Kennung. Hierdurch wird ermöglicht, daß der SCSI-Anschluß 41 eine vom Hostsystem 20 ausgegebene E/A- Anforderung und eine vom Hostsystem 10 ausgegebene E/A-Anforderung empfängt, so daß der Neuversuch des Hostsystems 10 empfangen wird, um von der Steuereinheit 40 ausgeführt zu werden.
  • Wenn der Neuversuch normal ausgeführt wird, wird dem Dateisystem 82 eine normale Ausführung der E/A-Anforderung gemeldet, und die Verarbeitung des Hostsystems 10 wird normal fortgesetzt. Die Steuerinformationen beinhalten Übergangsinformationen hinsichtlich Datenübertragungen von den Cache-Speichern 32 und 42 zu autonomen Platten. Folglich kann die Steuereinheit 40 statt der Steuereinheit 30 beim Empfangen der Steuerinformationen die in den Cache-Speicher 42 geschriebenen duplizierten Daten als alternative Daten zu den als nichtreflektierte Daten im Cache-Speicher 32 gehaltenen Schreibdaten übertragen.
  • Weil das Verfahren zum Fehlererkennen und Übertragen von Steuerinformationen der Steuereinheit 30 nicht das innewohnende Merkmal der vorliegenden Erfindung ist und in der (am 7. Juni 1995 eingereichten) japanischen Patentanmeldung Nr. 7-139781 entsprechend EP-A-0 747 822, veröffentlicht am 11.12.1996, vom Anmelder der vorliegenden Erfindung bereits in Einzelheiten beschrieben worden ist, kann auf seine Beschreibung verzichtet werden.
  • Zum durch die Steuereinheit 40 erfolgenden Übertragen der SCSI-Kennung des SCSI-Anschlusses 31 zum SCSI-Anschluß 41 und zum Übertragen von Steuerinformationen von der Steuereinheit 30 zur oben beschriebenen Steuereinheit 40 ist es erforderlich, daß die zugeordnete Verarbeitung entsprechend dem Zustand der Steuereinheit 30 in geeigneter Weise ausgeführt wird. Andernfalls können die Übertragungen nicht richtig ausgeführt werden. Gemäß der vorliegenden Erfindung wird der Status der fehlerhaften Steuereinheit 30, insbesondere der Empfangszustand der vom Hostsystem ausgegebenen E/A-Anforderung durch die fehlerhafte Steuereinheit 30, auf der Grundlage des Verwendungszustands (Signalzustands) des SCSI-Busses beurteilt.
  • In den nachfolgenden Beispielen wird ein Fall beschrieben, in dem ein Fehler in der Steuereinheit 30 aus Fig. 1 auftritt und der Vorgang von der normalen Steuereinheit 40 fortgesetzt wird.
  • Mit Bezug auf Fig. 3 wird als nächstes ein Vorgang beschrieben, der entsprechend dem Zustand des Plattenuntersystems auszuführen ist.
  • Im allgemeinen ist es schwierig, den von der fehlerhaften Steuereinheit beim Empfang einer E/A-Anforderung vom Hostsystem auszuführenden Betrieb vollständig vorherzusagen. Daher wird in einem Fall, in dem die fehlerhafte Steuereinheit 30 die E/A-Anforderung vom Hostsystem 10 noch nicht empfangen hat, wenn von der Steuereinheit 40 der Fehler in der Steuereinheit 30 erfaßt wird, der Übertragungsvorgang der SCSI-Kennung einschließlich des Hinzufügens der SCSI-Kennung zum SCSI-Anschluß 41 und des Zurücksetzens des SCSI-Anschlusses 31 so früh wie möglich ausgeführt, so daß die Steuereinheit 40 die E/A-Anforderung empfängt.
  • Wenn eine E/A-Anforderung jedoch vom Hostsystem 10 unter Angabe der SCSI- Kennung während des Übertragungsvorgangs der SCSI-Kennung ausgegeben wird, haben die Steuereinheiten 30 und 40 die gleiche SCSI-Kennung, weshalb der Betrieb des SCSI- Busses instabil wird. In dieser Situation ist gemäß der vorliegenden Erfindung ein Verfahren vorgesehen, bei dem der SCSI-Bus 80 während des SCSI-Kennungs-Übertragungsvorgangs ausschließlich von der einen Steuereinheit belegt ist, um die Ausgabe der E/A-Anforderung vom Hostsystem 10 zu unterdrücken.
  • Gemäß der vorliegenden Erfindung überwacht die Steuereinheit 40 den Verwendungsstatus (Signalzustand) des SCSI-Busses 80, um zu entscheiden, ob die Steuereinheit 30 die E/A-Anforderung vom Hostsystem 10 bereits empfangen hat, wodurch ein der Entscheidung zugeordneter Vorgang ausgeführt wird.
  • In einem der Verwendungszustände des SCSI-Busses 80 befindet sich der SCSI- Bus 80 möglicherweise im Bus-frei-Zustand, wenn ein Fehler in der Steuereinheit 30 erfaßt wird. In diesem Fall befindet sich der SCSI-Bus 80 möglicherweise im Bus-frei-Zustand. Weil die Steuereinheit 30 die E/A-Anforderung noch nicht empfangen hat, führt die Steuereinheit 40 einen Hostbetrieb (den Auslösebetrieb) aus, so daß sie die Steuereinheit 30 auswählt, um den SCSI-Bus 80 ausschließlich zu belegen. Dies ermöglicht es, daß das Ausgeben einer E/A-Anforderung vom Hostsystem 10 unterdrückt wird, so daß die Steuereinheit 40 die Übertragung der SCSI-Kennung während dieses Zeitraums ausführt.
  • In einem der Verwendungszustände des SCSI-Busses 80 kann die Steuereinheit 40 möglicherweise einen E/A-Vorgang über den SCSI-Bus 80 ausführen, wenn ein Fehler in der Steuereinheit 30 erfaßt wird. In dieser Situation kann die Steuereinheit 40 möglicherweise einen E/A-Vorgang über den SCSI-Bus 80 ausführen. In diesem Fall hat die Steuereinheit 30 die E/A-Anforderung nicht empfangen, weshalb der SCSI-Bus 80 beim Abschluß des E/A-Vorgangs in den Bus-frei-Zustand versetzt wird, und es kann möglicherweise eine E/A-Anforderung vom Hostsystem 10 ausgegeben werden. Um diese Schwierigkeit zu überwinden, führt die Steuereinheit 40 während der Ausführung des zugehörigen E/A-Vorgangs auch die SCSI-Kennungs-Übertragung vollständig aus. Wenn die SCSI- Kennungs-Übertragung während der Ausführung der zugehörigen Ein-/Ausgabe nicht abgeschlossen wird, sendet die Steuereinheit 40 keine Mitteilung über den E/A-Abschlußstatus, bevor die Kennungsübertragung vollständig abgeschlossen ist.
  • In einem der Verwendungszustände des SCSI-Busses 80 wird der SCSI-Bus möglicherweise dann verwendet, wenn ein Fehler in der Steuereinrichtung 30 erfaßt wird. In diesem Fall befindet sich das System in einem Zustand, in dem die Entscheidung oder Auswahl gemäß den SCSI-Normen vorgenommen wird, in einem Zustand, in dem eine andere mit dem SCSI-Bus 80 verbundene SCSI-Vorrichtung den SCSI-Bus 80 benutzt, oder in einem Zustand, in dem die Steuereinheit 30 die E/A-Anforderung bereits vom Hostsystem 10 empfangen hat.
  • In dieser Situation überwacht die Steuereinheit 40 das BSY-Signal des SCSI-Busses 80. Wenn das BSY-Signal während eines Zeitraums auftritt, der demjenigen gleicht, während dem die Entscheidungsphase gemäß den SCSI-Normen über die Auswählphase zur Meldungs-Ausgabephase geändert wird, oder länger ist als dieser, kann abhängig vom Überwachungszeitraum beurteilt werden, daß das Signal das BSY-Signal ist, das einen sich in der Ausführung befindenden E/A-Vorgang angibt, und daß es nicht das BSY-Signal der Bus-Master-Rolle-Entscheidung ist. Nach der Signalbeurteilung führt die Steuereinheit 40 den SCSI-Kennungs-Übertragungsvorgang mit hoher Geschwindigkeit aus.
  • Wenn eine andere SCSI-Vorrichtung den SCSI-Bus 80 benutzt, hat die Steuereinheit 30 die E/A-Anforderung nicht empfangen. Demgemäß führt die Steuereinheit 40 den Übertragungsvorgang mit hoher Geschwindigkeit aus, während eine andere SCSI-Vorrichtung den SCSI-Bus 80 benutzt.
  • Wenn die Steuereinheit 30 die E/A-Anforderung vom Hostsystem 10 bereits empfangen hat, hat die fehlerhafte Steuereinheit 30 ihren Betrieb mit dem ausschließlich von der Steuereinheit 30 belegten SCSI-Bus 80 bereits unterbrochen. Weil der Gerätetreiber 83 durch den internen Zeitgeber den E/A-Vorgang überwacht, muß die Steuereinheit 40 die SCSI-Kennungs-Übertragung ausführen, bevor das Hostsystem 10 das Buszurücksetzen und den Neuversuch ausführt, so daß die Steuereinheit 40 auf den Neuversuch antwortet. Der Überwachungszeitraum der Steuereinheit 40 zum Überwachen des SCSI-Busses 80 ist insgesamt kürzer als der E/A-Vorgangs-Überwachungszeitraum des Hostsystems 10. Folglich muß die Steuereinheit 40 die SCSI-Kennungs-Übertragung vor der Bus-Zurücksetzungsangabe vom Hostsystem vollständig ausführen. Dies kann dank der oben angegebenen Maßnahme zufriedenstellend erreicht werden.
  • Mit Bezug auf die Fig. 4 und 5 werden ein Vorgang des Gewinnens des Zustands des Plattenuntersystems durch Überwachen des SCSI-Busses und ein zugeordneter Vorgang des Übertragens der SCSI-Kennung beschrieben.
  • Es wird ein Fall beschrieben, in dem sich der SCSI-Bus 80 im Bus-frei-Zustand befindet, wenn von der Steuereinheit 40 in Fig. 4 ein Fehler in der Steuereinheit 30 erfaßt wird.
  • Weil sich der SCSI-Bus 80 im Bus-frei-Zustand befindet (Schritt 400), erkennt die Steuereinheit 40, daß die Steuereinheit 30 die E/A-Anforderung vom Hostsystem 10 noch nicht empfangen hat. Die Steuereinheit 40 weist dann dem SCSI-Anschluß 41 an, den Auslösebetrieb einzuleiten, um an der Entscheidung des SCSI-Busses 80 teilzunehmen (Schritt 401).
  • Wenn die Steuereinheit 40 daher beim Entscheiden bleibt (ja bei einem Schritt 402), gibt sie die SCSI-Kennung des SCSI-Anschlusses 31 der fehlerhaften Steuereinheit 30 in der Auswählphase an. In dieser Situation arbeitet der SCSI-Anschluß 31 in den meisten Fällen selbst dann normal, wenn in der Steuereinheit 30 ein Fehler auftritt. Folglich wird ein Zustand festgelegt, in dem der SCSI-Anschluß 31 der Steuereinheit 30 den SCSI- Bus 80 ausschließlich belegt (Schritt 404). In diesem Zustand fügt die Steuereinheit 40 die vom SCSI-Anschluß 31 belegte SCSI-Kennung dem SCSI-Anschluß 41 hinzu (Schritt 405) und setzt dann den SCSI-Anschluß 31 zurück (Schritt 406). Der von der Steuereinheit 30 ausschließlich belegte SCSI-Bus 80 wird durch Zurücksetzen des SCSI-Anschlusses 31 freigegeben und in den Bus-frei-Zustand zurückversetzt. Daraufhin empfängt die Steuereinheit 40 die E/A-Anforderung vom Hostsystem 10 (Schritt 413). Der E/A-Vorgang kann in dieser Weise ohne jeden Eingriff des Benutzers fortgesetzt werden.
  • Wenn die Steuereinheit 40 nicht beim Entscheiden bleiben kann (nein beim Schritt 402), wird beurteilt, ob die Steuereinheit 40 in der Auswählphase vom Hostsystem 20 ausgewählt wird (Schritt 403). Wenn die Steuereinheit 40 vom Hostsystem 20 ausgewählt wird (ja beim Schritt 403), wird ein Zustand festgelegt, in dem die Steuereinheit 40 den SCSI-Bus 80 ausschließlich belegt. In diesem Zustand empfängt die Steuereinheit 40 die E/A-Anforderung vom Hostsystem 20 (Schritt 407) und unterbricht dann vorübergehend die Verarbeitung. Die Steuereinheit 40 fügt dem SCSI-Anschluß 41 die vom SCSI-Anschluß 31 belegte SCSI-Kennung hinzu (Schritt 408) und setzt dann den SCSI-Anschluß 31 zurück (Schritt 409). Nach dem Zurücksetzen des Anschlusses 31 führt die Steuereinheit 40 die E/A-Anforderung vom Hostsystem 20 aus (Schritt 410) und bringt dann den SCSI-Bus 80 in den Bus-frei-Zustand zurück. Nach diesem Zeitpunkt empfängt die Steuereinheit 40 die E/A-Anforderung vom Hostsystem 10 (Schritt 413).
  • Wenn die Steuereinheit nicht beim Entscheiden bleibt (nein beim Schritt 402) und nicht vom Hostsystem 20 ausgewählt wird (nein beim Schritt 403), nimmt die Steuereinheit 40 einen Zustand an, in dem die Steuereinheit 30, die die E/A-Anforderung vom Hostsystem 10 empfangen hat, oder eine andere SCSI-Vorrichtung den SCSI-Bus 80 ausschließlich belegt. In dieser Situation fügt die Steuereinheit 40 dem SCSI-Anschluß 41 die vom SCSI-Anschluß 31 belegte SCSI-Kennung hinzu (Schritt 411) und setzt dann den SCSI-Anschluß 31 zurück (Schritt 412), während der Zustand unverändert bleibt. Wenn die Steuereinheit 30 den SCSI-Bus 80 ausschließlich belegt, wird der SCSI-Bus 80 durch Zurücksetzen des SCSI-Anschlusses 31 in den Bus-frei-Zustand zurückversetzt. Wenn eine andere SCSI-Vorrichtung den SCSI-Bus 80 ausschließlich belegt, wird der SCSI-Bus 80 in den Bus-frei-Zustand zurückversetzt, wenn der E/A-Vorgang der SCSI-Vorrichtung abgeschlossen ist. Daraufhin nimmt die Steuereinheit 40 die E/A-Anforderung vom Hostsystem 10 (Schritt 413) an.
  • Mit Bezug auf Fig. 5 wird als nächstes ein Verarbeitungsvorgang in einem Fall, in dem das BSY-Signal des SCSI-Busses 80 bei Erfassung des Fehlers der Steuereinheit 30 aktiviert ist (Schritt 500), beschrieben.
  • Die Steuereinheit 40 bestimmt zunächst, ob sie eine E/A-Anforderung vom Hostsystem 20 ausführt (Schritt 501). Wenn dies nicht der Fall ist (nein beim Schritt 501), überwacht die Steuereinheit 40 fortlaufend den Zustand des SCSI-Busses 80 während eines Zeitraums, der mit demjenigen, während dem die Entscheidungsphase gemäß den SCSI- Normen über die Auswählphase zur Meldungs-Ausgabephase geändert wird (Schritt 502), gleichwertig ist.
  • Wenn die Steuereinheit 40 einen E/A-Betrieb ausführt (ja beim Schritt 501) oder vom Hostsystem 20 während des Überwachungsbetriebs des SCSI-Busses 80 ausgewählt wird (linker Zweig beim Schritt 502), wird beim Erfassen des Fehlers ein Zustand angenommen, in dem der SCSI-Bus 80 ausschließlich von der Steuereinheit 40 belegt ist und die Steuereinheit 30 die E/A-Anforderung nicht empfangen hat. In diesem Zustand fügt die Steuereinheit 40 vor dem Mitteilen des Abschlußstatus der E/A-Ausführung (Schritt 503) dem SCSI-Anschluß 41 die vom SCSI-Anschluß 31 belegte SCSI-Kennung hinzu (Schritt 504) und setzt dann den SCSI-Anschluß 31 zurück (Schritt 5OS). Nach dem Zurücksetzen des Anschlusses 31 gibt die Steuereinheit 40 den E/A-Abschlußstatus bekannt und beendet dann den E/A-Vorgang (Schritt 506).
  • Der SCSI-Bus 80 wird in den Bus-frei-Zustand versetzt, wenn der E/A-Ausführungsvorgang beendet ist, und die Steuereinheit 40 empfängt alle nachfolgenden E/A-Anforderungen vom Hostsystem 10. Auf diese Weise kann der E/A-Vorgang fortlaufend ohne Eingriff des Benutzers ausgeführt werden.
  • Wenn der Bus-frei-Zustand während des Überwachungsbetriebs des SCSI-Busses 80 erfaßt wird (mittlerer Zweig beim Schritt 502), wird der Vorgang bei der Bus-frei-Erfassung aus Fig. 4 ausgeführt.
  • Wenn die Steuereinheit 40 keinen E/A-Betrieb ausführt und der SCSI-Bus 80 während des Überwachungsbetriebs nicht freigegeben ist (rechter Zweig beim Schritt 502), erkennt die Steuereinheit 40, daß die Steuereinheit 30 oder eine andere SCSI-Vorrichtung, die den SCSI-Bus ausschließlich belegt, einen E/A-Betrieb ausführt. Den SCSI-Bus-Über wachungsbetrieb fortsetzend (Schritt 508) fügt die Steuereinheit 40 dem SCSI-Anschluß 41 die vom SCSI-Anschluß 31 besessene SCSI-Kennung hinzu (Schritt 509) und setzt dann den SCSI-Anschluß 31 zurück (Schritt 510).
  • Wenn die Steuereinheit 30 den SCSI-Bus 80 ausschließlich belegt, wird der Bus 80 durch Zurücksetzen des SCSI-Anschlusses 31 in den Bus-frei-Zustand zurückversetzt. Wenn eine andere SCSI-Vorrichtung den SCSI-Bus 80 ausschließlich belegt, wird der Bus 80 in den Bus-frei-Zustand zurückversetzt, wenn der E/A-Betrieb der SCSI-Vorrichtung abgeschlossen ist. Daraufhin empfängt die Steuereinheit 40 die E/A-Anforderung vom Hostsystem 10. Wenn der Bus freigegeben wird, bevor der SCSI-Anschluß 31 vollständig zurückgesetzt worden ist (unterbrochene Linie beim Schritt 508), wird der Vorgang beim Erfassen des in Fig. 4 dargestellten Bus-frei-Zustands ausgeführt.
  • Als Ergebnis des Verarbeitungsvorgangs kann die E/A-Anforderung vom Hostsystem 10 von der Steuereinheit 40 ausgeführt werden, wenn ein Fehler in der Steuereinheit 30 auftritt, wodurch der dauerhafte Fehler vermieden wird. Folglich kann die Datenverarbeitung des Systems 10 normal fortgesetzt werden.
  • Mit Bezug auf die Fig. 6 und 7 wird als nächstes die Tatsache beschrieben, daß die vorliegende Erfindung in einer Konfiguration verwirklicht werden kann, die die Anschlußadressen-Zurücksetzeinrichtung nicht aufweist.
  • Fig. 6 ist ein Diagramm zur Darstellung der Konfiguration, die durch Entfernen der Anschlußadressen-Zurücksetzeinrichtung aus der Steuereinheit aus Fig. 1 erzielt wird. Die Bezugszahlen 90 und 100 geben jeweils Steuereinheiten an, die Funktionen der Steuereinheiten 30 bzw. 40 aus Fig. 1 ausführen, und eine Bezugszahl 50 gibt einen gemeinsam benutzten Speicher zum Übertragen von Informationen zwischen den Steuereinheiten 90 und 100 an.
  • Im inneren Aufbau der Steuereinheit 90 bezeichnet eine Bezugszahl 34 einen den Gesamtbetrieb der Steuereinheiten steuernder Mikroprozessor, gibt eine Bezugszahl 31 einen SCSI-Anschluß an, der nur vom Mikroprozessor 34 gesteuert werden kann, bezeichnet eine Bezugszahl 32 einen Cache-Speicher, steht eine Bezugszahl 33 für einen auf der Geräteseite befindlichen SCSI-Anschluß, bezeichnet eine Bezugszahl 36 eine Datenübertragungs-Steuereinheit und bezeichnet eine Bezugszahl 37 eine Matrix-Datenübertragungs- Steuereinheit. Die Steuereinheiten 100 und 90 weisen die gleiche Konfiguration auf. In den nachfolgenden Absätzen wird ein Beispiel beschrieben, in dem die Steuereinheit 90 eine E/A-Anforderung vom Hostsystem aus Fig. 1 empfängt und die Steuereinheit 100 eine E/A-Anforderung vom Hostsystem aus Fig. 1 empfängt. Fig. 7 ist ein Diagramm zur Darstellung eines SCSI-Kennungs-Übertragungsvorgangs, wobei seine Abszisse den Zeitablauf darstellt.
  • Wenn in der Steuereinheit 90 ein Fehler auftritt, erfaßt die Steuereinheit 100 den Fehler und setzt dann an einer bestimmten Adresse im gemeinsam benutzen Speicher 50 ein Fehlerkennzeichen, welches das Auftreten des Fehlers in der Steuereinheit 90 angibt. Daraufhin liest die Steuereinheit 100 die SCSI-Kennung des SCSI-Anschlusses 31 und Steuerinformationen der Steuereinheit 90 aus dem gemeinsam benutzten Speicher 50 und fügt dem SCSI-Anschluß 41 die SCSI-Kennung mittels des Mikroprozessors 44 hinzu. Dagegen erkennt die Steuereinheit 90 ihren eigenen Fehler entsprechend dem Fehlerkennzeichen im gemeinsam benutzten Speicher 50 und tritt in einen Wartezustand ein, in dem die Steuereinheit ihren Betrieb unter Verwendung eines internen Zeitgebers während eines Zeitraums, der mit demjenigen, während dem die Übertragungsverarbeitung der Steuereinheit 100 vollständig ausgeführt wird, gleichwertig ist, nicht ausführt.
  • Die Steuereinheit 90 bestimmt durch den Wartebetrieb den Abschluß der Verarbeitung der Steuereinheit 100 und löscht dann mittels des Mikroprozessors 34 die vom SCSI- Anschluß 31 belegte SCSI-Kennung. Dadurch wird der SCSI-Kennungs-Übertragungsvorgang abgeschlossen und der SCSI-Anschluß 41 freigegeben, um die E/A-Anforderung vom Hostsystem 10 aus Fig. 1 zu empfangen.
  • Weil der SCSI-Kennungs-Übertragungsvorgang ohne Verwendung der oben beschriebenen Anschlußadressen-Zurücksetzeinrichtung ausgeführt werden kann, ist die vorliegende Erfindung auch bei der Konfiguration wirksam, die die Anschlußadressen-Zurücksetzeinrichtung nicht aufweist. Es ist anzunehmen, daß der Mikroprozessor 34 und der SCSI-Anschluß 31 auch in einem Fall, in dem in der Steuereinheit 90 ein Fehler auftritt, normal arbeiten.

Claims (16)

1. Verfahren zur Erholung von einem Fehler bei einem Datenverarbeitungssystem mit mehreren Steuerungen (30, 40, 90, 100), die einzigartige Kennungen als Adressen ihrer E/A-Anschlüsse (31, 41) aufweisen, einem Interfacekabel (80) zur Verbindung eines Hostsystems (10, 20) und der E/A-Anschlüsse der Steuerungen in einer Kette und einem von den Steuerungen gemeinsam gesteuerten E/A-Gerät, wobei das Verfahren folgende Schritte aufweist:
Erkennen eines Fehlers in einer der Steuerungen (30, 90) durch eine ftormale der Steuerungen (40, 100),
wenn der Fehler erkannt ist, Erkennen eines Benutzungszustands des Interfacekabels (80) durch die normale Steuerung (40, 100),
Beurteilen eines Zustands des Empfangs einer E/A-Anforderung von dem Hostsystem durch die fehlerhafte Steuerung (30, 90), entsprechend dem Benutzungszustand des Interfacekabels und mittels der normalen Steuerung,
wenn die E/A-Anforderung gemäß der Beurteilung noch nicht von der fehlerhaften Steuerung empfangen wurde, Unterdrücken des Empfangs der E/A-Anforderung durch die fehlerhafte Steuerung, mittels Verwendung des Interfacekabels (80) und mittels der normalen Steuerung, Hinzufügen der Kennung des E/A-Anschlusses der fehlerhaften Steuerung zum eigenen E/A-Anschluß durch die normale Steuerung, woraufhin diese als Ersatzsteuerung für die fehlerhafte Steuerung arbeitet, und Zurücksetzen des E/A-Anschlusses der fehlerhaften Steuerungen, um deren Kennung zu löschen, und
wenn die E/A-Anforderung entsprechend der Beurteilung bereits von der fehlerhaften Steuerung (30, 90) empfangen wurde, Hinzufügen der Kennung des E/A-Anschlusses der fehlerhaften Steuerung (30, 90) durch die normale Steuerung zu deren eigenem E/A- Anschluß und Zurücksetzen des E/A-Anschlusses der fehlerhaften Steuerung, bevor das Hostsystem einen dauerhaften Fehler in der fehlerhaften Steuerung erkennen kann.
2. Verfahren nach Anspruch 1, wobei von der normalen Steuerung (40, 100) die folgenden Schritte durchgeführt werden:
wenn der Fehler erkannt wird, Erkennen eines Benutzungszustands des Interfacekabels (80),
Beurteilen eines Empfangszustands einer E/A-Anforderung von dem Hostsystem durch die fehlerhafte Steuerung (30, 90) entsprechend dem Benutzungszustand, und wenn die E/A-Anforderung als Ergebnis der Beurteilung noch nicht von der fehlerhaften Steuerung empfangen wurde, Hinzufügen der Kennung des E/A-Anschlusses der fehlerhaften Steuerung zum E/A-Anschluß der normalen Steuerung und Zurücksetzen des E/A-Anschlusses der fehlerhaften Steuerung, während die normale Steuerung das Interfacekabel verwendet.
3. Verfahren nach Anspruch 1 oder 2, wobei die normale Steuerung (40, 100) beim Zurücksetzen des E/A-Anschlusses der fehlerhaften Steuerung (30, 90) die folgenden Schritte ausführt:
Anweisen der fehlerhaften Steuerung, ihren E/A-Anschluß nach Ablauf eine vorbestimmten Zeitspanne zurückzusetzen, und
Hinzufügen der Kennung der fehlerhaften Steuerung zum eigenen E/A-Anschluß innerhalb der vorbestimmten Zeitspanne.
4. Datenverarbeitungssystem, aufweisend:
mehrere Steuerungen (30, 40, 90, 100) mit einzigartigen Kennungen als Adressen ihrer E/A-Anschlüsse (31, 41),
ein Interfacekabel (80) zur Verbindung eines Hostsystems (10, 20) mit den Steuerungen über ihre E/A-Anschlüsse in einer Kette, und
ein E/A-Gerät (60), das von den Steuerungen (30, 40, 90, 100) gemeinsam gesteuert wird,
wobei jede Steuerung aufweist:
eine Einrichtung (44) zur Erkennung eines Fehlers in einer anderen der Steuerungen (30, 90),
eine Einrichtung zur Erkennung eines Benutzungszustands des Interfacekabels (80), eine Einrichtung zur Beurteilung eines Zustands des Empfangs einer E/A-Anforderung von dem Hostsystem (10, 20) durch die fehlerhafte Steuerung auf der Grundlage des Benutzungszustands des Interfacekabels (80),
eine Einrichtung zur Unterdrückung des Empfangs der E/A-Anforderung durch die fehlerhafte Steuerung, unter Verwendung des Interfacekabels, zum Hinzufügen einer Kennung des E/A-Anschlusses (31) der fehlerhaften Steuerung zum E/A-Anschluß (41) der eigenen Steuerung und zum Zurücksetzen des E/A-Anschlusses der fehlerhaften Steuerung, wenn die E/A-Anforderung entsprechend der Beurteilung von der fehlerhaften Steuerung noch nicht empfangen worden ist, und
eine Einrichtung zum Hinzufügen der Kennung des E/A-Anschlusses der fehlerhaften Steuerung zum E/A-Anschluß der eigenen Steuerung und zum Zurücksetzen des E/A- Anschlusses der fehlerhaften Steuerung, bevor das Hostsystem (10, 20) einen dauerhaften Fehler in der fehlerhaften Steuerung erkennt, wenn die E/A-Anforderung entsprechend der Beurteilung bereits von der fehlerhaften Steuerung empfangen wurde.
5. System nach Anspruch 4, wobei jede Steuerung eine Hardware-Zurücksetzeinrichtung (45) zum Zurücksetzen des E/A-Anschlusses der fehlerhaften Steuerung aufweist.
6. System nach Anspruch 4, wobei eine Zurücksetzeinrichtung (44, 45) in der Ersatzsteuerung eingerichtet ist, ein Fehlerkennzeichenflag an eine vorbestimmte Adresse in einem Speicher (50) zu schreiben, den sich die Steuerungen (30, 40, 90, 100) teilen,
ein Prozessor (34) in der fehlerhaften Steuerung (30, 90) eingerichtet ist, das Fehlerkennzeichenflag aus dem geteilten Speicher (50) zu lesen und seinen E/A-Anschluß nach Ablauf einer vorbestimmten Zeitspanne zurückzusetzen, und
die Zurücksetzeinrichtung die Kennung des E/A-Anschlusses der fehlerhaften Steuerung dem E/A-Anschluß der eigenen Steuerung innerhalb der vorbestimmten Zeitspanne hinzufügt.
7. System nach einem der Ansprüche 4 bis 6, wobei das Interfacekabel ein SCSI-Bus- Kabel ist.
8. System nach einem der Ansprüche 4 bis 7, wobei jede Steuerung (30, 40, 90, 100) einen Mikroprozessor (449 aufweist, der beinhaltet:
die Einrichtung zur Erkennung des Fehlers einer anderen Steuerung,
die Einrichtung zur Erkennung eines Benutzungszustands des Interfacekabels, und
die Einrichtung zur Beurteilung eines Empfangszustands einer E/A-Anforderung von dem Hostsystem (10, 20) durch die fehlerhafte Steuerung, auf der Grundlage des erkannten Benutzungszustands.
9. System nach Anspruch 8 wobei der Microprozessor (44) eingerichtet ist, wenn die E/A-Anforderung als Ergebnis der Beurteilung des Empfangszustands noch nicht von der fehlerhaften Steuerung empfangen wurde, die Kennung des E/A-Anschlusses der fehlerhaften Steuerung zum E/A-Anschluß der normalen Steuerung hinuzufügen, während die normale Steuerung das Interfacekabel (80) verwendet, und eine Rücksetzeinrichtung (45) der normalen Steuerung anzuweisen, den E/A-Anschluß der fehlerhaften Steuerung zurückzusetzen, um deren Kennung zu löschen.
10. System nach Anspruch 8 oder 9, wobei sich die Steuerungen (30, 40, 90, 100) einen Speicher (50) teilen, um die E/A-Anschluß-Adresse sowie Steuerinformationen jeder Steuerung aufzunehmen und dadurch Informationen zwischen den Steuerungen zu übertragen.
11. System nach Anspruch 4, wobei die Steuerungen dafür eingerichtet sind, daß die normale Steuerung, die den Fehler erkannt hat, ein Flag in einem Speicher (50) setzt, den sich die Steuerungen teilen, eine fehlerhafte Steuerung ihren Fehler durch Bezugnahme auf das Flag erkennt und einen Wartezustand einnimmt, ohne über mindestens eine Zeitspanne einen Steuerbetrieb auszuführen, die der Zeitspanne gleicht, in der die normale Steuerung einen Übertragungsvorgang für Steuerinformationen der fehlerhaften Steuerung und eine Hinzufügung einer E/A-Anschluß-Adresse durchführt,
die fehlerhafte Steuerung ihre E/A-Anschluß-Adresse löscht, nachdem die normale Steuerung, die den Fehler erkannt hat, die Übertragungs- und Hinzufügungsvorgänge beendet hat, und
die normale Steuerung, die die E/A-Anschluß-Adresse der fehlerhaften Steuerung erhalten hat, auf eine vom Hostsystem anschließend ausgegebene E/A-Anforderung antwortet, da die E/A-Anschluß-Adresse der fehlerhaften Steuerung bereits gelöscht ist.
12. System nach Anspruch 11, wobei die Steuerungen zum folgenden Betrieb angepaßt sind:
bei Auftreten des Fehlers in der Steuerung und in einem Zustand, in dem das Hostsystem keine E/A-Anforderung an die fehlerhafte Steuerung durchgeführt hat und das das Hostsystem und die Steuerungen verbindende Interfacekabel nicht benutzt ist, führt die normale Steuerung eine Auswahl der fehlerhaften Steuerung aus, um zwischen der normalen und der fehlerhaften Steuerung eine Bus-Master-Rolle zu übernehmen, wodurch mittels der normalen Steuerung die Ausstellung einer E/A-Anforderung vom Hostsystem zur fehlerhaften Steuerung während des Übertagungsvorgangs der Anschlußadresse unterdrückt wird.
13. System nach Anspruch 11, wobei die Steuerungen für den folgenden Betrieb eingerichtet sind:
bei Auftreten des Fehlers in einer Steuerung und in einem Zustand, in dem ein Hostsystem keine E/A-Anforderung an die fehlerhafte Steuerung durchgeführt hat und die normale Steuerung das Interfacekabel (80) verwendet, beendet die normale Steuerung den Übertragungsvorgang der E/A-Anschluß-Adresse der fehlerhaften Steuerung während der Bearbeitung der von dem Hostsystem ausgegebenen E/A-Anforderung und gibt dann die Nachricht von der Beendigung der E/A-Anforderung aus, wodurch mittels der normalen Steuerung die Ausgabe einer E/A-Anforderung vom Hostsystem an die fehlerhafte Steuerung während des Übertragungsvorgangs der E/A-Anschluß-Adresse unterdrückt wird.
14. System nach Anspruch 11, wobei die Steuerungen für den folgenden Betrieb eingerichtet sind:
wenn das Interfacekabel (80) bei Auftreten des Fehlers in der Steuerung verwendet wird, überwacht die normale Steuerung ein BSY-Signal des Interfacekabels, um zu erkennen, ob es von einem anderen mit ihm verbundenen Gerät verwendet wird, ob sich das System in einem Übergangszustand von einer Verhandlungsphase zu einer Auswahlphase entsprechend dem SCSI-Standard befindet und ob die fehlerhafte Steuerung bereits die E/A-Anforderung des Hostsystems empfangen hat,
wenn das Interfacekabel während der Überwachung zur Verwendung freigegeben wird, führt die normale Steuerung eine Auswahl der fehlerhaften Steuerung aus, um eine SCSI-Bus-Master-Rolle zwischen der normalen und der fehlerhaften Steuerung auf dem Interfacekabel anzunehmen,
wenn die normale Steuerung während des Überwachungsbetriebs ausgewählt wird, vollendet die normale Steuerung die Übertragung der E/A-Anschluß-Adresse der fehlerhaften Steuerung während der Bearbeitung einer vom Hostsystem ausgegebenen E/A-Anforderung und gibt dann eine Nachricht von der Beendigung der E/A-Anforderung aus, und die normale Steuerung beendet während der Überwachungsperiode den Übertragungsvorgang der E/A-Anschluß-Adresse der fehlerhaften Steuerung.
15. System nach Anspruch 14, wobei die Überwachungsperiode für die Bus-Master- Rolle auf die gleiche oder eine längere Zeitspanne als diejenige Zeitspanne festgesetzt ist, in der sich die Verhandlungsphase über die Auswahlphase zur Nachrichtenausgabephase ändert, so daß bestätigt wird, daß das BSY-Signal nicht zur Verhandlung der Bus-Master- Rolle gehört, sondern von einem E/A-Vorgang verursacht ist, wodurch die Übertragung der E/A-Anschluß-Adresse der fehlerhaften Steuerung durchgeführt wird.
16. System nach Anspruch 4, das außerdem das Hostsystem enthält, wobei das Hostsystem eingerichtet ist, in einem Zustand, in dem eine Steuerung, die eine von dem Hostsystem ausgegebene E/A-Anforderung empfangen hat, aufgrund eines Fehlers in der Steuerung auf diese nicht antworten kann, einen E/A-Beendigungsbericht von der Steuerung überwacht, die E/A-Anforderung nach Ablauf der vorbestimmten Überwa chungsperiode nochmals an die fehlerhafte Steuerung ausgibt, einen Erholungsvorgang mit einem Rücksetzbetrieb ausführt, einen dauerhaften Fehler erkennt, wenn die Steuerung nicht auf den Erholungsvorgang antwortet, und den Fehler einer Anwendung mitteilt, und die normale Steuerung eingerichtet ist, einen Betrieb mit den Vorgängen zur Bezugnahme, zur Übertragung und zur Hinzufügung einer Anschlußadresse beendet, bevor der dauerhafte Fehler bemerkt wird, wodurch ein Bericht des dauerhaften Fehlers zur Anwendung des Hostsystems verhindert wird.
DE69608641T 1995-10-30 1996-10-25 Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung Expired - Lifetime DE69608641T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28207295A JP3628777B2 (ja) 1995-10-30 1995-10-30 外部記憶装置

Publications (2)

Publication Number Publication Date
DE69608641D1 DE69608641D1 (de) 2000-07-06
DE69608641T2 true DE69608641T2 (de) 2001-02-22

Family

ID=17647772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69608641T Expired - Lifetime DE69608641T2 (de) 1995-10-30 1996-10-25 Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung

Country Status (4)

Country Link
US (3) US6052795A (de)
EP (1) EP0772127B1 (de)
JP (1) JP3628777B2 (de)
DE (1) DE69608641T2 (de)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3628777B2 (ja) 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
JP3863291B2 (ja) * 1998-05-28 2006-12-27 株式会社日立製作所 データベース処理方法、データベース処理システム及び媒体
JPH11345175A (ja) * 1998-06-02 1999-12-14 Nec Kofu Ltd 代替パス制御システム及び方法
JP4392877B2 (ja) 1998-09-18 2010-01-06 株式会社日立製作所 ディスクアレイ制御装置
JP4132322B2 (ja) * 1998-12-16 2008-08-13 株式会社日立製作所 記憶制御装置およびその制御方法
US6493777B1 (en) * 1999-09-15 2002-12-10 Lucent Technologies Inc. Method for dynamically reconfiguring data bus control
JP4462697B2 (ja) 2000-01-31 2010-05-12 株式会社日立製作所 記憶制御装置
US6766470B1 (en) * 2000-03-29 2004-07-20 Intel Corporation Enhancing reliability and robustness of a cluster
US6961765B2 (en) 2000-04-06 2005-11-01 Bbx Technologies, Inc. System and method for real time monitoring and control of networked computers
US6697905B1 (en) * 2000-04-13 2004-02-24 International Business Machines Corporation Apparatus for providing I/O support to a computer system and method of use thereof
US6735715B1 (en) * 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6708283B1 (en) * 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
JP2002041440A (ja) * 2000-07-13 2002-02-08 Internatl Business Mach Corp <Ibm> コンピュータシステム、バスインタフェイスおよびその制御方法
US6954881B1 (en) * 2000-10-13 2005-10-11 International Business Machines Corporation Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve
JP2002366334A (ja) * 2001-06-07 2002-12-20 Komatsu Ltd 複数の処理モジュールを制御する装置及び方法
US6898732B1 (en) * 2001-07-10 2005-05-24 Cisco Technology, Inc. Auto quiesce
JP4796251B2 (ja) * 2001-09-21 2011-10-19 株式会社日立製作所 ネットワークストレージシステム及びその制御方法
JP2003162377A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
JP4014923B2 (ja) * 2002-04-30 2007-11-28 株式会社日立製作所 共有メモリ制御方法および制御システム
US7293196B2 (en) * 2002-05-08 2007-11-06 Xiotech Corporation Method, apparatus, and system for preserving cache data of redundant storage controllers
US7010528B2 (en) * 2002-05-23 2006-03-07 International Business Machines Corporation Mechanism for running parallel application programs on metadata controller nodes
US20030220943A1 (en) * 2002-05-23 2003-11-27 International Business Machines Corporation Recovery of a single metadata controller failure in a storage area network environment
US7448077B2 (en) * 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
US8140622B2 (en) 2002-05-23 2012-03-20 International Business Machines Corporation Parallel metadata service in storage area network environment
US7092990B2 (en) * 2002-06-26 2006-08-15 International Business Machines Corporation Handling node address failure in a distributed nodal system of processors
CA2434899C (en) * 2002-07-12 2011-02-22 Tundra Semiconductor Corporation Fault tolerance
US7103727B2 (en) 2002-07-30 2006-09-05 Hitachi, Ltd. Storage system for multi-site remote copy
EP1552392B1 (de) * 2002-08-02 2008-11-05 Grass Valley (U.S.) Inc. Echtzeit-failover-wiederherstellung für ein mediennetzwerk
US7814050B2 (en) * 2002-10-22 2010-10-12 Brocade Communications Systems, Inc. Disaster recovery
US7480831B2 (en) * 2003-01-23 2009-01-20 Dell Products L.P. Method and apparatus for recovering from a failed I/O controller in an information handling system
US7380163B2 (en) * 2003-04-23 2008-05-27 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in response to a heartbeat link failure
US7627780B2 (en) * 2003-04-23 2009-12-01 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance
US7565566B2 (en) * 2003-04-23 2009-07-21 Dot Hill Systems Corporation Network storage appliance with an integrated switch
US7401254B2 (en) * 2003-04-23 2008-07-15 Dot Hill Systems Corporation Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis
JP4278444B2 (ja) 2003-06-17 2009-06-17 株式会社日立製作所 仮想ポート名の管理装置
CN101566931B (zh) 2003-08-14 2011-05-18 克姆佩棱特科技公司 虚拟磁盘驱动系统和方法
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
US7966294B1 (en) * 2004-01-08 2011-06-21 Netapp, Inc. User interface system for a clustered storage system
US7137031B2 (en) 2004-02-25 2006-11-14 Hitachi, Ltd. Logical unit security for clustered storage area networks
GB2426609B (en) 2004-03-19 2008-05-14 Zakrytoe Aktsionernoe Obschest Failover and load balancing
US7249285B2 (en) * 2004-03-25 2007-07-24 International Business Machines Corporation Address watch breakpoints in a hardware synchronization range
US7760626B2 (en) * 2004-03-31 2010-07-20 Intel Corporation Load balancing and failover
JP4490745B2 (ja) * 2004-06-29 2010-06-30 株式会社日立製作所 ホットスタンバイシステム
US7406625B2 (en) * 2004-08-17 2008-07-29 International Business Machines Corporation Protecting a code range in a program from breakpoints
JP4294568B2 (ja) 2004-10-04 2009-07-15 富士通株式会社 ディスクアレイ装置及びその制御方法
US7478265B2 (en) 2004-10-14 2009-01-13 Hewlett-Packard Development Company, L.P. Error recovery for input/output operations
US7437608B2 (en) 2004-11-15 2008-10-14 International Business Machines Corporation Reassigning storage volumes from a failed processing system to a surviving processing system
EP1871075B1 (de) 2004-12-24 2015-03-04 IZUTSU, Masahiro Mobile informationskommunikationsvorrichtung, verbindungseinheit für eine mobile informationskommunikationsvorrichtung und externe eingabe-/ausgabeeinheit für eine mobile informationskommunikationsvorrichtung
US7496790B2 (en) 2005-02-25 2009-02-24 International Business Machines Corporation Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization
US7953917B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Communications protocol expander
CN102880424B (zh) 2006-05-24 2015-10-28 克姆佩棱特科技公司 用于raid管理、重新分配以及重新分段的系统和方法
JP4923990B2 (ja) * 2006-12-04 2012-04-25 株式会社日立製作所 フェイルオーバ方法、およびその計算機システム。
US7681089B2 (en) * 2007-02-20 2010-03-16 Dot Hill Systems Corporation Redundant storage controller system with enhanced failure analysis capability
JP5148236B2 (ja) * 2007-10-01 2013-02-20 ルネサスエレクトロニクス株式会社 半導体集積回路及び半導体集積回路の制御方法
JP5353002B2 (ja) * 2007-12-28 2013-11-27 富士通株式会社 ストレージシステム及び情報処理装置のアクセス制御方法
US7877625B2 (en) * 2008-04-16 2011-01-25 Invensys Systems, Inc. Efficient architecture for interfacing redundant devices to a distributed control system
US20090319699A1 (en) * 2008-06-23 2009-12-24 International Business Machines Corporation Preventing Loss of Access to a Storage System During a Concurrent Code Load
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
WO2011058598A1 (en) * 2009-11-10 2011-05-19 Hitachi, Ltd. Storage system with multiple controllers
US8201020B2 (en) 2009-11-12 2012-06-12 International Business Machines Corporation Method apparatus and system for a redundant and fault tolerant solid state disk
US9329939B2 (en) * 2011-06-08 2016-05-03 Taejin Info Tech Co., Ltd Two-way raid controller for a semiconductor storage device
US9146851B2 (en) 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
JP6307847B2 (ja) * 2013-11-19 2018-04-11 富士通株式会社 情報処理装置,制御装置及び制御プログラム
US20160283303A1 (en) * 2015-03-27 2016-09-29 Intel Corporation Reliability, availability, and serviceability in multi-node systems with disaggregated memory
US11128578B2 (en) 2018-05-21 2021-09-21 Pure Storage, Inc. Switching between mediator services for a storage system
US12032437B2 (en) * 2022-07-06 2024-07-09 Dell Products L.P. Real-time sense data querying

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4141066A (en) * 1977-09-13 1979-02-20 Honeywell Inc. Process control system with backup process controller
JPS5546535A (en) * 1978-09-28 1980-04-01 Chiyou Lsi Gijutsu Kenkyu Kumiai Method of manufacturing semiconductor device
JPH0618377B2 (ja) * 1983-09-08 1994-03-09 株式会社日立製作所 伝送系
JPS63178360A (ja) * 1987-01-20 1988-07-22 Hitachi Ltd 入出力システム構成方式
JPH01147727A (ja) * 1987-12-04 1989-06-09 Hitachi Ltd オンラインプログラムの障害回復方法
US5016244A (en) * 1989-09-08 1991-05-14 Honeywell Inc. Method for controlling failover between redundant network interface modules
US5091847A (en) * 1989-10-03 1992-02-25 Grumman Aerospace Corporation Fault tolerant interface station
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5289589A (en) * 1990-09-10 1994-02-22 International Business Machines Corporation Automated storage library having redundant SCSI bus system
JP3014494B2 (ja) 1991-06-11 2000-02-28 三菱電機株式会社 デュアルポートディスク制御装置
US5313584A (en) * 1991-11-25 1994-05-17 Unisys Corporation Multiple I/O processor system
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
JP2868141B2 (ja) * 1992-03-16 1999-03-10 株式会社日立製作所 ディスクアレイ装置
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
GB2290891B (en) * 1994-06-29 1999-02-17 Mitsubishi Electric Corp Multiprocessor system
US5557735A (en) * 1994-07-21 1996-09-17 Motorola, Inc. Communication system for a network and method for configuring a controller in a communication network
US5644700A (en) * 1994-10-05 1997-07-01 Unisys Corporation Method for operating redundant master I/O controllers
DE69523124T2 (de) * 1994-12-15 2002-05-29 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems
EP0721162A2 (de) * 1995-01-06 1996-07-10 Hewlett-Packard Company Speicherplattenanordnung mit auf gespiegeltem Speicher basierten doppelten Steuergeräten
JP3732869B2 (ja) 1995-06-07 2006-01-11 株式会社日立製作所 外部記憶装置
US5790775A (en) * 1995-10-23 1998-08-04 Digital Equipment Corporation Host transparent storage controller failover/failback of SCSI targets and associated units
JP3628777B2 (ja) * 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置

Also Published As

Publication number Publication date
JPH09128305A (ja) 1997-05-16
US6052795A (en) 2000-04-18
EP0772127A1 (de) 1997-05-07
EP0772127B1 (de) 2000-05-31
US6321346B1 (en) 2001-11-20
DE69608641D1 (de) 2000-07-06
JP3628777B2 (ja) 2005-03-16
US20010020282A1 (en) 2001-09-06
US6412078B2 (en) 2002-06-25

Similar Documents

Publication Publication Date Title
DE69608641T2 (de) Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung
DE69615611T2 (de) Externes Speichersystem mit redundanten Speichersteuerungen
DE69817696T2 (de) Warmaustausch von gespiegeltem Nachschreib-Cachespeicher
DE69127433T2 (de) Eingang-ausgangsteuerungseinrichtung
DE3853452T2 (de) Mehrfachverarbeitung mit hoher Verfügbarkeit.
DE3781486T2 (de) Verfahren zur stossfreien umschaltung von aktiven einheiten zu ersatzeinheiten in datenverarbeitungsanlagen und datenverarbeitungsanlage zur durchfuehrung dieses verfahrens.
DE3485820T2 (de) Doppelspeichersystem mit reservestromversorgung.
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69626947T2 (de) Reservekopie-Generierung in einem RAID-Untersystem
DE3855031T2 (de) Kopiesystem mit &#34;Hot-standby&#34;-Speicher
DE69323225T2 (de) Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
DE69523124T2 (de) Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems
DE69219657T2 (de) Fortsetzung der Aufgabe eines fehlerhaften Prozessors von einem alternativen Prozessor
DE69802833T2 (de) Diagnose redundanter steuerungen, die eine private lun verwenden
DE69900947T2 (de) RüCKVERFOLGUNG VON SPEICHERSEITENMODIFIKATION IN EINER BRÜCKE FÜR EIN MEHRPROZESSORSYSTEM
EP0238841B1 (de) Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit
DE69901247T2 (de) Direktspeicherzugriff in einer brücke für ein mehrprozessorsystem
DE69031782T2 (de) Verfahren zum Ersetzen von Speichermodulen in einem Computersystem und Computersystem zur Durchführung des Verfahrens
DE69930307T2 (de) Datenspeichersystem
DE10297284T5 (de) Modulare Architektur für einen Netzwerk-Speicher Controller
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
DE60002908T2 (de) Vorrichtung und verfahren zur verbesserten fehlerortung und diagnose in rechnern
DE69624191T2 (de) Atomisches Aktualisieren von EDC-geschützten Daten
DE102009019961A1 (de) Vorrichtung, Systeme und Verfahren zum effizienten Verwenden von Hardware-Ressourcen für einen Softwaretest
DE69224885T2 (de) Prozessteuersystem zum Betreiben einer Speichereinrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition