DE602004011175T2 - Speichersteuergerät, Speichersystem, und Speichersystemsteuerungsverfahren - Google Patents

Speichersteuergerät, Speichersystem, und Speichersystemsteuerungsverfahren Download PDF

Info

Publication number
DE602004011175T2
DE602004011175T2 DE602004011175T DE602004011175T DE602004011175T2 DE 602004011175 T2 DE602004011175 T2 DE 602004011175T2 DE 602004011175 T DE602004011175 T DE 602004011175T DE 602004011175 T DE602004011175 T DE 602004011175T DE 602004011175 T2 DE602004011175 T2 DE 602004011175T2
Authority
DE
Germany
Prior art keywords
storage
data
memory
day
logical unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602004011175T
Other languages
English (en)
Other versions
DE602004011175D1 (de
Inventor
Hiroshi Kuwabara
Yoshio Mitsuoka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE602004011175D1 publication Critical patent/DE602004011175D1/de
Application granted granted Critical
Publication of DE602004011175T2 publication Critical patent/DE602004011175T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

  • 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.

Claims (20)

  1. Speichersteuervorrichtung (10) zum Lesen bzw. Schreiben von Daten bezüglich einer Speichervorrichtung (18) in Reaktion auf eine von einer Informationsverarbeitungsvorrichtung (20) ausgesandte Dateneingabe- bzw. -ausgabeanforderung, wobei die Speichersteuervorrichtung zur Verwendung in einem Speichersystem (1) eingerichtet ist, das eingerichtet ist, mehrere Speichersteuervorrichtungen zu enthalten, die zur Kommunikation über ein IP(Internet-Protokoll)-Netz (60) miteinander verbunden sind, und wobei die Speichersteuervorrichtung folgendes aufweist: eine Speichernotwendigkeitsablauf-Verwaltungseinheit, um darin einen ersten Speichertag- bzw. -zeitwert (636) 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 sind, 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 (637) 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 (547) zu speichern, der gleich dem Tag bzw. der Zeit ist, bis zu dem bzw. der ein zweiter 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 (410), die eingerichtet ist, so zu arbeiten, dass dann, wenn der erste Speichertag- bzw. -zeitwert (636) des ersten Speicherbereichs nach dem zweiten Speichertag- bzw. -zeitwert (637) der im ersten Speicherbereich gespeicherten Daten abläuft, die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, innerhalb des zweiten Speicherbereichs der anderen Speichersteuervorrichtung einen zweiten Speicherbereich mit einem dritten Speichertag- bzw. -zeitwert (537) zu wählen, der nach dem zweiten Speichertag- bzw. -zeitwert (637) abläuft, und die im ersten Speicherbereich gespeicherten Daten zum gewählten zweiten Speicherbereich zu übertragen.
  2. Vorrichtung nach Anspruch 1, wobei dann, wenn der erste Speichertag- bzw. -zeitwert (636) nach dem zweiten Speichertag- bzw. -zeitwert (637) des ersten Speicherbereichs abläuft, die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, innerhalb des zweiten Speicherbereichs der anderen Speichersteuervorrichtung einen zweiten Speicherbereich zu wählen, dessen dritter Speichertag- bzw. -zeitwert (537) nach dem ersten Speichertag- bzw. -zeitwert (636) abläuft, und die im ersten Speicherbereich gespeicherten Daten zum gewählten zweiten Speicherbereich zu übertragen.
  3. Speichersteuervorrichtung nach Anspruch 1, wobei die Datenbewegungs-Speichereinheit (410) eingerichtet ist, den Datenübertragungsvorgang auszuführen, bevor der zweite Speichertag- bzw. -zeitwert (637) abläuft.
  4. Vorrichtung nach Anspruch 1, wobei in der ersten Speicherablauf-Verwaltungseinheit eine erste Speicherfrist (634) gespeichert ist, die einer Frist entspricht, während der die im ersten Speicherbereich gespeicherten Daten unter sicheren Bedingungen gespeichert sein müssen, und in der Speichernotwendigkeitsablauf-Verwaltungseinheit als erster Speichertag- bzw. -zeitwert (636) ein Tag bzw. eine Zeit gespeichert ist, der bzw. die durch Addieren der ersten Speicherfrist (634) zum Tag bzw. zur Zeit (635), wann Daten zuerst in den ersten Speicherbereich geschrieben wurden, berechnet ist.
  5. Vorrichtung nach Anspruch 1, wobei in der ersten Garantieablauf-Verwaltungseinheit eine zweite Speicherfrist gespeichert ist, die einer Frist entspricht, während der der erste Speicherbereich die Daten unter normalen Bedingungen garantiert speichert, und in der ersten Garantieablauf-Verwaltungseinheit als zweiter Speichertag- bzw. -zeitwert (637) ein Tag bzw. eine Zeit gespeichert ist, der bzw. die durch Addieren der zweiten Speicherfrist zum Tag bzw. zur Zeit, wann der erste Speicherbereich formatiert wurde, berechnet ist.
  6. Vorrichtung nach Anspruch 1, wobei in der zweiten Garantieablauf-Verwaltungseinheit eine dritte Speicherfrist (536) gespeichert ist, die einer Frist entspricht, während der der zweite Speicherbereich die Daten unter normalen Bedingungen garantiert speichert, und in der zweiten Garantieablauf-Verwaltungseinheit als dritter Speichertag- bzw. -zeitwert (537) ein Tag bzw. eine Zeit gespeichert ist, der bzw. die durch Addieren der dritten Speicherfrist zum Tag bzw. zur Zeit (535), wann der zweite Speicherbereich formatiert wurde, berechnet ist.
  7. Vorrichtung nach Anspruch 1, wobei in der zweiten Garantieablauf-Verwaltungseinheit eine dritte Speicherfrist (536) gespeichert ist, die einer Frist entspricht, während der der zweite Speicherbereich die Daten unter normalen Bedingungen garantiert speichert, und in der zweiten Garantieablauf-Verwaltungseinheit als dritter Speichertag- bzw. -zeitwert (537) ein Tag bzw. eine Zeit gespeichert ist, der bzw. die durch Addieren der dritten Speicherfrist (636) zum Tag bzw. zur Zeit, wann die Speichersteuervorrichtung auf den zweiten Speicherbereich zugreifen konnte, berechnet ist.
  8. Vorrichtung nach Anspruch 1, wobei der zweite Speichertag- bzw. -zeitwert (637) einem Tag bzw. einer Zeit entspricht, bis zu dem bzw. der garantiert ist, dass die erste Speichersteuervorrichtung unter normalen Bedingungen betrieben wird, und der dritte Speichertag- bzw. -zeitwert (537) einem Tag bzw. einer Zeit entspricht, bis zu dem bzw. der garantiert ist, dass die zweite Speichersteuervorrichtung unter normalen Bedingungen betrieben wird.
  9. Vorrichtung nach Anspruch 1, wobei die Speichersteuervorrichtung außerdem folgendes aufweist: eine Vorrichtungserkennungseinheit (411) zum Erkennen der mit dem IP-Netz (60) verbundenen anderen Speichersteuervorrichtung, und wobei der zweite Speicherbereich dem Speicherbereich der von der Vorrichtungserkennungseinheit erkannten anderen Speichersteuervorrichtung entspricht.
  10. Speichersteuervorrichtung nach Anspruch 9, wobei die Vorrichtungserkennungseinheit (411) eingerichtet ist, die mit dem IP-Netz verbundene andere Speichersteuereinheit durch einen Auffindprozess entsprechend einem iSNS(Internet Storage Name Server)-Protokoll zu erkennen.
  11. Vorrichtung nach Anspruch 1, wobei die Speichersteuervorrichtung außerdem aufweist: eine Logikeinheits-Verwaltungseinheit (413) zum Bereitstellen des Speicherbereichs der Speichersteuervorrichtung, während als Einheit eine logische Einheit (LU) verwendet wird und die logische Einheit gleich einem Speicherbereich ist, der unter Verwendung eines von der Speichervorrichtung zur Verfügung gestellten physikalischen Speicherbereichs logisch eingerichtet ist, in der Speichernotwendigkeitsablauf-Verwaltungseinheit der erste Speichertag- bzw. -zeitwert (636) in Entsprechung zur logischen Einheit gespeichert ist, in der ersten Garantieablauf-Verwaltungseinheit der zweite Speichertag- bzw. -zeitwert (637) in Entsprechung zur logischen Einheit gespeichert ist, in der zweiten Garantieablauf-Verwaltungseinheit der dritte Speichertag- bzw. -zeitwert (537) in Entsprechung zur logischen Einheit gespeichert ist, und dann, wenn der erste Speichertag- bzw. -zeitwert (636) der ersten logischen Einheit als erstem Speicherbereich nach dem zweiten Speichertag- bzw. -zeitwert (637) der ersten logischen Einheit abläuft, die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, aus den zweiten logischen Einheiten als genanntem zweiten Speicherbereich der anderen Speichersteuervorrichtung eine zweite logische Einheit zu wählen, deren dritter Speichertag- bzw. -zeitwert (537) nach dem zweiten Speichertag- bzw. -zeitwert (637) abläuft, und die in der ersten logischen Einheit gespeicherten Daten an die gewählte zweite logische Einheit zu übertragen.
  12. Vorrichtung nach Anspruch 11, wobei die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, für jede der logischen Einheiten eine Speicherkapazität (534, 633) aufzunehmen, und dann, wenn der erste Speichertag- bzw. -zeitwert (636) der ersten logischen Einheit nach dem zweiten Speichertag- bzw. -zeitwert (637) der ersten logischen Einheit abläuft, die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, aus den zweiten logischen Einheiten die genannte zweite logische Einheit zu wählen, die den dritten Speichertag- bzw. -zeitwert (537) besitzt, der nach dem zweiten Speichertag- bzw. -zeitwert (637) abläuft, und eine größere oder die gleiche Speicherkapazität wie die erste logische Einheit aufweist, und die Datenbewegungs-Verwaltungseinheit (410) einge richtet ist, die in der ersten logischen Einheit gespeicherten Daten an die gewählte zweite logische Einheit zu übertragen.
  13. Vorrichtung nach Anspruch 11, wobei die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, mehrere der zweiten logischen Einheiten zu verwalten, und dann, wenn der erste Speichertag- bzw. -zeitwert (636) der ersten logischen Einheit nach dem zweiten Speichertag- bzw. -zeitwert (637) der ersten logischen Einheit abläuft, die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, die zweite logische Einheit zu wählen, die den dritten Speichertag- bzw. -zeitwert (537) besitzt, der nach der zweiten Speicherzeitspanne abläuft, und die die größte Speicherkapazität aufweist, und die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, die in der ersten logischen Einheit gespeicherten Daten an die gewählte zweite logische Einheit zu übertragen.
  14. Vorrichtung nach Anspruch 11, wobei die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, sowohl einen Emulationstyp (632) der ersten logischen Einheit als auch einen Emulationstyp (533) der zweiten logischen Einheit aufzunehmen, und dann, wenn der erste Speichertag- bzw. -zeitwert (636) des ersten Speicherbereichs nach dem zweiten Speichertag- bzw. -zeitwert (637) des ersten Speicherbereichs abläuft, die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, die im ersten Speicherbereich gespeicherten Daten bezüglich derjenigen zweiten logischen Einheit zu übertragen, deren Emulationstyp identisch zu dem der ersten logischen Einheit ist, und dann, wenn der erste Speichertag- bzw. -zeitwert (636) der ersten logischen Einheit nach dem zweiten Speichertag- bzw. -zeitwert (637) der ersten logischen Einheit abläuft, die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, diejenige zweite logische Einheit zu wählen, deren Emulationstyp zu demjenigen der ersten logischen Einheit identisch ist und die den dritten Speichertag- bzw. -zeitwert (537) besitzt, der nach dem zweiten Speichertag- bzw. -zeitwert (637) abläuft, und die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, die in der ersten logischen Einheit gespeicherten Daten zur gewählten zweiten logischen Einheit zu übertragen.
  15. Vorrichtung nach Anspruch 1, wobei die Speichersteuervorrichtung (10) außerdem aufweist: eine Ausgabevorrichtung (16) zum Zeigen des zweiten Speicherbereichs, der ein Bewegungsziel der Daten darstellt, wenn die Daten von der Datenbewegungs-Verwaltungseinheit übertragen werden, und eine Eingabevorrichtung (15) zum Bezeichnen, ob der Datenübertragungsvorgang ausgeführt wird, und die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, den Datenübertragungsvorgang dann auszuführen, wenn in die Eingabevorrichtung (15) ein Befehl zur Ausführung des Datenübertragungsvorgangs eingegeben wird.
  16. Vorrichtung nach Anspruch 1, wobei die Speichersteuervorrichtung (10) außerdem folgendes aufweist: eine Ausgabevorrichtung (16) zum Zeigen mehrerer zweiter Speicherbereiche, die Kandidaten für ein Bewegungsziel der Daten darstellen, und eine Eingabevorrichtung (15) zur Annahme von Informationen zum Angeben des genannten zweiten Speicherbereichs unter den mehreren zweiten Speicherbereichen, die auf der Ausgabevorrichtung wiedergegeben werden, und wobei die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, den Datenübertragungsvorgang bezüglich des von der angenommenen Information bezeichneten zweiten Speicherbereichs auszuführen.
  17. Vorrichtung nach Anspruch 1, wobei der Datenübertragungsvorgang von der Datenbewegungs-Verwaltungseinheit (410) nach dem iSCSI-Protokoll ausgeführt wird.
  18. Vorrichtung nach Anspruch 17, wobei die Datenbewegungs-Verwaltungseinheit (410) eingerichtet ist, Informationen zur Angabe der Speichersteuervorrichtung aufzunehmen, die die genannte andere Speichersteuervorrichtung bilden kann, und den Datenübertragungsvorgang bezüglich der aufgrund der darin gespeicherten Information angegebenen zweiten Speichersteuervorrichtung auszuführen.
  19. Speichersystem (1), das so eingerichtet ist, dass es mehrere Speichersteuervorrichtungen (10) nach einem der vorhergehenden Ansprüche zum Lesen bzw. Schreiben von Daten bezüglich einer Speichervorrichtung (18) in Reaktion auf eine von einer Informationsverarbeitungsvorrichtung (20) ausgesandte Dateneingabe- bzw. -ausgabeanforderung enthält, wobei die Speichersteuervorrichtungen zur Kommunikation über ein IP-Netz (60) miteinander verbunden sind.
  20. Verfahren zum Steuern eines Speichersystems (1), das eingerichtet ist, mehrere Speichersteuervorrichtungen (10) zum Lesen bzw. Schreiben von Daten bezüglich einer Speichervorrichtung in Reaktion auf eine von einer Informationsverarbeitungsvorrichtung (20) ausgesandte Dateneingabe- bzw. -ausgabeanforderung zu enthalten, wobei die Speichersteuervorrichtungen zur Kommunikation über ein IP-Netz (60) miteinander verbunden sind, wobei eine Speichersteuervorrichtung einen ersten Speichertag- bzw. -zeitwert (636) gleich einem Tag bzw. einer Zeit, bis zu dem bzw. der Daten unter sicheren Bedingungen gespeichert sein müssen, wobei die Daten in einem ersten Speicherbereich gespeichert sind, der einem Speicherbereich der Speichervorrichtung entspricht, an dem die Speichersteuervorrichtung Daten liest bzw. schreibt, und einen zweiten Speichertag- bzw. -zeitwert (637) gleich einem Tag bzw. einer Zeit, bis zu dem bzw. der der erste Speicherbereich die Daten unter normalen Bedingungen garantiert speichert, aufnimmt, dadurch gekennzeichnet, dass die Speichersteuervorrichtung einen dritten Speichertag- bzw. -zeitwert (537) gleich einem Tag bzw. einer Zeit, bis zu dem bzw. der ein zweiter Speicherbereich die Daten unter normalen Bedingungen garantiert speichert, aufnimmt, wobei der zweite Speicherbereich gleich einem Speicherbereich der Speichervorrichtung ist, an dem eine andere im Speichersystem enthaltene Speicher-Steuervorrichtung die Daten liest bzw. schreibt, und dann, wenn der erste Speichertag- bzw. -zeitwert (636) des ersten Speicherbereichs nach dem zweiten Speichertag- bzw. -zeitwert (637) des ersten Speicherbereichs abläuft, die Speichersteuervorrichtung innerhalb des zweiten Speicherbereichs der anderen Speichersteuervorrichtung den genannten zweiten Speicherbereich mit einem dritten Speichertag- bzw. -zeitwert (537), der nach dem zweiten Speichertag- bzw. -zeitwert (637) abläuft, wählt und die im ersten Speicherbereich gespeicherten Daten an den gewählten zweiten Speicherbereich überträgt.
DE602004011175T 2003-12-01 2004-11-30 Speichersteuergerät, Speichersystem, und Speichersystemsteuerungsverfahren Active DE602004011175T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003401417 2003-12-01
JP2003401417A JP2005165516A (ja) 2003-12-01 2003-12-01 ストレージ制御装置、ストレージシステム、及びストレージシステムの制御方法

Publications (2)

Publication Number Publication Date
DE602004011175D1 DE602004011175D1 (de) 2008-02-21
DE602004011175T2 true DE602004011175T2 (de) 2009-01-15

Family

ID=34463922

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004011175T Active DE602004011175T2 (de) 2003-12-01 2004-11-30 Speichersteuergerät, Speichersystem, und Speichersystemsteuerungsverfahren

Country Status (4)

Country Link
US (3) US7058772B2 (de)
EP (1) EP1538520B1 (de)
JP (1) JP2005165516A (de)
DE (1) DE602004011175T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US7263521B2 (en) * 2002-12-10 2007-08-28 Caringo, Inc. Navigation of the content space of a document set
US7895224B2 (en) * 2002-12-10 2011-02-22 Caringo, Inc. Navigation of the content space of a document set
JP4991283B2 (ja) * 2003-02-21 2012-08-01 カリンゴ・インコーポレーテッド コンテンツベースのアドレシングにおける追加ハッシュ関数
JP2006350599A (ja) * 2005-06-15 2006-12-28 Hitachi Ltd ストレージシステム及びストレージシステムのデータマイグレーション方法
US7783833B2 (en) * 2006-09-28 2010-08-24 Hitachi, Ltd. Storage system, method for managing the same, and storage controller
US7552298B2 (en) * 2006-09-28 2009-06-23 Broadcom Corporation Method and system for deferred pinning of host memory for stateful network interfaces
JP2008084094A (ja) * 2006-09-28 2008-04-10 Hitachi Ltd 記憶システム及びその管理方法並びに記憶制御装置
US8555021B1 (en) * 2006-09-29 2013-10-08 Emc Corporation Systems and methods for automating and tuning storage allocations
SE533007C2 (sv) * 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
JP5112524B2 (ja) * 2008-12-03 2013-01-09 株式会社日立製作所 ストレージシステム及びストレージシステムの運用方法
US9740704B2 (en) * 2010-01-28 2017-08-22 Hewlett Packard Enterprise Development Lp Method and apparatus for random access of data stored in a sequential manner
JP5504936B2 (ja) * 2010-02-03 2014-05-28 富士通株式会社 ストレージ装置およびデータ格納制御方法
JP5313980B2 (ja) * 2010-08-30 2013-10-09 株式会社エヌ・ティ・ティ・ドコモ ディスク管理システム、ディスク管理装置、ディスク管理方法
WO2016067327A1 (ja) * 2014-10-27 2016-05-06 株式会社日立製作所 ストレージシステム
US11645012B1 (en) * 2022-01-18 2023-05-09 Dell Products, L.P. Method and apparatus for distributing read operations between emulations in a storage engine
US20240028202A1 (en) * 2022-07-20 2024-01-25 Dell Products, L.P. Optimizing Backend Workload Processing in a Storage System

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991753A (en) * 1993-06-16 1999-11-23 Lachman Technology, Inc. Method and system for computer file management, including file migration, special handling, and associating extended attributes with files
US7392234B2 (en) 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
JP2002288105A (ja) 2001-03-26 2002-10-04 Hitachi Ltd ストレージエリアネットワークシステム、その運用方法、ストレージ、データ転送量監視装置
JP2003316635A (ja) 2002-04-26 2003-11-07 Hitachi Ltd データのバックアップ方法及びそのプログラム
US20040024954A1 (en) 2002-07-30 2004-02-05 Rust Robert A. Time stamp management system for disk arrays
US7478096B2 (en) 2003-02-26 2009-01-13 Burnside Acquisition, Llc History preservation in a computer storage system
US6988110B2 (en) 2003-04-23 2006-01-17 International Business Machines Corporation Storage system class distinction cues for run-time data management
US7461140B2 (en) * 2003-12-19 2008-12-02 Lsi Corporation Method and apparatus for identifying IPsec security policy in iSCSI

Also Published As

Publication number Publication date
EP1538520A2 (de) 2005-06-08
JP2005165516A (ja) 2005-06-23
US7519783B2 (en) 2009-04-14
EP1538520B1 (de) 2008-01-09
US7058772B2 (en) 2006-06-06
DE602004011175D1 (de) 2008-02-21
US20080086606A1 (en) 2008-04-10
US20050120188A1 (en) 2005-06-02
US20060090047A1 (en) 2006-04-27
US7308544B2 (en) 2007-12-11
EP1538520A3 (de) 2005-11-23

Similar Documents

Publication Publication Date Title
DE602004011175T2 (de) Speichersteuergerät, Speichersystem, und Speichersystemsteuerungsverfahren
DE112012000953B4 (de) Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE60018803T2 (de) Verfahren und apparat zur verwaltung von information der speicheraktivitäten von datenspeichersystemen
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE10014448B4 (de) Speicherverwaltungssystem
DE60216602T2 (de) Verfahren und vorrichtung zum zugang zu magnetbandeinrichtungen in einem rechnersystem
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE112010004931B4 (de) Mehrphasige Wiederherstellung von Dateisystemen mit Selektiver Bedarfsweiser Verfügbarkeit von Daten
DE102008015185A1 (de) Hierarchisches Speichersystem mit vorausschauender Datenübertragung
DE112010003662T5 (de) Ausgleich nachlassender Funktionsfähigkeit von Halbleiterdatenträgern auf der Grundlage der von einer RAID-Steuereinheit empfangenen Daten- und Paritätsnutzungsinformationen
DE102004027672A1 (de) Speicherplattenarraysystem
DE602004002674T2 (de) Speichersystem und Verfahren zur Erfassung und Verwendung von Schnappschüssen
DE10255125A1 (de) Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von Software
DE60318302T2 (de) Computerreservierungs- und benutzungsüberwachungssystem und diesbezügliche verfahren
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE102004028807A1 (de) Computersystem, Steuervorrichtung, Speichersystem und Computergerät
DE112009004621B4 (de) Speichervorrichtungs-LöschbefehI mit einem Steuerfeld, das durch eine Anforderer-Vorrichtung steuerbar ist
DE60313468T2 (de) Speicherdienste und -systeme
DE10062063A1 (de) Verfahren, System, Programm und Datenstruktur zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität
DE112018003524T5 (de) Dynamische datenverlagerung unter verwendung von speicherbänken auf cloud-grundlage
DE102014112943B4 (de) Modulares Computersystem und Servermodul
DE112010003794T5 (de) Datenspeicherung unter Verwendung von Bitmaps
DE102006023974A1 (de) System und Verfahren für maßgeschneiderte Anwendungsbestellung und Installation für Informationsverarbeitungssysteme
DE102005004164A1 (de) Speichervorrichtungs-Steuereinheit zum Analysieren von Datenträgerinhalts-Information und Steuerverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition