DE60203773T2 - Hierarchischer Ansatz zur Erkennung von veränderten Geräteeigenschaften - Google Patents

Hierarchischer Ansatz zur Erkennung von veränderten Geräteeigenschaften Download PDF

Info

Publication number
DE60203773T2
DE60203773T2 DE60203773T DE60203773T DE60203773T2 DE 60203773 T2 DE60203773 T2 DE 60203773T2 DE 60203773 T DE60203773 T DE 60203773T DE 60203773 T DE60203773 T DE 60203773T DE 60203773 T2 DE60203773 T2 DE 60203773T2
Authority
DE
Germany
Prior art keywords
value
data
drive
memory
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60203773T
Other languages
English (en)
Other versions
DE60203773D1 (de
Inventor
Mark J. Waltham Halstead
Dan Boston Arnon
Adi Wellesley Ofer
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 DE60203773D1 publication Critical patent/DE60203773D1/de
Application granted granted Critical
Publication of DE60203773T2 publication Critical patent/DE60203773T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Description

  • Hintergrund der Erfindung
  • 1. Technisches Gebiet
  • Diese Anwendung bezieht sich auf Computer-Speichervorrichtungen und insbesondere auf ein Verfahren und eine Einrichtung zur Bestimmung von Vorrichtungseigenschaften für eine Datenspeichervorrichtung, wie in den Präambeln der Ansprüche 1 und 7 dargestellt.
  • 2. Beschreibung des Standes der Technik
  • Hostprozessor-Systeme (Leitrechner-Systeme) können Daten unter Verwendung einer Speichervorrichtung speichern und abrufen, welche eine Vielzahl von Host-Schnittstelleneinheiten (Host-Adapter), Plattenlaufwerken und Plattenschnittstelleneinheiten (Plattenadapter) enthält. Derartige Speichervorrichtungen werden beispielsweise von EMC Corporation aus Hopkinton, Massachusetts, geliefert und sind in US-Patent Nr. 5,206,939 von Yanai et al., 5,778,394 von Galtzur et al., US-Patent Nr. 5,845,147 von Vishlitzky et al. und US-Patent Nr. 5,857,208 von Ofek offenbart. Die Host-Systeme greifen auf die Speichervorrichtung durch eine Vielzahl mit diesem bereitgestellter Kanäle zu. Host-Systeme liefern der Speichervorrichtung durch die Kanäle Daten und Zugriffs-Steuerungsinformationen, und die Speichervorrichtung liefert den Host-Systemen ebenfalls durch die Kanäle Daten. Die Host-Systeme adressieren nicht unmittelbar die Plattenlaufwerke der Speichervorrichtung, sondern greifen vielmehr auf den Host-Systemen als eine Vielzahl logischer Platteneinheiten [logical disk units] erscheinende Einheiten zurück. Die logischen Platteneinheiten können den tatsächlichen Plattenlaufwerken entsprechen oder nicht. Dadurch, daß mehreren Host-Systemen den Zugriff auf die einzige Speichervorrichtung ermöglicht wird, können die Host-Systeme darin gespeicherte Daten gemeinsam nutzen.
  • US-Patent Nr. 5,895,493 offenbart ein Verfahren und eine zugehörige Einrichtung zur Verwaltung von Management-Informationen, welche zu einem Speicher-Subsystem gehören, das an eine Vielzahl von Host-Systemen angeschlossen ist. Konfigurations- und andere Management-Informationen in Bezug auf ein Speicher-Subsystem sind in einem reservierten Bereich des Speicher-Subsystems gespeichert, welcher als Host- Speicherbereich (HSR) bezeichnet wird. Die Konfigurations-Informationen werden beim Speichern in dem HSR durch das Speicher-Subsystem mit einem Zeitstempel versehen. Ein Host-System, welches die Konfiguration oder den Zustand des Speicher-Subsystems verändert, schreibt eine geeignete Nachricht an den HSR, um die Veränderung der Management-Information anzuzeigen. Alle Host-Systeme fragen periodisch den HSR ab (pollen den HSR), um den gegenwärtigen Verwaltungszustand und Konfigurationsinformationen zu ermitteln. Während des Abrufens (Pollens) wird ein Zeitstempel von dem HSR abgerufen und mit einem lokal in einem der Host-Systeme gespeicherten Zeitstempelwert verglichen, um zu ermitteln, ob die in dem HSR gespeicherten Informationen neuer sind als die lokal gespeicherten Informationen. Wenn dies der Fall ist, werden die lokalen Informationen aktualisiert.
  • In einigen Fällen kann es wünschenswert sein, Daten von einer Speichervorrichtung in eine andere zu kopieren. Beispielsweise kann es, wenn ein Host Daten in eine erste Speichervorrichtung schreibt, wünschenswert sein, diese Daten in eine zweite, an einem anderen Ort bereitgestellte Speichervorrichtung zu kopieren, so daß wenn ein Unglück auftritt, welches die erste Speichervorrichtung betriebsunfähig macht, der Host (oder ein anderer Host) den Betrieb unter Verwendung der Daten der zweiten Speichervorrichtung wieder aufnehmen kann. Eine derartige Fähigkeit bietet beispielsweise das von der EMC Corporation in Hopkinton, Massachusetts, bereitgestellte Remote Data Facility (RDF)-Produkt. Bei RDF kann ein Benutzer eine erste Speichervorrichtung als Master-Speichervorrichtung und eine zweite Speichervorrichtung als Slave-Speichervorrichtung benennen. Andere Ausführungen von RDF können ein Peer-to-Peer-Verhältnis zwischen den lokalen und entfernten Speichervorrichtungen bieten. Der Host wirkt direkt mit der lokalen Speichervorrichtung zusammen, jedoch wird jede in der lokalen Speichervorrichtung vorgenommene Datenveränderung unter Verwendung von RDF automatisch einer entfernten Speichervorrichtung zugeführt. Die lokalen und entfernten Speichervorrichtungen können durch eine Datenverbindung wie einen ESCON-Link oder einen Fiber-Channel-Link verbunden sein. Die RDF-Funktionalität kann mit einem an jeder der Speichervorrichtungen vorgesehenen RDF-Adapter (RA) unterstützt werden.
  • In einigen Fällen kann es wünschenswert sein, das RDF-Konfigurationssystem abzuändern. Jedoch erfordern derartige Abänderungen in vielen Fällen ausgebildete Techniker, die eine besondere Software und Nicht-Standard-Verbindungen zu den lokalen Speichervorrichtungen verwenden. Es ist wünschenswert, den RDF-Konfigurations-Abänderungsvorgang zu automatisieren, um einem Host die Abänderung der RDF-Konfiguration zu ermöglichen. Außerdem ist es wünschenswert, daß das Zulassen dynamischer Abänderungen der RDF-Konfiguration den Betrieb der Speichervorrichtung nicht beeinträchtigt, wenn einzelne Vorrichtungen darin auf die dynamischen Konfigurationsinformationen zugreifen müssen.
  • Zusammenfassung der Erfindung
  • Ziel der Erfindung ist die Verbesserung der Kommunikation zwischen Speichervorrichtungen, insbesondere die Verringerung der Anzahl der Zugriffe auf den globalen Speicher. Dieses Ziel führt zu der Erfindung, wie sie in den Ansprüchen 1 und 7 definiert ist.
  • Weitere Verbesserungen werden durch die Unteransprüche bereitgestellt.
  • Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen beinhaltet die Erzeugung einer Verbindung zu einem Quell-Laufwerk auf der ersten Speichervorrichtung und die Angabe, daß das Quell-Laufwerk nicht bereit ist, Daten auf dem Kommunikationspfad zu übertragen, nach der erfolgreichen Erzeugung der Verbindung zum Quell-Laufwerk Erzeugung einer Verbindung zu einem Ziel-Laufwerk auf der zweiten Speichervorrichtung und die anfängliche Angabe, daß Teile eines der beiden Laufwerke, nämlich Ziel-Laufwerk und Quell-Laufwerk, keine gültigen Datenkopien enthalten, wobei das Ziel-Laufwerk Daten von dem Quell-Laufwerk annimmt, und nach erfolgreicher Erzeugung der Verbindungen zu dem Quell- und dem Ziel-Laufwerk Angabe, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu überragen. Das dynamische Erzeugen eines Kommunikationspfads zwischen den ersten und zweiten Speichervorrichtungen kann auch die Erzeugung mindestens eines der Laufwerke, nämlich des Quell-Laufwerks und des Ziel-Laufwerks, umfassen. Die Erzeugung der Verbindung zu dem Quell-Laufwerk kann die Abänderung einer Tabelle umfassen, welche Konfigurationsinformationen für die erste Speichervorrichtung enthält. Die Erzeugung der Verbindung zu dem Ziel-Laufwerk kann die Abänderung einer Tabelle umfassen, welche Konfigurationsinformationen für die zweite Speichervorrichtung enthält. Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen kann ferner im Anschluß an die erfolglose Erzeugung einer Verbindung zu dem Ziel-Laufwerk die Zerstörung der Verbindung zu dem Quell-Laufwerk umfassen; in diesem Fall kann ein Fehler zurückgegeben werden. Zu Anfang kann angegeben werden, daß Teile des Ziel-Laufwerks keine gültigen Daten enthalten; in diesem Fall kann das dynamische Erzeugen eines Kommunikationspfades zwischen ersten und zweiten Speichervorrichtungen ferner nach der Angabe, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen, das Initiieren eines im Hintergrund ablaufenden Kopiervorgangs umfassen, um Daten von dem Quell-Laufwerk auf das Ziel-Laufwerk zu kopieren. Zu Anfang kann angegeben werden, daß Teile des Quell-Laufwerks keine gültigen Daten enthalten; in diesem Fall kann das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen ferner nach der Angabe, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen, das Initiieren eines im Hintergrund ablaufenden Kopiervorgangs umfassen, um Daten von dem Ziel-Laufwerk auf das Quell-Laufwerk zu kopieren. Der Host kann einen Eingabe/Ausgabe-Vorgang [I/O operation] auf einem bestimmten Teil des Quell-Laufwerks ausführen; in diesem Fall kann das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen ferner als Reaktion auf die Angabe, daß der bestimmte Teil ungültige Daten enthält, das Kopieren von dem bestimmten Teil entsprechenden Daten von dem Ziel-Laufwerk auf das Quell-Laufwerk vor Beendigung des Eingabe/Ausgabe-Vorgangs umfassen.
  • Erfindungsgemäß umfaßt das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen ferner das Erzeugen einer Verbindung zu einem Ziel-Laufwerk auf der ersten Speichervorrichtung, nach erfolgreichem Erzeugen der Verbindung zu dem Ziel-Laufwerk das Erzeugen einer Verbindung zu einem Quell-Laufwerk auf der zweiten Speichervorrichtung und die Angabe, daß das Quell-Laufwerk nicht bereit ist, Daten auf dem Kommunikations pfad zu übertragen, und die anfängliche Angabe, daß Teile von einem der folgenden, nämlich dem Ziel-Laufwerk und dem Quell-Laufwerk, keine gültigen Kopien von Daten enthalten, wobei das Ziel-Laufwerk Daten von dem Quell-Laufwerk annimmt, und nach erfolgreichem Erzeugen der Verbindungen zu dem Quell- und dem Ziel-Laufwerk die Angabe, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen. Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen kann ferner das Erzeugen mindestens eines der folgenden, nämlich des Quell-Laufwerks und des Ziel-Laufwerks, umfassen. Das Erzeugen der Verbindung zu dem Ziel-Laufwerk kann die Abänderung einer Tabelle umfassen, welche Konfigurationsinformationen für die erste Speichervorrichtung enthält. Das Erzeugen der Verbindung zu dem Quell-Laufwerk kann die Abänderung einer Tabelle umfassen, welche Konfigurationsinformationen für die zweite Speichervorrichtung enthält. Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen kann ferner im Anschluß an die erfolglose Erzeugung einer Verbindung zu dem Quell-Laufwerk die Zerstörung der Verbindung zu dem Ziel-Laufwerk umfassen; in diesem Fall kann eine Fehlerangabe zurückgegeben werden. Zu Anfang kann angegeben werden, daß Teile des Ziel-Laufwerks keine gültigen Daten enthalten. Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen kann ferner nach der Angabe, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen, das Initiieren eines im Hintergrund ablaufenden Kopiervorgangs umfassen, um Daten von dem Quell-Laufwerk auf das Ziel-Laufwerk zu kopieren. Zu Anfang kann angegeben werden, daß Teile des Quell-Laufwerks keine gültigen Daten enthalten. Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen kann ferner nach der Angabe, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen, das Initiieren eines im Hintergrund ablaufenden Kopiervorgangs umfassen, um Daten von dem Ziel-Laufwerk auf das Quell-Laufwerk zu kopieren. Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen kann ferner umfassen, daß der Host einen Eingabe/Ausgabe-Vorgang auf einem bestimmten Teil des Quell-Laufwerks ausführt. Das dynamische Erzeugen eines Kommunikationspfads zwischen ersten und zweiten Speichervorrichtungen kann ferner als Reaktion auf die Angabe, daß der bestimmte Teil ungültige Daten enthält, das Kopieren von dem bestimmten Teil entsprechenden Daten von dem Ziel-Laufwerk auf das Quell-Laufwerk vor Beendigung des Eingabe/Ausgabe-Vorgangs umfassen.
  • Des weiteren umfaßt erfindungsgemäß ein Computerprogrammprodukt, welches einen Kommunikationspfad zwischen ersten und zweiten Speichervorrichtungen erzeugt, ausführbaren Programmcode, welcher eine Verbindung zu einem Quell-Laufwerk auf der ersten Speichervorrichtung erzeugt und angibt, daß das Quell-Laufwerk nicht bereit ist, Daten auf dem Kommunikationspfad zu übertragen, ausführbaren Programmcode, der eine Verbindung zu einem Ziel-Laufwerk auf der zweiten Speichervorrichtung erzeugt und anfänglich angibt, daß Teile eines der folgenden, nämlich des Ziel-Laufwerks und des Quell-Laufwerks, keine gültigen Kopien von Daten enthalten, nachdem die Verbindung zu dem Quell-Laufwerk erfolgreich erzeugt wurde, wobei das Ziel-Laufwerk Daten von dem Quell-Laufwerk annimmt, und ausführbaren Programmcode, der angibt, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen, nachdem die Verbindungen zu dem Quell- und dem Ziel-Laufwerk erfolgreich erzeugt wurden. Das Computerprogrammprodukt kann ferner ausführbaren Programmcode umfassen, der mindestens eines der folgenden, nämlich des Quell-Laufwerks und des Ziel-Laufwerks, erzeugt. Der ausführbare Programmcode, der die Verbindung zu dem Quell-Laufwerk erzeugt, ändert eine Tabelle ab, welche Konfigurationsinformationen für die erste Speichervorrichtung enthalten kann. Der ausführbare Programmcode, der die Verbindung zu dem Ziel-Laufwerk erzeugt, kann eine Tabelle abändern, welche Konfigurationsinformationen für die zweite Speichervorrichtung enthält. Das Computerprogrammprodukt kann ferner ausführbaren Programmcode umfassen, der im Anschluß an die erfolglose Erzeugung einer Verbindung zu dem Ziel-Laufwerk die Verbindung zu dem Quell-Laufwerk zerstört; in diesem Fall kann eine Fehlerangabe zurückgegeben werden. Das Computerprogrammprodukt kann ferner ausführbaren Programmcode umfassen, der veranlaßt, daß zu Anfang angegeben wird, daß Teile des Quell-Laufwerks keine gültigen Daten enthalten. Das Computerprogrammprodukt kann ferner ausführbaren Programmcode umfassen, der einen im Hintergrund ablaufenden Kopiervorgang initiiert, um Daten von dem Ziel-Laufwerk auf das Quell-Laufwerk zu kopieren, nachdem angegeben wurde, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen. Das Computerprogrammprodukt kann ferner ausführbaren Programmcode umfassen, der einem gewünschten Teil entsprechende Daten als Reaktion auf die Angabe, daß der gewünschte Teil ungültige Daten enthält, von dem Ziel-Laufwerk auf das Quell-Laufwerk kopiert, bevor ein Eingabe/Ausgabe-Vorgang beendet wird.
  • Des weiteren umfaßt erfindungsgemäß ein Computerprogrammprodukt, welches dynamisch einen Kommunikationspfad zwischen ersten und zweiten Speichervorrichtungen erzeugt, ausführbaren Programmcode, welcher eine Verbindung zu einem Ziel-Laufwerk auf der ersten Speichervorrichtung erzeugt, ausführbaren Programmcode, der eine Verbindung zu einem Quell-Laufwerk auf der zweiten Speichervorrichtung erzeugt und angibt, daß das Quell-Laufwerk nicht bereit ist, Daten auf dem Kommunikationspfad zu übertragen, und anfänglich angibt, daß Teile eines der folgenden, nämlich des Ziel-Laufwerks und des Quell-Laufwerks, keine gültigen Kopien von Daten enthalten, nachdem die Verbindung zu dem Ziel-Laufwerk erfolgreich erzeugt wurde, wobei das Ziel-Laufwerk Daten von dem Quell-Laufwerk annimmt, und ausführbaren Programmcode, der angibt, daß das Quell-Laufwerk bereit ist, Daten auf dem Kommunikationspfad zu übertragen, nachdem die Verbindungen zu dem Quell- und dem Ziel-Laufwerk erfolgreich erzeugt wurden. Das Computerprogrammprodukt kann ferner ausführbaren Programmcode umfassen, der mindestens eines der folgenden, nämlich des Quell-Laufwerks und des Ziel-Laufwerks, erzeugt. Der ausführbare Programmcode, der die Verbindung zu dem Quell-Laufwerk erzeugt, kann eine Tabelle abändern, welche Konfigurationsinformationen für die erste Speichervorrichtung enthält. Der ausführbare Programmcode, der die Verbindung zu dem Ziel-Laufwerk erzeugt, kann eine Tabelle abändern, welche Konfigurationsinformationen für die zweite Speichervorrichtung enthält. Das Computerprogrammprodukt kann ferner ausführbaren Programmcode umfassen, der im Anschluß an die erfolglose Erzeugung einer Verbindung zu dem Quell-Laufwerk die Verbindung zu dem Ziel-Laufwerk zerstört; in diesem Fall kann eine Fehlerangabe zurückgegeben werden.
  • Gemäß der vorliegenden Erfindung umfaßt die Umkehr eines Kommunikationspfads zwischen einem ersten Laufwerk auf einer ersten Speichervorrichtung und einem zweiten Laufwerk auf einer zweiten Speichervorrichtung das Aussetzen der Kommunikation zwischen dem ersten und zweiten Laufwerk, während die Vorgänge für andere Laufwerke der Speichervorrichtungen aufrechterhalten werden, Veranlassen, daß das erste Laufwerk von einem Quell-Laufwerk in ein Ziel-Laufwerk umgewandelt wird, ohne das erste Laufwerk zu zerstören, Veranlassen, daß das zweite Laufwerk von einem Ziel-Laufwerk in ein Quell-Laufwerk umgewandelt wird, ohne das zweite Laufwerk zu zerstören, und Wiederaufnahme der Kommunikation zwischen dem ersten und dem zweiten Laufwerk. Das Veranlassen der Umwandlung des ersten Laufwerks von einem Quell-Laufwerk in ein Ziel-Laufwerk kann die Abänderung einer Tabelle der ersten Speichervorrichtung umfassen. Das Veranlassen der Umwandlung des zweiten Laufwerks von einem Quell-Laufwerk in ein Ziel-Laufwerk kann die Abänderung einer Tabelle der zweiten Speichervorrichtung umfassen. Das Aussetzen der Kommunikation kann das Versetzen des ersten Laufwerks in einen Nicht-Bereit-Zustand umfassen. Die Wiederaufnahme der Kommunikation kann das Versetzen des zweiten Laufwerks in einen Bereit-Zustand umfassen. Die Umkehr des Kommunikationspfades zwischen einem ersten Laufwerk auf einer ersten Speichervorrichtung und einem zweiten Laufwerk auf einer zweiten Speichervorrichtung kann auch das Zurückgeben eines Ergebnisses umfassen, welches die erfolgreiche Umkehr des Kommunikationspfades angibt.
  • Gemäß der vorliegenden Erfindung umfaßt ferner die Verwaltung von Laufwerken auf Speichervorrichtungen den Empfang eines Befehls, welcher die Umkehr eines Kommunikationspfades zwischen einem ersten Laufwerk auf einer ersten Speichervorrichtung und einem zweiten Laufwerk auf einer zweiten Speichervorrichtung anfordert, das Aussetzen der Kommunikation zwischen dem ersten und zweiten Laufwerk, während die Vorgänge für andere Laufwerke der Speichervorrichtungen aufrechterhalten werden, Veranlassen, daß das erste Laufwerk von einem Quell-Laufwerk in ein Ziel-Laufwerk umgewandelt wird, ohne das erste Laufwerk zu zerstören, Veranlassen, daß das zweite Laufwerk von einem Ziel-Laufwerk in ein Quell-Laufwerk umgewandelt wird, ohne das zweite Laufwerk zu zerstören, und Wiederaufnahme der Kommunikation zwischen dem ersten und dem zweiten Laufwerk. Der Befehl kann ein einziger Multihop-, Multiexecute-Befehl (Mehrsprung-, Mehrfachausführungs-Befehl) sein, der die Ausführung von Vorgängen auf der ersten und zweiten Speichervorrichtung veranlaßt. Das Veranlassen der Umwandlung des ersten Laufwerks von einem Quell-Laufwerk in ein Ziel-Laufwerk kann die Abänderung einer Tabelle der ersten Speichervorrichtung umfassen. Das Veranlassen der Umwandlung des zweiten Laufwerks von einem Quell-Laufwerk in ein Ziel-Laufwerk kann die Abänderung einer Tabelle der zweiten Speichervorrichtung umfassen. Das Aussetzen der Kommunikation kann das Versetzen des ersten Laufwerks in einen Nicht-Bereit-Zustand umfassen. Die Wiederaufnahme der Kommunikation kann das Versetzen des zweiten Laufwerks in einen Bereit-Zustand umfassen. Die Verwaltung von Laufwerken auf Speichervorrichtungen kann das Zurückgeben eines Ergebnisses umfassen, welches die erfolgreiche Umkehr des Kommunikationspfades angibt.
  • Des weiteren umfaßt erfindungsgemäß ein Computerprogrammprodukt, welches einen Kommunikationspfad zwischen einem ersten Laufwerk auf einer ersten Speichervorrichtung und einem zweiten Laufwerk auf einer zweite Speichervorrichtung umkehrt, ausführbaren Programmcode, welcher die Kommunikation zwischen dem ersten und dem zweiten Laufwerk aussetzt, während er die Vorgänge für andere Laufwerke der Speichervorrichtung aufrechterhält, ausführbaren Programmcode, welcher die Umwandlung des ersten Laufwerks von einem Quell-Laufwerk in ein Ziel-Laufwerk veranlaßt, ohne das erste Laufwerk zu zerstören, ausführbaren Programmcode, welcher die Umwandlung des zweiten Laufwerks von einem Ziel-Laufwerk in ein Quell-Laufwerk veranlaßt, ohne das zweite Laufwerk zu zerstören, und ausführbaren Programmcode, welcher die Kommunikation zwischen dem ersten und dem zweiten Laufwerk wiederaufnimmt. Ausführbarer Programmcode, welcher die Umwandlung des ersten Laufwerks von einem Quell-Laufwerk in ein Ziel-Laufwerk veranlaßt, kann eine Tabelle der ersten Speichervorrichtung abändern. Ausführbarer Programmcode, welcher die Umwandlung des zweiten Laufwerks von einem Quell-Laufwerk in ein Ziel-Laufwerk veranlaßt, kann eine Tabelle der zweiten Speichervorrichtung abändern. Ausführbarer Programmcode, welcher die Kommunikation aussetzt, kann das erste Laufwerk in einen Nicht-Bereit-Zustand versetzen. Ausführbarer Programmcode, welcher die Kommunikation wiederaufnimmt, kann das zweite Laufwerk in einen Bereit-Zustand versetzen. Ein Computerprogrammprodukt, welches einen Kommunikationspfad zwischen einem ersten Laufwerk auf einer ersten Speichervorrichtung und einem zweiten Laufwerk auf einer zweiten Speichervorrichtung umkehrt, kann auch ausführbaren Programmcode umfassen, welcher ein Ergebnis zurückgibt, das die erfolgreiche Umkehr des Kommunikationspfades angibt.
  • Gemäß der vorliegenden Erfindung umfaßt die Bestimmung von Vorrichtungseigenschaften das Erlangen eines ersten global zugreifbaren Wertes, wenn der erste global zugreifbare Wert einem gespeicherten ersten Wert entspricht, das Erlangen von Vorrichtungseigenschafts-Daten von einem relativ schnellen Speicher, wenn der erste global zugreifbare Wert nicht dem gespeicherten ersten Wert entspricht, das Erlangen eines zweiten global zugreifbaren Wertes, wenn der zweite global zugreifbare Wert einem gespeicherten zweiten Wert entspricht, das Erlangen von Vorrichtungseigenschafts-Daten von einem relativ schnellen Speicher, wenn der zweite global zugreifbare Wert nicht dem gespeicherten zweiten Wert entspricht, das Erlangen von Vorrichtungseigenschafts-Daten von einem relativ langsamen Speicher und Aktualisieren des relativ schnellen Speichers, des gespeicherten ersten Wertes und des gespeicherten zweiten Wertes. Der global zugreifbare erste Wert kann Vorrichtungs-Eingabe/Ausgabe-Informationen umfassen. Die global zugreifbaren Werte können in einem globalen Speicher gespeichert sein, der für eine Mehrzahl von Prozessoren zugreifbar ist. Der relativ langsame Speicher kann ein globaler Speicher sein, der für eine Mehrzahl von Prozessoren zugreifbar ist. Der relativ schnelle Speicher kann lokal einem Prozessor zugeordnet sein, der auf den ersten und den zweiten gespeicherten Wert zugreift. Der zweite gespeicherte Wert kann angeben, ob eine Vorrichtung eine Quelle oder ein Ziel für Daten in einer Datenfernübertragungs-Verbindung ist.
  • Gemäß der vorliegenden Erfindung umfaßt ferner der Zugriff auf eine Vorrichtung das Erlangen von Statusinformationen, welche angeben, wie auf die Vorrichtung zugegriffen werden kann, die Überprüfung mindestens eines Teils der Statusinformationen, um zu ermitteln, ob sich die Konfiguration der Vorrichtung geändert hat, wenn sich die Konfiguration der vorrichtung nicht geändert hat, den Zugriff auf gespeicherte Konfigurationsdaten von dem relativ schnellen Speicher und, wenn sich die Konfiguration der Vorrichtung geändert hat, den Zugriff auf neue Konfigurationsinformationen von dem relativ langsamen Speicher und Aktualisieren der gespeicher ten Konfigurationsdaten mit den neuen Konfigurationsinformationen. Der relativ langsame Speicher kann ein globaler Speicher sein, der für eine Mehrzahl von Prozessoren zugreifbar ist. Der relativ schnelle Speicher kann lokal einem Prozessor zugeordnet sein, der auf den schnellen Speicher zugreift. Die gespeicherten Konfigurationsdaten können angeben, ob eine Vorrichtung eine Quelle oder ein Ziel für Daten in einer Datenfernübertragungs-Verbindung ist. Die Überprüfung mindestens eines Teils der Statusinformationen kann die Ermittlung umfassen, ob der Teil der Statusinformationen gleich einem ersten gespeicherten Wert ist. Der Zugriff auf eine Vorrichtung kann, wenn der Teil der Statusinformationen nicht gleich dem ersten gespeicherten Wert ist, auch das Erlangen zusätzlicher Statusinformationen umfassen und die Ermittlung, ob ein Teil der zusätzlichen Statusinformationen gleich einem zweiten gespeicherten Wert ist. Der Zugriff auf eine Vorrichtung kann im Anschluß an die Aktualisierung der gespeicherten Konfigurationsdaten auch die Aktualisierung des ersten und zweiten gespeicherten Wertes umfassen.
  • Gemäß der vorliegenden Erfindung umfaßt ferner ein Computerprogrammprodukt, welches Vorrichtungseigenschaften bestimmt, ausführbaren Programmcode, welcher einen ersten global zugreifbaren Wert erlangt, ausführbaren Programmcode, welcher Vorrichtungseigenschafts-Daten von einem relativ schnellen Speicher erlangt, wenn der erste global zugreifbare Wert einem gespeicherten ersten Wert entspricht, ausführbaren Programmcode, welcher einen zweiten global zugreifbaren Wert erlangt, wenn der erste global zugreifbare Wert nicht dem gespeicherten ersten Wert entspricht, ausführbaren Programmcode, welcher Vorrichtungseigenschafts-Daten von einem relativ schnellen Speicher erlangt, wenn der zweite global zugreifbare Wert einem gespeicherten zweiten Wert entspricht, und ausführbaren Programmcode, welcher Vorrichtungseigenschafts-Daten von einem relativ langsamen Speicher erlangt und den relativ schnellen Speicher, den gespeicherten ersten Wert und den gespeicherten zweiten Wert aktualisiert, wenn der zweite global zugreifbare Wert nicht dem gespeicherten zweiten Wert entspricht. Der global zugreifbare erste Wert kann Vorrichtungs-Eingabe/Ausgabe-Informationen umfassen. Der zweite gespeicherte Wert kann angeben, ob eine Vorrichtung eine Quelle oder ein Ziel für Daten in einer Datenfernübertragungs-Verbindung ist.
  • Gemäß der vorliegenden Erfindung umfaßt ferner ein Computerprogrammprodukt, welches auf eine Vorrichtung zugreift, ausführbaren Programmcode, welcher Statusinformationen erlangt, welche angeben, wie auf die Vorrichtung zugegriffen werden kann, ausführbaren Programmcode, welcher mindestens einen Teil der Statusinformationen überprüft, um zu ermitteln, ob sich die Konfiguration der Vorrichtung geändert hat, ausführbaren Programmcode, welcher auf gespeicherte Konfigurationsdaten von einem relativ schnellen Speicher zugreift, wenn sich die Konfiguration der Vorrichtung nicht geändert hat, und ausführbaren Programmcode, welcher auf neue Konfigurationsinformationen von einem relativ langsamen Speicher zugreift und die gespeicherten Konfigurationsdaten mit den neuen Konfigurationsinformationen aktualisiert, wenn sich die Konfiguration der Vorrichtung geändert hat. Die gespeicherten Konfigurationsdaten können angeben, ob eine Vorrichtung eine Quelle oder ein Ziel für Daten in einer Datenfernübertragungs-Verbindung ist. Ausführbarer Programmcode, welcher mindestens einen Teil der Statusinformationen überprüft, kann ausführbaren Programmcode umfassen, welcher ermittelt, ob der Teil der Statusinformationen gleich einem ersten gespeicherten Wert ist. Ein Computerprogrammprodukt, welches auf eine Vorrichtung zugreift, kann auch ausführbaren Programmcode umfassen, welcher zusätzliche Statusinformationen erlangt und ermittelt, ob ein Teil der zusätzlichen Statusinformationen gleich einem zweiten gespeicherten Wert ist, wenn der Teil der Statusinformationen nicht gleich dem ersten gespeicherten Wert ist. Ein Computerprogrammprodukt, welches auf eine vorrichtung zugreift, kann auch ausführbaren Programmcode umfassen, welcher den ersten und zweiten gespeicherten Wert im Anschluß an die Aktualisierung der gespeicherten Konfigurationsdaten aktualisiert.
  • Gemäß der vorliegenden Erfindung umfaßt ferner eine Einrichtung, welche Vorrichtungseigenschaften bestimmt, Mittel zum Erlangen eines ersten global zugreifbaren Wertes, Mittel zum Erlangen von Vorrichtungseigenschafts-Daten von einem relativ schnellen Speicher, wenn der erste global zugreifbare Wert einem gespeicherten ersten Wert entspricht, Mittel zum Erlangen eines zweiten global zugreifbaren Wertes, wenn der erste global zugreifbare Wert nicht dem gespeicherten ersten Wert entspricht, Mittel zum Erlangen von Vorrichtungseigenschafts-Daten von einem relativ schnellen Speicher, wenn der zweite global zugreifbare Wert einem gespei cherten zweiten Wert entspricht, Mittel zum Erlangen von Vorrichtungseigenschafts-Daten von einem relativ langsamen Speicher und Aktualisieren des relativ schnellen Speichers, des gespeicherten ersten Wertes und des gespeicherten zweiten Wertes, wenn der zweite global zugreifbare Wert nicht dem gespeicherten zweiten Wert entspricht. Der global zugreifbare erste Wert kann Vorrichtungs-Eingabe/Ausgabe-Informationen [device I/O information] umfassen. Die global zugreifbaren Werte können in einem globalen Speicher gespeichert werden, welcher für eine Mehrzahl von Prozessoren zugreifbar ist. Der relativ langsame Speicher kann ein globaler Speicher sein, welcher für eine Mehrzahl von Prozessoren zugreifbar ist. Der relativ schnelle Speicher kann lokal einem Prozessor zugeordnet sein, welcher auf den ersten und zweiten gespeicherten Wert zugreift. Der zweite gespeicherte Wert kann angeben, ob eine Vorrichtung eine Quelle oder ein Ziel für Daten in einer Datenfernübertragungs-Verbindung ist.
  • Gemäß der vorliegenden Erfindung umfaßt ferner eine Einrichtung, welche auf eine Vorrichtung zugreift, Mittel zum Erlangen von Statusinformationen, welche angeben, wie auf die Vorrichtung zugegriffen werden kann, Mittel zum Überprüfen mindestens eines Teil der Statusinformationen, um zu ermitteln, ob sich die Konfiguration der Vorrichtung geändert hat, Mittel zum Zugreifen auf gespeicherte Konfigurationsdaten von einem relativ schnellen Speicher, wenn sich die Konfiguration der Vorrichtung nicht geändert hat, und Mittel zum Zugreifen auf neue Konfigurationsinformationen von einem relativ langsamen Speicher und zum Aktualisieren der gespeicherten Konfigurationsdaten mit den neuen Konfigurationsinformationen, wenn sich die Konfiguration der Vorrichtung geändert hat. Der relativ langsame Speicher kann ein globaler Speicher sein, welcher für eine Mehrzahl von Prozessoren zugreifbar ist. Der relativ schnelle Speicher kann lokal einem Prozessor zugeordnet sein, welcher auf den schnellen Speicher zugreift. Die gespeicherten Konfigurationsdaten können angeben, ob eine Vorrichtung eine Quelle oder ein Ziel für Daten in einer Datenfernübertragungs-Verbindung ist. Mittel zum Überprüfen mindestens eines Teils der Statusinformationen können Mittel zum Ermitteln, ob der Teil der Statusinformationen gleich einem ersten gespeicherten Wert ist, umfassen. Die Einrichtung kann ferner Mittel zum Erlangen zusätzlicher Statusinformationen umfassen und zum Ermitteln, ob ein Teil der zusätzlichen Statusinformationen gleich einem zweiten gespeicherten Wert ist, wenn der Teil der Statusinformationen nicht gleich dem ersten gespeicherten Wert ist. Die Einrichtung kann ferner Mittel zum Aktualisieren des ersten und zweiten gespeicherten Wertes im Anschluß an die Aktualisierung der gespeicherten Konfigurationsdaten umfassen.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein schematisches Diagramm, welches einen Host, eine lokale Speichervorrichtung und eine Fern-Datenspeichervorrichtung zeigt, welche in Verbindung mit dem hier beschriebenen System verwendet werden.
  • 2 ist ein Flußdiagramm, welches die Funktionsweise des hier beschriebenen Systems darstellt.
  • 3 ist ein Flußdiagramm, welches die Ermittlung, welche Laufwerke für Schreib/Lese-Vorgänge gemäß dem hier beschriebenen System zu verwenden sind, darstellt.
  • 4 ist ein Diagramm, welches einen globalen Speicher für Speichervorrichtungen gemäß dem hier beschriebenen System darstellt.
  • 5 ist ein Flußdiagramm, welches eine Hierarchie zum Ermitteln, ob statische oder dynamische Konfigurationsdaten in Verbindung mit der Bewertung der Remote Data Facility (RDF)-Konfiguration einer Vorrichtung gemäß dem hier beschriebenen System zu verwenden sind, darstellt.
  • 6 ist ein schematisches Diagramm, welches im Detail eine Speichervorrichtung und Komponenten hiervon zeigt, welche in Verbindung mit dem hier beschriebenen System verwendet werden.
  • 7 ist ein Diagramm, welches einen Bereitschafts-Puffer und einen Satz Bytes darstellt, welche in Verbindung mit dem hier beschriebenen System verwendet werden.
  • 8 ist ein Flußdiagramm, welches Schritte darstellt, die in Verbindung mit dem Zugriff auf den Bereitschafts-Puffer und den Satz Bytes, wie sie in 7 aufgeführt sind, ausgeführt werden.
  • 9 ist ein Flußdiagramm, welches eine alternative Ausführungsform des hier beschriebenen Systems darstellt.
  • Detaillierte Beschreibung verschiedener Ausführungsformen
  • Bezugnehmend auf 1 zeigt ein Diagramm 20 ein Verhältnis zwischen einem Host 22, einer lokalen Speichervorrichtung 24 und einer Fernspeichervorrichtung 26. Der Host 22 liest und schreibt Daten von der bzw. auf die lokale Speichervorrichtung 24 über einen Host-Adapter 28, welcher die Schnittstelle zwischen dem Host 22 und der lokalen Speichervorrichtung 24 erleichtert. Daten von der lokalen Speichervorrichtung 24 werden auf die Fernspeichervorrichtung 26 über eine RDF-Verbindung 29 kopiert, um zu bewirken, daß die Daten auf der Fernspeichervorrichtung 26 identisch mit den Daten auf der lokalen Speichervorrichtung 24 sind. Es ist anzumerken, daß eine Zeitverzögerung bei der Übertragung von Daten von der lokalen Speichervorrichtung 24 auf die Fernspeichervorrichtung 26 auftreten kann, so daß die Fernspeichervorrichtung 26 zu bestimmten Zeitpunkten Daten enthalten kann, die nicht identisch mit den Daten auf der lokalen Speichervorrichtung 24 sind. Die Kommunikation zwischen Datenspeichervorrichtungen oder -systemen, wie SymmetrixTM-Datenspeichersystemen von EMC Corporation, kann beispielsweise durch Verwendung des RDF-Produktes erleichtert werden, wie es ebenfalls von EMC Corporation bereitgestellt wird.
  • Die lokale Speichervorrichtung 24 umfaßt eine RDF-Adaptereinheit (RA) 30, und die Fernspeichervorrichtung 26 umfaßt eine RA 32. Die RAs 30, 32 sind an die RDF-Verbindung 29 angeschlossen und sind ähnlich dem Host-Adapter 28, werden jedoch zur Datenübertragung zwischen den Speichervorrichtungen 24, 26 verwendet. Die in Verbindung mit den RAs 30, 32 verwendete Software wird unten detaillierter erörtert.
  • Die Speichervorrichtungen 24, 26 können eine oder mehrere Platten umfassen, wobei jede einen unterschiedlichen Teil der auf jeder der Speichervorrichtungen 24, 26 gespeicherten Daten enthält. 1 zeigt die Speichervorrichtung 24, welche eine Mehrzahl von Platten 33a, 33b, 33c umfaßt, und die Speichervorrichtung 26, welche eine Mehrzahl von Platten 34a, 34b, 34c umfaßt. Die hier beschriebene RDF-Funktionalität kann angewendet werden, so daß unter Verwendung der RDF die Daten für mindestens einen Teil der Platten 33a33c der lokalen Speichervorrichtung 24 auf mindestens einen Teil der Platten 34a34c der Fernspeichervorrichtung 26 kopiert werden. Es ist möglich, daß andere Daten der Speichervorrichtungen 24, 26 nicht zwischen den Speichervorrichtungen 24, 26 kopiert werden und somit nicht identisch sind.
  • Jede der Platten 33a33c ist an eine entsprechende Plattenadaptereinheit (DA) 35a, 35b, 35c angeschlossen, welche Daten an eine entsprechende der Platten 33a33c liefert und Daten von einer entsprechenden der Platten 33a33c empfängt. Ähnlich wird eine Mehrzahl von DAs 36a, 36b, 36c der Fernspeichervorrichtung 26 verwendet, um Daten an entsprechende der Platten 34a34c zu liefern und Daten von entsprechenden der Platten 34a34c zu empfangen. Ein Datenpfad existiert zwischen den DAs 35a35c, dem HA 28 und RA 30 der lokalen Speichervorrichtung 24. Ähnlich existiert ein Datenpfad zwischen den DAs 36a36c und dem RA 32 der Fernspeichervorrichtung 26.
  • Die lokale Speichervorrichtung 24 umfaßt auch einen globalen Speicher 37, welcher zur Erleichterung der Übertragung von Daten zwischen den DAs 35a35c, dem HA 28 und der RA 30 verwendet werden kann. Der Speicher 37 kann Parameter von Systemaufrufen, Aufgaben, die von einem oder mehreren der DAs 35a35c, dem HA 28 und der RA 30 auszuführen sind, und einen Cache-Speicher für von einer oder mehreren der Platten 33a33c entnommene Daten enthalten. Ähnlich umfaßt die Fernspeichervorrichtung 26 einen globalen Speicher 38, der Parameter von Systemaufrufen, Aufgaben, die von einem oder mehreren der DAs 36a36c und der RA 32 auszuführen sind, und einen Cache-Speicher für von einer oder mehreren der Platten 34a34c entnommene Daten enthalten kann. Die Verwendung der Speicher 37, 38 ist unten detaillierter beschrieben.
  • Der Speicherplatz in der lokalen Speichervorrichtung 24, welcher den Platten 33a33c entspricht, kann in eine Mehrzahl von Laufwerken oder logischen Geräten unterteilt sein. Die logischen Geräte (Vorrichtungen) können dem physischen Speicherplatz der Platten 33a33c entsprechen oder nicht. So kann beispielsweise die Platte 33a eine Mehrzahl von logischen Geräten enthalten, oder alternativ könnte ein einziges logisches Gerät beide Platten 33a, 33b umfassen. Ähnlich kann der Speicherplatz für die Fernspeichervorrichtung 26, welche die Platten 34a34c umfaßt, in eine Mehrzahl von Laufwerken oder logischen Geräten unterteilt sein, wobei jedes der logischen Geräte einer oder mehr der Platten 34a34c entsprechen kann oder nicht.
  • Das Bereitstellen einer RDF-Abbildung zwischen Teilen der lokalen Speichervorrichtung 24 und der Fernspeichervorrichtung 26 beinhaltet die Einrichtung eines logischen Geräts auf der Fernspeichervorrichtung 26, welches eine Fern-Spiegelung [remote mirror] für ein logisches Gerät auf der lokalen Speichervorrichtung 24 ist. Der Host 22 liest und schreibt Daten von der bzw. auf die lokale(n) Speichervorrichtung 24, und die RDF-Abbildung bewirkt, daß abgeänderte Daten von der lokalen Speichervorrichtung 24 auf die Fernspeichervorrichtung 26 unter Verwendung der RAs 30, 32 und der RDF-Verbindung 29 übertragen werden. Beim stationären Betrieb enthält das logische Gerät auf der Fernspeichervorrichtung 26 Daten, welche identisch sind mit den Daten des logischen Geräts auf der lokalen Speichervorrichtung 24. Das logische Gerät auf der lokalen Speichervorrichtung 24, auf welches von dem Host 22 zugegriffen wird, wird als "R1-Laufwerk" (oder einfach "R1") bezeichnet, während das logische Gerät auf der Fernspeichervorrichtung 26, welches eine Kopie der Daten auf dem R1-Laufwerk enthält, "R2-Laufwerk" (oder einfach "R2") genannt wird. So liest und schreibt der Host Daten von dem bzw. auf das R1-Laufwerk, und die RDF erledigt das automatische Kopieren und Aktualisieren der Daten von dem R1-Laufwerk zum R2-Laufwerk.
  • In manchen Situationen kann es nützlich sein, zuzulassen, daß der Host 22 RDF-Laufwerke während des Betriebs des Systems erzeugt und zerstört. Es ist anzumerken, daß RDF-Laufwerke paarweise erzeugt und zerstört werden können, so daß ein R1/R2-Paar zerstört werden kann oder ein R1/R2-Paar erzeugt werden kann. Die Erzeugung oder Zerstörung von R1/R2-Paaren kann von dem Host 22 initiiert werden. Der Host kann einen Multihop-/Multiexecute-Systembefehl an Datenspeichervorrichtungen senden. Der Multihop-/Multiexecute-Systembefehl ist ein einziger Systembefehl, der mehrfachen Speichervorrichtungen zugeführt wird und Vorgänge angibt, die von den mehrfachen Speichervorrichtungen auszuführen sind. Der Befehl ermöglicht es, daß ein Hostrechner einen Systemfernaufruf indirekt an eine oder mehrere 11 Datenspeichervorrichtungen durch Ebenen von anderen Datenspeichervorrichtungen ausgibt. Der Befehl kann angeben, daß eine oder mehrere beliebige der Datenspeichervorrichtungen den Befehl ausführen sollen. Beispielsweise kann der Host 22 einen Multihop-/Multiexecute-Systembefehl senden, welcher die Zerstörung eines bestimmten R1/R2-Paares anfordert, wobei das R1-Laufwerk sich auf der lokalen Speichervorrichtung 24 und das R2-Laufwerk auf der Fernspeichervorrichtung 26 befindet, indem jede der Speichervorrichtungen 24, 26 veranlaßt wird, lokal eine Tabelle abzuändern (unten detaillierter erörtert), welche intern von jeder der Speichervorrichtungen 24, 26 verwendet wird, um die Einrichtung und Verwaltung von RDF-Laufwerken zu regeln. Die Erzeugung eines R1/R2-Paares beinhaltet die Erzeugung eines R1-Laufwerks auf einer Speichervorrichtung und die Erzeugung eines R2-Laufwerks auf einer anderen Speichervorrichtung.
  • Es ist ferner anzumerken, daß es in einigen Fällen nützlich sein kann, eine RDF-Verbindung zu einem oder mehreren vorhandenen Laufwerken einzurichten. So kann beispielsweise ein vorhandenes Quell-Laufwerk unter Verwendung der RDF mit einem neu erzeugten Ziel-Laufwerk verbunden werden. Dementsprechend können in der vorliegenden Erörterung Hinweise auf die Erzeugung von Laufwerken dahingehend aufgefaßt werden, daß sie die Erzeugung von Verbindungen zu vorhandenen Laufwerken umfassen. Ähnlich können Hinweise auf die Zerstörung von Laufwerken dahingehend aufgefaßt werden, daß sie die einfache Zerstörung von RDF-Verbindungen zu diesen, wenn dies angemessen ist, umfassen. Es ist anzumerken, daß sowohl im Falle der Erzeugung oder Zerstörung neuer Laufwerke als auch im Falle der einfachen Erzeugung oder Zerstörung der Verbindungen zu vorhandenen Laufwerken dieselben Tabellen (unten erörtert), welche RDF-Verbindungsdaten enthalten, abgeändert werden.
  • Bezugnehmend auf 2 stellt ein Flußdiagramm 50 Schritte dar, die in Verbindung mit der Erzeugung oder Zerstörung von R1/R2-Paaren ausgeführt werden. Die Verarbeitung beginnt mit einem ersten Schritt 52, wo ermittelt wird, ob ein Zerstörungsbefehl ausgegeben wird. Bei einigen Ausführungsformen werden nur Erzeugungs- oder Zerstörungsbefehle ausgegeben. Wenn ein Befehl kein Zerstörungsbefehl ist, ist der Befehl somit ein Erzeugungsbefehl. Wenn in Schritt 52 ermittelt wird, daß ein Zerstörungsbefehl ausgegeben wurde, dann geht die Steuerung von Schritt 52 zu einem Schritt 54, in welchem im Hintergrund ablaufende Eingabe/Ausgabe-Vorgänge, wie z.B. im Hintergrund ablaufendes Kopieren, ausgesetzt werden. Vor der Zerstörung des R1/R2-Paares ist es nützlich, zunächst alle im Hintergrund ablaufenden Eingabe/Ausgabe-Vorgänge auszusetzen. Bei anderen Ausführungsformen ist der Schritt 54 nicht notwendig und wird nicht ausgeführt, da die Zerstörung der Laufwerke bewirkt, daß im Hintergrund ablaufende Eingabe/Ausgabe-Vorgänge (und andere Vorgänge, an denen das R1/R2-Paar beteiligt ist) automatisch aufhören.
  • Auf Schritt 54 folgt ein Schritt 56, in welchem eine Zuordnungstabelle auf der dem R1-Laufwerk entsprechenden Speichervorrichtung abgeändert wird. Die Zuordnungstabelle enthält dynamische Informationen über die RDF-Konfiguration einer Speichervorrichtung. Die Zuordnungstabelle kann eine zweidimensionale Matrix enthalten, welche durch logische Geräteidentifizierungen (zum Beispiel Nummern) und durch Spiegelungszahlen für jedes der logischen Geräte indexiert ist. Bei einigen Ausführungsformen kann jede Vorrichtung bis zu vier Spiegelungen aufweisen. Andere Ausführungsformen können mehr als vier Spiegelungen einsetzen. Einträge in der Zuordnungstabelle können angeben, ob eine Spiegelung für eine Vorrichtung eine lokale Spiegelung, ein R1-Laufwerk, ein R2-Laufwerk oder eine andere Art Spiegelung, wie z.B. ein BCV (Business Continuance Volume, d.h. Laufwerk ohne Beeinträchtigung des laufenden Betriebs) oder eine RAID (Redundant Array of Independent Disks, d.h. redundanter Verbund unabhängiger Platten)-Spiegelung, ist.
  • In Schritt 56 wird die Zuordnungstabelle auf der Speichervorrichtung, welche das R1-Laufwerk enthält, abgeändert, um das R1-Laufwerk zu entfernen. Auf Schritt 56 folgt ein Schritt 58, in welchem die Zuordnungstabelle auf der Speichervorrichtung, welche das R2-Laufwerk enthält, abgeändert wird, um das R2-Laufwerk zu entfernen.
  • Auf Schritt 58 folgt ein Schritt 60, in welchem das Ergebnis der zuvor ausgeführten Vorgänge (z.B. Erfolg oder Mißerfolg) zurückgesendet wird. Im Anschluß an Schritt 60 ist die Verarbeitung beendet.
  • Wenn in Schritt 52 ermittelt wird, daß kein Zerstörungsbefehl ausgegeben wird (und somit ein Erzeugungsbefehl ausgegeben wird), dann geht die Steuerung von Schritt 52 zu einem Schritt 62, in welchem das R1- oder das R2-Laufwerk an einem ersten Standort erzeugt wird. Bei einer Ausführungsform gibt der Host den Multihop-/Multiexecute-Befehl an eine erste Speichervorrichtung, wie z.B. die lokale Speichervorrichtung 24 aus; in diesem Fall wäre der erste Standort die lokale Speichervorrichtung 24 (d.h. der erste Standort, der den Befehl empfängt). Bei einer hier dargestellten Ausführungsform ist der erste Standort, an dem die Erzeugung eines R1/R2-Paares versucht wird, die lokale Speichervorrichtung 24, welche direkt an den Host 22 angeschlossen ist. Die Erzeugung an dem ersten Standort umfaßt die Abänderung der entsprechenden Zuordnungstabelle. Auf Schritt 62 folgt ein Testschritt 64, in welchem ermittelt wird, ob die Erzeugung des R1- oder R2-Laufwerks in Schritt 62 erfolgreich war. Wenn dies nicht der Fall ist, geht die Steuerung von Schritt 64 zu einem Schritt 66, in welchem eine Fehlerangabe an den Host 22 zurückgesendet wird. Im Anschluß an Schritt 66 ist die Verarbeitung beendet.
  • Wenn im Testschritt 64 ermittelt wird, daß die Erzeugung des R1- oder R2-Laufwerks in Schritt 62 erfolgreich war, dann geht die Steuerung von Schritt 64 zu einem Schritt 68, in welchem das R1- oder gegebenenfalls das R2-Laufwerk an einem zweiten Standort erzeugt wird. Die Erzeugung an dem zweiten Standort umfaßt die Abänderung der entsprechenden Zuordnungstabelle. Der zweite Standort kann die zweite Speichervorrichtung sein, welche den Befehl empfängt. Bei einer hier dargestellten Ausführungsform ist der zweite Standort die Fernspeichervorrichtung 26, welche einen Befehl von dem Host 22 über die lokale Speichervorrichtung 24 empfängt.
  • Auf Schritt 68 folgt ein Testschritt 70, in welchem ermittelt wird, ob die Erzeugung in Schritt 68 erfolgreich war. Wenn im Testschritt 70 ermittelt wird, daß die Erzeugung an dem zweiten Standort nicht erfolgreich war, dann geht die Steuerung von Schritt 70 zu einem Schritt 72, in welchem der erste Standort, der erzeugt wurde, zerstört wird. Es ist anzumerken, daß R1- und R2-Laufwerke paarweise erzeugt werden, so daß ein Scheitern bei der Erzeugung eines der Laufwerke an dem zweiten Standort bewirkt, daß das Laufwerk, welches an dem ersten Standort erfolgreich erzeugt wurde, in Schritt 72 zerstört wird. Auf Schritt 72 folgt ein Schritt 74, in welchem ein Fehler an den Host 22 zurückgesendet wird auf ähnliche Weise, wie ein Fehler in Schritt 66 zurückgesendet wird, wie oben erörtert. Im Anschluß an Schritt 74 ist die Verarbeitung beendet.
  • Wenn im Testschritt 70 ermittelt wird, daß die Erzeugung des R1- oder R2-Laufwerks an dem zweiten Standort in Schritt 68 erfolgreich war, geht die Steuerung von Schritt 70 zu einem Schritt 75, in welchem ungültige Spuren für jede der Speichervorrichtungen 24, 26 festgelegt werden. Die ungültigen Spuren werden verwendet, um Unterschiede zwischen dem R1- und dem R2-Laufwerk anzuzeigen. In Fällen, in denen das R1-Laufwerk die anfänglichen Daten enthält, werden sämtliche Spuren des R1-Laufwerks auf ungültig gesetzt, was angibt, daß alle R1-Daten von den R2-Daten abweichen und daher von R1 nach R2 kopiert werden müssen. Wenn das R2-Laufwerk die zu verwendenden anfänglichen Daten enthält, dann werden sämtliche Spuren des R2-Laufwerks auf ungültig gesetzt, und ein Sync-Befehl wird an die das R1-Laufwerk enthaltende Speichervorrichtung geliefert, um zu veranlassen, daß die Spuren der dem R1-Laufwerk entsprechenden lokalen Spiegelung ungültig werden, und so ein im Hintergrund ablaufendes Kopieren von Daten von R2 nach R1 zu initiieren. Auf Schritt 75 folgt ein Schritt 78, in welchem eine Nicht-Bereit-Angabe für das R1-Laufwerk gelöscht wird, was angibt, daß RDF-Vorgänge zwischen R1 und R2 beginnen können. Es ist anzumerken, daß die Nicht-Bereit-Angabe sich auf die R1/R2-Verbindung bezieht und nicht notwendigerweise auf die Fähigkeit von R1 und/oder R2, Daten von einem Host anzunehmen. Es ist anzumerken, daß Daten in von Spuren unterschiedlichen Einheiten organisiert werden können; in diesem Fall würden die hier offenbarten Vorgänge in diesen wie auch immer gearteten Einheiten ausgeführt, welche anstelle von Spuren verwendet werden.
  • Auf Schritt 78 folgt ein Schritt 79, in welchem eine Angabe, daß der Vorgang erfolgreich war, an den Host 22 zurückgesendet wird. Im Anschluß an Schritt 79 ist die Verarbeitung beendet. Es ist anzumerken, daß das Festsetzen von ungültigen Spuren und das Festsetzen und Löschen des Gerät-nicht-bereit-Status, oben erörtert, in einer anderen Reihenfolge als der in 2 gezeigten und oben erörterten ausgeführt werden kann, vorausgesetzt, die Einstellungen werden während des Erzeugungsvorgangs und danach in einem geeigneten Zustand erhalten.
  • Bei einigen Ausführungsformen kann es nützlich sein, die R1/R2-Laufwerke in einer bestimmten Reihenfolge zu erzeugen und zu zerstören. Beispielsweise kann es nützlich sein, zunächst das R2-Laufwerk zu erzeugen, gefolgt von dem R1-Laufwerk. Ähnlich kann es nützlich sein, zunächst das R1-Laufwerk zu zerstören, gefolgt von der Zerstörung des R2-Laufwerks. Alternativ können die Laufwerke in einer beliebigen Reihenfolge erzeugt und zerstört werden, während Vorgänge gesteuert werden können durch das Setzen einer Nicht-Bereit-Angabe für das R1-Laufwerk, wobei die Nicht-Bereit-Angabe für das R1-Volumen steuert, ob Vorgänge [operations] stattfinden. Somit können die R1- und R2-Laufwerke in einer beliebigen Reihenfolge erzeugt werden, jedoch wird die Nicht-Bereit-Angabe des R1-Laufwerks nicht auf bereit gesetzt, wenn nicht und bis sowohl R1 als auch R2 erzeugt sind. Ähnlich ermöglicht das Setzen der Nicht-Bereit-Angabe für R1 in einem ersten Schritt, daß folgende Schritte zur Zerstörung von R1 und R2 in einer beliebigen Reihenfolge stattfinden.
  • Bei einigen Ausführungsformen kann es nützlich sein, zu veranlassen, daß der Befehl, welcher das R1/R2-Paar erzeugt, die jeweiligen Laufwerke angibt, die sowohl für das R1-Laufwerk als auch für das R2-Laufwerk verwendet werden sollen. Das heißt, der Host 22 kann ein vorhandenes logisches Gerät von der lokalen Speichervorrichtung 24 als R1-Laufwerk auswählen und kann außerdem ein vorhandenes logisches Gerät von der Fernspeichervorrichtung 26 als R2-Laufwerk auswählen. Bei einer alternativen Ausführungsform kann es möglich sein, zu veranlassen, daß die Fernspeichervorrichtung 26 ein beliebiges ungenutztes logisches Gerät als R2-Laufwerk auswählt. Als weitere Alternative kann eine API (Application Programming Interface = Anwendungsprogrammierschnittstelle) auf eine der Speichervorrichtungen 24, 26 und/oder den Host 22 gelegt werden, um das R2-Laufwerk in Fällen zu wählen, in denen der Systembefehl eine spezifische Laufwerksidentifikation für das R2-Laufwerk erwartet.
  • Es ist außerdem anzumerken, daß Situationen auftreten können, in denen die anfänglichen Daten für ein neu erzeugtes R1/R2-Paar auf dem R2-Laufwerk gefunden werden. Wenn beispielsweise an die Fernspeichervorrichtung 26 ein Host (nicht gezeigt) angeschlossen ist, der versagt, kann es nützlich sein, das System neu zu starten, wobei der Host 22 an die lokale Speichervorrichtung 24 angeschlossen ist. Jedoch können sich in diesem Fall die anfänglichen Daten zum Starten auf dem R2-Laufwerk befinden (d.h. auf der Fernspeichervorrichtung 26). So werden beim Start die anfänglichen Daten von der R2-Vorrichtung auf die R1-Vorrichtung kopiert, wonach der Host 22 normalen RDF-Betrieb aufrechterhält, wobei die R1-Vorrichtung sich auf der lokalen Speichervorrichtung 24 befindet und die R2-Vorrichtung sich auf der Fernspeichervorrichtung 26 befindet. Das Kopieren von der R2-Vorrichtung auf die R1-Vorrichtung (oder von einer R1-Vorrichtung auf eine R2-Vorrichtung) kann durch Verwendung eines im Hintergrund ablaufenden Kopiervorgangs erfolgen.
  • Bezugnehmend auf 3 stellt ein Flußdiagramm 80 den Betrieb des Systems dar, nachdem ein R1/R2-Paar initialisiert wurde, aber vor der Beendigung des im Hintergrund ablaufenden Kopiervorgangs. Es ist anzumerken, daß der Host 22 von einem bzw. auf ein R1-Laufwerk lesen und schreiben kann, auch wenn der im Hintergrund ablaufende Kopiervorgang nicht beendet ist.
  • Die Verarbeitung beginnt mit einem anfänglichen Testschritt 82, in welchem ermittelt wird, ob das R2-Laufwerk die anfänglichen Daten enthält. Wenn dies nicht der Fall ist, dann geht die Steuerung von dem Testschritt 82 zu einem Schritt 84, in welchem das R1-Laufwerk für den von dem Host 22 angeforderten Lese/Schreib-Vorgang verwendet wird.
  • Wenn im Testschritt 82 ermittelt wird, daß angegeben ist, daß das R2-Laufwerk die anfänglichen Daten enthält, dann geht die Steuerung vom Testschritt 82 zu einem Testschritt 86, in welchem ermittelt wird, ob die Spur, auf die geschrieben oder von der gelesen wird, ungültig ist. Eine ungültige Spur zeigt an, daß die auf dem R2- Laufwerk befindlichen anfänglichen Daten noch nicht auf das R1-Laufwerk zurückkopiert wurden. Das Festlegen ungültiger Spuren wird oben in Verbindung mit 1 erörtert. So geht, wenn im Testschritt 86 ermittelt wird, daß die Spur, auf die der Host 22 schreibt oder von der er liest, ungültig ist, die Steuerung von Schritt 86 zu einem Schritt 68, in welchem das R2-Laufwerk für den Lese/Schreib-Vorgang unter Verwendung von RDF verwendet wird. Es ist anzumerken, daß in einigen Fällen weniger als eine ganze Spur von dem Host beschrieben wird. So ist es bei einer ungültigen Spur, bei der R2 die anfänglichen Daten enthält, nützlich, zu veranlassen, daß die Daten von dem Host 22 an das R2-Laufwerk geliefert werden. Im Anschluß an Schritt 88 ist die Verarbeitung beendet. Wenn alternativ im Testschritt 86 ermittelt wird, daß die Spur, von der gelesen oder auf die geschrieben wird, nicht ungültig ist, dann geht die Steuerung vom Testschritt 86 zu dem Schritt 84, in welchem das R1-Laufwerk in einer herkömmlichen Weise verwendet wird. Im Anschluß an Schritt 84 ist die Verarbeitung beendet.
  • Bezugnehmend auf 4 zeigt ein Diagramm einen globalen Speicher, welcher den Speicher 37 der lokalen Speichervorrichtung 24 oder den Speicher 38 der Fernspeichervorrichtung 26 darstellen könnte. Der globale Speicher umfaßt einen Speicherplatz für statische Konfigurationsdaten 92 und einen Speicherplatz für dynamische Konfigurationsdaten 94, wie z.B. die oben erörterte Zuordnungstabelle. Statische Konfigurationsdaten 92 umfassen Konfigurationsinformationen für die Speichervorrichtung, welche in der Fabrik oder von einem Techniker eingerichtet werden. Die statischen Konfigurationsdaten 92 können in einer Datei bereitgestellt werden, die in einen globalen Halbleiterspeicher gelesen wird, oder sie können in nicht-flüchtigen Teilen eines Halbleiterspeichers bereitgestellt werden.
  • Die dynamischen Konfigurationsdaten 94 stellen die Konfiguration des entsprechenden Systems dar, welche ausgehend von den statischen Konfigurationsdaten 92 abgeändert wurde. So können beispielsweise die statischen Konfigurationsdaten 92 angeben, daß bestimmte Laufwerke ein R1/R2-RDF-Paar bilden, wogegen die dynamischen Konfigurationsdaten 94 den statischen Konfigurationsdaten 92 vorrangig sind, indem sie angeben, daß das bestimmte R1/R2-RDF-Paar im folgenden zerstört wurde. Die dynamischen Konfigurationsdaten 94 können auch auf einer Platte gespeichert und in einen elektronischen Speicher eingelesen werden und/oder können in einem elektronischen Speicher gespeichert werden, welcher nicht-flüchtig ist. Bei einigen Ausführungsformen können die dynamischen Konfigurationsdaten 94 den statischen Konfigurationsdaten 92 vorrangig sein. Bei anderen Ausführungsformen sind die dynamischen Konfigurationsdaten 94 lediglich zusätzlich und können nur in Fällen verwendet werden, in denen für ein Element kein Eintrag in den statischen Konfigurationsdaten 92 vorhanden ist.
  • Bezugnehmend auf 5 stellt ein Flußdiagramm 100 die Bestimmung einer Konfiguration eines bestimmten logischen Geräts dar. Es ist anzumerken, daß jeder Lese- oder Schreibzugriff von einem bzw. auf ein logischen/s Gerät die Kenntnis der Konfiguration des Geräts verwendet, um zu ermitteln, ob beispielsweise das Gerät/die Vorrichtung Bestandteil eines R1/R2-Paars ist.
  • Die Verarbeitung beginnt mit einem ersten Schritt 102, in welchem ermittelt wird, ob ein Eintrag für das logische Gerät in den dynamischen Konfigurationsdaten 94 vorhanden ist. Wenn dies nicht der Fall ist, dann geht die Steuerung von Schritt 102 zu einem Schritt 104, in welchem die statischen Konfigurationsdaten 92 konsultiert werden, um die Konfiguration des Geräts zu bestimmen. Es ist anzumerken, daß es für jedes logische Gerät möglich ist, eine lokale, und somit leicht zugreifbare, Kopie der statischen Konfigurationsdaten 92 zu haben, da sich die statischen Konfigurationsdaten 92 definitionsgemäß nicht ändern. Im Anschluß an Schritt 104 ist die Verarbeitung beendet.
  • Wenn im Testschritt 102 ermittelt wird, daß ein Eintrag für das logische Gerät in den dynamischen Konfigurationsdaten 94 vorhanden ist, dann geht die Steuerung vom Testschritt 102 zu einem Schritt 106, in welchem die dynamischen Konfigurationsdaten 94 verwendet werden, um die Konfiguration des logischen Geräts zu bestimmen. Es ist anzumerken, daß es als Alternative möglich ist, zunächst die statischen Konfigurationsdaten 92 zu prüfen und dann zu prüfen, ob ein vorrangiger Eintrag in den dynamischen Konfigurationsdaten 94 vorhanden ist.
  • Bezugnehmend auf 6 zeigt ein Diagramm eine Speichervorrichtung 110 mit mehr Details. Die Speichervorrichtung 110 umfaßt eine Mehrzahl von Host-Adaptern (HA) 112114 und eine Mehrzahl von Plattenadaptern (DA) 116118. Jeder der Plattenadapter 116118 ist an eine entsprechende einer Mehrzahl von Platten 120122 angeschlossen. Die Speichervorrichtung 110 umfaßt auch einen globalen Speicher 124, einen RDF-Adapter (RA) 126 und eine Außenverbindung 128 zu dem RA 126. Ein Bus 130 verbindet die HAs 112114, die DAs 116118, den globalen Speicher 124 und den RA 126. Jeder der HAs 112114 umfaßt eine Verbindung zum Anschluß an einen Host (nicht gezeigt).
  • Für jeden Lese- und Schreib-Vorgang, der von einem der an einen der HAs 112–114 angeschlossenen Hosts ausgeführt wird, bestimmt der entsprechende der HAs 112114, wo die Daten anzuordnen sind. Wenn beispielsweise die Speichervorrichtung 110 ein lokales Laufwerk eines R1/R2-Paares umfaßt, muß der bestimmte der HAs 112114, der die Daten von dem Host empfängt, in der Lage sein, die Daten zu dem richtigen der Plattenadapter 116118 zu leiten, um die Daten an das R1-Laufwerk zu liefern, und muß auch in der Lage sein, entsprechend die Daten an den RA 126 zu leiten, der die Daten an das R2-Laufwerk auf einer anderen Speichervorrichtung (nicht gezeigt) liefert. Zusätzlich greifen in Verbindung mit einem im Hintergrund ablaufenden Kopiervorgang die DAs 116118 auf Informationen zu, welche die Quelle und das Ziel der Daten angeben. So würden beispielsweise, wenn ein R1/R2-Paar zwischen der Speichervorrichtung 110 und einer anderen Fernspeichervorrichtung (nicht gezeigt) eingerichtet wird, dann die DAs 116118 das im Hintergrund ablaufende Kopieren von Daten von dem die anfänglichen Daten enthaltenden Laufwerk (R1 oder R2) zu dem anderen Laufwerk unterstützen. In einem derartigen Fall greifen die DAs 116118 auf Informationen zu, welche angeben, wohin die Daten geleitet werden sollten (d.h. welches Laufwerk das entsprechende der Laufwerke des R1/R2-Paares ist). Ähnlich ist es nützlich, daß der RA 126 auf die Konfigurationsinformationen für die Laufwerke zugreift, um in der Lage zu sein, beispielsweise eingehende Daten zu verarbeiten.
  • Entsprechend ist es nützlich, daß die HAs 112114, die DAs 116118 und der RA 126 in der Lage sind, Zugriff auf genaue Informationen zu haben, welche die Einrich tungskonfiguration der Laufwerke auf der Speichervorrichtung 110 angeben. Ein Weg zum Erlangen der Informationen ist das Lesen der dynamischen Konfigurationsdaten 94 von dem globalen Speicher 124 für jeden Lese- oder Schreib-Vorgang und dann, wenn die Vorrichtung, für welche die Anfrage getätigt wird, nicht in den dynamischen Konfigurationsdaten 94 gefunden wird, auf die statischen Konfigurationsdaten 92 zuzugreifen. Jedoch könnte der Zugriff auf den globalen Speicher für jeden Eingabe/Ausgabe-Vorgang sich nachteilig auf die Leistung der Speichervorrichtung 110 auswirken. Dementsprechend wird ein effizienterer Mechanismus zur Bestimmung der Konfiguration der Geräte der Speichervorrichtung 110 bereitgestellt.
  • Bezugnehmend auf 7 stellt ein Diagramm 150 einen Mechanismus zur Verringerung der Anzahl der zur Bestimmung von Konfigurationsdaten verwendeten Zugriffe auf den globalen Speicher dar. Ein Bereitschafts-Puffer 152 stellt Daten dar, auf welche jedes Mal zugegriffen wird, wenn ein Eingabe/Ausgabe-Vorgang ausgeführt wird. Der Bereitschafts-Puffer 152 gibt nützliche Eingabe/Ausgabebezogene Informationen an, wie z.B. den Zustand der Vorrichtungen/Geräte und/oder den Zustand des Systems. Somit wird auf den Bereitschafts-Puffer 152 für jeden Eingabe/Ausgabe-Vorgang zugegriffen.
  • Der Bereitschafts-Puffer 152 umfaßt ein Änderungsnummern-Feld 154, welches bei einigen Ausführungsformen ein Datenbyte ist, welches jedes Mal, wenn eine Vorrichtungskonfiguration sich geändert hat, inkrementiert wird. So kann eine einen Eingabe/Ausgabe-Vorgang ausführende Vorrichtung das Änderungsnummern-Feld 154 prüfen, um zu ermitteln, ob eine weitere Anfrage notwendig ist.
  • Auf einen Satz Bytes 156 kann zugegriffen werden als Reaktion auf eine Änderung des Änderungsnummern-Feldes 154. Ein bestimmtes Byte 158 aus dem Satz Bytes 156 könnte verwendet werden, um eine Veränderung bei der dynamischen RDF-Konfiguration für die Speichervorrichtung anzuzeigen. So kann die Kombination des Bereitschafts-Puffers 152 und des Satzes Bytes 156 verwendet werden, um die Zugriffe auf den globalen Speicher 124 jedes Mal, wenn ein Eingabe/Ausgabe-Vorgang ausgeführt wird, zu minimieren.
  • Bezugnehmend auf 8 stellt ein Flußdiagramm 170 Schritte dar, welche in Verbindung mit der Verwendung des Bereitschafts-Puffers 152 und des Satzes Bytes 156 ausgeführt werden. Die Verarbeitung beginnt mit einem ersten Schritt 172, in welchem eine einen Eingabe/Ausgabe-Vorgang ausführende Vorrichtung ermittelt, ob das Bereitschafts-Pufferfeld 154 verändert (z.B. inkrementiert) wurde. Wenn in Schritt 172 ermittelt wird, daß das Bereitschafts-Pufferfeld nicht verändert wurde, dann geht die Steuerung von Schritt 172 zu einem Schritt 174, in welchem die Vorrichtung, wie z.B. einer der HAs 112114, einer der DAs 116118 und/oder der RA 126, lokal gespeicherte Daten verwendet, um Konfigurationsinformationen zu bestimmen. Das heißt, wenn das Änderungsnummern-Feld 154 gleich einer zuvor beobachteten Version des Änderungsnummern-Feldes 154 ist, so gibt dies an, daß die RDF-Konfiguration keine Änderungen erfahren hat. Somit geht die Steuerung von Schritt 172 zu dem Schritt 174, in welchem eine lokal gespeicherte Kopie der Konfigurationsdaten von der den Eingabe/Ausgabe-Vorgang ausführenden Vorrichtung verwendet werden kann, um zu ermitteln, wie bestimmte Daten zu bearbeiten sind. Im Anschluß an Schritt 174 ist die Verarbeitung beendet.
  • Wenn im Testschritt 172 ermittelt wird, daß sich das Änderungsnummern-Feld 154 verändert hat, dann geht die Steuerung von Schritt 172 zu einem Schritt 176, in welchem der Satz Bytes 156 entnommen wird. Der Satz Bytes 156 kann beispielsweise in dem globalen Speicher 124 oder in einem anderen Speicher, wie z.B. einem nicht-flüchtigen elektronischen Speicher oder auf einer Platte, gespeichert sein.
  • Auf Schritt 176 folgt ein Testschritt 178, in welchem ermittelt wird, ob das Byte 158 in dem Satz Bytes 156, welches einer RDF-Konfigurationsveränderung entspricht, geändert (z.B. inkrementiert) wurde. Wenn nicht, dann geht die Steuerung von Schritt 178 zu Schritt 174, oben erörtert, in welchem die gespeicherte lokale Kopie der Konfigurationsdaten verwendet wird, um die RDF-Konfiguration zu bestimmen. Im Anschluß an Schritt 174 ist die Verarbeitung beendet.
  • Wenn im Testschritt 178 ermittelt wird, daß sich die RDF-Konfiguration geändert hat, dann geht die Steuerung von Schritt 178 zu einem Schritt 180, in welchem auf die dynamischen Konfigurationsdaten 94 in dem globalen Speicher 124 zugegriffen wird. Auf Schritt 180 folgt ein Schritt 182, in welchem die gespeicherte lokale Kopie der Konfigurationsdaten mit der neuen Version der Daten von dem globalen Speicher 124 aktualisiert wird. Auf Schritt 182 folgt der Schritt 174, in welchem die lokal gespeicherte Version der Konfigurationsdaten (welche gerade aktualisiert wurde) von der Vorrichtung verwendet wird, um die RDF-Konfiguration zu bestimmen. Im Anschluß an Schritt 174 ist die Verarbeitung beendet.
  • Bei einigen Ausführungsformen ist es möglich, auch einen im Hintergrund ablaufenden Mechanismus aufzunehmen, der periodisch auf die dynamischen Konfigurationsdaten von der Zuordnungstabelle zugreift und die lokale Kopie der Konfigurationsdaten in der Speicherung für jede Vorrichtung aktualisiert. So kann jede Vorrichtung durch diese im Hintergrund ablaufende Aufgabe aktualisiert werden, ohne daß zuerst ein Eingabe/Ausgabe-Vorgang ausgeführt werden muß.
  • Es ist anzumerken, daß der hier erörterte Mechanismus zur Verwendung von Änderungsnummern zur Steuerung der Zugriffe auf den globalen Speicher bei der Bestimmung der RDF-Konfiguration des Systems ebenfalls auf andere Systemparameter, wie z. B. die BCV-Konfiguration, angewendet werden kann. Ein BCV (Business Continuance Volume) kann eine konsistente, synchronisierte Kopie von Daten von einer anderen Vorrichtung enthalten, welche zur Verwendung beispielsweise mit Host-Anwendungen konfiguriert ist. Die BCV-Kopie der Daten kann unabhängig durch eine andere Anwendung verwendet werden, um auf die Datenkopie einzuwirken, während zugelassen wird, daß der Host kontinuierliche Datenvorgänge auf die andere Vorrichtung ausführt.
  • Bezugnehmend auf 9 stellt ein Flußdiagramm 50' eine alternative Ausführungsform zu der in Verbindung mit dem Flußdiagramm 50 in 2 beschriebenen Ausführungsform dar. Das Flußdiagramm 50 in 2 zeigt ein System, in welchem zwei Befehle, Erzeugen und Zerstören, vorhanden sind. Das durch das Flußdiagramm 50' in 9 dargestellte System sieht zusätzlich zu den oben erörterten Erzeugungs- und Zerstörungsbefehlen einen dritten Befehl vor, der R1 und R2 austauscht. Der Austausch von R1 und R2 kann durch Verwendung eines einzigen Befehls ausgeführt werden, welcher veranlaßt, daß das R1-Laufwerk zum R2-Laufwerk wird, und veranlaßt, daß das R2-Laufwerk zum R1-Laufwerk wird. Dies kann nützlich sein in Fällen, in denen beispielsweise ein an eine lokale Speichervorrichtung angeschlossener Host durch einen unterschiedlichen Host ersetzt wird, der an eine entsprechende Fernspeichervorrichtung angeschlossen ist. Der Befehl kann von dem Host geliefert werden. Der Host kann einen Multihop-/Multiexecute-Systembefehl senden, wie auch an anderer Stelle hier beschrieben. Die Verarbeitung beginnt mit einem ersten Schritt 52', in welchem ermittelt wird, ob ein Zerstörungsbefehl ausgegeben wurde. Wenn dies der Fall ist, dann geht die Steuerung von Schritt 52' zum Schritt 54, welcher oben in Verbindung mit dem Flußdiagramm 50 in 2 erörtert wird. Wenn andererseits in Schritt 52' ermittelt wird, daß kein Zerstörungsbefehl ausgegeben wurde, dann geht die Steuerung von Schritt 52' zu einem Schritt 53, in welchem ermittelt wird, ob ein Erzeugungsbefehl ausgegeben wurde. Wenn ein Erzeugungsbefehl ausgegeben wurde, geht die Steuerung von Schritt 53 zum Schritt 62, welcher oben in Verbindung mit dem Flußdiagramm 50 in 2 erörtert ist.
  • Wenn im Testschritt 53 ermittelt wird, daß kein Erzeugungsbefehl ausgegeben wurde, dann wurde ein R1/R2-Austauschbefehl ausgegeben. Das heißt, bei einem System mit drei Befehlen sieht ein Eliminierungsprozeß vor, daß wenn in Schritt 52' ermittelt wird, daß kein Zerstörungsbefehl ausgegeben wurde, und wenn in Schritt 53 ermittelt wird, daß kein Erzeugungsbefehl ausgegeben wurde, dann ein R1/R2-Austauschbefehl ausgegeben wurde. Alternativ kann ein bestimmter Teil eines Programmcodes auf der Basis des empfangenen Befehls ausgeführt werden, welcher ein R1/R2-Austauschbefehl sein könnte. Für den R1/R2-Austauschbefehl geht die Steuerung von Schritt 53 zu einem Schritt 192, in welchem der Vorrichtung-nicht-bereit-Merker [device not ready flag] für R1 gesetzt wird. Das Setzen des Vorrichtung-nicht-bereit-Merkers für R1 in Schritt 192 bewirkt, daß RDF-Vorgänge für das R1/R2-Paar aufhören. Auf den Schritt 192 folgt ein Schritt 194, in welchem ein Eintrag für die Zuordnungstabelle, welche der das R1-Laufwerk enthaltenden Speichervorrichtung entspricht, und ein Eintrag für die Zuordnungstabelle, welche der das R2-Laufwerk enthaltenden Speichervorrichtung entspricht, beide abgeändert werden, so daß das R1-Laufwerk zum R2-Laufwerk wird und umgekehrt. Auf Schritt 194 folgt ein Schritt 196, in welchem das Vorrichtung-nicht-bereit-Bit für die neue R1-Vorrichtung gelöscht wird. Das Löschen des Vorrichtung-nicht-bereit-Bits für das R1-Laufwerk in Schritt 196 ermöglicht es, daß RDF-Vorgänge wiederaufgenommen werden. Wenn jedoch die RDF-Vorgänge wiederaufgenommen werden, ist das vorherige R2-Laufwerk nun das R1-Laufwerk, und das vorherige R1-Laufwerk ist nun das R2-Laufwerk. Auf Schritt 196 folgt ein Schritt 198, in welchem das Ergebnis der Vorgänge, welche dem Befehl zum Austausch von R1 und R2 entsprechen, (d.h. Erfolg oder Mißerfolg) an den Host zurückgesendet werden. Im Anschluß an Schritt 198 ist die Verarbeitung beendet.
  • Es ist anzumerken, daß bei dem hier offenbarten System der Host 22 eine allein operierende [standalone] Rechenvorrichtung, Teil eines Netzwerks, eine andere Speichervorrichtung, ein Computer mit einigen Speicherfähigkeiten und/oder eine beliebige Vorrichtung sein kann, welche in der Lage ist, die hier offenbarte Funktionalität bereitzustellen. Ähnlich kann das hier offenbarte System mit einer beliebigen, als lokale Speichervorrichtung 24 verwendeten Vorrichtung umgesetzt werden, einschließlich möglicherweise einer weiteren Rechenvorrichtung, einer Netzwerksverbindung, etc., welche konfiguriert ist, um die lokale Speichervorrichtung 24 zu emulieren und/oder auf andere Weise die hier offenbarte Funktionalität bereitzustellen.
  • Auch wenn die Erfindung in Verbindung mit mehreren Ausführungsformen offenbart wurde, werden Abänderungen derselben für Fachleute leicht ersichtlich sein.

Claims (11)

  1. Verfahren zur Bestimmung der Vorrichtungseigenschaften für eine Datenspeichervorrichtung mit – mindestens einem Adapter, der einen schnellen lokalen Speicher und einen lokalen Prozessor, der auf den schnellen Speicher zugreift, benutzt, – einem langsamen globalen Speicher (124) – und einer Mehrzahl von Prozessoren, wobei der genannte langsame globale Speicher für die genannte Mehrzahl von Prozessoren zugreifbar ist, wobei der genannte Adapter jedes Mal, wenn ein Eingabe/Ausgabe-Vorgang ausgeführt wird, die folgenden Schritte ausführt: Erlangen eines ersten global zugreifbaren Wertes von einem Änderungsnummern-Feld (154), gespeichert in dem langsamen globalen Speicher; wenn der erste global zugreifbare Wert (154) einem lokal gespeicherten ersten Wert entspricht, Erlangen von Vorrichtungseigenschafts-Daten von dem schnellen lokalen Speicher; dadurch gekennzeichnet, daß der genannte Adapter jedes Mal, wenn ein Eingabe/Ausgabe-Vorgang ausgeführt wird, die folgenden zusätzlichen Schritte ausführt: wenn der erste global zugreifbare Wert (154) nicht dem lokal gespeicherten ersten Wert entspricht, Erlangen eines zweiten global zugreifbaren Wertes (158), der in dem langsamen globalen Speicher gespeichert ist; wenn der zweite global zugreifbare Wert (158) einem lokal gespeicherten zweiten Wert entspricht, Erlangen von Vorrichtungseigenschafts-Daten von dem schnellen lokalen Speicher; wenn der zweite global zugreifbare Wert (158) nicht dem lokal gespeicherten zweiten Wert entspricht, Erlangen der Vorrichtungseigenschafts-Daten von dem langsamen globalen Speicher (124) und Aktualisieren – des schnellen lokalen Speichers mit den genannten erlangten Vorrichtungseigenschafts-Daten, – des lokal gespeicherten ersten Wertes und – des lokal gespeicherten zweiten Wertes.
  2. Verfahren nach Anspruch 1, wobei der erste global zugreifbare Wert (154) Vorrichtungs-Eingabe/Ausgabe-Informationen enthält.
  3. Verfahren nach einem der vorangehenden Ansprüche, wobei der zweite gespeicherte Wert angibt, ob eine Vorrichtung eine Quellen- oder Ziel-Vorrichtung für Daten in einer Datenfernübertragungs-Verbindung ist.
  4. Verfahren nach einem der vorangehenden Ansprüche, ferner umfassend: periodischen Zugriff auf dynamische Konfigurationsdaten und Aktualisierung der Kopie in dem lokalen Speicher, ohne vorher eine Eingabe/Ausgabe auszuführen.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei die ersten und zweiten global zugreifbaren Werte (154, 158) beim Bestimmen, ob sich eine Konfiguration einer Vorrichtung geändert hat, benutzt werden, welches Verfahren ferner die folgenden Schritte umfaßt: wenn sich die Konfiguration der Vorrichtung nicht geändert hat, Zugreifen auf gespeicherte Konfigurationsdaten aus schnellem lokalen Speicher und wenn sich die Konfiguration der Vorrichtung geändert hat, Zugreifen auf neue Konfigurationsinformationen von langsamem globalen Speicher (124) und Aktualisieren der lokal gespeicherten Konfigurationsdaten mit der neuen Konfigurationsinformation.
  6. Computerprogrammprodukt zur Bestimmung von Vorrichtungseigenschaften, mit ausführbarem Programmcode zum Ausführen eines Verfahrens gemäß einem der vorangehenden Ansprüche.
  7. Einrichtung zum Bestimmen der Vorrichtungseigenschaften für eine Datenspeichervorrichtung mit: – mindestens einem Adapter, der einen schnellen lokalen Speicher und einen lokalen Prozessor, der auf den schnellen Speicher zugreift, benutzt, – einem langsamen globalen Speicher (124) – und einer Mehrzahl von Prozessoren, wobei der genannte langsame globale Speicher für die genannte Mehrzahl von Prozessoren zugreifbar ist, wobei der genannte Adapter folgendes umfaßt: Mittel zum Erlangen eines ersten global zugreifbaren Wertes von einem Änderungsnummern-Feld (154), gespeichert in dem langsamen globalen Speicher, jedes Mal, wenn ein Eingabe/Ausgabe-Vorgang ausgeführt wird; Mittel zum Erlangen von Vorrichtungseigenschafts-Daten von dem schnellen lokalen Speicher, wenn der erste global zugreifbare Wert (154) einem lokal gespeicherten ersten Wert entspricht; dadurch gekennzeichnet, daß der genannte Adapter ferner folgendes umfaßt: Mittel zum Erlangen eines zweiten global zugreifbaren Wertes (158), gespeichert in dem langsamen globalen Speicher, wenn der erste global zugreifbare Wert (154) nicht dem lokal gespeicherten ersten Wert entspricht; Mittel zum Erlangen von Vorrichtungseigenschafts-Daten von dem schnellen lokalen Speicher, wenn der zweite global zugreifbare Wert (158) einem lokal gespeicherten zweiten Wert entspricht; Mittel zum Erlangen der Vorrichtungseigenschafts-Daten von dem langsamen globalen Speicher (124) und Aktualisieren – des relativ schnellen lokalen Speichers mit den genannten erlangten Vorrichtungseigenschafts-Daten, – des lokal gespeicherten ersten Wertes und – des lokal gespeicherten zweiten Wertes, wenn der zweite global zugreifbare Wert (158) nicht dem lokal gespeicherten zweiten Wert entspricht.
  8. Einrichtung nach Anspruch 7, wobei der erste global zugreifbare Wert (154) Vorrichtungs-Eingabe/Ausgabe-Informationen enthält.
  9. Einrichtung nach Anspruch 7 oder 8, wobei der zweite gespeicherte Wert angibt, ob eine Vorrichtung eine Quellen- oder Ziel-Vorrichtung für Daten in einer Datenfernübertragungs-Verbindung ist.
  10. Einrichtung nach einem der Ansprüche 7 bis 9, ferner umfassend: Mittel für den periodischen Zugriff auf dynamische Konfigurationsdaten und die Aktualisierung der Kopie in dem lokalen Speicher, ohne vorher eine Eingabe/Ausgabe auszuführen.
  11. Einrichtung nach einem der Ansprüche 7 bis 10, wobei die ersten und zweiten global zugreifbaren Werte (154, 158) beim Bestimmen, ob sich eine Konfiguration einer Vorrichtung geändert hat, benutzt werden, welche Einrichtung ferner die folgenden Schritte umfaßt: Mittel zum Zugreifen auf die gespeicherten Konfigurationsdaten aus relativ schnellem lokalen Speicher, wenn sich die Konfiguration der Vorrichtung nicht geändert hat, und Mittel zum Zugreifen auf neue Konfigurationsinformationen von langsamem globalen Speicher (124) und Aktualisieren der lokal gespeicherten Konfigurationsdaten mit der neuen Konfigurationsinformation, wenn sich die Konfiguration der Vorrichtung geändert hat.
DE60203773T 2001-11-14 2002-11-07 Hierarchischer Ansatz zur Erkennung von veränderten Geräteeigenschaften Expired - Lifetime DE60203773T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US33299101P 2001-11-14 2001-11-14
US332991P 2001-11-14
US09/998,494 US6701392B1 (en) 2001-11-14 2001-11-30 Hierarchical approach to indentifying changing device characteristics
US998494 2001-11-30

Publications (2)

Publication Number Publication Date
DE60203773D1 DE60203773D1 (de) 2005-05-25
DE60203773T2 true DE60203773T2 (de) 2006-03-09

Family

ID=26988493

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60203773T Expired - Lifetime DE60203773T2 (de) 2001-11-14 2002-11-07 Hierarchischer Ansatz zur Erkennung von veränderten Geräteeigenschaften

Country Status (4)

Country Link
US (2) US6701392B1 (de)
EP (1) EP1313018B1 (de)
JP (4) JP2003223349A (de)
DE (1) DE60203773T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976139B2 (en) * 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
US6862632B1 (en) * 2001-11-14 2005-03-01 Emc Corporation Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US20050015407A1 (en) * 2003-07-17 2005-01-20 International Business Machines Corporation System and method of relational configuration mirroring
JP2005157712A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd リモートコピーネットワーク
JP4421385B2 (ja) 2004-06-09 2010-02-24 株式会社日立製作所 計算機システム
US20060168112A1 (en) * 2004-12-30 2006-07-27 Jie Weng Generic integration within an auto-id system
US7633876B2 (en) * 2005-08-22 2009-12-15 At&T Intellectual Property I, L.P. System and method for monitoring a switched metro ethernet network
WO2008090620A1 (ja) * 2007-01-25 2008-07-31 Fujitsu Limited 記憶装置、記録復旧方法、記録復旧プログラム
WO2009013830A1 (ja) * 2007-07-26 2009-01-29 Fujitsu Limited 記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US8250326B2 (en) * 2008-08-29 2012-08-21 International Business Machines Corporation Data swapping in a storage system
CN110045924B (zh) * 2019-03-01 2022-02-11 平安科技(深圳)有限公司 分级存储方法、装置、电子设备及计算机可读存储介质
US11327744B2 (en) * 2019-05-29 2022-05-10 Red Hat, Inc. Equivalency of revisions on modern version control systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
US5799323A (en) * 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6052797A (en) 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US5933653A (en) 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US6092066A (en) 1996-05-31 2000-07-18 Emc Corporation Method and apparatus for independent operation of a remote data facility
US5926830A (en) * 1996-10-07 1999-07-20 International Business Machines Corporation Data processing system and method for maintaining coherency between high and low level caches using inclusive states
US5895493A (en) * 1997-06-30 1999-04-20 Lsi Logic Corporation Method and apparatus for storage of multiple host storage management information on a storage subsystem
US6341333B1 (en) * 1997-10-06 2002-01-22 Emc Corporation Method for transparent exchange of logical volumes in a disk array storage device
US6157991A (en) 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6209002B1 (en) 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units

Also Published As

Publication number Publication date
US20040133706A1 (en) 2004-07-08
US6810447B2 (en) 2004-10-26
DE60203773D1 (de) 2005-05-25
US6701392B1 (en) 2004-03-02
JP4322260B2 (ja) 2009-08-26
JP2003223349A (ja) 2003-08-08
JP2007334920A (ja) 2007-12-27
EP1313018B1 (de) 2005-04-20
EP1313018A1 (de) 2003-05-21
JP2006155662A (ja) 2006-06-15
JP2007172643A (ja) 2007-07-05

Similar Documents

Publication Publication Date Title
DE60212922T2 (de) Umkehr eines Kommunikationspfades zwischen Speichergeräten
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE102004064069B4 (de) Plattenarrayvorrichtung
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE60216602T2 (de) Verfahren und vorrichtung zum zugang zu magnetbandeinrichtungen in einem rechnersystem
DE602004008028T2 (de) Verfahren zum dynamischen Transferieren zwischen Servern für virtuelle Dateiserver
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE602004002858T2 (de) Vorrichtung und Verfahren zur Datenarchivierung in einem Clustersystem
DE60203773T2 (de) Hierarchischer Ansatz zur Erkennung von veränderten Geräteeigenschaften
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
DE69913553T2 (de) Konfigurierung von systemeinheiten
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
DE60313468T2 (de) Speicherdienste und -systeme
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE112018003084T5 (de) Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen
DE112012002241T5 (de) Migration eines transparenten Dateisystems zu einem neuen physischen Speicherort
DE19628168A1 (de) Vernetztes multimediales Netz
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE10392181T5 (de) Dynamische RDF-Gruppen
DE112010004573T5 (de) System und verfahren zur optimierten wiedernutzbarmachungsverarbeitung in einem virtuellen bandbibliotheksystem
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten
DE102006009617A1 (de) Systeme und Verfahren zum Steuern von mehreren Hot Plug Vorgängen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition