-
HINTERGRUND
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Speichersteuervorrichtung,
ein Speichersystem und ein Verfahren zum Steuern des Speichersystems.
-
In
Zusammenhang mit der Entwicklung im IT-Bereich (Informationstechnologie)
haben sich Speichersteuervorrichtungen sehr rasch verbreitet, von
denen unter anderem Plattenarray-Vorrichtungen üblicherweise bekannt sind.
Speichersteuervorrichtungen werden fest als wichtige Infrastruktur
verwendet, um Speichersysteme zu realisieren, die in Informationsdienstzentren,
Rechenzentren und dergleichen in Unternehmen eingesetzt werden.
Auf den gegenwärtigen
Märkten
für Speicherprodukte
findet die Virtualisierung von Speichersystemen besondere Aufmerksamkeit.
Das heißt,
während
mehrere Speichersteuervorrichtungen zur Kommunikation über ein Netzwerk
miteinander verbunden sind, können
die in den jeweiligen Speichersteuervorrichtungen vorgehaltenen
Betriebsmittel effektiv genutzt werden, weil das gesamte Speichersystem
in einheitlicher Weise verwaltet wird (siehe
JP-A-2002-288105 ).
-
Andererseits
gehören
zu den Daten, die in Speichersystemen verwaltet werden, auch solche Daten,
die wegen der Natur dieser Daten für eine vorbestimmte Frist gespeichert
werden müssen.
Daten aus Kontobüchern
in Buchhaltungssystemen und klinische Vorgeschichten in medizinischen
Systemen müssen
zum Beispiel aus rechtlichen Gründen
für vorbestimmte
Fristen gespeichert werden. Obwohl es keine derartige rechtliche
Verpflichtung gibt, sollten ausgewählte Daten aufgrund von entsprechenden
Organisationsregeln für
eine vorbestimmte Frist gespeichert werden. So müssen zum Beispiel Kundendaten
und Verkaufsdaten in Kundenverwaltungssystemen zum Zwecke der Historienverwaltung
für eine
lange Zeitdauer gespeichert werden.
-
Zum
Speichern von Daten, die für
eine solche lange Zeit aufbewahrt werden müssen, werden diese Daten zum
Beispiel in entsprechenden zeitlichen Abständen auf Speichermedien wie
Magnetbändern
für Backup-Zwecke
gespeichert. Speichermedien wie Magnetbänder unterliegen jedoch den folgenden
Problemen. Generell benötigen
derartige Speichermedien längere
Zeit zum Lesen bzw. Schreiben der Daten, so dass schnelle Datenverarbeitungsoperationen
nicht realisiert werden konnten. Außerdem sind zum Lesen bzw.
Schreiben von Daten auf solchen Speichermedien, zum Beispiel auf Magnetbändern, Vorrichtungen
zum Lesen bzw. Schreiben von Daten erforderlich. Ein weiteres Problem
ergibt sich hinsichtlich der Steuerung der Arbeitslasten dieser
Vorrichtungen zum Lesen bzw. Schreiben von Daten und deren Kosten.
Weil sowohl ein Platz zur Aufbewahrung der Speichermedien als auch
ein Platz zum Installieren der Vorrichtungen zum Lesen bzw. Schreiben
von Daten sichergestellt werden muss, besteht ein weiteres Problem
darin, dass der Platz nicht effektiv genutzt werden kann.
-
Die
vorliegende Entwicklung ist gemacht worden, um diese Probleme anzugehen.
Zu den Zielen gehört
die Bereitstellung einer neuen und nützlichen Speichersteuervorrichtung,
eines Speichersystems und eines Verfahrens zum Steuern des Speichersystems,
die Daten unter sicheren Bedingungen verwalten können.
-
US 2003/0204690 A1 beschreibt
Benutzerdaten-Backupfunktionen, die mit einem Computer realisiert
werden, der sich auf der Seite des Anbieters von Verwaltungsdiensten
befindet und zwischen einer Computerumgebung auf der Benutzerseite
und einer Computerumgebung auf der Speicherservice-Seite angeschlossen
ist, um Speicherdienste zu unterstützen. Dieser Computer wählt unter
mehreren leeren Spei chervorrichtungen, die zu der Computerumgebung
auf der Speicherservice-Seite gehören, mehrere Speichervorrichtungen
aus, die die Bedingungen der Benutzerseite erfüllen, empfängt Benutzerdaten von der Computerumgebung
auf der Benutzerseite, teilt die Benutzerdaten in Datensätze vorbestimmter
Größe auf und
sendet die Datensätze
an die Computerumgebung auf der Speicherservice-Seite, so dass die
Datensätze
an die ausgewählten
mehreren Speichervorrichtungen weitergegeben und dort gespeichert
werden können.
-
Nach
einem Aspekt der vorliegenden Erfindung wird eine Speichersteuervorrichtung
zum Lesen bzw. Schreiben von Daten bezüglich einer Speichervorrichtung
in Reaktion auf eine von einer Informationsverarbeitungsvorrichtung
ausgesandte Dateneingabe- und -ausgabeanforderung bereitgestellt, wobei
die Speichersteuervorrichtung zur Verwendung in einem Speichersystem
eingerichtet ist, das eingerichtet ist, mehrere Speichersteuervorrichtungen
zu enthalten, die zur Kommunikation über ein IP-Netz (Internet-Protokoll)
miteinander verbunden sind, und wobei die Speichersteuervorrichtung
Folgendes aufweist:
eine Speichernotwendigkeitsablauf-Verwaltungseinheit,
um darin einen ersten Speichertag- bzw. -zeitwert zu speichern,
der gleich dem Tag bzw. der Zeit ist, bis zu dem bzw. der Daten
unter sicheren Bedingungen gespeichert sein müssen, wobei die Daten in einem
ersten Speicherbereich gespeichert werden, der einem Speicherbereich
der Speichervorrichtung entspricht, an dem die Speichersteuervorrichtung
die Daten liest bzw. schreibt, und
eine erste Garantieablauf-Verwaltungseinheit,
um darin einen zweiten Speichertag- bzw. -zeitwert zu speichern,
der gleich dem Tag bzw. der Zeit ist, bis zu dem bzw. der der erste
Speicherbereich die Daten unter normalen Bedingungen garantiert
speichert, dadurch gekennzeichnet, dass die Speichersteuervorrichtung
außerdem
aufweist:
eine zweite Garantieablauf-Verwaltungseinheit, um darin
einen dritten Speichertag- bzw. -zeitwert zu speichern, der gleich
dem Tag bzw. der Zeit ist, bis zu dem bzw. der der zweite Speicherbereich
die Daten unter normalen Bedingungen garantiert speichert, wobei
der zweite Speicherbereich gleich einem Speicherbereich der Speichervorrichtung
ist, an dem eine andere im Speichersystem enthaltene Speichersteuervorrichtung
Daten liest bzw. schreibt, und
eine Datenbewegungs-Verwaltungseinheit,
die eingerichtet ist, so zu arbeiten, dass dann, wenn der erste
Speichertag- bzw. -zeitwert des ersten Speicherbereichs nach dem
zweiten Speichertag- bzw. -zeitwert der im ersten Speicherbereich
gespeicherten Daten abläuft,
die Datenbewegungs-Verwaltungseinheit eingerichtet ist, innerhalb
des zweiten Speicherbereichs der anderen Speichersteuervorrichtung
einen zweiten Speicherbereich mit einem dritten Speichertag- bzw.
-zeitwert zu wählen,
der nach dem zweiten Speichertag- bzw. -zeitwert abläuft, und
die im ersten Speicherbereich gespeicherten Daten zum gewählten zweiten
Speicherbereich zu übertragen.
-
Nach
der vorliegenden Erfindung ist es möglich, eine solche Speichersteuervorrichtung
bereitzustellen, die in der Lage ist, die Daten unter sicheren Bedingungen
zu verwalten, und es ist auch möglich, das
Speichersystem und das Verfahren zum Steuern dieses Speichersystems
bereitzustellen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Zum
besseren Verständnis
der vorliegenden Erfindung wird auf die ausführliche Beschreibung verwiesen,
die in Verbindung mit den anliegenden Zeichnungen zu lesen ist.
-
1 zeigt
schematisch den Aufbau eines Speichersystems 1 nach einer
Ausführungsform
der vorliegenden Erfindung.
-
2 zeigt
ein Diagramm mit der Hardware-Struktur einer Informationsverarbeitungsvorrichtung 20 nach
einer Ausführungsform
der vorliegenden Erfindung.
-
3 zeigt
ein Diagramm mit der Hardware-Struktur einer Plattenarray-Vorrichtung 10 nach einer
Ausführungsform
der vorliegenden Erfindung.
-
4 zeigt
ein Diagramm mit den Funktionen der Plattenarray-Vorrichtung 10 nach
einer Ausführungsform
der vorliegenden Erfindung.
-
5 zeigt
ein Diagramm einer Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 nach
einer Ausführungsform
der vorliegenden Erfindung.
-
6 zeigt
ein Diagramm einer Logikeinheits-Verwaltungstabelle 600 nach
einer Ausführungsform
der vorliegenden Erfindung.
-
7A zeigt
ein Ablaufdiagramm zur Beschreibung eines Verarbeitungsvorgangs
zum Aktualisieren der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 nach
einer Ausführungsform
der vorliegenden Erfindung.
-
7B zeigt
ein Ablaufdiagramm zur Beschreibung eines Beispiels für einen
Verarbeitungsvorgang, der nach dem iSCSI-Protokoll ausgeführt wird,
wenn die eigene Plattenarray-Vorrichtung 10 nach einer
Ausführungsform
der vorliegenden Erfindung einen Teil der Informationen erfasst,
die entweder in der Logikeinheits-Verwaltungstabelle 600 einer anderen
Plattenarray-Vorrichtung 10 oder in der Logikeinheits-Verwaltungstabelle 600 registriert
sind.
-
8 zeigt
ein Ablaufdiagramm zur Beschreibung sowohl eines Verarbeitungsvorgangs zum
Beurteilen, ob ein Bewegen von in der logischen Einheit gespeicherten
Daten nötig
ist oder nicht, als auch eines weiteren Verarbeitungsvorgangs zum
Angeben, dass bezüglich
einer logischen Einheit, in die die Daten, die bewegt werden müssen, gespeichert worden
sind, eine logische Einheit gewählt
wird, die einen Kandidaten für
ein Bewegungsziel darstellen kann, nach einer Ausführungsform
der vorliegenden Erfindung.
-
9 zeigt
ein Ablaufdiagramm zur Beschreibung eines Verarbeitungsvorgangs
in Zusammenhang mit dem Bewegen von Daten nach einer Ausführungsform
der vorliegenden Erfindung.
-
AUSFÜHRLICHE
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Unter
Bezugnahme auf die Zeichnungen wird eine Ausführungsform der vorliegenden
Erfindung beschrieben.
-
1 zeigt
schematisch den Aufbau eines Speichersystems 1 nach einer
Ausführungsform
der vorliegenden Erfindung. Dieses Speichersystem 1 ist so
eingerichtet, dass es mehrere Plattenarray-Vorrichtungen 10 (das
heißt
Speichersteuervorrichtungen) und eine oder mehrere Gruppen von Informationsverarbeitungsvorrichtungen 20 enthält. Sowohl die
Plattenarray-Vorrichtungen 10 als auch die Informationsverarbeitungsvorrichtungen 20 sind
an ein Kommunikationsnetz (im Folgenden als „IP-Netz 60" bezeichnet) angeschlossen,
und daher sind die jeweiligen Plattenarray-Vorrichtungen 10 und
die Informationsverarbeitungsvorrichtungen 20 zur Kommunikation
miteinander verbunden. Das IP-Netz 60 arbeitet mit dem
TCP/IP®-Protokoll
(Transmission Control Protocol/Internet Protocol) als Kommunikationsprotokoll.
-
Aufbau der Informationsverarbeitungsvorrichtung
-
Die
Informationsverarbeitungsvorrichtung 20 entspricht einem
Computer, zum Beispiel einem Personalcomputer, einer Workstation,
einem Server, einem Mainframe-Rechner und dergleichen.
-
2 zeigt
die Hardware-Struktur der Informationsverarbeitungsvorrichtung 20.
Die Informationsverarbeitungsvorrichtung 20 ist aufgebaut
mit einer CPU (Zentralverarbeitungseinheit) 21, einem Speicher
(ROM, RAM) 22, einem Festplattenlaufwerk 23, einer
Speichermedium-Lesevorrichtung 24, einer Netzwerkschnittstelle 25,
einer Eingabevorrichtung 26 und einer Ausgabevorrichtung 27.
Die Speichermedium-Lesevorrichtung 24 liest Daten und ein Programm
von einem Speichermedium wie einer CD-ROM und einer DVD-ROM. Die
Eingabevorrichtung 26 entspricht einer Tastatur, einer Maus
und dergleichen. Die Ausgabevorrichtung 24 entspricht einem
Display, einem Drucker und dergleichen. Die Netzwerkschnittstelle 25 führt die
Kommunikation zwischen der Plattenarray-Vorrichtung 10 und
der anderen Informationsverarbeitungsvorrichtung 20 über das
IP-Netz 60 nach dem TCP/IP-Protokoll aus. Die Plattenarray-Vorrichtung 10 dient
als Speicher für Daten,
die von einem Anwendungsprogramm und dergleichen verarbeitet werden,
das in der Informationsverarbeitungsvorrichtung 20 läuft. Die
Informationsverarbeitungsvorrichtung 20 sendet eine Dateneingabe-
und -ausgabeanforderung mittels einer Blockangabe an die Plattenarray-Vorrichtung 10.
-
Hierbei
ist zu beachten, dass die Plattenarray-Vorrichtung 10 auch
als NAS-Netzwerkspeicher (Network Attached Storage) dienen kann,
der eine Dateneingabe- und -ausgabeanforderung durch Angabe eines
Dateinamens von der Informationsverarbeitungsvorrichtung 20 nach
einem Protokoll wie zum Beispiel NFS (Network File System) akzeptieren kann.
Wenn die Plattenarray-Vorrichtung 10 als ein solcher NAS
dient, entspricht die vorstehend beschriebene Dateneingabe- und -ausgabeanforderung
der Dateneingabe- und -ausgabeanforderung durch Angabe eines Dateinamens,
und ein Dateiname wird für
die vorstehend beschriebene Dateneingabe- und -ausgabeanforderung
als die Information zur Angabe der in einer Speichervorrichtung
gespeicherten Daten eingestellt. Bei der Anwendung der vorliegenden
Erfindung können
auch andere Speichersteuervorrichtungen wie etwa Halbleiter-Plattenvorrichtungen
anstelle der Plattenarray-Vorrichtung 10 benutzt werden.
-
Aufbau der Plattenarray-Vorrichtung
-
Die
Plattenarray-Vorrichtung 10 empfängt eine Dateneingabe- und
-ausgabeanforderung, die von der Informationsverarbeitungsvorrichtung 20 über das
IP-Netz 60 gesendet wird. Die Dateneingabe- und -ausgabeanforderung
entspricht zum Beispiel einer Anforderung zum Lesen von Daten (Datenlese anforderung)
und einer Anforderung zum Schreiben von Daten (Datenschreibanforderung). Die
Plattenarray-Vorrichtung 10 führt das Lesen und Schreiben
von Daten bezüglich
einer Speichervorrichtung in Reaktion auf eine empfangene Dateneingabe-
und -ausgabeanforderung durch.
-
3 zeigt
die Hardware-Struktur der Plattenarray-Vorrichtung 10. Die Plattenarray-Vorrichtung 10 ist
ausgerüstet
mit einem Mikroprozessor 11, einer Geräteschnittstelle 12,
einem Speicher (RAM, ROM) 13, einem Cache-Speicher 14,
einer Eingabevorrichtung 15 wie einem Bedienfeld, einer
Ausgabevorrichtung 16 wie einem Display, einer Kommunikationsschnittstelle 17,
einer Festplattenvorrichtung 18, die als Speichervorrichtung
dient, einem Zeitgeber 19 zum Erzeugen des aktuellen Zeit-
bzw. Tageswertes und dergleichen. Das Festplattenlaufwerk 18 kann
in demselben Gehäuse
wie die übrigen
Elemente der Plattenarray-Vorrichtung 10 oder alternativ
in einem anderen Gehäuse
untergebracht sein, das sich von dem zuerst genannten Gehäuse unterscheidet.
-
Die
Kommunikationsschnittstelle 17 empfängt eine Dateneingabe- und
-ausgabeanforderung, die von der Informationsverarbeitungsvorrichtung 20 über das
IP-Netz 60 gesendet wird, und benachrichtigt den Mikroprozessor 11 über die
empfangene Dateneingabe- und -ausgabeanforderung. Die Kommunikationsschnittstelle 17 ist
so aufgebaut, dass sie einen Kommunikationsprozessor 171 und
einen Datenübertragungsprozessor 172 umfasst.
Der Kommunikationsprozessor 171 ist zur Kommunikation über das
IP-Netz 60 mit der Informationsverarbeitungsvorrichtung 20 und
der anderen Plattenarray-Vorrichtung 10 verbunden. Der
Kommunikationsprozessor 171 kommuniziert mit der anderen
Plattenarray-Vorrichtung 10 über das IP-Netz 60 nach dem
iSCSI-Protokoll (Internet Small Computer System Interface) (siehe
zum Beispiel RFC (Request for Comments) 3347).
-
Der
Datenübertragungsprozessor 172 ist zum
Beispiel durch einen DMA-Prozessor (Direct Memory Access) reali siert.
Der Datenübertragungsprozessor 172 führt die
Datenübertragung
zwischen der Kommunikationsschnittstelle 17 und dem Cache-Speicher 14 mit
hoher Effizienz durch. Wenn die vorstehend beschriebene Dateneingabe-
und -ausgabeanforderung, die von der Informationsverarbeitungsvorrichtung 20 empfangen
wird, einer Datenschreibanforderung entspricht, empfängt die
Kommunikationsschnittstelle 17 die von der Informationsverarbeitungsvorrichtung 20 gesendeten
Schreibdaten und schreibt diese Schreibdaten dann in den Cache-Speicher 14.
Wenn die vorstehend beschriebene Dateneingabe- und -ausgabeanforderung, die von der
Informationsverarbeitungsvorrichtung 20 empfangen wird,
einer Datenleseanforderung entspricht, liest die Kommunikationsschnittstelle 17 die
Lesedaten, die in den Cache-Speicher 14 geschrieben worden
sind, und sendet die Lesedaten dann an die Informationsverarbeitungsvorrichtung 20.
-
Der
Mikroprozessor 11 steuert eine ganze Anordnung von Plattenarray-Vorrichtungen 10 in
einheitlicher Weise. Der Mikroprozessor 11 kann verschiedene
Arten von Funktionen realisieren, die von der Plattenarray-Vorrichtung 10 bereitgestellt
werden, indem er ein im Speicher 13 gespeichertes Programm
ausführt.
Wenn die Kommunikationsschnittstelle 17 die Schreibdaten
in den Cache-Speicher 14 schreibt, benachrichtigt der Mikroprozessor 11 die Geräteschnittstelle 12 über diesen
Datenschreibvorgang. Wenn die Geräteschnittstelle 12 die
Lesedaten in den Cache-Speicher 14 schreibt, benachrichtigt der
Mikroprozessor 11 die Kommunikationsschnittstelle 17 über diesen
Datenschreibvorgang.
-
Sowohl
der Speicher 13 als auch der Cache-Speicher 14 sind
unter Verwendung eines RAM-Speichers oder dergleichen gebildet.
Der Speicher 13 wird als Speicherplatz für vom Mikroprozessor 11 gelieferte
Daten benutzt. Der Cache-Speicher 14 kann die Aufgabe des
Pufferns der Zugriffsgeschwindigkeit bezüglich des Festplattenlaufwerks 18 übernehmen und
kann die Reaktionsgeschwindigkeit bezüglich der Informationsverarbeitungsvorrichtung 20 verbessern.
-
Die
Geräteschnittstelle 12 ist
so aufgebaut, dass sie einen Steuerprozessor 121 und einen
Datenübertragungsprozessor 122 umfasst.
Der Steuerprozessor 121 steuert die gesamte Struktur der
Geräteschnittstelle 12 in
Zusammenhang mit den Datenlese- bzw. -schreibvorgängen bezüglich des
Festplattenlaufwerks 18. Die Geräteschnittstelle 12 kann eine
Funktion zum Steuern des Festplattenlaufwerks 18 auf der
Grundlage einer RAID-Stufe, zum Beispiel 0, 1 und 5 im RAID-System
(Redundant Array of Inexpensive Disks), aufweisen. Wenn die Geräteschnittstelle 12 einen
Befehl von der Kommunikationsschnittstelle 17 empfängt, liest
bzw. schreibt der Steuerprozessor 122 Daten bezüglich des
Festplattenlaufwerks 18 entsprechend dem empfangenen Befehl.
Entspricht der vorstehend beschriebene Befehl einem Befehl für einen
Datenlesevorgang vom Festplattenlaufwerk 18, liest die
Geräteschnittstelle 12 in
Reaktion auf den Datenlesebefehl die Daten vom Festplattenlaufwerk 18 und
schreibt dann die Lesedaten in den Cache-Speicher 14. Entspricht
der vorstehend beschriebene Befehl einem Befehl für einen
Datenschreibvorgang auf das Festplattenlaufwerk 18, liest
die Geräteschnittstelle 12 die
in den Cache-Speicher 14 geschriebenen Daten und schreibt
dann die Lesedaten auf das Festplattenlaufwerk 18.
-
Logische Einheit
-
Die
Informationsverarbeitungsvorrichtung 20 erkennt einen von
der Plattenarray-Vorrichtung 10 bereitgestellten Speicherbereich,
wobei eine logische Einheit „LU" (logische Einheit)
entsprechend einem logischen Speicherbereich als Einheit verwendet
wird. Wenn das in der Informationsverarbeitungsvorrichtung 20 installierte
Betriebssystem einem UNIX®-Betriebssystem entspricht,
ist die logische Einheit in Überstimmung
mit einer Gerätedatei
(Gerätedatei)
definiert. Wenn das in der Informationsverarbeitungsvorrichtung 20 installierte
Betriebssystem einem Windows®-Betriebssystem entspricht,
ist die logische Einheit in Überstimmung
mit einem Laufwerksbuchstaben (Laufwerksname, Laufwerkskennung)
definiert. Den jeweiligen logischen Einheiten sind logische Einheitennummern „LUN" (logische Einheitennummern)
zugewiesen, die spezifisch für die
jeweiligen logischen Einheiten sind. Eine LUN wird zum Beispiel
für eine
Dateneingabe- und -ausgabeanforderung eingestellt, die von der Informationsverarbeitungsvorrichtung 20 an
die Plattenarray-Vorrichtung 10 gesendet wird, und die
Informationsverarbeitungsvorrichtung 20 bezeichnet die
LUN, um so die logische Einheit anzugeben. Außerdem erkennt die Plattenarray-Vorrichtung 10 einen
physikalisch eingerichteten Speicherbereich (im Folgenden als „physikalischer
Speicherbereich" bezeichnet)
des Festplattenlaufwerks 18, wobei ein solches logisches Gerät LDEV (logisches
Gerät)
entsprechend einem Speicherbereich, der unter Verwendung dieses Speicherbereichs
logisch eingerichtet wird, als Einheit verwendet wird. Ein oder
mehr Sätze
von Paritätsgruppen
im RAID5-System
können
zum Beispiel einem logischen Gerät
entsprechen.
-
Verwaltung der Daten und Speicherablauf
-
Die
Plattenarray-Vorrichtung 10 weist ein System zur Speicherung
von Daten, die für
eine erforderliche Frist im Festplattenlaufwerk 18 gespeichert
worden sind, unter sicheren Bedingungen auf. Zur Realisierung des
vorstehend beschriebenen Systems verwalten die Plattenarray-Vorrichtungen 10 jeweils
solche Informationen wie den Speichernotwendigkeitsablauf, ersten
Garantieablauf, zweiten Garantieablauf und dergleichen. Der Speichernotwendigkeitsablauf
ist ein Ablauf dafür,
dass Daten, die in dem vom Festplattenlaufwerk 18 bereitgestellten Speicherbereich
gespeichert worden sind, unter sicheren Bedingungen gespeichert
werden müssen. Der
erste Garantieablauf entspricht einem solchen Ablauf, der garantieren
kann, dass eine logische Einheit (erste logische Einheit, erster
Speicherbereich) darin Daten unter normalen Bedingungen speichert. Außerdem entspricht
der zweite Garantieablauf einem Ablauf, der garantieren kann, dass
eine andere logische Einheit (zweite logische Einheit, zweiter Speicherbereich)
einer anderen Plattenarray-Vorrichtung 10, die an das IP-Netz 60 angeschlossen
ist, darin Daten unter normalen Bedingungen speichert. Als der erste
Garantieablauf und der zweite Garantieablauf wird zum Beispiel die
Lebensdauer des Festplattenlaufwerks 18 verwendet. Als
der erste Garantieablauf und der zweite Garantieablauf kann zum
Beispiel auch die Lebensdauer der Plattenarray-Vorrichtung 10 benutzt
werden, die diese logische Einheit verwaltet.
-
Für das vorstehend
beschriebene System zeigt 4 verschiedene
Arten von Funktionen, die in der Plattenarray-Vorrichtung 10 ausgeführt werden.
In 4 beurteilt eine Datenbewegungs-Verwaltungseinheit 410,
ob ein Speichernotwendigkeitsablauf für Daten, die in der logischen
Einheit (erste logische Einheit) gespeichert worden sind, nach dem ersten
Garantieablauf abläuft.
Wenn der Speichernotwendigkeitsablauf für Daten, die in der logischen Einheit
(erste logische Einheit) gespeichert worden sind, nach dem ersten
Garantieablauf abläuft, überträgt die Datenbewegungs-Verwaltungseinheit 410 die
in der logischen, Einheit (erste logische Einheit) gespeicherten
Daten über
das IP-Netz 60 an die logische Einheit (zweite logische
Einheit) mit dem zweiten Garantieablauf nach dem ersten Garantieablauf.
-
Weil,
wie vorstehend erläutert,
die Daten, die in der logischen Einheit (erste logische Einheit)
gespeichert worden sind, an die logische Einheit (zweite logische
Einheit) einer anderen im IP-Netz 60 vorgesehenen Plattenarray-Vorrichtung 10 übertragen werden,
kann eine solche Frist verlängert
werden, während
der die in der logischen Einheit (erste logische Einheit) der Plattenarray-Vorrichtung 10 der
Datenübertragungsquelle
gespeicherten Daten unter sicheren Bedingungen verwaltet werden
können.
Außerdem
kann, wenn der Speichernotwendigkeitsablauf nach dem ersten Garantieablauf
der logischen Einheit (erste logische Einheit) abläuft, die
Datenbewegungs-Verwaltungseinheit 410 alternativ die Daten,
die in der logischen Einheit (erste logische Einheit) gespeichert
worden sind, an eine logische Einheit (zweite logische Einheit)
mit einem zweiten Garantieablauf nach dem vorstehend beschriebenen Speichernotwendigkeitsablauf
unter den logischen Einheiten (zweite logische Einheiten) der anderen Plattenarray-Vorrichtung 10 übertragen.
In diesem alternativen Fall kann die Datenbewegungs-Verwaltungseinheit 410 die
Daten, die in der logischen Einheit (erste logische Einheit) der
Plattenarray-Vorrichtung 10 der Datenübertragungsquelle gespeichert worden
sind, unter sicheren Bedingungen bis zu deren Speichernotwendigkeitsablauf
verwalten.
-
Zum
Verwalten der Daten unter sicheren Bedingungen, auch wenn die Daten
unter einer beliebigen der vorstehend beschriebenen Bedingungen übertragen
werden, führt
die Datenbewegungs-Verwaltungseinheit 410 den Übertragungsvorgang
für die
Daten, die in der logischen Einheit (erste logische Einheit) gespeichert
worden sind, vor dem Garantieablauf (erster Garantieablauf) dieser
logischen Einheit (erste logische Einheit) aus.
-
Die
Vorrichtungserkennungseinheit 411 erkennt andere Plattenarray-Vorrichtungen 10,
die im IP-Netz 60 vorhanden sind. Dieser Vorrichtungserkennungsvorgang
durch die Vorrichtungserkennungseinheit 411 erfolgt zum
Beispiel entweder durch Broadcasting oder durch Multicasting im
Hinblick auf das IP-Netz 60, um eine von einem iSCSI-Gerät eines
Kommunikationspartners gesendete Antwort anzufordern. Alternativ
kann, wenn ein iSNS (Internet Storage Name Server) im IP-Netz 60 verwendet
werden kann, die Vorrichtungserkennungseinheit 44 den vorstehend
beschriebenen Vorrichtungserkennungsvorgang durchführen, indem
sie einen Auffindprozess entsprechend dem iSNS ausführt.
-
Die
Bewegungsziel-Logikeinheits-Verwaltungseinheit 412 (zweite
Garantieablauf-Verwaltungseinheit) verwaltet die Bewegungsziel-Logikeinheits-Verwaltungstabelle 500.
Die Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 ist
zum Beispiel im Speicher 13 oder auf dem Festplattenlaufwerk 18 gespeichert.
-
5 zeigt
ein Beispiel für
die vorstehend beschriebene Bewegungsziel-Logikeinheits-Verwaltungstabelle 500.
In dieser Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 sind
Informationen registriert. Diese Informationen beziehen sich auf
die logische Einheit (zweite logische Einheit) der anderen Plattenarray-Vorrichtung 10,
die einen Kandidaten für
ein Bewegungsziel der Daten darstellen kann, die in der logischen
Einheit (erste logische Einheit) gespeichert worden sind. In dieser
Abbildung ist eine Vorrichtungskennung, die sich auf die Plattenarray-Vorrichtung 10 bezieht,
die den Kandidaten für das
Bewegungsziel darstellt, in Spalte 531 „Vorrichtungskennung" eingetragen. Als
diese Vorrichtungskennung werden zum Beispiel eine IP-Adresse, eine Kombination
von IP-Adresse und Kommunikations-Portkennung auf der Seite der
anderen Plattenarray-Vorrichtung 10 zum Zugriff auf eine
logische Einheit, ein iSCSI-Name (iSCSI-Name) und eine Vorrichtungsnummer
benutzt, die der Hersteller dieser Plattenarray-Vorrichtung 10 bei
der Auslieferung zuweist. Eine LUN, die sich auf diese logische
Einheit bezieht, ist in Spalte 532 „LUN" eingetragen.
-
In
Spalte 533 „Emulationstyp" ist ein Emulationstyp
für diese
logische Einheit eingetragen. Der Emulationstyp liefert Informationen,
die eine Spezifikation für
eine logische Einheit angeben. Für
jeden Emulationstyp werden in Spalte 533 „Emulationstyp" zum Beispiel eine
Speicherkapazität,
eine Spurgröße, eine
Zylindernummer, eine maximale Blocknummer und dergleichen eingestellt.
-
Die
Speicherkapazität
dieser logischen Einheit wird in Spalte 534 „Speicherkapazität" der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 eingestellt.
In Spalte 535 „Formatierungstag/-zeit" werden der Tag und
die Zeit eingetragen, wann diese logische Einheit formatiert (initialisiert)
worden ist. Hierbei ist zu beachten, dass diese Spalte 535 „Formatierungstag/-zeit" leer ist, wenn eine
logische Einheit noch nicht formatiert worden ist.
-
In
Spalte 536 „Garantiefrist" wird eine Garantiefrist
(zweite Garantiefrist) eingestellt, die garantieren kann, dass die
logische Einheit (zweite logische Einheit) Daten darin unter normalen
Bedingungen speichert. Diese Garantiefrist wird zum Beispiel auf der
Grundlage der Lebensdauer des Festplattenlaufwerks 18 bestimmt.
Wenn die logische Einheit (zweite logische Einheit) durch Verwendung
von Speicherbereichen mehrerer Gruppen von Festplattenlaufwerken 18 gebildet
ist, wird zum Beispiel ein Durchschnittswert der Lebensdauer der
jeweiligen Festplattenlaufwerke 18 als diese Garantiefrist
eingestellt. In Spalte 537 „Garantieablauf" wird ein Garantieablauf
(zweiter Garantieablauf) eingestellt, der garantieren kann, dass
eine logische Einheit Daten darin unter normalen Bedingungen speichert.
Der Garantieablauf (zweiter Garantieablauf) kann durch Addieren
der in Spalte 536 „Garantiefrist" eingestellten Garantiefrist
(zweite Garantiefrist) zu dem in [Spalte 535] „Formatierungstag/-zeit" eingestellten Tag-
bzw. Zeitwert berechnet werden. Hierbei ist zu beachten, dass, wenn
die Formatierungstag/-zeit nicht von einer anderen Plattenarray-Vorrichtung 10 erfasst
werden kann, ein Wert in Spalte 537 „Garantieablauf" eingestellt wird,
der durch Addieren der in Spalte 536 „Garantiefrist" eingestellten Garantiefrist
(zweite Garantiefrist) zu dem Tag bzw. der Zeit berechnet wird, wann
auf den zweiten Speicherbereich einer anderen Plattenarray-Vorrichtung 10 zugegriffen
werden kann.
-
Die
in 4 gezeigte Logikeinheits-Verwaltungseinheit 413 (Speichernotwendigkeitsablauf-Verwaltungseinheit,
erste Garantieablauf-Verwaltungseinheit) verwaltet eine Logikeinheits-Verwaltungstabelle 600. 6 zeigt
ein Beispiel der Logikeinheits-Verwaltungstabelle 600.
Die Logikeinheits- Verwaltungstabelle 600 ist
zum Beispiel im Speicher 13 oder auf dem Festplattenlaufwerk 18 gespeichert.
Informationen bezüglich
einer logischen Einheit (erste logische Einheit) sind in der Logikeinheits-Verwaltungstabelle 600 eingetragen.
In dieser Abbildung ist eine LUN, die sich auf diese logische Einheit
(erste logische Einheit) bezieht, in Spalte 631 „LUN" eingetragen. In
Spalte 632 „Emulationstyp" ist ein Emulationstyp
für diese
logische Einheit (erste logische Einheit) eingestellt. In Spalte 633 „Speicherkapazität" ist die Speicherkapazität dieser
logischen Einheit (erste logische Einheit) eingestellt.
-
In
Spalte 634 „Speichernotwendigkeitsfrist" wird eine Speichernotwendigkeitsfrist
eingestellt, und diese Speichernotwendigkeitsfrist entspricht einer Frist,
für die
die in dieser logischen Einheit (erste logische Einheit) gespeicherten
Daten unter sicheren Bedingungen gespeichert werden müssen. In
Spalte 635 „Schreibstarttag/-zeit" werden der Tag bzw.
die Zeit eingetragen, wann zum ersten Mal Daten in diese logische
Einheit (erste logische Einheit) geschrieben worden sind. In Spalte 636 „Speichernotwendigkeitsablauf" wird ein Speichernotwendigkeitsablauf eingestellt,
und dieser Speichernotwendigkeitsablauf entspricht einem Ablauf,
bis zu dem die in dieser logischen Einheit (erste logische Einheit)
gespeicherten Daten unter sicheren Bedingungen gespeichert werden
müssen.
Der Speichernotwendigkeitsablauf kann durch Addieren des in Spalte 634 „Speichernotwendigkeitsfrist" eingestellten Werts
zu dem in Spalte 635 „Schreibstarttag/-zeit" eingestellten Tag-
bzw. Zeitwert berechnet werden.
-
In
Spalte 637 „Garantieablauf" wird ein Garantieablauf
(erster Garantieablauf) eingestellt, der einem Garantieablauf dafür entspricht,
dass diese logische Einheit (erste logische Einheit) Daten unter normalen
Bedingungen speichern kann. Der Garantieablauf (erster Garantieablauf)
jeder der logischen Einheiten kann durch Addieren der Garantiefrist
(erste Garantiefrist) zu dem Tag bzw. der Zeit, wann diese logische
Einheit formatiert worden ist, berechnet werden. Diese erste Garantiefrist
gibt eine Frist an, für
die diese logische Einheit (erste logische Einheit) die Daten unter
normalen Bedingungen speichern kann.
-
In
Spalte 638 „Bewegen
nötig/nicht
nötig" wird ein Flag (0:
Bewegen nötig,
1: Bewegen nicht nötig)
gesetzt. Dieses Flag gibt an, ob in einer logischen Einheit (erste
logische Einheit) gespeicherte Daten zu einer anderen logischen
Einheit (zweite logische Einheit) einer anderen Plattenarray Vorrichtung 10 bewegt
werden müssen
oder nicht. Der Wert für
dieses Flag wird durch Vergleich des in Spalte 636 „Speichernotwendigkeitsablauf" der Logikeinheits-Verwaltungstabelle 600 eingestellten
Speichernotwendigkeitsablaufs mit dem in Spalte 637 „Garantieablauf" eingestellten Garantieablauf
(erste Garantieablauf) bestimmt. Wenn der Speichernotwendigkeitsablauf
nach dem Garantieablauf (erster Garantieablauf) abläuft, wird
in Spalte 638 „Bewegen
nötig/nicht
nötig" für dieses
Flag „1" eingetragen, um anzugeben,
dass ein Bewegen nötig
ist. Weiter wird, wenn der Speichernotwendigkeitsablauf vor dem
Garantieablauf (erster Garantieablauf) abläuft, in Spalte 638 „Bewegen
nötig/nicht
nötig" für dieses
Flag „0" eingetragen, um
anzugeben, dass ein Bewegen nicht nötig ist. Hierbei ist zu auch
beachten, dass für
die logische Einheit (erste logische Einheit), die nicht verwendet
wird, in Spalte 638 „Bewegen
nötig/nicht
nötig" für dieses
Flag „2" eingestellt wird,
wobei „2" einem Flag zur Angabe
dessen entspricht, dass diese logische Einheit eine leere logische
Einheit ist. Wenn eine andere Plattenarray-Vorrichtung 10 eine
logische Einheit für
ein Bewegungsziel wählt,
wenn für diese
logische Einheit in Spalte 638 „Bewegen nötig/nicht nötig" „2" eingestellt ist,
kann diese Plattenarray-Vorrichtung 10 beurteilen, dass
diese logische Einheit als eine logische Einheit für ein Bewegungsziel
benutzt werden kann.
-
In
Spalte 639 „Bewegungsziel-Vorrichtungskennung" wird eine Vorrichtungskennung
einer anderen Plattenarray-Vor richtung 10 mit einer gewählten logischen
Einheit eingestellt. Als diese Vorrichtungskennung können zum
Beispiel eine IP-Adresse (ansonsten eine Kombination von IP-Adresse
und Kommunikations-Portkennung auf der Seite der anderen Plattenarray-Vorrichtung 10 zum
Zugriff auf eine logische Einheit), ein iSCSI-Name (iSCSI-Name)
und eine Vorrichtungsnummer benutzt werden. Diese Vorrichtungsnummer
wird der Plattenarray-Vorrichtung 10 vom Hersteller bei
der Auslieferung dieser Plattenarray-Vorrichtung 10 zugewiesen.
-
In
Spalte 640 „Bewegungsziel-Logikeinheit" wird eine logische
Einheitennummer (LUN) für
eine solche logische Einheit (zweite logische Einheit) eingestellt,
die einen Kandidaten für
ein Bewegungsziel unter den logischen Einheiten (zweite logische
Einheit) darstellen kann, die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert
sind. Die Logikeinheits-Verwaltungseinheit 413 wählt eine
solche logische Einheit, die einen Kandidaten für ein Bewegungsziel darstellen
kann, unter den logischen Einheiten (zweite logische Einheiten)
aus, die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert
sind, und zwar für
jede der logischen Einheiten (erste logische Einheiten), für die in
Spalte 638 „Bewegen
nötig/nicht
nötig" „1" für „Bewegen
nötig" gesetzt ist, unter
den logischen Einheiten (erste logische Einheiten), die in der Logikeinheits-Verwaltungstabelle 600 registriert
sind.
-
In
diesem Fall wird die Tatsache, ob eine logische Einheit (zweite
logische Einheit), die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert
ist, einen Kandidaten für
ein Bewegungsziel darstellen kann oder nicht, durch Beurteilen dessen
bestimmt, ob der Garantieablauf (zweiter Garantieablauf) der logischen
Einheit, die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert
ist, nach dem Garantieablauf (erster Garantieablauf) der logischen
Einheit (erste logische Einheit) in der Logikeinheits-Verwaltungstabelle 600 abläuft oder
nicht. Mit anderen Worten, die Logikeinheits-Verwaltungseinheit 413 wählt eine
logische Einheit (zweite logische Einheit) unter den logischen Einheiten
(zweite logische Einheiten), die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert
sind, als den Kandidaten für
das Bewegungsziel aus, deren Garantieablauf (zweiter Garantieablauf)
nach dem Garantieablauf (erster Garantieablauf) abläuft. Hierbei
ist auch zu beachten, dass bei Ablauf des Speichernotwendigkeitsablaufs
nach dem Garantieablauf (zweiter Garantieablauf) Daten, die danach
wieder in der logischen Einheit (zweite logische Einheit) gespeichert
worden sind, an eine logische Einheit mit einem Garantieablauf übertragen werden
müssen,
der später
als der zweite Garantieablauf zu einem Zeitpunkt abläuft, bevor
der zweite Garantieablauf abgelaufen ist. Wie vorstehend erläutert, kann
als Bedingung für
das Auswählen
des Kandidaten für
das Bewegungsziel unter den logischen Einheiten (zweite logische
Einheiten), die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert
sind, eine logische Einheit (zweite logische Einheit) als der Kandidat
für das
Bewegungsziel gewählt
werden, deren Garantieablauf (zweiter Garantieablauf) nach dem in
Spalte 636 „Speichernotwendigkeitsablauf" in der Logikeinheits-Verwaltungstabelle 600 eingestellten
Speichernotwendigkeitsablauf abläuft.
-
Die
Gesamtzahl der logischen Einheiten (zweite logische Einheiten),
die von der Logikeinheits-Verwaltungseinheit 413 gewählt werden,
ist nicht immer eine einzelne logische Einheit. Das heißt, als
die logische Einheit (erste logische Einheit), die in der Logikeinheits-Verwaltungstabelle 600 registriert ist,
können
alternativ mehrere logische Einheiten (zweite logische Einheiten)
aus der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 gewählt werden.
Im Gegensatz dazu besteht eine gewisse Möglichkeit, dass keine solche
logische Einheit (zweite logische Einheit), die den Kandidaten für das Bewegungsziel
darstellen kann, gewählt
wird. In diesem Fall sind sowohl die Spalte 639 „Bewegungsziel-Vorrichtungskennung" als auch die Spalte 640 „Bewegungsziel-Logikeinheit" leer.
-
Es
ist auch zu beachten, dass die verschiedenen Arten von Funktionen,
die in 4 gezeigt sind, in den vorstehenden Beschreibungen
durch die Plattenarray-Vorrichtung 10 ausgeführt werden.
Alternativ können
diese Funktionen auch von einer anderen Vorrichtung (im Folgenden
als „Verwaltungsserver 30" bezeichnet, siehe 1)
als der an das IP-Netz 60 angeschlossenen Plattenarray-Vorrichtung 10 ausgeführt werden.
In diesem alternativen Fall kann der Verwaltungsserver 30 sowohl
die Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 als
auch die Logikeinheits-Verwaltungstabelle 600 speichern.
Der Verwaltungsserver 30 sendet eine Nachricht an die Plattenarray-Vorrichtung 10,
wenn der Speichernotwendigkeitsablauf einer logischen Einheit (erste
logische Einheit) einer bestimmten Plattenarray-Vorrichtung 10 nach
dem Garantieablauf (erster Garantieablauf) dieser logischen Einheit (erste
logische Einheit) abläuft,
anderenfalls wenn der zweite Garantieablauf für diese nach dem Speichernotwendigkeitsablauf
abläuft.
Diese Nachricht gibt die Anweisung, dass die in dieser logischen
Einheit gespeicherten Daten an eine andere logische Einheit (zweite
logische Einheit) einer anderen Plattenarray-Vorrichtung 10 übertragen
werden, deren Garantieablauf (zweiter Garantieablauf) nach dem Garantieablauf
(erster Garantieablauf) abläuft,
anderenfalls wenn deren Garantieablauf (zweiter Garantieablauf)
nach dem Verwaltungsnotwendigkeitsablauf abläuft. Die Plattenarray-Vorrichtung,
die die Nachricht empfängt, überträgt die Daten
entsprechend der Nachricht. Wenn das Speichersystem 1 so eingerichtet
ist, dass die vorstehend beschriebenen Funktionen wie vorstehend
beschrieben von dem Verwaltungsserver 30 ausgeführt werden,
kann bezüglich
der von dem Verwaltungsserver 30 ausgeführten Verarbeitungsvorgänge die
von der Plattenarray-Vorrichtung 10 zu verarbeitende Arbeitslast
verringert werden.
-
Verarbeitungsvorgänge im Speichersystem 1
-
Als
Nächstes
werden die Verarbeitungsvorgänge
beschrieben, die im Speichersystem 1 nach der vorliegenden
Ausführungsform
durchgeführt
werden, um das vorstehend genannte Datenverwaltungssystem zu realisieren.
-
7A zeigt
ein Ablaufdiagramm zur Beschreibung der Verarbeitungsvorgänge im Hinblick auf
einen Aktualisierungsvorgang der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500,
der von der Datenbewegungs-Verwaltungseinheit 410 der Plattenarray-Vorrichtung 10 ausgeführt wird.
Die Vorrichtungserkennungseinheit 411 der Plattenarray-Vorrichtung 10 (im
Folgenden auch als die „eigene
Vorrichtung 10" bezeichnet)
erkennt eine andere Plattenarray-Vorrichtung 10 (im Folgenden
auch als die „andere
Vorrichtung 10" bezeichnet),
die an das IP-Netz 60 angeschlossen ist (Schritt S711).
Hierbei ist zu beachten, dass eine von der Vorrichtungserkennungseinheit 411 erkannte
Plattenarray-Vorrichtung 10 auf einen vorbestimmten Bereich
begrenzt sein kann, damit diese Plattenarray-Vorrichtung 10 nicht
erkannt werden kann, wenn sie ursprünglich nicht erkannt werden
muss. Zu diesem Zweck kann zum Beispiel, während Informationen zum Angeben eines
iSCSI-Namens (iSCSI-Name) und einer IP-Adresse für eine solche Plattenarray-Vorrichtung 10 in
die Plattenarray-Vorrichtung 10, die ein Erkennungsobjekt
darstellen kann, gespeichert werden, die Vorrichtungserkennungseinheit 411 alternativ
nur solche Plattenarray-Vorrichtungen 10 erkennen, die durch
diese gespeicherten Informationen angegeben sind.
-
Wenn
die andere Vorrichtung 10 von der Vorrichtungserkennungseinheit 411 erkannt
wird, prüft die
Datenbewegungs-Verwaltungseinheit 410 der
eigenen Vorrichtung 10, ob die erkannte andere Vorrichtung 10 einer
solchen Plattenarray-Vorrichtung zum
Verwalten der Logikeinheits-Verwaltungstabelle 600 entspricht
oder nicht (Schritt S712). In diesem Schritt kann diese Beurteilung
zum Beispiel so ausgeführt
werden, dass die eigene Vorrichtung 10 anfragt, ob die
Lo gikeinheits-Verwaltungstabelle 600 von der anderen Vorrichtung 10 verwaltet
wird oder nicht. In diesem alternativen Fall kann zum Beispiel die
eigene Vorrichtung 10 diese Anfrage über das IP-Netz 60 nach
dem iSCSI-Protokoll vornehmen. Außerdem kann die Tatsache, ob
die erkannte andere Vorrichtung 10 der Plattenarray-Vorrichtung
zum Verwalten der Logikeinheits-Verwaltungstabelle 600 entspricht
oder nicht, durch vorheriges Speichern dieser Information in der
jeweiligen Plattenarray-Vorrichtung 10 ohne Verwendung
des iSCSI-Protokolls beurteilt werden, wobei diese Information angibt,
ob die andere Vorrichtung 10 die Logikeinheits-Verwaltungstabelle 600 verwaltet
oder nicht. Weiter kann diese Tatsache auch durch Prüfung dessen
beurteilt werden, ob eine Plattenarray-Vorrichtung 10 einer vom
selben Hersteller hergestellten Plattenarray-Vorrichtung 10 oder
einer Plattenarray-Vorrichtung 10 mit derselben Modellnummer
entspricht oder nicht.
-
Wenn
die Vorrichtungserkennungseinheit 411 in Schritt S712 feststellt,
dass die andere Vorrichtung 10 einer Plattenarray-Vorrichtung
zum Verwalten der Logikeinheits-Verwaltungstabelle 600 entspricht
(„JA" in Schritt S712),
fordert die Datenbewegungs-Verwaltungseinheit 410 die erkannte
andere Vorrichtung 10 auf, die Logikeinheits-Verwaltungstabelle 600 zu übermitteln.
Danach sendet die andere Vorrichtung 10 die Logikeinheits-Verwaltungstabelle 600 in
Reaktion auf die vorstehend erläuterte
Reaktion an die eigene Vorrichtung 10 (Schritte S714 und S715).
Die eigene Vorrichtung 10 empfängt die übertragene Logikeinheits-Verwaltungstabelle 600 (Schritt
S716).
-
7B zeigt
ein Ablaufdiagramm zur Beschreibung eines Verarbeitungsvorgangs,
der nach dem iSCSI-Protokoll ausgeführt wird, während die eigene Vorrichtung 10 die
Logikeinheits-Verwaltungstabelle 600 selbst erfasst oder
einen Teil der in der Logikeinheits-Verwaltungstabelle 600 registrierten Informationen
von einer anderen Vorrichtung 10 erfasst. Wenn die eigene
Vorrichtung 10 entweder einen Teil der in der Logikeinheits-Verwaltungstabelle 600 gespeicherten
Informationen oder die Logikeinheits-Verwaltungstabelle 600 selbst
von der anderen Vorrichtung 10 anfordert, führt die
eigene Vorrichtung 10 zuerst einen Anmeldeprozess bezüglich der
anderen Vorrichtung entsprechend der Anmeldesequenz des iSCSI-Protokolls
durch (Schritte S751 bis S754).
-
Als
Nächstes
wird eine Prozedur auf SCSI-Protokollebene eingeleitet. Zuerst wird
ein LESE-Befehl nach dem SCSI-Protokoll von der eigenen Vorrichtung 10 an
die andere Vorrichtung 10 gesendet (Schritt S755). Nach
Empfang des vorstehend beschriebenen LESE-Befehls durch die andere
Vorrichtung 10 (Schritt S756), prüft die andere Vorrichtung 10,
ob dieser LESE-Befehl einem Befehl zur Anforderung entweder der
Logikeinheits-Verwaltungstabelle 600 selbst oder eines
Teils der in der Logikeinheits-Verwaltungstabelle 600 registrierten
Informationen entspricht oder nicht (Schritt S757). Diese Beurteilung
erfolgt durch Prüfung
von Informationen, die in einem bestimmten Feld des LESE-Befehls
eingestellt sind. In diesem Fall, wenn der vorstehend beschriebene
LESE-Befehl ein Befehl ist, der entweder die Logikeinheits-Verwaltungstabelle 600 selbst
oder einen Teil der in der Logikeinheits-Verwaltungstabelle 600 gespeicherten
Informationen anfordert (Schritt S757: „JA"), sendet die andere Vorrichtung 10 entweder
die Logikeinheits-Verwaltungstabelle 600 selbst oder
einen Teil der in der Logikeinheits-Verwaltungstabelle 600 gespeicherten
Informationen an die eigene Vorrichtung 10 (Schritt S758).
Daraufhin empfängt
die eigene Vorrichtung 10 entweder die gesendete Logikeinheits-Verwaltungstabelle 600 oder
einen Teil der in der Logikeinheits-Verwaltungstabelle 600 gespeicherten
Informationen (Schritt S759). In dem vorstehenden Schritt S757,
wenn der vorstehend beschriebene LESE-Befehl kein Befehl ist, der entweder
die Logikeinheits-Verwaltungstabelle 600 selbst oder einen
Teil der in der Logikeinheits-Verwaltungstabelle 600 gespeicherten
Informationen anfordert (Schritt S757: „NEIN"), führt
die andere Vorrich tung 10 einen Verarbeitungsvorgang für den LESE-Befehl
nach dem normalen SCSI-Protokoll aus (Schritt S760).
-
Wenn
in Schritt S712 in 7A die Vorrichtungserkennungseinheit 411 feststellt,
dass die andere Vorrichtung 10 einer Plattenarray-Vorrichtung
entspricht, die die Logikeinheits-Verwaltungstabelle 600 nicht
verwaltet (Schritt S712: „NEIN"), führt die
eigene Vorrichtung 10 einen Anmeldeprozess nach dem iSCSI-Protokoll
im Hinblick auf die erkannte andere Vorrichtung 10 durch
(Schritte S717 und S718). Nach dem Anmeldeprozess fordert die eigene
Vorrichtung 10 die andere Vorrichtung 10 auf,
Informationen in Zusammenhang mit einem iSCSI-Namen, der Größe einer
logischen Einheit und dergleichen zu senden (Schritte S719 und S720),
und die eigene Vorrichtung 10 empfängt diese von der anderen Vorrichtung 10 in Reaktion
auf die Anforderung übertragenen
Informationen (Schritte S721 und S722).
-
In
Schritt S723 aktualisiert die eigene Vorrichtung 10 die
Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 auf
der Grundlage der Logikeinheits-Verwaltungstabelle 600 und
der Informationen über
den iSCSI-Namen und die Größe der logischen Einheit,
die von der erkannten anderen Vorrichtung 10 empfangen
werden. Hierbei ist zu beachten, dass, wenn die andere Vorrichtung 10 einer
Plattenarray-Vorrichtung 10 entspricht, die von einem anderen Hersteller
als dem Hersteller dieser anderen Vorrichtung 10 geliefert
worden ist, die Möglichkeit
besteht, dass Informationen im Hinblick auf den Formatierungstag
bzw. die Formatierungszeit, die Garantiefrist und den Garantieablauf
nicht von der anderen Vorrichtung 10 erfasst werden können. In
diesem Fall nimmt die eigene Vorrichtung 10 zum Beispiel
an, dass dieser Tag bzw. diese Zeit gleich dem Garantieablauf (zweiter
Garantieablauf) einer logischen Einheit einer anderen Vorrichtung 10 ist,
wobei dieser Tag bzw. diese Zeit durch Addieren der Lebensdauer der
anderen Vorrichtung 10 zu einem Tag bzw. einer Zeit berechnet
wird, wann die eigene Vorrichtung 10 auf die logische Einheit
der anderen Vor richtung 10 zugreifen kann. Wenn die eigene
Vorrichtung 10 diese Annahme macht, übermittelt die eigene Vorrichtung 10 eine
Nachricht, dass eine solche Annahme vorgenommen worden ist, an die
Ausgabevorrichtung 16 wie etwa ein Display und fordert
den Benutzer oder dergleichen auf, eine Bestätigung einzugeben, ob diese
Daten zur Eingabevorrichtung 15 bewegt werden oder nicht,
wenn ein Bewegen dieser Daten durchgeführt wird. Nur wenn die Bestätigung eingegeben
wird, überträgt die eigene
Vorrichtung 10 die Daten.
-
Wie
vorstehend beschrieben, wird in jeder dieser Plattenarray-Vorrichtungen 10,
die an das IP-Netz 60 angeschlossen sind, der Inhalt der
Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 aktualisiert.
Hierbei ist auch zu beachten, dass die Aktualisierung der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 ordnungsgemäß in Echtzeit
oder zu einem geplanten Zeitpunkt durchgeführt wird.
-
8 zeigt
ein Ablaufdiagramm zur Beschreibung sowohl eines Verarbeitungsvorgangs zum
Beurteilen, ob in der logischen Einheit (erste logische Einheit)
der Plattenarray-Vorrichtung 10 gespeicherte
Daten bewegt werden müssen
oder nicht, als auch eines weiteren Verarbeitungsvorgangs zum Auswählen einer
solchen logischen Einheit (zweite logische Einheit), die einen Kandidaten
für ein
Bewegungsziel darstellt, als die logische Einheit (erste logische
Einheit) zum Speichern der Daten, deren Bewegung als nötig beurteilt
worden ist.
-
Die
Datenbewegungs-Verwaltungseinheit 410 in der eigenen Vorrichtung 10 überwacht,
ob Daten, die in jeder der logischen Einheiten (erste logische Einheiten)
in der eigenen Vorrichtung 10 gespeichert sind, zu einer
anderen logischen Einheit (zweite logische Einheit) einer anderen
Vorrichtung 10 bewegt werden müssen (Schritt S811). In diesem Schritt
S811 wird der Datenüberwachungsvorgang ordnungsgemäß in Echtzeit
oder zu einem geplanten Zeitpunkt durchgeführt. Die Datenbewegungs-Verwaltungseinheit 410 prüft, ob der
Speichernotwendigkeitsablauf für
Daten, die in einem Speicherbereich einer logischen Einheit (erste
logische Einheit) gespeichert sind, nach dem Garantieablauf (erster Garantieablauf)
dieser logischen Einheit (erste logische Einheit) abläuft oder
nicht. Basierend auf dem Prüfungsergebnis
bestimmt die Datenbewegungs-Verwaltungseinheit 410, ob
ein Bewegen der in dieser logischen Einheit (erste logische Einheit) gespeicherten
Daten nötig
ist oder nicht. Die Datenbewegungs-Verwaltungseinheit 410 setzt
eine „1" in Spalte 638 „Bewegen
nötig/nicht
nötig" in der Logikeinheits-Verwaltungstabelle 600 der
logischen Einheit (erste logische Einheit), für die „Bewegen nötig" festgestellt worden ist, und dieses
Flag gibt an, dass die Daten bewegt werden müssen (Schritt S812).
-
Als
Nächstes
wählt die
Datenbewegungs-Verwaltungseinheit 410 für eine logische Einheit (erste
logische Einheit), für
die das Flag „1" zum Angeben von „Bewegen
nötig" in Spalte 638 „Bewegen
nötig/nicht
nötig" in der Logikeinheits-Verwaltungstabelle 600 gesetzt
worden ist, eine logische Einheit (zweite logische Einheit) aus,
die einen Kandidaten für
ein Bewegungsziel darstellen kann (Schritt S813). Wie vorstehend
erläutert,
wird der Auswahlvorgang für
die logische Einheit (zweite logische Einheit) durch Vergleichen
des Garantieablaufs (erster Garantieablauf) mit dem Garantieablauf (zweiter
Garantieablauf) durchgeführt.
Der erste Garantieablauf ist in Spalte 637 „Garantieablauf" der logischen Einheit
(erste logische Einheit), für
die „Bewegen
nötig" festgestellt worden
ist, eingestellt worden. Der zweite Garantieablauf ist in Spalte 537 „Garantieablauf" der logischen Einheit
(zweite logische Einheit) eingestellt worden, die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert ist.
Wie vorstehend erläutert,
kann der Auswahlvorgang für
die logische Einheit (zweite logische Einheit), die den Kandidaten
für das
Bewegungsziel darstellen kann, durch Vergleichen des Speichernotwendigkeitsablaufs
mit dem Garantieablauf (zweiter Garantieablauf) durchgeführt werden.
Der Speichernotwendig keitsablauf ist in Spalte 636 „Speichernotwendigkeitsablauf" für jede der
logischen Einheiten gespeichert worden, für die „Bewegen nötig" festgestellt worden ist. Der zweite
Garantieablauf ist in Spalte 537 „Garantieablauf" für jede der
logischen Einheiten eingestellt worden, die in der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 registriert
sind.
-
Basierend
auf dem vorstehend beschriebenen Vergleichsvorgang wählt die
Datenbewegungs-Verwaltungseinheit 410 aus der vorstehend beschriebenen
Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 eine
logische Einheit aus, deren zweiter Garantieablauf nach dem ersten
Garantieablauf abläuft
(anderenfalls läuft
der zweite Garantieablauf nach dem Speichernotwendigkeitsablauf
ab). Danach trägt
die Datenbewegungs-Verwaltungseinheit 410 die logische
Einheitennummer (LUN) der gewählten
logischen Einheit (zweite logische Einheit) in Spalte 640 „Bewegungsziel-Logikeinheit" in der Logikeinheits-Verwaltungstabelle 600 ein.
Außerdem trägt die Datenbewegungs-Verwaltungseinheit 410 die
Vorrichtungskennung der anderen Vorrichtung 10, die die
gewählte
logische Einheit (zweite logische Einheit) bereitstellt, in Spalte 639 „Bewegungsziel-Vorrichtungskennung" in der Logikeinheits-Verwaltungstabelle 600 ein.
-
In
der vorstehenden Beschreibung hat die Plattenarray-Vorrichtung 10 automatisch
die Beurteilung, ob ein Bewegen der Daten nötig ist oder nicht, und den
Auswahlvorgang dafür
ausgeführt,
ob das Bewegungsziel für
die logische Einheit gewählt
wird oder nicht. Alternativ können
sowohl die Beurteilung als auch der Auswahlvorgang manuell vom Benutzer oder
dergleichen eingestellt werden, indem sowohl die Eingabevorrichtung 15 als
auch die Ausgabevorrichtung 16 als Benutzerschnittstellen
benutzt werden. Wenn der Einstellvorgang manuell ausgeführt wird,
kann der Benutzer oder dergleichen Werte durch Betätigen der
Eingabevorrichtung 15 in Spalte 638 „Bewegen
nötig/nicht
nötig", in Spalte 639 „Bewegungsziel-Vorrichtungskennung" bzw. in Spalte 640 „Bewegungsziel-Logikeinheit" in der Logikeinheits-Verwaltungstabelle 600 einstellen,
die auf der Ausgabevorrichtung 16 wie etwa dem Display
angezeigt werden. Hierbei ist zu beachten, dass zur Vereinfachung
des Eingabevorgangs durch den Benutzer oder dergleichen der Inhalt
der Bewegungsziel-Logikeinheits-Verwaltungstabelle 500 auf
der Ausgabevorrichtung 15 angezeigt werden kann. In diesem
Fall kann der Benutzer oder dergleichen alternativ alle Werte in
Spalte 638 „Bewegen
nötig/nicht
nötig", Spalte 639 „Bewegungsziel-Vorrichtungskennung" und Spalte 640 „Bewegungsziel-Logikeinheit" einstellen, oder
er kann manuell nur den Wert in Spalte 638 „Bewegen
nötig/nicht
nötig" einstellen. Außerdem kann
der Benutzer manuell nur den Wert in Spalte 638 „Bewegen
nötig/nicht
nötig" und in Spalte 639 „Bewegungsziel-Vorrichtungskennung" einstellen. Weil
verschiedene Einstellverfahren vorgesehen sind, kann der für die Arbeitsweise
des Benutzers oder dergleichen geeignete Einstellvorgang verwendet
werden.
-
Wenn
nur ein Wert in Spalte 638 „Bewegen nötig/nicht nötig" eingestellt worden ist, stellt die
Datenbewegungs-Verwaltungseinheit 410 automatisch sowohl
den Inhalt der Spalte 639 „Bewegungsziel-Vorrichtungskennung" und den Inhalt der
Spalte 640 „Bewegungsziel-Logikeinheit" ein. Wenn nur Werte
in Spalte 638 „Bewegen
nötig/nicht
nötig" und in Spalte 639 „Bewegungsziel-Vorrichtungskennung" eingestellt worden
sind, stellt die Datenbewegungs-Verwaltungseinheit 410 außerdem automatisch
die logische Einheit der Plattenarray-Vorrichtung 10, die
in Spalte 639 „Bewegungsziel-Vorrichtungskennung" eingestellt worden
ist, in Spalte 640 „Bewegungsziel-Logikeinheit" ein. Hierbei ist
zu beachten, dass ein konkreter Prozess für ein System, das automatisch
einen Kandidaten für
ein Bewegungsziel wählen
kann, ähnlich
dem vorstehend beschriebenen Prozess abläuft.
-
9 zeigt
ein Ablaufdiagramm zur Beschreibung eines Verarbeitungsvorgangs
in Zusammenhang mit dem Bewegen von Daten, der in jeder der an das
IP-Netz 60 angeschlossenen Plattenarray-Vorrichtungen 10 ausgeführt wird.
Dieser Datenbewegungsvorgang wird ordnungsgemäß entweder in Echtzeit oder
zu einem geplanten Zeitpunkt durchgeführt. Die Datenbewegungs-Verwaltungseinheit 410 sieht
in Spalte 638 „Bewegen
nötig/nicht
nötig" in der Logikeinheits-Verwaltungstabelle 600 nach
und bestimmt eine logische Einheit (zweite logische Einheit) der
anderen Vorrichtung 10 als die andere logische Einheit
(erste logische Einheit), in der das Flag „1" zur Angabe von „Bewegen nötig" gesetzt worden ist. Diese zweite logische
Einheit stellt ein Bewegungsziel der in dieser logischen Einheit
(erste logische Einheit) gespeicherten Daten dar.
-
Wenn
die Datenbewegungs-Verwaltungseinheit 410 die zweite logische
Einheit der anderen Vorrichtung 10 bestimmt, prüft die Datenbewegungs-Verwaltungseinheit 411 zuerst,
ob eine logische Einheit (zweite logische Einheit), die einen Kandidaten
für ein
Bewegungsziel darstellen kann, in der Bewegungsziel-Logikeinheit
in der Logikeinheits-Verwaltungstabelle 600 eingestellt
worden ist oder nicht (Schritt S911). Wenn der Kandidat für die logische Einheit
(zweite logische Einheit), die das Bewegungsziel darstellen kann,
eingestellt worden ist (Schritt S911: „JA"), prüft die Datenbewegungs-Verwaltungseinheit 410,
ob die logische Einheit (zweite logische Einheit), die in Spalte 640 „Bewegungsziel-Logikeinheit" eingestellt worden
ist, einer einzelnen logischen Einheit entspricht oder nicht. Wenn
nur eine logische Einheit (zweite logische Einheit) in Spalte 640 „Bewegungsziel-Logikeinheit" eingestellt worden
ist (Schritt S912: „JA"), bestimmt die Datenbewegungs-Verwaltungseinheit 410 diese
einzelne logische Einheit (zweite logische Einheit) als die logische
Einheit für
das Bewegungsziel (Schritt S913).
-
Wenn
mehrere logische Einheiten (zweite logische Einheiten) in Spalte 640 „Bewegungsziel-Logikeinheit" eingestellt worden
sind (Schritt S912: „NEIN"), grenzt die Datenbewegungs-Verwaltungseinheit 410 in
Schritt S912 eine logische Einheit (zweite logische Einheit) für ein Bewegungsziel
unter einer bestimmten Bedingung ein (Schritt S914). Als diese bestimmte
Bedingung sind zum Beispiel die folgenden Bedingungen denkbar: Eine
Bedingung dahingehend, ob dieser Garantieablauf (zweiter Garantieablauf)
nach dem Speichernotwendigkeitsablauf einer logischen Einheit (erste
logische Einheit) einer Bewegungsquelle abläuft oder nicht [diese Bedingung
gilt für
den Fall, dass die Auswahlbedingung für einen Kandidaten einer solchen
Bedingung entspricht, dass der Garantieablauf (zweiter Garantieablauf)
nach dem Garantieablauf (erster Garantieablauf) abläuft], eine
Bedingung dahingehend, ob diese logische Einheit (zweite logische
Einheit) eine ausreichend große
Restkapazität
zum Speichern von in der logischen Einheit (erste logische Einheit)
der Bewegungsquelle gespeicherten Daten aufweist oder nicht (die
Restkapazität
wird zum Beispiel durch eine Anfrage von der eigenen Vorrichtung 10 an
die andere Vorrichtung 10 erfasst), und eine Bedingung
dahingehend, ob ein Emulationstyp einer in Spalte 640 „Bewegungsziel-Logikeinheit" eingestellten logischen
Einheit mit dem Emulationstyp der logischen Einheit der Bewegungsquelle
identisch ist oder nicht. Wenn die logischen Einheiten (zweite logische
Einheiten), die auf der Grundlage der vorstehend beschriebenen bestimmten
Bedingung ausgewählt
worden sind, weiter auf eine geringere Anzahl solcher zweiter logischer
Einheiten eingegrenzt werden müssen,
konzentriert sich die Datenbewegungs-Verwaltungseinheit 410 auf
eine logische Einheit (zweite logische Einheit) für ein Bewegungsziel,
indem aus den mehreren logischen Einheiten, die anhand der bestimmten
Bedingung zum Beispiel für
die größte Speicherkapazität gewählt worden
sind, der späteste Ablauf
des Garantieablaufs (zweiter Garantieablauf) gewählt wird.
-
Hierbei
ist auch zu beachten, dass die Anzahl der logischen Einheiten (zweite
logische Einheiten), auf die sich letztlich konzentriert wird, eine
einzelne oder mehrere sein können.
Wenn es mehrere logische Einheiten gibt, die Kandidaten für Bewegungsziele
darstellen, wobei die logischen Einheiten, die die Kandidaten für Bewegungsziele
darstellen, auf der Ausgabevorrichtung 16 angezeigt werden, kann
der Benutzer oder dergleichen die logische Einheit mit der Eingabevorrichtung 15 angeben.
Als Folge kann eine logische Einheit, die den Kandidaten für das Bewegungsziel
darstellen kann, in Reaktion auf die Erfordernisse des Benutzers
oder dergleichen eingestellt werden.
-
Wenn
andererseits in Schritt S911, wenn der Kandidat für die logische
Einheit (zweite logische Einheit), die das Bewegungsziel darstellen
kann, nicht in Spalte 640 „Bewegungsziel-Logikeinheit" in der Logikeinheits-Verwaltungstabelle 600 eingestellt
ist (Schritt S911: „NEIN"), fragt die Datenbewegungs-Verwaltungseinheit 410 die
andere Vorrichtung 10 an, die von der Vorrichtungserkennungseinheit 411 erkannt
worden ist, um Informationen bezüglich
der logischen Einheit (zweite logische Einheit) der anderen Vorrichtung 10 zu
erfassen (Schritte S915 bis S918). Wenn die Datenbewegungs-Verwaltungseinheit 410 die
Informationen bezüglich
der logischen Einheit (zweite logische Einheit) erfasst, bestimmt
die Datenbewegungs-Verwaltungseinheit 410 die logische
Einheit für
ein Bewegungsziel auf der Grundlage der erfassten Informationen
(Schritt S919).
-
Wenn
diese logische Einheit für
das vorstehende Ziel bestimmt wird, grenzt die Datenbewegungs-Verwaltungseinheit 410 die
logische Einheit (zweite logische Einheit) für das Bewegungsziel auf der
Grundlage der folgenden bestimmten Bedingungen ein: Eine Bedingung
dahingehend, ob ihr Garantieablauf (zweiter Garantieablauf) nach
der Speichernotwendigkeitsfrist der logischen Einheit (erste logische
Einheit) der Bewegungsquelle abläuft
oder nicht (anderenfalls, ob der zweite Garantieablauf nach dem
ersten Garantieablauf der logischen Einheit der Bewegungsquelle
abläuft
oder nicht), eine Bedingung dahingehend, ob diese zweite logische
Einheit eine leere Speicherkapazität aufweist oder nicht, die größer als
oder gleich der Größe der Daten
ist, die in der logischen Einheit (erste logische Einheit) der Bewegungsquelle
gespeichert sind, und eine Bedingung dahingehend, ob der Emulationstyp
dieser zweiten logischen Einheit mit dem Emulationstyp der logischen
Einheit (erste logische Einheit) identisch ist oder nicht. Ähnlich wie
bei dem vorstehend beschriebenen Verarbeitungsvorgang konzentriert
sich die Datenbewegungs-Verwaltungseinheit 410, wenn die logischen
Einheiten (zweite logische Einheiten), die auf der Grundlage der
vorstehend beschriebenen bestimmten Bedingung ausgewählt worden
sind, weiter auf eine geringere Anzahl solcher zweiter logischer Einheiten
eingegrenzt werden müssen,
auf eine logische Einheit (zweite logische Einheit) für ein Bewegungsziel,
indem aus den mehreren logischen Einheiten, die anhand der bestimmten
Bedingung zum Beispiel für
die größte Speicherkapazität gewählt worden
sind, der späteste
Ablauf des Garantieablaufs (zweiter Garantieablauf) gewählt wird.
-
Hierbei
ist auch zu beachten, dass dann, wenn es mehrere logische Einheiten
gibt, die Kandidaten für
Bewegungsziele darstellen, wobei sowohl die Informationen für die jeweiligen
logischen Einheiten und die logischen Einheiten, die die Kandidaten für Bewegungsziele
darstellen, auf der Ausgabevorrichtung 16 angezeigt werden,
der Benutzer oder dergleichen die Informationen zur Angabe der logischen Einheit
mit der Eingabevorrichtung 15 eingeben kann. Als Folge
kann eine logische Einheit, die den Kandidaten für das Bewegungsziel darstellen
kann, in Reaktion auf die Erfordernisse des Benutzers oder dergleichen
eingestellt werden.
-
Wenn
die logische Einheit (zweite logische Einheit) für das Bewegungsziel in der
vorstehend beschriebenen Weise bestimmt wird, überträgt die Datenbewegungs-Verwaltungseinheit 410 die
in der logischen Einheit (erste logische Einheit) der Bewegungsquelle
gespeicherten Daten an die logische Einheit (zweite logische Einheit),
die als das Bewegungsziel bestimmt worden ist (Schritt S920). An
die übertragenen
Daten wird eine LUN einer logischen Einheit (zwei te logische Einheit),
die das Übertragungsziel
für diese
Daten darstellt, angefügt.
Alternativ kann, damit der Benutzer oder dergleichen die logische
Einheit (zweite logische Einheit) für das Bewegungsziel abschließend bestätigt, bevor
die Datenübertragung
ausgeführt
wird, die logische Einheit (zweite logische Einheit) für das Bewegungsziel
auf der Ausgabevorrichtung 16 angezeigt werden, so dass
der Benutzer oder dergleichen aufgefordert wird, eine Bestätigung einzugeben,
ob die Datenübertragung
ausgeführt
wird oder nicht. Als Folge kann der Benutzer oder dergleichen abschließend eine
Bestätigung
vornehmen, so dass es möglich
ist, die Übertragung
der Daten unabhängig
zum Beispiel vom Betriebszustand des Benutzers zu vermeiden.
-
Wenn
die in der Plattenarray-Vorrichtung 10 mit der logischen
Einheit (zweite logische Einheit) für das Bewegungsziel benutzte
Datenbewegungs-Verwaltungseinheit 410 die übertragenen
Daten empfängt,
speichert diese Datenbewegungs-Verwaltungseinheit 410 die
empfangenen Daten in der betreffenden logischen Einheit (zweite
logische Einheit) mit der an diese empfangenen Daten angefügten LUN
(Schritt S921). Die Datenbewegungs-Verwaltungseinheit 410 der
Plattenarray-Vorrichtung 10 für das Bewegungsziel aktualisiert
den Inhalt der Spalte 634 „Speichernotwendigkeitsfrist" in der Logikeinheits-Verwaltungstabelle 600 der
Plattenarray-Vorrichtung 10 für das Bewegungsziel,
damit die Speichernotwendigkeitsfrist für die bewegten Daten in korrekter
Weise verwaltet werden kann (Schritt S922). Konkret bedeutet dies,
dass die Datenbewegungs-Verwaltungseinheit 410 in der Plattenarray-Vorrichtung 10 mit
der logischen Einheit (zweite logische Einheit) für das Bewegungsziel
einen solchen Wert in Spalte 634 „Speichernotwendigkeitsfrist" in der Logikeinheits-Verwaltungstabelle 600 des Bewegungsziels
einstellt. Dieser Einstellwert wird durch Subtrahieren einer Frist,
während
der die wie vorstehend beschrieben bewegten Daten in der Plattenarray-Vorrichtung 10 der
Bewegungsquelle gespeichert worden sind, vom Inhalt der Spei chernotwendigkeitsfrist
in der Logikeinheits-Verwaltungstabelle 600 der Bewegungsquelle
berechnet. In diesem Fall kann die Frist, während der die wie vorstehend beschrieben
bewegten Daten in der Plattenarray-Vorrichtung 10 der Bewegungsquelle
gespeichert worden sind, als eine Frist erhalten werden, die zum Beispiel
durch den in Spalte 635 „Schreibstarttag/-zeit" in der Logikeinheits-Verwaltungstabelle 600 eingestellten
Tag bzw. die Zeit bis zu dem Tag bzw. der Zeit definiert ist, an
dem bzw. zu der die vorstehend beschriebenen Daten bewegt wurden.
-
Wie
vorstehend ausführlich
beschrieben, werden in dem Speichersystem nach der vorliegenden
Erfindung dann, wenn der Speichernotwendigkeitsablauf entsprechend
dem Ablauf, der erfordert, dass die in dem Speicherbereich (erster
Speicherbereich) der Plattenarray-Vorrichtung 10 gespeicherten Daten
unter sicheren Bedingungen gespeichert werden, nach dem ersten Garantieablauf
der betreffenden logische Einheit endet, die vorstehend erwähnten im
ersten Speicherbereich gespeicherten Daten entweder im automatischen
Modus oder im halbautomatischen Modus in einen anderen Speicherbereich (zweiter
Speicherbereich) einer anderen Plattenarray-Vorrichtung 10 übertragen,
deren zweiter Garantieablauf nach dem ersten Garantieablauf (anderenfalls
nach dem Speichernotwendigkeitsablauf) abläuft. Als Ergebnis können im
Hinblick auf eine solche Frist, während der die Daten unter sicheren
Bedingungen verwaltet werden müssen,
die Daten unter sicheren Bedingungen verwaltet werden.
-
Weil
die Datenübertragung über das
IP-Netz 60 erfolgt, kann außerdem der Verarbeitungsvorgang im
Vergleich zu einem Fall, bei dem die Backup-Daten auf Magnetband
oder dergleichen gespeichert werden, schnell durchgeführt werden.
Weil außerdem
keine getrennte Vorrichtung als Magnetbandvorrichtung zum Lesen
bzw. Schreiben von Daten von bzw. auf ein Speichermedium wie einem
Magnetband benutzt wird, können
der Verwaltungsaufwand und die Kosten verringert werden. Weil der
Einbauplatz zum Installieren einer Magnet bandvorrichtung oder dergleichen
nicht länger
benötigt
wird, können außerdem Platzspareffekte
erzielt werden.
-
Darüber hinaus
wird nach der vorliegenden Erfindung, wie vorstehend beschrieben,
zur Verwaltung der Daten unter sicheren Bedingungen hinsichtlich
des Speichernotwendigkeitsablaufs der zweite Speicherbereich der
anderen Plattenarray-Vorrichtung 10 benutzt. Mit anderen
Worten, nach der vorliegenden Erfindung können die Speicherbereiche,
die von den jeweiligen an das Speichersystem 1 angeschlossenen
Plattenarray-Vorrichtungen 10 bereitgestellt werden, effektiv
als gesamter Speicherbereich des Speichersystems 1 benutzt
werden.
-
Während die
vorliegende Erfindung anhand einer beispielhaften Ausführungsform
beschrieben ist, dienen die Beschreibungen dieser Ausführungsform
lediglich dem besseren Verständnis
der vorliegenden Erfindung und sind nicht als einschränkend für die vorliegende
Erfindung anzusehen.