DE10197179T5 - Fern-Spiegelung in einer geschalteten Umgebung - Google Patents

Fern-Spiegelung in einer geschalteten Umgebung Download PDF

Info

Publication number
DE10197179T5
DE10197179T5 DE10197179T DE10197179T DE10197179T5 DE 10197179 T5 DE10197179 T5 DE 10197179T5 DE 10197179 T DE10197179 T DE 10197179T DE 10197179 T DE10197179 T DE 10197179T DE 10197179 T5 DE10197179 T5 DE 10197179T5
Authority
DE
Germany
Prior art keywords
data storage
connections
connection
storage system
data
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.)
Ceased
Application number
DE10197179T
Other languages
English (en)
Inventor
David Cambridge Meiri
Dan Boston Arnon
Mark J. Watertown Halstead
Peter Boston Kamvysselis
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.)
EMC Corp
Original Assignee
EMC Corp
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 EMC Corp filed Critical EMC Corp
Publication of DE10197179T5 publication Critical patent/DE10197179T5/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • G06F11/201Error 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 between storage system components
    • 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/2056Error 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 by mirroring
    • G06F11/2071Error 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 by mirroring using a plurality of controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

Verfahren zum Verbinden von Anschlüssen an einem Datenspeichersystem mit Anschlüssen an anderen Datenspeichersystemen in einer Fern-Datenspiegelungsanordnung von Datenspeichersystemen, wobei das Verfahren folgendes umfaßt:
Versehen jedes Speichersystems mit einer Konfigurationstopologie-Information;
Bestimmen von einem Schaltnetz, das zu den Anschlüssen sämtlicher der Datenspeichersysteme Verbindung hat, von Informationen, welche die Anschlüsse, von anderen Datenspeichersystemen, welche mit dem Schaltnetz verbunden sind, identifizieren; und
Verwenden der Konfigurationstopologie-Information und der Information, die von dem Schaltnetz gewonnen wurde, zur Einrichtung einer logischen Verbindung zwischen einem Anschluß des Speichersystems und einem zweiten Anschluß an einem zweiten Speichersystem derart, daß Daten, welche sich in einer Gerätegruppe befinden, die durch den Anschluß versorgt wird, und einer entsprechenden, gespiegelten Gerätegruppe, welche durch den zweiten Anschluß versorgt wird, zwischen dem Datenspeichersystem und dem zweiten Datenspeichersystem ausgetauscht werden können.

Description

  • HINTERGUND DER ERFINDUNG
  • Die Erfindung betrifft Datenspeichersysteme und insbesondere Datenspeichersysteme mit der Möglichkeit einer Daten-Fernspiegelung.
  • Unter Beachtung der Wichtigkeit der Verfügbarkeit von Information wurden verschiedene Techniken entwickelt, um eine erhöhte Zuverlässigkeit und Verfügbarkeit von Daten zu bieten, welche in einem Datenspeichersystem gespeichert sind. Eine solche Technik ist das Spiegeln von Daten. In einem gespiegelten System werden die Daten, die in einem Datenspeichersystem gespeichert sind, in einem anderen Datenspeichersystem repliziert. Wenn daher ein Speichergerät oder mehrere Speichergeräte in einem Datenspeichersystem ausfällt bzw. ausfallen oder ein katastrophaler Systemausfall auftritt, so sind die Daten leicht in Form einer gespiegelten Kopie von dem Spiegel-Datenspeichersystem erhältlich.
  • Geräte in einem Datenspeichersystem (oder einer Datenquelle), welche gespiegelt in demselben, entfernten Datenspeichersystem (oder Zielsystem) vorgesehen sind, werden als Gerätegruppe bezeichnet. In gleicher Weise werden Geräte im Zielsystem, welche Geräte in derselben Datenquelle beliefern oder spiegeln, als eine Gerätegruppe bezeichnet. Gerätegruppen dienen beispielsweise zur Sicherstellung der Schlüssigkeit von Datenblöcken, welche zu groß sind, um in einem einzelnen Bereich gespeichert zu werden, während geplanter oder nicht geplanter Unterbrechungen, beispielsweise Verbindungsausfällen oder geplanten Ergänzungen. Gerätegruppen umfassen typischerweise eine Anzahl von physikalischen und logischen Speichervolumen, und in einige Fällen, beispielsweise, wenn ein Datenstripping verwendet wird, können mehrere Gerätegruppen unterschiedlichen Teilen eines physikalischen oder logischen Volumens zugeordnet werden.
  • Typischerweise sind die Quellen-Gerätegruppen und Ziel-Gerätegruppen als Paare in zwei Systemen angeordnet und jedes Paar von Quellen-Ziel-Gerätegruppen ist über zwei zugeordnete Verbindungen (beispielsweise ESCON oder Fibre-Channel-Verbindungen) verbunden, nämlich eine zur Unterhaltung von Schreibvorgängen während Datenauffüllungsoperationen und Lesevorgängen während Datenwiederauffindungsoperationen, und eine andere für die Redundanz. Somit erfordert eine redundante Anordnung von N Datenspeichersystemen, in welchen jedes Datenspeichersystem in der Lage ist, eine gespiegelte Konfiguration zu ermöglichen, welche jedes der N–1 anderen entfernten Datenspeichersysteme umfaßt, N·(N–1) physikalische Verbindungen oder einen Mittelwert von 2·(N–1) körperlichen Verbindungen je System. Dieser Verbindungsbedarf wird unpraktisch, wenn N größer als drei ist, da die Anzahl von Anschlüssen an jedem Datenspeichersystem begrenzt ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem Aspekt der Erfindung sind in einer Fern-Datenspiegelungsanordnung von Datenspeichersystemen Anschlüsse an ein Datenspeichersystem mit Anschlüssen an anderen Datenspeichersystemen verbunden. Jedes Speichersystem ist mit einer Information bezüglich der Konfigurationstopologie versehen. Von einem Schaltnetz, das Verbindung zu den Anschlüssen sämtlicher der Datenspeichersysteme hat, wird Information gewonnen, welche die Anschlüsse der anderen Datenspeichersysteme identifiziert, welche mit dem Schaltnetz verbunden sind. Die Information bezüglich der Konfigurationstopologie und die von dem Schaltnetz gewonnene Information werden dazu verwendet, eine logische Verbindung zwischen einem Anschluß im Speichersystem und einem zweiten Anschluß an einem zweiten Speichersystem zu erstellen, so daß Daten, die in einer Gerätegruppe vorhanden sind, die durch den Anschluß unterhalten wird, und sich in einer entsprechenden, gespiegelten Gerätegruppe befinden, die durch den zweiten Anschluß unterhalten wird, zwischen dem Datenspeichersystem und dem zweiten Datenspeichersystem ausgetauscht werden können.
  • In einem anderen Aspekt der Erfindung enthält ein System eine Anordnung von Speichersystemen, welche jeweils so ausgebildet sind, daß sie mindestens eine Gruppe von Geräten steuern, welche in einer gespiegelten Konfiguration mit einer entsprechenden Gerätegruppe angeordnet sind, die durch eines der anderen Speichersysteme gesteuert wird. Für jede Gerätegruppe und die entsprechende Gerätegruppe sind erste Anschlüsse der genannten Gerätegruppe und zweite Anschlüsse der entsprechenden Gerätegruppe zugeordnet. Das System enthält weiter ein Schaltelement, das so ausgebildet ist, daß es einen der ersten Anschlüsse mit mindestens einem der zweiten Anschlüsse verbindet, so daß Daten zwischen den ersten und zweiten Anschlüssen für jede Gerätegruppe und die zugeordnete Gerätegruppe ausgetauscht werden können.
  • In wieder einem anderen Aspekt der Erfindung enthält in einer Fern-Spiegelungsanordnung von Datenspeichersystemen ein Datenspeichersystem einen Anschluß, der zur Steuerung mindestens einer Gerätegruppe ausgebildet ist, sowie ein Schaltelement, das mit dem genannten Anschluß sowie Anschlüssen in den anderen Speichersystemen gekoppelt ist. Der Anschluß verwendet das Schaltelement zur Verbindung des genannten Anschlusses mit einem ausgewählten der Anschlüsse zur Steuerung einer zweiten Gerätegruppe, welche die durch den Anschluß gesteuerte Gerätegruppe spiegelt.
  • Die Vorteile der Erfindung sind unter anderem folgende:
    Der Ersatz eines zugeordneten 1:1-Protokolls, beispielsweise ESCON durch ein geschaltetes Protokoll vermindert die Anzahl der erforderlichen Anschlüsse von 2(N–1) auf 2. Diese erhöhte Verbindungsmöglichkeit führt zu einer besseren Arbeitsqualität (beispielsweise Belastungsausgleich) sowie zu einer erhöhten Redundanz. Da außerdem jeder Prozessor in einer Steuerung für ein Datenspeichersystem in der Lage ist, mehrere Gerätegruppen zu versorgen, kann ein Systembenutzer die volle Fern-Datenspiege lungsverbindung ausnützen, ohne daß er Prozessoren für die Verwirklichung dieser Verbindungen diesem Zweck widmen muß.
  • Andere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden detaillierten Beschreibung und aus den Ansprüchen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A und 1B sind Blockschaltbilder eines Systems, das Datenspeichersysteme mit der Möglichkeit einer Daten-Fernspiegelung relativ zueinander enthält, wobei die Systeme über ein Fibre-Channel-Schaltnetz (FC) verbunden sind.
  • 2 ist ein detailliertes Blockschaltbild eines Plattenlaufwerk-Steuerleitsystems, welches zur Errichtung der logischen Verbindungen über das Schaltnetz für einen FC-Anschluß verwendet wird.
  • 3A bis 3D sind Darstellungen von Konfigurationstopologie-Tabellen. Davon ist 3A eine Darstellung einer Fernsystemtabelle; 3B ist eine Darstellung einer Gerätegruppen-Tabelle; 3C ist eine Darstellung einer Plattenlaufwerk-Steuerleitsystem-Tabelle; und 3D ist eine Darstellung einer Logikverbindungs-Tabelle.
  • 4 ist eine Darstellung eines Namensfeldes für das world wide web.
  • 5 ist eine logische Darstellung des Systems von 1A und 1B mit einer beispielsweisen Ausbildung der Steuereinrichtungen, die zur Versorgung verschiedener Gerätegruppen konfiguriert sind.
  • 6 ist eine Darstellung einer Konfigurationstopologie entsprechend dem in 5 gezeigten System.
  • 7 ist ein Flußdiagramm des Verbindungs-Initialisierungsvorgangs, der durch einen Prozessor in einem Plattenlaufwerk-Steuerleitsystem durchgeführt wird.
  • 8 ist ein Flußdiagramm eines einzelnen Verbindungs-Wiederauffindungsvorganges, welcher durch einen Prozessor in einem Plattenlaufwerk-Steuerleitsystem durchgeführt wird.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Erfindung betrifft eine Systemumgebung, in welcher Daten, welche identisch zu denjenigen sind, die in einem Datenspeichersystem gespeichert sind, an einem geographisch entfernten Datenspeichersystem gespeichert werden. Das entfernte Datenspeichersystem dient zur Nachlieferung von Daten, die in dem genannten Datenspeichersystem gespeichert sind und zur Ermöglichung einer Datenwiederherstellung, wenn das genannte Datenspeichersystem und seine Daten verlorengehen, was in Folge einer Fehlfunktion oder eines Unglücks geschehen kann.
  • Es sei auf die 1A und 1B Bezug genommen. Ein System 10 enthält Datenspeichersysteme 12a, 12b, 12c und 12d. Die Datenspeichersysteme 12a, 12b und 12c sind mit mindestens einem Host-Rechner (oder Host) 14a bzw. 14b bzw. 14c verbunden. Der Host-Rechner 14 kann beispielsweise ein Personalcomputer, eine Workstation oder dergleichen sein, welche von einem einzelnen Benutzer verwendet werden kann, oder kann ein System für mehrere Benutzer sein. Das Datenspeichersystem 12 empfängt Daten und Befehle von dem Host-Rechner 14 und liefert Daten und Antworten an den Host-Rechner 14.
  • In den 1A und 1B sind die Datenspeichersysteme 12a bis 12d Massenspeichersysteme mit jeweiligen Steuereinrichtungen 16a bis 16d, von denen jede mit einer Mehrzahl von Speichergeräten (oder einfach Geräten) gekoppelt ist, welche als Plattenlaufwerke 18 dargestellt sind. Die Steuereinrichtung 16a ist mit Geräten 18a, Geräten 18b und Geräten 18c gekoppelt. Die Steuereinrichtung 16b ist mit Geräten 18d, Geräten 18e und Geräten 18f gekoppelt. Die Steuereinrichtung 16c ist mit Geräten 18g, Geräten 18h und Geräten 18i gekoppelt. Die Steuereinrichtung 16d ist mit Geräten 18j und Geräten 18k gekoppelt. Jedes der Geräte 18 ist entsprechend bekannten Techniken in eines oder in mehrere logische Speichervolumen unterteilt.
  • Jede Steuereinrichtung 16 verbindet den Host-Rechner 14 und die Geräte 18 und kann beispielsweise eine Einheit sein, welche durch Fa. EMC hergestellt wird und als Symmetrix-Steuereinrichtung bekannt ist. Die Steuereinrichtungen 16a bis 16c empfangen Speicher-Schreibbefehle von jeweiligen Host-Rechnern 14 unmittelbar von Host-Bussen 20a bzw. 20B bzw. 20c, die beispielsweise entsprechend einem SCSI-Protokoll verbunden und betrieben werden, und liefern die zu den gekannten Befehlen gehörigen Daten an die entsprechenden Geräte 18 über Verbindungsbusse 22a, 22b, ..., 22k.
  • Die Busse 22 arbeiten vorzugsweise ebenfalls entsprechend einem SCSI-Protokoll. Die Steuereinrichtungen 16A bis 16C empfangen auch Leseanfragen von dem Hostrechner 14 über den Host-Bus 20 und liefern die angeforderten Daten an den Hostrechner 14, entweder von einem Cache-Speicher der Steuereinrichtung 16 oder, wenn die Daten nicht in dem Cache-Speicher vorhanden sind, von den Geräten 18 aus.
  • In einer typischen Konfiguration hat die Steuereinrichtung 16 auch Verbindung zu einer Service-Management Konsole (nicht dargestellt), welche für die Wartung und den Zugriff zu der Steuereinrichtung 16 verwendet wird und dazu dienen kann, Parameter der Steuereinrichtung 16 einzustellen, wie in der Technik bekannt ist.
  • Typischerweise ist, wie oben aufgezeigt, jedes der Geräte 18 so konfiguriert, daß es logische Volumen (oder Geräteeinheiten) speichert. Es kann eine Mehrzahl logischer Volumen vorgesehen sein, beispielsweise 4, 8 oder mehr logische Volumen, oder ein körperliches Gerät. In einer Konfiguration, in welcher mehrfache Kopien eines logischen Volumens unterhalten werden, d. h., insbesondere dann, wenn zwei Kopien von Daten gesondert für ein logisches Volumen gespeichert werden, spricht man davon, daß eine Spiegelung unterhalten wird. (Es könnten mehr als zwei gespiegelte Kopien vorhanden sein. Typischerweise jedoch werden gespiegelte Paare verwendet). Die Steuereinrichtung 16 kann dann auf eine Leseanforderung durch Ablesen von der einen oder anderen der in den Speichergeräten 18 gespeicherten Kopien reagieren. Eine Spiegelung kann sowohl dem Niveau der logischer Speichervolumen als auch dem Niveau der körperlichen Geräte oder auch nur im Niveau der logischen Speichervolumen vorgenommen sein. Datenspiegelungskonfigurationen können in derselben Steuereinrichtung oder in unterschiedlichen Steuereinrichtungen vorgenommen werden, wie im Falle einer Fern-Datenspiegelung (oder der Fern-Datenspiegelungsmöglichkeit RDF).
  • Im Betrieb sendet der Hostrechner 14, wie durch die Anwendungen oder Aufgaben bei seinem Betrieb erforderlich, Befehle an das Datenspeichersystem 12 zur Anforderung von Daten, die in dem logischen Speichervolumen gespeichert sind, oder zur Anbietung von Daten, welche in die logischen Speichervolumen eingeschrieben werden sollen. Es sei weiterhin auf die 1A und 1B Bezug genommen. Die Steuereinrichtungen 16A bis 16C enthalten Host-Adapter 24A bis 24C zur Erleichterung der Verbindungen mit dem Hostrechnern 14a bzw. 14b bzw. 14c. Der Hostrechner 14 hat typischerweise Verbindung zu einem Anschluß des Host-Adaperts 24 über die SCSI-Host-Busleitung 24.
  • Die Steuereinrichtungen 16a bis 16d enthalten weiter jeweils einen Globalspeicher 30, wobei dieser jeweils als Globalspeicher 30a bzw. 30b bzw. 30c bzw. 30d eingezeichnet ist. Der Host-Adapter 24 in jeder Steuereinrichtung hat über mindestens einen Systembus 31 Verbindung zu dem globalen Speicher 30. Außerdem sind mit dem globalen Speichersystem 30 in jeder der Steuereinrichtungen 16 Plattenlaufwerk-Steuerleitsysteme 32 verbunden, und genauer gesagt, Plattenlaufwerk-Steuerleiteinrichtungen 32a und 32b in der Steuereinrichtung 16a, Plattenlaufwerk-Steuerleitein richtungen 32c und 32d in der Steuereinrichtung 16b, Plattenlaufwerk-Steuerleiteinrichtungen 32e und 32f in der Steuereinrichtung 16c und Plattenlaufwerk-Steuerleiteinrichtungen 32g und 32h in der Steuereinrichtung 16d. Die Plattenlaufwerk-Steuerleiteinrichtungen 32 haben Verbindung mit dem Host-Adapter 24 über den globalen Speicher 30. Zwar ist dies nicht dargestellt, doch kann der globale Speicherstrang 30 einen Cache-Speicher zur Speicherung von Daten sowie verschiedene Datenstrukturen zur Aufrechterhaltung der Steuerinformation und zum Unterhalten der Verbindungen zwischen den Hostrechnern 14 und den Geräten 18 enthalten.
  • Die Plattenlaufwerk-Steuerleiteinrichtungen 32 steuern die Speichergeräte 18. Jede der Plattenlaufwerk-Steuerleiteinrichtungen 32a bis 32h enthält einen jeweiligen der Anschlüsse 34a bis 34h. In der beschriebenen Ausführungsform sind die Plattenlaufwerk-Steuerleiteinrichtungen 32 in der Steuereinrichtung 16 in Paaren installiert. So sind nur zwei Plattenlaufwerk-Steuerleiteinrichtungen in jeder der Steuereinrichtungen 16 dargestellt. Es versteht sich jedoch, daß zusätzliche Plattenlaufwerk-Steuerleiteinrichtungen durch das System 10 verwendet werden können.
  • Die Plattenlaufwerk-Steuerleiteinrichtungen in den Steuereinrichtungen 16a bis 16d haben Verbindung mit den jeweiligen globalen Speichern 30a bis 30d über jeweils zugeordnete Busse 36a bis 36d. Während einer Schreiboperation liest die Plattenlaufwerk-Steuerleiteinrichtung 32 Daten, welche in dem globalen Speicher 30 gespeichert sind, über den Host-Adapter 24 aus und schreibt diese Daten in entsprechende logische Speichervolumen ein. Während einer Leseoperation und in Abhängigkeit von einem Lesebefehl liest die Plattenlaufwerk-Steuerleiteinrichtung 32 Daten von einem logischen Speichervolumen aus und schreibt diese Daten in den globalen Speicher 30 für die spätere Weitergabe durch den Host-Adapter 24 an den anfragenden Hostrechner 14 ein.
  • In dem System 10 von 1A und 1B ist jede der Steuereinrichtungen 16 mit einem Schaltnetz 38 verbunden. Das Schaltnetz 38 enthält eine Anzahl von Netzanschlüssen (FP) gezeigt als FP 40a, FP 40b, ..., FP 40h. Jeder Anschluß in jeder Plattenlaufwerk-Steuerleiteinrichtung ist mit einem jeweils anderen der Netzanschlüsse 40 verbunden. Wie dargestellt sind die Anschlüsse 34a bis 34h mit den Netzanschlüssen 40a bis 40h jeweils über Verbindungen oder Kopplungen 42a bis 42h gekoppelt. Das Schaltnetz gestattet es jeder Steuereinrichtung 12 mit anderen Steuereinrichtungen 12 verbunden zu werden, wenn die anderen Steuereinrichtungen als entfernte Datenspeichersysteme dienen, die eine Hintergrundkapazität in Form gespiegelter Speicherung für die Daten bieten, die in dem Datenspeichersystem 12 gespeichert sind. Mit Bezug auf irgendeine der Steuereinrichtungen 16 ist eine entfernte Steuereinrichtung oder ein entferntes System irgendein anderes Steuersystem 16, das gespiegelte Kopien von Daten unterhält, welche in einer gegebenen Steuereinrichtung 16 gespeichert sind, oder Daten speichert, bezüglich welcher die betreffende Steuereinrichtung 16 selbst gespiegelte Kopien unterhält. Somit ist irgendeine Steuereinrichtung 16 und eine andere Steuereinrichtung, welche eine entfernte Steuereinrichtung ist (und somit die Funktion einer entfernen Datenspeicherung mit Bezug auf die betreffende Steuereinrichtung bietet) als eine gespiegelte Konfiguration oder eine gespiegelte Anordnung zu bezeichnen. Eine Prozedur der entfernten Datenspiegelung und des Wiederauffindens kann unter Verwendung bekannten Techniken durchgeführt werden, beispielsweise denjenigen, wie sie in dem oben erwähnten Patent 5,742,792 beschrieben sind.
  • In der beschriebenen Ausführungsform ist das Schaltnetz 38 ein Fibre-Channel-Netz. Es können jedoch andere Schaltprotokolle von einer Einheit zu vielen Einheiten, beispielsweise Gigabit Ethernet, verwendet werden. Es kommen andere Systemausführungen in Betracht. Beispielsweise versteht es sich, daß die Datenspeichersysteme 12 nicht auf einen Hostrechner beschränkt zu sein brauchen, wie dies dargestellt ist. Beispielsweise kann das Datenspeichersystem 12 mit mehr als einem Hostrechner gekoppelt sein. Alternativ braucht, wie dies für das Datenspeichersystem 12d gezeigt ist, das Datenspeichersystem 12 überhaupt nicht mit einem Host-Gerät gekoppelt zu sein. So ein Systemdatenspeicher kann nur verwendet werden, um Einschreibungen in Verbindung mit Schreibanforderungen durchzuführen, welche von einem der anderen Datenspeichersysteme 12a bis 12c empfangen werden, so daß aktualisierte Information, welche durch den Host-Adapter in dem betreffenden anderen Speichersystem gespeichert wird, auch in dem entfernten Datenspeichersystem 12d gespeichert wird, wodurch die Information aufrechterhalten wird, die in dem anderen Speichersystem, beispielsweise dem Datenspeichersystem 12a gespeichert ist, nämlich in einer gespiegelten Bedingung in dem entfernten Datenspeichersystem 12d. Auch kann der Host-Adapter 24 eine Mehrzahl von Host-Adaptern enthalten, welche jeweils einen unterschiedlichen Host-Bus/Host-Rechner unterhalten. Es können mehr oder weniger alternative Datenspeichersysteme, wie sie in den 1A und 1B gezeigt sind, vorgesehen sein. Es können mehr als zwei Anschlüsse je Datenspeichersystem vorhanden sein.
  • Nunmehr sei 2 betrachtet. Jede Plattenlaufwerk-Steuerleiteinrichtung 32 enthält einen Prozessor 50, der mit einem örtlichen, nichtflüchtigen Speicher (NVM) 52 über einen internen Bus 54 gekoppelt ist. Der Prozessor 50 steuert die Gesamtoperationen der Plattenlaufwerk-Steuerleiteinrichtung 32 und die Kommunikationen mit dem örtlichen Speicher 52. Der nichtflüchtige Speicher 52 speichert Firmware 56 und Parameterdaten in einem Parameterspeicher 58. Außerdem sind in dem örtlichen Speicher 52 verschiedenerlei Datenstrukturen 60 enthalten, d. h. Konfigurationstopologie-Tabellen 64, welche Konfigurationsinformationen für die Plattenlaufwerk-Steuerleiteinrichtung 32 sowie für das System 10 festhalten. Die Tabellen 64 enthalten eine Tabelle 64a bezüglich entfernter Systeme, eine Tabelle 64b bezüglich Gerätegruppen, eine Tabelle 64c bezüglich Steuerleiteinrichtungen (oder Prozessoren) und eine Tabelle 64d bezüglich logischer Verbindungen. Die Funktionalität dieser Datenstrukturen wird später beschrieben.
  • Es sei weiterhin 2 betrachtet. Die Firmware 56 enthält eine Anzahl von Prozessen, welche von dem Prozessor 50 ausgeführt werden, um den Datentransfer zwischen dem Hostrechner 14 (wenn vorhanden), dem globalen Speicher 32 und den Speichergeräten 18 zu steuern. Zusätzlich erfordert die Firmware 56 Prozesse zur Steuerung der Kommunikationen zwischen dem Anschluß 34 und den Anschlüssen in anderen Steuereinrichtungen über das Schaltnetz 38. Zu diesem Zwecke ist die Firmware 68 so ausgebildet, das sie einen Verbindungsinitialisierungsprozess 66 und einen Prozeß 68 der Auffindung einer einzelnen Verbindung enthält, wie beschrieben wird. Die Firmware 56, die Datenstrukturen 60 und der Parameterspeicher 58 werden jedes Mal ausgelesen, wenn das Datenspeichersystem initialisiert wird. Die Firmware 56 wird zu dem flüchtigen Speicher 52 zur Initialisierungszeit für die nachfolgende Ausführung durch den Prozessor 50 kopiert.
  • Die verschiedenen Konfigurationstopologietabellen 64 sind in den 3A bis 3D dargestellt. Zunächst sei auf 3A Bezug genommen. Eine Tabelle 64a der entfernten Systeme enthält einen Eintrag 70 für jedes Steuereinrichtungs-/Datenspeichersystem, welches in einer gespiegelten Anordnung mit dem Datenspeichersystem involviert ist. Jeder Eintrag 70 enthält eine Steuereinrichtungs-(System-)Seriennummer 72; eine Steuereinrichtungs-(System-) Modellnummer 74 und eine Firmware-(Code-)Niveauidentifizierung 76. Andere systemspezifische Informationen können gegebenenfalls einbezogen sein.
  • Es sei jetzt auf 3B Bezug genommen. Die Gerätegruppentabelle enthält einen Eintrag für jede Gerätegruppe 78, also 78a, 78b, 78k, wobei der Eintrag folgendes enthält: einen Gerätegruppennamen 80; einen Zeiger zu einem entfernten Speichersystem, das die Gerätegruppe 82 bedient; eine Liste von Geräten 84 in Zuordnung zu Charakteristiken 86 (einschließlich RDF Parametern). Bezugnehmend nunmehr auf die 3C ist zu sehen, daß die Prozessorniveautabelle 64c einen Eintrag 90 für den Prozessor jeder Plattenlaufwerk-Steuerleitvorrichtung enthält und jeder Eintrag 90 einen entsprechenden Rahmen (beispielsweise WWN-Name oder IP-Name) 92 und eine Liste von Zeigern zu Gerätegruppen enthält, welche von dem Prozessor 94 unterstützt werden. Bezugnehmend auf 3D ist festzustellen, daß die Tabelle 96 bezüglich der logischen Verbindungen Verbindungseinträge 98 enthält. Jeder davon enthält folgendes: einen Verbindungszustand 100; einen Zeiger zu einem der Prozessoren 102 und einen Zeiger zu einer der Gerätegruppen 104.
  • Bezüglich der 3A bis 3D ist zu sagen, daß die Tabellen 64a, 64b und 64c durch den Systembenutzer konfiguriert werden. Die Verbindungstabelle 64d wird durch den Prozeß 66 der Verbindungsinitialisierung und den Prozeß 68 der Verbindungsauffindung (2) erzeugt, wie zu beschreiben ist.
  • In 4 ist einen beispielsweise Form eines World Wide Name (WWN) 106, welcher in dem Feld 92 der Prozessorentabelle 64c identifiziert ist, gezeigt. Der WWN-Name 106 bildet für jeden Prozessor, der in einer RDF-Konfiguration involviert ist, einen einzigartigen Namen. Der WWN-Name 106 enthält ein verkäuferspezifisches Verkäufernummernfeld 108 zur Identifizierung des Herstellers der Steuereinrichtung, ein Seriennummernfeld 110 zur Identifizierung der Seriennummer der Steuereinrichtung 16 und eine Leitnummer 112 zur Identifizierung des Anschluß-Prozessors. In der gezeigten Ausführung sind die Längen der Felder 118, 110 und 112 28 Bit bzw. 30 Bit bzw. 6 Bit.
  • Es sei auf 5 Bezug genommen. Hier ist eine beispielsweise logische Gestaltung des Systems 10 (von den 1A und 1B) gezeigt. In diesem Beispiel sind zehn Gerätegruppen S1, S2, S3, S4, S5 sowie T1, T2, T3, T4 und T5 vorgesehen, welche auch durch jeweilige Bezugszahlen 120a, 120b, 120c, 120d, 120e, 122a, 122b, 122c, 122d und 122e bezeichnet sind. Fünf der Gerätegruppen, nämlich S1 bis S5, sind Quellen-Gerätegruppen, und die Gerätegruppen T1 bis T5 sind Zielgerätegruppen. In dem gezeigten Beispiel sind die Steuereinrichtungen in folgender Weise für eine Fern-Datenspiegelungsmöglichkeit konfiguriert: Die Steuereinrichtung 16a versorgt die Gerätegruppen S1, S2 und T4; die Steuereinrichtung 16b versorgt die Gerätegruppen S3, S5 und T1; die Steuereinrichtung 16c versorgt die Gerätegruppen S4, T3 und T5; und die Steuereinrichtung 16d versorgt die Gerätegruppe T2. Die Geräte in der Quellen-Gerätegruppe S1 in der Steuereinrichtung 16a werden in Geräten in der entsprechenden Ziel-Gerätegruppe T1 in der Steuereinrichtung 16b gespiegelt. Die Geräte in der Quellen-Gerätegruppe S2 (in der Steuereinrichtung 16a) werden in der Ziel-Gerätegruppe T2 (in der Steuereinrichtung 16d gespiegelt, usw. Jede Steuereinrichtung hat zwölf unterschiedliche mögliche logische Verbindungen zur Verfügung. Beispielsweise kann die Steuereinrichtung 16b ihre zwei Anschlüsse, nämlich Anschluß 34c und 34d verwenden, um die folgenden logischen Verbindungen zu gewinnen: Anschluß 34c zum Anschluß 34e, An schluß 34c zum Anschluß 34f, Anschluß 34c zum Anschluß 34g, Anschluß 34c zum Anschluß 34h, Anschluß 34c zum Anschluß 34a, Anschluß 34c zum Anschluß 34b, ferner Anschluß 34c zum Anschluß 34b, ferner Anschluß 34d zum Anschluß 34e, Anschluß 34d zum Anschluß 34f, Anschluß 34d zum Anschluß 34g, Anschluß 34d zum Anschluß 34h, Anschluß 34d zum Anschluß 34a und Anschluß 34d zum Anschluß 34b. Bei der besonderen Konfiguration, die in dieser Zeichnung gezeigt ist, muß ein Anschluß, der eine bestimmte Gerätegruppe versorgt, beispielsweise die Gerätegruppe S3, in Kommunikation mit einem Anschluß für die entsprechende Gerätegruppe sein, im vorliegenden Falle T3. Wie in der Zeichnung gezeigt ist, wobei die Schaltarchitektur und die beiden Anschlüsse/Prozessoren je Steuereinrichtung verwendet werden, kann eine Verbindung zwischen zwei Gerätegruppen, beispielsweise S3 und T3 mit einer von vier möglichen logischen Verbindungen erreicht werden: Anschluß 34c mit Anschluß 34e, Anschluß 34c mit Anschluß 34f, Anschluß 34d mit Anschluß 34e und Anschluß 34d mit Anschluß 34f.
  • Es sei nun auf 6 Bezug genommen. Hier ist ein Beispiel einer Topologiegraphik gezeigt, welche durch die Steuereinrichtung 16b für die Systemkonfiguration von 5 aufrechterhalten würde. Auf dem ersten Niveau enthält die Entfernt-Systeminformation 64a eine Repräsentation der Steuereinrichtungen 16a, (Seriennummer 012345678) und 16c (Seriennummer 0136357760) entsprechend Eintragungen in der Tabelle 64a bezüglich der entfernten Systeme (3A). Das nächste Niveau zeigt die Gerätegruppe T1, welche auf die Steuereinrichtung 16a hinweist, da die Steuereinrichtung 16a die Gerätegruppe S1 unterhält, welche das RBF-Gegenstück für die Gerätegruppe T1 ist. In ähnlicher Weise weisen die Gerätegruppen S3 und S5 auf die Steuereinrichtung 16c hin, da diese Steuereinrichtung diese Gerätegruppen mit den jeweiligen gespiegelten Gerätegruppen T3 und T5 in Beziehung setzt. Diese Gerätegruppendarstellungen entsprechen jeweils einem Eintrag in der Gerätegruppentabelle 64b (3B). Das nächste Niveau zeigt, welcher der Prozessoren (Prozessoren, die den Anschlüssen 34c und 34d zugeordnet sind) so konfiguriert ist, daß er jeweils welche Gerätegruppen versorgt. Wie die Zeichnung (welche der Tabelle 64c von 3C entspricht) zum Ausdruck bringt. ist ein Prozessor für eine der Steuerleiteinrichtungen 32c bis 32d so konfiguriert, daß er die Gerätegruppen T1 und S3 versorgt, so daß er auf diese hinweist. Der Prozessor für die andere der Steuerleiteinrichtungen 32c und 32d ist so konfiguriert, daß er die Gerätegruppe S5 versorgt und somit auf sie hinweist. Das untere Niveau zeigt die verschiedenen logischen Verbindungen, welche eingerichtet werden (durchgezogene Linien/Pfeile) oder welche gewünscht werden (gestrichelte Linien/Pfeile). Wie gezeigt, sind logische Verbindungen bereits für T1 und S3 eingerichtet und die Pfeile geben die Zeigerdaten wieder, welche in den Eintragungen der Tabelle der logischen Verbindungen 64d (3D) gespeichert sind. Für diese eingerichteten Verbindungen ist der Verbindungszustand aktiv und der Zustandswert, welcher in dem Feld 100 der Tabelle 64d gespeichert ist, ist "0xff".
  • Zur Einrichtung logischer Verbindungen, beispielsweise derjenigen zwischen den Gerätegruppen S5 und T5, muß ein Anschluß (genauer gesagt, der zugeordnete Prozessor der Plattenlaufwerk-Steuerleiteinrichtung) den Verbindungsinitialisierungsprozeß 66 und den Prozeß 68 bezüglich der Auffindung der einzelnen Verbindung durchführen, wie nachfolgend unter Bezugnahme auf die 7 bzw. 8 beschrieben wird.
  • Es sei auf 7 Bezug genommen. Der Verbindungsinitialisierungsprozeß 66 (Prozeß 66) beginnt damit, daß von dem Schaltnetz 40 eine Liste von Anschlüssen gewonnen wird, welche mit dem Schaltnetz 40 verbunden sind (Schritt 130). Vorzugsweise enthält diese Liste den WWN-Namen für jeden dieser Anschlüsse. Der Prozeß 66 schreitet zur Prüfung der ersten Eintragung auf der Liste (Schritt 132) fort. Der Prozeß 66 endet, wenn der WWN-Name des Anschlusses größer als der oder gleich dem WWN-Namen des Anschlusses ist, mit welchem der Prozeß durchgeführt wird, nachfolgend "OUR_WWN" (Schritt 134). Wenn festgestellt wird, daß der WWN-Name größer als der oder gleich dem OUR_WWN ist, dann endet der Prozeß 66, wenn es eine andere Eintragung auf der Liste gibt (Schritt 136). Wenn keine weitere Eintragungen auf der Liste sind, dann endet der Prozeß 66 (Schritt 137). Wenn eine andere zu überprüfende Eintragung vorhanden ist. dann schreitet der Prozeß 66 zu der nächsten Eintragung auf der Liste (Schritt 138) fort und kehrt zu dem Schritt 134 zurück. Wenn die Feststellung in dem Schritt 134 anzeigt, daß WWN kleiner als OUR_WWN ist, dann prüft der Prozessor 66, ob die Lieferantennummer oder Verkäufernummer gleich der Lieferantennummer für den Anschluß ist, für welchen der Prozeß durchgeführt wird, oder "OUR_VENDOR_NUMBER" (Schritt 140). Ist dies nicht der Fall, dann ignoriert der Prozeß 66 die betreffende Lieferantennummer und schreitet zu dem Schritt 136 fort. Wenn die Lieferantennummern dieselben sind, dann extrahiert der Prozeß 66 die Seriennummer und die Leitnummer von dem WWN-Namen (Schritt 142). Der Prozeß 66 bestimmt, welche Gerätegruppe, wenn überhaupt, durch den WWN-Namen angesprochen ist (Schritt 144). Das bedeutet, der Prozeß bestimmt, ob die Seriennummer, die aus dem WWN-Namen extrahiert worden ist, mit der Seriennummer übereinstimmt, auf welche irgendeinen Gerätegruppe hinweist. Wenn keine solche Übereinstimmung herrscht, dann kehrt der Prozeß 66 zu dem Schritt 136 zurück. Wenn eine Übereinstimmung für jede Gerätegruppe, welche durch die Seriennummer angesprochen ist, besteht, dann führt der Prozeß 66 folgendes aus: der Prozeß 66 bestimmt, ob bereits eine logische Verbindung für die Gerätegruppe und die Seriennummer (Schritt 146) existiert. Wenn eine logische Verbindung bereits errichtet worden ist, dann kehrt der Prozeß zu dem Schritt 136 zurück. Wenn keine logische Verbindung existiert, dann fügt der Prozeß 66 eine Verbindung zu der Verbindungstabelle hinzu, indem der Zustand gleich eins gesetzt wird und Zeiger hinzugefügt werden, welche auf eine Gerätegruppe hinweisen, welche durch die passende Seriennummer und den Prozessor angesprochen ist, der auf diese Gerätegruppe hinweist (Schritt 148). Der Prozeß 46 initiiert den Prozeß 68 bezüglich der Auffindung einer einzelnen Verbindung zur Einrichtung einer Verbindung zu dem entfernten Prozessor, der durch die WWN-Leitnummer identifiziert wird (Schritt 150). Der Prozeß 66 kehrt dann zu dem Schritt 136 zurück. Der Prozeß 66 führt somit die Schritte 134 bis 150 für jeden Anschluß durch, der auf der Liste dargestellt ist. Der Prozeß 66 wird als ein Hintergrundprozeß durchgeführt und wird entsprechend einem Zeitgeberparameter wiederholt, der in dem Parameterspeicher 58 eingestellt ist (2).
  • Nun sei auf 8 Bezug genommen. Hier ist ein detailliertes Flußdiagramm eines Prozesses 68 bezüglich der Auffindung einer einzelnen Verbindung (Prozeß 68) gezeigt. Der Prozeß 68 initiiert einen Einlog-Prozeß für den Anschluß, welcher die Verbindungsversuche (Initiatoranschluß) und das Einloggen ins Netz (Schritt 160) initiiert. In der beschriebenen Ausführungsform eines FC-Schalters wird das Einloggen unter Verwendung bekannter FC-Einlogtechniken durchgeführt. Der Prozeß 68 für den Initiatoranschluß initiiert die Kontaktaufnahme mit dem entfernten Anschluß (antwortender Anschluß) durch Aussenden einer Synchronisationsnachricht zu dem antwortenden Anschluß (Schritt 162). Die Synchronisation kann in dieser Weise durch Rückstellen des antwortenden Anschlusses erreicht werden. Wenn eine Auszeit vor Empfang einer Antwort auftritt oder der Verbindungsversuch durch das Netz zurückgewiesen wird, da die Verbindung von dem Netz zu dem antwortenden Anschluß nicht zustande gekommen ist (Schritt 164), dann versucht der Prozeß 68 die Synchronisation erneut nach Ablauf einer vorbestimmten Wiederversuchsverzögerung (Schritt 166). Anderenfalls wird eine Antwort von dem antwortenden Anschluß empfangen und die Synchronisationsnachricht veranlaßt den antwortenden Anschluß, sein eigenes FC-Einloggen durchzuführen und einen Verbindungseintrag für den Anschluß mit einem Verbindungszustand eins als Teil seines eigenen Verbindungsauffindungsprozesses (Schritt 168) zu erzeugen. Der Initiatoranschluß liest die Konfigurationsinformation für die Gerätegruppe, welche durch den entfernten Anschluß bezeichnet wird, und vergleicht sie mit der Konfiguration für die Gerätegruppe (Schritt 170). Er bietet die Gerätegruppe dem antwortenden Anschluß an, welcher die antwortende Gruppe dazu veranlaßt, festzustellen, ob sie die Gerätegruppe durch Lesen der Konfigurationsdaten für die Gerätegruppe des Initiatoranschlusses und Vergleichen mit der Konfigurationsinformation unterstützt, welche für die ferne Gerätegruppe gespeichert ist (Schritt 172). Wenn der Prozeß eine Anzeige über eine Fehlübereinstimmung nicht detektiert, oder nicht empfängt, d.h., wenn die Verbindungsauffindung erfolgreich ist (Schritt 170), so veranlaßt er den Initiatoranschluß zu einer Vorstellung seines Verbindungszustandes auf einen "0xff"-Wert (Schritt 176). Wenn anderenfalls der Prozeß 68 feststellt, daß die Verbindungsauffindung aufgrund einer RWF-Fehlübereinstimmung/Zurückweisung nicht erfolgreich war, dann überdeckt der Prozeß 68 die Information über den Fehler (notiert den WWN-Namen des fernen Anschlusses), so daß der Prozeß 68 wiederholte Versuche zur Herstellung einer Verbindung vermeiden kann, welche nicht eingerichtet werden kann, was auf Konfigurationsbeschränkungen oder Fehlübereinstimmungen beruht (Schritt 178).
  • Während einer einzelnen Verbindungsauffindung bewirkt somit der Prozeß 68, daß die Zustandsmaschinen sowohl in dem Initiatoranschluß als auch in dem antwortenden Anschluß versuchen, ihren Zustand von "1" auf "0xff" vorzuschalten, mit vier möglichen Ergebnissen: "ff" (Verbindung eingerichtet); Auszeit (Fehler) mit neuerlichem Versuch; "Verbindung ab"-Zurückweisung; oder RDF-Zurückweisung. Die Verbindung ist erfolgreich eingerichtet worden, wenn beide Zustandsmaschinen ihren Verbindungszustand auf "ff" vorgestellt haben.
  • Man erkennt, daß zahlreiche andere Modifikationen in Verbindung mit der Erfindung vorgenommen werden können. Die Steuereinrichtungen 16 können weiter einen Spiegelungsservice unterstützen, welcher feststellt, welche Plattenlaufwerk-Steuerleiteinrichtungen in Verbindung mit den Steuergeräten, welche sie steuern, primär verantwortlich für die Verbindung von Anfragen von einem Host-Rechner sind. Diese Politik kann zu Beginn eines Systemaufbaus festgelegt werden, wobei die erwarteten Belastungen in Betracht gezogen werden.
  • Vorzugsweise ist jedoch die Verwirklichung einer Spiegelungsservicepolitik dynamisch. Das bedeutet, die Spiegelungsservicepolitik kann periodisch in Abhängigkeit von Statistiken modifiziert werden, welche die Natur der Lese- und Schreibanfragen an das Datenspeichersystem 12 beschreiben, um die Spiegelungsservicepolitik während des Betriebes des Datenspeichersystems 12 zu ändern. Ein Beispiel einer dynamischen Spiegelungsservicepolitik (DMSP) ist in dem US-Patent 6,112,257 beschrieben.
  • Hinzufügungen, Wegnahmen und andere Modifikationen der bevorzugten Ausführungsformen der Erfindung ergeben sich für den Fachmann auf diesem Gebiet und liegen im Umfang der nachfolgenden Ansprüche.
  • Zusammenfassung
  • Es wird ein Mechanismus für eine Fernspiegelung von Speichereinrichtungen durch Datenspeichersysteme in einer geschalteten Umgebung im Verhältnis eins-zu-viele geschaffen. Jedes Datenspeichersystem enthält eine Plattenlaufwerk-Steuerleiteinrichtung, welche so ausgebildet ist, daß sie mindestens eine Gerätegruppe steuert, welche in einer gespiegelten Konfiguration mit einer entsprechenden Gerätegruppe betrieben wird, die durch eines der anderen Datenspeichersysteme gesteuert wird. Für jede Gerätegruppe und die entsprechende Gerätegruppe sind erste Anschlüsse, welche der Gerätegruppe zugeordnet sind, und zweite Anschlüsse vorgesehen, die der entsprechenden Gerätegruppe zugeordnet sind. Ein Schaltelement dient dazu, einen der ersten Anschlüsse mit mindestens einem der zweiten Anschlüsse so zu verbinden, daß Daten zwischen den Anschlüssen für jede Gerätegruppe und die entsprechend zugeordnete Gerätegruppe ausgetauscht werden können. Die Pattenlaufwerk-Steuerleiteinrichtung wählt aus, welcher erste Anschluß mit welchem zweiten Anschluß über das Schaltelement verbunden werden soll, wenn eine logische Verbindung eingerichtet werden soll. Somit ist jeder Anschluß, der mit der Schalteinrichtung verbunden ist, in der Lage, vielfache Verbindungen zu vielfachen Bestimmungsorten für eine erhöhte Verbindungsmöglichkeit, Redundanz und Arbeitsqualität (Belastungsausgleich) ohne zusätzliche Hardware zu schaffen.

Claims (9)

  1. Verfahren zum Verbinden von Anschlüssen an einem Datenspeichersystem mit Anschlüssen an anderen Datenspeichersystemen in einer Fern-Datenspiegelungsanordnung von Datenspeichersystemen, wobei das Verfahren folgendes umfaßt: Versehen jedes Speichersystems mit einer Konfigurationstopologie-Information; Bestimmen von einem Schaltnetz, das zu den Anschlüssen sämtlicher der Datenspeichersysteme Verbindung hat, von Informationen, welche die Anschlüsse, von anderen Datenspeichersystemen, welche mit dem Schaltnetz verbunden sind, identifizieren; und Verwenden der Konfigurationstopologie-Information und der Information, die von dem Schaltnetz gewonnen wurde, zur Einrichtung einer logischen Verbindung zwischen einem Anschluß des Speichersystems und einem zweiten Anschluß an einem zweiten Speichersystem derart, daß Daten, welche sich in einer Gerätegruppe befinden, die durch den Anschluß versorgt wird, und einer entsprechenden, gespiegelten Gerätegruppe, welche durch den zweiten Anschluß versorgt wird, zwischen dem Datenspeichersystem und dem zweiten Datenspeichersystem ausgetauscht werden können.
  2. Verfahren nach Anspruch 1, bei welchem die Konfigurationstopologie-Information Konfigurationstopologietabellen enthält und bei welchem die Konfigurationstopologietabellen weiter eine Gerätegruppentabelle enthält, welche die Gerätegruppen identifiziert, welche durch das Datenspeichersystem versorgt werden und für jede der Gerätegruppen einen Zeiger zu einem der anderen Datenspeichersysteme liefert, der die Gerätegruppe bedient, sowie eine Tabelle bezüglich entfernter Systeme enthält, welche durch eine Seriennummer jedes der anderen Datenspeichersysteme bezeichnet, auf welches der Zeiger in der Gerätegruppentabelle hinweist.
  3. Verfahren nach Anspruch 2, bei welchem die Konfigurationstopologietabellen weiter eine Entfernt-Systemtabelle enthalten, welche durch eine Seriennummer jedes der anderen Datenspeichersysteme bezeichnet, auf welches der Zeiger in der Gerätegruppentabelle hinweist.
  4. Einrichtung zur Verbindung von Anschlüssen an einem Datenspeichersystem mit Anschlüssen von anderen Datenspeichersystemen in einer Fern-Datenspiegelungsanordnung für Datenspeichersysteme, wobei die Einrichtung folgendes enthält: Mittel zum Versehen jedes Datenspeichersystems mit einer Konfigurationstopologie-Information; Mittel zum Bestimmen, aus einem Schaltnetz, das Verbindung zu Anschlüssen aller Datenspeichersysteme hat, von Information, welche Anschlüsse der anderen Datenspeichersysteme identifiziert, die mit dem Schaltnetz verbunden sind; und Mittel zur Verwendung der Konfigurationstopologieinformationen und der von dem Schaltnetz gewonnenen Information zum Errichten einer logischen Verbindung zwischen einem Anschluß des Datenspeichersystems und einem zweiten Anschluß an einem zweiten Datenspeichersystem derart, daß Daten, die sich in einer Gerätegruppe befinden, die von dem Anschluß versorgt wird, und einer entsprechenden, gespiegelten Gerätegruppe, welche durch den zweiten Anschluß versorgt wird, zwischen dem Datenspeichersystem und dem zweiten Datenspeichersystem ausgetauscht werden können.
  5. Einrichtung nach Anspruch 4, bei welchem die Konfigurationstopologieinformation Konfigurationstopologietabellen enthält und bei welcher die Konfigurations topologietabellen weiter eine Gerätegruppentabelle, welche die Gerätegruppen identifiziert, welche durch das Datenspeichersystem beliefert werden, und für jede der Gerätegruppen einen Zeiger zu einem der anderen Datenspeichersysteme, welches die Gerätegruppe beliefert, angibt, und eine Entfernt-Systeme-Tabelle enthält, welche durch eine Seriennummer jedes der anderen Datenspeichersysteme bezeichnet, auf welches der Zeiger in der Gerätegruppentabelle hinweist.
  6. Einrichtung nach Anspruch 5, bei welchem die Konfigurationstopologietabellen weiter eine Prozessorentabelle enthalten, welche durch einen einzigartigen Namen jeden Prozessor in dem Datenspeichersystem bezeichnet und einen zugehörigen Zeiger auf irgendeine oder auf mehrere Gerätegruppen hin liefert, welche durch den Prozessor versorgt wird bzw. werden.
  7. System, welches folgendes enthält: eine Anordnung von Speichersystemen, welche jeweils so ausgebildet sind, daß sie mindestens eine Gruppe von Geräten steuern, welche in einer gespiegelten Konfiguration betrieben werden, wobei eine entsprechende Gruppe von Geräten durch eines der anderen Speichersysteme gesteuert wird; erste Anschlüsse für jede Gerätegruppe und die entsprechende Gerätegruppe, wobei die ersten Anschlüsse mit der Gerätegruppe und zweite Anschlüsse mit der entsprechenden Gerätegruppe in Zuordnung stehen; und wobei einer der ersten Anschlüsse mit mindestens einem der zweiten Anschlüsse so verbunden ist, so daß Daten zwischen den ersten und zweiten Anschlüssen für jede Gerätegruppe und die entsprechende Gerätegruppe ausgetauscht werden können.
  8. Verfahren zur Verbindung von Anschlüssen an einem Datenspeichersystem mit Anschlüssen an anderen Datenspeichersystemen in einer Fern-Datenspiegelungsanordnung von Datenspeichersystemen, wobei das Verfahren folgendes umfaßt: Zuordnen von Anschlüssen zu einer Gruppe von Geräten, welche in einer gespiegelten Konfiguration mit einer entsprechenden Gruppe von Geräten betrieben werden, zu Anschlüssen an einem der anderen Datenspeichersysteme, zur welchen die Zuordnung besteht; und Verbinden eines der Anschlüsse, welcher der Gerätegruppe zugeordnet ist, mit mindestens einem der Anschlüsse, welcher der korrespondierenden Gerätegruppe zugeordnet ist derart, daß Daten zwischen den der Gerätegruppe und der korrespondierenden Gerätegruppe zugeordneten Anschlüssen ausgetauscht werden können.
  9. Verfahren zur Verbindung von Anschlüssen in einem Datenspeichersystem mit Anschlüssen in anderen Datenspeichersystemen in einer Fern-Datenspiegelungsanordnung von Datenspeichersystemen, wobei das Verfahren folgendes umfasst: Konfiguration eines Anschlusses zur Steuerung einer Gerätegruppe; und Verbinden des Anschlusses mit einem ausgewählten der Anschlüsse, welche eine zweite Gerätegruppe steuern, die eine Spiegelungszuordnung zu der Gerätegruppe hat, die durch den Anschluß gesteuert wird.
DE10197179T 2001-01-23 2001-11-30 Fern-Spiegelung in einer geschalteten Umgebung Ceased DE10197179T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/767,773 2001-01-23
US09/767,773 US6938122B2 (en) 2001-01-23 2001-01-23 Remote mirroring in a switched environment
PCT/US2001/045082 WO2002059750A2 (en) 2001-01-23 2001-11-30 Remote mirroring in a switched environment

Publications (1)

Publication Number Publication Date
DE10197179T5 true DE10197179T5 (de) 2004-07-29

Family

ID=25080540

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10197179T Ceased DE10197179T5 (de) 2001-01-23 2001-11-30 Fern-Spiegelung in einer geschalteten Umgebung

Country Status (5)

Country Link
US (3) US6938122B2 (de)
JP (1) JP2004518217A (de)
DE (1) DE10197179T5 (de)
GB (1) GB2387463B (de)
WO (1) WO2002059750A2 (de)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968369B2 (en) * 2001-09-27 2005-11-22 Emc Corporation Remote data facility over an IP network
US6880101B2 (en) * 2001-10-12 2005-04-12 Dell Products L.P. System and method for providing automatic data restoration after a storage device failure
US7107320B2 (en) * 2001-11-02 2006-09-12 Dot Hill Systems Corp. Data mirroring between controllers in an active-active controller pair
US20040030771A1 (en) * 2002-08-07 2004-02-12 John Strassner System and method for enabling directory-enabled networking
JP2004295465A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
US7376859B2 (en) * 2003-10-20 2008-05-20 International Business Machines Corporation Method, system, and article of manufacture for data replication
US7681074B2 (en) * 2005-04-29 2010-03-16 Microsoft Corporation Transport high availability
US7693071B2 (en) * 2005-05-27 2010-04-06 Microsoft Corporation System and method for routing messages within a messaging system
US7873799B2 (en) * 2005-11-04 2011-01-18 Oracle America, Inc. Method and system supporting per-file and per-block replication
US7606141B2 (en) * 2006-01-12 2009-10-20 International Business Machines Corporation Implementing N-way fast failover in virtualized Ethernet adapter
US20080140826A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Monitoring and controlling electronic message distribution
US8015343B2 (en) 2008-08-08 2011-09-06 Amazon Technologies, Inc. Providing executing programs with reliable access to non-local block data storage
CN102177508B (zh) * 2008-08-08 2015-08-05 亚马逊技术有限公司 向执行中的程序提供对非本地块数据存储装置的可靠访问
JP5170169B2 (ja) * 2010-06-18 2013-03-27 Necシステムテクノロジー株式会社 ディスクアレイ装置間のリモートコピー処理システム、処理方法、及び処理用プログラム
US9141396B2 (en) 2013-03-14 2015-09-22 International Business Machines Corporation Live initialization of a boot device
US9606870B1 (en) 2014-03-31 2017-03-28 EMC IP Holding Company LLC Data reduction techniques in a flash-based key/value cluster storage
US10003495B1 (en) * 2014-09-20 2018-06-19 Cisco Technology, Inc. Discovery protocol for enabling automatic bootstrap and communication with a service appliance connected to a network switch
US10270658B2 (en) 2014-09-30 2019-04-23 Cisco Technology, Inc. Zero touch configuration and synchronization of a service appliance in a network environment
US9507678B2 (en) * 2014-11-13 2016-11-29 Netapp, Inc. Non-disruptive controller replacement in a cross-cluster redundancy configuration
US9912532B2 (en) * 2015-02-04 2018-03-06 International Business Machines Corporation Port group configuration for interconnected communication devices
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
JP6706914B2 (ja) 2015-12-22 2020-06-10 日機装株式会社 クランプ装置
US10324635B1 (en) 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US9866467B1 (en) * 2016-09-19 2018-01-09 Capital One Services, Llc Systems and methods for automated determination of network device transiting data attributes
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10503609B1 (en) 2017-04-27 2019-12-10 EMC IP Holding Company LLC Replication link smoothing using historical data
US10409520B1 (en) 2017-04-27 2019-09-10 EMC IP Holding Company LLC Replication of content-based storage using address space slices
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US11360688B2 (en) 2018-05-04 2022-06-14 EMC IP Holding Company LLC Cascading snapshot creation in a native replication 3-site configuration
US10860239B2 (en) 2018-05-04 2020-12-08 EMC IP Holding Company LLC Fan-out asynchronous replication caching
US10705753B2 (en) 2018-05-04 2020-07-07 EMC IP Holding Company LLC Fan-out asynchronous replication logical level caching
US10853221B2 (en) 2018-05-04 2020-12-01 EMC IP Holding Company LLC Performance evaluation and comparison of storage systems
US11048722B2 (en) 2018-07-31 2021-06-29 EMC IP Holding Company LLC Performance optimization for data persistency in asynchronous replication setups
US10613793B1 (en) 2018-11-01 2020-04-07 EMC IP Holding Company LLC Method to support hash based xcopy synchronous replication
US10719249B1 (en) 2019-01-31 2020-07-21 EMC IP Holding Company LLC Extent lock resolution in active/active replication
US10853200B2 (en) 2019-02-01 2020-12-01 EMC IP Holding Company LLC Consistent input/output (IO) recovery for active/active cluster replication
US11194666B2 (en) 2019-04-26 2021-12-07 EMC IP Holding Company LLC Time addressable storage in a content addressable storage system
US10719257B1 (en) 2019-04-29 2020-07-21 EMC IP Holding Company LLC Time-to-live (TTL) license management in an active/active replication session
US11216388B2 (en) 2019-04-30 2022-01-04 EMC IP Holding Company LLC Tiering between storage media in a content aware storage system
US11301138B2 (en) 2019-07-19 2022-04-12 EMC IP Holding Company LLC Dynamic balancing of input/output (IO) operations for a storage system
US11238063B2 (en) 2019-07-25 2022-02-01 EMC IP Holding Company LLC Provenance-based replication in a storage system
US10908828B1 (en) 2019-07-25 2021-02-02 EMC IP Holding Company LLC Enhanced quality of service (QoS) for multiple simultaneous replication sessions in a replication setup
US11429493B2 (en) 2020-01-20 2022-08-30 EMC IP Holding Company LLC Remote rollback of snapshots for asynchronous replication
US11249674B2 (en) * 2020-06-03 2022-02-15 Innogrit Technologies Co., Ltd. Electrical mirroring by NAND flash controller
US11281407B1 (en) 2020-09-23 2022-03-22 EMC IP Holding Company LLC Verified write command in active-active replication
US11593396B2 (en) 2020-09-23 2023-02-28 EMC IP Holding Company LLC Smart data offload sync replication

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234811A (ja) 1994-02-25 1995-09-05 Fujitsu Ltd リモートファイル制御方法
US5680580A (en) * 1995-02-28 1997-10-21 International Business Machines Corporation Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit
US5938732A (en) * 1996-12-09 1999-08-17 Sun Microsystems, Inc. Load balancing and failover of network services
US6070191A (en) * 1997-10-17 2000-05-30 Lucent Technologies Inc. Data distribution techniques for load-balanced fault-tolerant web access
EP1040419B1 (de) 1997-12-24 2002-08-07 Avid Technology, Inc. Computersystem für eine sichere und skalierbare übertragung von mehrfachdatenströme mit höherer bandbreite zwischen mehrfachdateneinheiten und mehrfachapplikationen
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
JP2000132343A (ja) 1998-08-20 2000-05-12 Hitachi Ltd 記憶装置システム
JP2000242434A (ja) 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6549988B1 (en) * 1999-01-22 2003-04-15 Ilya Gertner Data storage system comprising a network of PCs and method using same
JP2000305856A (ja) 1999-04-26 2000-11-02 Hitachi Ltd ディスクサブシステム及びこれらの統合システム
JP3726559B2 (ja) 1999-06-01 2005-12-14 株式会社日立製作所 ダイレクトバックアップ方法および記憶装置システム
DE60043873D1 (de) * 1999-06-01 2010-04-08 Hitachi Ltd Verfahren zur Datensicherung
JP3853540B2 (ja) 1999-06-30 2006-12-06 日本電気株式会社 ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置

Also Published As

Publication number Publication date
US20020097687A1 (en) 2002-07-25
US7174423B2 (en) 2007-02-06
GB2387463A (en) 2003-10-15
US20070198668A1 (en) 2007-08-23
WO2002059750A2 (en) 2002-08-01
JP2004518217A (ja) 2004-06-17
US20050268056A1 (en) 2005-12-01
US6938122B2 (en) 2005-08-30
US7383385B2 (en) 2008-06-03
GB0306159D0 (en) 2003-04-23
GB2387463B (en) 2005-06-01
WO2002059750A3 (en) 2003-04-17

Similar Documents

Publication Publication Date Title
DE10197179T5 (de) Fern-Spiegelung in einer geschalteten Umgebung
DE69636663T2 (de) System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen
DE60316776T2 (de) Auf netzwerkdatenspeicherung bezogene operationen
DE102004028808B4 (de) Speichersystem, das mit einem externen Speichersystem verbunden ist und Verfahren zum Verbinden derartiger Systeme
DE60031499T2 (de) Verfahren zur Übertragung von Signalen der Typen "fibre-channel" und "non-fibre-channel" über ein gemeinsames Kabel
DE60220263T2 (de) Server-duplexverfahren und geduplextes serversystem
DE60130808T2 (de) System und Verfahren zur Konfiguration von Netzwerkressourcen
EP1309920B1 (de) Adressvergabeverfahren für mindestens einen neu an ein bussystem angeschlossenen busteilnehmer
DE10014448B4 (de) Speicherverwaltungssystem
DE60212922T2 (de) Umkehr eines Kommunikationspfades zwischen Speichergeräten
DE69931473T3 (de) Eingang/ausgang- scanner für ein steuersystem mit peer- ermittlung
DE602004008028T2 (de) Verfahren zum dynamischen Transferieren zwischen Servern für virtuelle Dateiserver
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE69913553T2 (de) Konfigurierung von systemeinheiten
DE102004027672A1 (de) Speicherplattenarraysystem
DE04028359T1 (de) Verfahren und einrichtung zum aufrechterhalten der konsistenz von in einer gruppe von gespiegelten einrichtungen gespeicherten daten
DE20321583U1 (de) Speichersteuervorrichtung
DE602004004605T2 (de) Vorrichtung und Methode zum Unterstützen der Konfiguration eines Speichersystems
DE602005004508T2 (de) Speichersystem und Speichersteuerverfahren
DE10297430T5 (de) Datenspiegelung unter Anwendung von shared Bussen
DE10392181T5 (de) Dynamische RDF-Gruppen
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE102012206283B4 (de) Verteilung des Datenflusses auf mehrere Pfade (Multi-Pathing) in einem Speicherbereichsnetzwerk
DE112008001682T5 (de) Speicherbereichsnetzwerk mit Erkennung auf der Zielseite und dem Hochladen einer Routing- Tabelle
DE10220886A1 (de) Datenspeichersysteme mit verbesserten Netzwerkschnittstellen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10197179

Country of ref document: DE

Date of ref document: 20040729

Kind code of ref document: P

8131 Rejection