DE69811150T2 - Verfahren und Gerät für hochverfügbare Cachedatenspeicherungsanordnungen - Google Patents

Verfahren und Gerät für hochverfügbare Cachedatenspeicherungsanordnungen

Info

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
Application number
DE69811150T
Other languages
English (en)
Other versions
DE69811150D1 (de
Inventor
Fay Chong
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE69811150D1 publication Critical patent/DE69811150D1/de
Application granted granted Critical
Publication of DE69811150T2 publication Critical patent/DE69811150T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/2097Error 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.
  • HINTERGRUND DER ERFINDUNG
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • 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.
DE69811150T 1997-06-26 1998-06-25 Verfahren und Gerät für hochverfügbare Cachedatenspeicherungsanordnungen Expired - Fee Related DE69811150T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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