DE69811150T2 - Verfahren und Gerät für hochverfügbare Cachedatenspeicherungsanordnungen - Google Patents
Verfahren und Gerät für hochverfügbare CachedatenspeicherungsanordnungenInfo
- Publication number
- DE69811150T2 DE69811150T2 DE69811150T DE69811150T DE69811150T2 DE 69811150 T2 DE69811150 T2 DE 69811150T2 DE 69811150 T DE69811150 T DE 69811150T DE 69811150 T DE69811150 T DE 69811150T DE 69811150 T2 DE69811150 T2 DE 69811150T2
- Authority
- DE
- Germany
- Prior art keywords
- controller
- circuit
- slave
- main
- host
- 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 - Fee Related
Links
- 238000013500 data storage Methods 0.000 title claims description 37
- 238000000034 method Methods 0.000 title claims description 11
- 230000015654 memory Effects 0.000 claims description 16
- 239000000835 fiber Substances 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000001514 detection method Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung bezieht sich im allgemeinen auf eine Methode und eine Vorrichtung für hochverfügbare Datenspeichereinrichtungen mit Cachespeicherung, und genauer auf eine Methode und eine Vorrichtung, die effiziente Cachespeicher-Operationen ausführt und eine Ersatzschaltung im Fehlerfall (d. h. Umschaltung) in Steuerungen und/oder Datenspeichereinrichtungen zuläßt, die für einen Server oder einen Hostrechner nicht sichtbar sind.
- In einem typischen Client-Server System sind eine Mehrzahl von Clients mit einem oder mehreren Servern gekoppelt, die ihrerseits mit einem oder mehreren Datenspeichereinrichtungen gekoppelt sind. Die Clients können auf Dateien in den Datenspeichereinrichtungen vermittels zugeordneter Server zugreifen. Um einen hohen Durchsatz der Datenkommunikation zu erhalten, sind hohe Verfügbarkeit und effiziente Cachespeicheroperationen für die Datenspeichereinrichtungen wichtig. Um diese Ziele zu erreichen, wurden Ausfallsicherungen in Datenspeichereinrichtungen implementiert und sind seit einer Reihe von Jahren kommerziell verfügbar. Jedoch erfordern herkömmliche Implementierungen Software, die im Server (oder im Hostrechner) läuft, um die Ein/Ausgabe vom Server auf einen alternativen Pfad oder denselben Pfad, aber zu einer unterschiedlichen Adresse einer Datenspeichereinrichtung, d. h. zu einer sekundären Adresse, umzuleiten. Verschiedene Anbieter haben typischerweise unterschiedliche Arten von Software zur Steuerung des Ersatzbetriebes bei einem Ausfall in Datenspeichereinrichtungen. In einer typischen Umgebung in einem Unternehmen kann Ausrüstung von mehreren Anbietern verwendet werden, um ein Client- Server System aufzubauen. Der Server von einem Anbieter kann Software für den Ersatzbetrieb im Fehlerfall enthalten, die inkompatibel ist zu den Datenspeichereinrichtungen von einem anderen Anbieter. In einer solchen Situation ist zum korrekten Aufbau des Systems häufig ausgiebiges Testen notwendig, um Inkompatibilitätsprobleme zu lösen. Als Folge davon ist es sehr ineffizient und zeitaufwendig, solch ein System aufzubauen. Ein Weg zur Lösung des Inkompatibilitätsproblems ist es, Ausrüstung immer vom selben Anbieter zu kaufen. Jedoch würde dies zur Unflexibilität bei der Auswahl des Ausrüstung und bei zukünftiger Erweiterung des Systems führen. Käufer von Hardware auf einen einzigen Anbieter festzulegen, zieht auch hohe Kosten nach sich.
- Daher besteht Bedarf an einer Methode und Vorrichtung für hochverfügbare Datenspeichereinrichtungen mit Cachespeicherung, die es ermöglicht, daß eine Ersatzschaltung bei Ausfall in den Steuerungen und/oder Datenspeichereinrichtungen für einen Server nicht sichtbar ist, so daß ausgiebiges Testen zur Auflösung von Inkompatibilität zwischen Ausrüstung verschiedener Anbieter wesentlich minimiert werden kann.
- EP-A 747822 offenbart ein externes Speichersystem mit redundanten Speichersteuerungen, welches die Datenübertragung zwischen einem übergeordneten System und einer Speichereinheit steuert. Eine zweite Speichersteuerung dient als Ersatz bzw. Reserve für eine erste Speichersteuerung, hilft jedoch auch dabei, der ersten Speichersteuerung einen gewissen Teil der Verarbeitung abzunehmen, um den Durchsatz zu verbessern.
- Besondere und bevorzugte Aspekte der Erfindung sind in den begleitenden, unabhängigen und abhängigen Patentansprüchen dargelegt. Mermale der abhängigen Patentansprüche können mit denen der unabhängigen kombiniert werden, wie es durch die Abhängigkeiten dieser abhängigen Patentansprüche angegeben ist.
- Die vorliegende Erfindung, die im Einzelnen in den beigefügten, unabhängigen Patentansprüchen definiert ist, stellt eine Methode und Vorrichtung für hochverfügbare Datenspeichereinrichtungen mit Cachespeicherung bereit. Entsprechend einer bevorzugten Ausführungsform der vorliegenden Erfindung wird eine Vorrichtung vorgesehen, die eine Hauptsteuerung, eine Nebensteuerung mit derselben Adresse wie diejenige der Hauptsteuerung, einen Umschaltungsschaltkreis (im folgenden: Umschalter) verbunden mit der Haupt- und der Nebensteuerung sowie einen Steuerschaltkreis verbunden mit dem Umschalter enthält. Gemäß dieser bevorzugten Ausführungsform der vorliegenden Erfindung stellt der Steuerschaltkreis im normalen Betrieb den Umschalter so, daß die Hauptsteuerung Eingabendaten empfängt und beantwortet, die von einem Host geliefert werden, und die Nebensteuerung die Eingabedaten empfängt. Im Ersatzbetrieb im Fehlerfall, bei dem die Hauptsteuerung ausfällt, stellt der Steuerschaltkreis den Umschalter so, daß die Hauptsteuerung gesperrt wird und die Nebensteuerung Eingabendaten empfängt und beantwortet, die von einem Host geliefert werden. Die Vorrichtung kann weiterhin eine Datenspeichereinrichtung enthalten, die sowohl mit der Haupt- als auch mit der Nebensteuerung verbunden ist.
- Entsprechend einer zweiten bevorzugten Ausführungsform der Erfindung wird eine Vorrichtung, die auf einen ersten und einen zweiten Host reagiert, für hochverfügbare Datenspeichereinrichtungen mit Cachespeicherung bereitgestellt. Die Vorrichtung enthält erste und zweite Steuerungen, einen Satz von Umschaltern und einen Steuerschaltkreis. Die erste Steuerung enthält eine erste Hauptsteuerung und eine zweite Nebensteuerung und, die zweite Steuerung enthält eine zweite Hauptsteuerung und eine erste Nebensteuerung. Die erste Nebensteuerung ist ein Ersatz bzw. eine Reserve für die erste Hauptsteuerung; und die zweite Nebensteuerung ist ein Ersatz bzw. eine Reserve für die zweite Hauptsteuerung. Die erste und die zweite Steuerung sind mit einem Satz von Umschaltern verbunden, der mit dem Steuerschaltkreis verbunden ist. Entsprechend dieser alternativen, bevorzugten Ausführungsform der Erfindung stellt der Steuerschaltkreis im Normalbetrieb den Satz von Umschaltern so, daß die erste Hauptsteuerung Eingabedaten empfängt und beantwortet, die vom ersten Host geliefert werden, und die erste Nebensteuerung die Eingabedaten vom ersten Host empfängt. Darüber hinaus empfängt und beantwortet die zweite Hauptsteuerung Eingabendaten, die vom zweiten Host geliefert werden, und die zweite Nebensteuerung empfängt die Eingabedaten vom zweiten Host.
- Gemäß dieser alternativen, bevorzugten Ausführungsform stellt der Steuerschaltkreis im Ersatzbetrieb im Fehlerfall, bei dem die erste oder zweite Steuerungen ausfällt, den Satz von Umschaltern so, daß die Hauptsteuerung in der ausgefallenen Steuerung gesperrt wird und die Nebensteuerung in der weiterhin betriebsbereiten Steuerung die Eingabendaten empfängt und beantwortet, die an die Hauptsteuerung der ausgefallenen Steuerung gerichtet sind. Bei diesem Ersatzbetrieb im Fehlerfall empfängt und beantwortet die Hauptsteuerung der weiterhin betriebsbereiten Steuerung Eingabedaten, die an die weiterhin betriebsbereite Steuerung gerichtet sind. Die Vorrichtung kann auch erste und zweite Datenspeichereinrichtungen enthalten, die jede sowohl mit der ersten als auch mit der zweiten Steuerung verbunden sind.
- Beispielhafte Ausführungsformen der Erfindung sind nachfolgend nur mittels Beispielen beschrieben mit Bezug auf die beigefügten Zeichnungen, von denen:
- Fig. 1 ein funktionales Blockdiagramm einer bevorzugten Ausführungsform der Erfindung zeigt, und der darüber hinaus einen Normalbetrieb der Ausführungsform veranschaulicht;
- Fig. 2 einen Ersatzbetrieb im Fehlerfall der Ausführungsform aus Fig. 1 veranschaulicht;
- Fig. 3 eine alternative, bevorzugte Ausführungsform der Erfindung zeigt, und darüber hinaus einen Normalbetrieb dieser alternativen Ausführungsform veranschaulicht; und
- Fig. 4 einen Ersatzbetrieb im Fehlerfall der Ausführungsform aus Fig. 3 veranschaulicht.
- Fig. 1 zeigt ein funktionales Blockdiagramm einer Faserkanal-Schaltung für hochverfügbare Datenspeichereinrichtungen mit Cachespeicherung gemäß einer bevorzugten Ausführungsform der Erfindung. Die Erfindung kann in elektronischen Schaltungen implementiert werden. Wie dargestellt ist ein Umschalter 12 mit einem Steuerschaltkreis 14, einer Hauptsteuerung 16 und einer Nebensteuerung 22 verbunden. Die Haupt- und Nebensteuerungen sind ihrerseits mit einer Datenspeichereinrichtung 24 verbunden. Der Umschalter 12 enthält GBICs (Gigabit Interface Converters, Gigabit-Schnittstellenumsetzer) 26, 32,36, einen Retime-Schaltkreis 42 und Multiplexer 46 und 52. Haupt- und Nebensteuerungen 113 und 22 sind in dieser Ausprägungsform identisch zueinander. Die Hauptsteuerung 16 enthält einen GBIC 56, einen PSOC (Serial Optical Converter für PCI Bus, seriellen optischen Umsetzer für den PCI-Bus) 62 und einen Cachespeicher 66. In gleicher Weise enthält die Nebensteuerung 22 einen GBIC 72, einen PSOC 76 und einen Cachespeicher 82. Sowohl in der Haupt- als auch in der Nebensteuerung 16 und 22 ist Software für die Fehlererkennung bzw. die Umschaltung im Fehlerfall (nicht abgebildet) enthalten, die herausfindet, ob ein Ausfall ihrer selbst, der anderen Steuerung oder der Datenspeichereinrichtung 24 vorliegt. Der Sun Energizer kann als Software für Ausfallsicherung verwendet werden, und dieser ist zu beziehen bei Sun Microsystems, Inc., in Mountain View, Kalifornien. Das was die Ausfallsicherung erfasst, wird über die Steuerleitungen 86 bzw. 92 an den Steuerschaltkreis 14 und an die Steuerungsmultiplexer 46 und 52 gesendet. Jeder GBIC ist ein herkömmlicher Schnittstellenkonverter und ist zum Beispiel zu beziehen von Vixel Corporation in Lynnwood, Washington. Der Retime-Schaltkreis 42 ist auch ein herkömmlicher Schaltkreis, der für Ausrichtung von Datenimpulsen sorgt und Impulsflanken in diskrete Abgrenzungen umwandelt. Jeder PSOC enthält einen Puffer, um vom Host empfangene Eingabedaten zu speichern, und überträgt die Daten von seinem Puffer in seinen Cachespeicher in Übereinstimmung mit, zum Beispiel, den Arbitrated Loop Standards. Als eine Alternative für einen PSOC kann ein 13P2100 intelligenter Fibre Channel Prozessor verwendet werden, der von QLogic Corporation in Costa Mesa, Kalifornien, zu beziehen ist. Eingabedaten in Form von Faserkanal-Frames wenden über eine/n Faserkananl-Schleife bzw. Ring (%loop%) an die Haupt- und Nebensteuerungen 16 und 22 und die Datenspeichereinrichtung 24 gesendet in Übereinstimmung mit, zum Beispiel, den Arbitrated Loop Standards. Sowohl die Haupt- als auch die Nebensteuerung 16 und 22 haben dieselbe Adresse.
- Der Normalbetrieb ist in Fig. 1 veranschaulicht, in Fig. 1 ist Multiplexer 52 vom Steuerschaltkreis 14 so eingestellt, daß die Hauptsteuerung 16 und die Datenspeichereinrichtung 24 in der Fiber Channel Schleife bzw. Ring aktiv sind. Fiber Channel Frames, die vom Host geliefert werden, werden an die Hauptsteuerung 16 gesendet, die dann in der Schleife bzw. in dem Ring durch Rückgabe von Zustandsinformation, etc. antwortet. Frames, die an die Datenspeichereinrichtung 24 adressiert sind, werden durch den PSOC 62 hindurch über den Cachespeicher 66 geführt. Im Normalbetrieb werden die Daten auf der Schleife bzw. auf dem Ring auch von der Nebensteuerung 22 und der Datenspeichereinrichtung 24 empfangen. Jedoch ist der Multiplexer 46 vom Steuerschaltkreis 14 so eingestellt, daß die Nebensteuerung 22 auf der Schleife bzw. auf dem Ring nicht antworten kann. Da sowohl die Haupt- als auch die Nebensteuerung dieselbe Adresse haben, ist es der Nebensteuerung 22 in effektiver Weise möglich, in einem "Leitungsanzapf"-Modus zu arbeiten, d. h. sie "hört" die Nachrichten, die an die Hauptsteuerung 16 gehen, "mit". Da sowohl die Haupt- als auch die Nebensteuerung 16 und 22 dieselben Daten empfangen, werden beide Cachespeicher 66 und 82 zu gleichen Zeit gefüllt als Reaktion auf Schreibkommandos vom Host. Der Datenfluß ist in Fig. 1 durch Pfeile veranschaulicht.
- Synchronisation zwischen den PSOCs 62 und 76 wird aus verschiedenen Gründen benötigt.
- Ein Hauptgrund ist zu verhindern, daß eine Datenüberlauf- bzw. Overrun-Bedingung in den Puffern der PSOCs auftritt. Die Synchronisation wird über eine Kommunikationsverbindung 86 bewerkstelligt. Wenn in einem Puffer von PSOC 76 Platz verfügbar ist, sendet der PSOC 76 eine Anforderung weiterer Daten an PSOC 62. Falls der PSOC 62 in seinem Puffer auch Platz verfügbar hat, setzt der PSOC 62 den Host davon in Kenntnis, daß weiterer Platz verfügbar ist. Ebenso gibt die Nebensteuerung 22 am Ende eines Kommandos, das sie empfängt, einen Zustand des Kommandos, der als nächstes erreicht wird, an die Hauptsteuerung 16 zurück. Die Hauptsteuerung 16 gibt am Ende eines Kommandos, das von ihr empfangen wurde, einen Zustand des Kommandos, der als nächstes erreicht wird, an den Host zurück. Darüber hinaus sendet die Nebensteuerung 22 eine Anforderung an die Hauptsteuerung 16, wenn ein Kommando von der Nebensteuerung 22 verarbeitet wurde, so daß sie bereit ist, weitere Daten zu empfangen. Wenn die Hauptsteuerung 16 das Kommando auch verarbeitet hat, sendet sie eine Anforderung weiterer Daten an den Host.
- Fig. 2 veranschaulicht einen Ersatzbetrieb im Fehlerfall, in dem ein Ausfall in der Hauptsteuerung 16 eintritt. Ein solcher Ausfall wird von der Software zur Fehlererkennung bzw. zur Umschaltung im Fehlerfall sowohl in der Haupt- als auch in der Nebensteuerung 16 und 22 erkannt. Basierend auf den Ergebnissen der Entdeckung eines Ausfalls bzw. einer Umschaltung im Fehlerfall stellt der Steuerschaltkreis 14 die Multiplexer 52 und 46 so ein, daß die Hauptsteuerung 16 außer Stand gesetzt wird, auf der Schleife bzw. auf dem Ring zu antworten, und die Nebensteuerung 22, die auch mit der Datenspeichereinrichtung 24 verbunden ist, auf der Schleife bzw. auf dem Ring aktiv ist. Da sowohl die Haupt- als auch die Nebensteuerung 16 und 22 dieselbe Adresse haben und beide auf die Datenspeichereinrichtung 24 zugreifen können, erkennt der Host an der Schleife bzw. am Ring den Wechsel der Steuerungen nicht. Es besteht auch keine Notwendigkeit, den Cachespeicher der Steuerung 16 zu füllen, da diese gesperrt ist. Der Datenfluß ist in Fig. 2 durch Pfeile veranschaulicht.
- Fig. 3 zeigt eine alternative bevorzugte Ausführungsform der Erfindung, in welcher zwei Hosts, Host 1 und Host 2, mit denn Datenspeichereinrichtungen 124 und 125 über die Reihe von Umschaltern 110 und Steuerungen 116 und 122 auf zwei Fiber Channel Schleifen kommunizieren. In dieser Ausführungsform ist die Reihe von Umschaltern 110 mit den Steuerschaltkreisen 114 und 115 verbunden. Jede von den Steuerungen 116 und 122 ist mit beiden Datenspeichereinrichtungen 124 und 125 verbunden. Die Reihe von Umschaltern 110 enthält zwei Umschaltere 111 und 112, von denen jeder identisch ist mit dem Umschalter 12 in Fig. 1. Jeder der Steuerschaltkreise 114 und 115 ist äquivalent zum Steuerschaltkreis 14 in Fig. 1. Darüber hinaus ist jede der Steuerungen 116 und 122 äquivalent zur Kombination der Haupt- und Nebensteuerung 16 und 22 in Fig. 1. Zusätzlich enthält jede der Steuerungen 116 und 122 Software zur Fehlererkennung bzw. zur Umschaltung im Fehlerfall (nicht abgebildet) in der Art wie der Sun Energizer, um herauszufinden, ob ein Ausfall bei ihr selbst, in der anderen Steuerung oder in den Datenspeichereinrichtungen 124, 125 vorliegt. Die Ergebnisse von der Entdeckung des Ausfalls werden an die Steuerschaltkreise 114 und 115 gesendet, um die Multiplexer in den Umschaltern 111 und 112 zu steuern. In dieser Ausprägungsform fungiert die Steuerung 116 als eine Hauptsteuerung (Hauptsteuerung 1) für Host 1 und als eine Nebensteuerung (Nebensteuerung 2) für Host 2. In ähnlicher Weise fungiert die Steuerung 122 als eine Hauptsteuerung (Hauptsteuerung 2) für Host 2 und als eine Nebensteuerung (Nebensteuerung 1) für Host 1. Hauptsteuerung 1 und Nebensteuerung 1 haben dieselbe Adresse, jedoch ist nur eine von beiden Steuerungen zu einem Zeitpunkt freigegeben. In ähnlicher Weise haben Hauptsteuerung 2 und Nebensteuerung 2 dieselbe Adresse und nur eine von beiden Steuerungen ist zu einem Zeitpunkt freigegeben.
- Im Normalbetrieb sind die Multiplexer in den Umschaltern 111 und 112 wie in Fig. 3 veranschaulicht von den Steuerschaltkreisen 114 bzw. 115 so eingestellt, daß jede der Steuerungen 116 und 122 nur als Hauptsteuerung für Host 1 bzw. 2 fungiert. Im Normalbetrieb sind die Funktionen der Nebensteuerungen in jeder der Steuerungen vom jeweiligen Multiplexer gesperrt. Die Daten fließen in einer ähnlichen Weise wie in Fig. 1, wie durch Pfeile in Fig. 3 angegeben.
- Fig. 4 veranschaulicht den Ersatzbetrieb im Fehlerfall für die Ausführungsform in Fig. 3. Wenn die Software zur Fehlererkennung bzw. zur Umschaltung im Fehlerfall in einer der Steuerungen 116, 122 einen Ausfall in einer Steuerung, z. B. in Steuerung 122, entdeckt, werden die Ergebnisse von der Entdeckung des Ausfalls an die Steuerschaltkreise 114 und 115 gesendet. In einem solchen Fall werden die Multiplexer in den Umschaltern 111 und 112 von den Steuerschaltkreisen 114 und 115 so geschaltet, daß Daten, die an die ausgefallene Steuerung 122 gerichtet sind, zur weiterhin betriebsbereiten Steuerung 116 gehen. Mit anderen Worten wird Steuerung 122 gesperrt und Steuerung 116 ist aktiv und schreibt die Daten aus dem Cachespeicher in beide Datenspeichereinrichtungen 124 und 125 für die weiterhin betriebsbereite und die ausgefallene Steuerung 116 und 122. Da die Hauptsteuerung 2 in der ausgefallenen Steuerung 122 und die Nebensteuerung 2 in der weiterhin betriebsbereiten Steuerung 116 dieselbe Adresse haben, erkennt Host 2 den Wechsel der Steuerungen nicht und verwendet dieselbe Adresse, um auf die Datenspeichereinrichtung 125 zuzugreifen unabhängig davon, welche Steuerung aktuell den Dienst leistet. Im Ersatzbetrieb im Fehlerfall fließen die Daten in einer ähnlichen Weise wie in Fig. 2, wie durch Pfeile in Fig. 4 angegeben. Der Ersatzbetrieb im Fehlerfall ist auch anwendbar auf den Fall, daß eine der Datenspeichereinrichtungen 124 und 125 ausfällt.
- Auch wenn die Erfindung im Zusammenhang mit spezifischen Ausführungsformen beschrieben wurde, ist unstreitig, daß viele Alternativen, Modifikationen und Variationen für Fachleute auf diesem Gebiet offensichtlich sind, Dementsprechend sollen alle solche Alternativen, Modifikationen und Variationen als in den Schutzumfang der Erfindung fallend einbezogen werden.
Claims (14)
1. Vorrichtung, die auf einen Host bzw. einen Hostrechner reagiert, für das Bereitstellen einer
hohen Verfügbarkeit und des Cachespeicherns für Datenspeichergeräte, die aufweist:
einen Hauptcontroller (16),
einen Nebencontroller (22) mit derselben Adresse wie der Hauptcontroller,
einen Schaltkreis (12), der mit dem Host und dem Hauptcontroller (16) und dem
Nebencontroller verbunden ist, so daß der Schaltkreis (12) zwischen den Host und den Haupt- und
Nebencontroller (16, 20) geschaltet ist, wobei die Eingangsdaten von dem Host für den Haupt- (16) und
Nebencontroller (20) über den Schaltkreis (12) geleitet werden, und
einen Steuerschaltkreis (14), der mit dem Schaltkreis verbunden ist, wobei in einem
Normalbetrieb der Steuerschaltkreis (14) den Schaltkreis (12) so einstellt, daß der Hauptcontroller (16)
Eingangsdaten, die von dem Host geliefert werden, empfängt und darauf antwortet, und der zweite
Controller (20) die Eingangsdaten empfängt und
wobei in einem Ausfallbetrieb, in dem der Hauptcontroller (16) ausfällt, der Steuerschaltkreis
(14) den Schaltkreis (12) einstellt, so daß der Hauptcontroller (16) deaktiviert wird und der
Nebencontroller (20) die Eingangsdaten, die von dem Host geliefert werden, empfängt und darauf
antwortet.
2. Vorrichtung nach Anspruch 1,
wobei der Schaltkreis einen ersten und zweiten Multiplexer (46, 52) beinhaltet, die mit dem
Haupt- bzw. Nebencontroller verbunden sind,
wobei der Steuerschaltkreis den ersten und zweiten Multiplexer schaltet, um den Haupt-
bzw. Nebencontroller in dem Normal- und in dem Ausfallbetrieb zu steuern.
3. Vorrichtung nach Anspruch 2, wobei der Hauptcontroller einen ersten Cachespeicher (66)
beinhaltet und der Nebencontroller einen zweiten Cachespeicher (82) beinhaltet.
4. Vorrichtung nach Anspruch 2, die weiterhin eine Datenspeichervorrichtung (24) beinhaltet,
die sowohl mit dem Haupt- als auch mit dem Nebencontroller verbunden ist.
5. Verfahren für das Bereitstellen einer hohen Verfügbarkeit und des Cachespeicherns für
Datenspeichergeräte, das die Schritte aufweist:
(a) Bereitstellen eines Hauptcontrollers (16),
(b) Bereitstellen eines Nebencontrollers (22) mit derselben Adresse wie die des
Hauptcontrollers (16),
(c) Koppeln eines Schaltkreises (12) mit dem Host und dem Haupt- (16) und
Nebencontroller, so daß der Schaltkreis (12) zwischen dem Host und dem Haupt- und Nebencontroller (16, 20)
angeordnet ist, wobei die Eingangsdaten von dem Host für den Haupt- (16) und Nebencontroller
(20) über den Schaltkreis (12) geleitet werden,
(d) Verbinden eines Steuerschaltkreises (14) mit dem Schaftkreis (12),
(e) Steuern des Steuerschaltkreises (14) in einem Normalbetrieb, um den Schaltkreis
(12) einzustellen, so daß der Hauptcontroller (16) Eingangsdaten, die von einem Host bereitgestellt
werden, empfängt und hierauf antwortet und der Nebencontroller (20) die Eingangsdaten empfängt,
und
(f) Steuern des Steuerschaltkreises (14) in einem Ausfallbetrieb, in dem der erste
Controller (16) versagt, um den Schaftkreis (12) einzustellen, so daß der Hauptcontroller (16) deaktiviert
wird und der Nebencontroller (20) die Eingangsdaten, die von dem Host zur Verfügung gestellt
werden, empfängt und hierauf antwortet.
6. Verfahren nach Anspruch 5, wobei der Umschaltkreis einen ersten und zweiten Multiplexer
(46, 52) beinhaltet, die mit dem Haupt- bzw. Nebencontroller verbunden sind,
wobei jeder der Schritte (e) und (f) den Schrift des Steuerns des Steuerschaltkreises
aufweist, um den ersten und zweiten Multiplexer zu schalten, um den Haupt- bzw. Nebencontroller zu
steuern.
7. Verfahren nach Anspruch 6, wobei der Hauptcontroller einen ersten Cachespeicher (66)
beinhaltet und der Nebencontroller einen zweiten Cachespeicher (82) beinhaltet.
8. Verfahren nach Anspruch 6, das weiterhin den Schritt des Verbindens einer
Datenspeichervorrichtung (24) mit sowohl dem Haupt- als auch dem Nebencontroller aufweist.
9. Vorrichtung nach Anspruch 1, die auf einen ersten und einen zweiten Host bzw. Hostrechner
reagiert, für die hohe Verfügbarkeit und das Cachespeichern für Datenspeichergeräte, die aufweist:
einen ersten Controller (116), der einen ersten Hauptcontroller und einen zweiten
Nebencontroller aufweist,
einen zweiten Controller (122), der einen zweiten Hauptcontroller und einen ersten
Nebencontroller beinhaltet, wobei der erste Nebencontroller eine Reserve des ersten Hauptcontrollers ist
und dieselbe Adresse wie dieser hat und der zweite Nebencontroller eine Reserve des zweiten
Hauptcontrollers ist und dieselbe Adresse wie dieser hat,
einen Schaltkreissatz (110), der mit dem ersten und zweiten Host und dem ersten und
zweiten Controller verbunden ist, wobei Eingangsdaten von dem ersten und zweiten Host für den ersten
und zweiten Controller durch den Schaltkreissatz geleitet werden, und
einen Steuerschaltkreis (114, 115), der mit dem Schaltkreissatz verbunden ist,
wobei in einem Normalbetrieb der Steuerschaltkreis den Schaltkreissatz einstellt, so daß der
erste Hauptcontroller Eingangsdaten, die von dem ersten Host zur Verfügung gestellt werden,
empfängt und hierauf reagiert, und der erste Nebencontroller die Eingangsdaten von dem ersten Host
empfängt, und der zweite Hauptcontroller die Eingangsdaten, die von dem zweiten Host zur
Verfügung gestellt werden, empfängt und hierauf antwortet, und der zweite Nebencontroller die
Eingangsdaten von dem zweiten Host empfängt, und
wobei in einem Ausfallbetrieb, in dem der erste oder der zweite Controller ausfällt und ein
nicht funktionsfähiger Controller wird und der andere ein funktionsfähiger Controller wird, stellt der
Steuerschaltkreis den Schaltkreissatz derart ein, daß der Hauptcontroller in dem nicht
funktionsfähigen Controller deaktiviert wird und der Nebencontroller in dem funktionsfähigen Controller die
Eingangsdaten, die zu dem Hauptcontroller in dem nicht funktionsfähigen Controller geleitet werden,
empfängt und hierauf antwortet, und der Hauptcontroller in dem funktionsfähigen Controller die
Eingangsdaten, die zu dem funktionsfähigen Controller geleitet werden, empfängt und hierauf
antwortet.
10. Vorrichtung nach Anspruch 9, wobei der Umschaltkreissatz beinhaltet:
einen ersten Schaltkreis (111), der mit dem ersten Hauptcontroller und dem Nebencontroller
in dem ersten Controller verbunden ist, und
einen zweiten Schaltkreis (112), der mit dem zweiten Hauptcontroller und dem ersten
Nebencontroller in dem zweiten Controller verbunden ist.
11. Vorrichtung nach Anspruch 10, wobei der erste Schaltkreis einen ersten und einen zweiten
Multiplexer aufweist und der zweite Schaltkreis einen dritten und einen vierten Multiplexer aufweist,
wobei der Steuerschaltkreis einen ersten und einen zweiten Steuerschaltkreis beinhaltet,
wobei der erste Steuerschaltkreis den ersten und den zweiten Multiplexer schaltet, um den
ersten Hauptcontroller bzw. den ersten Nebencontroller zu steuern, und der zweite Steuerschaltkreis
denn drittem und vierten Multiplexer schaltet, um den zweiten Hauptcontroller bzw. den zweiten
Nebencontroller zu steuern.
12. Vorrichtung nach Anspruch 11,
wobei der erste Controller einen ersten Cachespeicher beinhaltet, der mit dem ersten
Hauptcontroller und dem zweiten Nebencontroller verbunden ist,
wobei der zweite Controller einen zweiten Cachespeicher beinhaltet, der mit dem zweiten
Hauptcontroller und dem ersten Nebencontroller verbunden ist.
13. Vorrichtung nach Anspruch 11, die weiterhin eine erste und eine zweite
Datenspeichervorrichtung (124, 125) aufweist, die jeweils mit dem ersten und dem zweiten Controller verbunden sind.
14. Vorrichtung nach Anspruch 9, wobei die Schaltungstechnik eine
Glasfaserkanalschaltungstechnik ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/883,923 US6070251A (en) | 1997-06-26 | 1997-06-26 | Method and apparatus for high availability and caching data storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69811150D1 DE69811150D1 (de) | 2003-03-13 |
DE69811150T2 true DE69811150T2 (de) | 2003-11-27 |
Family
ID=25383594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69811150T Expired - Fee Related DE69811150T2 (de) | 1997-06-26 | 1998-06-25 | Verfahren und Gerät für hochverfügbare Cachedatenspeicherungsanordnungen |
Country Status (4)
Country | Link |
---|---|
US (1) | US6070251A (de) |
EP (1) | EP0889410B1 (de) |
JP (1) | JPH11120092A (de) |
DE (1) | DE69811150T2 (de) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289376B1 (en) * | 1999-03-31 | 2001-09-11 | Diva Systems Corp. | Tightly-coupled disk-to-CPU storage server |
US6636934B1 (en) * | 1999-06-30 | 2003-10-21 | Emc Corporation | Fiber channel port by-pass selector section for dual ported disk drives |
US6629216B1 (en) | 1999-06-30 | 2003-09-30 | Emc Corporation | Fibre channel by-pass |
US6581136B1 (en) | 1999-06-30 | 2003-06-17 | Emc Corporation | Fibre channel data storage system having expansion/contraction |
US6567890B1 (en) | 1999-06-30 | 2003-05-20 | Emc Corporation | Fibre channel port by-pass selector section for dual ported disk drives |
US6571355B1 (en) | 1999-12-29 | 2003-05-27 | Emc Corporation | Fibre channel data storage system fail-over mechanism |
US6560683B1 (en) | 1999-12-29 | 2003-05-06 | Emc Corporation | Fibre channel data storage system having improved rear-end I/O adapted hub |
US6574687B1 (en) | 1999-12-29 | 2003-06-03 | Emc Corporation | Fibre channel data storage system |
US6615315B1 (en) | 1999-12-29 | 2003-09-02 | Emc Corporation | Fibre channel data storage system having improved fro-end I/O adapted hub |
US6389559B1 (en) * | 2000-05-24 | 2002-05-14 | Mti Technology Corporation | Controller fail-over without device bring-up |
US6625747B1 (en) * | 2000-06-30 | 2003-09-23 | Dell Products L.P. | Computer storage system and failover method |
US6877042B2 (en) | 2001-01-02 | 2005-04-05 | Dell Products L.P. | System and method for generating world wide names |
US7293105B2 (en) * | 2001-12-21 | 2007-11-06 | Cisco Technology, Inc. | Methods and apparatus for implementing a high availability fibre channel switch |
ITTO20020160A1 (it) * | 2002-02-25 | 2003-08-25 | Magneti Marelli Sistemi Elettr | Disposizione circuitale in un modulo elettronico di controllo per la conversione tra protocolli di comunicazione. |
US7019965B2 (en) * | 2002-09-30 | 2006-03-28 | Sun Microsystems, Inc. | Ejector mechanism and a carrier including same |
US6881078B1 (en) | 2002-12-19 | 2005-04-19 | Sun Microsystems, Inc. | Interconnecting device that allows for connections in small space |
US7216150B2 (en) * | 2002-12-19 | 2007-05-08 | Sun Microsystems, Inc. | Apparatuses and methods of physically restricting access to a connecting device for use with a data processing system |
US6964524B2 (en) * | 2002-12-19 | 2005-11-15 | Sun Microsystems, Inc. | Interconnecting device for a data processing system |
US7317689B1 (en) * | 2003-02-10 | 2008-01-08 | Foundry Networks, Inc. | System and method to access and address high-speed interface converter devices |
JP4080970B2 (ja) | 2003-07-30 | 2008-04-23 | 株式会社日立製作所 | パス切替えを提供するスイッチ |
US20050058063A1 (en) * | 2003-09-15 | 2005-03-17 | Dell Products L.P. | Method and system supporting real-time fail-over of network switches |
US8145945B2 (en) * | 2010-01-04 | 2012-03-27 | Avaya Inc. | Packet mirroring between primary and secondary virtualized software images for improved system failover performance |
US8656211B2 (en) | 2011-02-18 | 2014-02-18 | Ca, Inc. | Avoiding failover identifier conflicts |
US9442672B2 (en) * | 2013-11-08 | 2016-09-13 | Globalfoundries Inc. | Replicating data across controllers |
TWI732233B (zh) * | 2019-06-24 | 2021-07-01 | 竹北動力股份有限公司 | 控制系統和控制方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS607548A (ja) * | 1983-06-27 | 1985-01-16 | Fujitsu Ltd | 自動切替制御装置 |
US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5168443A (en) * | 1990-09-26 | 1992-12-01 | Honeywell Inc. | Method for providing redundancy of a high speed pulse input I/O processor |
US5142470A (en) * | 1990-09-26 | 1992-08-25 | Honeywell Inc. | Method of maintaining synchronization of a free-running secondary processor |
US5210756A (en) * | 1990-09-26 | 1993-05-11 | Honeywell Inc. | Fault detection in relay drive circuits |
US5202822A (en) * | 1990-09-26 | 1993-04-13 | Honeywell Inc. | Universal scheme of input/output redundancy in a process control system |
US5255388A (en) * | 1990-09-26 | 1993-10-19 | Honeywell Inc. | Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies |
US5136498A (en) * | 1990-09-26 | 1992-08-04 | Honeywell Inc. | Method for enacting failover of a 1:1 redundant pair of slave processors |
US5398331A (en) * | 1992-07-08 | 1995-03-14 | International Business Machines Corporation | Shared storage controller for dual copy shared data |
KR0128271B1 (ko) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템 |
US5615329A (en) * | 1994-02-22 | 1997-03-25 | International Business Machines Corporation | Remote data duplexing |
US5574950A (en) * | 1994-03-01 | 1996-11-12 | International Business Machines Corporation | Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level |
US5592618A (en) * | 1994-10-03 | 1997-01-07 | International Business Machines Corporation | Remote copy secondary data copy validation-audit function |
US5696895A (en) * | 1995-05-19 | 1997-12-09 | Compaq Computer Corporation | Fault tolerant multiple network servers |
US5588110A (en) * | 1995-05-23 | 1996-12-24 | Symbios Logic Inc. | Method for transferring data between two devices that insures data recovery in the event of a fault |
JP3732869B2 (ja) * | 1995-06-07 | 2006-01-11 | 株式会社日立製作所 | 外部記憶装置 |
US5729763A (en) * | 1995-08-15 | 1998-03-17 | Emc Corporation | Data storage system |
US5712970A (en) * | 1995-09-28 | 1998-01-27 | Emc Corporation | Method and apparatus for reliably storing data to be written to a peripheral device subsystem using plural controllers |
US5724501A (en) * | 1996-03-29 | 1998-03-03 | Emc Corporation | Quick recovery of write cache in a fault tolerant I/O system |
US5761705A (en) * | 1996-04-04 | 1998-06-02 | Symbios, Inc. | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches |
-
1997
- 1997-06-26 US US08/883,923 patent/US6070251A/en not_active Expired - Lifetime
-
1998
- 1998-06-25 EP EP98305034A patent/EP0889410B1/de not_active Expired - Lifetime
- 1998-06-25 DE DE69811150T patent/DE69811150T2/de not_active Expired - Fee Related
- 1998-06-26 JP JP10181019A patent/JPH11120092A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0889410A2 (de) | 1999-01-07 |
EP0889410B1 (de) | 2003-02-05 |
EP0889410A3 (de) | 1999-01-13 |
DE69811150D1 (de) | 2003-03-13 |
US6070251A (en) | 2000-05-30 |
JPH11120092A (ja) | 1999-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69811150T2 (de) | Verfahren und Gerät für hochverfügbare Cachedatenspeicherungsanordnungen | |
DE69614623T2 (de) | Fehlertolerantes multiples Netzwerkserver | |
DE3382592T2 (de) | Zweifachbusstruktur fuer die rechnerverbindung. | |
DE3486148T2 (de) | Fehlertolerantes Übertragungssteuersystem. | |
DE69615611T2 (de) | Externes Speichersystem mit redundanten Speichersteuerungen | |
DE60220263T2 (de) | Server-duplexverfahren und geduplextes serversystem | |
DE69021122T2 (de) | Verfahren und Gerät zur ununterbrochenen Versorgung von Anwendungen in einem Rechnernetzwerk. | |
DE60031499T2 (de) | Verfahren zur Übertragung von Signalen der Typen "fibre-channel" und "non-fibre-channel" über ein gemeinsames Kabel | |
DE69710578T2 (de) | Verfahren zum unabhängigen und gleichzeitigen zugriff auf eine gemeinsame datensammlung | |
DE69608641T2 (de) | Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung | |
DE69636663T2 (de) | System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen | |
DE602004005344T2 (de) | Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE69430981T2 (de) | Speicherungssystem | |
DE60002574T2 (de) | Unterspannungssteuerung von multiprozessorbasiertem rechnersystem | |
DE60214234T2 (de) | Verfahren und apparate zum implementieren einer glasfaservermittlungseinheit mit hoher verfügbarkeit | |
DE602005001851T2 (de) | Speicherplattenanordnungsgerät und Steuerverfahren dafür | |
DE10297430T5 (de) | Datenspiegelung unter Anwendung von shared Bussen | |
DE60028793T2 (de) | Skalierbarer dateiserver mit hochverfügbaren paaren | |
DE3727850A1 (de) | Fehler-pruefsystem | |
DE69125778T2 (de) | Verfahren zur Sicherung von in einer Primär- und Sekundärdatenbank gespeicherten Daten in einem Prozessregelsystem | |
DE10317925B4 (de) | Steuerungskommunikation über eine ständig eingeschaltete Steuerungsverbindung | |
DE69317507T2 (de) | Fehlertolerantes Rechnersystem mit einem in jedem Prozessormodul vorgesehenen Fehlerdetektor | |
DE69331435T2 (de) | Fernmeldesystem mit verbesserter Rekonfigurationsfähigkeit | |
EP0350478B1 (de) | Verfahren zum betrieb einer multiprozessor-zentralsteuereinheit eines vermittlungssystemes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |