DE602004011181T2 - Speicherplattenanordnungsgerät - Google Patents

Speicherplattenanordnungsgerät Download PDF

Info

Publication number
DE602004011181T2
DE602004011181T2 DE602004011181T DE602004011181T DE602004011181T2 DE 602004011181 T2 DE602004011181 T2 DE 602004011181T2 DE 602004011181 T DE602004011181 T DE 602004011181T DE 602004011181 T DE602004011181 T DE 602004011181T DE 602004011181 T2 DE602004011181 T2 DE 602004011181T2
Authority
DE
Germany
Prior art keywords
data
logical volume
differential
virtual
differential data
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
DE602004011181T
Other languages
English (en)
Other versions
DE602004011181D1 (de
Inventor
Yukiko Homma
Koji Nagata
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 DE602004011181D1 publication Critical patent/DE602004011181D1/de
Application granted granted Critical
Publication of DE602004011181T2 publication Critical patent/DE602004011181T2/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/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/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/0614Improving the reliability of storage systems
    • 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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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/0653Monitoring storage devices or systems

Description

  • Die vorliegende Erfindung bezieht sich auf eine Speicherplattenanordnungsvorrichtung und insbesondere auf ein Differential-Logikeinheitenverwaltungsverfahren in einem Snapshot-System.
  • In einem Computersystem gibt es einen Fall der Erzeugung eines Duplikats eines Speichervolumens, in dem Originaldaten gespeichert worden sind, etwa den Fall der Sicherung von Daten zur Speicherung in der Speichervorrichtung. In diesem Fall wird eine Bedingung nötig, dass bezüglich des Speichervolumens, in das die Originaldaten gespeichert worden sind, und eines Speichervolumens, in das die duplizierten Daten gespeichert werden, deren Inhalt miteinander übereinstimmt und die Konsistenz zwischen diesen erhalten bleibt. Diese Bedingung macht es erforderlich, dass eine Aktualisierung des Speichervolumens, in das die Originaldaten gespeichert worden sind, bis zum Abschluss des Duplizierens gestoppt wird. In vielseitig genutzten Systemen wie etwa einem Computersystem ist es jedoch in manchen Fällen nicht möglich, den Zugriff auf das Speichervolumen, in das die Originaldaten gespeichert worden sind, zu stoppen.
  • In Anbetracht dieser Situation ist ein Verfahren namens „Snapshot" entwickelt worden, das wie folgt funktioniert: Bezüglich des Speichervolumens, in das die Originaldaten gespeichert worden sind, und des Speichervolumens, in das die duplizierten Daten gespeichert werden, wird die Konsistenz zu einem bestimmten Zeitpunkt aufrechterhalten. Dies geschieht, damit, auch wenn die Originaldaten nach einem bestimmten Zeitpunkt aktualisiert worden sind, weiter auf die Originaldaten zu einem bestimmten Zeitpunkt zugegriffen werden kann.
  • Wenn die Originaldaten nach dem Zeitpunkt, an dem die Konsistenz aufrechterhalten werden sollte, aktualisiert werden sollen, werden nach dem Snapshot-Verfahren die Daten zu dem Zeitpunkt, an dem die Konsistenz aufrechterhalten werden sollte, in einem anderen Speichervolumen gespeichert. Falls die Originaldaten nämlich nicht aktualisiert worden sind, bleiben die Originaldaten unverändert erhalten. Anderenfalls werden, wenn die Originaldaten aktualisiert werden sollen, die Daten zu dem Zeitpunkt, an dem die Konsistenz aufrechterhalten werden sollte, in ein anderes Speichervolumen gespeichert (siehe zum Beispiel JP-A-2001-306407 ).
  • Es ist auch ein Vorschlag bezüglich eines Verfahrens gemacht worden, den Snapshot bzw. Schnappschuss in mehreren Generationen verfügbar zu machen.
  • Nach diesem Verfahren führt eine Datenspeichereinheit 1 ein normales Lesen/Schreiben durch. Eine Datenspeichereinheit 2 speichert ein Snapshot-Abbild durch die Datenspeichereinheit 1 zu einem bestimmten Zeitpunkt. Eine Datenspeichereinheit 3 speichert Historieninformationen. Hierbei enthalten die Historieninformationen aktualisierte Daten, die mit einem erneuten Schreiben der Daten in die Datenspeichereinheit 1 nach einem Zeitpunkt verbunden sind, wenn das Snapshot-Abbild in die Datenspeichereinheit 2 gespeichert worden ist, Informationen zur Angabe einer Generation der aktualisierten Daten und Informationen zur Angabe eines Aktualisierungsbereichs der aktualisierten Daten. Eine Datenlesequelle-Wähleinheit 4 sieht entsprechend den Spezifikationen der Generation und des Bereichs eines zu lesenden Snapshot-Abbilds in den jeweils in der Datenspeichereinheit 3 gespeicherten Historieninformationen nach und erkennt und erfasst einen Speicherort des zu lesenden Snapshot-Abbilds und schaltet je nach Speicherort die Datenlesequelle entweder auf die Datenspeichereinheit 2 oder die Datenspeichereinheit 3 (siehe zum Beispiel JP-A-2002-278819 ).
  • Die Snapshot-Funktion weist den Vorteil auf, dass die Kapazität einer Differential-LU bis zu einer Menge verringert werden kann, die kleiner ist als die Kapazität einer primären LU. Bei der Snapshot-Funktion führt jedoch eine Zunahme des Schreibens von Daten von einem Host zu einer Zunahme der Differentialdaten. Darüber hinaus wird, falls die Nutzungsmenge des Poolbereichs (das heißt der Differential-LU) gleich 100% wird, das Aufrechterhalten des Snapshots unmöglich. Deshalb wird, wenn die Nutzungsmenge des Poolbereichs einen Schwellenwert überschritten hat, eine Warnung an den Verwalter ausgegeben. Nach Empfang dieser Warnung befasst sich der Verwalter mit der Warnung, indem er eine Betriebsverwaltung durchführt, zum Beispiel das Speichern der Daten in eine andere Speicherplatte, um die Nutzungsmenge des Poolbereichs zu verringern, oder das Löschen eines V-VOL. Dies bedeutet eine hohe Arbeitsbelastung für den Verwalter und kann schließlich dazu führen, dass der Verwalter Gefahr läuft, die Situation nicht zu erkennen, dass die Nutzungsmenge des Poolbereichs 100% erreicht.
  • US 2004/0030951 beschreibt ein Datenspeichersystem, das einen Produktionsdatenbestand, unterstützt von einem Klonvolumen, und mehrere Snapshot-Datenbestände, unterstützt von jeweiligen Speichervolumen, in einer Snapshot-Warteschlange führt. Um den Produktionsdatenbestand sofort wieder mit dem Zustand eines angegebenen Snapshots wiederherstellen zu können, antwortet das Datenspeichersystem auf Anforderungen für einen Lese-/Schreibzugriff auf den Produktionsdatenbestand durch Lesen aus dem angegebenen Snapshot-Datenbestand und Schreiben in den Produktionsdatenbestand. Das Datenspeichersystem führt Protokoll über die Datenblöcke, die durch Schreiben in den Produktionsdatenbestand geändert worden sind. Das Datenspeichersystem leitet einen Prozess zum Kopieren von Datenblöcken aus dem angegebenen Snapshot-Datenbestand in den Produktionsdatenbestand ein, wenn das Protokoll der Datenblöcke angibt, dass die Datenblöcke noch nicht durch Schreiben in den Produktionsdatenbestand geändert worden sind.
  • Ein Ziel der vorliegenden Erfindung ist es, zu vermeiden, dass die Nutzungsmenge des Poolbereichs 100% erreicht, und zu verhindern, dass alle Snapshot-Abbilder vernichtet werden.
  • Die vorliegende Erfindung stellt eine Speicherplattenanordnungsvorrichtung bereit, umfassend eine übergeordnete Schnittstelle, die mit einer übergeordneten Vorrichtung verbunden ist und Daten von der übergeordneten Vorrichtung empfängt; einen Speicher, der mit der übergeordneten Schnittstelle verbunden ist und dazu ausgelegt ist, Daten und Steuerinformationen über die Daten zu speichern, wobei die Daten mit der übergeordneten Vorrichtung ausgetauscht werden; mehrere Speicherplattenschnittstellen, die mit dem Speicher verbunden sind und dazu ausgelegt sind, die Daten so zu steuern, dass die Daten aus dem Speicher ausgelesen bzw. in diesen hineingeschrieben werden, wobei die Daten mit der übergeordneten Vorrichtung ausgetauscht werden; mehrere Speicherplattenlaufwerke, die mit den mehreren Speicherplattenschnittstellen verbunden sind und dazu ausgelegt sind, die Daten unter der Steuerung durch die mehreren Speicherplattenschnittstellen zu speichern, wobei die Daten von der übergeordneten Vorrichtung übertragen werden; und einen Steuerprozessor zum Steuern des Auslesens und Hineinschreibens von Daten aus bzw. in ein erstes logisches Volumen, das unter Verwendung eines Speicherbereichs der mehreren Speicherplattenlaufwerke geschaffen worden ist, um vergangene Daten so zu steuern, dass die vergangenen Daten in ein zweites logisches Volumen als Differentialdaten auf der Grundlage von Datengenerationen geschrieben werden, wobei die vergangenen Daten im zweiten logischen Volumen gespeichert werden, und um eine Snapshot-Verwaltungstabelle in einem Bereich des Speichers vorzusehen, um dadurch die Differentialdaten auf jeder Generationsgrundlage zu verwalten, wobei die Snapshot-Verwaltungstabelle Informationen zum Verwalten von Beziehungen bezüglich der im zweiten logischen Volumen gespeicherten Differentialdaten enthält, wobei der Steuerprozessor dazu ausgelegt ist, eine Menge von Differentialdaten, die im zweiten logischen Volumen gespeichert sind, zu verwalten, eine Kapazität des zweiten logischen Volumens zu erhöhen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen ersten Anteil der Kapazität des zweiten logischen Volumens überschritten hat, das Schreiben von Daten in das erste logische Volumen zu begrenzen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen zweiten Anteil der Kapazität des zweiten logischen Volumens und der in das zweite logische Volumen geschriebenen Differentialdaten überschritten hat, die Differentialdaten einer bestimmten Generation zu löschen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen dritten Anteil der Kapazität des zweiten logischen Volumens und der in das zweite logische Volumen geschriebenen Differentialdaten überschritten hat, die dem bestimmten ersten logischen Volumen entsprechenden Differentialdaten zu löschen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen vierten Anteil der Kapazität des zweiten logischen Volumens überschritten hat, und alle in das zweite logische Volumen geschriebenen Differentialdaten zu löschen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten die Kapazität des zweiten logischen Volumens erreicht hat.
  • Nach der vorliegenden Erfindung wird es möglich, zu vermeiden, dass die Nutzungsmenge des Poolbereichs 100% erreicht, und zu verhindern, dass alle Snapshot-Abbilder vernichtet werden.
  • 1 zeigt ein Blockdiagramm einer Speicherplattenanordnungsvorrichtung nach einer Ausführungsform der vorliegenden Erfindung.
  • 2 zeigt ein erläuterndes Diagramm des Steuerprogramms nach einer Ausführungsform der vorliegenden Erfindung.
  • 3 zeigt ein erläuterndes Diagramm des Differential-Logikeinheitenverwaltungsverfahrens nach einer Ausführungsform der vorliegenden Erfindung.
  • 4 zeigt ein Ablaufdiagramm der Verarbeitung zur Prüfung der freien Kapazität nach einer Ausführungsform der vorliegenden Erfindung.
  • 5 zeigt ein Ablaufdiagramm der LU-Hinzufügungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • 6 zeigt ein erläuterndes Diagramm der LU-Hinzufügungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • 7 zeigt ein Ablaufdiagramm der virtuellen LU-Löschungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • 8 zeigt ein erläuterndes Diagramm der Paarinformationenverwaltungstabelle nach einer Ausführungsform der vorliegenden Erfindung.
  • 9 zeigt ein erläuterndes Diagramm der Einstellmasken für die virtuelle LU-Löschungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • 10 zeigt ein erläuterndes Diagramm der Einstellmasken für die virtuelle LU-Löschungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • 11 zeigt ein Ablaufdiagramm der virtuellen LU-Löschungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • Nachstehend werden anhand der Zeichnungen Ausführungsformen der vorliegenden Erfindung beschrieben.
  • 1 zeigt ein Blockdiagramm zur Veranschaulichung der Konfiguration einer Speicherplattenanordnungsvorrichtung nach einer Ausführungsform der vorliegenden Erfindung.
  • Eine Speicherplattenanordnungsvorrichtung 1 nach der Ausführungsform der vorliegenden Erfindung umfasst eine Speicherplattenanordnungs-Steuereinheit 10 und Speicherplatten 20. Außerdem ist die Speicherplattenanordnungsvorrichtung 1 über ein SAN 2 mit mehreren Hosts 3 sowie über ein LAN 4 mit einer Verwaltungsterminalvorrichtung 5 verbunden.
  • Auf der Grundlage des Betriebs eines Steuerprogramms 103 steuert die Speicherplattenanordnungs-Steuereinheit 10 die Dateneingabe in die bzw. die Datenausgabe von den Speicherplatten 20. Außerdem bilden die Speicherplatten 20 ein RAID-System (Redundant Array of Inexpensive Drives), das die Speicherung der Daten mit Redundanz ermöglicht. Selbst bei Auftreten eines Fehlers in einem Teil der Speicherplatten verhindert diese Redundanz, dass die gespeicherten Daten verlorengehen.
  • Die Speicherplattenanordnungs-Steuereinheit 10 umfasst eine CPU 101, einen Speicher 102, eine Datenübertragungssteuereinheit 104, eine Frontend-Schnittstelle 105, eine Backend-Schnittstelle 106, einen Cachespeicher 107 und eine LAN-Schnittstelle 108.
  • Der Speicher 102 enthält ein Steuerprogramm 103 (siehe 2). Die CPU 101 ruft das Steuerprogramm 103 auf und führt es aus, wodurch die jeweiligen Verarbeitungen durchgeführt werden.
  • Die Datenübertragungssteuereinheit 104 überträgt die Daten zwischen der CPU 101, der Frontend-Schnittstelle 105, der Backend-Schnittstelle 106 und dem Cachespeicher 107.
  • Die Frontend-Schnittstelle 105, die eine für das SAN 2 ausgelegte Schnittstelle ist, sendet und empfängt die Daten und Steuersignale mit den Hosts 3 zum Beispiel durch Benutzung des Fibre-Channel-Protokolls.
  • Die Backend-Schnittstelle 106, die eine für die Speicherplatten 20 ausgelegte Schnittstelle ist, sendet und empfängt die Daten und Steuersignale mit den Speicherplat ten 20 zum Beispiel durch Benutzung des Fibre-Channel-Protokolls.
  • Der Cachespeicher 107 enthält einen Cache zum vorübergehenden Speichern der zwischen der Frontend-Schnittstelle 105 und der Backend-Schnittstelle 106 gesendeten/empfangenen Daten.
  • Im Einzelnen überträgt die Datenübertragungssteuereinheit 104 zwischen den Schnittstellen 105 und 106 die aus diesen Speicherplatten 20 zu lesenden bzw. in diese zu schreibenden Daten über das SAN 2. Darüber hinaus überträgt die Steuereinheit 104 die aus diesen Speicherplatten 20 zu lesenden bzw. in diese zu schreibenden Daten an den Cachespeicher 107.
  • Die LAN-Schnittstelle 108, die eine für das LAN 4 ausgelegte Schnittstelle ist, ermöglicht das Senden und Empfangen der Daten und Steuersignale mit der Verwaltungsterminalvorrichtung 5 zum Beispiel durch Benutzung des TCP/IP-Protokolls.
  • Das SAN 2 ist ein Netzwerk, das die Kommunikation durch Benutzung eines für die Datenübertragung geeigneten Protokolls, zum Beispiel des Fibre-Channel-Protokolls, ermöglicht.
  • Jeder Host 3 ist eine Computervorrichtung, die eine CPU, einen Speicher, eine Speichervorrichtung, eine Schnittstelle, eine Eingabevorrichtung und eine Anzeigevorrichtung umfasst. Unter Nutzung der von der Speicherplattenanordnungsvorrichtung 1 bereitgestellten Daten stellt jeder Host 3 solche Dienste wie etwa Datenbankdienste und Web-Dienste zur Verfügung.
  • Das LAN 4, das ein Netzwerk zur Verwaltung der Speicherplattenanordnungsvorrichtung 1 ist, ermöglicht die Kommunikation der Daten und Steuersignale zwischen den Computern zum Beispiel durch Benutzung des TCP/IP-Protokolls. Das als das LAN 4 benutzte Netzwerk ist zum Beispiel das Ethernet (ein Warenzeichen, das im Folgenden einfach als solches verwendet wird).
  • Die Verwaltungsterminalvorrichtung 5 ist eine Computervorrichtung, die eine CPU, einen Speicher, eine Speichervorrichtung, eine Schnittstelle, eine Eingabevorrichtung und eine Anzeigevorrichtung umfasst. In der Verwaltungsterminalvorrichtung 5 läuft ein Verwaltungsprogramm. Das Verwaltungsprogramm ermöglicht das Erkennen des Betriebszustands der Speicherplattenanordnungsvorrichtung 1 und erlaubt die Steuerung über den Betrieb der Speicherplattenanordnungsvorrichtung 1. Im Übrigen läuft in der Verwaltungsterminalvorrichtung 5 auch ein Clientprogramm wie etwa ein Web-Broswer. Daher kann der Betrieb der Speicherplattenanordnungsvorrichtung 1 auch durch das Verwaltungsprogramm gesteuert werden, das von der Speicherplattenanordnungsvorrichtung 1 über die CGI (Common Gateway Interface) oder dergleichen bereitgestellt wird.
  • 2 zeigt ein erläuterndes Diagramm des Steuerprogramms 103 nach einer Ausführungsform der vorliegenden Erfindung.
  • Eine von einem normalen E/A-Verarbeitungsprogramm 301 des Hosts 3 gesendete Datenein-/ausgabeanforderung wird durch ein Lese-/Schreibbefehl-Analyseprogramm 111 des Steuerprogramms 103 in der Speicherplattenanordnungsvorrichtung 1 untersucht. Danach wird die untersuchte Anforderung an ein Snap-JOB-Programm 121 übertragen.
  • Wenn das Snap-JOB-Programm 121 die Datenschreibanforderung in eine primäre LU empfangen hat, dupliziert das Programm 121 die in der primären LU gespeicherten Daten vor dem Aktualisieren in eine Differential-LU. Nach diesem Duplizieren aktualisiert das Programm 121 den Inhalt der primären LU. Außerdem aktualisiert das Programm 121 eine Snapshot-Verwaltungstabelle (das heißt einen Differentialinformationenverwaltungsblock 204) in der Weise, dass Blöcke in einer virtuellen LU entsprechend den Blöcken in der primären LU, deren Daten aktualisiert worden sind, veranlasst werden, Blöcken auf der Differential-LU zu entsprechen, in die die Daten der primären LU (das heißt die Daten vor dem Aktualisieren) zu einem Empfangszeitpunkt einer Snapshot-Erzeugungsanforderung gespeichert worden sind.
  • Wenn ein Snap-Restore JOB-Programm 122 eine Zugriffsanforderung auf die virtuelle LU empfangen hat, sieht das Programm 122 außerdem in der Snapshot-Verwaltungstabelle nach, wodurch auf die Blöcke in der primären LU oder die Blöcke in der Differential-LU, die veranlasst worden sind, den Blöcken in der virtuellen LU zu entsprechen, zugegriffen wird. Auf diese Weise wird es für die Speicherplattenanordnungsvorrichtung 1 möglich, ein Snapshot-Abbild bereitzustellen. Außerdem greift der Host 3 mit dem normalen E/A-Verarbeitungsprogramm 301 auf die virtuelle LU zu. Durch diesen Zugriff kann der Host die Informationen in der primären LU zu einem Ausgabezeitpunkt der Snapshot-Erzeugungsanforderung vorteilhaft nutzen.
  • Außerdem werden von dem normalen E/A-Verarbeitungsprogramm 301 übertragene Steuerbefehle durch ein Analyseprogramm 112 für andere Befehle untersucht und danach an ein Konfigurationsinformationen-Steuerprogramm 140 übertragen.
  • Wenn ein Paarinformationenverwaltungsprogramm 141 des Konfigurationsinformationen-Steuerprogramms 140 die Snapshot-Erzeugungsanforderung empfangen hat, registriert das Programm 141 zuerst Identifikationsinformationen zur Identifizierung einer neuen virtuellen LU in der Snapshot-Verwaltungstabelle. Danach nimmt das Programm 141 eine Neuregistrierung von Snapshot-Paaren in einer Paarinformationenverwaltungstabelle vor, wodurch eine Differential-Bitmap 202, eine primäre LU-Adresstabelle 203 und der Differentialinformationenverwaltungsblock 204 reserviert und initialisiert werden. Zuerst wird durch die Snapshot-Verwaltungstabelle eine Eins-zu-Eins-Entsprechung zwischen den Blöcken in dieser virtuellen LU und den Blöcken in der primären LU hergestellt.
  • Wie nachstehend beschrieben, verwaltet ein Pool-LU-Verwaltungsprogramm 142 das Hinzufügen und Löschen einer im Poolbereich registrierten LU.
  • Ein Pool-Verwaltungsprogramm 150 verwaltet das Reservieren des Bereichs der Snapshot-Differential-Verwaltungstabelle (das heißt des Differentialinformationenverwaltungsblocks 204), die Übergänge zu freigegebenen und leeren Warteschlangen und dergleichen.
  • Ein WEB-Programm 160 informiert den Web-Browser über den Status jedes Snapshot-Paars, das durch den Snapshot erzeugt worden ist (das heißt das Vorliegen oder Nichtvorliegen eines Fehlers in einem Paar, beurteilt anhand von Informationen wie etwa den Informationen in der Paarinformationenverwaltungstabelle).
  • Ein RAID-Managerprogramm 131 des Steuerprogramms 103 in der Speicherplattenanordnungsvorrichtung 1 ist mit einem RAID-Managerprogramm 302 des Hosts 3 in einer zur Kommunikation geeigneten Weise verbunden. Die RAID-Managerprogramme 131 und 302 erlauben die Ausführung von Operationen wie etwa das Erzeugen der Snapshots und das Ändern der Paarzustände.
  • Außerdem stellt ein DAMP-Schnittstellenprogramm 132 eine Benutzerschnittstelle zur Durchführung der jeweiligen Arten von Einstellungen für die Speicherplattenanordnung wie etwa eine virtuelle LU-Löschungsverarbeitung bereit. Das DAMP-Schnittstellenprogramm 132 ist mit einem DAMP-Programm 501 der Verwaltungsterminalvorrichtung 5 in einer zur Kommunikation geeigneten Weise verbunden. Dieses DAMP-Schnittstellenprogramm 132 gestattet die Ausführung der Kommunikation mit dem DAMP-Programm 501 der Verwaltungsterminalvorrichtung 5, wodurch die Durchführung der RAID-Konfigurationsverwaltung der Speicherplattenanordnungsvorrichtung 1, des automatischen Hinzufügens zum Pool und der Löschungseinstellung ermöglicht werden.
  • 3 zeigt ein erläuterndes Diagramm des Snapshot-Verwaltungsverfahrens nach einer Ausführungsform der vorliegenden Erfindung.
  • Die primäre LU 201, die für den normalen Betrieb verwendet wird, ist eine Logikeinheit (das heißt P-VOL = pri märes Volumen), die das Ziel für die Datenein-/ausgabe zum/vom Host 3 wird.
  • Die Differential-Bitmap 202, die im Verwaltungsbereich des Cachespeichers 107 angeordnet ist, weist Bits entsprechend jedem Block (zum Beispiel 64 kB/Block) der primären LU 201 auf. Diese Differential-Bitmap 202 konfiguriert die Snapshot-Verwaltungstabelle zusammen mit der primären LU-Adresstabelle 203 und dem Differentialinformationenverwaltungsblock 204, die nachstehend beschrieben werden.
  • Wenn die Differentialdaten entsprechend einer Blockadresse der primären LU 201 in der Differential-LU 206 erfasst worden sind, sind die Bits entsprechend der primären LU 201 in der Differential-Bitmap 202 gleich „1". Daher ist es beim Schreiben in die primäre LU 201 unter Bezugnahme auf die Differential-Bitmap 202 möglich, zu beurteilen, ob ein Kopieren der Daten vor dem Aktualisieren in die Differential-LU nötig ist oder nicht (falls die Bits gleich „1" sind, sind die Daten zum Zeitpunkt der Snapshot-Erzeugung bereits in die Differential-LU 206 geschrieben worden; folglich ist ein Kopieren der Daten von der primären LU 201 in die Differential-LU 206 nicht nötig).
  • Die primäre LU-Adresstabelle 203, die im Verwaltungsbereich des Cachespeichers 107 vorgesehen ist, enthält die Adressen des Differentialinformationenverwaltungsblocks 204 in einer den Bits der Differential-Bitmap 202 entsprechenden Weise.
  • Der Differentialinformationenverwaltungsblock 204, der dieselbe Kapazität wie die Differential-LU 206 aufweist, ist im Verwaltungsbereich des Cachespeichers 107 angeordnet. Der Differentialinformationenverwaltungsblock 204 ist jeweils auf Blockbasis (zum Beispiel 64 kB/Block) entsprechend der Differential-LU 206 unterteilt, und umfasst eine Verwaltungstabelle in jedem Block. Diese Verwaltungstabelle enthält Informationen, die angeben, welche Generation von Snapshot-Daten die Differentialdaten sind, wobei die Differentialdaten an einer Position entsprechend dem jeweiligen Block der Differential-LU 206 aufgezeichnet sind. Falls weitere Differentialdaten entsprechend dem Block der primären LU 201 vorliegen, enthält diese Verwaltungstabelle auch Verknüpfungsinformationen zu der Adresse im Differentialinformationenverwaltungsblock 204. Das Suchen nach und Verfolgen der im Differentialinformationenverwaltungsblock 204 festgehaltenen Adresse macht es nämlich möglich, auf die Differentialdaten in mehreren Generationen Bezug zu nehmen.
  • Im Übrigen sind in dem unbenutzten Bereich des Differentialinformationenverwaltungsblocks 204 Verknüpfungen als leere Warteschlangen eingerichtet. Außerdem wird die Anzahl der leeren Warteschlangen mit einem Zähler 205 für leere Warteschlangen im Cachespeicher 107 verwaltet.
  • Die Differential-LU 206 enthält die im Poolbereich registrierte LU. Diese Differential-LU 206 dupliziert darin die Daten der primären LU 201 zum Zeitpunkt der Snapshot-Erzeugung. Darüber hinaus ist es durch Bezugnahme auf die Generationsverwaltungs-Bitmap im Differentialinformationenverwaltungsblock 204 möglich, zu wissen, welche Generation von Differentialdaten die Daten in der Differential-LU 206 sind.
  • Dementsprechend wird beim Schreiben der Daten in die primäre LU durch Bezugnahme auf die Differential-Bitmap 202 zuerst beurteilt, ob ein Kopieren der Daten vor dem Aktualisieren in die Differential-LU nötig ist oder nicht. Außerdem wird, falls festgestellt wird, dass die entsprechenden Bits in der Differential-Bitmap 202 „1" sind, beurteilt, dass ein Kopieren der Daten vor dem Aktualisieren in die Differential-LU nicht nötig ist. Folglich werden die Daten in die primäre LU geschrieben. Dabei werden, falls festgestellt wird, dass die entsprechenden Bits in der Differential-Bitmap 202 „0" sind, die Daten in die primäre LU geschrieben, nachdem die Daten vor dem Aktualisieren in die Differential-LU kopiert worden sind.
  • Danach wird die Verknüpfungsadresse für die neu eingestellten Differentialdaten im Block des Differentialinfor mationenverwaltungsblocks 204 entsprechend dem Block der primären LU eingestellt. Außerdem wird je nach Bedarf die Adresse des Blocks des Differentialinformationenverwaltungsblocks 204 auf die primäre LU-Adresstabelle eingestellt. Darüber hinaus werden die entsprechenden Bits in der Differential-Bitmap 202 auf „1" gesetzt. Danach wird die Generationsverwaltungs-Bitmap des Differentialinformationenverwaltungsblocks 204 eingestellt, die der Adresse der Differential-LU 206 entspricht, in die die Daten vor dem Aktualisieren geschrieben worden sind. Weil die leeren Warteschlangen des Differentialinformationenverwaltungsblocks 204 benutzt worden sind, wird darüber hinaus der Zähler 205 für leere Warteschlangen aktualisiert.
  • Außerdem wird beim Zugriff auf eine virtuelle LU (das heißt V-VOL = virtuelles Volumen) durch Bezugnahme auf die primäre LU-Adresstabelle 203 die Adresse des Differentialinformationenverwaltungsblocks 204 basierend auf der Blockadresse der virtuellen LU angegeben, die das Zugriffsziel wird. (Diese Blockadresse ist dieselbe wie die der primären LU.) Danach wird basierend auf der Generationsverwaltungs-Bitmap der Adresse des Differentialinformationenverwaltungsblocks 204 angegeben, ob Differentialdaten der Zugriffszielgeneration vorliegen oder nicht. Falls die Differentialdaten der gewünschten Generation vorliegen, werden außerdem die Differentialdaten von der Adresse der Differential-LU 206 gelesen, die der Adresse des Differentialinformationenverwaltungsblocks 204 entspricht, wodurch das Abbild der virtuellen LU bereitgestellt wird. Falls jedoch keine Differentialdaten der gewünschten Generation vorliegen, wird auf die Verknüpfungsadressen für die anderen Differentialdaten Bezug genommen, wodurch nach den Differentialdaten der gewünschten Generation gesucht wird. Falls es sich bei den Differentialdaten nicht um die der gewünschten Generation handelt, werden außerdem die in der primären LU aufgezeichneten Daten zum gegenwärtigen Zeitpunkt als die Daten der virtuellen LU bereitgestellt.
  • 4 zeigt ein Ablaufdiagramm der Verarbeitung zur Prüfung der freien Kapazität nach einer Ausführungsform der vorliegenden Erfindung. Beim Kopieren von Differentialdaten von einer primären LU in eine Differential-LU durch eine Verarbeitung wie etwa eine Datenschreibverarbeitung in die primäre LU wird die Verarbeitung zur Prüfung der freien Kapazität durch das Pool-LU-Verwaltungsprogramm 142 ausgeführt.
  • Zuerst wird die freie Kapazität (die auch die bereits benutzte Kapazität sein kann) des Poolbereichs (das heißt der Differential-LU) durch Bezugnahme auf den Zähler 205 für leere Warteschlangen bestätigt (S101).
  • Als Nächstes wird ein Vergleich zwischen der in Schritt S101 erfassten Nutzungsmenge des Poolbereichs und einem vorbestimmten LU-Hinzufügungsschwellenwert (70%) vorgenommen, wodurch beurteilt wird, ob die Nutzungsmenge des Poolbereichs den LU-Hinzufügungsschwellenwert (70%) überschritten hat oder nicht (S102). Falls die Nutzungsmenge des Poolbereichs den LU-Hinzufügungsschwellenwert (70%) überschritten hat, wird außerdem eine LU-Hinzufügungsverarbeitung (5) durchgeführt (S103).
  • Es ist wünschenswert, dass dieser LU-Hinzufügungsschwellenwert im Wesentlichen auf 70% eingestellt ist, wobei genügend Kapazitätsspielraum verbleibt, so dass die Nutzungsmenge des Poolbereichs 100% nicht erreicht. Dennoch ist es je nach Betriebszustand der Speichervorrichtung (zum Beispiel der Anzahl der Datenein-/ausgabeanforderungen) möglich, den LU-Hinzufügungsschwellenwert zu ändern.
  • Außerdem wird während der Durchführung der LU-Hinzufügungsverarbeitung zum Poolbereich ein Schwellenwert eingestellt, der höher als der Schwellenwert zur normalen Zeit ist (der zum Beispiel 75% bezogen auf 70% zur normalen Zeit beträgt). Obwohl jetzt die LU-Hinzufügungsverarbeitung durchgeführt wird, weil die Nutzungsmenge des Poolbereichs den LU-Hinzufügungsschwellenwert überschritten hat, ist es daher möglich, die Durchführung einer neuen LU-Hinzufügungsverarbeitung zu verhindern.
  • Als Nächstes wird beurteilt, ob die Nutzungsmenge des Poolbereichs einen E/A-Begrenzungsschwellenwert (90%) überschritten hat oder nicht (S104). Falls die Nutzungsmenge des Poolbereichs den E/A-Begrenzungsschwellenwert (90%) überschritten hat, wird das Schreiben von Daten vom Host 3 begrenzt (S105). Bei dieser E/A-Begrenzung wird einer handbetätigten virtuellen LU-Löschungsverarbeitung eine Priorität zugewiesen, so dass die Datenschreibanforderungen und die Differentialdaten-Löschungsverarbeitungen im Wesentlichen in eine Eins-zu-Eins-Entsprechung gebracht werden. Dadurch soll verhindert werden, dass die Nutzungsmenge des Poolbereichs größer wird als dieser Schwellenwert.
  • Als Nächstes wird beurteilt, ob die Nutzungsmenge des Poolbereichs einen virtuellen LU-Deaktivierungsschwellenwert (95%) überschritten hat oder nicht (S106). Falls die Nutzungsmenge des Poolbereichs den virtuellen LU-Deaktivierungsschwellenwert (95%) überschritten hat, wird die virtuelle LU-Löschungsverarbeitung (7) durchgeführt (S107). Diese virtuelle LU-Löschungsverarbeitung ermöglicht das Einrichten einer kleinen Menge freier Kapazität, während eine Leistungsminderung bei der Betriebsverwaltung vermieden wird.
  • Die virtuelle LU-Löschungsverarbeitung muss abgeschlossen sein, bevor die Nutzungsmenge des Poolbereichs 100% erreicht. Daher ist es wünschenswert, diesen virtuellen LU-Deaktivierungsschwellenwert im Wesentlichen auf 95% einzustellen, wobei ein geringer Kapazitätsspielraum verbleibt. Dennoch ist es je nach Betriebszustand der Speichervorrichtung (zum Beispiel der Anzahl der Datenein-/ausgabeanforderungen) möglich, den virtuellen LU-Deaktivierungsschwellenwert zu ändern.
  • Außerdem wird der virtuelle LU-Deaktivierungsschwellenwert bei der ersten Beurteilung auf 95% eingestellt, und bei der zweiten oder späteren Beurteilung während der Durchführung der virtuellen LU-Löschungsverarbeitung wird er auf einen etwas höheren Wert (zum Beispiel 96%) eingestellt. Obwohl jetzt die virtuelle LU-Löschungsverarbeitung durchgeführt wird, weil die Nutzungsmenge des Poolbereichs den virtuellen LU-Deaktivierungsschwellenwert überschritten hat, ist es daher möglich, die Durchführung einer neuen virtuellen LU-Löschungsverarbeitung zu verhindern.
  • Im Übrigen kann, wenn die gesamte Kapazität des Poolbereichs größer als 200 GB ist, die virtuelle LU-Löschungsverarbeitung auch ausgeführt werden, wenn die Restkapazität des Poolbereichs auf weniger als 10 GB gesunken ist (ohne die vorstehend beschriebenen Verhältnisse für die Nutzungsmenge des Poolbereichs zu verwenden).
  • Als Nächstes wird beurteilt, ob die Nutzungsmenge des Poolbereichs einen primären LU-Deaktivierungsschwellenwert (99%) überschritten hat oder nicht (S108). Dieser primäre LU-Deaktivierungsschwellenwert ermöglicht die folgenden Beurteilungen: Die Möglichkeit, dass die Nutzungsmenge des Poolbereichs 100% erreicht, ist sehr hoch, und es ist erforderlich, dringend und sicher eine freie Kapazität sicherzustellen. Außerdem wird, falls die Nutzungsmenge des Poolbereichs den primären LU-Deaktivierungsschwellenwert (99%) überschritten hat, eine virtuelle LU-Löschungsverarbeitung (11) durchgeführt (S109).
  • Im Übrigen kann, wenn die gesamte Kapazität des Poolbereichs größer als 200 GB ist, die virtuelle LU-Löschungsverarbeitung auch ausgeführt werden, wenn die Restkapazität des Poolbereichs auf weniger als 2 GB gesunken ist (ohne die vorstehend beschriebenen Verhältnisse für die Nutzungsmenge des Poolbereichs zu verwenden).
  • Auf diese Weise werden die virtuellen LU-Löschungen in Reaktion auf den Grad der Dringlichkeit in mehreren Schritten ausgeführt. Dies ermöglicht es, sicher zu verhindern, dass die Nutzungsmenge des Poolbereichs 100% erreicht.
  • Als Nächstes wird beurteilt, ob die Nutzungsmenge des Poolbereichs einen Deaktivierungsschwellenwert für alle virtuellen LUs (100%) erreicht hat oder nicht (S110). Darüber hinaus werden, falls die Nutzungsmenge des Poolbereichs 100% erreicht hat, alle in der Paarzustandsverwaltungstabelle erfassten Zustände der virtuellen LUs, die den Poolbereich benutzen, auf einen Fehlerzustand (PSUE) geändert, ehe alle virtuellen LUs gelöscht werden, die den Poolbereich benutzen (S111).
  • Auf diese Weise ermöglicht die Verarbeitung zur Prüfung der freien Kapazität nach der Ausführungsform der vorliegenden Erfindung das automatische Löschen der virtuellen LUs entsprechend den vorgegebenen Bedingungen und ohne Eingreifen des Verwalters. Dadurch kann verhindert werden, dass die Nutzungsmenge des Poolbereichs 100% erreicht. Außerdem ermöglicht die Prüfverarbeitung ein schrittweises Löschen der virtuellen LUs entsprechend der Nutzungsmenge des Poolbereichs. Dies ermöglicht es, eine Leistungsminderung bei der Betriebsverwaltung auf das geringstmögliche Maß zu verringern.
  • 5 zeigt ein Ablaufdiagramm der LU-Hinzufügungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung. Die LU-Hinzufügungsverarbeitung wird von (Schritt S103 in 4) der Verarbeitung zur Prüfung der freien Kapazität aufgerufen (das heißt wenn die Nutzungsmenge des Poolbereichs den LU-Hinzufügungsschwellenwert (70%) überschritten hat). Danach wird die aufgerufene LU-Hinzufügungsverarbeitung durch das Pool-LU-Verwaltungsprogramm 142 ausgeführt.
  • Zunächst wird durch Nachsehen in einer. automatischen Pool-Hinzufügungsziel-Verwaltungstabelle 143 (6) beurteilt, ob LUs als automatische Pool-Hinzufügungsziele registriert worden sind oder nicht (S121). Falls keine LUs als automatische Pool-Hinzufügungsziele registriert worden sind, existiert keine der LUs, die hinzugefügt werden sollen. Daher endet diese Verarbeitung, ohne die LUs hinzuzufügen. Falls hingegen LUs als automatische Pool-Hinzu fügungsziele registriert worden sind, wird die Verarbeitung mit Schritt S122 fortgesetzt.
  • In Schritt S122 wird durch Nachsehen in einer Pool-Verwaltungstabelle 141 (6) beurteilt, ob in dem Poolbereich registrierte LUs eine maximale Anzahl erreicht haben oder nicht. Dieser Maximalwert der Registrierungsanzahl im Poolbereich wird durch die Kapazität der Pool-Verwaltungstabelle 141 bestimmt. Falls die Anzahl der in der Pool-Verwaltungstabelle 141 registrierten LUs bereits gleich der maximalen Anzahl ist, ist es nicht möglich, neue LUs in der Pool-Verwaltungstabelle 141 hinzuzufügen. Daher endet diese Verarbeitung, ohne die LUs hinzuzufügen. Falls jedoch die Anzahl der in der Pool-Verwaltungstabelle 141 registrierten LUs die maximale Anzahl noch nicht erreicht hat, wird die Verarbeitung mit Schritt S123 fortgesetzt.
  • In Schritt S123 wird beurteilt, ob freie Kapazität im Verwaltungsbereich des Cachespeichers 107 vorhanden ist oder nicht. Dies erfolgt, weil eine Erhöhung der Kapazität des Differentialinformationenverwaltungsblocks 204 in Verbindung mit dem Hinzufügen der LUs in den Poolbereich nötig ist. Falls keine freie Kapazität im Verwaltungsbereich des Cachespeichers 107 vorhanden ist, ist es außerdem nicht möglich, den Bereich des Differentialinformationenverwaltungsblocks 204 zu vergrößern. Daher endet diese Verarbeitung, ohne die LUs hinzuzufügen. Falls jedoch freie Kapazität im Verwaltungsbereich des Cachespeichers 107 vorhanden ist, wird die Verarbeitung mit Schritt S124 fortgesetzt.
  • Wenn die Bedingungen, auf deren Grundlage die LUs hinzugefügt werden sollen, durch die Verarbeitungen in Schritt S121 bis S123 bestätigt worden sind, werden die zu verschiebenden LUs aus der automatischen Pool-Hinzufügungsziel-Verwaltungstabelle 143 gelöscht und dann in der Pool-Verwaltungstabelle 141 hinzugefügt. Dadurch werden die hinzugefügten LUs als Differential-LUs verfügbar (S124).
  • Als diese zu verschiebenden LUs können mehrere LUs im Voraus in der Pool-Verwaltungstabelle 141 festgelegt wer den. Eine Anordnung wie diese macht es möglich, die LUs in einer nötigen Anzahl hinzuzufügen. Als Beispiel wird angenommen, dass zehn LUs mit je 100 GB registriert worden sind. Wenn ein Fall einzutreten scheint, dass dem Poolbereich eine Kapazität von 300 GB fehlt, werden drei 100 GB-LUs zum Poolbereich hinzugefügt. Auf diese Weise werden die verbleibenden sieben LUs für andere Zwecke verfügbar.
  • Danach wird die Adresse einer leeren Warteschlange in dem neu vergrößerten Bereich des Differentialinformationenverwaltungsblocks 204 als die letzte leere Warteschlange des Differentialinformationenverwaltungsblocks 204 eingestellt, der von zuvor normal vorgelegen hat. Diese Einstellung verbindet die neu vergrößerte leere Warteschlange mit der vorherigen leeren Warteschlange (S125).
  • 6 zeigt ein erläuterndes Diagramm der LU-Hinzufügungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • Im Hinblick auf eine primäre LU (LU0) wird eine virtuelle LU (LU2) eingerichtet, die dazu auslegt ist, das Abbild der Daten zum Zeitpunkt der Snapshot-Erzeugung bereitzustellen. Diese LU2 ist eine virtuelle Logikeinheit, die die Daten der primären LU und die im Poolbereich vorhandenen Differentialdaten enthält. Das heißt, wenn es zu einem Zugriff auf die LU2 kommt, wird geprüft, ob die Daten in der primären LU vorhanden sind oder die Daten die im Poolbereich vorliegenden Differentialdaten sind. Diese Beurteilung ermöglicht die Durchführung eines Zugriffs auf die Differential-LU.
  • Die zum Poolbereich hinzuzufügenden LUs werden wie folgt gehandhabt: Die in der automatischen Pool-Hinzufügungsziel-Verwaltungstabelle 143 registrierten LUs (LU6 und LU7) werden daraus gelöscht und danach in der Pool-Verwaltungstabelle 141 hinzugefügt. Dadurch werden die hinzugefügten LUs als Differential-LUs verfügbar.
  • Auf diese Weise werden bei der LU-Hinzufügungsverarbeitung nach der Ausführungsform der vorliegenden Erfindung die mehreren LUs zum Erhöhen der Kapazität des Poolbereichs im Voraus vorbereitet. Falls die Nutzungsmenge des Poolbereichs dann einen bestimmten Schwellenwert überschritten hat, werden die LUs automatisch im Poolbereich hinzugefügt. Dies vergrößert die Kapazität des Poolbereichs, wodurch verhindert wird, dass die Nutzungsmenge des Poolbereichs 100% erreicht. Falls die Nutzungsmenge des Poolbereichs klein ist und daher keine LUs hinzugefügt werden müssen, stehen daher die LUs für andere Zwecke zur Verfügung. Folglich wird es möglich, die Kapazität der Speicherplatte effektiv zu nutzen, ohne eine unnötige Speicherplatte im Poolbereich zu registrieren.
  • 7 zeigt ein Ablaufdiagramm der virtuellen LU-Löschungsverarbeitung (virtuelle LU-Einheit) nach einer Ausführungsform der vorliegenden Erfindung. Die virtuelle LU-Löschungsverarbeitung wird von (Schritt S107 in 4) der Verarbeitung zur Prüfung der freien Kapazität aufgerufen (das heißt wenn die Nutzungsmenge des Poolbereichs den virtuellen LU-Deaktivierungsschwellenwert (95%) überschritten hat). Danach wird die aufgerufene virtuelle LU-Löschungsverarbeitung durch das Pool-LU-Verwaltungsprogramm 142 ausgeführt.
  • Zuerst wird auf der Grundlage von Informationen, die der Verwalter eingestellt hat, eine zu löschende virtuelle LU bestimmt (S131). Es gibt verschiedene Verfahren zum Festlegen dieser virtuellen LU, die gelöscht werden soll. Bei einem Verfahren werden die Daten einer virtuellen LU gelöscht, die zur ältesten Generation gehören. Es ist auch möglich, die Daten einer virtuellen LU zu löschen, die zu einer vom Verwalter vorgegebenen Generation gehören. Die Masken, mit denen der Verwalter die zu löschende virtuelle LU einstellt, sind im Übrigen weiter unten beschrieben (9 und 10).
  • Um die älteste virtuelle LU auszuwählen, wird auch in der Paarinformationenverwaltungstabelle für alle primären LUs (8) nachgesehen, wodurch die Paarzustände der vir tuellen LUs sowie Uhrzeit und Datum der Snapshot-Erzeugung abgerufen werden. Durch dieses Abrufen kann die älteste virtuelle LU unter den virtuellen LUs ausgewählt werden, deren Paarzustände getrennte Zustände (PSUS) geworden sind. Weil die virtuelle LU im Paarzustand (PAIR) keine reale Substanz hat, wird die virtuelle LU im getrennten Zustand, die ihre reale Substanz hat, als das Löschungsziel ausgewählt.
  • Weiter wird die virtuelle LU-Löschungsverarbeitung in der virtuellen LU-Einheit registriert, und danach wird diese Verarbeitung im Hintergrund ausgeführt (S132). Diese Löschungsverarbeitung löscht die Daten der bestimmten virtuellen LU. Die Differentialdaten sind eingeteilt in Daten, die für mehrere Generationen gemeinsam verwendet werden, und Daten, die nur für eine Generation des Löschungsziels verwendet werden. Daher muss zuerst beurteilt werden, zu welcher der beiden Arten von Daten die Differentialdaten gehören. Als Ergebnis der Bestätigung der Generationsverwaltungs-Bitmap des Differentialinformationenverwaltungsblocks 204 werden, falls der Differentialinformationenverwaltungsblock 204 nur für die Generation des Ziels verwendet worden ist, die Daten des Differentialinformationenverwaltungsblocks 204 aktualisiert, wodurch dieser in eine leere Warteschlange geändert wird. Falls der Differentialinformationenverwaltungsblock 204 jedoch von den mehreren Generationen gemeinsam benutzt worden ist, werden die gemeinsamen Informationen (das heißt die Generationsverwaltungs-Bitmap) des Differentialinformationenverwaltungsblocks 204 aktualisiert.
  • Weiter wird der Paarzustand der in der Paarinformationenverwaltungstabelle (8) erfassten virtuellen LU, die das Löschungsziel wird, in einen Fehlerzustand (PSUS) geändert, um das Paar zu trennen, wodurch diese virtuelle LU nicht mehr verfügbar ist (S133).
  • Die bisher beschriebene virtuelle LU-Löschungsverarbeitung wird durchgeführt, wenn die Nutzungsmenge des Poolbe reichs den virtuellen LU-Deaktivierungsschwellenwert (95%) überschritten hat. Wird die Nutzungsmenge des Poolbereichs jedoch nicht kleiner als der E/A-Begrenzungsschwellenwert (90%), obwohl die virtuelle LU des Löschungsziels gelöscht worden ist, ist es zulässig, das Löschen der virtuellen LU nicht durchzuführen.
  • Auf diese Weise wird bei der virtuellen LU-Löschungsverarbeitung (virtuelle LU-Einheit) der Paarzustand der virtuellen LU des Löschungsziels (zum Beispiel die älteste virtuelle LU) aufgehoben. Dadurch kann die freie Kapazität erzeugt werden, ohne erhebliche Einflüsse auf die Fortschreibung der Snapshot-Abbilder auszuüben. Außerdem wird die zu löschende virtuelle LU auf der Grundlage der vom Verwalter eingestellten Informationen bestimmt. Dadurch kann die freie Kapazität der LU so vergrößert werden, dass die virtuellen LUs, die beibehalten werden sollen, beibehalten werden, auch wenn die Daten darin alte Daten sind. Außerdem wird die virtuelle LU-Löschungsverarbeitung im Hintergrund durchgeführt. Dadurch kann die freie Kapazität für die Daten erzeugt werden, während eine Leistungsminderung bei der Betriebsverwaltung vermieden wird.
  • 8 zeigt ein erläuterndes Diagramm der Paarinformationenverwaltungstabelle nach einer Ausführungsform der vorliegenden Erfindung.
  • Die Paarinformationenverwaltungstabelle ist für jede primäre LU vorgesehen. Die Paarinformationenverwaltungstabelle enthält die Paarzustände für jede primäre LU und die virtuellen LUs der jeweiligen Generationen sowie Uhrzeit und Datum der Erzeugung der virtuellen LUs. Diese erfassten Daten ermöglichen die Verwaltung der Beziehung zwischen jeder primären LU und den virtuellen LUs. So ist zum Beispiel die 13. virtuelle LU für die 0. primäre LU um 22:30:30 Uhr am 24. November 2003 erzeugt worden, und der Paarzustand (PAIR) besteht gegenwärtig auch noch. Das heißt, die 13. virtuelle LU ist die neueste virtuelle LU, in die die Differentialdaten gegenwärtig geschrieben worden sind.
  • Weiter ist die 0. virtuelle LU für die 0. primäre LU um 8:30:30 Uhr am 0. Oktober 2003 durch die Bedingung erzeugt worden, dass die Snapshot-Erzeugungsanforderung akzeptiert worden ist. Gegenwärtig ist die 0. virtuelle LU in einem getrennten Zustand (PSUS), wo die virtuelle LU erzeugt worden ist. Diese virtuelle LU im getrennten Zustand wird ein Löschungsziel. Weiter ist die 9. virtuelle LU für die 0. primäre LU um 10:10:10 Uhr am 20. September 2003 erzeugt worden, ist aber eine bereits gelöschte virtuelle LU. Daher ist die 9. virtuelle LU in einem Fehlerzustand (PSUE) und als Löschungsziel registriert.
  • Die Paarinformationenverwaltungstabelle ermöglicht die Kontrolle der virtuellen LUs der Löschungsziele, die Durchführung der Löschungsregistrierung und die Bestimmung einer zu löschenden virtuellen LU. Im Übrigen wird nach der Bestimmung der Löschungsziel-LU das eigentliche Löschen der Differentialdaten durch das Pool-Verwaltungsprogramm 150 durchgeführt.
  • 9 zeigt ein erläuterndes Diagramm der Einstellmasken für die virtuelle LU-Löschungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • 9(a) mit einer Hauptmaske zum Einstellen der virtuellen LU-Löschungsinformationen zeigt einen Zustand, bei dem eine Registerkarte „Löschen zulassen" gewählt ist. In dieser Maske wird bezüglich der Löschungspriorität zwischen „Virtuelle LU wird ab der ältesten Uhrzeit und dem ältesten Datum gelöscht" bezogen auf Uhrzeit und Datum der Erzeugung der virtuellen LUs oder „Angegebene virtuelle LU wird gelöscht" gewählt. Wenn „Angegebene virtuelle LU wird gelöscht" gewählt wird, wird eine Schaltfläche „Angaben bestätigen" aktiviert. Außerdem wird durch Betätigen der Schaltfläche „Angaben bestätigen" von der Hauptmaske auf eine Untermaske zum Einstellen der Löschungspriorität (9(b)) für eine ausgewählte primäre LU gewechselt. In der Untermaske zum Einstellen der Löschungspriorität ist es durch Markieren der Löschungskontrollfelder möglich, die Erlaubnis zum Löschen für jede virtuelle LU einzeln einzustellen. Außerdem ist es durch Markieren der Löschungskontrollfelder möglich, die Priorität auszuwählen. Im Übrigen kann anstelle der Einstufungen „hoch", „mittel" und „niedrig" die Priorität auch individuell eingestellt werden.
  • 10 zeigt ein erläuterndes Diagramm der Einstellmasken für die virtuelle LU-Löschungsverarbeitung nach einer Ausführungsform der vorliegenden Erfindung.
  • 10(a) mit einer Hauptmaske zum Einstellen der virtuellen LU-Löschungsinformationen zeigt einen Zustand, bei dem eine Registerkarte „Löschschutz" gewählt ist. In dieser Maske wird eine primäre LU ausgewählt, und die Schaltfläche „Angaben bestätigen" wird betätigt. Dadurch wechselt die Hauptmaske auf eine Untermaske zum Einstellen des Löschschutzes (10(b)) für die ausgewählte primäre LU. In der Untermaske zum Einstellen des Löschschutzes ist es durch Markieren der Löschschutzfelder möglich, den Löschschutz für jede virtuelle LU einzeln einzustellen.
  • 11 zeigt ein Ablaufdiagramm der virtuellen LU-Löschungsverarbeitung (primäre LU-Einheit) nach einer Ausführungsform der vorliegenden Erfindung. Die virtuelle LU-Löschungsverarbeitung wird von (Schritt S109 in 4) der Verarbeitung zur Prüfung der freien Kapazität aufgerufen (das heißt wenn die Nutzungsmenge des Poolbereichs den primären LU-Deaktivierungsschwellenwert (99%) überschritten hat). Danach wird die aufgerufene virtuelle LU-Löschungsverarbeitung durch das Pool-LU-Verwaltungsprogramm 142 ausgeführt.
  • Zuerst wird durch Nachsehen in der Paarinformationenverwaltungstabelle beurteilt, ob die virtuelle LU gegenwärtig gelöscht wird oder nicht. Das heißt, falls das Paarzustandsfeld in der Paarinformationenverwaltungstabelle „PSUS" lautet, wird entschieden, dass die virtuelle LU gegenwärtig gelöscht wird (S141). Weil festgestellt worden ist, dass die virtuelle LU gelöscht wird, und um eine Priorität für das Löschen der virtuellen LU festzulegen und die freie Kapazität des Poolbereichs schnell zu sichern, geht die Verarbeitung als Folge weiter zu Schritt S144 und setzt dann die Löschungsverarbeitung fort, die gegenwärtig ausgeführt wird. Falls die virtuelle LU gegenwärtig nicht gelöscht wird, wird das Löschen der virtuellen LU neu ausgeführt.
  • Daher wird zuerst eine primäre LU entsprechend dem Löschen der virtuellen LU bestimmt (S142). Als diese primäre LU kann eine primäre LU gewählt werden, die vom Verwalter zuvor festgelegt worden ist. Darüber hinaus ist es auch möglich, eine primäre LU zu wählen, die eine Datenschreibanforderung von einem der Hosts 3 empfangen hat. Hierbei ist es sehr wahrscheinlich, dass der Host, der die Datenschreibanforderung gegenwärtig gesendet hat, auch eine Ursache für die Verringerung der freien Kapazität des Poolbereichs geworden ist. Folglich ist es durch Auswählen der an der Datenschreibanforderung beteiligten primären LU möglich, den Zugriff von dem Host zu stoppen.
  • Darüber hinaus wird das Schreiben von Daten von allen Hosts 3 gestoppt (S143). Durch dieses Stoppen des Schreibens von Daten kann die Löschungsverarbeitung der virtuellen LUs mit einer höheren Priorität als der für andere Verarbeitungen ausgeführt werden, wodurch es möglich ist, die freie Kapazität schnell zu sichern.
  • Außerdem wird das Löschen der virtuellen LUs ausgeführt, die mit der vorstehend gewählten primären LU in Verbindung stehen (S144). Bei dieser Löschungsverarbeitung wird durch Nachsehen in der primären LU-Adresstabelle 203 der ausgewählten primären LU der im Differentialinformationenverwaltungsblock 204 enthaltene Inhalt gelöscht, um die Daten im Differentialinformationenverwaltungsblock 204 an der Adresse in eine leere Warteschlange zu ändern. Dieser Vorgang löscht die virtuellen LUs, wodurch die freie Kapazität des Poolbereichs sichergestellt wird. Bei dieser Löschungsverarbeitung ist es im Vergleich zu der vorstehend beschriebenen virtuellen LU-Löschungsverarbeitung in der virtuellen LU-Einheit (das heißt S132 in 7) nicht nötig, in den Daten (das heißt der Generationsverwaltungs-Bitmap) des Differentialinformationenverwaltungsblocks 204 nachzusehen, um die Generationen der virtuellen LUs zu identifizieren. Dadurch kann ein schnelles Löschen der virtuellen LUs realisiert werden.
  • Darüber hinaus werden, wenn die freie Kapazität des Poolbereichs gesichert ist, die Datenschreibverarbeitungen von den Hosts 3 neu gestartet (S145).
  • Auf diese Weise werden bei der virtuellen LU-Löschungsverarbeitung (primäre LU-Einheit), wenn die Nutzungsmenge den Schwellenwert überschritten hat, die Paarzustände aller virtuellen LUs, die mit der ausgewählten primären LU des Löschungsziels in Verbindung stehen (zum Beispiel eine primäre LU, an die eine Datenein-/ausgabeanforderung gegeben worden ist) in „PSUE" geändert, wodurch die Paarzustände aufgehoben werden. Diese Paartrennungsverarbeitung, die im Hintergrund ausgeführt wird, ermöglicht das Löschen großer Mengen von Daten (das heißt im Wesentlichen 100 MB) in einem Auftrag oder JOB. Das heißt, um alle virtuellen LUs, die mit der ausgewählten primären LU in Verbindung stehen, zu löschen, wird das Schreiben von Daten von allen Hosts vorübergehend gestoppt, und danach werden die Daten in der primären LU-Einheit vollständig (oder in einer jeweils vorbestimmten Kapazität von zum Beispiel 100 MB) gelöscht. Auf diese Weise werden, nachdem eine bestimmte Menge an freier Kapazität des Poolbereichs sichergestellt worden ist, die Datenschreibanforderungen von den Hosts wieder gestartet. Daher ist es möglich, die freie Kapazität des Poolbereichs schnell und sicher zu erhöhen. Außerdem werden die virtuellen LUs im Hinblick auf eine bestimmte primäre LU gelöscht. Folglich wird es möglich, den Zugriff von einem bestimmten Host in Zusammenhang mit der bestimmten primären LU zu stoppen.
  • Als repräsentative Gesichtspunkte der vorliegenden Erfindung außer denen, die in den anliegenden Ansprüchen beschrieben sind, seien folgende Aspekte genannt:
    Ein Speicherplattenanordnungs-Steuerungsverfahren, wobei die Speicherplattenanordnungsvorrichtung umfasst:
    eine übergeordnete Schnittstelle, die mit einer übergeordneten Vorrichtung verbunden ist und Daten von der übergeordneten Vorrichtung empfängt;
    einen Speicher, der mit der übergeordneten Schnittstelle verbunden ist und Daten und Steuerinformationen über die Daten speichert, wobei die Daten mit der übergeordneten Vorrichtung ausgetauscht werden;
    mehrere Speicherplattenschnittstellen, die mit dem Speicher verbunden sind und die Daten so steuern, dass die Daten aus dem Speicher ausgelesen bzw. in diesen hineingeschrieben werden, wobei die Daten mit der übergeordneten Vorrichtung ausgetauscht werden;
    mehrere Speicherplattenlaufwerke, die mit den mehreren Speicherplattenschnittstellen verbunden sind und die Daten unter der Steuerung durch die mehreren Speicherplattenschnittstellen speichern, wobei die Daten von der übergeordneten Vorrichtung übertragen werden; und
    einen Steuerprozessor zum Steuern des Auslesens und Hineinschreibens von Daten aus bzw. in ein erstes logisches Volumen, das unter Verwendung eines Speicherbereichs der mehreren Speicherplattenlaufwerke geschaffen worden ist, um vergangene Daten so zu steuern, dass die vergangenen Daten in ein zweites logisches Volumen als Differentialdaten auf der Grundlage der jeweiligen Datengeneration geschrieben werden, wobei die vergangenen Daten im ersten logischen Volumen gespeichert werden, und um eine Snapshot-Verwaltungstabelle in einem Bereich des Speichers vorzusehen, um dadurch die Differentialdaten auf jeder Generationsgrundlage zu verwalten, wobei die Snapshot-Verwaltungstabelle dazu ausgelegt ist, die Beziehung bezüglich der im zweiten logi schen Volumen gespeicherten Differentialdaten zu verwalten, wobei:
    der Steuerprozessor
    eine Menge von Differentialdaten verwaltet, die im zweiten logischen Volumen gespeichert sind, und
    eine Kapazität des zweiten logischen Volumens erhöht, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen ersten Anteil der Kapazität des zweiten logischen Volumens überschritten hat, und
    das Schreiben von Daten in das erste logische Volumen begrenzt, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen zweiten Anteil der Kapazität des zweiten logischen Volumens und der in das zweite logische Volumen geschriebenen Differentialdaten überschritten hat,
    die Differentialdaten einer bestimmten Generation löscht, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen dritten Anteil der Kapazität des zweiten logischen Volumens und der in das zweite logische Volumen geschriebenen Differentialdaten überschritten hat,
    die dem bestimmten ersten logischen Volumen entsprechenden Differentialdaten löscht, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen vierten Anteil der Kapazität des zweiten logischen Volumens überschritten hat, und
    alle in das zweite logische Volumen geschriebenen Differentialdaten löscht, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen fünften Anteil der Kapazität des zweiten logischen Volumens überschritten hat.
  • Das Speicherplattenanordnungs-Steuerungsverfahren, wobei der Steuerprozessor außerdem die Differentialdaten der ältesten Generation als das Löschungsziel bestimmt.
  • Das Speicherplattenanordnungs-Steuerungsverfahren, wobei der Steuerprozessor weiter bei der ersten Beurteilung beurteilt, ob die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten den ersten vorbestimmten Wert überschritten hat oder nicht, und wobei der Steuerprozessor bei der zweiten oder späteren Beurteilung während der Differentialdaten-Löschungsverarbeitung unter Verwendung eines zweiten vorbestimmten Werts, der größer als der erste vorbestimmte Wert ist, beurteilt, ob die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten den zweiten vorbestimmten Wert überschritten hat oder nicht.
  • Das Speicherplattenanordnungs-Steuerungsverfahren, wobei der Steuerprozessor außerdem vor dem Bestimmen des ersten logischen Volumens entsprechend den Differentialdaten, die gelöscht werden sollen, beurteilt, ob sich die Differentialdaten in Löschungsverarbeitung befinden oder nicht, und der Steuerprozessor, falls sich die Differentialdaten in Löschungsverarbeitung befinden, die Löschungsverarbeitung mit einer Priorität ausführt, wobei die Löschungsverarbeitung gegenwärtig ausgeführt wird.

