-
HINTERGRUND DER ERFINDUNG
-
Sachgebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Speichersystem.
-
Beschreibung des Stands der Technik
-
Die
Umgebung um die Informationssysteme herum ändert sich schnell, wie beispielsweise
der Fortschritt der IT-Technologie und Veränderungen zu einem Breitband
hin. Im Zusammenhang hiermit sind Maßnahmen gegen die schnelle
Erhöhung
der Datenmenge, die gehandhabt wird, ernsthaft erforderlich. Deshalb
unterliegen die Speichersysteme, die in Datenzentren arbeiten, einer
unmittelbaren Veränderung
zu großen
Kapazitäten
und höheren
Leistungen der Speicher-Controller bzw. Speichersteuerungen, wie
beispielsweise Disk-Array-Geräten,
hin.
-
Um
den Speicherbereich zu erhöhen,
kann zum Beispiel ein Disk-Array-Gerät zusätzlich vorgesehen werden. Allerdings
wird die Belastung einer Verwaltung auf der Seite des Hostcomputers
unvermeidbar erhöht,
und zwar entsprechend so, wie sich die Zahl der Disk-Array-Geräte, die
installiert sind, was den Ablauf von Anwendungen auf der Seite des Hostcomputers
beeinflussen kann. Weiterhin wird in neuerer Zeit eine so genannte "Virtualisierung" durchgeführt, die
eine Technologie ist, um einen großen Speicherbereich effizient
zu verwalten, ohne dass Benutzern die Hardwarekonfiguration so weit wie
möglich
bewusst gemacht wird. Allerdings kann die Virtualisierung eine Erhöhung der
Belastung beim Verarbeiten auf der Seite des Hostcomputers verursachen.
-
Ein
Speichersystem mit den im Oberbegriff des Anspruchs 1 angegebenen
Merkmalen ist aus
US
2002/087751 A1 bekannt.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Im
Hinblick auf die Umstände,
die vorstehend beschrieben sind, wird erwartet, dass das Erfordernis
nach der Technologie zum Verringern der Belastung beim Verarbeiten
auf der Seite des Hostcomputers größer und größer werden wird. Es ist demzufolge
eine Aufgabe der Erfindung, ein Speichersystem mit einer größeren Kapazität und einer
höheren Leistung
zu schaffen, ohne die Verarbeitungsbelastung auf der Seite des Hostcomputers
zu erhöhen.
-
Diese
Aufgabe wird durch das Speichersystem, das in Anspruch 1 definiert
ist, gelöst.
-
Merkmale
und Aufgaben der vorliegenden Erfindung, andere als solche, die
vorstehend angegeben sind, werden durch Lesen der Beschreibung der
vorliegenden Unterlagen unter Bezugnahme auf die beigefügten Zeichnungen
klarer werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Für ein vollständigeres
Verständnis
der vorliegenden Erfindung und der Vorteile davon wird nun Bezug
auf die nachfolgende Beschreibung genommen, die in Verbindung mit
den beigefügten
Zeichnungen vorgenommen wird.
-
1 stellt
den Aufbau eines Speichersystems entsprechend einer Ausführungsform
der vorliegenden Erfindung dar;
-
2 stellt
den Aufbau eines Datenrahmens eines Fiber-Channel entsprechend einer
Ausführungsform
der vorliegenden Erfindung dar;
-
3 stellt
den Aufbau eines Frame-Header entsprechend einer Ausführungsform
der vorliegenden Erfindung dar;
-
4 stellt
den Aufbau von FCP_CMND entsprechend einer Ausführungsform der vorliegenden Erfindung
dar;
-
5 zeigt
ein Flussdiagramm, das die Betriebsweise eines Speichersystems entsprechend
einer Ausführungsform
der vorliegenden Erfindung darstellt, wenn ein Datenrahmen von einem
Hostcomputer zu einer ersten Speichersteuerung gesendet wird;
-
6 stellt
eine LUN-Verwaltungstabelle entsprechend einer Ausführungsform
der vorliegenden Erfindung dar;
-
7 stellt
eine Zugriffsbeschränkungs-Verwaltungtabelle
entsprechend einer Ausführungsform der
vorliegenden Erfindung dar;
-
8 zeigt
ein Flussdiagramm, das eine Zugriffsbeschränkungsfunktion entsprechend
einer Ausführungsform
der vorliegenden Erfindung darstellt;
-
9 stellt
eine Prioritätsverwaltungstabelle entsprechend
einer Ausführungsform
der vorliegenden Erfindung dar;
-
10 zeigt
ein Flussdiagramm, das eine Prioritätssteuerfunktion entsprechend
einer Ausführungsform
der vorliegenden Erfindung darstellt;
-
11 stellt
eine Paar-Verwaltungstabelle entsprechend einer Ausführungsform
der vorliegenden Erfindung dar; und
-
12 zeigt
ein Flussdiagramm, das die Verarbeitung des Speichersystems entsprechend
einer Ausführungsform
der vorliegenden Erfindung darstellt, wenn ein Datenrahmen übertragen
wird, in dem eine Datenschreibanforderung für ein logisches Hauptvolumen
beschrieben ist.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Zumindest
werden die nachfolgenden Punkte durch die Erläuterung in der vorliegenden
Spezifikation und der Beschreibung der beigefügten Zeichnungen deutlich gemacht.
-
[Zusammenfassung der Offenbarung]
-
Verfahren
zum Steuern eines Speichersystems, wobei das Speichersystem aufweist:
einen Hostcomputer; eine erste Speichersteuerung, die für eine Datenübertragung
mit dem Hostcomputer verbunden ist, um einen Datenrahmen aufzunehmen, der
von dem Hostcomputer gesendet ist, und um eine Dateneingabe zu einer
ersten Speichervorrichtung in Abhängigkeit einer Daten-Ein/Ausgabeanforderung, die
in dem Datenrahmen beschrieben ist, sowie eine Datenausgabe auszuführen; und
eine zweite Speichersteuerung, die für eine Datenübertragung
mit der ersten Speichersteuerung verbunden ist, um einen Datenrahmen
aufzunehmen, der von dem Hostcomputer zu der ersten Speichersteuerung
gesendet ist und durch die erste Speichersteuerung weitergeleitet ist,
und zum Ausführen
einer Dateneingabe zu einer zweiten Speichersteuerung in Abhängigkeit
einer Daten-Ein/Ausgabeanforderung, die im Datenrahmen beschrieben
ist, und einer Datenausgabe davon, wobei dann, wenn die erste Speichersteuerung
den Datenrahmen, der von dem Hostcomputer gesendet ist, empfängt, die
erste Speichersteuerung den Datenrahmen zu der zweiten Speichersteuerung
in Abhängigkeit
von Informationen, die in dem Datenrahmen beschrieben sind, weiterleitet.
-
Bei
diesem Verfahren ist die zweite Speichersteuerung mit der ersten
Speichersteuerung so verbunden, dass der Datenrahmen, der von dem Hostcomputer
gesendet ist, temporär
durch die erste Speichersteuerung empfangen wird und durch die erste
Speichersteuerung zu der zweiten Speichersteuerung in Abhängigkeit
von Informationen, die in dem Datenrahmen beschrieben sind, gesendet
wird. Bei diesem Aufbau sendet der Hostcomputer wahllos den Datenrahmen
zu der ersten Speichersteuerung ungeachtet davon, ob der Datenrahmen,
den der Hostcomputer gerade sendet, an die erste Speichersteuerung
oder die zweite Speichersteuerung gerichtet ist. Deshalb muss der
Hostcomputer nicht direkt mit der zweiten Speichersteuerung dann
kommunizieren, wenn der Datenrahmen gesendet wird, und die Verarbeitungsbelastung
an dem Hostcomputer kann um die Menge, die durch die direkte Kommunikation
erzeugt ist, verglichen mit dem Schema, bei dem ein Hostcomputer
direkte Kommunikationen bzw. Datenübertragungen mit der zweiten
Speichersteuerung ausführt.
-
Eine
Funktion zum Weiterleiten des Datenrahmens zu der zweiten Speichersteuerung
in Abhängigkeit
von Informationen, die in dem Datenrahmen beschrieben sind, kann,
wenn der Datenrahmen, der von dem Hostcomputer gesendet ist, empfangen worden
ist, zum Beispiel durch ein Programm realisiert werden, das auf
der ersten Speichersteuerung läuft.
-
Der
Datenrahmen ist zum Beispiel ein Datenrahmen, der mit dem Fiber
Channel Protocol übereinstimmt.
Die Weiterleitung wird durch einen Fiber-Channel-Schalter ausgeführt, der
in der ersten Speichersteuerung enthalten ist.
-
Die
Informationen sind zumindest entweder Informationen zum Spezifizieren
eines Fiber-Channel-Anschlusses der Quelle des Datenrahmens, Informationen
zum Spezifizieren eines Fiber-Channel-Anschlusses der Bestimmung
des Datenrahmens oder Informationen zur Spezifizierung einer Speichervorrichtung.
Unter diesen sind die Informationen zum Spezifizieren eines Fiber-Channel-Anschlusses
der Quelle beispielsweise Source_ID, was später beschrieben wird. Die Informationen
zum Spezifizieren eines Fiber-Channel-Anschlusses für die Bestimmung
ist zum Beispiel Destination_ID, was später beschrieben wird. Die Informationen
zum Spezifizieren einer Speichervorrichtung sind zum Beispiel FCP_LUN,
was später
beschrieben wird.
-
Die
Speichervorrichtung ist zum Beispiel ein logisches Dateiverzeichnis,
das in Zonen auf einem Speicherbereich, bereitgestellt durch ein
Plattenlaufwerk, oder einem physikalischen Speicherbereich, bereitgestellt
durch ein Plattenlaufwerk, organisiert ist.
-
Bei
diesem Verfahren arbeitet die erste Speichersteuerung eher als ein
Netzwerkschalter, der entweder selbst den Datenrahmen, der von dem Hostcomputer
gesendet ist, aufnimmt oder den Datenrahmen zu der zweiten Speichersteuerung
weiterleitet. Dann kann, da die erste Speichersteuerung als ein
Netzwerkschalter arbeitet, eine angewandte Operation einfach vorgesehen
werden, bei der die Informationen und Funktionen, die durch die
erste Speichersteuerung verarbeitet werden, mit der Funktion als
Netzwerkschalter kombiniert werden. Deshalb können Funktionen, wie zum Beispiel
eine Zugriffsbeschränkungsfunktion,
eine Prioritätssteuerung, eine
doppelte Verwaltung von Daten, was später beschrieben wird, einfach
vorgesehen werden. Ohne auf diese Funktionen beschränkt zu sein,
können
verschiedene Funktionen einfach realisiert werden, die durch Kombinieren
der Funktion als Netzwerkschalter und den Funktionen, die die erste
Speichersteuerung ursprünglich
als eine Speichersteuerung besaß, realisiert
werden.
-
Weiterhin
wird, wenn die Virtualisierungstechnologie auf das Speichersystem
angewandt wird, eine Mehrzahl Speichervorrichtungen virtuell einheitlich
als eine Vorrichtung und/oder eine Verwaltung/Operation von Funktionen,
wie beispielsweise ein Fernkopier- und Datenkopier-Verwaltung, konsolidiert.
Durch die Ausstattung mit solchen Funktionen wird der Einfluss des
Ressourcenverbrauchs und der Verarbeitungsrate auf der Seite des
Hostcomputers unvermeidbar. Allerdings ist es dadurch, dass die
Bereitstellung der Funktionen, die durch Kombinieren der Funktionen
gebildet sind, die die erste Speichersteuerung ursprünglich als
eine Speichersteuerung besaß,
und der Funktion, wie diejenige eines Netzwerkschalters, in dem
die erste Speichersteuerung mit der Funktion wie diejenige eines
Netzwerkschalters, wie dies vorstehend beschrieben ist, ausgestattet
wird, verfügbar
gemacht wird, möglich,
die Funktionen, die ursprünglich
in dem Hostcomputer vorhanden waren, der Seite der ersten Speichersteuerung bereitzustellen,
um den Verbrauch an Ressourcen und die Arbeitsbelastung auf der
Seite des Hostcomputers zu minimieren und ein System bereitzustellen, das
die Virtualisierung unterstützt.
-
Weiterhin
können
dann, wenn ein Schalter für
allgemeine Zwecke, wie beispielsweise ein Fiber-Channel-Schalter,
als der Netzwerkschalter verwendet wird, die erste Speichersteuerung
und die zweite Speichersteuerung einfach verbunden werden, auch
wenn diese Speichersteuerungen unterschiedliche Modelle sind oder
von unterschiedlichen Herstellern stammen. Deshalb kann das Speichersystem
einfach konfiguriert werden und eine vollständige Ausnutzung von Ressourcen,
wie beispielsweise existierende oder veraltete Speichersteuerungen, können verbessert
werden. Zusätzlich
kann in den Ausführungsformen
von (i) Basisoperationen, (ii) einer Zugriffsbeschränkungsfunktion,
(iii) einer Prioritätssteuerung
und (iv) einer Datenkopierverwaltung ein vollständiger Gebrauch einer Mehrzahl
von Speichersteuerungen durch Verbinden einer Speichersteuerung,
die mit diesen Funktionen ausgestattet ist, mit einer Vielzahl von
Speichersteuerungen, die nicht mit diesen Funktionen ausgestattet
sind, verbessert werden.
-
In
dem Datenrahmen werden, als die Informationen, zumindest entweder
die Informationen zum Spezifizieren eines Fiber-Channel-Anschlusses der
Quelle des Datenrahmens, Informationen zum Spezifizieren eines Fiber-Channel-Anschlusses
der Bestimmungsstelle für
den Datenrahmen oder Informationen zum Spezifizieren einer Speichervorrichtung
beschrieben. Die erste Speichersteuerung speichert Zugriffsbeschränkungs-Informationen,
die anzeigen, ob ein Zugang eines Fiber-Channel-Anschlusses der Quelle zu einem Fiber-Channel-Anschluss
oder einem Speichervorrichtung der Bestimmungsstelle zugelassen
ist oder nicht zugelassen ist. Deshalb kann ein Aufbau derart erfolgen,
dass dann, wenn die erste Speichersteuerung den Datenrahmen von
dem Hostcomputer empfängt,
die erste Speichersteuerung auf die Zugriffsbeschränkungs-Informationen
Bezug nimmt, um zu prüfen,
ob ein Zugang eines Fiber-Channel-Anschlusses der Quelle des Datenrahmens
zu einem Fiber-Channel-Anschluss der Bestimmungsstelle oder einer
Speichervorrichtung der Bestimmungsstelle zugelassen ist, und leitet den
Datenrahmen zu der zweiten Speichersteuerung nur dann weiter, wenn
der Zugang zugelassen wird.
-
Auf
diese Art und Weise beurteilt die erste Speichersteuerung basierend
auf den Zugriffsbeschränkungs-Informationen,
ob die erste Speichersteuerung den Datenrahmen zu der zweiten Speichersteuerung übertragen
sollte, und demzufolge führt
die erste Speichersteuerung einen Ersatz der Rolle der zweiten Speichersteuerung
in Bezug auf den Vorgang, der sich auf die Zugriffsbeschränkung des
Datenrahmens bezieht, der an die zweite Speichersteuerung gerichtet
ist, aus. Deshalb ist es ausreichend, dass die Funktion zum Verarbeiten
einer Zugriffsbeschränkung
nur an der ersten Speichersteuerung ausgeführt wird, und die Belastung
einer Wartung wird in dem Umfang verringert, der dadurch hervorgerufen
wird, dass ein solcher Mechanismus bei der zweiten Speichersteuerung
vorgesehen wird. Die Funktion der ersten Speichersteuerung, die
sich auf die Zugriffsbeschränkung
bezieht, wird zum Beispiel durch ein Programm realisiert, das auf
der ersten Speichersteuerung läuft.
-
Da
für die
zweite Speichersteuerung kein Erfordernis vorhanden ist, dass sie
mit einer Zugriffsbeschränkungsfunktion
ausgestattet ist, kann eine Speichersteuerung, die eine geringere
Leistung als diejenige der ersten Speichersteuerung besitzt, als die
zweite Speichersteuerung verwendet werden, und deshalb können die
Einführungskosten
und die Betriebskosten verringert werden. Weiterhin können alte
Typen von Speichersteuerungen, die eine geringere Leistung, verglichen
mit den neu eingeführten Speichersteuerungen
haben, vollständig
als zweite Speichersteuerungen verwendet werden. Darüber hinaus
ist es ausreichend, dass die Zugriffsbeschränkungs-Verwaltungstabelle nur
in der ersten Speichersteuerung gespeichert ist, und deshalb wird
eine Verringerung der Belastung für eine Aktualisierung, erhalten
durch die vereinheitlichte Verwaltung, verbessert.
-
Eine
Anordnung kann wie folgt sein: in dem Datenrahmen werden, als die
Informationen, solche Informationen zum Spezifizieren eines Fiber-Channel-Anschlusses
der Quelle des Datenrahmens und Informationen zum Spezifizieren
eines Fiber-Channel-Anschlusses
der Bestimmungsstelle des Datenrahmens beschrieben; die erste Speichersteuerung speichert
Informationen, die die Priorität
einer Daten-Ein/Ausgangsverarbeitung entsprechend zu dem Datenrahmen
anzeigen, indem sie auf Kombinationen eines Fiber-Channel-Anschlusses
der Quelle und eines Fiber-Channel-Anschlusses der Bestimmungsstelle
beruhen; die Vorrichtung führt,
wenn die erste Speichersteuerung den Datenrahmen von dem Hostcomputer
empfängt,
eine Dateneingabe zu der Speichervorrichtung und eine Datenausgabe
davon, die mit einem Anschluss der Bestimmungsstelle des Datenrahmens
verbunden ist, entsprechend zu Informationen, die die Priorität anzeigen,
aus. Die Informationen, die die Priorität anzeigen, sind zum Beispiel
Informationen, die den Zeitpunkt zum Ausführen der Dateneingabe zu der
Speichervorrichtung und der Datenausgabe davon anzeigen, genauer
gesagt eine Verzögerungszeit,
die später
beschrieben wird.
-
Bei
diesem Mechanismus kann vorgesehen werden, dass die erste Speichersteuerung
die Prioritätssteuerfunktion
ausführt,
die somit die Rolle der zweiten Speichersteuerung ersetzt. Das bedeutet, dass,
nur durch Ausführen
der Prioritätssteuerfunktion
an der ersten Speichersteuerung, eine Prioritätssteuerung auch in Bezug auf
den Datenrahmen ausgeführt
werden kann, der an die zweite Speichersteuerung gerichtet ist,
und die Belastung eines Betriebs, die der zweiten Speichersteuerung
auferlegt wird, kann um den Umfang verringert werden, der durch Vorsehen
eines solchen Mechanismus erhalten wird.
-
Die
Funktion der ersten Speichersteuerung, die sich auf die Prioritätssteuerung
bezieht, wird zum Beispiel durch ein Programm realisiert, das auf
der ersten Speichersteuerung läuft.
-
Da
hierbei kein Bedarf vorhanden ist, dass die zweite Speichersteuerung
mit einer Prioritätssteuerfunktion
versehen wird, kann eine Speichersteuerung, die eine geringere Verarbeitungsleistung als
diejenige der ersten Speichersteuerung besitzt, als die zweite Speichersteuerung
verwendet werden, und deshalb können
die Einführungskosten
und die Betriebskosten verringert werden. Weiterhin können alte
Typen von Speichersteuerungen, die eine geringere Leistung verglichen
mit den neu eingeführten Speichersteuerungen
haben, vollständig
als zweite Speichersteuerungen verwendet werden. Darüber hinaus
ist es ausreichend, dass die Prioritätsverwaltungstabelle nur in
der ersten Speichersteuerung gespeichert ist, was demzufolge eine
Verringerung der Belastung einer Aktualisierung durch die vereinheitlichte
Verwaltung ergibt.
-
Bei
einem Verfahren zum Steuern eines Speichersystems weist das Speichersystem
auf: einen Hostcomputer; eine erste Speichersteuerung, die für eine Datenübertragung
mit dem Hostcomputer verbunden ist, um einen Datenrahmen, der von
dem Hostcomputer aus gesendet ist, zu empfangen und um eine Dateneingabe
zu einer ersten Speichervorrichtung aufgrund einer Daten-Ein/Ausgabeanforderung,
die in dem Datenrahmen beschrieben ist, und eine Datenausgabe davon
auszuführen;
und eine zweite Speichersteuerung, die für eine Datenübertragung
mit der ersten Speichersteuerung verbunden ist, um einen Datenrahmen,
der von dem Hostcomputer zu der ersten Speichersteuerung gesendet
ist und durch die erste Speichersteuerung weitergeleitet ist, zu
empfangen und eine Dateneingabe zu einer zweiten Speichervorrichtung
auf eine Daten-Ein/Ausgabeanforderung hin, die in dem Datenrahmen
beschrieben ist, und eine Datenausgabe davon auszuführen, wobei
die erste Speichersteuerung eine Kopie von Daten, die in dem ersten
Speichervorrichtung gespeichert sind, das das Objekt einer Daten-Ein/Ausgabe
ist, die durch die erste Speichersteuerung vorgenommen wird, in
die zweite Speichervorrichtung, ebenso wie sie das Objekt einer
Daten-Ein/Ausgabe ist, die durch die zweite Speichersteuerung vorgenommen
wird, speichert, wobei der Datenrah men darin beschriebene Informationen
zum Spezifizieren eines Fiber-Channel-Anschlusses, der mit der ersten
Speichervorrichtung oder der zweiten Speichervorrichtung verbunden
ist, besitzt, das die Bestimmungsstelle des Datenrahmens und der
Informationen zum Spezifizieren der Speichervorrichtungen ist, wobei
dann, wenn die erste Speichersteuerung den Datenrahmen empfängt, in
dem eine Datenschreibanforderung für die erste Speichervorrichtung beschrieben
ist, die erste Speichersteuerung ein Schreiben von Daten an diesem
Datenrahmen zu der ersten Speichervorrichtung ausführt, während gleichzeitig
die erste Speichersteuerung einen Datenrahmen erzeugt, in dem die
Informationen zum Spezifizieren des Fiber-Channel-Anschlusses und
die Informationen zum Spezifizieren der Speichervorrichtungen, die
in dem ersten Datenrahmen beschrieben sind, umgeschrieben werden,
dass das Objekt die zweite Speichervorrichtung ist, wobei die erste
Speichersteuerung den erzeugten Datenrahmen zu der zweiten Speichersteuerung
sendet, und wobei die zweite Speichersteuerung den Datenrahmen empfängt und
ein Schreiben von Daten an diesem Datenrahmen zu der zweiten Speichervorrichtung
ausführt, um
dadurch eine Kopie der Daten, die in der ersten Speichervorrichtung
gespeichert sind, in die zweite Speichervorrichtung zu speichern,
ebenso wie dies das Objekt einer Daten-Ein/Ausgabe ist, die durch die
zweite Speichersteuerung ausgeführt
wird.
-
Entsprechend
diesem Verfahren kann ein Mechanismus für eine Datenkopierverwaltung,
bei der Daten, die in der ersten Speichervorrichtung gespeichert
sind, in der zweiten Speichervorrichtung gespeichert werden, ebenso
einfach nur durch Bereitstellen eines Mechanismus zum Erzeugen eines Datenrahmens,
wie dies vorstehend beschrieben ist, in der ersten Speichersteuerung
realisiert werden.
-
Es
sollte angemerkt werden, dass die Funktion der ersten Speichersteuerung,
die sich auf die Datenkopierverwaltung bezieht, zum Beispiel durch ein
Programm realisiert wird, das auf der ersten Speichersteuerung läuft.
-
[Aufbau des Speichersystems]
-
Der
Aufbau eines Speichervorrichtungssystems (Speichersystem), das als
eine Ausführungsform
der vorliegenden Erfindung beschrieben ist, ist in 1 dargestellt.
Das Speichersystem wird zum Beispiel in einem Datenzentrum betrieben.
Ein Hostcomputer 5 und eine erste Speichersteuerung 10 sind über eine
erste Datenübertragungseinrichtung 40,
die dem Fiber Channel Protocol entspricht, verbunden. Der Hostcomputer 5 ist
ein Computer, wie beispielsweise ein Personal Computer, eine Workstation
oder ein Computer für
allgemeine Zwecke. Die erste Speichersteuerung 10 und eine
zweite Speichersteuerung 20 sind über eine zweite Datenübertragungseinrichtung 50,
die dem Fiber Channel Protocol entspricht, verbunden.
-
Die
erste Speichersteuerung 10 umfasst eine Schaltsteuereinheit 11 und
eine Speichervorrichtungs-Steuereinheit 12. Die Schaltsteuereinheit 11 und
die Speichervorrichtungs-Steuereinheit 12 sind über einen
internen Datenübertragungspfad 13, wie
beispielsweise einen internen Bus, verbunden.
-
Die
Schaltsteuereinheit 11 weist eine Schaltvorrichtung 111,
einen Mikroprozessor 112 und einen Steuerspeicher 113,
wie beispielsweise einen ROM, einen RAM, usw., auf. Die Schaltvorrichtung 111 ist mit
Funktionen, wie beispielsweise einem Fiber-Channel-Schalter (nachfolgend
bezeichnet als ein "FC
Schalter"), ausgestattet
und besitzt eine vorgegebene Zahl von Fiber-Channel-Anschlüssen. Die Schaltvorrichtung 111 nimmt
einen Datenrahmen, der von dem Hostcomputer 5 aus gesendet
ist, auf und leitet den Datenrahmen zu der Speichervorrichtungs-Steuereinheit 12 oder
der zweiten Speichersteuerung 20 weiter. Zusätzlich empfängt die
Schaltvorrichtung 111 auch einen Datenrahmen, der von der
Speichervorrichtungs-Steuereinheit 12 oder der zweiten
Speichersteuerung 20 gesendet ist, und leitet den Datenrahmen
zu dem Hostcomputer 5 weiter. Der Mikroprozessor 112 stellt
verschiedene Funktionen der Schaltsteuereinheit 11 bereit.
Zusätzlich steuert
der Mikroprozessor 112 verschiedene Baukomponenten, die
in der Schaltsteuereinheit 11 enthalten sind. Weiterhin
steuert der Mikroprozessor 112 ein Senden/Empfangen des
Datenrahmens, was an der Schaltvorrichtung 111 durchgeführt wird.
Der Steuerspeicher 113 wird zum Beispiel als ein Arbeitsspeicher
für die
Vorgänge,
die durch den Mikroprozessor 112 ausgeführt werden, oder als ein Speicherbereich
für verschiedene
Daten, wie beispielsweise Tabellen und Variablen, verwendet.
-
Die
Speichervorrichtungs-Steuereinheit 12 empfängt einen
Datenrahmen, der über
den internen Datenübertragungspfad 13 gesendet
ist, und führt eine
Dateneingabe zu einem Plattenlaufwerk 14 und eine Datenausgabe
davon in Abhängigkeit
einer Daten-Ein/Ausgabeanforderung,
die in dem Datenrahmen beschrieben ist, aus. Die Daten-Ein/Ausgabevorgänge umfassen
eine Datenschreibanforderung und eine Datenleseanforderung. Die
Dateneingabe und -ausgabe umfasst in der nachfolgenden Beschreibung
die Fälle,
bei denen sie entweder eine Datenschreibanforderung oder eine Datenleseanforderung
umfasst, und wo sie sowohl eine Datenschreibanforderung als auch
eine Datenleseanforderung umfasst.
-
Der
Mikroprozessor 121 sieht verschiedene Funktionen der Speichervorrichtungs-Steuereinheit 12 vor
und steuert die verschiedenen Komponenten, die in der Speichervorrichtungs-Steuereinheit 12, usw.,
enthalten sind. Ein Steuerspeicher 123 wird zum Beispiel
als ein Arbeitsspeicher für
die Vorgänge,
die durch den Mikroprozessor 121 ausgeführt werden, und als ein Speicherbereich
für verschiedene
Daten, wie beispielsweise Tabellen und Variablen, verwendet. Ein
Cache-Speicher 124 wird zum Beispiel als eine temporäre Speichereinrichtung
für Daten,
die zu dem Plattenlaufwerk 14 eingege ben und von diesem
ausgegeben werden, verwendet. Eine Laufwerksteuereinheit 125 führt Daten-Ein/Ausgabevorgänge zu und
von dem Plattenlaufwerk 14 aus. Die Laufwerksteuerung 125 kann
das Plattenlaufwerk 14 in einem RAID-Schema (Redundant
Array of Inexpensive Disks) betreiben. Die Laufwerksteuerung 125 verwaltet
einen physikalischen Speicherbereich, der durch das Plattenlaufwerk 14 bereitgestellt wird,
in dem dieses in logische Volumina aufgeteilt wird, die logische
Speicherbereiche sind, die auf dem physikalischen Speicherbereich
organisiert sind. Ein spezifischer Identifizierer, der als LUN (Logical
Unit Number) bezeichnet ist, wird jeweils zu jedem logischen Hauptvolumen
zugeordnet. Wenn ein LUN bezeichnet worden ist, werden ein Plattenlaufwerk 14 oder
mehrere Plattenlaufwerke identifiziert. Weiterhin sind zumindest
ein oder mehrere logische Volumina zu einem Fiber-Channel-Anschluss
in Bezug gesetzt, und, in dem ein Fiber-Channel-Anschluss bezeichnet wird,
werden alle logischen Volumina, die sich darauf beziehen, identifiziert.
Das Plattenlaufwerk 14 kann in demselben Gehäuse wie
dasjenige der ersten Speichersteuerung 10 oder in einem
Gehäuse,
das gegenüber
demjenigen der ersten Speichersteuerung 10 unterschiedlich
ist, aufgenommen sein.
-
Die
zweite Speichersteuerung 20 weist eine Schaltvorrichtung 201,
einen Mikroprozessor 202, einen Steuerspeicher 203,
einen Cache-Speicher 204, eine Laufwerksteuerung 205 und
ein Plattenlaufwerk 21 auf. Die Schaltvorrichtung 201 ist
mit Funktionen, wie beispielsweise einem Fiber-Channel-Schalter (nachfolgend
bezeichnet als ein "FC
Schalter"), der eine
Vielzahl von Fiber-Channel-Anschlüssen besitzt, versehen und
die zweite Datenübertragungseinrichtung 50 ist
mit den Fiber-Channel-Anschlüssen
verbunden.
-
Der
Mikroprozessor 202 stellt verschiedene Funktionen der Speichersteuerung 20 bereit
und steuert die verschiedenen Komponenten, die in der zweiten Speichersteuerung 20,
usw., enthalten sind. Der Steuerspeicher 203 wird zum Beispiel
als ein Arbeitsspeicher für
die Vorgänge,
die durch den Mikroprozessor 202 ausgeführt werden, oder als ein Speicherbereich
für verschiedene
Daten, wie beispielsweise Tabellen und Variablen, verwendet. Der Cache-Speicher 204 wird
zum Beispiel als temporäre Speichereinrichtung
für eine
Dateneingabe zu dem Plattenlaufwerk 21 und einer Datenausgabe
davon verwendet. Die Laufwerksteuerung 205 führt Daten-Ein/Ausgabevorgänge zu und
von dem Plattenlaufwerk 21 aus.
-
Die
Laufwerksteuerung 205 kann das Plattenlaufwerk 21 in
einem RAID-Schema (Redundant Array of Inexpensive Disks) betreiben.
Die Laufwerksteuerung 205 verwaltet einen physikalischen Speicherbereich,
der durch das Plattenlaufwerk 21 bereitgestellt wird, indem
er in logischen Volumina unterteilt ist, die logische Speicherbereiche
sind, die auf dem physikalischen Speicherbereich organisiert sind.
Ein spezifischer Identifizierer, der als LUN (Logical Unit Number)
bezeichnet ist, ist jedem logischen Volumen jeweils zugeordnet.
Wenn eine LUN bezeichnet worden ist, werden ein oder mehrere Plattenlaufwerke 21 identifiziert.
-
Das
Plattenlaufwerk 21 kann in demselben Gehäuse wie
dasjenige der zweiten Speichersteuerung 20 oder in einem
Gehäuse,
das unterschiedlich zu demjenigen der zweiten Speichersteuerung 20 ist, aufgenommen
sein.
-
[Datenrahmen]
-
Als
nächstes
wird der Aufbau von Datenrahmen, die mit dem Fiber Channel Protocol übereinstimmen,
beschrieben, der zwischen dem Hostcomputer 5, der ersten
Speichersteuerung 10 und der zweiten Speichersteuerung 20 gesendet
und empfangen wird. Die Details des Fiber Channel Protocols und
der Datenrahmen, die dazu entsprechen, werden zum Beispiel in "Technical Instruction
an Fiber Channel",
herausgegeben durch die Fiber Channel Technical Association, Ronso-sha,
usw., beschrieben.
-
Der
Aufbau eines Datenrahmens 70 auf einem Fiber-Channel ist
in 2 dargestellt. An dem Kopfteil des Datenrahmens 20 ist
ein SOF (Start of Frame – Start
eines Rahmens) (71) aus vier Bytes angeordnet und dem SOF
folgend sind ein Rahmen-Header (72) mit 24 Bytes, ein Datenfeld
(73) mit 2112 Bytes und ein CRC (Cyclic Redundancy Check) (74)
mit vier Bytes vorgesehen. An dem Ende des Datenrahmens ist ein
EOF (75) aus vier Bytes angeordnet.
-
Der
Aufbau des Rahmen-Headers (72) mit 24 Bytes, der in 2 dargestellt
ist, ist in 3 gezeigt. Destination_ID (81)
ist ein Identifizierer des Fiber-Channel-Anschlusses, der die Bestimmungsstelle
des Datenrahmens ist, und N_Port_ID, N_Port_Name, usw., sind darin
beschrieben. Source_ID (82) ist ein Identifizierer des
Fiber-Channel-Anschlusses
der Quelle des Datenrahmens und N_Port_ID, N_Port_Name, oder usw.,
sind darin beschrieben.
-
Der
Aufbau von FCP_CMND (Fiber Channel Protocol for SCSI Command), der
einer der Payloads des Datenfelds, dargestellt in 2,
ist, ist in 4 gezeigt. In FCP_LUN (FCP LogicaLUNit
Number) (91) ist eine LUN des logischen Volumens, auf das ein
SCSI Befehl, der in dem Payload beschrieben ist, angewandt werden
soll. In FCP_CNTL (FCP Control) (92) ist ein Befehlssteuerparameter
beschrieben. In FCP_CDB (FCP Command Descriptor Block) (93)
ist ein SCSI Befehl CDB (Command Data Block) beschrieben. In FCP_DL
(FCP Data Length) (94) ist die obere Grenze der Datengröße, die
zwischen einem Initiator und einem Ziel bzw. Target umgewandelt werden
kann, beschrieben.
-
[Grundsätzliche Arbeitsweise]
-
Als
nächstes
wird die Betriebsweise des Speichersystems, während ein Datenrahmen von dem
Hostcomputer 5 zu der ersten Speichersteuerung 10 gesendet
wird, unter Bezugnahme auf ein Flussdiagramm, das in 5 dargestellt
ist, beschrieben.
-
Zuerst
wird ein Datenrahmen von dem Hostcomputer 5 zu einem Fiber-Channel-Anschluss der Schaltvorrichtung 111 der
ersten Speichersteuerung 10 über die erste Datenübertragungseinrichtung 40 gesendet
(S511). Wenn die Schaltvorrichtung 111 der ersten Speichersteuerung 10 den
Datenrahmen empfängt
(S512), sendet die Schaltvorrichtung 111 eine Unterbrechungsanforderung
zu dem Mikroprozessor 112 (S513). Wenn der Mikroprozessor 112 eine
Unterbrechungsanforderung empfängt,
speichert der Mikroprozessor 112 in dem Steuerspeicher 113 die
Inhalte von Destination_ID (81), Source_ID (82)
und FCP_LUN (91) des empfangenen Datenrahmens (S514).
-
In
dem Steuerspeicher 113 der ersten Speichersteuerung 10 ist
eine LUN-Verwaltungstabelle, die in 6 dargestellt
ist, in der beschrieben ist, ob FCP_LUN (91) auf ein logisches
Volumen der ersten Speichersteuerung 10 oder der zweiten
Speichersteuerung 20 gerichtet ist, gespeichert. Der Mikroprozessor 112 prüft, ob der
Datenrahmen auf ein logisches Volumen der ersten Speichersteuerung
oder der zweiten Speichersteuerung gerichtet ist, indem auf FCP_LUN
(91) des Datenrahmens, der in dem Steuerspeicher 113 gespeichert
ist, zu der LUN-Verwaltungstabelle, Bezug genommen wird (S615).
-
Nun
sendet die erste Speichersteuerung 10, wenn der Datenrahmen
auf ein logisches Volumen der ersten Speichersteuerung 10 gerichtet
ist, den Datenrahmen zu der Speichervorrichtungs-Steuereinheit 12 über den
internen Datenübertragungspfad 13 (S516).
Bei Empfang des Datenrahmens führt
die Speichervorrichtungs-Steuereinheit 12 eine Dateneingabe
und -ausgabe entsprechend dem in dem Datenrahmen beschriebenen SCSI
Befehl zu dem durch die Inhalte von FCP_LUN (91) des Datenrahmens
identifizierten logischen Volumen aus (S517). Nach dem Ausführen des
Daten-Ein/Ausgabevorgangs sendet die erste Speichersteuerung 10 den Datenrahmen
zu der Schaltsteuereinheit 11, in dem das Ergebnis des
Vorgangs und die Daten, die von dem logischen Volumen, usw., ausgelesen
sind, beschrieben sind, wenn dies notwendig ist (S518). Dann sendet
die Schaltvorrichtung 111, wenn sie den Datenrahmen empfängt, den
Datenrahmen zu dem Hostcomputer 5 (S519).
-
Andererseits
steuert in (S515) der Mikroprozessor 112, wenn der Datenrahmen,
der von dem Hostcomputer 5 empfangen ist, auf ein logisches
Volumen der zweiten Speichersteuerung 20 gerichtet ist,
die Schaltvorrichtung 111 so, dass die Schaltvorrichtung 111 den
Datenrahmen zu der zweiten Speichersteuerung 20 weiterleitet
(S520). Wenn die zweite Speichersteuerung 20 den Datenrahmen
empfängt
(S521), führt
sie eine Daten-Ein- und Ausgabe entsprechend zu dem SCSI Befehl,
der in dem Datenrahmen beschrieben ist, zu dem logischen Volumen,
das von den Inhalten von FCP_LUN (91) des Datenrahmens
identifiziert ist, aus (S522).
-
Nach
Ausführung
des Daten-Ein/Ausgabevorgangs sendet die zweite Speichersteuerung 20 den
Datenrahmen zu der ersten Speichersteuerung 10 über die
zweite Datenübertragungseinrichtung,
in dem der Bericht über
den Abschluss, das Ergebnis des Verfahrens oder Daten, die von dem
logischen Volumen ausgelesen sind, beschrieben ist, wenn dies notwendig
ist (S523). In der Destination_ID (81) des Datenrahmens
sind Informationen, um ein Fiber-Channel-Anschluss des Hostcomputers 5 zu spezifizieren,
beschrieben. Wenn die Schaltvorrichtung 111 der ersten
Speichersteuerung 10 den Datenrahmen empfängt (S524),
leitet sie den Datenrahmen zu dem Hostcomputer 5 (S525)
weiter.
-
Der
Datenrahmen, der von dem Hostcomputer 5 aus gesendet ist
und der in die Schaltvorrichtung 111 der ersten Speichersteuerung 10 eingegeben
ist, wird, wie vorstehend beschrieben ist, an der Schaltsteuereinheit 11 dahingehend
beurteilt, ob er zu der ersten Speichersteuerung 10 oder
der zweiten Speichersteuerung 20 gerichtet ist, und falls
er zu der zweiten Speichersteuerung 20 gerichtet ist, wird
der Datenrahmen von der Schaltvorrichtung 111 zu der zweiten
Speichersteuerung 20 weitergeleitet. Mit anderen Worten
empfängt
die Speichersteuerung 10, unter Ersetzen der Rolle der
zweiten Speichersteuerung 20, den Datenrahmen, den der
Hostcomputer 5 ursprünglich
zu der zweiten Speichersteuerung 20 gerichtet hat.
-
Weiterhin
muss der Hostcomputer 5, durch Empfangen des Datenrahmens
durch die erste Speichersteuerung 10, die die Rolle der
zweiten Speichersteuerung 20 ersetzt, nur mit der ersten
Speichersteuerung 10 kommunizieren, und die Verarbeitungsbelastung
des Hostcomputers 5 kann durch den Umfang verringert werden,
der durch die Datenübertragung
zwischen dem Hostcomputer 5 und der zweiten Speichersteuerung 20 hervorgerufen
wird.
-
Weiterhin
können
auch die logischen Volumina der ersten Speichersteuerung 10 und
der zweiten Speichersteuerung 20, durch Verwalten der LUN-Verwaltungstabellen,
die an der ersten Speichersteuerung 10 vereint sind, zusammen
verwaltet werden, und deshalb kann die Belastung einer Aktualisierung,
die durch die Arbeit auferlegt wird, wie beispielsweise Aktualisieren
der LUN-Verwaltungstabellen durch Bediener, usw., verringert werden.
Insbesondere dann, wenn das Plattenlaufwerk 14 und das Plattenlaufwerk 21 betätigt werden,
während
virtualisiert wird, trägt
ein solches vereinheitlichtes Verwaltungsschema wesentlich zu einer
effizienteren Betriebsweise und zu einer Verringerung der Betriebsbelastung
bei.
-
Wenn
ein Platten-Array-Gerät
dasjenige ist, das mit einer sehr gewöhnlichen Schnittstelle als
die Verbindungsschnittstelle mit dem Hostcomputer 5, ähnlich der
Schaltvorrichtung 201, wie es vorstehend beschrieben ist,
ausgestattet ist, kann das Platten-Array-Gerät als die zweite Speichersteuerung 20 der
Ausführungsform
verwendet werden, und es kann zum Beispiel in einem Speichersystem,
das ein Platten-Array-Gerät verwendet,
das eine höhere Leistung
als die erste Speichersteuerung 10 besitzt, und ein Platten-Array-Gerät, das eine
niedrigere Leistung als die andere eine, wie beispielsweise die zweite
Speichersteuerung 20, besitzt, ein Vorteil dahingehend
erzielt wird, dass die Funktionen der ersten Speichersteuerung 10 bei
der zweiten Speichersteuerung 20 angewandt werden können.
-
[Zugriffsbeschränkungsfunktion]
-
Als
nächstes
wird die Zugriffsbeschränkungsfunktion,
die in der ersten Speichersteuerung 10 enthalten ist, beschrieben.
Die erste Speichersteuerung 10 speichert die Zugriffsbeschränkungs-Verwaltungstabelle,
die beispielhaft in 7 angegeben ist. In der Zugriffsbeschränkungs-Verwaltungstabelle
sind Kombinationen von Destination_ID, Source_ID und LUN, die keinen
Daten-Ein/Ausgabevorgang zulassen, beschrieben. Die Zugriffsbeschränkungsfunktion
ist eine Funktion, die keinen Daten-Ein/Ausgabevorgang entsprechend
zu einer Daten-Ein/Ausgabeanforderung, die in dem Datenrahmen beschrieben
ist, zulässt,
wenn die Kombination von Destination_ID, Source_ID und LUN, die
in dem Datenrahmen beschrieben ist, der durch die erste Speichersteuerung 10 von
dem Hostcomputer 5 empfangen ist, in der Zugriffsbeschränkungs-Verwaltungstabelle
beschrieben ist. Die Inhalte der Zugriffsbeschränkungs-Verwaltungstabelle können automatisch
durch eine Funktion der ersten Speichersteuerung 10 oder über einen
manuellen Bedienervorgang registriert sein.
-
Die
Zugriffsbeschränkungsfunktion
wird im Detail unter Bezugnahme auf das Flussdiagramm, das in 8 dargestellt
ist, beschrieben. Dieses Flussdiagramm beschreibt den Fall, bei
dem ein Datenrahmen, in dem eine Daten-Ein/Ausgabeanforderung zu
einem b der zweiten Speichersteuerung 20 gerichtet ist,
beschrieben ist, von dem Hostcomputer 5 zu der ersten Speichersteuerung 10 übertragen wird.
-
Wenn
die erste Speichersteuerung 10 einen Datenrahmen empfängt (S812),
der von dem Hostcomputer 5 gesendet ist (S811), prüft die erste
Speichersteuerung 10, ob die Kombination von Destination_ID
(81), Source_ID (82) und FCP_LUN (91)
in dem Datenrahmen in der Zugriffsbeschränkungs-Verwaltungstabelle beschrieben
ist (S813, S814). Wenn die Kombination nicht in der Zugriffsbeschränkungs-Verwaltungstabelle
beschrieben ist, leitet die erst Speichersteuerung 10 den
Datenrahmen zu der zweiten Speichersteuerung 20 weiter
(S815).
-
Andererseits
wird, wenn die Kombination beschrieben ist, der Datenrahmen von
der Schaltsteuereinheit 11 zu der Speichervorrichtungs-Steuereinheit 12 gesendet
(S816). Wenn die Speichervorrichtungs-Steuereinheit 12 den
Datenrahmen empfängt, nimmt
die Speichervorrichtungs-Steuereinheit 12 auf die Zugriffsbeschränkungs-Verwaltungstabelle
in dem Steuerspeicher 113 Bezug (S817). Die Speichervorrichtungs-Steuereinheit 12 erzeugt,
wenn die Kombination von Destination_ID (81), Source_ID (82)
und FCP_LUN (91) in dem Datenrahmen eine Kombination ist,
die keinen Zugang zulässt,
einen Datenrahmen, der zu dem Hostcomputer 5 gerichtet ist,
in dem beschrieben ist, dass er nicht für einen Zugang zugelassen ist,
und sendet den neu erzeugten Datenrahmen zu der Schaltvorrichtung 111 (S818). Dann
werden neu erzeugte Datenrahmen zu dem Hostcomputer 5 über die
Schaltvorrichtung 111 gesendet.
-
Die
Speichervorrichtungs-Steuereinheit 12 sendet andererseits,
wenn der empfangene Datenrahmen ein Datenrahmen ist, der für einen
Zugang zugelassen ist, den Datenrahmen zu der Schaltvorrichtung 111 (S819)
und die Schaltvorrichtung 111 leitet den Datenrahmen zu
der zweiten Speichersteuerung 20 weiter (S820).
-
Die
zweite Speichersteuerung 20 führt, wenn die zweite Speichersteuerung 20 den
Datenrahmen empfängt
(S821), eine Dateneingabe und -ausgabe entsprechend zu dem SCSI
Befehl, der in dem FCP_CDB in dem Datenrahmen beschrieben ist, zu dem
logischen Volumen, das in dem FCP_LUN in dem Datenrahmen beschrieben
ist, aus (S822). Die zweite Speichersteuerung 20 sendet,
nach Ausführen
des Daten-Ein/Ausgabevorgangs, den Datenrahmen zu der ersten Speichersteuerung 10,
in dem das Ergebnis des Vorgangs und das Datenauslesen von dem logischen
Volumen, usw., beschrieben sind, und zwar dann, wenn dies notwendig
ist (S823).
-
In
dieser Ausführungsform
werden Kombinationen von Source_ID, Destination_ID und LUN, die keinen
Daten-Ein/Ausgabevorgang zulassen, in der Zugriffsbeschränkungs-Verwaltungstabelle
beschrieben, allerdings können,
anstelle davon, Kombinationen von Source_ID, Destination_ID und
LUN, die Daten-Ein/Ausgabevorgänge
zulassen, in der Tabelle beschrieben sein. Die Zugriffsbeschränkung kann
in verschiedenen Formen eingestellt werden, einschließlich nicht
nur des Falls, bei dem eine Zugriffsbeschränkung für alle Kombinationen von Source_ID,
Destination_ID und LUN ausgeführt
werden, sondern auch bei dem Fall, wo sie für irgendeine von Source_ID,
Destination_ID und LUN, oder für eine
Kombination irgendwelcher zwei oder mehr davon, ausgeführt wird.
-
Die
erste Speichersteuerung 10 führt, wie vorstehend beschrieben
ist, ein Ersetzen der Rolle der Vorgänge der zweiten Speichersteuerung 20,
die sich auf die Zugriffsbeschränkung
beziehen, aus. Deshalb ist es ausreichend, dass die Funktion zum Ausführen der
Zugriffsbeschränkung
an der ersten Speichersteuerung 10 ausgeführt wird.
Des halb kann die Belastung einer Aktualisierung, die sich auf die Zugriffsbeschränkungsfunktion
bezieht, um die Menge verringert werden, die durch Vorsehen eines
solchen Mechanismus zu der zweiten Speichersteuerung 20 vorgesehen
ist. Weiterhin kann eine Speichersteuerung, da keine Zugriffsbeschränkungsfunktion
in die zweite Speichersteuerung 20 einbezogen werden muss,
eine Speichersteuerung, die eine niedrigere Verarbeitungskapazität als die
erste Speichersteuerung 10 besitzt, als die zweite Speichersteuerung 20 verwendet
werden, und deshalb ist dieser Vorgang beim Verringern der Einführungskosten
und der Betriebskosten effektiv.
-
Weiterhin
können
alte Typen von Speichersteuerungen, die eine niedrigere Leistung
verglichen mit den neu eingeführten
Speichersteuerungen haben, in vollem Umfang als zweite Speichersteuerungen 20 verwendet
werden. Darüber
hinaus ist es ausreichend, dass die Zugriffsbeschränkungs-Verwaltungstabelle
nur in der ersten Speichersteuerung 10 gespeichert ist,
und deshalb wird eine Verringerung der Belastung bei der Aktualisierung,
hervorgerufen durch die vereinheitlichte Verwaltung, gefördert.
-
[Prioritätssteuerung]
-
Als
nächstes
wird die Prioritätssteuerfunktion,
die in der ersten Speichersteuerung 10 enthalten ist, beschrieben.
Die erste Speichersteuerung 10 speichert die Prioritätsverwaltungstabelle,
die in 9 dargestellt ist. In der Prioritätsverwaltungstabelle
sind die Beziehungen von Destination_ID, Source_ID und die Verzögerungszeit
beschrieben. Die Verzögerungszeit
wird zum Beispiel als ein Parameter verwendet, um die Startzeit
einer Ausführung eines
Vorgangs zu bestimmen, der die Belastung der Verarbeitung des Mikroprozessors 121 erhöhen kann.
Die Prioritätssteuerfunktion
ist eine Funktion, die die Reihenfolge einer Ausführung der
Dateneingabe und -ausgabe entsprechend zu dem Datenrahmen, der durch
die erste Speichersteuerung 10 von dem Hostcomputer 5 empfangen
ist, und zwar entsprechend der Verzögerungszeit, die in der Prioritätsverwaltungstabelle
eingestellt ist, steuert. Die Inhalte der Prioritätsverwaltungstabelle
können
automatisch durch eine Funktion der ersten Speichersteuerung 10 registriert
werden oder können
in einem manuellen Vorgang durch einen Bediener registriert werden.
-
Die
Prioritätssteuerfunktion
wird im Detail unter Bezugnahme auf das Flussdiagramm, das in 10 dargestellt
ist, beschrieben. Die erste Speichersteuerung 10 prüft, wenn
die erste Speichersteuerung 10 einen Datenrahmen A empfängt (S1012), der
von dem Hostcomputer 5 aus gesendet ist (S1011), ob die
Kombination von Source_ID und Destination_ID in dem Datenrahmen
A in der Prioritätsverwaltungstabelle
existiert oder nicht (S1013, S1014).
-
Die
erste Speichersteuerung 10 bestimmt, wenn die Kombination
existiert, die Kombination als das Objekt für die Zugriffspriorität, wenn
keine Verzögerungszeit
in der Kombination eingestellt ist (S1015), führt eine Dateneingabe und -ausgabe
für den Datenrahmen
A aus (S1016) und sendet, nach der Ausführung, den Datenrahmen zu dem
Hostcomputer 5, in dem der Bericht eines Abschlusses beschrieben
ist (S1017).
-
Wenn
eine Verzögerungszeit
in (S1015) eingestellt ist, prüft
die erste Speichersteuerung 10, ob ein anderer Datenrahmen
B, der darauf wartet, verarbeitet zu werden, in einer Warteschlange
existiert, die durch den Steuerspeicher 123 in der Speichervorrichtungs-Steuereinheit 12 verwaltet
ist (S1020), und bewirkt, wenn der Datenrahmen B existiert, der
wartet, den Start einer Ausführung
des Vorgangs für
den Datenrahmen A, der für
die Periode der Verzögerungszeit,
die in der Prioritätsverwaltungstabelle
eingestellt ist, entsprechend den Inhalten des Datenrahmens A, bereit
steht (S1021). Die Startzeit, für
die Vorgänge
für den
Datenrahmen verzögert
werden sollten, ist ausreichend bestimmt, indem die Belastung der
Verarbeitung berücksichtigt
wird, die dem Mikroprozessor 121 auferlegt wird, so dass
der Daten-Ein/Ausgabevorgang in einer adäquaten Reihenfolge entsprechend
den Erfordernissen der Benutzer ausgeführt werden wird. Eine Anordnung
kann so sein, dass die Steuerung der Reihenfolge zum Ausführen von
Vorgängen
unter Verwendung der Verzögerungszeit
als ein Parameter automatisch durch das Speichersystem bestimmt
werden kann, oder dass die Steuerung der Reihenfolge durch einen
Benutzer von einem Steuerendgerät,
das mit dem Speichersystem verbunden ist, eingestellt werden kann. Nachdem
die Verzögerungszeit
abgelaufen ist, führt die
erste Speichersteuerung 10 eine Dateneingabe und -ausgabe
für den
Datenrahmen A aus (S1022) und sendet einen Datenrahmen zu dem Hostcomputer 5,
in dem der Bericht über
einen Abschluss beschrieben ist (S1023).
-
Andererseits
führt die
erste Speichersteuerung 10 in (S1020), wenn ein anderer
Datenrahmen B nicht existiert, der in der Warteschlange wartet, Vorgänge entsprechend
dem gewöhnlichen
Ablauf für
den Datenrahmen A, der in dem in der Basis-Betriebsweise vorstehend
beschrieben ist, aus. Das bedeutet, dass dann, wenn der Datenrahmen
A zu dem Plattenlaufwerk 14 in der ersten Speichersteuerung 10 gerichtet
ist, der Daten-Ein/Ausgabevorgang für das Plattenlaufwerk 14 in
der ersten Speichersteuerung 10 ausgeführt wird, und wenn der Datenrahmen zu
dem Plattenlaufwerk 21 in der zweiten Speichersteuerung 20 hin
gerichtet ist, sendet die erste Speichersteuerung 10 den
Datenrahmen zu der zweiten Speichersteuerung 20, und die
zweite Speichersteuerung 20 führt einen Daten-Ein/Ausgabevorgang aus,
der auf das Plattenlaufwerk 21 gerichtet ist (S1031). In
jedem Fall wird, nachdem der Daten-Ein/Ausgabevorgang abgeschlossen
worden ist, ein Bericht über
den Abschluss gesendet, falls dies notwendig ist (S1032).
-
In
(S1014) prüft
die erste Speichersteuerung 10, wenn die Kombination von
Source_ID, Destination_ID des Datenrahmens A nicht in der Prioritätsverwaltungstabelle
existiert, entsprechend dem Vorgang, der in der vorstehenden Basis-Betriebsweise
beschrieben ist, ob der Datenrahmen A zu dem Plattenlaufwerk 14 in
der ersten Spei chersteuerung 10 oder zu der zweiten Speichersteuerung 20 gerichtet
ist (S1041). Nun wird der Datenrahmen, wenn der Datenrahmen A zu
der ersten Speichersteuerung 10 gerichtet ist, zu der Speichervorrichtungs-Steuereinheit 12 gesendet
(S1042) und die Speichervorrichtungs-Steuereinheit 12 führt einen Daten-Ein/Ausgabevorgang
für den
Datenrahmen A aus (S1043) und sendet einen Datenrahmen zu dem Hostcomputer 5,
in clem ein Bericht über
den Abschluss beschrieben ist (S1044).
-
Andererseits
sendet die erste Speichersteuerung 10, wenn der Datenrahmen
A zu dem Plattenlaufwerk 21 in der zweiten Speichersteuerung 20 gerichtet
ist, den Datenrahmen A zu der zweiten Speichersteuerung 20 (S1051).
Wenn die zweite Speichersteuerung 20 den Datenrahmen A
empfängt (S1052),
führt sie
einen Daten-Ein/Ausgabevorgang, der zu dem Plattenlaufwerk 21 gerichtet
ist, zu dem Datenrahmen A aus (S1053) und sendet einen Datenrahmen,
in dem ein Bericht über
den Abschluss beschrieben ist, zu dem Hostcomputer 5 über die
erste Speichersteuerung 10 (S1054).
-
Die
Prioritätssteuerung
von Datenrahmen in dem Hostcomputer 5 wird, wie anhand
der vorstehenden Beschreibung verständlich ist, unter Vorgabe in
der ersten Speichersteuerung 10 ausgeführt. Das bedeutet, dass, von
einer anderen Sichtweise aus gesehen, die erste Speichersteuerung 10 ein
Ersetzen der Rolle der zweiten Speichersteuerung 20 der Prioritätssteuerung
der zweiten Speichersteuerung 20 ausführt. Das bedeutet, dass es
ausreichend ist, dass eine Prioritätssteuerfunktion an der ersten
Speichersteuerung 10 ausgeführt wird, und die zweite Speichersteuerung 20 kann
sich einer Funktion entsprechend der Prioritätssteuerfunktion erfreuen, ohne
einen Mechanismus für
die Funktion haben zu müssen.
-
Weiterhin
kann die Betriebsbelastung der zweiten Speichersteuerung 20 um
den Betrag, der durch Vorsehen eines Mechanismus für die Prioritätssteuerung
hervorgerufen wird, verringert werden. Darüber hinaus ist es möglich, eine
Funktion einer Prioritätssteuerung
in den Formen vorzusehen, die in dem Plattenlaufwerk 21 in
der zweiten Speichersteuerung 20 enthalten sind, gerade
dann, wenn eine Speichersteuerung, die eine niedrigere Verarbeitungskapazität als diejenige
der ersten Speichersteuerung 10 besitzt, als die zweite
Speichersteuerung 20 verwendet wird, und deshalb können die
Einführungs-
und die Betriebskosten verringert werden.
-
Darüber hinaus
können
alte Typen von Speichersteuerungen, die eine geringere Leistung,
verglichen mit den neu eingeführten
Speichersteuerungen, haben, in vollem Umfang als zweite Speichersteuerungen
verwendet werden, und deshalb werden effektive Nutzungen von Ressourcen
und die Verringerung der Betriebskosten gefördert. Zusätzlich ist es ausreichend,
dass die Prioritätsverwaltungstabelle nur
in der ersten Speichersteuerung 10 gespeichert ist, und
deshalb wird eine Verringerung der Belastung einer Aktualisierung,
hervorgerufen durch die vereinheitlichte Verwaltung, gefördert.
-
Obwohl
die Prioritätssteuerfunktion
für eine LUN
vorstehend beschrieben worden ist, kann sie so ausgelegt sein, dass
eine Prioritätssteuerung
ausgeführt
wird, die eine Vielzahl von LUNs und physikalischen Anschlüssen in
dem Verfahren, das in einem Datenrahmen beschrieben ist, leitet.
-
[Datenkopiersteuerung]
-
In
einem Speichersystem der vorliegenden Erfindung wird eine Datenkopierverwaltung
in einer Art und Weise ausgeführt,
in der eine Kopie der Daten, die in einem logischen Volumen gespeichert
ist (nachfolgend als "logisches
Hauptvolumen" bezeichnet),
zu dem die erste Speichersteuerung 10 Daten-Ein/Ausgabevorgänge durchführt, auch
in einem logischen Volumen (nachfolgend als "logisches Teilvolumen" bezeichnet) in der
zweiten Speichersteuerung 20 gespeichert. Die Beziehung
zwischen der LUN in dem logischen Hauptvolumen und dem LUN in dem
logischen Teilvolumen ist in dem Steuerspeicher 113 der
ersten Speichersteuerung 10 als ein Paar-Verwaltungstabelle
gespeichert. Ein Beispiel der Paar-Verwaltungstabelle ist in 11 dargestellt. Allerdings
kann die Beziehung automatisch durch eine Funktion der ersten Speichersteuerung 10 eingestellt
werden oder kann in einem manuellen Vorgang durch einen Bediener,
usw., eingestellt werden.
-
Nun
wird ein Vorgang des Speichersystems, während ein Datenrahmen, in dem
eine Datenschreibanforderung zu dem logischen Hauptvolumen gerichtet
ist, beschrieben ist, von dem Hostcomputer 5 zu der ersten
Speichersteuerung 10 übertragen, unter
Bezugnahme des Flussdiagramms beschrieben, das in 12 gezeigt
ist.
-
Wenn
die erste Speichersteuerung 10 den Datenrahmen empfängt (S1262),
der von dem Hostcomputer 5 gesendet ist (S1261), prüft sie,
ob eine LUN, beschrieben in dem Datenrahmen als FCP_LUN (91),
in der Paar-Verwaltungstabelle existiert (S1263, S1264).
-
Wenn
die LUN, die in dem Datenrahmen als FCP_LUN (91) beschrieben
ist, nicht in der Paar-Verwaltungstabelle existiert, sendet die
erste Speichersteuerung 10 den empfangenen Datenrahmen
zu der Speichervorrichtungs-Steuereinheit 12 (S1265). Wenn
die Speichervorrichtungs-Steuereinheit 12 den Datenrahmen
empfängt
(S1266), führt
sie einen Datenschreibvorgang zu dem geeigneten logischen Volumen
entsprechend zu dem SCSI Befehl, der in dem Datenrahmen beschrieben
ist, aus (S1267), und wenn es notwendig ist, sendet sie zu dem Hostcomputer 5 einen
Datenrahmen, in dem ein Bericht eines Abschlusses beschrieben ist
(S1268). Deshalb sind Daten in dem logischen Hauptvolumen geschrieben worden.
-
Die
erste Speichersteuerung 10 erzeugt, in (S1264), wenn die
LUN in der Paar-Verwaltungstabelle
existiert, einen neuen Datenrahmen, in dem die Destination_ID (81)
und die FCP_LUN (91) des Datenrahmens so geändert wird,
dass sie das logische Teil volumen bezeichnen, das die Bestimmung
eines Kopierens ist (S1269). Das Erzeugen des neuen Datenrahmens
wird in einer Art und Weise ausgeführt, in der, nachdem der empfangene
Datenrahmen in dem Steuerspeicher 113 gespeichert worden
ist, die Kopie des Datenrahmens in dem Steuerspeicher gespeichert
wird, und die Destination_ID (81) und die FCP_LUN (91)
in der Kopie des Datenrahmens werden geändert, um einen neuen Datenrahmen
zu erzeugen.
-
Als
nächstes
sendet die erste Speichersteuerung 10 den erzeugten, neuen
Datenrahmen zu der zweiten Speichersteuerung 20, in dem
das Schaltgerät 111 so
gesteuert wird, um dahingehend zu wirken, dass das Schaltgerät 111 dies
so vornimmt (S1270). Wenn die zweite Speichersteuerung 20 den
Datenrahmen empfängt
(S1271), führt
sie einen Datenschreibvorgang entsprechend zu dem SCSI Befehl, der
in dem FCP_CDB des Datenrahmens beschrieben ist, zu dem logischen
Teilvolumen, das in der FCP_LUN des Datenrahmens beschrieben ist,
aus (S1272). Auf diese Art und Weise sind Daten, die eine Kopie
der Daten sind, die in dem logischen Hauptvolumen beschrieben sind,
auch in dem logischen Teilvolumen beschrieben worden. Nachdem der
Datenschreibvorgang ausgeführt
worden ist, sendet die zweite Speichersteuerung 20 einen
Datenrahmen zu dem Hostcomputer 5, in dem ein Bericht über den
Abschluss beschrieben ist, falls dies notwendig ist (S1273). Auf
diese Art und Weise sind die Daten in dem logischen Hauptvolumen
geschrieben worden und gleichzeitig sind dieselben Daten in dem
logischen Teilvolumen geschrieben worden.
-
Andererseits
prüft,
in (S1264), wenn die LUN, die in dem Datenrahmen als die FCP_LUN
(91) beschrieben ist, nicht in der Paar-Verwaltungstabelle existiert,
die erste Speichersteuerung 10, dem Vorgang folgend, der
in der vorstehenden Basis-Betriebsweise beschrieben ist, ob der
Datenrahmen zu dem Plattenlaufwerk 14 in der ersten Speichersteuerung 10 gerichtet
ist oder zu der zweiten Speichersteuerung 20 gerichtet
ist (S1281). Wenn der Datenrahmen zu der ersten Speichersteuerung 10 gerichtet
ist, wird der Datenrahmen zu der Speichervorrichtungs-Steuereinheit 12 gesendet
und der Datenschreibvorgang in Bezug auf den Datenrahmen wird ausgeführt (S1282).
Ein Datenrahmen, in dem ein Bericht über einen Abschluss geschrieben
ist, wird zu dem Hostcomputer 5 gesendet, falls dies notwendig ist
(S1284).
-
Die
erste Speichersteuerung 10 sendet, wenn der Datenrahmen
zu dem Plattenlaufwerk 21 in der zweiten Speichersteuerung 20 gerichtet
ist, den Datenrahmen zu der zweiten Speichersteuerung 20 (S1285).
Wenn die zweite Speichersteuerung 20 den Datenrahmen empfängt (S1286),
führt sie
einen Datenschreibvorgang aus, der zu dem Plattenlaufwerk 21 gerichtet
ist (S1287). Dann sendet die zweite Speichersteuerung 20 einen
Datenrahmen zu dem Hostcomputer 5 über die erste Speichersteuerung 10,
in dem ein Bericht über
einen Abschluss des Datenschreibvorgang beschrieben ist, falls es
notwendig ist (S1288).
-
In
den vorstehenden Vorgängen
erzeugt die erste Speichersteuerung 10 bei Empfang eines
Datenrahmens, in dem eine an das logische Hauptvolumen gerichtete
Datenschreibanforderung beschrieben ist, einen Datenrahmen zum Kopieren
der Anforderung und sendet diesen an die zweite Speichersteuerung 20.
-
Ein
Mechanismus einer Datenkopierverwaltung, bei der Daten, gespeichert
im Plattenlaufwerk 14 in der ersten Speichersteuerung 10,
auch in dem Plattenlaufwerk 21 in der zweiten Speichersteuerung 20 gespeichert
sind, kann, entsprechend diesem Verfahren, einfach nun durch Vorsehen
eines Mechanismus zum Erzeugen eines Datenrahmens so, wie dies vorstehend
beschrieben ist, zu der ersten Speichersteuerung 10 realisiert
werden.
-
Dabei
sind zwei Schemata für
eine Datenkopierverwaltung vorhanden, bekannt als ein so genanntes "synchronisiertes
Schema", in dem
die erste Speichersteuerung 10, die den Datenrahmen empfangen
hat, den Hostcomputer 5 über einen Bericht des Abschlusses
nach Bestätigung
des Abschlusses der Schreibvorgänge
für sowohl
das logische Hauptvolumen als auch das logische Teilvolumen informiert,
und ein so genanntes "nicht
synchronisiertes Schema",
in dem die erste Speichersteuerung 10 den Hostcomputer 5 über den
Bericht eines Abschlusses nur dann informiert, wenn der Schreibvorgang
zu dem logischen Hauptvolumen abgeschlossen worden ist, ungeachtet
davon, ob der Schreibvorgang zu dem logischen Teilvolumen abgeschlossen
worden ist oder nicht. Allerdings kann der Mechanismus der vorstehend
beschriebenen Ausführungsform
auf den Fall angewandt werden, der in entweder dem "synchronisierten
Schema" oder in
dem "nicht synchronisierten
Schema" betrieben
wird.
-
Obwohl
das Speichersystem-Steuerverfahren, usw., entsprechend der vorliegenden
Erfindung anhand verschiedener Ausführungsformen angegeben worden
ist, dienen die vorstehenden Ausführungsformen nur dazu, das
Verständnis
der vorliegenden Erfindung zu erleichtern, sind allerdings nicht dazu
vorgesehen, die vorliegende Erfindung einzuschränken. Es wird ersichtlich werden,
dass die vorliegende Erfindung verschiedenartig geändert oder verbessert
werden kann und dass die vorliegende Erfindung Äquivalente davon abdeckt. Nur
eine der Funktionen einer Zugriffsbeschränkung, einer Priorität, einer
Datenkopiersteuerung, die vorstehend beschrieben sind, kann angewandt
werden oder irgendeine Kombination von zwei oder mehr davon kann
angewandt werden.
-
Das
Kommunikationsprotokoll, das für
die erste Kommunikationseinrichtung oder die zweite Kommunikationseinrichtung
verwendet ist, ist nicht auf das Fiber Channel Protocol beschränkt, sondern anstelle
davon können
andere Protokolle verwendet werden.
-
In
den vorstehenden Ausführungsformen
ist ein Platten-Array-Gerät
als ein Beispiel der Speichervorrichtung beschrieben worden. Die
vorliegende Erfindung ist allerdings auf andere Speichervorrichtungen
als das Platten-Array-Gerät
anwendbar, wie beispielsweise ein Halbleiterplattengerät.
-
Obwohl
die vorliegende Erfindung vorstehend anhand der Ausführungsformen
beschrieben worden ist, sollte angeführt werden, dass die vorliegende
Erfindung nicht auf die Ausführungsformen, die
hier angegeben sind, beschränkt
werden sollte, und dass verschiedene Modifikationen vorgenommen
werden können.