-
Die
vorliegende Erfindung betrifft ein Speichersteuersystem und ein
Speichersteuerverfahren.
-
In
Datenbanksystemen zur Handhabung von großen Datenmengen, etwa in Datenzentren
und dergleichen, werden die Daten mit einem Speichersteuersystem
verwaltet, das vom Host-Computer getrennt ist. Dieses Speichersteuer-Subsystem
umfaßt zum
Beispiel ein RAID-Array (ein redundantes Array von unabhängigen,
preiswerten Speicherplatten), das von einer Anordnung einer Anzahl
von Platten-Speichervorrichtungen gebildet wird.
-
Mit
dem Fortschreiten der Informationsgesellschaft wird die in Datenbanken
zu verwaltende Datenmenge ständig
größer. Es
sind daher Speichersteuersysteme mit immer größerer Zuverlässigkeit und
immer höherer
Kapazität
erforderlich. In Reaktion auf diese Anforderungen des Marktes wurden neue
Speichersteuersysteme entwickelt. Zum Einführen eines neuen Speichersteuersystems
gibt es zum Beispiel das im
japanischen
offengelegten Patent Nr. (Hei) 10-508967 beschriebene Verfahren,
bei dem das alte Speichersteuersystem vollständig durch ein neues Speichersteuersystem
ersetzt wird und das Speichersystem dann allein vom neuen Speichersteuersystem
gebildet wird.
-
Wenn
komplett von einem alten Speichersteuersystem auf ein neues Speichersteuersystem übergegangen
wird, können
zwar die Funktionen und Eigenschaften des neuen Speichersteuersystems voll
genutzt werden, es ist jedoch nicht möglich, das alte Speichersteuersystem
weiter zu benutzen. Außerdem
sind die Kosten zum Einführen
des neuen Systems hoch.
-
Die
EP 1 357 476 beschreibt
eine Speichersteuervorrichtung mit einer zweiten, externen Speichersteuervorrichtung,
wobei die Speichersteuervorrichtung feststellt, ob eine Anforderung
von einem Host die erste oder die zweite Speichersteuervorrichtung
betrifft, und die Anforderung gegebenenfalls zu der zweiten Speichersteuervorrichtung
weiterleitet.
-
Aufgabe
der vorliegenden Erfindung ist es, ein Speichersteuersystem und
ein Speichersteuerverfahren zu schaffen, bei dem das alte Speichersteuersystem
weiter verwendet werden kann.
-
Aus
der folgenden Beschreibung gehen weitere Ziele der vorliegenden
Erfindung hervor.
-
Das
erfindungsgemäße Speichersteuersystem
ist in den unabhängigen
Patentansprüchen
angegeben.
-
Dieses
Speichersteuersystem kann zum Beispiel wie folgt allgemein beschrieben
werden:
Speichersteuersystem mit einem Zuordnungssteuerdaten-Speicherbereich
zum Speichern von Zuordnungssteuerdaten und einem Prozessor zum
Verarbeiten von Daten auf Dateiebene und/oder Daten auf Blockebene,
die über
ein externes Kommunikationsnetzwerk erhalten werden; wobei die Zuordnungssteuerdaten
Adresseninformationen enthalten, die den Speicherort von in Daten
auf Blockebene enthaltenen Dateiidentifikations informationen oder
in Daten auf Blockebene enthaltenen Adresseninformationen sowie
die zu den Adresseninformationen gehörenden Adressenortinformationen
angeben; und wobei der Prozessor auf die Zuordnungssteuerdaten zugreift,
die Adressenortinformationen für
die den Speicherort der Dateiidentifikationsinformationen aus den erhaltenen
Daten auf Blockebene angebenden Adressenortinformationen oder die
in den erhaltenen Daten auf Blockebene erhaltenen Adresseninformationen
identifiziert und feststellt, ob die aus den Daten auf Dateiebene
erhaltenen Daten auf Blockebene oder die erhaltenen Daten auf Blockebene
in entweder einer Speichervorrichtung zu speichern sind, die zu
dem Speichersteuersystem gehört,
oder in einer Speichervorrichtung zu speichern sind, die zu dem zweiten
Speichersteuersystem gehört.
-
In
diesem Fall kann das erste Speichersteuersystem das erwähnte Speichersteuersystem
selbst sein.
-
Bei
einer ersten Ausführungsform
des erfindungsgemäßen Speichersteuersystems
erhält
der erste Prozessor die Daten auf Dateiebene über ein externes lokales Netzwerk
von einem Host-Computer. Der zweite Prozessor überträgt auf der Basis des Ergebnisses
der Feststellung einen Teil der auf den vom Host-Computer erhaltenen
Daten auf Dateiebene basierenden Daten auf Blockebene zum zweiten Kanalsteuerabschnitt,
damit sie in einem externen Speicherbereich gespeichert werden,
der zu dem externen Speichersteuersystem gehört, wobei er den Rest der Daten
auf Blockebene zu dem Speichervorrichtungssteuerabschnitt überträgt, damit
sie in einem internen Speicherbereich gespeichert werden, der zu
der Anzahl von Speichervorrichtungen gehört. Bei dieser ersten Ausführungsform
werden die auf den Daten vom Host-Computer basierenden Daten auf
Blockebene in einem Speicherbereich gespeichert, der den externen
Speicherbereich und den internen Speicherbereich verbindet.
-
Bei
einer zweiten Ausführungsform
des erfindungsgemäßen Speichersteuersystems
legt der ersten Kanalsteuerabschnitt einen Speicherbereich, der einen
zum externen Speichersteuersystem gehörenden externen Speicherbereich
und einen zu dem Speichersteuersystem gehörenden internen Speicherbereich
verbindet, als logische Einheit fest, auf die vom Host-Computer
bei der Übertragung
der Daten auf Dateiebene zugegriffen werden kann.
-
Bei
einer dritten Ausführungsform
des erfindungsgemäßen Speichersteuersystems
umfaßt
das Speichersteuersystem des weiteren einen zweiten Steuerinformationen-Speicherbereich,
in dem die zweiten Steuerinformationen gespeichert werden. Der erste
Prozessor befindet sich im ersten Kanalsteuerabschnitt. Der erste
und/oder der zweite Prozessor stellt/stellen auf der Basis der im
zweiten Steuerinformationen-Speicherbereich gespeicherten zweiten
Steuerinformationen fest, ob alle oder ein Teil der Daten auf Blockebene
im Speichersteuersystem oder im externen Speichersteuersystem gespeichert
werden sollen. Der zweite Steuerinformationen-Speicherbereich befindet
sich zum Beispiel in einem Cache-Speicher.
-
Bei
einer vierten Ausführungsform
des erfindungsgemäßen Speichersteuersystems
enthalten die zweiten Steuerinformationen eine Anzahl von Adresseninformationselementen
und Informationen darüber,
ob die Adresseninformationselemente dem Speichersteuersystem oder
dem externen Speichersteuersystem entsprechen. Der erste und/oder
der zweite Prozessor greift/greifen auf die zweiten Steuerinformationen
zu und stellen fest, ob die in den Daten auf Blockebene enthaltenen
Adresseninformationen dem Speichersteuersystem oder dem externen Speichersteuersystem
entsprechen.
-
Bei
einer fünften
Ausführungsform
des erfindungsgemäßen Speichersteuersystems
enthalten die zweiten Steuerinformationen Datei-Metadaten für die vom
ersten Prozessor verwalteten Dateien. Die Datei-Metadaten enthalten
für die
Anzahl der Dateien eine Anzahl von Dateiidentifikationsinformationselementen
und von Speicherortadresseninformationselementen. Der erste Prozessor
identifiziert die Speicherortadresseninformationen, die den in den
erhaltenen Daten auf Dateiebene enthaltenen Dateiidentifikationsinformationen
entsprechen, anhand der Datei-Metadaten. Der erste und/oder der
zweite Prozessor greift/greifen auf die zweiten Steuerinformationen zu
und stellt/stellen fest, ob die identifizierten Speicherortadresseninformationen
dem Speichersteuersystem oder dem externen Speichersteuersystem entsprechen.
-
Bei
einer sechsten Ausführungsform
des erfindungsgemäßen Speichersteuersystems
ist zwischen dem internen Speicherbereich, der zu dem Speichersteuersystem
gehört,
und den Speichervorrichtungen eine virtuelle Zwischenspeichervorrichtung
vorgesehen. Die virtuelle Zwischenspeichervorrichtung verbindet
den internen Speicherbereich mit dem externen Speicherbereich, der
zu dem externen Speichersteuersystem gehört.
-
Das
erfindungsgemäße Speichersteuerverfahren
umfaßt
einen Umwandlungsschritt, einen Feststellungsschritt, einen ersten Übertragungsschritt,
einen Speicherschritt und einen zweiten Übertragungsschritt. Im Umwandlungsschritt
wandelt ein erster Prozessor die über ein lokales Netzwerk erhaltenen
Daten auf Dateiebene in Daten auf Blockebene um. Im Feststellungsschritt
stellt/stellen der erste Prozessor und/oder ein zweiter Prozessor,
der zu einem ersten Kanalsteuerabschnitt gehört, der mit einem zum Speichersteuersystem
externen Kommunikationsnetzwerk verbunden ist, auf der Basis von zweiten
Steuerinformationen fest, ob alle oder ein Teil der Daten auf Blockebene
im Speichersteuersystem oder im externen Speichersteuersystem zu
speichern sind, wobei die zweiten Steuerinformationen angeben, ob
die Daten im Speichersteuersystem oder im externen Speichersteuersystem
zu speichern sind. Im ersten Übertragungsschritt überträgt der zweite
Prozessor die vom ersten Prozessor erhaltenen Daten auf Blockebene
zu einem Speichervorrichtungs-Steuerabschnitt,
der das Speichern der Daten in der Anzahl von Speichervorrichtungen
des Speichersteuersystems steuert, und/oder zu einem zweiten Kanalsteuerabschnitt,
der über
ein Speichernetzwerk mit dem externen Speichersteuersystem verbunden
ist. Im Speicherschritt speichert der Speichervorrichtungs-Steuerabschnitt
die erhaltenen Daten in wenigstens einer der Speichervorrichtungen, nachdem
die Daten vom zweiten Prozessor erhalten wurden. Im zweiten Übertragungsschritt überträgt der zweite
Kanalsteuerabschnitt die er haltenen Daten zu dem externen Speichersteuersystem,
nachdem die Daten vom zweiten Prozessor erhalten wurden.
-
In
einer ersten Ausführungsform
des erfindungsgemäßen Speichersteuerverfahrens
erhält
der erste Prozessor die Daten auf Dateiebene von einem Host-Computer über ein
lokales Netzwerk. Im ersten Übertragungsschritt überträgt der zweite
Prozessor auf der Basis des Ergebnisses der Feststellung einen Teil
der auf den vom Host-Computer erhaltenen Daten auf Dateiebene basierenden
Daten auf Blockebene zum zweiten Kanalsteuerabschnitt, damit sie
in einem externen Speicherbereich gespeichert werden, der zu dem
externen Speichersteuersystem gehört, wobei er den Rest der Daten
auf Blockebene zu dem Speichervorrichtungssteuerabschnitt überträgt, damit
sie in einem internen Speicherbereich gespeichert werden, der zu
der Anzahl von Speichervorrichtungen gehört.
-
Bei
einer zweiten Ausführungsform
des erfindungsgemäßen Speichersteuerverfahrens
legt in einem weiteren Schritt der ersten Kanalsteuerabschnitt einen
Speicherbereich, der einen zum externen Speichersteuersystem gehörenden externen
Speicherbereich und einen zu dem Speichersteuersystem gehörenden internen
Speicherbereich verbindet, als logische Einheit fest, auf die vom
Host-Computer bei der Übertragung
der Daten auf Dateiebene zugegriffen werden kann.
-
Bei
einer dritten Ausführungsform
des erfindungsgemäßen Speichersteuerverfahrens
ist ein weiterer Schritt vorgesehen, in dem die zweiten Steuerinformationen
in einem zweiten Steuerinformationen-Speicherbereich gespeichert
werden. Der erste Prozessor befindet sich im ersten Kanalsteuerabschnitt.
Im Feststellungsschritt stellt/stellen der erste und/oder der zweite
Prozessor auf der Basis der im zweiten Steuerinformationen-Speicherbereich
gespeicherten zweiten Steuerinformationen fest, ob alle oder ein
Teil der Daten auf Blockebene im Speichersteuersystem oder im externen
Speichersteuersystem gespeichert werden sollen.
-
Bei
einer vierten Ausführungsform
des erfindungsgemäßen Speichersteuerverfahrens
enthalten die zweiten Steuerinformationen eine Anzahl von Adresseninformationselementen
und Informationen darüber,
ob die Adresseninformationselemente dem Speichersteuersystem oder
dem externen Speichersteuersystem entsprechen. Im Feststellungsschritt greift/greifen
der erste und/oder der zweite Prozessor auf die zweiten Steuerinformationen
zu und stellen fest, ob die in den Daten auf Blockebene enthaltenen Adresseninformationen
dem Speichersteuersystem oder dem externen Speichersteuersystem
entsprechen.
-
Bei
einer fünften
Ausführungsform
des erfindungsgemäßen Speichersteuerverfahrens
enthalten die zweiten Steuerinformationen Datei-Metadaten für die vom
ersten Prozessor verwalteten Dateien. Die Datei-Metadaten enthalten
für die
Anzahl der Dateien eine Anzahl von Dateiidentifikationsinformationselementen
und von Speicherortadresseninformationselementen. Das Speichersteuerverfahren
umfaßt
des weiteren einen Schritt, in dem der erste Prozessor anhand der
Datei-Metadaten die Speicherortadresseninformationen identifiziert,
die den in den erhaltenen Daten auf Dateiebene enthaltenen Dateiidentifikati onsinformationen
entsprechen. Im Feststellungsschritt greift/greifen der erste und/oder
der zweite Prozessor auf die zweiten Steuerinformationen zu und
stellt/stellen fest, ob die identifizierten Speicherortadresseninformationen
dem Speichersteuersystem oder dem externen Speichersteuersystem
entsprechen.
-
Bei
einer sechsten Ausführungsform
des erfindungsgemäßen Speichersteuerverfahrens
wird ein interner Speicherbereich, der zu dem Speichersteuersystem
gehört,
mittels einer virtuellen Zwischenspeichervorrichtung zwischen dem
internen Speicherbereich und den Speichervorrichtungen mit dem externen
Speicherbereich verbunden, der zu dem externen Speichersteuersystem
gehört.
-
Das
erfindungsgemäße Speichersteuersystem
ist ein Speichersteuersystem, das über ein lokales Netzwerk Daten
auf Dateiebene aufnimmt und das einen Speicher zum Speichern von
erhaltenen Daten auf Dateiebene und einen Prozessor zum Umwandeln
der im Speicher gespeicherten Daten auf Dateiebene in Daten auf
Blockebene umfaßt.
Der Prozessor stellt auf der Basis von zweiten Steuerinformationen,
die angeben, ob die Daten im Speichersteuersystem oder im externen
Speichersteuersystem zu speichern sind, fest, ob alle oder ein Teil
der Daten auf Blockebene im ersten externen Speichersteuersystem
oder in einem zweiten externen Speichersteuersystem zu speichern
sind, und übertragt das
Ergebnis der Feststellung sowie die Daten auf Blockebene über ein
Speichernetzwerk zum ersten Speichersteuersystem.
-
Das
Speichersteuersystem kann in diesem Fall zum Beispiel ein NAS-Kopf
oder der NAS selbst sein (NAS: Network Area Storage, Netzwerkspeicher).
-
Darüberhinaus
ist das erste Speichersteuersystem und/oder das zweite Speichersteuersystem zum
Beispiel ein RAID-System. Das erste Speichersteuersystem umfaßt zum Beispiel
eine Anzahl von Speichervorrichtungen zum Speichern von Daten; ein
Speichersteuer-Subsystem zum Übertragen
von Daten, die über
ein lokales Netzwerk und/oder ein zum ersten Speichersteuersystem
externes Speichernetzwerk erhalten werden, über das gleiche oder ein anderes
Speichernetzwerk zu einem externen Speichersteuersystem; und einen
Speicher zum vorübergehenden
Speichern von Daten, über
das lokale Netzwerk und/oder das Speichernetzwerk erhalten werden.
Das Speichersteuer-Subsystem enthält einen eigenen Prozessor
für die
Aufnahme von Daten auf Blockebene vom Prozessor des Speichersteuersystems
(zum Beispiel dem NAS-Kopf). Dieser eigene Prozessor überträgt die vom
Prozessor erhaltenen Daten auf Blockebene auf der Basis der Feststellung
zum Speichervorrichtungs-Steuerabschnitt und/oder zum zweiten Kanalsteuerabschnitt.
-
Das
Speichersteuer-Subsystem des ersten Speichersteuersystems kann zum
Beispiel einen Prozessor umfassen, der über ein lokales Netzwerk Dateidaten
erhält
und der die erhaltenen Dateidaten in Blockdaten umwandelt. Dabei
stellt/stellen der Prozessor und/oder der separate Prozessor auf
der Basis von Steuerinformationen, die angeben, ob die Daten im
ersten Speichersteuersystem oder im zweiten Speichersteuersystem
zu speichern sind, fest, ob alle oder ein Teil der Blockdaten im
ersten Speichersteuersystem oder im zweiten Speichersteuersystem zu
speichern sind.
-
In
den Zeichnungen zeigen:
-
1 eine
allgemeine Ansicht des äußeren Erscheinungsbilds
einer ersten erfindungsgemäßen Ausführungsform
eines Speichersteuersystems;
-
2 eine
Blockdarstellung des Aufbaus eines Speichersystems bei der vorliegenden
Ausführungsform;
-
3 eine
schematische Darstellung der logischen Verbindungen zwischen dem
ersten Speichersteuersystem 600 und dem zweiten Speichersteuersystem 40;
-
4 eine
beispielhafte Darstellung einer Abbildungstabelle Tm;
-
5 eine
Blockdarstellung für
einen beispielhaften Aufbau eines CHN 21A;
-
6 eine
Blockdarstellung für
einen beispielhaften Aufbau eines CHF 21B;
-
7 den Prozeßablauf beim Aussenden und
Aufnehmen von Ein/Ausgabe-Zuordnungssteuerdaten 820;
-
8 den
Prozeßablauf
bei der Umwandlung und Ausgabe eines vom Host 10A erhaltenen Datei-Ein/Ausgabe-Befehls
in einen Block-Ein/Ausgabe-Befehl;
-
9 eine
beispielhafte Zusammensetzung von Adressenverwaltungsdaten 853 und
Datei-Megadaten 854 in den Zuordnungssteuerdaten 820 zusammen
mit dem genauen Prozeßablauf
bei den Ein/Ausgabe-Zuordnungsprozessen, die auf der Basis der Zuordnungssteuerdaten 820 ausgeführt werden;
-
10 den Prozeßablauf bei der Aktualisierung
der Datei-Metadaten 854;
-
11 den
Prozeßablauf
bei der Erzeugung einer Abbildungstabelle Tm durch den CHF 21B des ersten
Speichersteuersystems 600;
-
12 eine schematische Darstellung der Prozesse
beim Dateneinschreiben;
-
13 beispielhaft
den Ablauf der Prozesse der 12 in
Relation zu den jeweiligen Tabellen;
-
14 das Auslesen von Daten aus einer externen
LDEV;
-
15 beispielhaft
den Aufbau eines CHN 21A bei einer ersten Modifikation
der vorliegenden Ausführungsform;
-
16 beispielhaft
den Prozeßablauf
bei der ersten Modifikation der vorliegenden Ausführungsform;
-
17 beispielhaft
den Aufbau eines CHN 21A bei einer zweiten Modifikation
der vorliegenden Ausführungsform;
-
18 beispielhaft
den Prozeßablauf
bei der zweiten Modifikation der vorliegenden Ausführungsform;
-
19 eine
Blockdarstellung des Aufbaus eines Speichersystems bei einer dritten
Modifikation der vorliegenden Ausführungsform;
-
20 beispielhaft
den Aufbau des integrierten CHF/CHN-Adapters 21D;
-
21 eine
Blockdarstellung des Aufbaus eines Speichersystems bei einer vierten
Modifikation der vorliegenden Ausführungsform;
-
22 beispielhaft
den Aufbau eines NAS-Kopfes 950 und eines CHA 21C;
-
23 den Prozeßablauf bei der vierten Modifikation
der vorliegenden Ausführungsform
beim Austausch der Ein/Ausgabe-Zuordnungssteuerdaten 820;
und
-
24 beispielhaft
den Prozeßablauf
bei der vierten Modifikation der vorliegenden Ausführungsform
bei der Übertragung
eines vom Host 10A ausgegebenen Datei-Ein/Ausgabe-Befehls
als Block-Ein/Ausgabe-Befehl.
-
Es
folgt ein Überblick über eine
Ausführungsform
der vorliegenden Erfindung.
-
Bei
der vorliegenden Ausführungsform
ist das Speichersteuersystem, etwa ein RAID-System und dergleichen, über ein
erstes Kommunikationsnetzwerk (zum Beispiel ein lokales Netzwerk
LAN) zum Austausch von Daten auf Dateiebene mit einem Host-Terminal verbunden.
Außerdem
ist das Speichersteuersystem über
ein zweites Kommunikationsnetzwerk zum Austausch von Daten auf Blockebene (zum
Beispiel ein Speichernetzwerk SAN) mit einem externen Speichersteuersystem
verbunden. Sowohl das Speichersteuersystem als auch das externe Speichersteuersystem
sind mit logischen Speichervorrichtungen zum Speichern von Daten
(im folgenden für
die Abkürzung
von "Logischer Vorrichtung" als "LDEV" bezeichnet) versehen.
Die LDEVs sind in einer oder einer Anzahl von Plattenspeichervorrichtungen
untergebracht. Das Speichersteuersystem und das externe Speichersteuersystem
sind mit einem Plattensteuerabschnitt zum Steuern des Speicherns
von Daten in den Plattenspeichervorrichtungen versehen. Das Speichersteuersystem
umfaßt
einen ersten und einen zweiten Kanalsteuerabschnitt. Der erste Kanalsteuerabschnitt
umfaßt
einen ersten Prozessor für
die Aufnahme von Dateidaten über
das erste Kommunikationsnetzwerk und das Umwandeln dieser Daten
in Blockdaten und einen zweiten Prozessor für das Aufnehmen der Blockdaten
vom ersten Prozessor. Der zweite Kanalsteuerabschnitt überträgt die vom
ersten Kanalsteuerabschnitt erhaltenen Blockdaten über das
zweite Kommunikationsnetzwerk zum externen Speichersteuersystem.
Auf der Basis von Ein/Ausgabe-Zuordnungssteuerdaten, die angeben,
ob die Daten im Speichersteuersystem oder im externen Speichersteuersystem
zu speichern sind, stellt/stellen der ersten Prozessor und/oder
der zweite Prozessor fest, ob alle oder ein Teil der Blockdaten
im Speichersteuersystem oder im externen Speichersteuersystem zu
speichern sind. Der zweite Prozessor überträgt die vom ersten Prozessor
erhaltenen Blockdaten auf der Basis des Ergebnisses dieser Feststellung
zum Plattensteuerabschnitt und/oder zum zweiten Kanalsteuerabschnitt.
-
Im
folgenden wird die vorliegende Ausführungsform anhand der Zeichnungen
näher erläutert.
-
Die 1 zeigt
eine allgemeine Ansicht des äußeren Erscheinungsbildes
des Speichersteuersystems der ersten erfindungsgemäßen Ausführungsform.
-
Das
Speichersteuersystem 600 wird von einer Basiseinheit 10 mit
einer Anzahl von Zusatzeinheiten 12 gebildet (es kann auch
von einer Basiseinheit 11 allein gebildet werden).
-
Die
Basiseinheit 10 ist die kleinste Baueinheit des Speichersteuersystems 600.
An dieser Basiseinheit 10 sind zum Beispiel abnehmbar eine
Anzahl von Plattenspeichervor richtungen (zum Beispiel Festplattenlaufwerke
HDD) 300, eine Anzahl von Steuerungen (zum Beispiel Kanalsteuerabschnitte oder
Anzeigesteuerabschnitte) 105, eine Anzahl von Stromversorgungseinheiten 400 und
eine Anzahl von Paritätseinheiten 500 angebracht.
An der Basiseinheit 10 ist auch eine Anzahl von Kühlgebläsen 13 angebracht.
-
Jede
Zusatzeinheit 12 stellt ein zusätzlich mögliches Speichersteuersystem 600 dar.
Zum Beispiel können
maximal vier Zusatzeinheiten 12 mit einer Basiseinheit 10 verbunden
werden. An jeder Zusatzeinheit 12 ist eine Anzahl von Kühlgebläsen 13 angebracht.
An jeder Zusatzeinheit 12 sind abnehmbar eine Anzahl von
Plattenspeichervorrichtungen 300, eine Anzahl von Stromversorgungseinheiten 400 und
eine Anzahl von Paritätseinheiten 500 angebracht.
Diese Elemente werden jeweils durch eine Steuerung 105 in
der Basiseinheit 10 gesteuert.
-
Die 2 zeigt
in einer Blockdarstellung den Aufbau des Speichersystems bei der
vorliegenden Ausführungsform.
-
Ein
Host oder eine Anzahl von Hosts, zum Beispiel zwei Hosts 10A, 10B,
stellen Computer mit Informationsverarbeitungseinrichtungen wie
einer CPU (Zentraleinheit), einem Speicher und dergleichen dar.
Sie haben die Form eines Personalcomputers, einer Workstation, eines
Mainframecomputers und dergleichen. Die Hosts 10A, 10B enthalten
jeweils zum Beispiel Informationseingabevorrichtungen (nicht gezeigt)
wie Tastaturen, Zeigevorrichtungen, Mikrophone und dergleichen sowie
Informationsausgabevorrichtungen (nicht gezeigt) wie Monitore, Lautsprecher
und dergleichen. Jeder der Hosts 10A, 10B ist
zum Beispiel mit einem Anwendungsprogramm 11, etwa einer
Datenbanksoftware für
die Verwendung der Speicherbereiche eines ersten Speichersteuersystems 600,
sowie mit Adapter 12A und 12B für den Zugriff
auf das erste Speichersteuersystem 600 über ein Kommunikationsnetzwerk
CN1 versehen.
-
Der
Host 10A ist über
ein erstes Kommunikationsnetzwerk CN1 mit dem ersten Speichersteuersystem 600 verbunden.
Das Kommunikationsnetzwerk CN1 ist ein Kommunikationsnetzwerk für den Austausch
von Daten auf Dateiebene. Je nach den Umständen kann ein lokales Netzwerk
LAN, das Internet, ein besonderes Netz, ein öffentliches Netz und dergleichen
dafür verwendet
werden (im folgenden wird angenommen, daß das erste Kommunikationsnetzwerk
das lokale Netzwerk "LAN" ist). Der Datenaustausch über das
LAN erfolgt zum Beispiel gemäß TCP/IP
(Übertragungssteuerprotokoll/Internetprotokoll).
Der Host 10A fordert das erste Speichersteuersystem 600 unter
Angabe eines Dateinamens zur Eingabe und Ausgabe von Daten in Dateieinheiten
auf. Der mit dem LAN CN1 verbundene Adapter 12A ist zum
Beispiel eine mit einem lokalen Netzwerk kompatible Netzwerkkarte
(als "PORT" dargestellt).
-
Der
Host 10B ist mit dem ersten Speichersteuersystem 600 über ein
drittes Kommunikationsnetzwerk CN3 verbunden. Das dritte Kommunikationsnetzwerk
CN3 ist ein Kommunikationsnetzwerk für den Austausch von Daten auf
Blockebene, es wird zum Beispiel durch ein Speichernetzwerk SAN
gebildet. (Im folgenden wird angenommen, daß das zweite Kommunikationsnetzwerk
das Speichernetzwerk "SAN" ist). Der Host 10B fordert das
erste Speichersteuersystem 600 in Blockeinheiten, den Datenverwaltungseinheiten
im Speicherbereich einer Anzahl von Plattenspeichervorrichtungen
(zum Beispiel Festplattenlaufwerken) mit einem Glasfaserkanalprotokoll
zur Eingabe und Ausgabe von Daten auf. Der mit dem SAN CN3 verbundene
Adapter 12 ist zum Beispiel ein Host-Bus-Adapter "HBA".
-
In
der Darstellung sind die Hosts 10A und 10B jeweils
nur über
das LAN CN1 bzw. das SAN CN3 mit dem ersten Speichersteuersystem 600 verbunden,
es ist jedoch auch möglich,
daß wenigstens einer
der Hosts 10A, 10B über ein zweites Kommunikationsnetzwerk
CN2 mit einem zweiten Speichersteuersystem 40 verbunden
ist. Das zweite Kommunikationsnetzwerk CN2 kann zum Beispiel ein
Speichernetzwerk, ein lokales Netzwerk, das Internet, ein besonderes
Netz, ein öffentliches
Netz usw. sein. Bei der vorliegenden Ausführungsform wird angenommen,
daß das
zweite Kommunikationsnetzwerk CN2 ein Glasfaserkanalverteiler "FC-SW" ist.
-
Das
erste Speichersteuersystem 600 ist zum Beispiel ein RAID-System
mit einer Anzahl von Plattenspeichervorrichtungen, die in einem
Array angeordnet sind. Das erste Speichersteuersystem 600 ist nicht
darauf beschränkt,
es kann zum Beispiel auch ein intelligenter Glasfaserkanalverteiler
mit hoher Funktionalität
sein. Wie im folgenden noch beschrieben, braucht das erste Speichersteuersystem 600 auch
nicht mit einer sich selbst direkt steuernden lokalen Speichervorrichtung
versehen zu sein, da die Speicherressourcen des zweiten Speichersteuersystems 40 dem
Host 10 als individuelle logische Einheiten zugeteilt sind.
-
Das
erste Speichersteuersystem 600 kann grob in ein Speichersteuer-Subsystem 20 und
eine Platteneinheit 30 unterteilt werden. Das Speichersteuer-Subsystem 20 umfaßt zum Beispiel
einen Kanalsteuerabschnitt 21, einen Plattensteuerabschnitt 800,
einen SVP (Serviceprozessor) 23, einen Cache-Speicher 24,
einen gemeinsamen Speicher 25 und einen Verbindungsabschnitt 26.
Der Kanalsteuerabschnitt 21 umfaßt zum Beispiel einen oder
mehrere Kanaladapter NAS (CHN) 21A, einen oder mehrere
Kanaladapter (CHA) 21C und einen oder mehrere Glasfaserkanaladapter
(CHF) 21B. Der Plattensteuerabschnitt 800 umfaßt eine
Anzahl von Plattenadaptern (DKA) 22.
-
Der
CHN 21A führt
den Datenaustausch mit dem Host 10A aus. Der CHN 21A enthält einen
Kommunikationsport 207A für die Kommunikation mit dem
Host 10A. Der CHN 21A wird zum Beispiel von einem
Mikrocomputersystem mit einer CPU, einem Speicher und dergleichen
gebildet und interpretiert und führt
verschiedene Befehle aus, die er vom Host 10A erhält. Dem
CHN 21A ist zu seiner Identifikation eine Netzwerkadresse
zugeordnet (zum Beispiel eine IP-Adresse oder WWN). Der CHN 21N kann über das
LAN CN1 vom Host 10 einen Ein/Ausgabebefehl für eine Dateieinheit
erhalten (zum Beispiel einen Befehl, der einen Dateinamen enthält, und
einen Befehl zum Auslesen oder Einschreiben einer Datei mit diesem
Dateinamen; im folgenden wird ein solcher Befehl als "Datei-Ein/Ausgabe-Befehl" bezeichnet), und
sich wie ein NAS (Netzwerkspeicher) zum Verarbeiten des Datei-Ein/Ausgabe-Befehls
verhalten. Der Aufbau und die Arbeitsweise des CHN 21A werden
im folgenden noch beschrieben.
-
Der
CHA 21C führt
den Datenaustausch mit dem Host 10B aus. Der CHA 21C enthält einen
Kommunikationsport 207C für die Kommunikation mit dem
Host 10B. Der CHA 21C wird zum Beispiel von einem
Mikrocomputersystem mit einer CPU, einem Speicher und dergleichen
gebildet und interpretiert und führt
verschiedene Befehle aus, die er vom Host 10B erhält. Dem
CHA 21C ist zu seiner Identifikation eine Netzwerkadresse
zugeordnet (zum Beispiel eine IP-Adresse oder WWN). Der CHA 21C kann über das
SAN CN3 vom Host 10B Ein/Ausgabebefehle für Blockeinheiten
erhalten (im folgenden "Block-Ein/Ausgabe-Befehle" genannt) und diese Block-Ein/Ausgabe-Befehle
verarbeiten. Eine Blockeinheit ist die Verwaltungseinheit für Daten
im Speicherbereich der im folgenden beschriebenen Plattenspeichervorrichtung 400.
-
Der
CHF 21B ist über
einen Kommunikationsport 207B mit dem FC-SW 2 verbunden.
Der CHF 21B wird zum Beispiel von einem Mikrocomputer mit einer
CPU, einem Speicher und dergleichen gebildet und kann über den
FC-SW 2 Daten mit dem zweiten Speichersteuersystem 40 austauschen.
Der Aufbau und die Arbeitsweise des CHF 21B werden im folgenden
noch erläutert.
-
Die
einzelnen DKAs 22 führen
den Datenaustausch mit den logischen Speichervorrichtungen (im folgenden
LDEVs) 31, 32 in der Platteneinheit 30 durch.
Jeder DKA 22 enthält
einen Kommunikationsport für
die Verbindung mit der Plattenspeichervorrichtung 400 mit
den LDEVs 31, 32. Jeder DKA 22 hat die
Form eines Mikrocomputers mit einer CPU, einem Speicher und dergleichen,
Jeder DKA 22 schreibt die vom CHN 21A oder CHA 21C erhaltenen Daten
in die LDEVs 31, 32 ein und überträgt von den LDEVs 31, 32 ausgelesene
Daten zum CHN 21A oder CHA 21C. Jeder DKA 22 wandelt
bei der Eingabe oder Ausgabe von Daten in die oder von den LDEVs 31, 32 die
logische Adresse in eine physikalische Adresse um.
-
Der
Cache-Speicher (im folgenden auch als "CM" bezeichnet) 24 ist
zum Beispiel ein flüchtiger oder
nichtflüchtiger
Speicher, der vorübergehend vom
Host 10 erhaltene oder von den LDEVs 31, 32 ausgelesene
Daten speichert. Der Cache-Speicher 24 kann auch die im
folgenden noch erläuterten Ein/Ausgabe-Zuordnungssteuerdaten 820 speichern.
Statt dessen oder zusätzlich
können
die Ein/Ausgabe-Zuordnungssteuerdaten 820 auch in der LDEV 31 gespeichert
werden.
-
Der
gemeinsame Speicher (im folgenden auch als "SM" bezeichnet) 25 ist
zum Beispiel ein nichtflüchtiger
gemeinsamer Speicher, der Steuerinformationen über die mit dem Host ausgetauschten Daten
speichert (zum Beispiel Informationen darüber, in welchem von den im
CM 24 reservierten Cache-Bereichen die Daten gespeichert
werden sollen). Der gemeinsame Speicher 25, der als Arbeitsbereich ausgestaltet
ist (zum Beispiel als Bereich, in dem zwischen den CPUs des CHN 21A,
CHA 21C, CHF 21B und DKA 22 ausgetauschte
Nachrichten vorübergehend
gespeichert werden), wird auch zum Speichern verschiedener Arten
von Daten verwendet, etwa zum Abbilden der Tabellengruppe TG und dergleichen.
Es ist auch möglich,
eine oder eine Anzahl der LDEVs 31, 32 als Cache-Plattenspeicher zu
verwenden.
-
Der
Verbindungsabschnitt 26 stellt die Verbindung zwischen
dem CHN 21A, CHA 21C, CHF 21B, den jeweiligen
DKAs 22, dem Cache-Speicher 24 und dem gemeinsamen
Speicher 25 her. Der Verbindungsabschnitt 26 kann
ein Hochgeschwindigkeitsbus, etwa ein ultraschneller Kreuzungsschalter und
dergleichen sein, der durch schnelle Schaltvorgänge eine Datenübertragung
bewirkt.
-
Die
Platteneinheit 30 besteht aus einer Anzahl in einem Array
angeordneten Plattenspeichervorrichtungen 400. In der Plattenspeichervorrichtung 400 können zum
Beispiel Festplatten, Floppy Disks, Magnetbänder, Halbleiterspeicher, optische
Platten und dergleichen verwendet werden. Die LDEVs 31, 32 befinden
sich in einem Speicherbereich der Plattenspeichervorrichtung 400.
Die LDEV 31 (oder 32) speichert die im folgenden
noch erläuterten
Ein/Ausgabe-Zuordnungssteuerdaten. Die gestrichelt dargestellte
LDEV 32 zeigt den Zustand an, in dem die zum zweiten Speichersteuersystem 40 gehörende LDEV 42 in
das erste Speichersteuersystem 600 eingebracht wird. Mit
anderen Worten wird eine aus der Sicht der ersten Speichersteuersystems 600 externe LDEV
(im folgenden "externe
LDEV" genannt) 42 in der
Form einer internen LDEV 32 des ersten Speichersteuersystems 600 dem
Host 10 zur Verfügung gestellt.
-
Der
SVP 23 ist ein Informationsverarbeitungsterminal zum Unterhalten
oder Verwalten des ersten Speichersteuersystems 600 (zum
Beispiel ein Notebook-PC). Der SVP 23 ist mit den Prozessoren (zum
Beispiel den CPUs) des CHN 21A, CHA 21C, CHF 21B und
den jeweiligen DKAs 22 zum Beispiel über ein internes LAN 410 verbunden.
Der SVP 23 stellt das Auftreten von Fehlern im ersten Speichersteuersystem 600 fest,
zeigt diese auf einem Bildschirm an und wird dazu verwendet, die
Prozesse und dergleichen für
die Plattenspeichervorrichtung 400 zu beenden.
-
Das
zweite Speichersteuersystem 40 kann einen ähnlichen
Aufbau haben wie das erste Speichersteuersystem 600; es
kann aber auch einfacher aufgebaut sein als das erste Speichersteuersystem 600.
Zum Beispiel enthält
das zweite Speichersteuersystem 40 einen CHF 217 mit
einem Kommunikationsport 41 und eine oder eine Anzahl von
Plattenspeichervorrichtungen 401. Die LDEV 42 ist
in einem Speicherbereich der Plattenspeichervorrichtung 401 enthalten.
Das zweite Speichersteuersystem 40 ist mit dem ersten Speichersteuersystem 600 über den FC-SW 2 derart
verbunden, daß die
LDEV 42 des zweiten Speichersteuersystems 40 (mit
anderen Worten die externe LDEV) als interne LDEV 32 des ersten
Speichersteuersystems 600 behandelt wird.
-
Die
interne LDEV 31 (oder die interne LDEV 32) und/oder
der CM 24 speichert die Ein/Ausgabe-Zuordnungssteuerdaten 820,
die angeben, ob Block-Ein/Ausgabedaten dem ersten Speichersteuersystem 600 oder
dem zweiten Speichersteuersystem 40 zugeteilt werden (zum
Beispiel in den Adressenverwaltungsdaten 853 oder den Datei-Metadaten 854,
die noch erläutert
werden). Diese Ein/Ausgabe-Zuordnungssteuerdaten 820 (zum
Beispiel Adressenverwaltungsdaten 853) können vom
SVP 23 in wenigstens einen der CHN 21A, CHA 21C,
CHF 21B und der DKAs 22 eingegeben werden und
im CM 24 und/oder der internen LDEV 31 (oder internen
LDEV 32) gespeichert werden.
-
Soweit
die allgemeine Beschreibung des Speichersystems 1 der vorliegenden
Ausführungsform.
-
Die 3 ist
eine schematische Ansicht der logischen Verbindungen zwischen dem
ersten Speichersteuersystem 600 und dem zweiten Speichersteuersystem 40.
-
Wie
gezeigt enthält
das erste Speichersteuersystem 600 drei Speicherschichten
aus den VDEVs 101, den LDEVs 31 und den LUNs 103 in
aufsteigender Ordnung.
-
Die
VDEVs 101 sind virtuelle Vorrichtungen an der untersten
Stelle der logischen Speicherschichten. Die VDEVs 101 sind
virtuelle Darstellungen von physikalischen Speicherressourcen und können als
RAID-Struktur angesehen werden. Das heißt, daß aus einer einzigen Plattenspeichervorrichtung 400 durch "Aufschneiden" eine ganze Anzahl von
VDEVs 101 erzeugt werden kann, und daß es auch möglich ist, aus einer Anzahl
von Plattenspeichervorrichtungen 400 durch "Abstreifen" eine einzige VDEV 101 zu
erzeugen. Die auf der linken Seite der 3 dargestellt
VDEV 101 ist zum Beispiel eine virtuelle Darstellung einer
Plattenspeichervorrichtung 400 mit der genannten RAID-Struktur.
-
Andererseits
kann die auf der rechten Seite der 3 dargestellte
VDEV 101 durch Abbilden von externen LDEVs 42 der
Plattenspeichervorrichtung 401 des zweiten Speichersteuersystems 40 auf
die VDEV 101 durch die Abbildungstabellengruppe TG (zum
Beispiel die Abbildungstabelle Tm in dieser Gruppe) als interne
LDEV 32 des ersten Speichersteuersystems 600 verwendet
werden. Bei dem gezeigten Beispiel wird die VDEV 101 durch
Abstreifen von vier externen LDEVs 42A bis 42D in
den vier zweiten Speichersteuersystemen 40A bis 40D ausgebildet.
Auf jede der externen LDEVs 42A bis 42D kann durch
Angabe der jeweiligen LUN (Nummer der logischen Einheit) 43A bis 43D unabhängig über Kommunikationsports 41A bis 41D zugegriffen
werden. Jeder Kommunikationsport 41A bis 41D hat
einen WWN(World Wide Name), eine eindeutige Identifikationsinformation.
Durch die Angabe eines WWN und einer LUN am FC-SW 2 kann
das erste Speichersteuersystem 600 somit über den
FC-SW 2 eine externe LDEV 42 einsehen, die zu
der LUN in dieser Kombination gehört. Wenn zu der LUN mehrere LDEVs
gehören,
stellt diese Anzahl von LDEVs gegenüber dem Host 10 aufgrund
des ersten Speichersteuersystems 600 eine einzige logische
Speichervorrichtung dar.
-
Die
Abbildungstabellengruppe TG enthält
die Abbildungstabelle Tm sowie eine erste Umwandlungstabelle T1
und eine zweite Tabelle T2, die auf der Basis der Abbildungstabelle
Tm erstellt werden. Die Tabellen Tm, T1 und T2 werden im folgenden
noch erläutert.
-
Die
internen LDEVs 32 befinden sich über den VDEVs 101.
Die internen LDEVs 32 sind logische Vorrichtungen, die
virtuelle Darstellungen der virtuellen Vorrichtungen (VDEVs) sind.
Es ist möglich,
zwei interne LDEVs 32 mit einer VDEV 101 zu verbinden
oder eine interne LDEV 32 mit einer Anzahl von VDEVs 101.
Auf die internen LDEVs 32 kann über die jeweilige LUN 103 zugegriffen
werden. Auf diese Weise ist es bei der vor liegenden Ausführungsform
möglich,
dadurch externe LDEVs 42 als einzige interne LDEV 32 des
ersten Speichersteuersystems 600 zu verwenden, daß die externen
LDEVs 42 mit einer Zwischenspeicherschicht (VDEV 101 und
interne LDEV 32) zwischen den LUNs 103 und den
externen LDEVs 42 verbunden werden.
-
Wie
gezeigt enthält
das erste Speichersteuersystem 600 eine Mischung aus internen
LDEVs, die mit den externen LDEVs 42 verbunden sind, und internen
LDEVs 31, die nicht mit externen LDEVs verbunden sind.
In dem gezeigten Beispiel sind einer internen LDEV 31 und
einer internen LDEV 32 die LUN "1" zugeordnet.
Wenn das erste Speichersteuersystem 600 vom Host 10A die
LUN-Angabe "1" erhält, kann
somit eine einzige logische Einheit (LU) den Speicherbereich der
internen LDEV 32 und den Speicherbereich der dieser internen
LDEV 32 zugehörigen
externen LDEV 42 als Zugriffsobjekt für den Host 10A umfassen.
-
Die 4 zeigt
einen Überblick über die
Abbildungstabelle Tm.
-
In
der Abbildungstabelle Tm sind die VDEV-Identifikationsinformationen
zur Identifikation der jeweiligen VDEV 101 (im folgenden
mit "VDEV#" bezeichnet) und
die Informationen über
die externe LDEV 42 (im folgenden als "Informationen über die externe Vorrichtung" bezeichnet) einander
zugeordnet. Die Information über
die externe Vorrichtung enthält
zum Beispiel Systemidentifikationsinformationen, die Speicherkapazität der externen
LDEV 42, Informationen über
die Art der Vorrichtung (ob es zum Beispiel eine Bandlaufwerk oder
ein Plattenlaufwerk ist und dergleichen), und Informationen über den Weg
zu der externen LDEV 42. Die Systemidentifikationsinformationen
enthalten zum Beispiel Informationen über den Hersteller, das Modell
und die Seriennummer des zweiten Speichersteuersystems 40.
Die Weginformationen können
eindeutige Identifikationsinformationen (WWN) und eine LUN 4 für jeden
Kommunikationsport 41 enthalten. Die in der 4 angegebenen
Systemidentifikationsinformationen und WWNs und dergleichen sind
zum Zwecke der Erläuterung
verwendete Größen und
haben keine besondere Bedeutung. Die VDEV 101 mit der VDEV-Nummer "3" in der 4 unten
weist drei Weginformationselemente auf. Das heißt, daß die auf diese VDEV 101 abgebildete
externe LDEV 42 (#3) eine interne Alternativwegstruktur
mit drei Wegen aufweist und durch diese alternative Wegstruktur
auf die VDEV 101 (#3) abgebildet wird. Da über jeden
dieser drei Wege auf den gleichen Speicherbereich zugegriffen werden
kann, ist es auch beim Auftreten eines Fehlers in einem oder in
zweien der Wege noch möglich, über den
verbleibenden Weg, der noch normal arbeitet, auf die gewünschten
Daten zuzugreifen.
-
Die
Abbildungstabelle Tm der 4 bildet eine oder eine Anzahl
von externen LDEVs 42 auf eine oder mehrere interne LDEVs 32 im
ersten Speichersteuersystem 600 ab.
-
Die 5 ist
eine Blockdarstellung eines beispielhaften Aufbaus des CHN 21A.
-
Der
CHN 21A enthält
einen Kommunikationsport 207A, eine LAN-Steuerung 503,
eine Datenübertragungs-LSI 501,
eine Brücken-LSI 502,
einen oder eine Anzahl von Ein/Ausgabe-Steuerabschnitten 510 mit
einem Ein/Ausgabeprozessor 504 und einem Ein/Ausgabespeicher 507,
eine Speichersteuerung 505, einen NAS-Prozessor 506,
einen CHN-Speicher 508 und einen Verbinder 509.
-
Die
LAN-Steuerung 503 steuert den Kommunikationsport 207A gemäß den Anweisungen
vom NAS-Prozessor 506, die über die Speichersteuerung 505 und
den Brücken-LSI erhalten werden.
Die LAN-Steuerung 503 steuert die Übertragung und Aufnahme von
Datei-Ein/Ausgabe-Befehlen zum Beispiel nach einem TCP/IP-Protokoll.
-
Der
Brücken-LSI 502 ist
zum Beispiel ein LSI (eine hoch integrierte Schaltung) für die Kommunikation
zwischen der LAN-Steuerung 503, die Speichersteuerung 505 und
den Datenübertragungs-LSI 501.
-
Die
Speichersteuerung 505 ist ein LSI zum Steuern des Datenflusses
zwischen dem NAS-Prozessor 506 und dem CHN-Speicher 508.
Die Speichersteuerung 505 ist mit dem NAS-Prozessor 506, dem
CHN-Speicher 508 und dem Brücken-LSI 502 verbunden.
-
Der
CHN-Speicher 508 speichert Programme zum Steuern des NAS-Prozessors 506,
Daten, die zwischen dem CM 24 und dem Host 10A ausgetauscht
werden, und dergleichen. Der CHN-Speicher 508 kann zum
Beispiel ein Befehlsanalyseprogramm 811, ein Ein/Ausgabe-Zuordnungsprogramm 812,
ein Dateisystemprogramm 817 und ein Netzwerksteuerprogramm 818 enthalten.
Wenn sie in einen Computer eingelesen werden, führen das Befehlsanalyseprogramm 811,
das Ein/Ausgabe-Zuordnungsprogramm 812, das Dateisystemprogramm 817 und
das Netzwerksteuerprogramm 818 vorgegebene Prozesse auf
dem Computer, etwa einer CPU (zum Beispiel dem NAS-Prozessor 506),
aus. Zum Beispiel ist das Befehlsanalyseprogramm 811 ein
Computerprogramm, das einen Computer veranlaßt, einen vom Host 10A erhaltenen
Datei-Ein/Ausgabe-Befehl zu analysieren. Das Ein/Ausgabe-Zuordnungsprogramm 812 ist
ein Computerprogramm, das einen Computer veranlaßt, einen noch zu beschreibenden Ein/Ausgabe-Zuordnungsprozeß auszuführen. Das Dateisystemprogramm 817 ist
zum Beispiel ein Programm zum Verwalten der Verbindung zwischen
dem in einem Datei-Ein/Ausgabe-Befehl enthaltenen Dateinamen und
der Adresseninformation des Ortes, an dem die Datei mit diesem Dateinamen
gespeichert ist (zum Beispiel die LUN und die logische Blockadresse des
Kopfes) sowie zum Umwandeln des Datei-Ein/Ausgabe-Befehls in einen
Block-Ein/Ausgabe-Befehl auf der Basis dieser Verbindung. Das Netzwerksteuerprogramm 818 wird
zum Beispiel von zwei Dateisystemprotokollen wie NFS (Network File
System) und Samba gebildet. NFS akzeptiert Datei-Ein/Ausgabe-Befehle
von einem Host mit einem UNIX-Betriebssystem (UNIX ist ein eingetragenes Warenzeichen),
auf dem NFS läuft.
Samba akzeptiert Datei-Ein/Ausgabe-Befehle
von einem Host mit einem Windows-Betriebssystem (Windows ist ein
eingetragenes Warenzeichen), auf dem CIFS(Common Interface File
System) läuft.
-
Der
NAS-Prozessor 506 ist eine CPU oder ein Mikroprozessor.
Der NAS-Prozessor 506 weist zum Beispiel ein höheres Leistungsvermögen (zum Beispiel
eine höhere
Rechengeschwindigkeit) auf als der Ein/Ausgabe-Prozessor 504.
Der NAS-Prozessor 506 ist mit der Speichersteuerung 505 verbunden. Der
NAS-Prozessor 506 kann die im CHN-Speicher 508 gespeicherten
Programme, das heißt
das Befehlsanalyseprogramm 811, das Ein/Ausgabe-Zuordnungsprogramm 812,
das Dateisystemprogramm 817, das Netzwerksteuerprogramm 818 undsoweiter auslesen
und die entsprechenden Prozesse ausführen. Der NAS-Prozessor 506 nimmt
zum Beispiel mit dem Netzwerksteuerprogramm 818 Datei-Ein/Ausgabe-Befehle
vom Host 10A an. Mit dem Befehlsanalyseprogramm 811 analysiert
der NAS-Prozessor 506 den vom Host 10A erhaltenen
und im CHN-Speicher 508 gespeicherten Datei-Ein/Ausgabe-Befehl, um
festzustellen, ob es ein Lesebefehl oder ein Schreibbefehl ist.
Mit dem Dateisystemprogramm 817 wandelt der NAS-Prozessor 506 den
vom Host 10A erhaltenen und im CHN-Speicher 508 gespeicherten
Datei-Ein/Ausgabe-Befehl
in einen Block-Ein/Ausgabe-Befehl um, den er zum Ein/Ausgabe-Prozessor 504 ausgibt.
Mit dem Ein/Ausgabe-Zuordnungsprogramm 812 stellt der NAS-Prozessor fest, ob
der Block-Ein/Ausgabe-Befehl in der internen LDEV 31 oder
in der externen LDEV 42 zu speichern ist, und er veranlaßt auf der
Basis dieser Feststellung den Ein/Ausgabe-Prozessor 504,
den Block-Ein/Ausgabe-Befehl entweder der internen LDEV 31 oder
der externen LDEV zuzuordnen.
-
Der
Ein/Ausgabe-Prozessor 504 ist eine CPU oder ein Mikroprozessor,
die oder der mit den aus dem Ein/Ausgabe-Speicher 507 ausgelesenen Programmen
in der Lage ist, Prozesse wie den Datenaustausch mit dem Verbindungsabschnitt 26,
den Austausch von Befehlen mit den Ein/Ausgabe-Prozessoren im CHA 21C oder
CHF 21B oder eine Unterbrechung des Datenaustausches zwischen
dem NAS-Prozessor 506 und dem Verbindungsabschnitt 26 und
dergleichen zu steuern. Darüberhinaus
kann der Ein/Ausgabe-Prozessor 504 mit dem SVP 23 in Verbindung
treten.
-
Der
Ein/Ausgabe-Speicher 507 speichert ein Computerprogramm
und dergleichen zum Steuern des Ein/Ausgabe-Prozessors 504.
-
Die
Datenübertragungs-LSI 501 ist
mit dem Verbinder 509 verbunden, der wiederum mit dem Verbindungsabschnitt 26 verbunden
ist. Außerdem ist
die Datenübertragungs-LSI 501 mit
dem Ein/Ausgabe-Prozessor 504 und dem Brücken-LSI
verbunden. Die Datenübertragungs-LSI 501 steuert
die Übertragung
von Daten.
-
Es
wurden insoweit der Aufbau und die Funktionen des CHN 21A beschrieben.
Wenigstens das Ein/Ausgabe-Zuordnungsprogramm 812 des erwähnten Befehlsanalyseprogramms 811 und
das Ein/Ausgabe-Zuordnungsprogramm 812 sind derart im Ein/Ausgabe-Speicher 507 gespeichert,
daß der Ein/Ausgabe-Prozessor 504 die
Ein/Ausgabe-Zuordnungsprozesse ausführen kann. Dies wird genauer weiter
unten für
eine Modifikation der vorliegenden Ausführungsform erläutert.
-
Die 6 ist
eine Blockdarstellung eines beispielhaften Aufbaus des CHF 21B.
-
Der
CHF 21B enthält
einen Kommunikationsport 207B, eine FC-Steuerung 602,
eine Datenübertragungs-LSI 601,
einen Ein/Ausgabe-Prozessor 603, einen Ein/Ausgabe-Speicher 604 und
einen Verbinder 605.
-
Der
Kommunikationsport 207B ist ein Port für die Verbindung mit einer
externen Vorrichtung, etwa dem zweiten Speichersteuersystem 40.
-
Die
FC-Steuerung 602 ist zwischen dem Kommunikationsport 207B und
dem Datenübertragungs-LSI 601 angeordnet.
Die FC-Steuerung 602 steuert das Übertragen und die Aufnahme
von Block-Ein/Ausgabe-Befehlen gemäß einem Glasfaserkanalprotokoll
zum Beispiel.
-
Der
Ein/Ausgabe-Speicher 604 speichert Programme zum Steuern
des Ein/Ausgabe-Prozessors 603. Der Ein/Ausgabe-Speicher 604 enthält zum Beispiel
ein Programm 814 für
einen externen Zugriff. Das Programm 814 für einen
externen Zugriff veranlaßt
den Computer, der dieses Programm 814 einliest, die Prozesse
zum Übertragen
eines erhaltenen Block-Ein/Ausgabe-Befehls zum zweiten Speichersteuersystem 60 auszuführen.
-
Der
Ein/Ausgabe-Prozessor 603 ist eine CPU oder ein Mikroprozessor.
Der Ein/Ausgabe-Prozessor 603 ist mit dem Datenübertragungs-LSI 610, dem
Ein/Ausgabe-Speicher 604 und
dem SVP 23 verbunden. Er liest die im Ein/Ausgabe-Speicher 604 gespeicherten
verschiedenen Computerprogramme aus und steuert die Übertragung
und das Aufnahmen von Daten und Befehlen.
-
Die
Datenübertragungs-LSI 601 ist
mit dem Verbinder 605 verbunden, der wiederum mit dem Verbindungsabschnitt 26 verbunden
ist. Außerdem ist
die Datenübertragungs-LSI 601 mit
dem Ein/Ausgabe-Prozessor 603 und der FC-Steuerung 602 verbunden.
Die Datenübertragungs-LSI 601 steuert
die Übertragung
von Daten.
-
Im
folgenden werden die verschiedenen Prozeßabläufe beschrieben, die bei der
vorliegenden Ausführungsform
ausgeführt
werden.
-
Die 7 zeigt den Prozeßablauf beim Ausgeben und Erhalt
von Ein/Ausgabe-Zuordnungssteuerdaten 820.
-
Die
Ein/Ausgabe-Zuordnungssteuerdaten 820 werden zum Beispiel
mit den in den 7(A) und 7(B) gezeigten
Prozeßabläufen im CHN-Speicher 508 im
CHA 21A gespeichert.
-
Wie
in der 7(A) gezeigt, gibt dabei der NAS-Prozessor 506 eine
Anweisung an den Ein/Ausgabe-Prozessor 504 aus, die Ein/Ausgabe-Zuordnungssteuerdaten 820 aufzunehmen
(Schritt S500).
-
Auf
diese Anweisung hin liest der Ein/Ausgabe-Prozessor 504 die
im CM 24 gespeicherten Ein/Ausgabe-Zuordnungssteuerdaten 820 aus
und gibt sie in den CHN-Speicher 508 ein
(S501). Dadurch werden die Ein/Ausgabe-Zuordnungssteuerdaten 820 im
CHN-Speicher 508 gespeichert (S502).
-
Genauer
gesagt gibt, wie in der 7(B) gezeigt,
der NAS-Prozessor 506 eine Anweisung an den Ein/Ausgabe-Prozessor 504 aus,
die Ein/Ausgabe-Zuordnungssteuerdaten 820 aufzunehmen (Schritt
S510).
-
Auf
diese Anweisung hin gibt der Ein/Ausgabe-Prozessor 504 einen
Auslesebefehl zum Auslesen der Ein/Ausgabe-Zuordnungssteuerdaten 820 an
den DKA 22 aus, der auf die interne LDEV 31 zugreifen
kann, in der die Ein/Ausgabe-Zuordnungssteuerdaten 820 gespeichert
sind (S511).
-
Der
den Ein/Ausgabe-Auslesebefehl aufnehmende DKA 22 reserviert
im CM 24 einen Cache-Bereich, nimmt die Ein/Ausgabe-Zuordnungssteuerdaten 820 von
der internen LDEV 31 auf und speichert sie im Cache-Bereich
(S512).
-
Der
Ein/Ausgabe-Prozessor 504 liest die Ein/Ausgabe-Zuordnungssteuerdaten 820 aus
dem reservierten Cache-Bereich aus und gibt sie in den CHN-Speicher 508 ein
(S513). Dadurch werden die Ein/Ausgabe-Zuordnungssteuerdaten 820 im CHN-Speicher 508 gespeichert
(S514).
-
Der
NAS-Prozessor 506 kann die im folgenden beschriebenen Ein/Ausgabe-Zuordnungsprozesse
mit den im CHN-Speicher 508 gespeicherten Ein/Ausgabe-Zuordnungssteuerdaten 820 ausführen. Wie
gezeigt enthalten die Ein/Ausgabe-Zuordnungssteuerdaten 820 zum
Beispiel Adressenverwaltungsdaten 853 und Datei-Metadaten 854.
Die Adressenverwaltungsdaten 853 und Datei-Metadaten 854 werden
im folgenden noch beschrieben.
-
Die 8 zeigt
den Prozeßablauf,
wenn ein vom Host 10A erhaltener Datei-Ein/Ausgabe-Befehl in einen Block-Ein/Ausgabe-Befehl
umgewandelt und ausgegeben wird.
-
Der
vom Host 10A ausgegebene Datei-Ein/Ausgabe-Befehl wird
vom CHN 21A aufgenommen und im CHN-Speicher 508 gespeichert (S550).
Wenn der Datei-Ein/Ausgabe-Befehl ein Datei-Einschreibbefehl ist,
enthält
er die einzuschreibende Datei, den Dateinamen dieser Datei und die LUN.
Wenn der Datei-Ein/Ausgabe-Befehl ein Datei-Auslesebefehl ist, enthält er die
auszulesende Datei, den Dateinamen dieser Datei und die LUN.
-
Der
NAS-Prozessor 506 liest den im CHN-Speicher 508 gespeicherten
Datei-Ein/Ausgabe-Befehl
aus (S551) und stellt mit Hilfe des Dateianalyseprogramms 811 fest,
ob der Datei-Ein/Ausgabe-Befehl ein Dateieinschreibbefehl oder ein
Dateiauslesebefehl ist (S552).
-
Darüberhinaus
wandelt der NAS-Prozessor 506 den Datei-Ein/Ausgabe-Befehl
mit Hilfe des Dateisystemprogramms 817 in einen Block-Ein/Ausgabe-Befehl
um (S553). Der NAS-Prozessor 506 führt den später beschriebenen Ein/Ausgabe-Zuordnungsprozeß auf der
Basis der im umgewandelten Block-Ein/Ausgabe-Befehl enthaltenen
Adresseninformationen und der Ein/Ausgabe-Zuordnungssteuerdaten 820 aus
(S554).
-
Wenn
als Ergebnis des Ein/Ausgabe-Zuordnungsprozesses in S554 ein externer
Zugriff erforderlich ist (J in S555), gibt der NAS-Prozessor 506 die
externe Zugriffsanforderung und den umgewandelten Block-Ein/Ausgabe-Befehl
an den Ein/Ausgabe-Prozessor 504 aus (S556). Der Ein/Ausgabe-Prozessor 504 überträgt dann
den erhaltenen Block-Ein/Ausgabe-Befehl über den
Verbindungsabschnitt 26 zum Ein/Ausgabe-Prozessor 603 im
CHF 21A (S557). Der Ein/Ausgabe-Prozessor 603 des CHF 21A greift
auf die Abbildungstabellengruppe TG zu und führt den externen Zugriff aus.
Dazu wandelt er zum Beispiel die im Block-Ein/Ausgabe-Befehl vom
CHN 21A enthaltene interne LUN in eine externe LUN um (S558)
und überträgt den Block-Ein/Ausgabe-Befehl
mit der externen LUN über
das zweite Kommunikationsnetzwerk CN2 zum CHF 217 des zweiten
Speichersteuersystems 40 (S559).
-
Wenn
als Ergebnis des Ein/Ausgabe-Zuordnungsprozesses in S554 ein interner
Zugriff erforderlich ist (N in S555), gibt der NAS-Prozessor 506 die interne
Zugriffsanforderung und den umgewandelten Block-Ein/Ausgabe-Befehl
an den Ein/Ausgabe-Prozessor 504 aus (S560). Der Ein/Ausgabe-Prozessor 504 überträgt in diesem
Fall den erhaltenen Block-Ein/Ausgabe-Befehl über den Verbindungsabschnitt 26 zum
DKA 22 (S561). Mit Hilfe des DKA 22 werden die
Daten im Block-Ein/Ausgabe-Befehl entweder in den Speicherbereich
im internen LDEV 31 eingeschrieben, der von den Adresseninformationen im
Block-Ein/Ausgabe-Befehl bezeichnet wird, oder die Daten werden
aus dem Speicherbereich im internen LDEV 31 ausgelesen,
der von den Adresseninformationen im Block-Ein/Ausgabe-Befehl angegeben wird. Wenn
Daten ausgelesen wurden, nimmt der Ein/Ausgabe-Prozessor 504 des
CHN 21A die Daten vom DKA 22 über den CM 24 auf
und überträgt sie zum
Host 10A.
-
Bei
dem dargestellten Prozeßablauf
können die
Prozesse für
den externen Zugriff in S558 statt vom Ein/Ausgabe-Prozessor des
CHF 21B auch vom Ein/Ausgabe-Prozessor im CHN 21A (oder
im CHA 21C) ausgeführt
werden. In diesem Fall überträgt der Ein/Ausgabe-Prozessor
des CHF 21B den erhaltenen Block-Ein/Ausgabe-Befehl nur
zum zweiten Speichersteuersystem 40.
-
Die 9 zeigt
beispielhaft die Zusammensetzung der Adressenverwaltungsdaten 853 und
der Datei-Metadaten 854, die in den Zuordnungssteuerdaten 820 enthalten
sind, zusammen mit dem genauen Prozeßablauf bei dem Ein/Ausgabe-Zuordnungsprozeß, der auf
der Basis der Zuordnungssteuerdaten 820 ausgeführt wird.
-
Wie
erwähnt
sind die Adressenverwaltungsdaten 853 und die Datei-Metadaten 854 in
den Zuordnungssteuerdaten 820 enthalten.
-
Die
Adressenverwaltungsdaten 853 enthalten eine Anzahl von
Adresseninformationseinträgen und
Informationen darüber,
ob diese Adresseninformationseinträge jeweils einem internen oder
einem externen Speicher entsprechen. Die Adresseninformationen können zum
Beispiel aus der Kombination einer LUN mit einer Kopf-LBA (logischen
Blockadresse) bestehen. Mit "intern" wird ein Bereich
im ersten Speichersteuersystem 600 bezeichnet und mit "extern" ein Bereich im zweiten
Speichersteuersystem, das sich außerhalb des ersten Speichersteuersystems 600 befindet.
-
Die
Datei-Metadaten 854 enthalten Attributinformationen für die einzelnen
Dateien, die vom Dateisystemprogramm 818 des NAS-Prozessors 806 verwaltet
werden, zum Beispiel den Dateinamen und Adresseninformationen über den
Ort, an dem die Datei mit diesem Dateinamen gespeichert ist (zum
Beispiel die LUN und Kopf-LBA), sowie die Datengröße der Datei.
Es ist zwar nicht dargestellt, die Datei-Metadaten 854 können aber
auch noch andere Attributinformationen enthalten, etwa den Zeitpunkt
der Aktualisierung und dergleichen. Darüberhinaus können die Datei-Metadaten 854 auch
Attributinformationen für
ein Verzeichnis und nicht nur für
Dateien enthalten.
-
Im
folgenden wird der Ein/Ausgabe-Zuordnungsprozeß beschrieben.
-
Das
in den Computer (zum Beispiel den NAS-Prozessor 506) eingelesene
Ein/Ausgabe-Zuordnungsprogramm 812 greift auf die Adressenverwaltungsdaten 853 zu
und stellt fest, ob die Adresseninformationen im umgewandelten Block-Ein/Ausgabe-Befehl (mit anderen
Worten die dem Dateinamen im Datei-Ein/Ausgabe-Befehl entsprechenden Adresseninformationen)
einem internen oder einem externen Ort entsprechen (S554A). Alternativ
nimmt das Ein/Ausgabe-Zuordnungsprogramm 812 die dem Dateinamen
im Datei-Ein/Ausgabe-Befehl entsprechenden Adresseninformationen
aus den Datei-Metadaten 854 auf
und stellt unter Bezug auf die Adressenverwaltungsdaten 853 fest,
ob die Adresseninformationen einem internen oder einem externen
Ort entsprechen (S554A).
-
Wenn
bei der Feststellung in S554A das Ein/Ausgabe-Zuordnungsprogramm 812 einen
externen Ort identifiziert (extern in S554B), bestimmt es, daß eine externe
Zugriffsanforderung ausgegeben wird (S554C). In diesem Fall wird
der Prozeß in
S556 der 8 ausgeführt.
-
Wenn
bei der Feststellung in S554A das Ein/Ausgabe-Zuordnungsprogramm 812 einen
internen Ort identifiziert (intern in S554B), bestimmt es, daß eine interne
Zugriffsanforderung ausgegeben wird (S554D). In diesem Fall wird
der Prozeß in
S560 der 8 ausgeführt.
-
Wenn
bei der Feststellung in S554A das Ein/Ausgabe-Zuordnungsprogramm 812 sowohl
einen externen Ort als auch einen internen Ort identifiziert (beide
in S554B), bestimmt es, daß sowohl
eine externe Zugriffsanforderung als auch eine interne Zugriffsanforderung
ausgegeben werden (S554D). In diesem Fall werden sowohl der Prozeß in S556
als auch der Prozeß in
S560 der 8 ausgeführt. Eine Doppelidentifikation
kann zum Beispiel dann erfolgen, wenn der Bereich der Adressen für Einschreiborte
oder Leseorte sowohl Adresseninformationen für eine nicht mit einer externen
LDEV 42 verbundene interne LDEV 31 als auch Adresseninformationen für eine mit
einer externen LDEV 42 verbundene interne LDEV 32 umfaßt. In einem
konkreten Beispiel entspricht dies dem Fall, daß Daten im gesamten Speicherbereich
mit der LUN "1" der 3 gespeichert
werden oder gespeichert sind.
-
Mit
dem beschriebenen Ablauf wird der Ein/Ausgabe-Zuordnungsprozeß ausgeführt.
-
Die
Datei-Metadaten 854 werden immer dann aktualisiert, wenn
Daten in die interne LDEV 31 und die interne LDEV 32 (mit
anderen Worten die externe LDEV 42) eingeschrieben werden
oder Daten aus den internen LDEV 31, 32 gelöscht werden.
-
Die 10 zeigt den Prozeßablauf bei der Aktualisierung
der Datei-Metadaten 854.
-
Die
Datei-Metadaten 854 können
mit dem Prozeßablauf
der 10(A) oder dem Prozeßablauf der 10(B) aktualisiert werden.
-
Wie
in der 10(A) gezeigt, aktualisiert
der NAS-Prozessor 506 die aus dem CHN-Speicher 508 ausgelesenen
Datei-Metadaten 854 (S700) immer dann, wenn ein be stimmtes
Ereignis eintritt, zum Beispiel dann, wenn Daten in die internen
LDEV 31, 32 eingeschrieben werden oder Daten in
den internen LDEV 31, 32 gelöscht werden.
-
Zu
einem vorgegebenen Zeitpunkt (zum Beispiel unmittelbar nach S700)
gibt der NAS-Prozessor 506 daher eine Übertragungsanweisung an den Ein/Ausgabe-Prozessor 504 aus,
die diesen anweist, die aktualisierten Datei-Metadaten 854 aus
dem CHN-Speicher 508 zum CM 24 zu übertragen (S701).
-
Daraufhin
liest der Ein/Ausgabe-Prozessor 504 die aktualisierten
Datei-Metadaten 854 aus dem CHN-Speicher 508 aus
und überträgt sie zum
CM 24 (S702). Die im CM 24 gespeicherten Datei-Metadaten
werden damit durch die aktualisierten Datei-Metadaten 854 aus
dem CHN-Speicher 508 ersetzt.
-
Wie
in der 10(B) gezeigt, aktualisiert
der NAS-Prozessor 506 die aus dem CHN-Speicher 508 ausgelesenen
Datei-Metadaten 854 ähnlich
wie in S700 (S800).
-
Zu
einem vorgegebenen Zeitpunkt (zum Beispiel unmittelbar nach S800)
gibt der NAS-Prozessor 506 eine Übertragungsanweisung an den
Ein/Ausgabe-Prozessor 504 aus, die diesen anweist, die
aktualisierten Datei-Metadaten 854 aus dem CHN-Speicher 508 zur
internen LDEV 31 zu übertragen
(S801).
-
Daraufhin
reserviert der Ein/Ausgabe-Prozessor 504 einen Cache-Bereich
im CM 24, gibt an den DKA 22, der auf die interne
LDEV 31 zugreifen kann, in der die Datei-Metadaten gespeichert
sind, einen Ein/Ausgabe-Leitungsbefehl aus (S802), liest die aktualisierten
Datei-Metadaten 813 aus dem CHN-Speicher 508 aus
und gibt sie in den reservierten Cache-Bereich (S803).
-
Der
DKA 22, der den Ein/Ausgabe-Leitungsbefehl erhält, nimmt
die aktualisierten Datei-Metadaten 813 aus dem reservierten
Cache-Bereich (S803) und überschreibt
die Datei-Metadaten in der internen LDEV 31 mit den so
erhaltenen aktualisierten Datei-Metadaten 854 (S805).
-
Es
wird nun beschrieben, wie die erwähnte Abbildungstabelle Tm (4)
durch den Austausch von Informationen zwischen dem CHF 21B des
ersten Speichersteuersystems 600 (im folgenden erster CHF 21B genannt)
und dem CHF 217 des zweiten Speichersteuersystems 40 (zweiter
CHF 217) erzeugt wird.
-
Die 11 zeigt
den Prozeßablauf,
wenn der CHF 21B des ersten Speichersteuersystems 600 eine
Abbildungstabelle Tm erzeugt.
-
Zum
Beispiel gibt der CHF 21B einen Untersuchungsbefehl (nicht
gezeigt) an den FC-SW 2 aus. Als Antwort darauf erhält er vom
FC-SW 2 die Log-in-Informationen, die zum Einloggen in
das mit dem FC-SW 2 verbundene zweite Speichersteuersystem 40 erforderlich
sind (zum Beispiel die WWN des mit dem FC-SW 2 verbundenen
Kommunikationsports 41). Der CHF 21B speichert
die vom FC-SW 2 erhaltenen Login-Anforderungen für das zweite
Speichersteuersystem 40 im Ein/Ausgabe-Speicher 604 (mit
anderen Worten in einem lokalen Speicher) oder dem SM 25.
-
Wenn
zum Beispiel der erste CHF 21B vom SVP 23 eine
Anforderung für
eine Verbindung mit einer VDEV 101 mit einer externen LDEV 42 erhält, werden
die im Ein/Ausgabe-Speicher 604 (oder SM 25) gespeicherten
Log-in-Anforderungen dazu verwendet, über den Initiatorport (207B)
des CHF 21B ein Log-in in das zweite Speichersteuersystem 40 durchzuführen (S83).
Der zweite CHF 217 gibt auf den Log-in-Vorgang eine Antwort
an den ersten CHF 21B zurück (S84), wodurch das Log-in
abgeschlossen wird.
-
Daraufhin überträgt der erste
CHF 21B einen Anfragebefehl zum Beispiel gemäß den SCSI-Spezifikationen
(Small Computer System Interface) zum zweiten CHF 217 (S85).
Der Anfragebefehl wird dazu verwendet, die Art und den Aufbau der
Vorrichtung festzustellen, bei der angefragt wird, wodurch die Vorrichtung,
die den Anfragebefehl ausgibt, den physikalischen Aufbau der Vorrichtung
feststellen kann, bei der angefragt wird.
-
Zum
Beispiel nimmt der zweite CHF 217, der einen Anfragebefehl
erhält,
aus dem Speicher (nicht gezeigt) im zweiten Speichersteuersystem 40 Steuersysteminformationen über das
zweite Speichersteuersystem 40A, überträgt diese Steuersysteminformationen
zum ersten CHF 21B (S86) und gibt eine vorgeschriebene
Antwort zurück
(S87). Die Steuersysteminformationen enthalten zum Beispiel den Hersteller,
den Gerätenamen
und die Seriennummer für
das zweite Speichersteuersystem 40, die WWN des Kommunikationsports 41A,
an dem der Anfragebefehl erhalten wurde, die LUN für diese
WWN, die zu dieser LUN gehörende
LDEV-Nummer und die Art der Speicherplatte bei dieser LDEV.
-
Der
erste CHF 21B speichert die erhaltenen Steuersysteminformationen
(zum Beispiel den Hersteller, den Gerätenamen und die Seriennummer
des zweiten Speichersteuersystems 40, die WWN, LUN und
Art der Speicherplatte) an einer vorgegebenen Stelle der Abbildungstabelle
Tm (zum Beispiel an der Stelle, die dem vom Klienten angegebenen
VDEV# entspricht) (S88).
-
Dann überträgt der erste
CHF 21B eine Anfrage über
die Speicherkapazität
der externen LDEV 42, die zu der LUN in den erhaltenen
Steuersysteminformationen gehört
(zum Beispiel einen Lesekapazitätsbefehl
auf der Basis des SCSI-Protokolls) zum zweiten CHF 217 (S89).
Der zweite CHF 217 greift auf die im zweiten Speichersteuersystem 40 gespeicherten
Speicherkapazitätsinformationen
(nicht gezeigt) zu (zum Beispiel auf die Gesamtspeicherkapazität der einen
oder mehreren externen LDEVs 42 für die LUN) und gibt die so
ermittelte Speicherkapazität (mit
anderen Worten die Speicherkapazität der externen LDEVs 42)
zum ersten CHF 21B (S90) und eine Antwort (S91) zurück. Der
erste CHF 21B speichert die erhaltene Speicherkapazität an einer
bestimmten Stelle der Abbildungstabelle Tm (zum Beispiel an der Stelle,
die dem von Klienten angegebenen VDEV# entspricht) (S92).
-
Mit
dem beschriebenen Prozeß entsteht
eine Verbindung zwischen der VDEV#, den Steuersysteminformationen
und der Speicherkapazität.
-
Nachdem
die VDEV# auf die externen Systeminformationen (die Informationen
schließen
die Steuersysteminformationen und die Speicherkapazität ein) abgebildet
wurde, erfolgt die Adressenumwandlung und dergleichen durch Bezug
auf die verschiedenen Tabellen in der Abbildungstabellengruppe TG,
wenn der Host 10A eine Dateneingabe oder Datenausgabe zu
oder von der externen LDEV 42 über das erste Speichersteuersystem 600 ausführt.
-
Anhand
der 12 bis 14 erfolgt
nun eine Beschreibung der Dateneingabe und der Datenausgabe zwischen
dem ersten Speichersteuersystem 600 und dem zweiten Speichersteuersystem 40.
Auf der Basis der 12 und 13 wird
zuerst das Einschreiben von Daten erläutert. Die 12 ist
eine schematische Darstellung der Prozesse im Falle des Dateneinschreibens.
Die 13 zeigt die Prozeßabfolge in der 12 mit Bezug zu den jeweiligen Tabellen.
-
Der
CHN 21A kann Blockdaten, die durch Umwandeln der Dateidaten
vom Host 10A erhalten werden, in die interne LDEV 31 oder 32 einschreiben.
-
Wenn
die LDEV, in die der CHN 21A Daten einschreiben will, die
interne LDEV 31 ist, werden die Daten mit dem Standardprozeß eingeschrieben.
Das heißt,
daß die
Daten vom CHN 21A vorübergehend im
Cache-Speicher 24 zwischengespeichert werden und dann über den
DKA 22 an einer bestimmten Adresse auf einer bestimmten
Plattenspeichervorrichtung 400 gespeichert werden. Dabei
wandelt der DKA 22 die logische Adresse in eine physikalische Adresse
um. Bei einem RAID-Aufbau werden die gleichen Daten in einer Anzahl
von Plattenspeichervorrichtungen 400 gespeichert.
-
Wenn
dagegen die LDEV, in die der CHN 21A Daten einschreiben
will, die interne LDEV 32 ist, die über die VDEV 102 mit
der externen LDEV 42 verbunden ist, werden die Daten mit
einer Abfolge eingeschrieben, wie sie in der 12 gezeigt
ist. Die 12(A) ist ein Flußdiagramm
auf der Basis der Speicherschichten und die 12(B) ein
Flußdiagramm
zur Darstellung des Verfahrens, wie der Cache-Speicher 24 verwendet
wird.
-
Der
CHN 21A gibt die LDEV-Nummer für die interne LDEV 32 an,
die Zielort für
das Einschreiben ist, sowie die WWN des Kommunikationsports 207A für den Zugriff
auf diese interne LDEV 32 an. Er gibt außerdem einen
Blockeinheit-Schreibbefehl (Schreiben) aus (S121). Bei Erhalt dieses
Schreibbefehls vom CHN 21A erzeugt der CHF 21B einen
Blockeinheit-Schreibbefehl für
das zweite Speichersteuersystem 40 und überträgt diesen zum zweiten Speichersteuersystem 40 (S122).
Der CHF 21B erzeugt dann durch Ändern der Adresseninformationen
für den Schreib-Zielort
und dergleichen in dem vom CHN 21A erhaltenen Schreibbefehl
für die
externe LDEV 42 einen neuen Schreibbefehl.
-
Daraufhin
sendet der CHN 21A die einzuschreibenden Daten zum CHF 21B (S123).
Die am CHF 21B erhaltenen Daten werden von der internen LDEV 32 über die
VDEV 101 (S124) zur externen LDEV 42 übertragen
(S126). Zu dem Zeitpunkt, an dem die Daten vom Host 10A im
Cache-Speicher 24 gespeichert werden (S125), gibt der CHN 21A eine Schreibendeantwort
(Gut) zum Host 10 zurück.
Zu dem Zeitpunkt, zu dem es die Daten vom CHF 21B erhält (oder
dem Zeitpunkt, zu dem es das Einschreiben in die externe LDEV 42 beendet), überträgt das zweite
Speichersteuersystem 40 einen Schreibendebericht zum CHF 21B (S127).
Der Zeitpunkt, zu dem der Abschluß des Einschreibens vom CHN 21A zum Host 10A übermittelt
wird (S125), ist nicht der Zeitpunkt, zu dem die Da ten tatsächlich in
der Speichervorrichtung 42 gespeichert werden (asynchrones System).
Der Host 10A wird daher vom Dateneinschreibprozeß befreit,
bevor die Daten tatsächlich
in der externen LDEV 42 gespeichert werden, und kann zu
anderen Prozessen übergehen.
-
Wie
in der 12(B) gezeigt, ist im Cache-Speicher 24 eine
Anzahl von Subblöcken 24A vorgesehen.
Das erste Speichersteuersystem 600 speichert die Daten
an einem vorgegebenen Ort des Cache-Speichers 24, wozu
es die vom Host angegebene logische Blockadresse in eine Subblockadresse
umwandelt (S124).
-
Anhand
der 13 wird nun der Vorgang des Umwandelns der Daten
mit Hilfe der verschiedenen Tabellen beschrieben. Wie im oberen
Teil der 13 gezeigt, überträgt der CHN 21A die
Daten durch Angabe einer LUN und einer logischen Blockadresse (LBA)
Der CHF 21B wandelt die für die interne LDEV 32 eingegebenen
Daten (LUN + LBA) auf der Basis der ersten Umwandlungstabelle T1
der 13(a) in Daten für die VDEV 101 um.
Die erste Umwandlungstabelle T1 ist eine LUN – LDEV – VDEV-Umwandlungstabelle zum
Umwandeln von Daten, die eine interne LUN 103 angeben,
in Daten für
eine VDEV 101. Diese Tabelle T1 ist zum Beispiel im SM 25 gespeichert
(das gleiche gilt für
die im folgenden beschriebenen Tabellen T2 und T2a). Die Tabelle
T1 wird durch die gegenseitigen Verbindungen zwischen zum Beispiel
einer LUN, der Nummer der LDEV 32, die der LUN 103 entspricht
(LDEV#) und der maximalen Anzahl von Slots dafür sowie der Nummer der VDEV 101,
die der LDEV 102 entspricht (VDEV#) und der maximalen Anzahl
von Slots dafür und
dergleichen gebildet. Es ist, auch wenn es nicht dargestellt ist,
auch möglich,
in der Tabelle T1 zu speichern, welche LBA welcher LDEV 32 welchem Subblock
entspricht oder welchem Slot des Cache-Speichers 24 und
dergleichen. Durch Bezug auf eine Tabelle T1 dieser Art wandelt
der CHF 21B (zum Beispiel der erste CHF 21B) die
Daten vom CHA 21A (LUN + LBA) in Daten für die VDEV 101 (VDEV#
+ SLOT# + SUBBLOCK#) um.
-
Daraufhin
greift der CHF 21B auf die in der 13(b) gezeigte
zweite Umwandlungstabelle T2 zu und wandelt die Daten für die VDEV 101 in
Daten um, die durch Übertagen
zu einer externen LUN (externen LDEV 42) im zweiten Speichersteuersystem 40 gespeichert
werden. Die zweite Umwandlungstabelle T2 enthält die gegenseitigen Verbindungen
zwischen zum Beispiel der Nummer der VDEV 101 (VDEV#),
der Nummer des Initiatorports beim Übertragen der Daten von der
VDEV 101 zum zweiten Speichersteuersystem 40,
die WWNs für
die Identifikation der Kommunikationsports 41, zu denen
die Daten zu übertragen
sind, und die LUNs, auf die über diese
Kommunikationsports zugegriffen werden kann. Auf der Basis dieser
zweiten Umwandlungstabelle T2 wandelt der CHF 21B die Informationen über den
Zielort der zu speichernden Daten in das Format Initiatorportnummer
# + WWN + LUN + LBA um. Die Daten, die die auf diese Weise geänderten
Informationen über
den Zielort enthalten, werden vom angegebenen Initiatorport über das
Kommunikationsnetzwerk CN2 übertragen
und kommen am bezeichneten Kommunikationsport 41 an. Daraufhin
werden die Daten am vorgegebenen Ort der externen LDEV 42 gespeichert,
auf die mit der angegebenen LUN 43 zugegriffen werden kann. Da
die externe LDEV 42 auf virtuelle Weise auf einer Anzahl
von Plattenspeichervorrichtungen 401 konstruiert wird,
wird die Datenadresse in eine physikalische Adresse umgewandelt, und
die Daten werden unter einer bestimmten Adresse auf einer bestimmten
Speicherplatte gespeichert.
-
Die 13(c) zeigt eine weitere zweite Umwandlungstabelle
T2a. Diese Umwandlungstabelle T2a wird dann verwendet, wenn in der
VDEV 101 in der externen Speichervorrichtung 42 ein
Abstreifen erfolgt oder eine RAID-Konfiguration angewendet wird.
Die Umwandlungstabelle T2a enthält
die gegenseitigen Verbindungen zwischen der VDEV-Nummer (VDEV#), der Abstreifgröße, dem
RAID-Level, einer Zahl zum Identifizieren des zweiten Speichersteuersystems 40 (SS#
(Speichersystemnummer)), der Initiatorportnummer, dem WWN des Kommunikationsports 41 und
der Nummer des LUN 43. Bei dem in der 13(c) gezeigten
Beispiel bildet die VDEV 101 ein RAID 1, wobei
insgesamt vier externe Speichersteuersysteme verwendet werden, die
durch die SS# 1, 4, 6 und 7 identifiziert werden. Für die gleiche Vorrichtung
(LDEV#) gibt es drei der SS#1 zugeteilte LUN (#0, #0, #4). Das Volumen
von LUN #0 weist eine alternative Wegstruktur mit zwei Zugriffswegen auf.
Auf diese Weise ist es bei der vorliegenden Ausführungsform möglich, weitere
Funktionen wie ein Abstreifen oder eine RAID-Konfiguration und dergleichen
zum CHN 21A hinzuzufügen,
wozu aus einer Anzahl von externen logischen Volumen (LDEVs) die VDEV 101 ausgebildet
wird.
-
Mit
Bezug zu der 14 wird nun die Prozeßabfolge
für den
Fall beschrieben, daß Daten
aus der externen LDEV 42 im zweiten Speichersteuersystem 40 ausgelesen
werden.
-
Zuerst überträgt der CHN 21A einen
Blockeinheit-Lesebefehl zum CHF 21B (S131). Bei Erhalt des
Lesebefehls erzeugt der CHF 21B einen eigenen Blockeinheit-Lesebefehl, damit
die erforderlichen Daten aus dem zweiten Speichersteuersystem 40 ausgelesen
werden. Der CHF 21B überträgt den eigens erzeugten
Lesebefehl zum zweiten Speichersteuersystem 40 (S132).
In Reaktion auf diesen eigenen Lesebefehl vom CHF 21B liest
das zweite Speichersteuersystem 40 die erforderlichen Daten
aus der externen LDEV 42 aus, überträgt die Daten zum CHF 21B (S133)
und gibt einen Bericht ab, daß das
Auslesen normal beendet wurde (S135). Wie in der 14(B) gezeigt, speichert der CHF 21B die
vom zweiten Speichersteuersystem 40 erhaltenen Daten an
einem bestimmten Ort im Cache-Speicher 24 (S134).
-
Der
CHF 21B leist die im Cache-Speicher 24 gespeicherten
Daten aus und überträgt sie nach
einer Adressenumwandlung über
die LUN 103 und dergleichen zum CHN 21A (S136).
Der CHN 21A gibt einen Auslese-Ende-Bericht ab (S137).
Bei dieser Abfolge von Prozessen zum Auslesen von Daten wird die
anhand der 13 beschriebene Umwandlungsoperation
in umgekehrter Richtung ausgeführt.
-
Die 14 zeigt den Fall, daß in Reaktion auf eine Anforderung
vom CHN 21A Daten aus dem zweiten Speichersteuersystem 40 ausgelesen
und im Cache-Speicher 24 gespeichert werden. Die Abfolge
ist jedoch nicht darauf beschränkt,
und es ist auch möglich,
alle oder einen Teil der Daten, die in der externen LDEV 42 gespeichert
sind, vorher im Cache-Speicher 24 zu speichern. In diesem
Fall können
die Daten in Reaktion auf einen Auslesebefehl vom CHN 21A unmittelbar
aus dem Cache-Speicher ausgelesen und zum CHN 21A übertragen
werden.
-
Bei
der beschriebenen Ausführungsform werden
Ein/Ausgabe-Zuordnungssteuerdaten 820 erstellt, die Adresseninformationen
für den
in den vom Host 10A erhaltenen Datei-Ein/Ausgabe-Daten enthaltenen
Dateinamen (mit anderen Worten die Adresseninformationen, die in
den von Datei-Ein/Ausgabe-Daten in Block-Ein/Ausgabe-Daten umgewandelten
Daten enthalten sind) und Informationen darüber enthalten, ob diese Adresseninformationen
einem internen Speicherort oder einem externen Speicherort entsprechen.
Der NAS-Prozessor 806 oder der Ein/Ausgabe-Prozessor 804 des
CHN 21A nimmt auf diese Ein/Ausgabe-Zuordnungssteuerdaten 820 Bezug
und stellt fest, ob die Adresseninformationen für den Dateinamen in dem Datei-Ein/Ausgabe-Daten
vom Host 10A einen internen oder einen externen Speicherort
betreffen. Auf der Basis dieser Feststellung wird der Übertragungszielort
für die
Block-Ein/Ausgabe-Daten entweder einem DKA 22 im ersten
Speichersteuersystem 600 oder dem CHF 21B zugeordnet.
Im letzten Fall wird der Block-Ein/Ausgabe-Befehl vom CHF 21B zum zweiten
Speichersteuersystem 40 übertragen. Der Host 10A kann
somit auf einen Speicherbereich in einem Speichersteuersystem zugreifen,
das aus einer Anzahl von Speichersteuersystemen ausgewählt wird,
auch wenn er einen Datei-Ein/Ausgabe-Befehl ausgibt, ohne daß ihm bekannt
sein muß,
ob der Zielort für
den Zugriff eine interne LDEV 31 im ersten Speichersteuersystem 600 oder
eine externe LDEV 42 im zweiten Speichersteuersystem 40 ist.
Mit anderen Worten werden das erste Speichersteuersystem 600 und
das zweite Speichersteuersystem 40 von den Hosts 10A, 10B wie
ein einziges Speichersteuersystem verwendet.
-
Bei
der beschriebenen Ausführungsform kann,
wenn der CHA 21C vom Host 10B über das SAN CN3 einen Block-Ein/Ausgabe-Befehl
erhält, der
Ein/Ausgabe-Prozessor des CHA 21C auf die Ein/Ausgabe-Zuordnungssteuerdaten 820 zugreifen, feststellen,
ob die in den erhaltenen Block-Ein/Ausgabe-Daten enthaltenen Adresseninformationen
einem internen oder einem externen Speicherort entsprechen, und
den Übertragungs-Zielort
für die Block-Ein/Ausgabe-Daten
in Abhängigkeit
vom Ergebnis der Feststellung einem DKA 22 im ersten Speichersteuersystem 600 oder
dem CHF 21B zuordnen.
-
Die
beschriebene Ausführungsform
kann auf vielfältige
Weise modifiziert werden. Die folgende Beschreibung zeigt einige
Unterschiede zwischen einigen Modifikationen und der vorliegenden
Ausführungsform
auf.
-
(1) Erste Modifikation
-
Die 15 zeigt
einen beispielhaften Aufbau eines CHN 21A bei einer ersten
Modifikation der vorliegenden Ausführungsform.
-
Wie
gezeigt sind bei der ersten Modifikation der vorliegenden Ausführungsform
im Ein/Ausgabe-Speicher 507 ein Befehlsanalyseprogramm 811 und
ein Ein/Ausgabe-Zuordnungsprogramm 812 gespeichert.
-
Die 16 zeigt
beispielhaft den Prozeßablauf
bei der ersten Modifikation der vorliegenden Ausführungsform.
-
Ein
vom Host 10A ausgegebener Datei-Ein/Ausgabe-Befehl wird
vom CHN 21A aufgenommen und im CHN-Speicher 508 gespeichert (S950).
-
Der
NAS-Prozessor 506 gibt an den Ein/Ausgabe-Prozessor 504 eine
Anweisung zum Auslesen des im CHN-Speicher 508 gespeicherten
Datei-Ein/Ausgabe-Befehls aus, woraufhin der Ein/Ausgabe-Prozessor 504 den
Datei-Ein/Ausgabe-Befehl aus dem CHN-Speicher 508 ausliest (S951).
Der Ein/Ausgabe-Prozessor 504 führt dann mit Hilfe des Dateianalyseprogramms 811 eine
Analyse durch, um festzustellen, ob der Datei-Ein/Ausgabe-Befehl
ein Dateieinschreibbefehl oder ein Dateiauslesebefehl ist (S952),
und teilt das Ergebnis der Analyse dem NAS-Prozessor 506 mit
(S953).
-
Auf
der Basis des mitgeteilten Analyseergebnisses wandelt der NAS-Prozessor 506 mit
dem Dateisystemprogramm 817 den Datei-Ein/Ausgabe-Befehl
in einen Block-Ein/Ausgabe-Befehl
um (S954) und überträgt den Block-Ein/Ausgabe-Befehl zum
Ein/Ausgabe-Prozessor 504 (S955).
-
Der
Ein/Ausgabe-Prozessor 504 führt auf der Basis der im umgewandelten
Block-Ein/Ausgabe-Befehl
enthaltenen Adresseninformationen und der Ein/Ausgabe-Zuordnungssteuerdaten 820 den oben
beschriebenen Ein/Ausgabe-Zuordnungsprozeß aus (S956).
-
Wenn
sich bei dem Ein/Ausgabe-Zuordnungsprozeß in S956 ergibt, daß ein externer
Zugriff auszuführen
ist (J in S957), gibt der Ein/Ausgabe-Prozessor 504 den
Block-Ein/Ausgabe-Befehl
an den Ein/Ausgabe-Prozessor 504 des CHF 21B aus (S958).
Der Ein/Ausgabe-Prozessor 603 des CHF 21A führt dann
den oben beschriebenen externen Zugriffsprozeß aus (S959).
-
Wenn
sich bei dem Ein/Ausgabe-Zuordnungsprozeß in S956 ergibt, daß ein interner
Zugriff auszuführen
ist (N in S957), gibt der Ein/Ausgabe-Prozessor 504 den
Block-Ein/Ausgabe-Befehl über den
Verbindungsabschnitt 26 an den DKA 22 (S960).
-
Wenn
sich bei dem Ein/Ausgabe-Zuordnungsprozeß in S956 ergibt, daß sowohl
ein externer Zugriff als auch in interner Zugriff auszuführen sind, führt der
Ein/Ausgabe-Prozessor 504 sowohl
S958 als auch S960 aus.
-
(2) Zweite Modifikation
-
Die 17 zeigt
einen beispielhaften Aufbau eines CHN 21A bei einer zweiten
Modifikation der vorliegenden Ausführungsform.
-
Wie
gezeigt ist bei der zweiten Modifikation der vorliegenden Ausführungsform
im CHN-Speicher 508 ein Befehlsanalyseprogramm 811 gespeichert, und
im Ein/Ausgabe-Speicher 507 ist
ein Ein/Ausgabe-Zuordnungsprogramm 812 gespeichert.
-
Die 18 zeigt
beispielhaft den Prozeßablauf
bei der zweiten Modifikation der vorliegenden Ausführungsform.
-
Ein
vom Host 10A ausgegebener Datei-Ein/Ausgabe-Befehl wird
vom CHN 21A aufgenommen und im CHN-Speicher 508 gespeichert (S151).
-
Der
NAS-Prozessor 506 liest dem im CHN-Speicher 508 gespeicherten
Datei-Ein/Ausgabe-Befehl
aus (S152) und führt
mit Hilfe des Dateianalyseprogramms 811 eine Analyse des
Befehls aus (S153). Der NAS-Prozessor 506 wandelt dann
den Datei-Ein/Ausgabe-Befehl
in einen Block-Ein/Ausgabe-Befehl um (S154) und überträgt den Block-Ein/Ausgabe-Befehl
zum Ein/Ausgabe-Prozessor 504 (S155).
-
Der
Ein/Ausgabe-Prozessor 504 führt den bereits beschriebenen
Ein/Ausgabe-Zuordnungsprozeß auf der
Basis der im umgewandelten Block-Ein/Ausgabe-Befehl enthaltenen
Adresseninformationen und der Ein/Ausgabe-Zuordnungssteuerdaten 820 aus
(S956).
-
Der
weitere Ablauf ist der gleiche wie in S957 bis S960 der 16 (S157
bis S160).
-
(3) Dritte Modifikation
-
Die 19 zeigt
in einer Blockdarstellung den Aufbau des Speichersystems bei einer
dritten Modifikation der vorliegenden Ausführungsform.
-
Wie
gezeigt ist es möglich,
im ersten Speichersteuersystem 600 einen integrierten CHF/CHN-Adapter 21D zu
installieren, der den CHN 21A und den CHF 21B zusammenfaßt.
-
Die 20 zeigt
einen beispielhaften Aufbau des integrierten CHF/CHN-Adapters 21D.
-
Der
integrierte CHF/CHN-Adapter 21D enthält zusätzlich zu den Elementen des
CHN 21A der 5 einen Kommunikationsport 207B und
eine FC-Steuerung 602. Die FC-Steuerung 602 ist
mit dem Brücken-LSI 504 und
dem Kommunikationsport 207B verbunden.
-
Im
Ein/Ausgabe-Speicher 507 des integrierten CHF/CHN-Adapters 21D ist
ein Programm 814 für
einen externen Zugriff gespeichert, wie es in Verbindung mit der 6 beschrieben
wurde.
-
In
dem gezeigten Beispiel ist das Ein/Ausgabe-Zuordnungsprogramm 812 im
Ein/Ausgabe-Speicher 507 gespeichert, und das Befehlsanalyseprogramm 811 ist
im CHN-Speicher 508 gespeichert. Diese
Programme 811, 821 können in jedem der Speicher 507, 508 gespeichert
sein.
-
(4) Vierte Modifikation
-
Die 21 zeigt
in einer Blockdarstellung den Aufbau des Speichersystems bei einer
vierten Modifikation der vorliegenden Ausführungsform.
-
Wie
gezeigt ist hier jeder aus einer Anzahl von CHAs 21C im
ersten Speichersteuersystem 600, die anstelle des CHN 21A im
ersten Speichersteuersystem 600 vorgesehen sind, über ein
viertes Kommunikationsnetzwerk (zum Beispiel ein SAN) CN4 mit einem
dritten Speichersteuersystem (zum Beispiel einem NAS-Kopf, der im
folgenden "NAS-Kopf" genannt wird) verbunden,
das sich außerhalb
des ersten Speichersteuersystems 600 befindet. Im NAS-Kopf 950 sind
ein Kommunikationsport 951A, der mit dem LAN CN1 verbunden
ist, und ein Kommunikationsport 951B vorgesehen, der mit
dem SAN CN4 verbunden ist.
-
Die 22 zeigt
einen beispielhaften Aufbau des NAS-Kopfes 950 und des
CHA 21C.
-
Der
NAS-Kopf 950 enthält
eine LAN-Steuerung 1503, die mit dem Kommunikationsport 951A verbunden
ist, eine Brücken-LSI 1502,
die mit der LAN-Steuerung 1503 verbunden ist, einen NAS-Speicher 1508,
einen NAS-Prozessor 1506, eine Speichersteuerung 1505,
die mit dem NAS-Speicher 1508 und dem NAS-Prozessor 1506 verbunden
ist, und eine FC-Steuerung 1602, die mit dem Brücken-LSI 1502 und
dem Kommunikationsport 951E verbunden ist. Wenn ein Element
hier den gleichen Namen hat wie ein Element des CHN 21A der 5 oder
des CHF 21B der 6, hat das Element auch die
gleiche Funktion. Der NAS-Speicher 1508 hat die gleiche
Funktion wie der CHN-Speicher 508.
-
Der
CHA 21C enthält
eine FC-Steuerung 711, die über einen Kommunikationsport 207C mit dem
SAN CN4 verbunden ist, einen oder eine Anzahl von Ein/Ausgabe-Steuerabschnitten 771 mit
einem Ein/Ausgabe-Prozessor 119 und einem Ein/Ausgabe-Speicher 121,
eine Datenübertragungs-LSI 952, die
mit der FC-Steuerung 711 und dem Ein/Ausgabe-Prozessor 119 verbunden
ist, und einen Verbinder 954, der mit dem Verbindungsabschnitt 26 und
dem Datenübertragungs-LSI 952 im
ersten Speichersteuersystem 600 verbunden ist. Wenn ein
Element hier den gleichen Namen hat wie ein Element des CHN 21A der 5 oder
des CHF 21B der 6, hat das Element auch die
gleiche Funktion.
-
Im
ersten Speichersteuersystem 600 ist ein Knoten 953 vorgesehen.
Der Ein/Ausgabe-Prozessor 119 ist über den Knoten 953 mit
dem LAN CN1 und dem SVP 23 verbunden.
-
In
dem gezeigten Beispiel ist das Ein/Ausgabe-Zuordnungsprogramm 812 im
Ein/Ausgabe-Speicher 121 gespeichert, und das Befehlsanalyseprogramm 811 ist
im NAS-Speicher 1508 gespeichert. Diese
Programme 811, 821 können in jedem der Speicher 121, 1508 gespeichert
sein.
-
Wie
sich aus der vorstehenden Beschreibung ergibt, befindet sich bei
der vierten Modifikation der NAS-Prozessor 506 des CHN 21A als
NAS-Prozessor 1506 im NAS-Kopf 950, der sich außerhalb des
ersten Speichersteuersystems 600 befindet. Wenn zwischen
dem NAS-Prozessor 1506 und dem Ein/Ausgabe-Prozessor 119 im
CHA 21C ein ähnlicher
Datenaustausch erfolgt wie zwischen dem NAS-Prozessor 506 und
dem Ein/Ausgabe-Prozessor 504, werden auch ähnliche
Ergebnisse erhalten wie bei der oben beschriebenen Ausführungsform und
den oben beschriebenen Modifikationen. Im folgenden wird ein Beispiel
beschrieben.
-
Die 23 zeigt den Prozeßablauf bei der vierten Modifikation
der vorliegenden Ausführungsform
beim Austausch von Ein/Ausgabe-Zuordnungssteuerdaten 820.
-
Zum
Beispiel gibt wie in der 23(A) gezeigt
der NAS-Prozessor 1506 des NAS-Kopfs 950 eine Anweisung zur
Aufnahme von Ein/Ausgabe-Zuordnungssteuerdaten 820 über das
LAN CN1 an den Ein/Ausgabe-Prozessor 119 des CHA 21C (S300).
-
In
Reaktion darauf liest der Ein/Ausgabe-Prozessor 119 des
CHA 21C die im CM 24 gespeicherten Ein/Ausgabe-Zuordnungssteuerdaten 820 aus
und speichert sie im Ein/Ausgabe-Speicher 121 (S301, S302).
Der Ein/Ausgabe-Prozessor 119 des CHA 21C überträgt die Ein/Ausgabe-Zuordnungssteuerdaten 820 im
Ein/Ausgabe-Speicher 121 über das LAN CN1 zum NAS-Kopf 950 (S303).
Die Ein/Ausgabe-Zuordnungssteuerdaten 820 werden dadurch
im NAS-Speicher 1508 des NAS-Kopfes 950 gespeichert
(S304).
-
Außerdem gibt
zum Beispiel wie in der 7(B) gezeigt
der NAS-Prozessor 1506 des NAS-Kopfes 950 eine
Anweisung zur Aufnahme der Ein/Ausgabe-Zuordnungssteuerdaten 820 über das LAN
CN1 zum Ein/Ausgabe-Prozessor 119 des CHA 21C (S310).
-
In
Reaktion auf diese Anweisung gibt der Ein/Ausgabe-Prozessor 119 einen
Auslesebefehl zum Auslesen der Ein/Ausgabe-Zuordnungssteuerdaten 820 an
den DKA 22, der auf die interne LDEV 31 zugreifen
kann, in der die Ein/Ausgabe-Zuordnungssteuerdaten 820 gespeichert
sind (S311).
-
Der
DKA 22, der den Auslesebefehl erhält, reserviert im CM 24 einen
Cache-Bereich, nimmt
die Ein/Ausgabe-Zuordnungssteuerdaten 820 auf, die in der
internen LDEV 31 gespeichert sind, und speichert sie im
Cache-Bereich (S312).
-
Der
Ein/Ausgabe-Prozessor 119 liest die Ein/Ausgabe-Zuordnungssteuerdaten 820 aus
dem reservierten Cache-Bereich in den Ein/Ausgabe-Speicher 121 (S313).
Die Ein/Ausgabe-Zuordnungssteuerdaten 820 werden dadurch
im Ein/Ausgabe-Speicher 121 gespeichert (S314).
-
Der
Ein/Ausgabe-Prozessor 119 überträgt dann die Ein/Ausgabe-Zuordnungssteuerdaten 820 aus
dem Ein/Ausgabe-Speicher 121 über das SAN CN4 als die in
Reaktion auf die Aufnahmeanweisung in S310 ausgelesenen Daten zum
NAS-Kopf 950 (S315). Die Ein/Ausgabe-Zuordnungssteuerdaten 820 werden
dadurch im NAS-Speicher 1508 des NAS-Kopfes 950 gespeichert
(S316).
-
Die 24 zeigt
beispielhaft den Prozeßablauf
bei der vierten Modifikation der vorliegenden Ausführungsform,
wenn ein vom Host 10A ausgegebener Datei-Ein/Ausgabe-Befehl
als Block-Ein/Ausgabe-Befehl übertragen
wird.
-
Der
vom Host 10A ausgegebene Datei-Ein/Ausgabe-Befehl wird über das
LAN CN1 vom NAS-Kopf 950 aufgenommen und im NAS-Speicher 1508 gespeichert
(S451).
-
Der
NAS-Prozessor 1506 liest den im NAS-Speicher 1508 gespeicherten
Datei-Ein/Ausgabe-Befehl
aus (S452) und analysiert den Befehl mit Hilfe des Dateianalyseprogramms 811 (S453).
Der NAS-Prozessor 1506 wandelt den Datei-Ein/Ausgabe-Befehl
in einen Block-Ein/Ausgabe-Befehl um (S454) und überträgt den Block-Ein/Ausgabe-Befehl über das
SAN CN4 zum Ein/Ausgabe-Prozessor 119 des CHA 21C (S455).
-
Der
Ein/Ausgabe-Prozessor 119 führt auf der Basis der im erhaltenen
Block-Ein/Ausgabe-Befehl enthaltenen
Adresseninformationen und der Ein/Ausgabe-Zuord nungssteuerdaten 820 den
oben beschriebenen Ein/Ausgabe-Zuordnungsprozeß aus (S456).
-
Der
nachfolgende Ablauf ist der gleiche wie in S957 bis S960 der 16 (S457
bis S460).
-
Die
vorstehende Beschreibung betrifft den Datenaustausch zwischen dem
NAS-Prozessor 1506 des
NAS-Kopfes 950 und dem Ein/Ausgabe-Prozessor 119 des
CHA 21C, wobei beispielhaft das Ein/Ausgabe-Zuordnungsprogramm 812 im
Ein/Ausgabe-Speicher 121 gespeichert ist und das Befehlsanalyseprogramm 811 im
NAS-Speicher 1508. Wenn zwischen dem NAS-Prozessor 1506 und
dem Ein/Ausgabe-Prozessor 119 ein ähnlicher Datenaustausch erfolgt
wie zwischen dem NAS-Prozessor 506 und dem Ein/Ausgabe-Prozessor 504,
können
die gleichen Ergebnisse erhalten werden wie bei der vorliegenden
Ausführungsform
und bei der ersten und zweiten Modifikation. Mit anderen Worten
können
bei der vierten Modifikation die gleichen Ergebnisse erhalten werden
wie bei der Ausführungsform
und der ersten und zweiten Modifikation, wenn in den 7, 8, 10, 16 und 18 der
CHN-Speicher 508 durch den NAS-Speicher 1508 ersetzt
wird, der NAS-Prozessor 506 durch den NAS-Prozessor 1506 und
der Ein/Ausgabe-Prozessor 504 durch den Ein/Ausgabe-Prozessor 119.
In den 12 und 14 kann
auch der CHN 21A durch den CHA 21C ersetzt werden.
-
Es
wurden vorstehend eine Ausführungsform
und Modifikationen der vorliegenden Erfindung beschrieben, diese
stellen jedoch nur Beispiele zum Zwecke der Beschreibung der vorliegenden
Erfindung dar, und der Umfang der vorliegenden Erfindung ist nicht
auf diese Ausführungsform
und diese Modifikationen allein beschränkt. Die vorliegende Erfindung
kann auf vielfältige
Art ausgeführt
werden. Zum Beispiel kann bei der beschriebenen Ausführungsform
und den beschriebenen Modifikationen der Datenaustausch zwischen
dem ersten Speichersteuersystem 600 und dem zweiten Speichersteuersystem 40 auch
gemäß einem
iSCSI-Protokoll erfolgen. Anstelle der CHF's im ersten Speichersteuersystem 600 und
zweiten Speichersteuersystem 40 können dann iSCSI-Kanaladapter
mit Kommunikationsports mit iSCSI-Namen (eindeutigen Identifikatoren
im iSCSI-Protokoll) verwendet werden. In diesem Fall werden zwischen
dem ersten Speichersteuersystem 600 und dem zweiten Speichersteuersystem 40 anstelle
von WWNs die iSCSI-Namen ausgetauscht.