DE112011104419T5 - Bereichsmigration für gepaarte Speicherung - Google Patents
Bereichsmigration für gepaarte Speicherung Download PDFInfo
- Publication number
- DE112011104419T5 DE112011104419T5 DE112011104419T DE112011104419T DE112011104419T5 DE 112011104419 T5 DE112011104419 T5 DE 112011104419T5 DE 112011104419 T DE112011104419 T DE 112011104419T DE 112011104419 T DE112011104419 T DE 112011104419T DE 112011104419 T5 DE112011104419 T5 DE 112011104419T5
- Authority
- DE
- Germany
- Prior art keywords
- storage
- primary
- migration
- area
- entity
- 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.)
- Granted
Links
- 238000013508 migration Methods 0.000 title claims abstract description 63
- 230000005012 migration Effects 0.000 title claims abstract description 63
- 238000013500 data storage Methods 0.000 claims abstract description 10
- 230000001360 synchronised effect Effects 0.000 claims abstract description 10
- 230000010076 replication Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000003446 memory effect Effects 0.000 claims description 3
- 239000007787 solid Substances 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims 2
- 238000012790 confirmation Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 239000000835 fiber Substances 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 208000036829 Device dislocation Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Bereichsmigration wird in einer Datenspeicherumgebung bereitgestellt, die für synchrone Replikation zwischen einem Primär- und Sekundärpaar von Speicherentitäten eingerichtet ist, die jeweils mehrschichtige Speichereinheiten besitzen. In einer Ausführungsform wird eine Migrationsanweisung durch die Primärspeicherentität an die Sekundärspeicherentität gesendet, wobei die Migrationsanweisung eine relative Priorität auf der Grundlage einer geordneten Primär-Heat-Map der mehrschichtigen Speichereinheiten der Primärspeicherentität enthält. Die relative Priorität wird gegenüber einer geordneten Sekundär-Heat-Map der mehrschichtigen Speichereinheiten der Sekundärspeicherentität verwendet, um die Bereichsmigration unabhängig davon durchzuführen, ob die Primär- und Sekundärspeicherentitäten identisch sind.
Description
- TECHNISCHES GEBIET
- Die vorliegende Erfindung betrifft im Allgemeinen Computer und genauer Vorrichtungs-, Verfahrens- und Computerprogrammprodukt-Ausführungsformen für die Bereichsmigration in einer Datenspeicherumgebung, die für die Replikation zwischen einem Primär- und Sekundärpaar von Speicherentitäten eingerichtet ist, die jeweils mehrschichtige Speichereinheiten besitzen.
- HINTERGRUND
- Computer und Computersysteme sind in der heutigen Gesellschaft in einer Vielfalt von Situationen anzutreffen. Datenverarbeitungsumgebungen und Netzwerke sind zu Hause, bei der Arbeit, in der Schule, bei Behörden und in anderen Situationen anzutreffen. Datenverarbeitungsumgebungen speichern zunehmend Daten in einer oder mehreren Speicherumgebungen, die in vielen Fällen von der einem Benutzer angezeigten lokalen Oberfläche entfernt angeordnet sind.
- Diese Datenverarbeitungs-Speicherumgebungen können viele Speichereinheiten, wie beispielsweise Plattenlaufwerke, verwenden, die oftmals gemeinsam arbeiten, um einen großen Datenkörper zu speichern, abzurufen und zu aktualisieren, der dann einem Hostcomputer bereitgestellt wird, der die Daten anfordert oder sendet. In manchen Fällen wird eine Anzahl von Datenspeicher-Teilsystemen gemeinsam als ein einziges Datenspeichersystem verwaltet. Diese Teilsysteme können durch Host-„Sysplex”(system complex)-Konfigurationen verwaltet werden, die mehrere Verarbeitungseinheiten oder Cluster von Verarbeitungseinheiten vereinen. Auf diese Weise können mehrschichtige/Mehrsystem-Datenverarbeitungsumgebungen, die oftmals eine Vielzahl von Speichereinheitentypen enthalten, dazu verwendet werden, große Datenmengen zu organisieren und zu verarbeiten.
- Aktuelle Architekturen mit mehrschichtiger Speicherung wie vorstehend beschrieben enthalten eine Vielfalt von Speichermedien. Dazu können solche Medien wie Unternehmens-Festplattenlaufwerke (HDDs), Serial Advanced Technology Attachment(SATA)-Plattenlaufwerke, Halbleiterlaufwerke (solid state drives (SSD)), Bandlaufwerke und andere Einheiten zählen. Daten können zwischen solchen Einheiten migriert werden. Das Platzieren bestimmter Arten von Daten auf dem geeigneten Medium kann die Gesamtleistung der Speicherumgebung enorm verbessern.
- KURZDARSTELLUNG
- Gemäß verschiedener Aspekte der Erfindung werden ein System, ein Verfahren und Computerprogrammprodukt-Ausführungsformen für die Bereichs-(d. h. Datensegment-)Migration in einer Datenspeicherumgebung bereitgestellt, die für die synchrone Replikation zwischen einem Primär- und Sekundärpaar von Speicherentitäten eingerichtet ist, die jeweils mehrschichtige Speichereinheiten besitzen. In einer Ausführungsform wird in lediglich beispielhafter Weise eine Migrationsanweisung durch die Primärspeicherentität an die Sekundärspeicherentität gesendet, wobei die Migrationsanweisung eine relative Priorität auf der Grundlage einer geordneten Primär-Heat-Map der mehrschichtigen Speichereinheiten der Primärspeicherentität enthält. Die relative Priorität wird gegenüber einer geordneten Sekundär-Heat-Map der mehrschichtigen Speichereinheiten der Sekundärspeicherentität verwendet, um die Bereichsmigration unabhängig davon durchzuführen, ob die Primär- und Sekundärspeicherentitäten identisch sind.
- Somit können zum Beispiel bei einem Paar mehrschichtiger Speichersysteme (z. B. primär und sekundär) mit einer Beziehung des synchronen Spiegelns die Speichersysteme den Vorteil der Datenmigrationsfunktionalität nicht voll ausschöpfen, weil das Sekundärsystem zumindest teilweise keine Host-Eingaben/Ausgaben (E/A) empfängt. Die Profilalgorithmen, die im Primärsystem allgemein verwendet werden, um zu ermitteln, welche Daten migriert werden sollten, können auf dem Sekundärsystem nicht genau verwendet werden. Als Ergebnis kann die Leistungsfähigkeit und Effizienz der gesamten Speicherumgebung negativ beeinflusst werden. Die vorliegende Erfindung strebt an, einen Mechanismus bereitzustellen, bei dem solche Speicherentitäten Daten jeweils auf jeder Entität annähernd gleichzeitig migrieren können.
- Über die vorhergehende beispielhafte Ausführungsform hinaus werden nachstehend vielfältige weitere Verfahrens-, System- und Computerprogrammprodukt-Ausführungsformen beschrieben und in den angehängten Ansprüchen festgelegt.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Eine oder mehrere Ausführungsformen der Erfindung werden nun in lediglich beispielhafter Weise unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen:
-
1 eine Blockschaubilddarstellung einer beispielhaften Datenverarbeitungs-Speicherumgebung gemäß bestimmter Ausführungsformen zeigt; -
2 eine Blockschaubilddarstellung einer beispielhaften Speicherhierarchie in einem Speicherserver zeigt; -
3 eine Blockschaubilddarstellung beispielhafter Speichersysteme zeigt, die eine ähnliche Gesamtkapazität, jedoch eine unterschiedliche mehrschichtige Speicherung aufweisen; -
4A eine Blockschaubilddarstellung einer beispielhaften Migrationsanweisungs-Datenstruktur zeigt; -
4B eine Blockschaubilddarstellung einer beispielhaften Bereichskennungs-Datenstruktur zeigt; und -
5 eine Ablaufplandarstellung eines beispielhaften Verfahrens für die Bereichsmigration in einer Speicherumgebung mit einem Paar synchron gespiegelter Speicherentitäten zeigt, in der vielfältige Aspekte der veranschaulichenden Ausführungsformen realisiert werden können. - DETAILLIERTE BESCHREIBUNG
- Wie zuvor erwähnt, sind mehrschichtige Speichersysteme, die in einer synchronen Spiegelbeziehung konfiguriert sind, derzeit nicht eingerichtet, die Vorteile einer Bereichsmigrationsfunktionalität voll zu nutzen, weil das Sekundärspeichersystem keine Host-Eingaben/Ausgaben empfängt. E/A wird stattdessen vom Primärspeichersystem empfangen. Wie wiederum zuvor erwähnt, können als Ergebnis die Profilalgorithmen zum Ermitteln, welche Datensegmente migriert werden sollten, auf dem Sekundärsystem nicht exakt durchgeführt werden, weil das Sekundärsystem nur Schreib-E/A-Operationen empfängt. Wenn das Primärsystem, bestimmt, einen Bereich zu migrieren, erfährt das Sekundärsystem unter Umständen nichts davon, den Bereich zu verschieben. Es wird das folgende Beispiel betrachtet. Da die Sekundärmaschine den Bereich noch auf einer niedrigeren Ebene aufweist und Schreibvorgänge vor dem Senden eines Beendigungsstatus zurück an den Host sowohl auf dem Primär- als auch dem Sekundärsystem abgeschlossen werden müssen, handelt es sich bei der Schreibleistung noch um die Schreibleistung der unteren Ebene, auch wenn das Primärsystem den Bereich anschließend auf eine höhere Ebene verschoben hat.
- Darüber hinaus erfordern aktuelle Verfahrensweisen im Falle, dass der Host auf das Sekundärsystem umschaltet (fails over to), dass das Sekundärsystem „lernt”, welche Datensegmente umfassend genutzt werden und bei welchen dies nicht der Fall ist (d. h. „heiße” und „kalte” Datensegmente) und die Datensegmente entsprechend verschieben muss. Dieser Lernprozess kostet Zeit und Ressourcen, wobei die Leistungsfähigkeit beeinträchtigt ist.
- Eine zusätzliche Schwierigkeit entsteht, wenn es sich bei dem Primär- und dem Sekundärsystem nicht um zueinander gespiegelte Version handelt. Zum Beispiel kann die Speicherkapazität jedes Speichersystems einen unterschiedlichen Satz von Speichereinheitenfamilien enthalten, die Gesamtkapazität jedoch dieselbe oder größer sein (z. B. kann das Primärsystem mehr Halbleitereinheiten (SSDs) aufweisen als das Sekundärsystem). In dieser Situation wird eine zusätzliche Komplexität wahrgenommen, weil das Sekundärsystem den einem bestimmten Datensegment durch das Primärsystem verliehenen Wert (relativ zu anderen Datensegmenten) nicht erkennt. Ohne zusätzliche Informationen ist es für das Sekundärsystem schwierig oder unmöglich, die korrekte, seinen Wert widerspiegelnde Platzierung des Datensegmentes in seinem System zu ermitteln.
- Die veranschaulichten Ausführungsformen stellen Mechanismen für eine effiziente Bereichsmigrationsfunktionalität zwischen mehrschichtiger Speicherung in einer Speicherumgebung bereit, die in einer Beziehung der synchronen Spiegelung eingerichtet ist. Wie weiter beschrieben werden wird, realisieren diese Mechanismen in einem Aspekt eine Migrationsanweisung, die zwischen dem Primär- und dem Sekundärsystem gesendet wird. Bei der Migrationsanweisung handelt es sich um eine Datenstruktur, die mit mehreren Feldern konfiguriert sein kann, wie weiter beschrieben werden wird. In einem solcher Felder ist eine Zeitdifferenz enthalten. Diese Berechnung ermöglicht es dem Sekundärspeichersystem, den korrekten Zeitpunkt zum Migrieren eines bestimmten Bereichs zu ermitteln, so dass sowohl das Primär- als auch das Sekundärspeichersystem den Bereich zu annähernd demselben Zeitpunkt migrieren.
- Um mögliche Probleme zu lösen, die entstehen können, wenn Speichersysteme wie zuvor beschrieben keine Spiegelbilder (mirror images) voneinander sind, kann in einem weiteren Aspekt ein zusätzliches Datenfeld für relative Prioritätsdaten auf der Grundlage einer geordneten Primär-Heat-Map der mehrstufigen Speichereinheiten des Primärspeichersystems konfiguriert werden. Die relative Priorität wird gegenüber einer geordneten Sekundär-Heat-Map der mehrschichtigen Speichereinheiten des Sekundärspeichersystems verwendet, um die Bereichsmigration durchzuführen, wie weiter beschrieben werden wird. Zusätzliche Aspekte und Vorteile werden nachfolgend weiter beschrieben.
-
1 zeigt eine Blockschaubilddarstellung eines beispielhaften Speichersystems50 , das in einer synchronen Spiegelungsbeziehung konfiguriert ist (wie beispielsweise ein IBM® TotalStorage® Peer-to-Peer Redundant Copy(PPRC)-System). Ein Primärspeicherserver54 empfängt Eingaben/Ausgaben (E/A) wie gezeigt von einem oder mehreren Clients52 . Der Speicherserver54 ist über ein Netzwerk56 mit einem entfernt angeordneten Sekundärspeicherserver58 verbunden. - Als eine beispielhafte synchrone Spiegelungsfunktion handelt es sich bei PPRC um eine Funktion, die eine Sekundär(Ziel-)Kopie eines Speicherdatenträgers kontinuierlich so aktualisiert, dass an einem Primär(Quell)-Datenträger vorgenommene Änderungen abgestimmt werden. Jedes Paar gleichgroßer Datenträger kann für eine PPRC-Beziehung konfiguriert werden, während der alle auf der Quelle durchgeführten Schreibvorgänge synchron auf die Zieleinheit gespiegelt werden. Das PPRC-Protokoll garantiert, dass die Sekundärkopie konstant auf aktuellem Stand ist, indem sichergestellt wird, dass die Primärkopie nur geschrieben wird, wenn das Primärspeicher-Teilsystem die Bestätigung empfangen hat, dass die Sekundärkopie geschrieben wurde. Die gepaarten Datenträger befinden sich üblicherweise auf zwei separaten und räumlich getrennten ESS-Einheiten, die über ESCON® oder über eine Fibre-Channel-Verbindung Daten austauschen.
- Unter Bezugnahme auf
2 wird nun ein Blockschaubild einer Datenverarbeitungs-Speicherumgebung100 gemäß bestimmter Ausführungsformen veranschaulicht. Die Datenverarbeitungs-Speicherumgebung100 enthält wie zuvor veranschaulicht eine erste Berechnungseinheit, wie beispielsweise einen Speicherserver54 , der mit einer oder mehreren Berechnungseinheiten, wie beispielsweise Clients52 , verbunden ist. In bestimmten Ausführungsformen können der Speicherserver54 und die Clients52 jede beliebige geeignete Berechnungseinheit, einschließlich den derzeit im Stand der Technik bekannten, umfassen, wie beispielsweise einen PC, einen Arbeitsplatzrechner, einen Großrechner, einen mittelgroßen Computer, eine Netzwerkeinheit (network appliance), einen Palmtop-Computer, einen Handheld-Computer usw. - In manchen Ausführungsformen kann ein Speicherverwalter
106 , wie beispielsweise der IBM® Tivoli® Storage Manager® (TSM), zum sicheren Speichern und Verwalten von Datensegmenten gemäß Aspekten der vorliegenden Erfindung verwendet werden. Der Speicherverwalter106 kann auf einem Speicherverwaltungsserver, wie beispielsweise einem TSM-Server102 , oder andernorts ausgeführt werden. In einer Ausführungsform ist der Speicherverwalter wie gezeigt durch und/oder in Verbindung mit einer Prozessoreinheit105 betreibbar. Für den Fachmann ist ersichtlich, dass vielfältige andere Konfigurationen des Prozessors105 , des Speicherverwalters106 und zugehöriger weiterer Verarbeitungs- und/oder Speicherkomponenten betrachtet werden. IBM, Tivoli und Tivoli Storage Manager sind Marken oder eingetragene Marken der IBM Corporation. - Der TSM kann Clients, wie beispielsweise TSM-Clients
104a , Datenspeicherdienste für die Verwaltung von Daten bereitstellen. Der TSM-Server102 kann Dateien speichern, die durch einen oder mehrere TSM-Clients an den TSM-Server102 gesendet wurden. Der Speicherverwalter106 und/oder die Prozessoreinheit105 können es einem Systemadministrator ermöglichen, Speicherpools zu konfigurieren, wobei ein Speicherpool eine Gruppe von Einheiten aufweist, die zum Speichern von vom TSM-Client104a empfangenen Daten verwendet werden. Speicherpools werden als Ziele für Speicheroperationen vom TSM-Client104a verwendet und werden in TSM-Serverrichtlinien und anderen Konstrukten für die Verarbeitung referenziert. - Wie gezeigt kann eine Vielfalt von Speichereinheiten in einer Speicherhierarchie organisiert werden. Speichermedien innerhalb der Speicherhierarchie können somit in Datenstrukturen gruppiert werden, die hierin als Speicherpools bezeichnet werden. Die Speicherhierarchie kann so organisiert sein, dass sie einer oder mehreren Maßzahlen, wie beispielsweise einer Leistungsmaßzahl, entspricht, wozu auch Schreib- oder Lesegeschwindigkeiten zählen. Die gezeigte Speicherhierarchie
108 kann so organisiert sein, dass die Spitze der Hierarchie einen Cachespeicherpool110 enthalten kann, der eine höchste Menge oder Qualität einer bestimmten Leistungsmaßzahl aufweist. Unterhalb des Cachespeicherpools110 kann eine Anzahl von Halbleiterlaufwerk(SSD)-Klasseneinheiten nach denselben, ähnlichen oder anderen Maßzahlen in SSD-Pools organisiert sein (z. B. SSD-Pools112 und114 ). - Unterhalb der SSD-Pools
112 und114 kann dann eine erste Ebene von Plattenpools (z. B. Plattenpools116 ,118 und120 ) organisiert sein. Wie für den Fachmann ersichtlich ist, können die Plattenpools116 ,118 und120 eine Vielfalt von Platteneinheiten enthalten, wie beispielsweise Pools von Unternehmens-Plattenlaufwerken, SATA-Plattenlaufwerken, in einer bestimmten Konfiguration eines Array unabhängiger redundanter Platten (redundant array of independent disks (RAID)) konfigurierte Platteneinheiten und Ähnliches. - Die erste Ebene von Plattenpools kann aufgrund einer größeren Menge, eines stärkeren Attributs oder stärkerer Attribute, oder der Qualität der Leistungsmaßzahl über einer zweiten Ebene von Plattenpools (z. B. Pools
122 ,124 und126 ) angeordnet sein. Unterhalb der zweiten Ebene von Plattenpools kann dann eine zusätzliche Ebene von Bandpools (z. B. Bandpools128 ,130 und132 ) organisiert sein. Vielfältige Überlegungen für die Organisation solcher Speicherhierarchien108 können für den Fachmann offensichtlich sein. In einer Ausführungsform kann der Systemadministrator dazu beitragen, solche Konfigurationen in der Speicherhierarchie108 durch Eingaben an den administrativen TSM-Client104b oder einen anderen Mechanismus durchzuführen. - Die veranschaulichten Ausführungsformen stellen Mechanismen zum effizienten Platzieren entsprechender Daten in den SSD-Pools
112 und114 und dadurch der Gesamtplatzierung von Daten zwischen Speichermedien, wie beispielsweise den in der Speicherhierarchie108 anzutreffenden, bereit. In einer Ausführungsform, die eine einer Anzahl von SSD-Einheiten entsprechende Ebene von Plattenpools enthält, führt der Speicherserver54 E/A-Profilungsaktivitäten an bestimmten Datensegmenten durch, indem solche statistischen Daten, wie beispielsweise das vorstehend erwähnte Lese/Schreibverhältnis, untersucht werden. Diejenigen Datensegmente mit einem höheren Lese-Schreib-Verhältnis (z. B. weniger Schreibvorgänge) sind bessere Kandidaten für die SSD-Speicherung als diejenigen Datensegmente mit einem niedrigeren Lese-Schreib-Verhältnis (z. B. mehr Schreibvorgänge). - Jedes Datensegment in einer Kandidatengruppe (wie beispielsweise diejenigen auf einem bestimmten Datenträger oder einem bzw. einer bestimmten Datenträgergruppe, Pool, Ebene von Pools oder ähnlichen Gruppe) kann zuerst analysiert werden, um zu ermitteln, ob auf das bestimmte Datensegment wiederholt zugegriffen wurde. Wenn dies der Fall ist, wird das bestimmte Datensegment als guter Kandidat für SSD-Speicherung angesehen, da sein bestimmtes E/A-Profil zeigt, dass das Datensegment gefragt ist und dass die Gesamtleistung der Datenverarbeitungsumgebung davon profitieren würde, wenn die Latenzzeit dieses bestimmten Datensegments verringert werden würde.
- Wenn ein bestimmtes Datensegment wie vorstehend beschrieben identifiziert wurde, kann es anschließend zu einer „heißen” Liste von Datensegmenten hinzugefügt werden. Die heiße Liste von Datensegmenten kann dann wiederholt werden, und für einen bestimmten Bereich wird das Lese/Schreib-Verhältnis untersucht. Wenn ermittelt wird, dass das Lese/Schreib-Verhältnis größer als ein zuvor festgelegter Schwellenwert ist, wird das heiße Datensegment zu einer zusätzlichen Liste von „Verhältnis”-Datensegmenten hinzugefügt, bei denen ein höheres Lese/Schreib-Verhältnis identifiziert wurde.
- Unter Bezugnahme auf
3 ist nun eine beispielhafte Veranschaulichung134 von zwei Speichersystemen (z. B. primär und sekundär) zu sehen. Jedes Speichersystem enthält Angaben zur schwankenden Kapazität der jeweiligen Ebenen von enthaltenen Speichereinheiten. Zum Beispiel enthält das veranschaulichte Primärspeichersystem annähernd 2/3 der Gesamtkapazität als Serial Advanced Technology Attachment(SATA)-Laufwerke (in Ebene 2), während sich das verbleibende 1/3 der Gesamtkapazität aus SSD-Laufwerken aufbaut (in Ebene 1). Das veranschaulichte Sekundärspeichersystem enthält wiederum annähernd 2/3 seiner Gesamtkapazität als SATA-Laufwerke, wie dies zuvor der Fall war (hier als Einheiten der Ebene 3), das verbleibende 1/3 der Gesamtkapazität teilen sich jedoch wie gezeigt SSD-Laufwerke der Ebene 1 und Fibre-Channel-Laufwerke der Ebene 2. - Angesichts der in
3 gezeigten Darstellung134 wirkt sich jedoch wie zuvor beschrieben ein Problem aus, bei dem Speichersysteme keine Spiegelbilder zueinander darstellen, wobei ein Speichersystem die Kapazität besitzen kann, ein Datensegment zur Leistungssteigerung auf eine gegebene Ebene zu verschieben, das gegenüberstehende Speichersystem jedoch nicht genug Kapazität besitzt, die Datenstruktur auf dieselbe Ebene zu verschieben. Abhängig von der bestimmten Arbeitslast sorgt ein Verschieben der Datenstruktur auf eine höhere Ebene unter Umständen nicht für eine entsprechende Leistungssteigerung. Dementsprechend kann das bestimmte System den Speicherplatz genauso für ein Datensegment reservieren, dass den Leistungsvorteil bereitstellen würde. - Um dieses Problem so zu lösen, dass die beiden Systeme bessere Entscheidungen darüber treffen können, ob ein Datensegment verschoben werden sollte, kann einer Migrationsanweisung, die zwischen dem Primär- und den Sekundärspeichersystem gesendet wird, ein Feld einer relativen Priorität hinzugefügt werden, wenn das Primärspeichersystem ermittelt, ein bestimmtes Datensegment zu verschieben. In einer Ausführungsform kann die relative Priorität durch Verwenden einer Heat-Map pro Datenstruktur (d. h. Bereich) und Ordnen der Bereiche von heiß nach kalt berechnet werden. Dem heißesten Bereich wird die oberste Priorität oder eine Priorität von 100% zugewiesen. Dem nächstheißesten Bereich kann die nächsthöchste Priorität (z. B. eine Priorität von 99%) zugewiesen werden und so weiter bis allen Bereichen auf der Grundlage eines prozentualen Anteils eine gegebene Priorität zugewiesen wurde, aufgrund derer der Bereich in die geordnete Heat-Map eingeordnet wird. In Hinblick auf das Vorhergehende wird in einer Ausführungsform die relative Priorität als Zahl der geordneten Heat-Map geteilt durch die Gesamtanzahl von Bereichen im System multipliziert mit 100 berechnet.
- Um die relative Priorität eines bestimmten Speichersystems weiter zu verdeutlichen, wird das folgende Beispiel betrachtet. Die Kapazität einer Primärspeicher-Steuereinheit ist aus annähernd 40% SSD-Einheiten und 60% SATA-Einheiten aufgebaut, während die Kapazität der Sekundärspeicher-Steuereinheit aus annähernd 20% SSD-, 40% Fibre-Channel-Einheiten und 40% SATA-Einheiten aufgebaut ist. Das Primärspeichersystem veranschlagt seine heißesten 40% der Datensegmente auf den SSD-Einheiten und die verbleibenden auf den SATA-Einheiten. Das Primärspeichersystem veranschlagt seine heißesten 10% der Bereiche auf SSD-Einheiten, die nächsten 40% der Bereiche auf den Fibre-Channel-Einheiten und die verbleibenden 50% der Daten auf den langsameren SATA-Einheiten.
- Unter Bezugnahme auf
4A ist eine als eine Migrationsanweisung140 zum Realisieren vielfältiger Aspekte der veranschaulichten Ausführungsformen eingerichtete beispielhafte Datenstruktur gezeigt. Die Migrationsanweisung140 wird vom Primärspeichersystem zum Sekundärspeichersystem gesendet, wie weiter beschrieben werden wird. In der veranschaulichten Ausführungsform ist die Migrationsanweisung wie gezeigt mit einem Nachrichtentypfeld141 , einem Bereichskennungsfeld142 , einem Zeitdifferenzfeld144 , einem Zielebenennummern-Feld146 und einem Feld einer relativen Priorität148 konfiguriert. Bei dem Nachrichtentypfeld141 handelt es sich in einer Ausführungsform um eine eindeutige Kennung, die festlegt, welcher Typ von Nachricht gesendet wird. In einer Ausführungsform handelt es sich bei den folgenden um zulässige Nachrichtentypen. Als Erstes kann eine Nachricht zur Abfrage der relativen Prioritätsebene durch das Primärspeichersystem verwendet werden, um das Sekundärspeichersystem danach abzufragen, auf welche Ebene die Sekundärspeichereinheit einen Bereich auf der Grundlage der in der Nachricht enthaltenen relativen Prioritätsdaten verschieben könnte. Als Zweites kann eine Sekundärantwortnachricht der relativen Priorität durch das Sekundärspeichersystem verwendet werden, um auf die Nachricht zur Abfrage der relativen Prioritätsebene zu antworten. Als drittes kann eine Nachricht „Bereich verschieben” durch das Primärspeichersystem verwendet werden, um dem Sekundärspeichersystem ein Verschieben eines Bereichs auf eine gegebene Ebene mitzuteilen. Schließlich kann eine Sekundärbestätigungsnachricht (secondary acknowledge (ACK) message) an das Primärspeichersystem gesendet werden, um anzuzeigen, dass ein bestimmter Bereich erfolgreich migriert wurde. - Bei dem Bereichskennungsfeld
142 handelt es sich in einer Ausführungsform um eine eindeutige Kennung, die das (zum Beispiel innerhalb eines bestimmten Datenträgers) zu verschiebende Datensegment (hier ein Bereich) anzeigt. Das Zeitdifferenzfeld144 gibt die betreffende Zeitdifferenz an, wann das Sekundärsystem das Datensegment verschieben sollte, wie weiter beschrieben werden wird. Die Zielebenennummer146 gibt in einer Ausführungsform die betreffende Ebene an, auf die das Primärspeichersystem plant, das Datensegment zu verschieben. Schließlich gibt eine relative Priorität148 wie zuvor beschrieben einen prozentualen Anteil innerhalb einer geordneten Liste aller nach Hitze sortierten Bereiche an. In einer Ausführungsform weist der heißeste Bereich wie zuvor beschrieben wiederum eine Priorität von 100% auf, während der kälteste Bereich eine Priorität von 0% aufweist. -
4B veranschaulicht eine beispielhafte Datenstruktur, die wiederum als Bereichskennung159 zum Realisieren vielfältiger Aspekte der veranschaulichten Ausführungsformen konfiguriert ist In der veranschaulichten Ausführungsform ist die Bereichskennung150 mit drei Parametern konfiguriert, um einen bestimmten Bereich zu kennzeichnen. Als Erstes ist die Nummer des logischen Speicherteilsystems (logical storage subsystem (LSS) number) für den bestimmten Bereich enthalten. Als Nächstes ist die betreffende Datenträgernummer154 für den bestimmten Bereich enthalten. Schließlich ist wie gezeigt eine betreffende Bereichsnummer156 im Datenträger enthalten. - Es wird das folgende Beispiel eines Datenträgers A mit Bereichen 0 bis 0xFFFF (hexadezimal) betrachtet. Das Primärspeichersystem ermittelt, dass ein Bereich 1 im Datenträger 1 in LSS 1 migriert werden sollte (zum Beispiel wird ermittelt, dass es sich bei dem Bereich um einen heißen Bereich handelt). Dementsprechend folgt die an das Sekundärsystem gesendete Bereichskennung mit 0x1|0x1|0x1.
- Nun wird das folgende Beispiel einer Ausführungsform betrachtet, bei der relative Prioritätsdaten zum Erreichen von Bereichsmigration verwendet werden. Als erster Schritt im Beispiel stellt das Primärsystem fest, dass ein Bereich heiß genug geworden ist, dass er auf eine höhere Eben verschoben werden muss (z. B. eine SSD-Ebene). Dann wird vom Primärsystem die relative Priorität des Bereichs aus seiner Perspektive berechnet. Als ein folgender Schritt werden vom Primärsystem die notwendigen Berechnungen ausgeführt, um alle Felder in der Nachricht zu füllen (z. B. Bereichskennung, Zeitpunkt zum Verschieben des Bereichs, Relative Priorität, Zielebenennummer),
- Als ein nächster Schritt wird eine „Nachricht zum Abfragen der relativen Prioritätsebene” wie zuvor beschrieben an das Sekundärspeichersystem gesendet. Das Sekundärspeichersystem empfängt die Nachricht und berechnet, welcher Ebene die relative Priorität auf der Grundlage seines Speichersystems zugeordnet würde. Wenn zum Beispiel die relative Prioritätszahl 80 betragen würde, würde der Bereich in diesem Beispiel der Ebene der Fibre-Channel-Laufwerke zugeordnet (das Sekundärsystem weist 10% SSD, 40% FC, 50% SATA, auf so dass eine relative Priorität von 90 oder höher SSDs zugeordnet werden würde, eine relative Priorität von weniger als 90 aber höher als 50 FC zugeordnet werden würde und eine relative Prioritätszahl kleiner als 50 der SATA-Ebene zugeordnet werden würde).
- Dann sendet das Sekundärspeichersystem wie zuvor beschrieben eine „Sekundärantwortnachricht” an das Primärsystem, die angibt, auf welche Ebene es den Bereich auf der Grundlage der relativen Prioritätsangaben verschieben würde. Das Primärsystem empfängt die Antwort und unternimmt auf der Grundlage der Antwort Folgendes. Als Erstes sendet das Primärsystem im Falle, dass das Sekundärsystem in der Lage ist, den Bereich auf dieselbe Ebene zu verschieben, eine Nachricht „Bereich verschieben” an das Sekundärsystem, die Nachricht zu einer gegebenen Zeit zu verschieben, und beide Systeme verschieben den Bereich auf die gegebenen Ebene. Wenn das Sekundärsystem den Bereich nicht auf dieselbe Ebene verschieben kann, ermittelt dann das Primärsystem als Zweites wie folgt, was mit dem Bereich geschehen soll. In einer Ausführungsform kann das Primärsystem das Folgende berücksichtigen, wozu Lese/Schreib-Verhältnisse, Verhältnisse sequentieller Zugriffe zu nicht-sequenziellen Zugriffe und Anforderungen der Dienstgüte (quality of service) zählen können, um zu ermitteln, was für die Hostanwendung am vorteilhaftesten wäre.
- Wenn die E/A ein hohes Lese/Schreib-Verhältnis aufweist (hohe Lesedaten), verschiebt das Sekundärsystem die Daten auf die gegebene Ebene. Dies erfolgt, da alle Lesevorgänge nur an das Primärsystem gehen und ein Verschieben des Bereichs zur entsprechenden Ebene durch das Primärsystem somit die Leseleistung verbessern würde. Wenn das Lese/Schreib-Verhältnis so gestaltet ist, dass ein Verschieben auf die Ebene, mit der das Sekundärsystem geantwortet hat, eine Leistungssteigerung ergeben würde, sendet das Primärsystem eine „Verschiebenachricht” an das Sekundärsystem und beide Systeme verschieben den Bereich auf diese Ebene. Wenn zum Beispiel ein Bereich auf einer SATA-Ebene gefunden würde und das Sekundärsystem den Bereich auf eine SSD verschieben wollte, das Sekundärsystem die Daten jedoch nur auf eine Fibre-Channel-Ebene verschieben könnte, könnte das Primärsystem entscheiden, die Daten zumindest auf die Fibre-Channel-Ebene zu verschieben, was dem Host zu einer besseren Leistung verhelfen würde.
- Das Primärsystem kann in einer Ausführungsform entscheiden, den Bereich überhaupt nicht zu verschieben. Wenn zum Beispiel das Lesen/Schreib-Verhältnis niedrig wäre (viele Schreibvorgänge) und das Sekundärsystem den Bereich nicht auf eine höhere Ebene verschieben könnte, wäre das Verschieben des Bereichs auf dem Primärsystem von geringem Vorteil, da alle Schreibvorgänge sowohl auf dem Primär- als auch dem Sekundärsystem ausgeführt werden müssen, bevor an den Host ein Beendigungsstatus ausgegeben wird. Daher wird das Schreiben stets durch die langsamste Ebene begrenzt, und somit würde das Primärsystem ohne Vorteil für den Host nur wertvollen Platz auf einer höheren Ebene verbrauchen. Dementsprechend wäre es besser, den Bereich auf der aktuellen Ebene zu belassen.
- Unter Bezugnahme auf
5 ist nun folgend eine Ablaufplandarstellung eines beispielhaften Verfahrens200 für die Bereichsmigrationsfunktionalität in einem Speichersystem mit Paaren synchron gespiegelter Speicherentitäten dargestellt, in dem vielfältige Aspekte der veranschaulichenden Ausführungsformen realisiert sein können. Wie für den Fachmann ersichtlich ist, können vielfältige Schritte beim Verfahren200 auf unterschiedliche Arten realisiert werden, um einer bestimmten Anwendung gerecht zu werden. Darüber hinaus kann das beschriebene Verfahren200 durch vielfältige Mittel realisiert werden, wie beispielsweise Hardware, Software, Firmware oder eine Kombination davon, die in der Datenverarbeitungs-Speicherumgebung betreibbar oder dieser anderweitig zugeordnet ist. Zum Beispiel können die Verfahren200 teilweise oder als Ganzes als Computerprogrammprodukt realisiert werden, wozu ein computerlesbares Speichermedium mit darauf gespeicherten computerlesbaren Programmcodeteilen zählt. Zu dem computerlesbaren Speichermedium können Plattenlaufwerke (einschließlich SSD-Einheiten), Flash-Speicher, Digital Versatile Disks (DVDs), Compact Disks (CD) und andere Typen von Speichermedien zählen. - Das Verfahren
200 beginnt (Schritt202 ) mit einem Konfigurieren einer Migrationsanweisung mit mindestens einem von einem Feld eines Nachrichtentyps, einer Bereichskennung, einer Zeitdifferenz, einer Zielebenennummer und einer relativen Priorität (Schritt204 ). Zu einem späteren Zeitpunkt wird ein bestimmter Bereich als ein Kandidat für eine Bereichsmigration identifiziert (Schritt206 ). Diese Identifizierung kann wie zuvor beschrieben durch eine Analyse vielfältiger Speichercharakteristika und Faktoren in Verbindung mit dem Bereich erhalten werden, wie beispielsweise Lese/Schreib-Verhältnisse und Ähnliches. Sobald ein Bereichsmigrationskandidat ausgewählt ist, werden die notwendigen Berechnungen zum Füllen jedes der zuvor konfigurierten Felder für Bereichskennung, Zeitdifferenz und Zielebenennummer vorgenommen (Schritt208 ). Nachdem diese Felder gefüllt sind, wird die Datenstruktur vom Primärspeichersystem zum Sekundärspeichersystem als eine Migrationsanweisung gesendet (Schritt210 ). Das Sekundärspeichersystem empfängt die Migrationsanweisungsnachricht (Schritt212 ) und sendet als Reaktion (und wiederum auf der Grundlage der relativen Prioritätsangaben) eine Sekundärantwortnachricht an das Primärsystem, die angibt, auf welche Ebene es den Bereich verschieben könnte. - Sobald die Antwort empfangen wird, sendet das Primärspeichersystem im Falle, dass das Sekundärspeichersystem ermittelt hat, dass es den Bereich auf dieselbe Ebene verschieben kann wie das Primärspeichersystem (Schritt
213 ), eine Nachricht „Bereich verschieben” an das Sekundärspeichersystem (Schritt215 ) und reiht dementsprechend den Bereich für die Migration zu einem Migrationszeitpunkt, der auf die aktuelle Zeit des Speichersystems plus der Zeitdifferenz für die gegebene Ebene bemessen ist, in eine Warteschlange ein (Schritt217 ). Wenn sich die Migrationszeit nähert, wird der Bereich dann auf dem Sekundärspeichersystem zu einem Zeitpunkt migriert, der annähernd gleich demjenigen ist, zu dem der Bereich auch auf dem Primärsystem migriert wird (Schritt219 ). Dann kehrt das Verfahren200 zu Schritt206 zurück, in dem das Primärsystem zu einem späteren Zeitpunkt erneut einen neuen Bereich als Migrationskandidat identifiziert. - Zurückkehrend zu Schritt
213 berücksichtigt das Primärsystem im Falle, dass der Bereich nicht auf dieselbe Ebene verschoben werden kann, eine Anzahl von Faktoren, wie beispielsweise Lese/Schreib-Verhältnisse, Verhältnisse sequenzieller zu nicht sequenziellen Zugriffen, Anforderungen der Dienstgüte und Ähnliches, um zu ermitteln, welcher Ansatz für die Hostanwendung vorteilhaft wäre (Schritt216 ). Wenn zum Beispiel die E/A ein hohes Lese/Schreib-Verhältnis aufweist (z. B. hohe Lesedaten wie zuvor beschrieben), kehrt das Verfahren200 zu Schritt217 zurück, um den Bereich in eine Warteschlange einzureihen und den Bereich auf die gegebene Ebene zu migrieren, und fährt wie zuvor beschrieben mit Schritt219 fort. Wenn (zu Schritt216 zurückkehrend) das Lese/Schreib-Verhältnis dergestalt ist, dass die Migration auf die ausgewählte Ebene die Leistung erhöhen würde (Schritt218 ), reiht das Sekundärspeichersystem alternativ dazu den Bereich für die Migration auf die ausgewählte Ebene zum Migrationszeitpunkt in die Warteschlange ein (Schritt220 ), und der Bereich wird wie zuvor angegeben zum Migrationszeitpunkt migriert (Schritt219 ). Alternativ dazu kann (zu Schritt218 zurückkehrend) das Primär- und/oder Sekundärspeichersystem entscheiden, den Bereich nicht zu migrieren (Schritt222 ), und das Verfahren kehrt wie angegeben zu Schritt206 zurück. - Wie für den Fachmann ersichtlich ist, kann das Verfahren
200 anstatt der zuvor beschriebenen Speicheranfrage darüber hinaus in einem geplanten Intervall durchgeführt werden. Das Planen kann gemäß vielfältiger Realisierungen der Datenverarbeitungs-Speicherumgebung erfolgen. Zum Beispiel kann das Planen mit Zeiten hoher und/oder niedriger Speicheraktivität zusammenfallen. Das Planen kann durch einen Systemadministrator unter Verwendung des Speicherverwalters106 (1 ) oder durch andere ähnliche Mittel konfiguriert werden. - Wie für den Fachmann ersichtlich ist, können Aspekte der vorliegenden Erfindung als System, Verfahren, oder Computerprogrammprodukt ausgebildet werden. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder in einer Ausführungsform ausgebildet werden, die Software- und Hardwareaspekte kombiniert, was hierin sämtlich allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein kann. Weiterhin können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts ausgebildet werden, das in einem oder mehreren computerlesbaren Medien mit darauf enthaltenem computerlesbarem Programmcode enthalten sein kann.
- Jede beliebige Kombination aus einem oder mehreren computerlesbaren Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein System, eine Vorrichtung oder eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer, Infrarot oder Halbleiter verwendender Art sowie jede beliebige geeignete Kombination des Vorgenannten handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium kann Folgendes gehören (nicht erschöpfende Liste): eine elektrische Verbindung mit einer oder mehreren Leitungen, eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des Vorgenannten. Im Kontext dieses Dokuments kann es sich bei einem computerlesbaren Speichermedium um jedes gegenständliche Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen beinhalten oder speichern kann.
- Der in einem computerlesbaren Medium ausgebildete Programmcode kann mittels jedes beliebigen geeigneten Mediums übertragen werden, darunter, jedoch nicht beschränkt auf, kabellose, kabelgebundene, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder eine beliebige geeignete Kombination des Vorgenannten. Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder Ähnliches und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen, geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk, darunter ein lokales Netzwerk (local area network (LAN)) oder ein Weitverkehrsnetzwerk (wide area network (WAN)) verbunden sein, oder es kann eine Verbindung zu einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden.
- Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Abbildungen von Ablaufplänen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Abbildungen von Ablaufplänen und/oder den Blockschaubildern durch Computerprogrammanweisungen realisiert werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen erzeugen.
- Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich Anweisungen erzeugen, welche die im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaubildes angegebene Funktion/Handlung ausführen. Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer realisierten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen bereitstellen.
- Der Ablaufplan und das Blockschaubild in den vorstehenden Figuren veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß vielfältigen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block im Ablaufplan oder den Blockschaubildern für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion(en) aufweist. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die im Block angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinander folgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaubilder und/oder Abbildung von Ablaufplänen und Kombinationen von Blöcken in den Blockschaubildern und/oder der Abbildung von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.
- Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung detailliert dargestellt wurden, ist für den Fachmann offensichtlich, dass Änderungen und Anpassungen an diesen Ausführungsformen vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen, wie sie in den folgenden Ansprüchen dargelegt ist.
Claims (16)
- Verfahren für die Bereichsmigration durch eine Prozessoreinheit in einer Datenspeicherumgebung, die für synchrone Replikation zwischen einem Primär- und Sekundärpaar von Speicherentitäten eingerichtet ist, die jeweils mehrschichtige Speichereinheiten besitzen, aufweisend: Senden einer Migrationsanweisung durch die Primärspeicherentität an die Sekundärspeicherentität, wobei die Migrationsanweisung eine relative Priorität auf der Grundlage einer geordneten Primär-Heat-Map der mehrschichtigen Speichereinheiten der Primärspeicherentität enthält; wobei die relative Priorität gegenüber einer geordneten Sekundär-Heat-Map der mehrschichtigen Speichereinheiten der Sekundärspeicherentität verwendet wird, um die Bereichsmigration unabhängig davon durchzuführen, ob die Primär- und Sekundärspeicherentitäten identisch sind.
- Verfahren nach Anspruch 1, wobei die Migrationsanweisung weiterhin eine Zeitdifferenz enthält, die annähert gleich einer Zeit einer beabsichtigten Migration auf der Primärspeicherentität ist, die für eine Übertragungszeit so abgestimmt ist, dass die Primär- und die Sekundärspeicherentitäten die Bereichsmigration zu annähernd derselben Zeit durchführen.
- Verfahren nach Anspruch 1, weiterhin beinhaltend ein Identifizieren eines Bereichs als einen Kandidaten für Bereichsmigration aufgrund mindestens eines Speicheraktivitätsfaktors.
- Verfahren nach Anspruch 2, weiterhin beinhaltend ein Konfigurieren der Migrationsanweisung mit mindestens einem von einem Nachrichtentypfeld, einem Bereichskennungsfeld, einem Zeitdifferenzfeld, in dem die Zeitdifferenz enthalten ist, einem Zielebenennummern-Feld und einem Feld einer relativen Priorität.
- Verfahren nach Anspruch 3 weiterhin beinhaltend bei Empfang der Migrationsanweisung durch die Sekundärspeicherentität: Ermitteln unter Verwendung der relativen Priorität, auf welche der mehrstufigen Speichereinheiten der Sekundärspeicherentität der Bereich migriert werden soll, und der Primärspeicherentität diejenige mehrstufige Speichereinheit der Sekundärspeichentität bestätigen.
- Verfahren nach Anspruch 5, weiterhin beinhaltend ein Ermitteln durch die Primärspeicherentität auf der Grundlage der Bestätigung der Sekundärspeicherentität, ob die Bereichsmigration auf diejenige mehrstufige Speichereinheit durchzuführen ist.
- Verfahren nach Anspruch 6, wobei das Ermitteln, ob die Bereichsmigration durchzuführen ist, ein Berücksichtigen von mindestens einem von einem Lese/Schreib-Verhältnis, einem Verhältnis sequenzieller Zugriffe zu nichtsequenziellen Zugriffen und einer Anforderung der Dienstgüte beinhaltet.
- System für die Bereichsmigration in einer Datenspeicherumgebung, die für synchrone Replikation zwischen einem Primär- und Sekundärpaar von Speicherentitäten eingerichtet ist, die jeweils mehrschichtige Speichereinheiten besitzen, wobei das System aufweist: mindestens ein in der Datenspeicherumgebung betreibbares Speicherverwaltungsmodul, wobei das mindestens eine Speicherverwaltungsmodul eingerichtet ist zum: Senden einer Migrationsanweisung durch die Primärspeicherentität an die Sekundärspeicherentität, wobei die Migrationsanweisung eine relative Priorität auf der Grundlage einer geordneten Primär-Heat-Map der mehrschichtigen Speichereinheiten der Primärspeicherentität enthält; wobei die relative Priorität gegenüber einer geordneten Sekundär-Heat-Map der mehrschichtigen Speichereinheiten der Sekundärspeicherentität verwendet wird, um die Bereichsmigration unabhängig davon durchzuführen, ob die Primär- und Sekundärspeicherentitäten identisch sind.
- System nach Anspruch 8, wobei die Migrationsanweisung weiterhin eine Zeitdifferenz enthält, die annähert gleich einer Zeit einer beabsichtigten Migration auf der Primärspeicherentität ist, die für eine Übertragungszeit so abgestimmt ist, dass die Primär- und die Sekundärspeicherentitäten die Bereichsmigration zu annähernd derselben Zeit durchführen.
- Verfahren nach Anspruch 8, wobei das mindestens eine Speicherverwaltungsmodul weiterhin eingerichtet ist, einen Bereich aufgrund mindestens eines Speicheraktivitätsfaktors als einen Kandidaten für Bereichsmigration zu identifizieren.
- System nach Anspruch 9, wobei das mindestens eine Speicherverwaltungsmodul weiterhin eingerichtet ist, die Migrationsanweisung mit mindestens einem von einem Nachrichtentypfeld, einem Bereichskennungsfeld, einem Zeitdifferenzfeld, in dem die Zeitdifferenz enthalten ist, einem Zielebenennummern-Feld und einem Feld einer relativen Priorität zu konfigurieren.
- System nach Anspruch 10, wobei das mindestens eine Speicherverwaltungsmodul weiterhin eingerichtet ist, bei Empfang der Migrationsanweisung durch die Sekundärspeicherentität: unter Verwendung der relativen Priorität zu ermitteln, auf welche der mehrstufigen Speichereinheiten der Sekundärspeicherentität der Bereich migriert werden soll, und der Primärspeicherentität diejenige mehrstufige Speichereinheit der Sekundärspeicherentität zu bestätigen.
- System nach Anspruch 12, wobei das mindestens eine Speicherverwaltungsmodul weiterhin eingerichtet ist, durch die Primärspeicherentität auf der Grundlage der Bestätigung der Sekundärspeicherentität zu ermitteln, ob die Bereichsmigration auf diejenige mehrstufige Speichereinheit durchzuführen ist.
- System nach Anspruch 13, wobei mindestens ein Speicherverwaltungsmodul weiterhin eingerichtet ist, gemäß dem Ermitteln, ob die Bereichsmigration durchzuführen ist, mindestens eines von einem Lese/Schreib-Verhältnis, einem Verhältnis sequenzieller Zugriffe zu nicht-sequenziellen Zugriffen und einer Anforderung der Dienstgüte zu berücksichtigen.
- System nach Anspruch 8, wobei: das mindestens eine Speicherverwaltungsmodul als eine Speicherverwaltungsprozessor(storage management processor (SMP))-Einheit betreibbar ist, und die Primär- und die Sekundärspeicherentitäten mindestens eine von einer Bandebene, einer Unternehmens-Laufwerk-Ebene, einer Halbleiterlaufwerk(SSD)-Ebene und einer Cachespeicherebene zum Durchführen der Bereichsmigration zwischen ihnen enthalten.
- Computerprogrammprodukt für die Bereichsmigration in einer Datenspeicherumgebung, die für synchrone Replikation zwischen einem Primär- und Sekundärpaar von Speicherentitäten eingerichtet ist, die jeweils mehrschichtige Speichereinheiten besitzen, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit darauf gespeicherten Programmcodeteilen aufweist, wobei die computerlesbaren Programmcodeteile bei Ausführen durch eine Prozessoreinheit den Computer veranlassen, das Verfahren nach einem der Ansprüche 1 bis 7 auszubilden.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/970,832 US8560792B2 (en) | 2010-12-16 | 2010-12-16 | Synchronous extent migration protocol for paired storage |
US12/970,832 | 2010-12-16 | ||
PCT/EP2011/071606 WO2012080001A1 (en) | 2010-12-16 | 2011-12-02 | Extent migration for paired storage |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112011104419T5 true DE112011104419T5 (de) | 2013-09-12 |
DE112011104419B4 DE112011104419B4 (de) | 2022-01-20 |
Family
ID=45063172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112011104419.4T Active DE112011104419B4 (de) | 2010-12-16 | 2011-12-02 | Bereichsmigration für gepaarte Speicherung |
Country Status (5)
Country | Link |
---|---|
US (6) | US8560792B2 (de) |
CN (1) | CN103262019B (de) |
DE (1) | DE112011104419B4 (de) |
GB (1) | GB2500353B (de) |
WO (1) | WO2012080001A1 (de) |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583889B2 (en) | 2010-12-16 | 2013-11-12 | International Business Machines Corporation | Synchronous extent migration protocol for paired storage |
US8560792B2 (en) | 2010-12-16 | 2013-10-15 | International Business Machines Corporation | Synchronous extent migration protocol for paired storage |
US10366100B2 (en) | 2012-07-26 | 2019-07-30 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9881034B2 (en) | 2015-12-15 | 2018-01-30 | Mongodb, Inc. | Systems and methods for automating management of distributed databases |
US8996463B2 (en) | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10346430B2 (en) | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US9805108B2 (en) | 2010-12-23 | 2017-10-31 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US10997211B2 (en) | 2010-12-23 | 2021-05-04 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10614098B2 (en) | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US9740762B2 (en) | 2011-04-01 | 2017-08-22 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10262050B2 (en) | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US8572031B2 (en) | 2010-12-23 | 2013-10-29 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
US10713280B2 (en) | 2010-12-23 | 2020-07-14 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10977277B2 (en) | 2010-12-23 | 2021-04-13 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US9736065B2 (en) | 2011-06-24 | 2017-08-15 | Cisco Technology, Inc. | Level of hierarchy in MST for traffic localization and load balancing |
US8908698B2 (en) | 2012-01-13 | 2014-12-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
WO2014002126A1 (en) * | 2012-06-25 | 2014-01-03 | Hitachi, Ltd. | Computer system and method of controlling i/o with respect to storage apparatus |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10872095B2 (en) | 2012-07-26 | 2020-12-22 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9015413B2 (en) | 2012-10-02 | 2015-04-21 | International Business Machines Corporation | Management of data using inheritable attributes |
US9043439B2 (en) | 2013-03-14 | 2015-05-26 | Cisco Technology, Inc. | Method for streaming packet captures from network access devices to a cloud server over HTTP |
US9152339B1 (en) * | 2013-03-15 | 2015-10-06 | Emc Corporation | Synchronization of asymmetric active-active, asynchronously-protected storage |
CN103605615B (zh) * | 2013-11-21 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种分级存储中基于块级数据的定向分配方法 |
CA2882446A1 (en) * | 2014-02-21 | 2015-08-21 | Coho Data, Inc. | Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities |
US9304689B2 (en) | 2014-03-27 | 2016-04-05 | International Business Machines Corporation | Modeling workload information for a primary storage and a secondary storage |
US9491240B2 (en) * | 2014-06-27 | 2016-11-08 | International Business Machines Corporation | Maintenance of a fabric priority during synchronous copy operations |
US9736241B2 (en) | 2014-06-27 | 2017-08-15 | International Business Machines Corporation | Maintenance of a fabric priority among operations within a fibre channel exchange |
US9614910B2 (en) | 2014-06-27 | 2017-04-04 | International Business Machines Corporation | Maintenance of a fabric priority among operations in related fibre channel exchanges |
US20160013990A1 (en) * | 2014-07-09 | 2016-01-14 | Cisco Technology, Inc. | Network traffic management using heat maps with actual and planned /estimated metrics |
US10122605B2 (en) | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
KR102222337B1 (ko) * | 2014-08-05 | 2021-03-04 | 삼성전자주식회사 | 전자 기기의 어플리케이션 동기화 방법 및 장치 |
US10324798B1 (en) | 2014-09-25 | 2019-06-18 | EMC IP Holding Company LLC | Restoring active areas of a logical unit |
US9825878B2 (en) | 2014-09-26 | 2017-11-21 | Cisco Technology, Inc. | Distributed application framework for prioritizing network traffic using application priority awareness |
US10176212B1 (en) | 2014-10-15 | 2019-01-08 | Seagate Technology Llc | Top level tier management |
US11023488B1 (en) | 2014-12-19 | 2021-06-01 | EMC IP Holding Company LLC | Preserving quality of service when replicating data objects |
CN104571954B (zh) * | 2014-12-26 | 2018-05-18 | 杭州华为数字技术有限公司 | 一种数据存储方法及装置 |
CN105893386B (zh) | 2015-01-04 | 2021-08-06 | 伊姆西Ip控股有限责任公司 | 用于在同步复制***中处理事务的方法和装置 |
KR102343961B1 (ko) * | 2015-01-16 | 2021-12-24 | 주식회사 케이티 | 무선자원관리방법 및 이를 이용하는 액세스 포인트 |
US10708342B2 (en) | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
US10476982B2 (en) | 2015-05-15 | 2019-11-12 | Cisco Technology, Inc. | Multi-datacenter message queue |
US10037369B1 (en) * | 2015-06-26 | 2018-07-31 | EMC IP Holding Company LLC | Storage tiering in replication target based on logical extents |
US10713275B2 (en) | 2015-07-02 | 2020-07-14 | Mongodb, Inc. | System and method for augmenting consensus election in a distributed database |
US10034201B2 (en) | 2015-07-09 | 2018-07-24 | Cisco Technology, Inc. | Stateless load-balancing across multiple tunnels |
US10423626B2 (en) | 2015-09-25 | 2019-09-24 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10846411B2 (en) | 2015-09-25 | 2020-11-24 | Mongodb, Inc. | Distributed database systems and methods with encrypted storage engines |
US10394822B2 (en) | 2015-09-25 | 2019-08-27 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10496491B1 (en) * | 2015-09-30 | 2019-12-03 | EMC IP Holding Company LLC | Cloning a volume drawn from different storage tiers with consistent performance |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
US9940057B2 (en) * | 2015-10-20 | 2018-04-10 | International Business Machines Corporation | I/O statistic based depopulation of storage ranks |
US10523657B2 (en) | 2015-11-16 | 2019-12-31 | Cisco Technology, Inc. | Endpoint privacy preservation with cloud conferencing |
US10205677B2 (en) | 2015-11-24 | 2019-02-12 | Cisco Technology, Inc. | Cloud resource placement optimization and migration execution in federated clouds |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
US10003645B2 (en) | 2015-12-15 | 2018-06-19 | Netapp, Inc. | Method and apparatus for logical mirroring to a multi-tier target node |
US10367914B2 (en) | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
US10482071B1 (en) * | 2016-01-26 | 2019-11-19 | Pure Storage, Inc. | Systems and methods for providing metrics for a plurality of storage entities of a multi-array data storage system |
CN107133228A (zh) * | 2016-02-26 | 2017-09-05 | 华为技术有限公司 | 一种数据重分布的方法及装置 |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10621050B2 (en) | 2016-06-27 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for restoring data from snapshots |
US10659283B2 (en) | 2016-07-08 | 2020-05-19 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10432532B2 (en) | 2016-07-12 | 2019-10-01 | Cisco Technology, Inc. | Dynamically pinning micro-service to uplink port |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10382597B2 (en) | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
US10567344B2 (en) | 2016-08-23 | 2020-02-18 | Cisco Technology, Inc. | Automatic firewall configuration based on aggregated cloud managed information |
CN106406766A (zh) * | 2016-09-23 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
US10303392B2 (en) * | 2016-10-03 | 2019-05-28 | International Business Machines Corporation | Temperature-based disk defragmentation |
US10523592B2 (en) | 2016-10-10 | 2019-12-31 | Cisco Technology, Inc. | Orchestration system for migrating user data and services based on user information |
US10042578B2 (en) | 2016-11-08 | 2018-08-07 | International Business Machines Corporation | Extent migration in multi-tier storage systems |
US11044162B2 (en) | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10334029B2 (en) | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
US10552191B2 (en) | 2017-01-26 | 2020-02-04 | Cisco Technology, Inc. | Distributed hybrid cloud orchestration model |
US10320683B2 (en) | 2017-01-30 | 2019-06-11 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10671571B2 (en) | 2017-01-31 | 2020-06-02 | Cisco Technology, Inc. | Fast network performance in containerized environments for network function virtualization |
US11803453B1 (en) | 2017-03-10 | 2023-10-31 | Pure Storage, Inc. | Using host connectivity states to avoid queuing I/O requests |
US10521344B1 (en) * | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US11005731B2 (en) | 2017-04-05 | 2021-05-11 | Cisco Technology, Inc. | Estimating model parameters for automatic deployment of scalable micro services |
US10866868B2 (en) | 2017-06-20 | 2020-12-15 | Mongodb, Inc. | Systems and methods for optimization of database operations |
US10439877B2 (en) | 2017-06-26 | 2019-10-08 | Cisco Technology, Inc. | Systems and methods for enabling wide area multicast domain name system |
US10382274B2 (en) | 2017-06-26 | 2019-08-13 | Cisco Technology, Inc. | System and method for wide area zero-configuration network auto configuration |
US10892940B2 (en) | 2017-07-21 | 2021-01-12 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US10425288B2 (en) | 2017-07-21 | 2019-09-24 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US10601693B2 (en) | 2017-07-24 | 2020-03-24 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US10541866B2 (en) | 2017-07-25 | 2020-01-21 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
US11481362B2 (en) | 2017-11-13 | 2022-10-25 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US10621059B2 (en) | 2017-12-19 | 2020-04-14 | International Business Machines Corporation | Site recovery solution in a multi-tier storage environment |
US10705882B2 (en) | 2017-12-21 | 2020-07-07 | Cisco Technology, Inc. | System and method for resource placement across clouds for data intensive workloads |
US11595474B2 (en) | 2017-12-28 | 2023-02-28 | Cisco Technology, Inc. | Accelerating data replication using multicast and non-volatile memory enabled nodes |
US10409516B1 (en) * | 2018-01-12 | 2019-09-10 | EMC IP Holding Company LLC | Positional indexing for a tiered data storage system |
US10635609B2 (en) | 2018-03-02 | 2020-04-28 | Samsung Electronics Co., Ltd. | Method for supporting erasure code data protection with embedded PCIE switch inside FPGA+SSD |
US10511534B2 (en) | 2018-04-06 | 2019-12-17 | Cisco Technology, Inc. | Stateless distributed load-balancing |
US10728361B2 (en) | 2018-05-29 | 2020-07-28 | Cisco Technology, Inc. | System for association of customer information across subscribers |
US10904322B2 (en) | 2018-06-15 | 2021-01-26 | Cisco Technology, Inc. | Systems and methods for scaling down cloud-based servers handling secure connections |
US10764266B2 (en) | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US11019083B2 (en) | 2018-06-20 | 2021-05-25 | Cisco Technology, Inc. | System for coordinating distributed website analysis |
US10819571B2 (en) | 2018-06-29 | 2020-10-27 | Cisco Technology, Inc. | Network traffic optimization using in-situ notification system |
US10904342B2 (en) | 2018-07-30 | 2021-01-26 | Cisco Technology, Inc. | Container networking using communication tunnels |
US11604590B2 (en) | 2018-09-06 | 2023-03-14 | International Business Machines Corporation | Metadata track entry sorting in a data storage system |
US11182094B2 (en) | 2018-09-06 | 2021-11-23 | International Business Machines Corporation | Performing a recovery copy command using a recovery copy data structure for a backup volume lookup |
US10754730B2 (en) | 2018-09-06 | 2020-08-25 | International Business Machines Corporation | Copying point-in-time data in a storage to a point-in-time copy data location in advance of destaging data to the storage |
US11182081B2 (en) | 2018-09-06 | 2021-11-23 | International Business Machines Corporation | Performing a recovery copy command to restore a safeguarded copy backup to a production volume |
US10783047B2 (en) | 2018-09-06 | 2020-09-22 | International Business Machines Corporation | Forming a consistency group comprised of volumes maintained by one or more storage controllers |
US10789132B2 (en) | 2018-09-06 | 2020-09-29 | International Business Machines Corporation | Performing a recovery copy command to create a recovery volume for a consistency group |
US10740203B2 (en) | 2018-09-06 | 2020-08-11 | International Business Machines Corporation | Aggregation of updated tracks to be copied to a backup volume for physically contiguous storage on a RAID stride |
US11221955B2 (en) | 2018-09-06 | 2022-01-11 | International Business Machines Corporation | Metadata track selection switching in a data storage system |
US11175999B2 (en) | 2018-09-06 | 2021-11-16 | International Business Machines Corporation | Management of backup volume extents via a tiered storage mechanism |
TWI835837B (zh) * | 2018-09-18 | 2024-03-21 | 南韓商三星電子股份有限公司 | 多裝置的配對系統及配對方法 |
US10606497B1 (en) | 2018-10-24 | 2020-03-31 | International Business Machines Corporation | Systems and methods for managing replication path direction in storage networks |
US11137933B2 (en) * | 2018-10-31 | 2021-10-05 | International Business Machines Corporation | Accelerating transaction execution across geographically dispersed clusters |
US10936454B2 (en) | 2018-11-21 | 2021-03-02 | International Business Machines Corporation | Disaster recovery for virtualized systems |
GB201911619D0 (en) | 2019-08-14 | 2019-09-25 | Lm Wind Power As | Wind turbine blade assembly and method for producing a wind turbine blade |
US11079951B2 (en) | 2019-09-16 | 2021-08-03 | International Business Machines Corporation | Multi-tier storage and mirrored volumes |
CN111064789B (zh) * | 2019-12-18 | 2022-09-20 | 北京三快在线科技有限公司 | 数据迁移的方法和*** |
CN114879642A (zh) * | 2022-05-23 | 2022-08-09 | 重庆邮电大学 | 一种用于车载空调控制器的功能模式状态的管理方法 |
US20240028205A1 (en) * | 2022-07-20 | 2024-01-25 | Dell Products L.P. | Hybrid storage device with data migration for an information handling system |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5313631A (en) | 1991-05-21 | 1994-05-17 | Hewlett-Packard Company | Dual threshold system for immediate or delayed scheduled migration of computer data files |
US6442601B1 (en) | 1999-03-25 | 2002-08-27 | International Business Machines Corporation | System, method and program for migrating files retrieved from over a network to secondary storage |
US6463513B1 (en) | 1999-09-07 | 2002-10-08 | International Business Machines Corporation | Cache storage optimization in a data storage library of a redundant copy synchronization token tracking system |
KR100395768B1 (ko) | 2001-06-16 | 2003-08-21 | 삼성전자주식회사 | 멀티 레벨 캐쉬 시스템 |
US6640291B2 (en) | 2001-08-10 | 2003-10-28 | Hitachi, Ltd. | Apparatus and method for online data migration with remote copy |
JP4728031B2 (ja) | 2005-04-15 | 2011-07-20 | 株式会社日立製作所 | リモートコピーペアの移行を行うシステム |
US7165158B1 (en) | 2005-08-17 | 2007-01-16 | Hitachi, Ltd. | System and method for migrating a replication system |
US20070239803A1 (en) | 2006-03-28 | 2007-10-11 | Yasuyuki Mimatsu | Remote mirroring method between tiered storage systems |
JP5082310B2 (ja) | 2006-07-10 | 2012-11-28 | 日本電気株式会社 | データ移行装置及びプログラム |
WO2008070813A2 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US7698409B2 (en) * | 2006-12-22 | 2010-04-13 | Nokia Corporation | Method and an apparatus for executing timed network operations |
JP2008197779A (ja) | 2007-02-09 | 2008-08-28 | Fujitsu Ltd | 階層型ストレージ管理システム、階層制御装置、階層間ファイル移動方法、及びプログラム |
US8170990B2 (en) * | 2008-05-30 | 2012-05-01 | Hitachi, Ltd. | Integrated remote replication in hierarchical storage systems |
JP2010257094A (ja) * | 2009-04-23 | 2010-11-11 | Hitachi Ltd | 階層ストレージ管理システムにおける移動候補ファイルの抽出方法 |
US8566550B2 (en) * | 2009-09-22 | 2013-10-22 | Hitachi, Ltd. | Application and tier configuration management in dynamic page reallocation storage system |
US9513843B2 (en) * | 2010-04-13 | 2016-12-06 | Dot Hill Systems Corporation | Method and apparatus for choosing storage components within a tier |
US8788768B2 (en) * | 2010-09-29 | 2014-07-22 | International Business Machines Corporation | Maintaining mirror and storage system copies of volumes at multiple remote sites |
US8583889B2 (en) | 2010-12-16 | 2013-11-12 | International Business Machines Corporation | Synchronous extent migration protocol for paired storage |
US8560792B2 (en) | 2010-12-16 | 2013-10-15 | International Business Machines Corporation | Synchronous extent migration protocol for paired storage |
-
2010
- 2010-12-16 US US12/970,832 patent/US8560792B2/en not_active Expired - Fee Related
-
2011
- 2011-12-02 DE DE112011104419.4T patent/DE112011104419B4/de active Active
- 2011-12-02 CN CN201180060043.3A patent/CN103262019B/zh active Active
- 2011-12-02 GB GB1312055.5A patent/GB2500353B/en active Active
- 2011-12-02 WO PCT/EP2011/071606 patent/WO2012080001A1/en active Application Filing
-
2012
- 2012-06-14 US US13/523,673 patent/US8560793B2/en not_active Expired - Fee Related
-
2013
- 2013-10-01 US US14/043,046 patent/US8868871B2/en active Active
-
2014
- 2014-08-14 US US14/459,904 patent/US9207874B2/en active Active
-
2015
- 2015-10-28 US US14/925,711 patent/US9389801B2/en active Active
-
2016
- 2016-06-07 US US15/175,426 patent/US9519435B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
GB2500353B (en) | 2020-05-27 |
US8560793B2 (en) | 2013-10-15 |
US8868871B2 (en) | 2014-10-21 |
US9389801B2 (en) | 2016-07-12 |
DE112011104419B4 (de) | 2022-01-20 |
US20120272030A1 (en) | 2012-10-25 |
US8560792B2 (en) | 2013-10-15 |
CN103262019A (zh) | 2013-08-21 |
US20140032869A1 (en) | 2014-01-30 |
US20160291890A1 (en) | 2016-10-06 |
US20120159097A1 (en) | 2012-06-21 |
US9519435B2 (en) | 2016-12-13 |
GB201312055D0 (en) | 2013-08-21 |
US9207874B2 (en) | 2015-12-08 |
GB2500353A (en) | 2013-09-18 |
WO2012080001A1 (en) | 2012-06-21 |
US20140359217A1 (en) | 2014-12-04 |
CN103262019B (zh) | 2016-03-09 |
US20160048340A1 (en) | 2016-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112011104419B4 (de) | Bereichsmigration für gepaarte Speicherung | |
DE112018000193B4 (de) | Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern | |
DE112013001421B4 (de) | Auf Richtlinien beruhendes Verwalten von Speicherfunktionen in Datenreplikationsumgebungen | |
DE102016221811B4 (de) | Zuordnung von Ressourcen mit mehrschichtigem Speicher | |
DE112019002948T5 (de) | Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen | |
DE69801655T2 (de) | System mit schreibbenachrichtigung während eines datensatzkopiervorgang | |
DE112011101633B4 (de) | Virtualisierung und dynamische Ressourcenzuweisung berücksichtigendes Neuordnen von Speicherebenen | |
DE112011102076B4 (de) | Neuordnen des Zugriffs zum Verringern der Gesamtsuchzeit auf Bandmedien | |
DE102013204186B4 (de) | Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite | |
DE112018003524T5 (de) | Dynamische datenverlagerung unter verwendung von speicherbänken auf cloud-grundlage | |
DE112012005275T5 (de) | Datenauswahl zur Sicherung von Datenspeichern | |
DE102008015185A1 (de) | Hierarchisches Speichersystem mit vorausschauender Datenübertragung | |
DE112018003084T5 (de) | Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen | |
DE60313468T2 (de) | Speicherdienste und -systeme | |
DE102013209528A1 (de) | Benutzergesteuerte Replikation in einem System für synchronisierte Objektreplikationen | |
DE202009019149U1 (de) | Asynchron verteilte Speicherbereinigung für replizierte Speichercluster | |
DE202014010909U1 (de) | Verteilung von Daten in verteilten Speichersystemen | |
DE112012001162T5 (de) | Defragmentierung von Datenspeicherpools | |
DE112011101317T5 (de) | Optimieren eines Dateisystems für unterschiedliche Typen von Anwendungen in einem Datenverarbeitungs-Cluster unter Verwendung von dynamischer Blockgrössen-Granularität | |
DE112013005758T5 (de) | Verfahren und Vorrichtung zur Notfallwiederherstellungsvirtualisierung | |
DE112010004931T5 (de) | Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten( | |
DE112019000421B4 (de) | Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster | |
DE112018005121T5 (de) | Speichersystem unter verwendung von cloud-speicher als eine speicherbank | |
DE112018004138B4 (de) | Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer | |
DE112018005135T5 (de) | Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0003060000 Ipc: G06F0012080000 Effective date: 20130731 |
|
R016 | Response to examination communication | ||
R002 | Refusal decision in examination/registration proceedings | ||
R006 | Appeal filed | ||
R008 | Case pending at federal patent court | ||
R019 | Grant decision by federal patent court | ||
R020 | Patent grant now final | ||
R084 | Declaration of willingness to licence |