Claims (3)

  1. Speicherplattenanordnungsvorrichtung (1) umfassend: eine übergeordnete Schnittstelle (105), die mit einer übergeordneten Vorrichtung (3) verbunden ist und Daten von der übergeordneten Vorrichtung empfängt; einen Speicher (102), der mit der übergeordneten Schnittstelle verbunden ist und dazu ausgelegt ist, Daten und Steuerinformationen über die Daten zu speichern, wobei die Daten mit der übergeordneten Vorrichtung ausgetauscht werden; mehrere Speicherplattenschnittstellen (106), die mit dem Speicher verbunden sind und dazu ausgelegt sind, die Daten so zu steuern, dass die Daten aus dem Speicher ausgelesen bzw. in diesen hineingeschrieben werden, wobei die Daten mit der übergeordneten Vorrichtung ausgetauscht werden; mehrere Speicherplattenlaufwerke (20), die mit den mehreren Speicherplattenschnittstellen verbunden sind und dazu ausgelegt sind, die Daten unter der Steuerung durch die mehreren Speicherplattenschnittstellen zu speichern, wobei die Daten von der übergeordneten Vorrichtung übertragen werden; und einen Steuerprozessor (101) zum Steuern des Auslesens und Hineinschreibens von Daten aus bzw. in ein erstes logisches Volumen, das unter Verwendung eines Speicherbereichs der mehreren Speicherplattenlaufwerke geschaffen worden ist, um vergangene Daten so zu steuern, dass die vergangenen Daten in ein zweites logisches Volumen als Differentialdaten auf der Grundlage von Datengenerationen geschrieben werden, wobei die vergangenen Daten im zweiten logischen Volumen gespeichert werden, und um eine Snapshotverwaltungstabelle in einem Bereich des Speichers vorzusehen, um dadurch die Differentialdaten auf jeder Generationsgrundlage zu verwalten, wobei die Snapshotverwaltungstabelle Informationen zum Verwalten von Beziehungen bezüglich der im zweiten logischen Volumen gespeicherten Differentialdaten enthält, wobei: der Steuerprozessor dazu ausgelegt ist, eine Menge von Differentialdaten, die im zweiten logischen Volumen gespeichert sind, zu verwalten, eine Kapazität des zweiten logischen Volumens zu erhöhen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen ersten Anteil der Kapazität des zweiten logischen Volumens überschritten hat, das Schreiben von Daten in das erste logische Volumen zu begrenzen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen zweiten Anteil der Kapazität des zweiten logischen Volumens und der in das zweite logische Volumen geschriebenen Differentialdaten überschritten hat, die Differentialdaten einer bestimmten Generation zu löschen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen dritten Anteil der Kapazität des zweiten logischen Volumens und der in das zweite logische Volumen geschriebenen Differentialdaten überschreitet, die dem bestimmten ersten logischen Volumen entsprechenden Differentialdaten zu löschen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen vierten Anteil der Kapazität des zweiten logischen Volumens überschritten hat, und alle in das zweite logische Volumen geschriebenen Differentialdaten zu löschen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten die Kapazität des zweiten logischen Volumens erreicht hat.
  2. Speicherplattenanordnungsvorrichtung nach Anspruch 1, wobei der Steuerprozessor dazu ausgelegt ist, die Differentialdaten der ältesten Generation zu löschen, falls die Menge der im zweiten logischen Volumen gespeicherten Differentialdaten einen dritten Anteil der Kapazität des zweiten logischen Volumens überschritten hat.
  3. Speicherplattenanordnungsvorrichtung nach Anspruch 1, wobei: der Steuerprozessor dazu ausgelegt ist, zu beurteilen, ob sich die Differentialdaten in der Löschungsverarbeitung befinden, bevor das erste logische Volumen, das den Differentialdaten entspricht, die gelöscht werden sollen, bestimmt wird, und falls sich die Differentialdaten in der Löschungsverarbeitung befinden, die Löschungsverarbeitung mit einer Priorität auszuführen, wobei sich die Löschungsverarbeitung im Moment in Ausführung befindet.
DE602004011181T 2004-04-09 2004-11-23 Speicherplattenanordnungsgerät Active DE602004011181T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004116115A JP4681249B2 (ja) 2004-04-09 2004-04-09 ディスクアレイ装置
JP2004116115 2004-04-09

Publications (2)

Publication Number Publication Date
DE602004011181D1 DE602004011181D1 (de) 2008-02-21
DE602004011181T2 true DE602004011181T2 (de) 2009-01-08

Family

ID=34909557

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004011181T Active DE602004011181T2 (de) 2004-04-09 2004-11-23 Speicherplattenanordnungsgerät

Country Status (4)

Country Link
US (2) US7174438B2 (de)
EP (1) EP1585021B1 (de)
JP (1) JP4681249B2 (de)
DE (1) DE602004011181T2 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389503B2 (en) * 2004-04-16 2008-06-17 International Business Machines Corporation Apparatus and method to update code in an information storage and retrieval system while that system remains in normal operation
US8601035B2 (en) 2007-06-22 2013-12-03 Compellent Technologies Data storage space recovery system and method
JP4550717B2 (ja) * 2005-10-28 2010-09-22 富士通株式会社 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法
JP4920979B2 (ja) 2006-01-25 2012-04-18 株式会社日立製作所 ストレージ装置及びその制御方法
JP5037881B2 (ja) * 2006-04-18 2012-10-03 株式会社日立製作所 ストレージシステム及びその制御方法
JP5134915B2 (ja) * 2007-11-02 2013-01-30 株式会社日立製作所 記憶領域の構成最適化方法、計算機システム及び管理計算機
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
JP4607981B2 (ja) * 2008-03-27 2011-01-05 富士通株式会社 コピー制御装置、コピー制御方法およびコピー制御プログラム
JP2010092177A (ja) * 2008-10-06 2010-04-22 Hitachi Ltd 情報処理装置、及びストレージシステムの運用方法
US8291261B2 (en) * 2008-11-05 2012-10-16 Vulcan Technologies Llc Lightweight application-level runtime state save-and-restore utility
JP5317807B2 (ja) * 2009-04-13 2013-10-16 株式会社日立製作所 ファイル制御システムおよびそれに用いるファイル制御計算機
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US8566541B2 (en) * 2010-09-14 2013-10-22 Hitachi, Ltd. Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US20140281306A1 (en) * 2013-03-14 2014-09-18 Hitachi, Ltd. Method and apparatus of non-disruptive storage migration
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US9916110B2 (en) * 2016-02-23 2018-03-13 Red Hat, Inc. Size adjustable volumes for containers
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
CN110673797A (zh) * 2019-09-20 2020-01-10 浪潮电子信息产业股份有限公司 一种分布式块存储服务中的逻辑卷拷贝方法
CN115220647A (zh) * 2021-04-21 2022-10-21 伊姆西Ip控股有限责任公司 存储管理的方法、电子设备和计算机程序产品

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5403639A (en) 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6374266B1 (en) 1998-07-28 2002-04-16 Ralph Shnelvar Method and apparatus for storing information in a data processing system
US6260125B1 (en) 1998-12-09 2001-07-10 Ncr Corporation Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications
US6473775B1 (en) 2000-02-16 2002-10-29 Microsoft Corporation System and method for growing differential file on a base volume of a snapshot
JP3868708B2 (ja) 2000-04-19 2007-01-17 株式会社日立製作所 スナップショット管理方法及び計算機システム
US6584551B1 (en) 2000-11-27 2003-06-24 Lsi Logic Corporation System and method for automatic dynamic expansion of a snapshot repository
JP4078039B2 (ja) * 2001-03-21 2008-04-23 株式会社東芝 スナップショットイメージの世代管理方法及び世代管理装置
US7475098B2 (en) 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US6957362B2 (en) * 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US8219777B2 (en) * 2002-10-03 2012-07-10 Hewlett-Packard Development Company, L.P. Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system
US7266654B2 (en) 2003-03-18 2007-09-04 Hitachi, Ltd. Storage system, server apparatus, and method for creating a plurality of snapshots
US7111136B2 (en) 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
JP2005050024A (ja) * 2003-07-31 2005-02-24 Toshiba Corp 計算機システムおよびプログラム

Also Published As

Publication number Publication date
EP1585021A1 (de) 2005-10-12
US7174438B2 (en) 2007-02-06
US20070118703A1 (en) 2007-05-24
US20050228944A1 (en) 2005-10-13
US7698518B2 (en) 2010-04-13
JP4681249B2 (ja) 2011-05-11
EP1585021B1 (de) 2008-01-09
JP2005301628A (ja) 2005-10-27
DE602004011181D1 (de) 2008-02-21

Similar Documents

Publication Publication Date Title
DE602004011181T2 (de) Speicherplattenanordnungsgerät
DE602005000926T2 (de) Speichersystem und Speicherauszugs-Erstellungsverfahren eines Speichersystems
DE102004064069B4 (de) Plattenarrayvorrichtung
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE60031064T2 (de) Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür
DE602004002216T2 (de) Verfahren, system und programm für eine inkrementelle virtuelle kopie
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE60317383T2 (de) Datenwiederherstellungsvorrichtung unter Verwendung von Journaldaten und Identifikationsinformation
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE69911930T2 (de) Hochverfügbare dateiprozessoren
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE69937768T2 (de) Externe Speichervorrichtung und Verfahren zur Datensicherung
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
DE602004008808T2 (de) Verfahren und vorrichtung zur durchführung von operationen an gewählten daten in einem speicherbereich
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE102012201154B4 (de) Transaktionsspeicher
DE112016001295T5 (de) Neusynchronisieren auf ein erstes Speichersystem durch Spiegeln des ersten Speichersystems nach einem Failover zu einem zweiten Speichersystem
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE602004007884T2 (de) Speichersteuerungssystem und -Verfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition