DE112010003133B4 - Datenmigration zwischen datenspeichereinheiten - Google Patents

Datenmigration zwischen datenspeichereinheiten Download PDF

Info

Publication number
DE112010003133B4
DE112010003133B4 DE112010003133.9T DE112010003133T DE112010003133B4 DE 112010003133 B4 DE112010003133 B4 DE 112010003133B4 DE 112010003133 T DE112010003133 T DE 112010003133T DE 112010003133 B4 DE112010003133 B4 DE 112010003133B4
Authority
DE
Germany
Prior art keywords
data
activity
data storage
interval
memory
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
DE112010003133.9T
Other languages
English (en)
Other versions
DE112010003133T5 (de
Inventor
Bruce McNutt
Joseph Smith Hyde II
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112010003133T5 publication Critical patent/DE112010003133T5/de
Application granted granted Critical
Publication of DE112010003133B4 publication Critical patent/DE112010003133B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren, Steuereinheiten für Datenspeicher, Datenspeichersysteme und Rechnerprogrammprodukte werden nach dem erstmaligen Anordnen von Daten in Datenspeichereinheiten mit höherer Geschwindigkeit und in anderen Speichern zur Migration von Daten angewiesen. Die Schritte eines Verfahrens zum Migrieren von Daten zu dem schnelleren Datenspeicher sind (1) das Identifizieren mindestens einer Gruppe von Daten, die in jedem einer Vielzahl von Zeitintervallen mindestens eine angezeigte E/A-Aktivität hatten, welche während einer Folge mehrerer Zeitintervalle auftraten, wobei die E/A-Aktivität einen Bezug zu dem anderen Datenspeicher aufweist, von dem Daten zu migrieren sind. Die Zeit für jedes der mehreren Intervalle wird so gewählt, dass hohe E/A-Aktivität voraussichtlich in einem Intervall enthalten ist. (2) Die identifizierten Datengruppen werden für den schnelleren Datenspeicher klassifiziert und migriert.

Description

  • TECHNISCHES ANWENDUNGSGEBIET
  • Diese Erfindung betrifft die Datenspeicherung und insbesondere die Migration von Daten zwischen Datenspeichereinheiten.
  • HINTERGRUND
  • Datenspeichereinheiten können unterschiedliche Leistungsvermögen und Kostenpunkte aufweisen. Ein Cache-Speicher kann zum Beispiel schnell auf Daten zugreifen und diese speichern, ist jedoch relativ teuer. Festplattenlaufwerke können (auf Grund der Suchzeiten) längere Zugriffszeiten aufweisen und relativ preiswert sein. Bei Flash-Speichern handelt es sich um nichtflüchtige sequenzielle Halbleiterspeicher, die somit keine Datenübertragung mit DMA (direct memory access, Direktspeicherzugriff) unterstützen. Folglich können Flash-Speicher, wie den Fachleuten bekannt ist, als SSD (Solid State Drive, Halbleiterdatenträger) angeordnet werden. SSD-Flash-Speicher weisen eine niedrige Latenzzeit, jedoch keine hohe Bandbreite auf und liegen somit, wie die Fachleute wissen, leistungstechnisch und kostentechnisch zwischen Festplattenlaufwerken und Cache-Speicher.
  • Steuereinheiten für Datenspeichersysteme (auch Speichersteuereinheiten und Speicher-Server genannt) steuern üblicherweise den Zugriff auf Datenspeichermedien und Speicher als Reaktion auf Lese- und Schreibanforderungen. Die Speichersteuereinheiten können die Daten an Cache-Speicher, nichtflüchtige Speicher, SSD-Flash-Speicher sowie Datenspeichereinheiten wie RAID (redundant array of independent disks, redundante Anordnung unabhängiger Festplatten), JBOD (just a bunch of disks, nur ein Haufen Festplatten) und andere Festplattenlaufwerks-Redundanzstufen leiten.
  • Ein IBM® ESS (Enterprise Storage Server) wie der DS8000 weist zum Beispiel redundante Gruppen von Recheneinheiten, Cache-Speichern, nichtflüchtige Speicher usw. auf, die auf Host-Rechner reagieren und Daten virtuell speichern, wobei sie die tatsächlichen Daten zum anschließenden Abrufen verfolgen. Die Daten werden üblicherweise so gespeichert, wie durch die Steuereinheit angewiesen, damit sie für die anfordernde Einheit verfügbar sind oder verfügbar gemacht werden, wobei Datenarten, die voraussichtlich sofort wieder benötigt werden, zum Beispiel bei hoher Aktivität, in dem schnelleren Datenspeicher gespeichert und der Großteil der Daten in dem langsameren Datenspeicher gespeichert werden. In einem Beispiel handelt es sich bei den langsameren Datenspeichern um Festplattenlaufwerke und bei den schnelleren Datenspeichern um SSD-Flash-Speicher.
  • Daten können in unterschiedlichen Dateneinheiten mit konstanten oder variablen Größen angeordnet werden. In einem Beispiel werden Daten in „reservierte Speicherbereiche” (extents) genannten Dateneinheiten angeordnet. In einem anderen Beispiel werden Daten in „Datenreihen” (data sets) genannten Dateneinheiten angeordnet. In einem weiteren Beispiel werden Daten in „Sektoren” (sectors) genannten Speichereinheiten angeordnet. Ein weiteres Beispiel betrifft die Adressierung und wird „LUN”s für logische Einheiten (logical units) genannt. Fachleute kennen noch weitere Beispiele. Folglich wird hierin der allgemeine Begriff „Gruppe” bzw. „Gruppen” verwendet.
  • Druckschrift US 2003/0140207 A1 offenbart eine Speichereinrichtung, die mehrere Speichereinheiten mit unterschiedlichen Zugriffsgeschwindigkeiten aufweist. Dabei werden die Daten, auf die am häufigsten zugegriffen wird, in der schnellsten Speichereinheit gespeichert, und die übrigen Daten abhängig von ihrer Zugriffshäufigkeit auf die übrigen Speichereinheiten verteilt. Zudem ist eine Steuereinrichtung vorgesehen, die in einer Zugriffstabelle die auf einen Datenblock getätigten Zugriffe pro Zeiteinheit listet. Hierbei kann die Zugriffstabelle Einträge für die in unterschiedlichen Zeitintervallen auf einen Datenblock getätigten Zugriffe aufweisen.
  • Druckschrift US 2008/0059718 A1 offenbart ein Speichersystem, das mehrere Speichereinheiten mit unterschiedlichen Zugriffsgeschwindigkeiten bzw. unterschiedlichen Speicherkapazitäten aufweist. Mittels einer Zugriffstabelle wird die Zugriffshäufigkeit auf die jeweiligen Dateien gelistet, und zwar getrennt für unterschiedliche Zeitintervalle. Anschließend wird die Migration der Dateien abhängig von der ermittelten Zugriffshäufigkeit vorgenommen.
  • ZUSAMMENFASSUNG
  • Verfahren, Steuereinheiten für Datenspeicher, Datenspeichersysteme und Rechnerprogrammprodukte werden nach dem erstmaligen Anordnen von Daten in den verschiedenen Datenspeichereinheiten zur Migration der Daten angewiesen.
  • In einer Ausführungsform wird ein Verfahren zur Migration von Daten eines Datenspeichersystems dargestellt, das zumindest einen ersten Datenspeicher mit höherer Geschwindigkeit, zumindest einen zweiten Datenspeicher mit langsamerer Geschwindigkeit und eine Steuereinheit zur Steuerung der Speicherzugriffe umfasst, wobei das Verfahren die folgenden Schritte umfasst: Überwachen der angezeigten E/A-Aktivität für jede einzelne Datengruppe und Überwachen des Auftretens von E/R-Aktivität in einem Zeitintervall durch die Steuereinheit; Identifizieren mindestens einer Gruppe der Daten durch die Steuereinheit, die in jedem einer Vielzahl von Zeitintervallen mindestens eine angezeigte E/A-Aktivität hatten, welche während einer Folge mehrerer Zeitintervalle auftraten, wobei die E/A-Aktivität bezogen auf den langsameren Datenspeicher ist, von dem Daten zu migrieren sind, wobei die Zeit für jedes der mehreren Intervalle so gewählt wird, dass hohe E/A-Aktivität voraussichtlich in einem Intervall enthalten ist, wobei das Identifizieren unter Anwendung eines gleitenden Durchschnitts der Zeitintervalle erfolgt, bei dem die neuere E/A-Aktivität durch eine exponentielle Gewichtung stärker gewichtet wird als ältere E/A-Aktivität; Klassifizieren der mindestens einen identifizierten Datengruppe für den schnelleren Datenspeicher durch die Steuereinheit; und Migration der mindestens einen klassifizierten Datengruppe von dem langsamen Datenspeicher in den schnellen Datenspeicher durch die Steuereinheit.
  • In einer weiteren Ausführungsform umfasst der gleitende Durchschnitt Folgendes: P = (1 – W)*P_last = W*S, wobei: P = aktueller Wert des exponentiell gewichteten gleitenden Durchschnitts;
    P_last = letzter vorheriger Wert von P;
    W = Gewichtung jedes Intervalls; und
    S = 1 wenn innerhalb des Intervalls eine E/A-Aktivität auftrat, 0 wenn es keine E/A-Aktivität gab.
  • In einer anderen Ausführungsform haben die Intervalle im Wesentlichen die gleiche Länge.
  • In einer weiteren Ausführungsform beträgt die Länge der Intervalle im Wesentlichen eine Stunde.
  • In einer anderen Ausführungsform umfassen die überwachten Intervallfolgen mindestens eine Gruppe von aufeinanderfolgenden Intervallen.
  • In einer weiteren Ausführungsform überspringen die überwachten Intervallfolgen mindestens eine Zeitspanne.
  • In einer anderen Ausführungsform aktualisiert der Schritt des Identifizierens eine überwachte Intervallfolge einer Datengruppe als Reaktion auf einen E/A-Zugriff auf die Datengruppe.
  • In einer anderen Ausführungsform wird eine Steuereinheit für ein Datenspeichersystem bereitgestellt, das zumindest einen ersten Datenspeicher mit höherer Geschwindigkeit und zumindest einen zweiten Datenspeicher mit langsamerer Geschwindigkeit umfasst, wobei die Steuereinheit Folgendes umfasst: mindestens einen Rechnerprozessor, der so konfiguriert ist, dass er das Datenspeichersystem steuern kann; und mindestens einen Speicher, der so konfiguriert ist, dass er ein durch einen Rechner lesbares Programm speichern kann, das, wenn es auf dem zumindest einen Rechnerprozessor ausgeführt wird, bewirkt, dass das Datenspeichersystem die folgenden Schritte ausführt: Überwachen der angezeigten E/A-Aktivität für jede einzelne Datengruppe und Überwachen des Auftretens von E/A-Aktivität in einem Zeitintervall durch die Steuereinheit; Identifizieren mindestens einer Gruppe der Daten durch die Steuereinheit, die in jedem einer Vielzahl von Zeitintervallen mindestens eine angezeigte E/A-Aktivität hatten, welche während einer Folge mehrerer Zeitintervalle auftraten, wobei die E/A-Aktivität bezogen auf den langsameren Datenspeicher ist, von dem Daten zu migrieren sind, wobei die Zeit für jedes der mehreren Intervalle so gewählt wird, dass hohe E/A-Aktivität voraussichtlich in einem Intervall enthalten ist, wobei das Identifizieren unter Anwendung eines gleitenden Durchschnitts der Zeitintervalle erfolgt, bei dem die neuere E/A-Aktivität durch eine exponentielle Gewichtung stärker gewichtet wird als ältere E/A-Aktivität; Klassifizieren der mindestens einen identifizierten Datengruppe für den schnelleren Datenspeicher durch die Steuereinheit; und Migration der mindestens einen klassifizierten Datengruppe von dem langsamen Datenspeicher in den schnellen Datenspeicher durch die Steuereinheit.
  • In noch einer anderen Ausführungsform umfasst ein Datenspeichersystem mindestens eine erste Datenspeichereinheit, die so konfiguriert ist, dass sie Daten speichern kann und eine höhere Geschwindigkeit hat; mindestens eine zweite Datenspeichereinheit, die so konfiguriert ist, dass sie Daten speichern kann und eine langsamere Geschwindigkeit als die erste Datenspeichereinheit aufweist; und eine Steuereinheit, die so konfiguriert ist, dass sie die folgenden Schritte ausführt. Überwachen der angezeigten E/A-Aktivität für jede einzelne Datengruppe und Überwachen des Auftretens von E/A-Aktivität in einem Zeitintervall durch die Steuereinheit; Identifizieren mindestens einer Gruppe der Daten durch die Steuereinheit, die in jedem einer Vielzahl von Zeitintervallen mindestens eine angezeigte E/A-Aktivität hatten, welche während einer Folge mehrerer Zeitintervalle auftraten, wobei die E/A-Aktivität bezogen auf den langsameren Datenspeicher ist, von dem Daten zu migrieren sind, wobei die Zeit für jedes der mehreren Intervalle so gewählt wird, dass hohe E/A-Aktivität voraussichtlich in einem Intervall enthalten ist, wobei das Identifizieren unter Anwendung eines gleitenden Durchschnitts der Zeitintervalle erfolgt, bei dem die neuere E/A-Aktivität durch eine exponentielle Gewichtung stärker gewichtet wird als ältere E/A-Aktivität; Klassifizieren der mindestens einen identifizierten Datengruppe für den schnelleren Datenspeicher durch die Steuereinheit; und Migration der mindestens einen klassifizierten Datengruppe von dem langsamen Datenspeicher in den schnellen Datenspeicher durch die Steuereinheit.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen der Erfindung werden nun lediglich beispielhaft, unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Es zeigen:
  • 1 ein Blockschaltbild eines beispielhaften Datenspeichersystems, das die vorliegende Erfindung umsetzen kann;
  • 2 eine grafische Darstellung der E/A des Datenspeichersystems aus 1;
  • 3 ein Funktionsschaubild von funktionalen Operationen des Datenspeichersystems aus 1;
  • 4 eine Tabelle, die E/A-Aktivitäten von Datengruppen in Bezug auf das Speichersystem aus 1 darstellt; und
  • 5 einen Ablaufplan, der ein beispielhaftes Verfahren zum Betreiben des Datenspeichersystems aus den 1 und 2 darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Diese Erfindung wird in der folgenden Beschreibung in bevorzugten Ausführungsformen unter Bezugnahme auf die Figuren beschrieben, in denen gleiche Zahlen dieselben oder ähnliche Elemente darstellen. Obwohl diese Erfindung im Sinne der besten Funktionsweise zur Erreichung der Ziele dieser Erfindung beschrieben wird, werden Fachleute verstehen, dass Abwandlungen hinsichtlich dieser Lehren vorgenommen werden können, ohne von dem Gedanken bzw. dem Umfang der Erfindung abzuweichen.
  • Unter Bezugnahme auf 1 umfasst ein Datenspeichersystem 100 eine Steuereinheit 105, die eine Gruppe 110 und eine andere Gruppe 120 aufweist. Die Gruppe 110 umfasst eine Funktionseinheit (complex) 130, die mindestens die Teilsystemsteuerung 132, einen lokalen nichtflüchtigen Datenspeicher 134, und einen lokalen Cache-Datenspeicher 136 umfasst. Gleichermaßen umfasst die Gruppe 120 eine Funktionseinheit (complex) 140, die mindestens die Teilsystemsteuerung 142, einen lokalen nichtflüchtigen Datenspeicher 144 und einen lokalen Cache-Datenspeicher 146 umfasst. In jeder Gruppe der Steuereinheit 105 kann die Teilsystemsteuerung vollständig von der restlichen Funktionseinheit (complex) getrennt oder teilweise durch den lokalen nichtflüchtigen Speicher und/oder den lokalen Cache-Datenspeicher verkörpert sein. Des Weiteren können der Cache-Datenspeicher und der nichtflüchtige Speicher verschiedene Bereiche eines Speichersystems umfassen. Die Teilsystemsteuerung 132, 142 umfasst einen oder mehrere Rechnerprozessoren, die zum Steuern des Datenspeichersystems konfiguriert sind, und den/die Speicher 133, 143, der/die so konfiguriert ist/sind, dass sie Informationen und durch einen Rechner lesbare Programmdaten zum Steuern des Rechnerprozessors/der Rechnerprozessoren speichern können. Hierin kann „Rechnerprozessor” bzw. „Steuerung” jede(n) beliebigen) geeignete(n) Logik, programmierbare Logik, Mikroprozessor sowie zugehörige oder interne Speicher zur Reaktion auf Programmanweisungen umfassen, und der zugehörige oder interne Speicher kann feste oder wiederbeschreibbare Speicher oder Datenspeichereinheiten umfassen. Die Programmdaten können der Teilsystemsteuerung bzw. dem Speicher von einem Host-Rechner oder über ein Datenspeicherlaufwerk bzw. eine Anordnung von Festplatten, durch Eingabe von einer Diskette oder optischen Platte, durch Einlesen von einer Kassette, durch eine Web-Benutzeroberfläche bzw. andere Netzwerkverbindung oder durch jedes andere geeignete Mittel zugeführt werden. Die Programmdaten können somit ein oder mehrere Programmprodukte umfassen, die ein durch einen Rechner verwendbares Medium umfassen, das von einem Rechner verwendbaren, physisch darauf enthaltenen Programmcode zum Steuern der Gruppe 110 und/oder zum Steuern der Gruppe 120 oder ähnlicher Arten von Systemen oder Einheiten enthält.
  • Der nichtflüchtige Datenspeicher 134, 144 kann ein batteriegepuffertes Speichersystem, das Daten selbst im Falls eines Stromausfalls schützt, oder einen anderen geeigneten nichtflüchtigen Speicher umfassen. Der Cache-Datenspeicher 136, 146 kann jedes beliebige geeignete Speichersystem umfassen und flüchtig sein und somit potenziell Daten verlieren, wenn der Strom abgeschaltet wird.
  • Die Host-Adapter 150, 154 können einen oder mehrere Fibre-Channel-Anschlüsse, einen oder mehrere FICON-Anschlüsse, einen oder mehrere ESCON-Anschlüsse, einen oder mehrere SCSI-Anschlüsse oder andere geeignete Anschlüsse umfassen. Jeder Host-Adapter ist so konfiguriert, dass er mit einem Host-System und sowohl mit der Gruppe 110 als auch mit der Gruppe 120 Daten austauschen kann, so dass jede Gruppe E/A von jedem beliebigen Host-Adapter verarbeiten kann.
  • Die Einheiten-Adapter 160, 164 können Datenübertragungsverbindungen für den Datenaustausch mit dem Datenspeicher 170 umfassen. Die Datenübertragungsverbindungen können serielle Anschlüsse wie RS-232 oder RS-422, Ethernet-Anschlüsse, SCSI-Anschlüsse, ESCON-Anschlüsse, FICON-Anschlüsse, ein lokales Netzwerk (LAN), ein privates Weitverkehrsnetz (WAN), ein öffentliches Weitverkehrsnetz, ein Speichernetzwerk (Storage Area Network, (SAN)), das Übertragungssteuerungsprotokoll/Internetprotokoll (Transmission Control Protocol/Internet Protocol (TCP/IP)), das Internet sowie Kombinationen aus diesen umfassen.
  • Ein Beispiel eines Datenspeicher-Subsystems 100 umfasst einen IBM® Enterprise Storage Server, IBM® Modell DS 8000 oder ein anderes vergleichbares System.
  • Wie oben erläutert, umtasst der Datenspeicher 170 den Datenspeicher 180, der eine höhere Geschwindigkeit aufweist, und andere Datenspeicher 182. Ein Beispiel für andere Datenspeicher 182 umfasst Festplattenlaufwerke, die RAID-Protokolle (Redundant Array of Independent Disks, redundante Anordnung unabhängiger Festplatten) einsetzen oder JBOD (Just a Bunch of Disks, nur ein Haufen Festplatten) umfassen können. Ein Beispiel des schnelleren Datenspeichers 180 umfasst einen als SSD (Solid State Drive, Halbleiterdatenträger) angeordneten Flash-Speicher. Der Flash-Speicher kann auch so angeordnet sein, dass er Redundanz bietet, also beispielsweise als RAID-Anordnung. Der Geschwindigkeitsunterschied zwischen dem Hochgeschwindigkeits-Datenspeicher und dem anderen Datenspeicher ist relativ.
  • In einer Alternative kann der schnellere Datenspeicher Hochgeschwindigkeits-Speichereinheiten wie RAMs (Random Access Memory, Direktzugriffsspeicher) umfassen, und bei den anderen Datenspeichern kann es sich um Flash-Speicher handeln.
  • In einer anderen Alternative kann die Steuereinheit ein Verarbeitungssystem mit einer Gruppe umfassen, die geeignete Redundanzen aufweist.
  • Unter Bezugnahme auf 2, reagiert das Speichersystem 100 auf einen oder mehrere Host-Rechner 200 und führt E/A-Zugriffe 203 aus, um Daten virtuell zu speichern, wobei die eigentlichen Daten verfolgt werden, um sie anschließend abrufen zu können. Die Daten werden üblicherweise wie durch die Steuereinheit 105 angewiesen gespeichert, damit sie für den anfordernden Host-Rechner verfügbar sind oder verfügbar gemacht werden. Die Daten können über die Übertragungsleitungen 204 in dem Hochgeschwindigkeits-Datenspeicher 180 gespeichert und daraus abgerufen und über die Übertragungsleitungen 205 in dem anderen Datenspeicher 182 gespeichert und daraus abgerufen werden. Daten können anfangs auf der Grundlage einer Schätzung des zukünftigen Zugriffs gespeichert werden, wobei Datenarten, die voraussichtlich sofort wieder benötigt werden, wie im Falle von hoher Aktivität, in dem schnelleren Datenspeicher 180 gespeichert werden und der Großteil der Daten in dem langsameren Datenspeicher 182 gespeichert werden. In dem schnelleren Datenspeicher 180 gespeicherte Daten, auf die nicht wie geschätzt zugegriffen wird oder auf die nicht mehr zugegriffen wird, können beispielsweise unter Verwendung eines LRU-Algorithmus (least recently used, am längsten ungenutzt) in den langsameren Datenspeicher 182 migriert werden. Die Daten können entweder durch die Steuereinheit 105 über die Übertragungsleitungen 204 und 205 oder alternativ direkt zwischen dem schnelleren Speicher 180 und dem anderen Speicher 182 durch die Steuereinheit 105 gesteuert migriert werden.
  • Wie oben erläutert, können Daten in unterschiedlichen Dateneinheiten mit konstanten oder variablen Größen angeordnet werden. In einem Beispiel werden Daten in „reservierte Speicherbereiche” (extents) genannten. Dateneinheiten angeordnet. In einem anderen Beispiel werden Daten in „Datenreihen” (data sets) genannten Dateneinheiten angeordnet. In einem weiteren Beispiel werden Daten in „Sektoren” (sectors) genannten Speichereinheiten angeordnet. Ein weiteres Beispiel betrifft die Adressierung und wird „LUN”s für logische Einheiten (logical units) genannt. Fachleute kennen noch weitere Beispiele. Folglich wird hierin der allgemeine Begriff „Gruppe” bzw. „Gruppen” verwendet.
  • Unter Bezugnahme auf die 1, 2, 3, 4 und 5 ist die Steuereinheit 105 so konfiguriert, dass sie das Migrieren von Daten in dem Datenspeichersystem 100 von dem anderen Datenspeicher 182 zu dem schnelleren Datenspeicher 180 steuert. Üblicherweise werden Daten in umgekehrter Richtung von dem schnelleren Datenspeicher 180 zu dem anderen Datenspeicher 182 migriert, um zum Beispiel neue Daten in dem schnelleren Datenspeicher aufzunehmen. In der vorliegenden Erfindung stellt die Steuereinheit 105 eine Identifizierung von Daten bereit, die voraussichtlich am ehesten aus dem schnelleren Datenspeicher 180 Nutzen ziehen können. Die Größe des Datenelements kann, wie bereits erläutert, flexibel oder fest sein, und jedes Datenelement wird hierin Datengruppe genannt. In den meisten Fällen ist die Aktivität von kleineren Dateneinheiten wie reservierten Speicherbereichen (extents) (mit zum Beispiel 1 GB) tendenziell kurzlebig; folglich können selbst auf eine hohe Aktivität lange Ruhezeiten folgen. Andererseits stellen Daten, die eine Ausnahme dieser Regel sind, üblicherweise einen großen Teil der Gesamt-E/A dar.
  • Die Steuereinheit 105 ist so konfiguriert, dass sie die E/A-Aktivität 203, 205 in Bezug auf Datengruppen anzeigt, wobei die E/A mit Bezug zu in dem langsameren Datenspeicher 182 gespeicherten Datengruppen von besonderem Interesse ist. Das heißt, dass die E/A-Aktivität Bezug zu dem Datenspeicher hat, von dem Daten zu migrieren bzw. zu befördern sind. Die Steuereinheit 105 betrachtet Zeitintervalle und zeigt mindestens eine in einem Zeitintervall angezeigte E/A-Aktivität an. Die Länge jedes der mehreren Intervalle wird so gewählt, dass hohe E/A-Aktivität voraussichtlich in einem Intervall enthalten ist. Hohe Aktivität außer der einen E/A-Aktivität innerhalb desselben Intervalls wird ignoriert. Die Intervalle können durch einen Intervallzeitgeber 225 gemessen werden und zum Beispiel eine Stunde umfassen. Eine Möglichkeit der Funktionsweise des Intervallzeitgebers 225 besteht darin, die Stunden seit dem ersten IML des Systems zu zählen. Man kann zum Beispiel einen Zeitversatz für die Dauer des ersten IML von der Systemuhr abziehen und dann den Stundenwert des Ergebnisses entnehmen.
  • Die angezeigte E/A-Aktivität kann man durch Überwachung eines E/A-Aktivitäts-Protokolls 220 ermitteln, und sie ist im Besonderen die in Schritt 300 erkannte E/A-Aktivität des anderen Datenspeichers 182. Wenn das E/A-Aktivitäts-Protokoll 220 sowohl die E/A des schnelleren Datenspeichers 180 als auch des anderen Datenspeichers 182 berücksichtigt, wird die E/A-Aktivität des anderen Datenspeichers 182 entnommen und in Schritt 303 überwacht. Die angezeigte E/A-Aktivität kann eine E/A-Aktivität umfassen, die ein bestimmtes Ergebnis wie zum Beispiel das Lesen oder Aktualisieren von Daten hat. Ferner kann die angezeigte E/A-Aktivität für jede Datengruppe, die von Interesse ist, überwacht werden. Das heißt, ein Nutzer kann es wünschen, dass eine bestimmte Datengruppe nicht in den schnelleren Speicher migriert wird, sobald sie sich in dem anderen Datenspeicher befindet, und die Datengruppe muss nicht überwacht werden. Wie oben erläutert, kann es sich bei der Datengruppe um jede beliebige Dateneinheit handeln. Es ist möglich, dass verschiedene Arten von Dateneinheiten als einzelne Gruppen angesehen werden, wobei reservierte Speicherbereiche (extents) für eine Datenart die überwachte Gruppe darstellen, während für eine andere Datenart Datensätze überwacht werden.
  • Wie oben erläutert, ist nur die erste E/A-Aktivität in einem Intervall in Bezug auf eine Datengruppe von Interesse, und der Schritt 310 stellt diese Informationen bereit. Wenn die E/A-Aktivität für die überwachte Gruppe nicht die erste E/A-Aktivität in dem aktuellen Intervall ist, kehrt der Prozess zu den Schritten 300 und 303 zurück.
  • Wenn die E/A-Aktivität für die überwachte Gruppe die erste E/A-Aktivität in dem aktuellen Intervall ist, wird dies in Schritt 313 zum Beispiel in einem E/A-Aktivitäts-Journal 221 angegeben. Jede der Datengruppen des anderen Datenspeichers 182 mit E/A-Aktivität kann in dem E/A-Aktivitäts-Journal 221 aufgeführt werden 240, und wenn eine Datengruppe des anderen Datenspeichers 182 ohne E/A-Aktivität geruht hat und dann darauf zugegriffen wird, wird dies zu dem E/A-Aktivitäts-Journal hinzugefügt. Alternativ können alle sich momentan in dem anderen Datenspeicher 182 befindlichen Datengruppen in dem E/A-Aktivitäts-Journal 221 als Datengruppen aufgeführt werden 240. Als weitere Alternative kann eine Aktivität, darunter E/A-Aktivitäten und andere Nicht-E/A-Aktivitäten, in dem Aktivitäts-Journal aufgeführt und die E/A-Aktivität daraus entnommen werden.
  • Eine Art und Weise des Anzeigens, dass in dem letzten Intervall eine E/A-Aktivität stattfand und diese die einzige oder erste E/A-Aktivität in dem Intervall ist, besteht darin, die Intervalle zum Beispiel anhand von Nummern zu verfolgen und die Intervallnummer der aktuellen E/A-Aktivität, „C” genannt, mit der Intervallnummer der letzten E/A 242 „L” zu vergleichen. Wenn das aktuelle Intervall „C” größer als „L” ist, ist die E/A-Aktivität die einzige oder erste E/A-Aktivität für die Datengruppe. In Spalte 243 wird die E/A-Aktivität für das aktuelle Intervall verfolgt, und alle Datengruppen werden in dieser Spalte zu Beginn eines Intervalls auf ”0” zurückgesetzt, welches dann das aktuelle Intervall wird. Die erste E/A-Aktivität für eine Datengruppe in dem Intervall wird angezeigt, indem für diese Datengruppe in Spalte 243 eine „1” eingetragen und die Spalte 242 auf das aktuelle Intervall festgelegt wird.
  • Alternativ muss eine E/A-Aktivität in mehr als einem Intervall in einer kurzen Zeitdauer, die mehr als ein Intervall überspannt, auftreten, bevor die Informationen in das E/A-Aktivitäts-Journal 221 eingetragen werden. In einem Beispiel wird die E/A-Aktivität eingetragen, wenn das aktuelle Intervall die Bedingung C > L, wie oben erläutert, erfüllt und wenn C ≤ L + 3 ist, was bedeutet, dass die E/A-Aktivität auch in mindestens einem der 3 Intervalle vor dem aktuellen Intervall aufgetreten sein muss. Dies zeigt an, dass die E/A-Aktivität nicht nur ein einzelner Aufruf oder eine einzelne hohe E/A-Aktivität, sondern dauerhaft ist, so dass voraussichtlich mehr E/A-Aktivität auftreten wird.
  • Das Anzeigen von E/A-Aktivität in Schritt 313 aktualisiert das E/A-Aktivitäts-Journal 221 in dem Aktualisierungsprozess 227.
  • Wenn der Intervallzeitgeber 225 das Ende des aktuellen Intervalls anzeigt, setzt der Schritt 305 alle Einträge in Spalte 243 des E/A-Aktivitäts-Journals 221 auf „0” zurück, und das nächste Intervall wird das aktuelle Intervall.
  • Die neueste E/A-Aktivität alleine reicht nicht aus, um eine Datengruppe von dem anderen Datenspeicher 182 in den schnelleren Datenspeicher 180 zu befördern. Das Identifizieren einer Datengruppe geht zum Beispiel zusätzlich mit dem Aktualisieren einer überwachten Folge von Intervallen einer Datengruppe in dem Prozess 227 in Schritt 315 einher.
  • Die identifizierte E/A-Aktivität muss zum Beispiel in jeder der Vielzahl von Zeitintervallen auftreten, welche während einer Folge mehrerer Zeitintervalle auftraten. Die Gesamtzahl der überwachten Folgen von Intervallen wäre zum Beispiel eine Binärzahl an Intervallen wie zum Beispiel 256 Intervalle. Wenn ein Intervall eine einstündige Zeitspanne umfasst, wären 256 Stunden ungefähr eineinhalb Wochen.
  • In einer Ausführungsform umfassen die überwachten Intervallfolgen mindestens eine Gruppe von aufeinanderfolgenden Intervallen.
  • In einer weiteren Ausführungsform überspringen die überwachten Intervallfolgen mindestens eine Zeitspanne. Als ein Beispiel werden Wochenenden übersprungen. Als weiteres Beispiel werden Nächte übersprungen. Fachleute können sich für andere Möglichkeiten entscheiden, die für eine bestimmte Situation geeignet sind.
  • In einer anderen Ausführungsform umfasst das Identifizieren einer zu migrierenden Datengruppe das Identifizieren der E/A-Aktivität unter Zuhilfenahme eines gleitenden Durchschnitts der Intervalle in Schritt 315, der in dem Aktualisierungsprozess 227 ebenfalls in dem E/A-Aktivitäts-Journal aktualisiert wird. Somit wird die E/A-Aktivität für jedes der Intervalle in chronologischer Reihenfolge mit in den Durchschnitt aufgenommen. In einem Beispiel gewichtet der gleitende Durchschnitt jedes Intervall gleich, wobei das älteste Intervall von dem gleitenden Durchschnitt ausgeschlossen und durch die E/A-Aktivität des neuesten Intervalls ersetzt wird. Das macht die Verfolgung von „0” bzw. „1” für jedes Intervall und für jede Datengruppe in dem E/A-Aktivitäts-Journal 221 erforderlich.
  • In noch einer weiteren Ausführungsform wird der gleitende Durchschnitt so gewichtet, dass neuere E/A-Aktivität stärker gewichtet wird.
  • Eine Art, die neuere E/A-Aktivität stärker zu gewichten, ist die exponentielle Gewichtung. Bei einem exponentiellen gleitenden Durchschnitt besteht die Wirkung darin, die ältesten Eintrage auf nahezu Null herabzusetzen und sie dadurch in ihrer Wirkung aus dem Durchschnitt auszuschließen. In einem Beispiel wird das letzte Intervall zum Beispiel mit 1/256 gewichtet und zu einem exponentiell verringerten Wert des unmittelbar vorhergehenden Wertes des gleitenden Durchschnitts addiert, wobei der gleitende Durchschnitt durch Multiplikation mit 255/256 verringert wird. Der 256ste älteste Eintrag wurde somit durch die Multiplikation um das 255-Fache verringert.
  • In einer weiteren Ausführungsform umfasst der gleitende Durchschnitt Folgendes: P = (1 – W)*P_last = W*S, wobei: P = gegenwärtiger Wert des exponentiell gewichteten gleitenden Durchschnitts;
    P_last = letzter vorheriger Wert von P;
    W = Gewichtung jedes Intervalls; und
    S = „1” wenn innerhalb des Intervalls eine E/A-Aktivität auftrat, „0” wenn es keine E/A-Aktivität gab.
  • Somit wird in Spalte 244 des E/A-Aktivitäts-Journals 221 für jede der Datengruppen lediglich der aktuelle Wert „P” des gleitenden Durchschnitts beibehalten, und „P” wird in der nächsten Berechnung des gleitenden Durchschnitts zu „P_last”.
  • In einer Alternative kann der aktuelle Wert „P” des gleitenden. Durchschnitts, wenn, wie oben erläutert, C ≤ L + 3 ist, was bedeutet, dass die E/A-Aktivität auch in mindestens einem der 3 vorhergehenden Intervalle und in dem letzten Intervall aufgetreten sein muss, dadurch ermittelt werden, dass der gleitende Durchschnitt für jedes der 4 Intervalle einzeln neu berechnet wird. In einer anderen Alternative wird die E/A-Aktivität „0” bzw. „1” der neuesten Intervalle gemittelt und mit der Gewichtung der letzten Intervalle multipliziert, wie zum Beispiel n/256, und die dem vorhergehenden gleitenden Durchschnitt zugeordnete Gewichtung lautet (1 – n)/256.
  • Wenn vor der letzten Aktualisierung des E/A-Aktivitäts-Journals 221, das mehrere „0”-Einträge umfasst, mehrere inaktive Intervalle auftraten, kann der Aktualisierungsvorgang vereinfacht werden; anstatt eine vollständige Berechnung der Formel für jedes Intervall zu verwenden, ist die Berechnung W*S gleich „0”, wodurch die Formel für die „0”-Intervalle auf P = (1 – W)*P_last vereinfacht wird, und die Gesamtintervalle werden geschätzt, indem man P = P*(1 – W) verwendet, und die Wiederholungen des Vorgangs können durch Faktorenzerlegung vereinfacht bzw. für Binärzahlen Näherungen durchgeführt werden. Zum Beispiel könnten 128 Wiederholungen von „0” auf 4 Wiederholungen von P = P*X, vereinfacht werden, wobei X = (1 – W)**32 ist.
  • Die Klassifizierung einer Datengruppe für den schnelleren Datenspeicher beruht auf Migrationskriterien 228 bzw. der Stufe von „dauerhafter” E/R-Aktivität in Schritt 317, die EVA-Aktivität über eine Folge von mehreren Zeitintervallen umfassen, und setzt den gleitenden Durchschnitt als Gütefaktor für die Bewertung dahingehend ein, welche Datengruppe bzw. Datengruppen am meisten aus dem schnelleren Datenspeicher 180 Nutzen ziehen würden. In einem Beispiel kann die Klassifizierung für den schnelleren Datenspeicher einen Schwellwert des gleitenden Durchschnitts umfassen. Der Schwellwert kann zum Beispiel auf einen Wert von „0,2” festgelegt werden, wodurch angezeigt wird, dass es über die Gesamtzahl von Intervallen gesehen im Wesentlichen E/A-Aktivität gab, welche die festgelegten Kriterien in Bezug auf Dauerhaftigkeit in mindestens 20% der Intervalle erfüllt. Alternativ würde eine vorbestimmte Anzahl von Datengruppen, die dann den höchsten gleitenden Durchschnitt haben, periodisch für den schnelleren Datenspeicher klassifiziert.
  • Die Steuereinheit 105 identifiziert die Datengruppe bzw. Datengruppen, welche die Migrationskriterien 228 in Schritt 317 erfüllen und klassifiziert die Datengruppe bzw. Datengruppen für die Migration in Schritt 319 ein. Für die Datengruppe bzw. Datengruppen, welche die Kriterien 228 nicht erfüllen, bleibt der gleitende Durchschnitt in Spalte 244 eingetragen, und der Prozess kehrt zu den Schritten 300 und 303 zurück.
  • Für die Datengruppe bzw. Datengruppen, die in Schritt 319 für die Migration klassifiziert werden, migriert 229 die Steuereinheit 105 in Schritt 321 die Datengruppe bzw. Datengruppen von dem anderen Datenspeicher 182 in den schnelleren Datenspeicher 180. Um Platz für die migrierten Daten zu schaffen, ist es wahrscheinlich, dass andere Datengruppen von dem schnelleren Datenspeicher 180 in den anderen Datenspeicher 182 migriert werden, was durch jeden beliebigen geeigneten Algorithmus wie einem LRU-Algorithmus ermittelt werden kann. Die Daten können entweder durch die Steuereinheit 105 über die Übertragungsleitungen 204 und 205 oder alternativ direkt zwischen dem schnelleren Speicher 180 und dem anderen Speicher 182 unter Steuerung durch die Steuereinheit 105 migriert werden.
  • Somit werden Datengruppen, die über eine Folge von mehreren Zeitintervallen eine dauerhafte F/A-Aktivität aufweisen, von dem anderen Datenspeicher 182 in den schnelleren Datenspeicher 180 migriert. Nach dem Migrieren verweilen die Datengruppe bzw. Datengruppen, die migriert wurden, nicht länger in dem anderen Datenspeicher 182 und werden in Schritt 325 aus dem E/A-Aktivitäts-Journal 221 gelöscht, und der Prozess kehrt zu den Schritten 300 und 303 zurück.
  • Die Ausführungen können mit Software, Firmware, Mikrocode, Hardware bzw. jeder beliebigen Kombination daraus erfolgen. Die Ausführung kann die Form von Code bzw. Logik, die in einem Medium wie dem Speicher 133, 143, dem Speicher 134, 144, 180, 182 und/oder den Schaltungen 132, 142 realisiert sind, annehmen, wobei das Medium Hardware-Logik (z. B. einen Chip mit integriertem Schaltkreis, eine programmierbare Gatter-Anordnung [PGA], eine anwendungsspezifische integrierte Schaltung [ASIC] oder eine andere Schaltung, Logik oder Einheit), oder ein durch einen Rechner lesbares Speichermedium wie ein magnetisches Speichermedium (z. B. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, Halbleiter- oder Festkörperspeicher, Magnetband, eine auswechselbare Rechnerdiskette, Direktzugriffsspeicher [RAM], Nur-Lese-Speicher [ROM], eine starre Magnetplatte und eine optische Platte, eine Kompaktspeicherplatte – Nur-Lese-Speicher [CD-ROM], eine Kompaktspeicherplatte – Lesen/Schreiben [CD-R/W] und DVD) umfassen kann.
  • Fachleute werden verstehen, dass man in Bezug auf die oben erläuterten Verfahren Änderungen vornehmen kann, darunter Änderungen der Reihenfolge der Schritte. Ferner werden Fachleute verstehen, dass andere spezifische Komponentenanordnungen als die hierin dargestellten verwendet werden können.
  • Obgleich die bevorzugten Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben wurden, sollte klar sein, dass ein Fachmann Abänderungen und Anpassungen dieser Ausführungsformen in Betracht ziehen kann, ohne von dem in den folgenden Ansprüchen festgelegten Umfang der vorliegenden Erfindung abzuweichen.

Claims (10)

  1. Verfahren zur Migration von Daten eines Datenspeichersystems, das zumindest einen ersten Datenspeicher mit höherer Geschwindigkeit, zumindest einen zweiten Datenspeicher mit langsamerer Geschwindigkeit und eine Steuereinheit zur Steuerung der Speicherzugriffe umfasst, wobei das Verfahren die folgenden Schritte umfasst: Überwachen der angezeigten E/A-Aktivität für jede einzelne Datengruppe und Überwachen des Auftretens von E/A-Aktivität in einem Zeitintervall durch die Steuereinheit; Identifizieren mindestens einer Gruppe der Daten durch die Steuereinheit, die in jedem einer Vielzahl von Zeitintervallen mindestens eine angezeigte E/A-Aktivität hatten, welche während einer Folge mehrerer Zeitintervalle auftraten, wobei die E/A-Aktivität bezogen auf den langsameren Datenspeicher ist, von dem Daten zu migrieren sind, wobei die Zeit für jedes der mehreren Intervalle so gewählt wird, dass hohe E/A-Aktivität voraussichtlich in einem Intervall enthalten ist, wobei das Identifizieren unter Anwendung eines gleitenden Durchschnitts der Zeitintervalle erfolgt, bei dem die neuere E/A-Aktivität durch eine exponentielle Gewichtung stärker gewichtet wird als ältere E/A-Aktivität; Klassifizieren der mindestens einen identifizierten Datengruppe für den schnelleren Datenspeicher; und Migration der mindestens einen klassifizierten Datengruppe von dem langsamen Datenspeicher in den schnellen Datenspeicher.
  2. Verfahren nach Anspruch 1, bei dem der gleitende Durchschnitt Folgendes umfasst: P = (1 – W)*P_last = W*S, wobei: P = aktueller Wert des exponentiell gewichteten gleitenden Durchschnitts; P_last = letzter vorheriger Wert von P; W = Gewichtung jedes Intervalls; und S = 1 wenn innerhalb des Intervalls eine E/A-Aktivität auftrat, 0 wenn es keine E/A-Aktivität gab.
  3. Verfahren nach Anspruch 1, bei dem die Länge der Intervalle im Wesentlichen gleich ist.
  4. Verfahren nach Anspruch 3, bei dem die Länge der Intervalle im Wesentlichen eine Stunde beträgt.
  5. Verfahren nach Anspruch 1, bei dem die überwachten Intervallfolgen mindestens eine Gruppe von aufeinanderfolgenden Intervallen umfassen.
  6. Verfahren nach Anspruch 5, bei dem die überwachten Intervallfolgen mindestens eine Zeitspanne überspringen.
  7. Verfahren nach Anspruch 1, bei dem der Schritt des Identifizierens eine überwachte Intervallfolge einer Datengruppe als Reaktion auf einen E/A-Zugriff auf die Datengruppe aktualisiert.
  8. Steuereinheit für ein Datenspeichersystem, wobei das Datenspeichersystem zumindest einen ersten Datenspeicher mit höherer Geschwindigkeit und zumindest einen zweiten Datenspeicher mit langsamerer Geschwindigkeit umfasst, wobei die Steuereinheit Folgendes umfasst: mindestens einen Rechnerprozessor, der so konfiguriert ist, dass er das Datenspeichersystem steuern kann; und mindestens einen Speicher, der so konfiguriert ist, dass er ein durch einen Rechner lesbares Programm speichern kann, das, wenn es auf dem zumindest einen Rechnerprozessor ausgeführt wird, bewirkt, dass das Datenspeichersystem die Schritte nach einem der vorhergehenden Ansprüche durchführt.
  9. Datenspeichersystem, das Folgendes umfasst: mindestens eine erste Datenspeichereinheit, die so konfiguriert ist, dass sie Daten speichern kann und eine höhere Geschwindigkeit hat; mindestens eine zweite Datenspeichereinheit, die so konfiguriert ist, dass sie Daten speichern kann und eine langsamere Geschwindigkeit als die erste Datenspeichereinheit aufweist; und eine Steuereinheit, die so konfiguriert ist, dass sie die Schritte nach einem der Ansprüche 1 bis 9 durchführen kann.
  10. Rechnerprogrammprodukt, das ein auf einem Rechner verwendbares Medium umfasst, auf dem ein durch einen Rechner lesbares Programm gespeichert ist, das bei Ausführung auf dem zumindest einen Rechnerprozessor eines Datenspeichersystems bewirkt, dass das Datenspeichersystem die Schritte nach einem der Ansprüche 1 bis 8 durchführt, wobei das Datenspeichersystem zumindest einen ersten Datenspeicher mit höherer Geschwindigkeit, zumindest einen zweiten Datenspeicher mit einer langsameren Geschwindigkeit sowie den zumindest einen Rechnerprozessor umfasst.
DE112010003133.9T 2009-09-14 2010-08-23 Datenmigration zwischen datenspeichereinheiten Active DE112010003133B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/559,362 US8230131B2 (en) 2009-09-14 2009-09-14 Data migration to high speed storage in accordance with I/O activity over time
US12/559,362 2009-09-14
PCT/EP2010/062254 WO2011029713A1 (en) 2009-09-14 2010-08-23 Data migration between data storage entities

Publications (2)

Publication Number Publication Date
DE112010003133T5 DE112010003133T5 (de) 2012-06-21
DE112010003133B4 true DE112010003133B4 (de) 2015-07-30

Family

ID=42732858

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010003133.9T Active DE112010003133B4 (de) 2009-09-14 2010-08-23 Datenmigration zwischen datenspeichereinheiten

Country Status (5)

Country Link
US (2) US8230131B2 (de)
CN (1) CN102498466B (de)
DE (1) DE112010003133B4 (de)
GB (1) GB2485699A (de)
WO (1) WO2011029713A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380928B1 (en) * 2009-12-17 2013-02-19 Emc Corporation Applying data access activity measurements
US8566483B1 (en) * 2009-12-17 2013-10-22 Emc Corporation Measuring data access activity
JP5543668B2 (ja) * 2011-03-25 2014-07-09 株式会社日立製作所 ストレージシステム及び記憶領域の割当方法
US20120260037A1 (en) * 2011-04-11 2012-10-11 Jibbe Mahmoud K Smart hybrid storage based on intelligent data access classification
JP5752805B2 (ja) 2011-11-21 2015-07-22 株式会社日立製作所 ストレージ装置の管理装置及び管理方法
US8738877B2 (en) 2011-12-14 2014-05-27 Advance Micro Devices, Inc. Processor with garbage-collection based classification of memory
GB2527951B (en) 2013-04-26 2021-05-12 Hitachi Ltd Storage system
US10353616B1 (en) * 2013-06-27 2019-07-16 EMC IP Holding Company LLC Managing data relocation in storage systems
US9207873B2 (en) 2013-12-19 2015-12-08 Netapp, Inc. Parallel migration of data objects to clustered storage
CN105940386B (zh) * 2014-01-30 2019-12-17 慧与发展有限责任合伙企业 用于在存储器之间移动数据的方法、系统和介质
US10659532B2 (en) * 2015-09-26 2020-05-19 Intel Corporation Technologies for reducing latency variation of stored data object requests
US9940057B2 (en) 2015-10-20 2018-04-10 International Business Machines Corporation I/O statistic based depopulation of storage ranks
WO2018022136A1 (en) * 2016-07-26 2018-02-01 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
CN106774018B (zh) * 2017-02-15 2018-03-27 山东省环境保护信息中心 一种污染源自动监测设备动态管控系统
US11402998B2 (en) * 2017-04-27 2022-08-02 EMC IP Holding Company LLC Re-placing data within a mapped-RAID environment comprising slices, storage stripes, RAID extents, device extents and storage devices
KR102543749B1 (ko) * 2023-02-17 2023-06-14 주식회사 헤카톤에이아이 데이터 레이크 이관을 위한 인공지능 기반 자동화 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140207A1 (en) * 2002-01-21 2003-07-24 Hitachi. Ltd. Hierarchical storage apparatus and control apparatus thereof
US20080059718A1 (en) * 2006-09-01 2008-03-06 Sachie Tajima Storage system, data relocation method thereof, and recording medium that records data relocation program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076397B2 (en) * 2002-10-17 2006-07-11 Bmc Software, Inc. System and method for statistical performance monitoring
US20050138198A1 (en) * 2003-12-18 2005-06-23 It Works Methods, apparatuses, systems, and articles for determining and implementing an efficient computer network architecture
US7225211B1 (en) * 2003-12-31 2007-05-29 Veritas Operating Corporation Multi-class storage mechanism
US7711916B2 (en) * 2005-05-11 2010-05-04 Oracle International Corporation Storing information on storage devices having different performance capabilities with a storage system
US7971025B2 (en) * 2007-03-14 2011-06-28 Hitachi, Ltd. Method and apparatus for chunk allocation in a thin provisioning storage system
US7460149B1 (en) * 2007-05-28 2008-12-02 Kd Secure, Llc Video data storage, search, and retrieval using meta-data and attribute data in a video surveillance system
US8386744B2 (en) * 2007-10-01 2013-02-26 International Business Machines Corporation Thin provisioning migration and scrubbing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140207A1 (en) * 2002-01-21 2003-07-24 Hitachi. Ltd. Hierarchical storage apparatus and control apparatus thereof
US20080059718A1 (en) * 2006-09-01 2008-03-06 Sachie Tajima Storage system, data relocation method thereof, and recording medium that records data relocation program

Also Published As

Publication number Publication date
GB201202064D0 (en) 2012-03-21
CN102498466A (zh) 2012-06-13
GB2485699A (en) 2012-05-23
US20110066767A1 (en) 2011-03-17
CN102498466B (zh) 2015-01-28
US8380891B2 (en) 2013-02-19
DE112010003133T5 (de) 2012-06-21
US20120173771A1 (en) 2012-07-05
US8230131B2 (en) 2012-07-24
WO2011029713A1 (en) 2011-03-17

Similar Documents

Publication Publication Date Title
DE112010003133B4 (de) Datenmigration zwischen datenspeichereinheiten
DE68929229T2 (de) Steuergerät mit einem Cache-Speicher und Verfahren zur Steuerung des Cache-Speichers
DE112012004798B4 (de) Anpassung der Auslagerungsgeschwindigkeit auf Grundlage von Anforderungen an Lese- und Schreib-Antwortzeiten
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE112012002615B4 (de) Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren
DE69921289T2 (de) Verfahren um volumen einer plattenmatrixspeicheranordnung auszutauschen
DE60031064T2 (de) Kopierverfahren zwischen logischen Speicherplatten, Speicherplattensystem und Programm dafür
DE112012000953B4 (de) Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit
DE60033994T2 (de) Verfahren und System zur Ausgabe an und zum Ordnen von Befehlen in einem Festplattenlaufwerk
DE69622647T2 (de) Wiederherstellbares Plattensteuersystem mit nichtflüchtigem Speicher
DE112012004209T5 (de) Dynamisch eingestellter Schwellenwert zum Belegen eines sekundären Cache-Speichers
DE112011103290B4 (de) Intelligente Schreibcacheoperationen für sequenzielle Datenspuren
DE112010003794B4 (de) Datenspeicherung unter Verwendung von Bitmaps
DE102013200032B4 (de) Herabstufen von partiellen Speicherspuren aus einem ersten Cachespeicher in einen zweiten Cachespeicher
DE102012212183B4 (de) Verfahren und Speichercontroller zur Bestimmung einer Zugriffscharakteristik einer Datenentität
DE102012219098A1 (de) Verwaltung von Teildatensegmenten in Systemen mit doppeltem Cachespeicher
DE112009004503T5 (de) Optimierung der zugriffszeit von auf speichern gespeicherten dateien
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE112005001050T5 (de) Liefern eines alternativen Cachespeicherungsschemas auf der Speicherbereichnetzwerkebene
DE102016001682A1 (de) Leistungsausgeglichene Datenspeichervorrichtung
DE102013210642A1 (de) Vorrichtung zum Wiederherstellen von Redundanz
DE102012208141A1 (de) Ausgleich nachlassender Funktionsfähigkeit
DE112012004796B4 (de) Periodische Auslagerungen von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten
DE112012004571T5 (de) Unterstützen von unvollständigen Datensegmenten in Flash-Cache-Speichern

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0003060000

Ipc: G06F0011340000

R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final