DE112018005121T5 - Speichersystem unter verwendung von cloud-speicher als eine speicherbank - Google Patents

Speichersystem unter verwendung von cloud-speicher als eine speicherbank Download PDF

Info

Publication number
DE112018005121T5
DE112018005121T5 DE112018005121.8T DE112018005121T DE112018005121T5 DE 112018005121 T5 DE112018005121 T5 DE 112018005121T5 DE 112018005121 T DE112018005121 T DE 112018005121T DE 112018005121 T5 DE112018005121 T5 DE 112018005121T5
Authority
DE
Germany
Prior art keywords
service
cloud
storage
data access
level
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.)
Pending
Application number
DE112018005121.8T
Other languages
English (en)
Inventor
Lokesh Gupta
Matthew Borlick
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 DE112018005121T5 publication Critical patent/DE112018005121T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation

Abstract

Ein durch einen Computer realisiertes Verfahren zum Verwenden von Cloud-Speicher als eine Speicherbank weist ein Zuordnen von Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Cloud-Schnittstelle; ein Abbilden des zugeordneten Speicherplatzes auf entsprechende virtuelle lokale Adressen; ein Gruppieren der virtuellen lokalen Adressen, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen; ein Umwandeln von lokalen Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen, die für die Cloud-Schnittstelle konfiguriert sind; und ein Übertragen der Cloud-Datenzugriffsanforderungen über die Cloud-Schnittstelle an die eine oder die mehreren Cloud-Speichereinheiten auf.

Description

  • HINTERGRUND
  • Speichernetzwerke wie z.B. Speicherbereichsnetzwerke (Storage Area Networks, SANs) werden dazu verwendet, verschiedene Arten von Datenspeichersystemen mit verschiedenen Arten von Servern (hier auch als „Host-Systeme“ bezeichnet) zu verbinden. Manche Server umfassen verschiedenartige Hardware wie z.B. Datenspeichermedien, Speicher-Controller, Arbeitsspeicher sowie die zugehörigen Stromversorgungssysteme, Kühlsysteme usw.
  • Speicher-Controller steuern den Zugriff auf Datenspeichermedien und Arbeitsspeicher als Reaktion auf Lese- und Schreibanforderungen. Die Speicher-Controller können die Daten im Einklang mit Datenspeichereinheiten wie RAID (Redundant Array of Independent Disks, redundante Anordnung von unabhängigen Festplatten), JBOD (Just a Bunch of Disks) und anderen Redundanz- und Sicherheitsniveaus steuern. Als ein Beispiel verfügt ein IBM® ESS (Enterprise Storage Server) wie z.B. eine DS8000-Serie über redundante Cluster von Computereinheiten, Cache, nichtflüchtigem Speicher (Non-Volatile Storage, NVS) usw.
  • KURZDARSTELLUNG
  • Aspekte der Offenbarung umfassen ein(e) durch einen Computer realisierte(s) Verfahren, Computerprogrammprodukt, Datenverarbeitungseinheit und System zum Verwenden von Cloud-Speicher als eine Speicherbank. Ein Beispielverfahren weist ein Zuordnen von Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Cloud-Schnittstelle; ein Abbilden des zugeordneten Speicherplatzes auf entsprechende virtuelle lokale Adressen; ein Gruppieren der virtuellen lokalen Adressen, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen; ein Umwandeln von lokalen Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen, die für die Cloud-Schnittstelle konfiguriert sind; und ein Übertragen der Cloud-Datenzugriffsanforderungen über die Cloud-Schnittstelle an die eine oder die mehreren Cloud-Speichereinheiten auf.
  • Die obige Kurzdarstellung ist nicht dafür gedacht, jede veranschaulichte Ausführungsform bzw. jede Realisierung der vorliegenden Offenbarung zu beschreiben.
  • Figurenliste
  • Unter der Voraussetzung, dass die Zeichnungen lediglich beispielhafte Ausführungsformen abbilden und daher nicht als Beschränkung des inhaltlichen Umfangs zu verstehen sind, werden die beispielhaften Ausführungsformen mit zusätzlicher Genauigkeit und Detailtreue anhand der beigefügten Zeichnungen beschrieben, bei denen:
    • 1 ein allgemeines Blockschaubild ist, das eine Ausführungsform einer Beispiel-Netzwerkumgebung abbildet;
    • 2 ein allgemeines Blockschaubild ist, das eine Ausführungsform eines Beispiel-Speichersystems abbildet;
    • 3 ein Blockschaubild einer Ausführungsform eines Beispiel-Einheitenadapters ist;
    • 4 ein Ablaufplan ist, der eine Ausführungsform eines Beispielverfahrens eines Verwendens von Cloud-Speicher als eine Speicherbank für einen Speicher-Controller darstellt.
    • Entsprechend der üblichen Praxis sind die verschiedenen beschriebenen Merkmale nicht maßstabsgetreu gezeichnet, sondern gezeichnet, um spezifische Merkmale besonders hervorzuheben, die für die beispielhaften Ausführungsformen relevant sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Bestandteil hiervon bilden und in denen zum Zwecke der Veranschaulichung spezifische veranschaulichende Ausführungsformen gezeigt werden. Dabei sollte jedoch klar sein, dass auch andere Ausführungsformen verwendet werden können und dass logische, mechanische und elektrische Änderungen vorgenommen werden können. Darüber hinaus ist das in den Zeichnungsfiguren und der Beschreibung dargelegte Verfahren nicht als Beschränkung der Reihenfolge zu verstehen, in denen die einzelnen Schritte durchgeführt werden können. Die folgende ausführliche Beschreibung ist somit nicht in einem beschränkenden Sinne zu verstehen.
  • Wie hier verwendet, sind die Phrasen „mindestens ein“, „ein oder mehrere“ sowie „und/oder“ offene Ausdrücke, die sowohl eine konjunktive als auch eine disjunktive Funktion umfassen. Zum Beispiel bedeutet jeder der Ausdrücke „mindestens eines von A, B und C“, „mindestens eines von A, B oder C“, „ein oder mehrere von A, B und C“, „ein oder mehrere von A, B oder C“ und „A, B und/oder C“ nur A, nur B, nur C, A und B, A und C, B und C oder A, B und C. Zusätzlich bezieht sich der Begriff „ein“ auf eines oder mehrere des betreffenden Elements. Somit können die Begriffe „ein“, „ein oder mehrere“ und „mindestens ein“ hier austauschbar verwendet werden. Zu beachten ist ferner, dass die Begriffe „aufweisend“, „umfassend“ und „mit“ austauschbar verwendet werden können. Wie hier verwendet, bezieht sich der Begriff „automatisch“ und Abwandlungen davon auf jeden Prozess oder jede Operation, der bzw. die ohne wesentliche menschliche Eingabe auskommt, wenn der Prozess oder die Operation durchgeführt wird. Eine menschliche Eingabe gilt als wesentlich, wenn eine solche Eingabe festlegt oder steuert, wie oder wann der Prozess oder die Operation durchgeführt wird. Ein Prozess, der eine menschliche Eingabe verwendet, gilt auch dann als automatisch, wenn die Eingabe nicht festlegt oder steuert, wie oder wann der Prozess ausgeführt wird.
  • Wie hier verwendet, werden die Begriffe „ermitteln“, „berechnen“, „rechnen“ und Abwandlungen davon austauschbar verwendet und umfassen jede Art von Methodik, Prozess, mathematischer Operation oder Methode. Im Folgenden soll „in Verbindung“ oder „kommunikativ gekoppelt“ jede sowohl drahtlose als auch drahtgebundene elektrische Verbindung bedeuten, die zwei oder mehr Systemen, Komponenten, Modulen, Einheiten usw. gestattet, unter Verwendung eines beliebigen Protokolls oder Formats Daten, Signale oder andere Informationen auszutauschen. Des Weiteren müssen zwei kommunikativ gekoppelte Komponente nicht direkt miteinander verbunden sein, sondern können auch über andere zwischengelagerte Komponenten oder Einheiten miteinander verbunden sein.
  • 1 ist ein allgemeines Blockschaubild, das eine Ausführungsform einer Beispiel-Netzwerkarchitektur 100 abbildet. Die Netzwerkarchitektur 100 wird lediglich als Beispiel und nicht als Beschränkung vorgelegt. Tatsächlich können die hier offenbarten Systeme und Verfahren zusätzlich zu der in 1 gezeigten Netzwerkarchitektur 100 auf eine breite Vielfalt von verschiedenen Netzwerkarchitekturen anwendbar sein.
  • Wie gezeigt, umfasst die Netzwerkarchitektur 100 einen oder mehrere Clients oder Client-Computer 102-1 bis 102-N, wobei N die Gesamtzahl von Client-Computern ist, und einen oder mehrere Hosts 106-1 bis 106-M, wobei M die Gesamtzahl von Hosts ist (hier auch als „Server-Computer“ 106, „Host-Systeme“ 106 oder „Host-Einheiten“ 106 bezeichnet). Obwohl in 1 fünf Clients 102 gezeigt werden, sollte klar sein, dass bei anderen Ausführungsformen auch andere Anzahlen von Clients 102 verwendet werden können. Zum Beispiel kann bei manchen Ausführungsformen nur ein Client 102 realisiert sein. Bei anderen Ausführungsformen werden mehr als fünf oder weniger als fünf Clients 102 verwendet. Obwohl in 1 vier Clients 106 gezeigt werden, sollte daher klar sein, dass jede geeignete Anzahl von Hosts 106 verwendet werden kann. Zum Beispiel wird bei manchen Ausführungsformen nur ein einziger Host 106 verwendet. Bei anderen Ausführungsformen können mehr als vier oder weniger als vier Speicher-Hosts 106 verwendet werden.
  • Jeder der Client-Computer 102 kann als ein Desktop Computer, tragbarer Computer, Laptop oder Notebook Computer, Netbook, Tablet Computer, Taschencomputer, Smartphone oder jede andere geeignete Art von elektronischer Einheit realisiert sein. Entsprechend kann jeder der Hosts 106 unter Verwendung eines beliebigen geeigneten Host-Computers oder Servers realisiert sein. Solche Server können IBM System z®- und IBM System i®-Server sowie UNIX-Server, Microsoft-Windows-Server und Linux-Plattformen umfassen, ohne jedoch darauf beschränkt zu sein.
  • Die Client-Computer 102 sind über ein Netzwerk 104 mit den Hosts 106 kommunikativ gekoppelt. Das Netzwerk 104 kann zum Beispiel ein lokales Netzwerk (Local Area Network, LAN), ein Weitverkehrsnetzwerk (Wide Area Network, WAN), das Internet, ein Intranet oder Ähnliches umfassen. Im Allgemeinen veranlassen die Client-Computer 102 Datenübertragungssitzungen, während die Server-Computer 106 auf Anforderungen von den Client-Computern 102 warten. Bei bestimmten Ausführungsformen können die Computer 102 und/oder die Server 106 mit einem oder mehreren internen oder externen, direkt verbundenen Speichersystemen 112 verbunden sein (z.B. Anordnungen von Festplattenlaufwerken, Halbleiterlaufwerken, Bandlaufwerken usw.). Diese Computer 102, 106 und direkt verbundenen Speichersystemen 112 können unter Verwendung von Protokollen wie ATA, SATA, SCSI, SAS, Fibre Channel oder Ähnlichem Daten austauschen.
  • Bei bestimmten Ausführungsformen kann die Netzwerkarchitektur 100 den Servern 106 nachgelagert ein Speichernetzwerk 108 wie z.B. ein Speicherbereichsnetzwerk (SAN) 108 oder ein LAN 108 umfassen (z.B. bei Verwendung eines mit einem Netzwerk verbundenen Speichers). In dem in 1 gezeigten Beispiel verbindet das Netzwerk 108 die Server 106 mit einem oder mehreren Speicherteilsystemen 110. Obwohl zu Veranschaulichungszwecken nur ein einziges Speicherteilsystem 110 gezeigt wird, sollte klar sein, dass bei anderen Ausführungsformen mehr als ein Speicherteilsystem 110 verwendet werden kann. Das Speicherteilsystem 110 verwaltet Verbindungen mit Anordnungen von Speichereinheiten 116. Die Anordnungen von Speichereinheiten 116 können Anordnungen von Festplattenlaufwerken und/oder Halbleiterlaufwerken umfassen. Zusätzlich ist in dem in 1 gezeigten Beispiel das Speicherteilsystem 110 konfiguriert, um eine Verbindung mit Speicheranordnungen aus Cloud-Speicher so herzustellen und diese so zu erzeugen, dass der Cloud-Speicher eine lokale Speicheranordnung zu sein scheint, wie weiter unten ausführlicher beschrieben wird.
  • Um auf ein Speicherteilsystem 110 zuzugreifen, kann ein Host-System 106 über physische Verbindungen von einem oder mehreren Anschlüssen in dem Host 106 zu einem oder mehreren Anschlüssen in dem Speicherteilsystem 110 Daten austauschen. Eine Verbindung kann durch einen Switch, eine Fabric, eine direkte Verbindung oder Ähnliches erfolgen. Bei bestimmten Ausführungsformen können die Server 106 und Speicherteilsysteme 110 unter Verwendung eines Netzwerkstandards wie Fibre Channel (FC) oder iSCSI Daten austauschen.
  • 2 ist ein allgemeines Blockschaubild einer Ausführungsform eines Speichersystems 200. Das Speichersystem 200 umfasst eine oder mehrere Anordnungen von Speicherlaufwerken (z.B. Festplattenlaufwerke und/oder Halbleiterlaufwerke). Wie gezeigt, umfasst das Speichersystem 200 ein Speicherteilsystem 210, eine Mehrzahl von Switches 202 und eine Mehrzahl von Speicherlaufwerken 216 wie z.B. Festplattenlaufwerke und/oder Halbleiterlaufwerke (z.B. Laufwerke auf Grundlage eines Flash-Arbeitsspeichers). Das Speicherteilsystem 210 kann einem oder mehreren Hosts (z.B. Open-System- und/oder Mainframe-Servern) ermöglichen, auf Daten auf der Mehrzahl von Speicherlaufwerken 216 zuzugreifen.
  • Bei manchen Ausführungsformen umfasst das Speicherteilsystem 210 einen oder mehrere Speicher-Controller 222. In dem in 2 gezeigten Beispiel umfasst das Speicherteilsystem einen Speicher-Controller 222a und einen Speicher-Controller 222b. Obwohl hierzu Erläuterungszwecken nur zwei Speicher-Controller 226 gezeigt sind, sollte klar sein, dass bei anderen Ausführungsformen mehr als zwei Speicher-Controller verwendet werden können. Das Speicherteilsystem 210 aus 2 umfasst ferner Host-Adapter 224a, 224b und Einheitenadapter 226a, 226b, um das Speicherteilsystem 210 mit Host-Einheiten bzw. Speicherlaufwerken 204 zu verbinden. Mehrere Speicher-Controller 222a, 222b stellen eine Redundanz bereit, um dazu beizutragen sicherzustellen, dass Daten für die verbundenen Hosts verfügbar sind. Wenn somit ein Speicher-Controller (z.B. der Speicher-Controller 222a) ausfällt, kann der andere Speicher-Controller (z.B. 222b) die E/A-Last des ausgefallenen Speicher-Controllers übernehmen, um sicherzustellen, dass die Ein-/Ausgaben zwischen den Hosts und den Speicherlaufwerken 204 weitergehen. Dieser Prozess kann als eine „Funktionsübernahme“ bezeichnet werden.
  • Jeder Speicher-Controller 222 kann einen oder mehrere Prozessoren 228 bzw. Arbeitsspeicher 230 umfassen. Der Arbeitsspeicher 230 kann einen flüchtigen Arbeitsspeicher (z.B. einen RAM) sowie einen nichtflüchtigen Arbeitsspeicher umfassen (z.B. einen ROM, EPROM, EEPROM, Flash-Arbeitsspeicher usw.). Der flüchtige und der nichtflüchtige Arbeitsspeicher können Software-Module speichern, die in dem bzw. den Prozessor(en) 228 ausgeführt werden und für den Zugriff auf Daten auf den Speicherlaufwerken 204 verwendet werden. Die Speicher-Controller 222 können mindestens eine Instanz dieser Software-Module beherbergen. Diese Software-Module können alle Lese- und Schreibanforderungen an logische Datenträger auf den Speicherlaufwerken 204 verwalten.
  • Im Besonderen ist jeder Speicher-Controller 222 über einen entsprechenden Einheitenadapter 226 mit den Speicherlaufwerken 204 kommunikativ gekoppelt. Jeder Einheitenadapter 226 ist konfiguriert, um Eingabe/Ausgabe(E/A)-Zugriffe auf die Speicherlaufwerke 216 zu verwalten. Zum Beispiel organisieren die Einheitenadapter 226 die Speicherlaufwerke 216 logisch und ermitteln, wo auf den Speicherlaufwerken 216 Daten gespeichert werden sollen. Die (auch als Plattenlaufwerksmodule (Disk Drive Modules, (DDMs)) bezeichneten) Speicherlaufwerke 216 können Gruppen von unterschiedlichen Arten von Laufwerken mit unterschiedlichen Leistungsmerkmalen umfassen. Zum Beispiel können die Speicherlaufwerke 216 eine Kombination von (vergleichsweise) langsamen „Nearline“-Platten (z.B. mit einer Umdrehungsgeschwindigkeit von 7.200 Umdrehungen pro Minute (U/min)), SAS-Plattenlaufwerken (z.B. mit 10.000 oder 15.000 U/min) und vergleichsweise schnellen Halbleiterlaufwerken (SSDs) umfassen.
  • Die Einheitenadapter 226 sind über Switches 220 mit den Speicherlaufwerken 216 verbunden. Bei jedem der Switches 220 kann es sich um Fiber Switches handeln, welche die Speicherlaufwerke 216 über Lichtwellenleiterverbindungen mit den Einheitenadaptern verbinden. Die Einheitenadapter 226 gruppieren die Speicherlaufwerke 216 logisch in Anordnungsstandorte 234. Zu Veranschaulichungszwecken ist in 2 ein einziger Anordnungsstandort 234 dargestellt, der aus den Speicherlaufwerken 216 besteht. Dabei sollte jedoch klar sein, dass bei anderen Ausführungsformen mehr als ein Anordnungsstandort enthalten sein kann, der aus den Speicherlaufwerken 216 besteht. Der Anordnungsstandort 234 kann als eine RAID-Anordnung 234 formatiert sein. Dabei sollte klar sein, dass jede Art von RAID-Anordnung (z.B. RAID 0, RAID 5, RAID 10 usw.) verwendet werden kann. Jede RAID-Anordnung wird auch als eine Speicherbank bezeichnet. Jede Speicherbank ist in eine Anzahl von gleich großen Partitionen unterteilt, die als Speicherbereiche bezeichnet werden. Die Größe eines jeden Speicherbereichs kann je nach der Realisierung variieren. Zum Beispiel kann die Größe eines jeden Speicherbereichs zumindest teilweise von der Speicherart des Speicherbereichs abhängig sein. Die Speicherart des Speicherbereichs (z.B. Festblock (FB) oder Count Key Data (CKD)) ist abhängig von der Art eines Hosts, der mit dem Speicherteilsystem verbunden ist (z.B. Open-Systems-Host oder Mainframe-Server). Die Speicherbereiche werden dann zu logischen Datenträgern gruppiert.
  • Das Speicherteilsystem 210 kann verschiedene Verwaltungsmerkmale und - funktionen ermöglichen, z.B. ohne darauf beschränkt zu sein, eine vollständige Plattenverschlüsselung, in einem nichtflüchtigen Speicher (NVS) enthaltene Algorithmen (z.B. für Schwellenwertüberwachung, Zwischenspeicherung, Auslagerung), Speicherpool-Striping (Rotation von Speicherbereichen), dynamische Datenträgererweiterung, dynamische Datenverlagerung, intelligentes Speichern im Schreib-Cache und adaptiver Mehrstrom-Vorablesezugriff. Ein Beispiel für ein Speichersystem 210 mit einer Architektur ähnlich der in 2 veranschaulichten ist das Unternehmensspeichersystem der IBM DS8000™-Serie. Das DS8000™ ist ein Speicherteilsystem mit einer hohen Leistung und Kapazität, das einen Platten- und Halbleiterspeicher bereitstellt, der für die Unterstützung eines kontinuierlichen Betriebs ausgelegt ist. Dessen ungeachtet sind die hier offenbarten Ausführungsformen nicht auf das Unternehmensspeichersystem der IBM DS8000™-Serie beschränkt, sondern können in jedem vergleichbaren oder analogen Speichersystem bzw. in jeder vergleichbaren oder analogen Gruppe von Speichersystemen realisiert sein, unabhängig von dem Hersteller, der Produktbezeichnung oder den Komponenten bzw. Komponentenbezeichnungen, die dem System zugehörig sind. Somit wird das IBM DS8000™ lediglich zu Beispielzwecken genannt und ist nicht als Beschränkung gedacht.
  • Zusätzlich umfasst in der in 2 gezeigten Ausführungsform jeder der Einheitenadapter 226 einen entsprechenden Netzwerkanschluss 232 wie z.B. einen Ethernet-Anschluss, der den Einheitenadapter 226 über ein Netzwerk wie z.B. das Internet mit den Cloud-Speichereinheiten 214 kommunikativ koppelt. In dem in 2 gezeigten Beispiel umfasst jeder Einheitenadapter 226 des Weiteren ein entsprechendes Umwandlungsmodul 232, das konfiguriert ist, um Cloud-Speichereinheiten 214 virtuellen RAID-Anordnungen zuzuordnen und in diesen zu gruppieren, so dass die Cloud-Speichereinheiten 214 für die Speicher-Controller 222b eine lokale RAID-Anordnung oder eine lokale Speicherbank zu sein scheinen. Auf diese Weise sind die Merkmale und Funktionen der Speicher-Controller 222, die für die lokalen Speicherbänke wie z.B. die RAID-Anordnung 234 verfügbar sind, auch für die Cloud-Speicherbank 214 verfügbar.
  • Wie weiter unten mit Blick auf die 3 und 4 ausführlicher beschrieben, ist das Umwandlungsmodul 232 konfiguriert, um eine Umwandlung zwischen Speicher-Controller-Befehlen und/oder E/A-Zugriffen und Cloud-Schnittstellenbefehlen und/oder E/A-Zugriffen vorzunehmen. Obwohl in diesem Beispiel ein Umwandlungsmodul 232 in den Einheitenadaptern 226 enthalten ist, sollte erwähnt werden, dass das Umwandlungsmodul 232 bei anderen Ausführungsformen in den Speicher-Controllern 222 enthalten sein kann. Im Besonderen umfasst bei manchen Ausführungsformen jeder Speicher-Controller 222 ein entsprechendes Umwandlungsmodul, das die Umwandlung für Befehle an den entsprechenden Einheitenadapter 226 vornimmt.
  • Somit ermöglichen die hier beschriebenen Ausführungsformen Vorteile gegenüber herkömmlichen Cloud-Speichersystemen. Zum Beispiel ermöglichen herkömmliche Cloud-Speichersysteme in der Regel eine vergleichsweise grundlegende Funktionalität wie Fernarchivierung, Sicherung und Wiederherstellung. Allerdings sind solche herkömmlichen Systeme nicht in der Lage, fortschrittliche Verwaltungsfunktionen für die in der Cloud gespeicherten Daten durchzuführen, z.B. die oben erwähnten Verwaltungsfunktionen (beispielsweise NVS-Algorithmen, z.B. für Schwellenwertüberwachung, Zwischenspeicherung und Auslagerung). Durch die Verwendung des weiter unten ausführlicher beschriebenen Umwandlungsmoduls 232 ermöglichen die hier beschriebenen Ausführungsformen somit die Durchführung von fortschrittlichen Verwaltungsmerkmalen für in Cloud-Speichereinheiten gespeicherte Daten, was für herkömmliche Cloud-Speichersysteme nicht verfügbar ist. Im Besonderen sind die Speicher-Controller 222 und Einheitenadapter 226 durch die Verwendung des Umwandlungsmoduls 232 in der Lage, auf die virtuellen RAID-Anordnungen oder Speicherbänke, die aus Cloud-Speicher bestehen, so zuzugreifen und sie zu nutzen, als ob die virtuellen RAID-Anordnungen kein entfernt angeordneter Speicher, sondern mit den Einheitenadaptern 226 verbundene lokale Laufwerke wären. Auf diese Weise sind die für lokale Laufwerke verfügbaren selben Verwaltungsmerkmale/-funktionen, wie die oben erwähnten, auch für den entfernt angeordneten Cloud-Speicher verfügbar, ohne dass der darunterliegende Code und/oder die Hardware geändert werden müssen, die der Realisierung dieser Verwaltungsmerkmale zugehörig sind.
  • 3 ist ein Blockschaubild einer Ausführungsform einer Beispiel-Datenverarbeitungseinheit 300, die als ein Einheitenadapter wie z.B. die Einheitenadapter 226 oder als ein Speicher-Controller wie z.B. die Speicher-Controller 222 realisiert sein kann. Zu Erläuterungszwecken wird die Datenverarbeitungseinheit 300 hier in Bezug auf einen Einheitenadapter beschrieben. In dem in 3 gezeigten Beispiel umfasst der Einheitenadapter 300 einen Arbeitsspeicher 325, einen Speicher 335, eine Zwischenverbindung 340 (z. B. einen BUS), einen oder mehrere Prozessoren 305 (hier auch als CPU 305 bezeichnet), eine E/A-Einheitenschnittstelle 350 und einen Netzwerkadapter oder - anschluss 315.
  • Jede CPU 305 ruft in dem Arbeitsspeicher 325 und/oder dem Speicher 335 gespeicherte Programmieranweisungen ab und führt sie aus. Die Zwischenverbindung 340 dient zum Verschieben von Daten wie z.B. Programmieranweisungen zwischen der CPU 305, der E/A-Einheitenschnittstelle 350, dem Speicher 335, dem Netzwerkadapter 315 und dem Arbeitsspeicher 325. Eine Zwischenverbindung 340 kann unter Verwendung eines oder mehrerer Busse realisiert sein. Bei verschiedenen Ausführungsformen können die CPUs 305 eine einzige CPU, mehrere CPUs oder eine einzige CPU mit mehreren Verarbeitungskernen sein. Bei manchen Ausführungsformen kann ein Prozessor 305 ein digitaler Signalprozessor (DSP) sein. Der Arbeitsspeicher 325 ist im Allgemeinen in Form eines Direktzugriffsspeichers (z.B. eines statischen Direktzugriffsspeichers (Static Random Access Memory, SRAM), eines dynamischen Direktzugriffsspeichers (Dynamic Random Access Memory, DRAM) oder eines Flash-Speichers) umfassen. Der Speicher 335 ist im Allgemeinen enthalten, um für einen nichtflüchtigen Arbeitsspeicher wie z.B. ein Festplattenlaufwerk, eine Halbleitereinheit (Solid State Device, SSD), entfernbare Speicherkarten, einen optischen Speicher oder Flash-Speichereinheiten repräsentativ zu sein.
  • Bei manchen Ausführungsformen speichert der Arbeitsspeicher 325 Cloud-Umwandlungsanweisungen 301, und der Speicher 335 speichert eine Abbildtabelle 307. Allerdings werden bei verschiedenen Ausführungsformen die Cloud-Umwandlungsanweisungen 301 und die Abbildtabelle 307 teilweise in dem Arbeitsspeicher 325 und teilweise in dem Speicher 335 gespeichert, oder sie werden vollständig in dem Arbeitsspeicher 325 oder vollständig in dem Speicher 335 gespeichert.
  • Bei Ausführung durch die CPU 305 veranlassen die Cloud-Umwandlungsanweisungen 301 die CPU 305, die Abbildtabelle 307 zu verwenden, um das weiter oben in Bezug auf 2 erläuterte Umwandlungsmodul zu realisieren. Obwohl die Cloud-Umwandlungsanweisungen 301 und die Abbildtabelle 307 als in einem Einheitenadapter 300 gespeichert und durch ihn ausgeführt/verwendet abgebildet sind, ist zu beachten, dass bei anderen Ausführungsformen die Cloud-Umwandlungsanweisungen 301 und die Abbildtabelle 307 in einem Speicher-Controller wie z.B. dem in 2 gezeigten Speicher-Controller 222a und/oder dem Speicher-Controller 222b gespeichert und durch ihn ausgeführt/verwendet werden können. Die Cloud-Umwandlungsanweisungen 301 veranlassen die CPU 305, Speicherplatz in Cloud-Speichereinheiten wie z.B. den in 2 abgebildeten Cloud-Speichereinheiten 214 zuzuordnen. Der Speicherplatz kann statisch oder nach Bedarf zugeordnet werden. Zum Beispiel kann der Speicherplatz im Vorhinein oder während der Laufzeit zugeordnet werden. Des Weiteren können die Cloud-Speicherbänke mit unterschiedlicher Speicherkapazität erzeugt werden.
  • Die Cloud-Umwandlungsanweisungen 301 veranlassen die CPU 305 des Weiteren, den zugeordneten Speicher in eine oder mehrere virtuelle Speicherbänke zu gruppieren und eine Abbildung zwischen den Cloud-Speichereinheiten und der einen oder den mehreren virtuellen Speicherbänken in Abbildtabelle 307 zu speichern. Im Besonderen veranlassen die Cloud-Umwandlungsanweisungen 301 die CPU 305 zur Erzeugung der Abbildtabelle 307, die den zugeordneten Speicherplatz auf entsprechende virtuelle lokale Adressen abbildet und die virtuellen lokalen Adressen gruppiert, um eine oder mehrere virtuelle lokale Speicherbänke oder RAID-Anordnungen zu erzeugen. Somit scheinen die virtuellen Speicherbänke von Cloud-Speicher für einen Speicher-Controller, der über die E/A-Einheitenschnittstellen 350 mit dem Einheitenadapter 300 kommunikativ gekoppelt ist, lokale, direkt verbundene Speicherbänke zu sein. Die E/A-Einheitenschnittstellen 350 koppeln außerdem den Einheitenadapter 300 kommunikativ mit lokalen Speicherbänken von Speichereinheiten wie z.B. Halbleiterlaufwerken und Nearline-Laufwerken (z.B. den oben erläuterten Speicherlaufwerken 216). Die E/A-Einheitenschnittstellen 350 können zum Beispiel Lichtwellenleiter-Anschlüsse umfassen.
  • Wenn ein E/A-Zugriff (z.B. eine Lese- oder Schreibanforderung) empfangen wird, veranlassen die Cloud-Umwandlungsanweisungen 301 die CPU 305, zu ermitteln, ob die Anforderung auf Daten gerichtet ist, die in einer virtuellen Speicherbank eines Cloud-Speichers gespeichert sind. Wenn die Anforderung auf Daten gerichtet ist, die in einer virtuellen Speicherbank eines Cloud-Speichers gespeichert sind, wandeln die Cloud-Umwandlungsanweisungen 301 den E/A-Zugriff für eine Übertragung über eine Cloud-Schnittstelle an die Cloud-Speichereinheit um. Zum Beispiel können die Cloud-Umwandlungsanweisungen 301 den E/A-Zugriff unter Verwendung von Befehlen, eines Formats, einer Einheitenadresse usw. umwandeln, die durch die Cloud-Schnittstelle für den Zugriff auf die Cloud-Speichereinheiten verwendet werden. Wie hier verwendet, können die Begriffe E/A-Zugriff, Lese/Schreibzugriff und Datenzugriff austauschbar verwendet werden. Ohne darauf beschränkt zu sein, können beispielhafte Cloud-Schnittstellen den IBM® Cloud Manager oder die Amazon® Simple Storage Service(Amazon S3)-Schnittstelle umfassen. Wie weiter oben erläutert, machen die Cloud-Umwandlungsanweisungen 301 Cloud-Speicher somit ähnlich wie andere lokale Speichereinheiten auf transparente Art und Weise für einen Speicher-Controller verfügbar.
  • Zusätzlich kann der Einheitenadapter 300 bei manchen Ausführungsformen mehrere Dienstniveaus für eine Speicherung und Verbindung mit der virtuellen Speicherbank eines Cloud-Speichers ermöglichen. Zum Beispiel gibt es bei manchen derartigen Ausführungsformen drei Dienstniveaus. Allerdings können bei anderen Ausführungsformen, die mehrere Dienstniveaus bereitstellen, zwei oder mehr als drei Dienstniveaus bereitgestellt werden. In diesem Beispiel werden drei Dienstniveaus verwendet, und die Auswahl des Dienstniveaus erfolgt auf Grundlage der Komprimierbarkeit der Daten, einer entsprechenden Eingabe/Ausgabe-Datenrate für die virtuellen lokalen Speicherbänke und einer Dienstniveauvereinbarung (Service Level Agreement, SLA). Wenn eine Dienstniveauvereinbarung zum Beispiel eine geringe Dienstgüte angibt, die E/A-Datenrate für die virtuelle lokale Speicherbank unter einem Schwellenwert liegt und die Daten, auf die zugegriffen wird, komprimierbar sind, wird ein erstes Dienstniveau ausgewählt. Eine geringe Dienstgüte kann jede Dienstgüte unterhalb eines vordefinierten Schwellenwerts für das Dienstniveau sein. Das erste Dienstniveau ist das niedrigste Dienstniveau aus den drei Optionen in diesem Beispiel. Es kann zum Beispiel höhere Latenzen und einen geringeren Durchsatz als die beiden anderen Dienstniveaus umfassen. Wenn die Dienstniveauvereinbarung eine geringe Dienstgüte angibt, die E/A-Datenrate für die virtuelle lokale Speicherbank unter einem Schwellenwert liegt und die Daten nicht komprimierbar sind, wird das zweite Dienstniveau ausgewählt. Das zweite Dienstniveau weist einen höheren Durchsatz und/oder weniger Latenz als das erste Dienstniveau auf. Das letzte oder dritte Dienstniveau wird für alle anderen Daten verwendet (z.B. wenn die SLA ein Dienstniveau über dem vordefinierten Schwellenwert angibt und/oder die E/A-Datenrate über einem Schwellenwert liegt). Das dritte Dienstniveau weist einen höheren Durchsatz und/oder weniger Latenz als das erste und zweite Dienstniveau auf. Indem verschiedene Dienstniveaus bereitgestellt werden, kann der Einheitenadapter 326 die virtuellen Speicherbänke eines Cloud-Speichers nutzen, um bei der Erfüllung der Kundenanforderungen an Datenspeicherung und -zugriff eine größere Flexibilität bereitzustellen. Obwohl das erste, zweite und dritte Beispielniveau mit Blick auf Latenz und Durchsatz als unterschiedlich beschrieben werden, ist darauf hinzuweisen, dass zur Unterscheidung der Dienstniveaus auch andere Faktoren herangezogen werden können. Zum Beispiel weisen bei manchen Ausführungsformen die drei Dienstniveaus dieselbe Latenz und denselben Durchsatz, aber unterschiedliche Kosten- und Redundanzniveaus auf.
  • 4 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens 400 eines Verwendens von Cloud-Speicher als eine Speicherbank darstellt. Das Verfahren 400 kann durch einen Einheitenadapter wie z.B. die Einheitenadapter 226 oder durch einen Speicher-Controller wie z.B. die Speicher-Controller 222 realisiert sein. Zum Beispiel kann das Verfahren 300 durch eine CPU wie z.B. die CPU 305 in der Datenverarbeitungseinheit 300 realisiert sein, die Anweisungen wie z.B. die Cloud-Umwandlungsanweisungen 301 ausführt. Dabei sollte klar sein, dass die Reihenfolge von Aktionen in dem Beispielverfahren 400 zu Erläuterungszwecken bereitgestellt wird und dass das Verfahren bei anderen Ausführungsformen in einer anderen Reihenfolge durchgeführt werden kann. Entsprechend versteht sich von selbst, dass bei anderen Ausführungsformen manche Aktionen weggelassen oder zusätzliche Aktionen hinzugefügt werden können.
  • In Block 402 wird Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Cloud-Schnittstelle zugeordnet. Eine Cloud-Schnittstelle ist eine Schnittstelle, die konfiguriert ist, um einen Zugriff auf die Cloud-Speichereinheiten zu ermöglichen. Zum Beispiel kann die Cloud-Schnittstelle als eine Anwendungsprogrammschnittstelle (Application Programming Interface, API) realisiert sein. Beispiel-Cloud-Schnittstellen werden weiter oben erläutert. Ein Zuordnen des Cloud-Speichers kann ein Anfordern einer angegebenen Menge an Speicher über die Cloud-Schnittstelle umfassen. Dieser Speicherplatz kann statisch angefordert werden, bevor er benötigt wird, oder er kann dynamisch angefordert werden, sobald Speicherplatz benötigt wird. Wie hier verwendet, handelt es sich bei Cloud-Speichereinheiten zudem um Speichereinheiten, auf die nicht über ein lokales Netzwerk oder eine direkte Datenübertragungsleitung, sondern über ein Weitverkehrsnetzwerk wie z. B. das Internet zugegriffen wird.
  • In Block 404 wird der zugeordnete Speicherplatz auf entsprechende virtuelle lokale Adressen abgebildet. Zum Beispiel weist bei manchen Ausführungsformen der Einheitenadapter oder Speicher-Controller den zugeordneten Speicherplatz entsprechenden virtuellen lokalen Adressen zu. Wie hier verwendet, ist eine virtuelle lokale Adresse eine Arbeitsspeicheradresse, die eine Adresse einer Speichereinheit zu sein scheint, die über eine lokale Verbindung mit dem Einheitenadapter verbunden ist. Eine lokale Verbindung bezieht sich auf eine Verbindung, die nicht über ein Weitverkehrsnetzwerk oder ein entfernt angeordnetes Netzwerk wie beispielsweise das Internet hergestellt wird.
  • In Block 406 werden die virtuellen lokalen Adressen, die dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten entsprechen, gruppiert oder organisiert, um eine oder mehrere virtuelle lokale Speicherbänke (z.B. RAID-Anordnungen) zu erzeugen. Somit werden die virtuellen lokalen Adressen so angeordnet, dass sie als eine lokale RAID-Anordnung von Speichereinheiten direkt mit dem Einheitenadapter verbunden zu sein scheinen.
  • In Block 408 werden lokale Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen umgewandelt, die gemäß der Cloud-Schnittstelle (z.B. gemäß Anforderungen der API der Cloud-Schnittstelle) konfiguriert sind. Wie hier verwendet, handelt es sich bei lokalen Datenzugriffsanforderungen um Anforderungen, welche die virtuellen lokalen Adressen verwenden und gemäß Anforderungen des Einheitenadapters für ein Zugreifen auf lokale, direkt mit dem Einheitenadapter verbundene RAID-Anordnungen formatiert sind. Entsprechend handelt es sich bei Cloud-Datenzugriffsanforderungen um Datenzugriffsanforderungen, die gemäß Anforderungen der Cloud-Schnittstelle konfiguriert sind und Adressen für die Cloud-Speichereinheiten verwenden. Die Datenzugriffsanforderungen können Lese- und SchreibAnforderungen sowie verschiedene Verwaltungsmerkmale wie Schwellenwertfestlegung, Datenverschlüsselung usw. umfassen.
  • In Block 410 werden die umgewandelten Cloud-Datenzugriffsanforderungen über die Cloud-Schnittstelle und einen Netzwerkanschluss des Einheitenadapters an die eine oder die mehreren Cloud-Speichereinheiten übertragen. Auf diese Weise ermöglicht das Verfahren 400 wie oben beschrieben einem Speicherteilsystem, Cloud-Speicher mit denselben für den Cloud-Speicher verfügbaren Merkmalen zu verwenden, wie dies für lokale RAID-Anordnungen der Fall ist, die über eine lokale Verbindung mit dem Einheitenadapter verbunden sind.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandseinstellende Daten, Konfigurationsdaten für eine integrierte Schaltung oder sowohl um Quellcode als auch um Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, 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 Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, Field Programmable Gate Arrays) oder programmierbare Logikanordnungen (PLA, Programmable Logic Arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaubilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • BEISPIELAUSFÜHRUNGSFORM EN
  • Beispiel 1 umfasst ein durch einen Computer realisiertes Verfahren zum Verwenden von Cloud-Speicher als eine Speicherbank. Das Verfahren weist ein Zuordnen von Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Cloud-Schnittstelle; ein Abbilden des zugeordneten Speicherplatzes auf entsprechende virtuelle lokale Adressen; ein Gruppieren der virtuellen lokalen Adressen, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen; ein Umwandeln von lokalen Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen, die für die Cloud-Schnittstelle konfiguriert sind; und ein Übertragen der Cloud-Datenzugriffsanforderungen über die Cloud-Schnittstelle an die eine oder die mehreren Cloud-Speichereinheiten auf.
  • Beispiel 2 umfasst das Verfahren aus Beispiel 1, wobei ein Übertragen der Cloud-Datenzugriffsanforderung des Weiteren ein Zuweisen eines ersten Dienstniveaus, eines zweiten Dienstniveaus oder eines dritten Dienstniveaus zu der Cloud-Datenzugriffsanforderung aufweist. Das erste Dienstniveau hat höhere Latenzen und einen geringen Durchsatz als die zweiten und dritten Dienstniveaus, und das zweite Dienstniveau hat höhere Latenzen und einen geringeren Durchsatz als das dritte Dienstniveau.
  • Beispiel 3 umfasst das Verfahren aus Beispiel 2, des Weiteren aufweisend ein Zuweisen des ersten Dienstniveaus zu der Cloud-Datenzugriffsanforderung als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten komprimierbar sind.
  • Beispiel 4 umfasst das Verfahren aus einem beliebigen der Beispiele 2 und 3, des Weiteren aufweisend ein Zuweisen des zweiten Dienstniveaus zu der Cloud-Datenzugriffsanforderung als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind.
  • Beispiel 5 umfasst das Verfahren aus einem beliebigen der Beispiele 2 bis 4, des Weiteren aufweisend ein Zuweisen des dritten Dienstniveaus zu der Cloud-Datenzugriffsanforderung als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder eine Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt.
  • Beispiel 6 umfasst das Verfahren aus einem beliebigen der Beispiele 1 bis 5, wobei ein Gruppieren der virtuellen lokalen Adressen, um eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen, ein Gruppieren der virtuellen lokalen Adressen aufweist, um eine Mehrzahl von virtuellen lokalen Speicherbänken zu erzeugen, wobei jede aus der Mehrzahl von virtuellen lokalen Speicherbänken eine andere Größe aufweist.
  • Beispiel 7 umfasst ein Speichersystem. Das Speichersystem weist einen Host-Adapter mit einem oder mehreren Anschlüssen, die konfiguriert sind, um den Host-Adapter mit einer oder mehreren Host-Einheiten kommunikativ zu koppeln; einen Speicher-Controller, der einen Prozessor und einen Arbeitsspeicher aufweist, wobei der Speicher-Controller mit dem Host kommunikativ gekoppelt ist; und einen Einheitenadapter auf, der einen Prozessor und einen Arbeitsspeicher aufweist, wobei der Einheitenadapter mit dem Speicher-Controller kommunikativ gekoppelt ist. Der Einheitenadapter weist des Weiteren eine Mehrzahl von Anschlüssen, die mit einer Mehrzahl von lokalen Speicherlaufwerken kommunikativ gekoppelt sind, und mindestens einen Netzwerkanschluss auf, der über ein Netzwerk mit einer Mehrzahl von Cloud-Speichereinheiten kommunikativ gekoppelt ist. Entweder der Einheitenadapter oder der Speicher-Controller ist des Weiteren konfiguriert, um ein Umwandlungsmodul zu realisieren. Das Umwandlungsmodul ist konfiguriert, um Speicherplatz in einer oder mehreren der Cloud-Speichereinheiten zuzuordnen; den zugeordneten Speicherplatz entsprechenden virtuellen lokalen Adressen zuzuweisen; den zugeordneten Speicherplatz in eine oder mehrere virtuelle lokale redundante Anordnungen von unabhängigen Festplatten (RAID-Anordnungen) zu organisieren; und lokale Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen RAID-Anforderungen in Cloud-Datenzugriffsanforderungen umzuwandeln, die gemäß Anforderungen einer Anwendungsprogrammschnittstelle (API) zum Zugreifen auf die Mehrzahl von Cloud-Speichereinheiten konfiguriert sind.
  • Beispiel 8 umfasst das Speichersystem aus Beispiel 7, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um der Cloud-Datenzugriffsanforderung ein erstes Dienstniveau, ein zweites Dienstniveau oder ein drittes Dienstniveau zuzuweisen. Das erste Dienstniveau hat höhere Latenzen und einen geringen Durchsatz als die zweiten und dritten Dienstniveaus, und das zweite Dienstniveau hat höhere Latenzen und einen geringeren Durchsatz als das dritte Dienstniveau.
  • Beispiel 9 umfasst das Speichersystem aus Beispiel 8, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten komprimierbar sind, der Cloud-Datenzugriffsanforderung das erste Dienstniveau zuzuweisen.
  • Beispiel 10 umfasst das Speichersystem aus einem beliebigen der Beispiele 8 und 9, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind, der Cloud-Datenzugriffsanforderung das zweite Dienstniveau zuzuweisen.
  • Beispiel 11 umfasst das Speichersystem aus einem beliebigen der Beispiele 8 bis 10, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder eine Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt, der Cloud-Datenzugriffsanforderung das dritte Dienstniveau zuzuweisen.
  • Beispiel 12 umfasst das Speichersystem aus einem beliebigen der Beispiele 7 bis 11, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um den zugeordneten Speicherplatz in eine Mehrzahl von virtuellen lokalen RAID-Anordnungen zu organisieren, wobei jede aus der Mehrzahl von virtuellen lokalen RAID-Anforderungen eine andere Größe aufweist.
  • Beispiel 13 umfasst das Speichersystem aus einem beliebigen der Beispiel 7 bis 12, wobei der Netzwerkanschluss des Einheitenadapters ein Ethernet-Anschluss ist.
  • Beispiel 14 umfasst ein Computerprogrammprodukt, aufweisend ein durch einen Computer lesbares Speichermedium mit einem darin gespeicherten, durch einen Computer lesbaren Programm. Das durch einen Computer lesbare Programm veranlasst bei Ausführung durch einen Prozessor den Prozessor, Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Cloud-Schnittstelle zuzuordnen; den zugeordneten Speicherplatz auf entsprechende virtuelle lokale Adressen abzubilden; die virtuellen lokalen Adressen zu gruppieren, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale redundante Anordnungen von Festplatten(RAID)-Anordnungen zu erzeugen; lokale Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen RAID-Anforderungen in Cloud-Datenzugriffsanforderungen umzuwandeln, die für die Cloud-Schnittstelle konfiguriert sind; und die Cloud-Datenzugriffsanforderungen über die Cloud-Schnittstelle an die eine oder die mehreren Cloud-Speichereinheiten zu übertragen.
  • Beispiel 15 umfasst das Computerprogrammprodukt aus Beispiel 14, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, der Cloud-Datenzugriffsanforderung ein erstes Dienstniveau, ein zweites Dienstniveau oder ein drittes Dienstniveau zuzuweisen. Das erste Dienstniveau hat höhere Latenzen und einen geringen Durchsatz als das zweite und dritte Dienstniveau, und das zweite Dienstniveau hat höhere Latenzen und einen geringeren Durchsatz als das dritte Dienstniveau.
  • Beispiel 16 umfasst das Computerprogrammprodukt aus Beispiel 15, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten komprimierbar sind, der Cloud-Datenzugriffsanforderung das erste Dienstniveau zuzuweisen.
  • Beispiel 17 umfasst das Computerprogrammprodukt aus einem beliebigen der Beispiele 15 und 16, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind, der Cloud-Datenzugriffsanforderung das zweite Dienstniveau zuzuweisen.
  • Beispiel 18 umfasst das Computerprogrammprodukt aus einem beliebigen der Beispiele 15 bis 17, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder eine Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt, der Cloud-Datenzugriffsanforderung das dritte Dienstniveau zuzuweisen.
  • Beispiel 19 umfasst das Computerprogrammprodukt aus einem beliebigen der Beispiele 14 bis 18, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, die virtuellen lokalen Adressen zu gruppieren, um eine Mehrzahl von virtuellen lokalen RAID-Anordnungen zu erzeugen, wobei jede aus der Mehrzahl von virtuellen lokalen RAID-Anforderungen eine andere Größe aufweist.
  • Beispiel 20 umfasst das Computerprogrammprodukt aus einem beliebigen der Beispiele 14 bis 19, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, lokale Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen RAID-Anordnungen entsprechend den Anforderungen einer Anwendungsprogrammschnittstelle (API) der Cloud-Schnittstelle in Cloud-Datenzugriffsanforderungen umzuwandeln.
  • Beispiel 21 umfasst eine Datenverarbeitungseinheit. Die Datenverarbeitungseinheit weist einen Netzwerkadapter, der konfiguriert ist, um die Datenverarbeitungseinheit über ein Netzwerk mit einer oder mehreren Cloud-Speichereinheiten kommunikativ zu koppeln; ein Speichermedium, das konfiguriert ist, um Daten zu speichern; und einen Prozessor auf, der mit dem Netzwerkadapter und dem Speichermedium kommunikativ gekoppelt ist. Der Prozessor ist konfiguriert, um Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Anwendungsprogrammschnittstelle (API) zuzuordnen, die der einen oder den mehreren Cloud-Speichereinheiten zugehörig ist; eine Abbildtabelle zu erzeugen, die den zugeordneten Speicherplatz auf entsprechende virtuelle lokale Adressen abbildet und die virtuellen lokalen Adressen gruppiert, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen, wobei die Abbildtabelle in dem Speichermedium gespeichert ist; Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen umzuwandeln, die für die API konfiguriert sind, die der einen oder den mehreren Cloud-Speichereinheiten zugehörig ist; und die Cloud-Datenzugriffsanforderungen über die API, die der einen oder den mehreren Cloud-Speichereinheiten zugehörig ist, an die eine oder die mehreren Cloud-Speichereinheiten zu übertragen.
  • Beispiel 22 umfasst die Datenverarbeitungseinheit aus Beispiel 21, wobei der Prozessor des Weiteren konfiguriert ist, um der Cloud-Datenzugriffsanforderung zumindest teilweise auf Grundlage einer Komprimierbarkeit von Daten, die der Cloud-Datenzugriffsanforderung zugehörig sind, einer Eingabe/Ausgabe-Datenrate, die der einen oder den mehreren virtuellen lokalen Speicherbänken zugehörig ist, und einer Dienstgütevereinbarung ein erstes Dienstniveau, ein zweites Dienstniveau oder ein drittes Dienstniveau zuzuweisen.
  • Beispiel 23 umfasst die Datenverarbeitungseinheit aus Beispiel 22, wobei der Prozessor des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass die Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, die Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und die der Datenzugriffsanforderung zugehörigen Daten komprimierbar sind, der Cloud-Datenzugriffsanforderung das erste Dienstniveau zuzuweisen.
  • Beispiel 24 umfasst die Datenverarbeitungseinheit aus einem beliebigen der Beispiele 22 und 23, wobei der Prozessor des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass die Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, die Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und die der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind, der Cloud-Datenzugriffsanforderung das zweite Dienstniveau zuzuweisen.
  • Beispiel 25 umfasst die Datenverarbeitungseinheit aus einem beliebigen der Beispiele 22 bis 24, wobei der Prozessor des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass die Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder die Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt, der Cloud-Datenzugriffsanforderung das dritte Dienstniveau zuzuweisen.
  • Obwohl hier spezifische Ausführungsformen veranschaulicht und beschrieben wurden, sollte für den Fachmann offensichtlich sein, dass anstelle der gezeigten spezifischen Ausführungsformen jede Anordnung verwendet werden kann, die zur Erfüllung desselben Zwecks dient. Es ist somit ausdrücklich beabsichtigt, dass diese Erfindung ausschließlich durch die Ansprüche und deren Entsprechungen beschränkt wird.

Claims (25)

  1. Durch einen Computer realisiertes Verfahren zum Verwenden eines Cloud-Speichers als eine Speicherbank, wobei das Verfahren aufweist: ein Zuordnen von Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Cloud-Schnittstelle; ein Abbilden des zugeordneten Speicherplatzes auf entsprechende virtuelle lokale Adressen; ein Gruppieren der virtuellen lokalen Adressen, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen; ein Umwandeln von lokalen Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen, die für die Cloud-Schnittstelle konfiguriert sind; und ein Übertragen der Cloud-Datenzugriffsanforderungen über die Cloud-Schnittstelle an die eine oder die mehreren Cloud-Speichereinheiten.
  2. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei ein Übertragen der Cloud-Datenzugriffsanforderung des Weiteren ein Zuweisen eines ersten Dienstniveaus, eines zweiten Dienstniveaus oder eines dritten Dienstniveaus zu der Cloud-Datenzugriffsanforderung aufweist; wobei das erste Dienstniveau höhere Latenzen und einen geringen Durchsatz als das zweite und dritte Dienstniveau und das zweite Dienstniveau höhere Latenzen und einen geringeren Durchsatz als das dritte Dienstniveau hat.
  3. Durch einen Computer realisiertes Verfahren nach Anspruch 2, des Weiteren aufweisend ein Zuweisen des ersten Dienstniveaus zu der Cloud-Datenzugriffsanforderung als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten komprimierbar sind.
  4. Durch einen Computer realisierbares Verfahren nach Anspruch 2, des Weiteren aufweisend ein Zuweisen des zweiten Dienstniveaus zu der Cloud-Datenzugriffsanforderung als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind.
  5. Durch einen Computer realisierbares Verfahren nach Anspruch 2, des Weiteren aufweisend ein Zuweisen des dritten Dienstniveaus zu der Cloud-Datenzugriffsanforderung als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder eine Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt.
  6. Durch einen Computer realisierbares Verfahren nach Anspruch 1, wobei ein Gruppieren der virtuellen lokalen Adressen, um eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen, ein Gruppieren der virtuellen lokalen Adressen aufweist, um eine Mehrzahl von virtuellen lokalen Speicherbänken zu erzeugen, wobei jede aus der Mehrzahl von virtuellen lokalen Speicherbänken eine andere Größe aufweist.
  7. Speichersystem, aufweisend: einen Host-Adapter mit einem oder mehreren Anschlüssen, die konfiguriert sind, um den Host-Adapter mit einer oder mehreren Host-Einheiten kommunikativ zu koppeln; einen Speicher-Controller, der einen Prozessor und einen Arbeitsspeicher aufweist, wobei der Speicher-Controller mit dem Host kommunikativ gekoppelt ist; und einen Einheitenadapter, der einen Prozessor und einen Arbeitsspeicher aufweist, wobei der Einheitenadapter mit dem Speicher-Controller kommunikativ gekoppelt ist; wobei der Einheitenadapter des Weiteren eine Mehrzahl von Anschlüssen, die mit einer Mehrzahl von lokalen Speicherlaufwerken kommunikativ gekoppelt sind, und mindestens einen Netzwerkanschluss aufweist, der über ein Netzwerk mit einer Mehrzahl von Cloud-Speichereinheiten kommunikativ gekoppelt ist; wobei entweder der Einheitenadapter oder der Speicher-Controller des Weiteren konfiguriert ist, um ein Umwandlungsmodul zu realisieren, das konfiguriert ist, um: Speicherplatz in einer oder mehreren der Cloud-Speichereinheiten zuzuordnen; den zugeordneten Speicherplatz entsprechenden virtuellen lokalen Adressen zuzuweisen; den zugeordneten Speicherplatz in eine oder mehrere virtuelle lokale redundante Anordnungen von unabhängigen Festplatten (Redundant Array of Independent Disks, RAID-Anordnungen) zu organisieren; und lokale Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen RAID-Anforderungen in Cloud-Datenzugriffsanforderungen umzuwandeln, die gemäß Anforderungen einer Anwendungsprogrammschnittstelle (Application Programming Interface, API) zum Zugreifen auf die Mehrzahl von Cloud-Speichereinheiten konfiguriert sind.
  8. System nach Anspruch 7, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um der Cloud-Datenzugriffsanforderung ein erstes Dienstniveau, ein zweites Dienstniveau oder ein drittes Dienstniveau zuzuweisen; wobei das erste Dienstniveau höhere Latenzen und einen geringen Durchsatz als das zweite und dritte Dienstniveau und das zweite Dienstniveau höhere Latenzen und einen geringeren Durchsatz als das dritte Dienstniveau hat.
  9. System nach Anspruch 8, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten komprimierbar sind, der Cloud-Datenzugriffsanforderung das erste Dienstniveau zuzuweisen.
  10. System nach Anspruch 8, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind, der Cloud-Datenzugriffsanforderung das zweite Dienstniveau zuzuweisen.
  11. System nach Anspruch 8, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder eine Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt, der Cloud-Datenzugriffsanforderung das dritte Dienstniveau zuzuweisen.
  12. System nach Anspruch 7, wobei das Umwandlungsmodul des Weiteren konfiguriert ist, um den zugeordneten Speicherplatz in eine Mehrzahl von virtuellen lokalen RAID-Anordnungen zu organisieren, wobei jede aus der Mehrzahl von virtuellen lokalen RAID-Anforderungen eine andere Größe aufweist.
  13. System nach Anspruch 7, wobei der Netzwerkanschluss des Einheitenadapters ein Ethernet-Anschluss ist.
  14. Computerprogrammprodukt, aufweisend ein durch einen Computer lesbares Speichermedium mit darin enthaltenen Programmanweisungen, wobei das durch einen Computer lesbare Programm bei Ausführung durch einen Prozessor den Prozessor veranlasst: Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Cloud-Schnittstelle zuzuordnen; den zugeordneten Speicherplatz auf entsprechende virtuelle lokale Adressen abzubilden; die virtuellen lokalen Adressen zu gruppieren, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale redundante Anordnungen von unabhängigen Festplatten (RAID-Anordnungen) zu erzeugen; lokale Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen umzuwandeln, die für die Cloud-Schnittstelle konfiguriert sind; und die Cloud-Datenzugriffsanforderungen über die Cloud-Schnittstelle an die eine oder die mehreren Cloud-Speichereinheiten zu übertragen.
  15. Computerprogrammprodukt nach Anspruch 14, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, der Cloud-Datenzugriffsanforderung ein erstes Dienstniveau, ein zweites Dienstniveau oder ein drittes Dienstniveau zuzuweisen. wobei das erste Dienstniveau höhere Latenzen und einen geringen Durchsatz als das zweite und dritte Dienstniveau und das zweite Dienstniveau höhere Latenzen und einen geringeren Durchsatz als das dritte Dienstniveau hat.
  16. Computerprogrammprodukt nach Anspruch 15, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten komprimierbar sind, der Cloud-Datenzugriffsanforderung das erste Dienstniveau zuzuweisen.
  17. Computerprogrammprodukt nach Anspruch 15, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, eine Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind, der Cloud-Datenzugriffsanforderung das zweite Dienstniveau zuzuweisen.
  18. Computerprogrammprodukt nach Anspruch 15, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, als Reaktion auf ein Ermitteln, dass eine Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder eine Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt, der Cloud-Datenzugriffsanforderung das dritte Dienstniveau zuzuweisen.
  19. Computerprogrammprodukt nach Anspruch 14, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, die virtuellen lokalen Adressen zu gruppieren, um eine Mehrzahl von virtuellen lokalen RAID-Anordnungen zu erzeugen, wobei jede aus der Mehrzahl von virtuellen lokalen RAID-Anforderungen eine andere Größe aufweist.
  20. Computerprogrammprodukt nach Anspruch 14, wobei das durch einen Computer lesbare Programm des Weiteren konfiguriert ist, um den Prozessor zu veranlassen, lokale Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen RAI D-Anordnungen entsprechend den Anforderungen einer Anwendungsprogrammschnittstelle (API) der Cloud-Schnittstelle in Cloud-Datenzugriffsanforderungen umzuwandeln.
  21. Datenverarbeitungseinheit, aufweisend: einen Netzwerkadapter, der konfiguriert ist, um die Datenverarbeitungseinheit über ein Netzwerk mit einer oder mehreren Cloud-Speichereinheiten kommunikativ zu koppeln; ein Speichermedium, das konfiguriert ist, um Daten zu speichern; und einen Prozessor, der mit dem Netzwerkadapter und dem Speichermedium kommunikativ gekoppelt ist, wobei der Prozessor konfiguriert ist, um: Speicherplatz in einer oder mehreren Cloud-Speichereinheiten über eine Anwendungsprogrammschnittstelle (API) zuzuordnen, die der einen oder den mehreren Cloud-Speichereinheiten zugehörig ist; eine Abbildtabelle zu erzeugen, die den zugeordneten Speicherplatz auf entsprechende virtuelle lokale Adressen abbildet und die virtuellen lokalen Adressen gruppiert, um aus dem zugeordneten Speicherplatz in der einen oder den mehreren Cloud-Speichereinheiten eine oder mehrere virtuelle lokale Speicherbänke zu erzeugen, wobei die Abbildtabelle in dem Speichermedium gespeichert ist; Datenzugriffsanforderungen für die eine oder die mehreren virtuellen lokalen Speicherbänke in Cloud-Datenzugriffsanforderungen umzuwandeln, die für die API konfiguriert sind, die der einen oder den mehreren Cloud-Speichereinheiten zugehörig ist; und die Cloud-Datenzugriffsanforderungen über die API, die der einen oder den mehreren Cloud-Speichereinheiten zugehörig ist, an die eine oder die mehreren Cloud-Speichereinheiten zu übertragen.
  22. Datenverarbeitungseinheit nach Anspruch 21, wobei der Prozessor des Weiteren konfiguriert ist, um der Cloud-Datenzugriffsanforderung zumindest teilweise auf Grundlage einer Komprimierbarkeit von Daten, die der Cloud-Datenzugriffsanforderung zugehörig sind, einer Eingabe/Ausgabe-Datenrate, die der einen oder den mehreren virtuellen lokalen Speicherbänken zugehörig ist, und einer Dienstgütevereinbarung ein erstes Dienstniveau, ein zweites Dienstniveau oder ein drittes Dienstniveau zuzuweisen.
  23. Datenverarbeitungseinheit nach Anspruch 22, wobei der Prozessor des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass die Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, die Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und die der Datenzugriffsanforderung zugehörigen Daten komprimierbar sind, der Cloud-Datenzugriffsanforderung das erste Dienstniveau zuzuweisen.
  24. Datenverarbeitungseinheit nach Anspruch 22, wobei der Prozessor des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass die Dienstniveauvereinbarung eine Dienstgüte unter einem ersten vordefinierten Schwellenwert angibt, die Eingabe/Ausgabe-Datenrate unter einem zweiten vordefinierten Schwellenwert liegt und die der Datenzugriffsanforderung zugehörige Daten nicht komprimierbar sind, der Cloud-Datenzugriffsanforderung das zweite Dienstniveau zuzuweisen.
  25. Datenverarbeitungseinheit nach Anspruch 22, wobei der Prozessor des Weiteren konfiguriert ist, um als Reaktion auf ein Ermitteln, dass die Dienstniveauvereinbarung eine Dienstgüte über einem ersten vordefinierten Schwellenwert angibt oder die Eingabe/Ausgabe-Datenrate über einem zweiten vordefinierten Schwellenwert liegt, der Cloud-Datenzugriffsanforderung das dritte Dienstniveau zuzuweisen.
DE112018005121.8T 2017-09-14 2018-09-06 Speichersystem unter verwendung von cloud-speicher als eine speicherbank Pending DE112018005121T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/704,648 US10721304B2 (en) 2017-09-14 2017-09-14 Storage system using cloud storage as a rank
US15/704,648 2017-09-14
PCT/IB2018/056795 WO2019053565A1 (en) 2017-09-14 2018-09-06 STORAGE SYSTEM USING CLOUD STORAGE AS A ROW

Publications (1)

Publication Number Publication Date
DE112018005121T5 true DE112018005121T5 (de) 2020-06-10

Family

ID=65631829

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018005121.8T Pending DE112018005121T5 (de) 2017-09-14 2018-09-06 Speichersystem unter verwendung von cloud-speicher als eine speicherbank

Country Status (6)

Country Link
US (1) US10721304B2 (de)
JP (1) JP7210554B2 (de)
CN (1) CN111095903B (de)
DE (1) DE112018005121T5 (de)
GB (1) GB2579992B (de)
WO (1) WO2019053565A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372363B2 (en) 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
US10721304B2 (en) * 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
JP7121276B2 (ja) * 2018-09-19 2022-08-18 富士通株式会社 データ管理レベル判定プログラム、およびデータ管理レベル判定方法
CN113572849B (zh) * 2021-07-29 2023-08-01 中国联合网络通信集团有限公司 文件访问系统和方法
CN113556298B (zh) * 2021-09-18 2022-03-01 云宏信息科技股份有限公司 基于PowerVC的存储接入方法、介质及服务器
CN114124883B (zh) * 2021-10-12 2023-09-12 鸬鹚科技(深圳)有限公司 基于云存储地址的数据访问方法、装置、计算机设备及介质
CN114281899B (zh) * 2021-12-28 2022-06-07 浙江汇鼎华链科技有限公司 基于网络大数据的用户数据分布式云存储方法及系统

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US7028158B1 (en) 2001-11-02 2006-04-11 Beatty And Company Computing, Inc. Storage virtualization engine
US6996741B1 (en) 2001-11-15 2006-02-07 Xiotech Corporation System and method for redundant communication between redundant controllers
US7225211B1 (en) 2003-12-31 2007-05-29 Veritas Operating Corporation Multi-class storage mechanism
US7590599B2 (en) 2006-12-22 2009-09-15 International Business Machines Corporation System and method of automatically maintaining and recycling software components
US7680982B2 (en) 2007-02-20 2010-03-16 International Business Machines Corporation Preservation of cache data following failover
US8250215B2 (en) 2008-08-12 2012-08-21 Sap Ag Method and system for intelligently leveraging cloud computing resources
US9870541B2 (en) 2008-11-26 2018-01-16 Red Hat, Inc. Service level backup using re-cloud network
US9614924B2 (en) * 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
CN102405460B (zh) * 2009-02-11 2016-05-04 艾梵尼达有限公司 虚拟存储系统及其运行方法
CN102460393B (zh) * 2009-05-01 2014-05-07 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
US20100333116A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US8370312B1 (en) 2009-09-15 2013-02-05 Symantec Corporation Systems and methods for using cloud-based storage to optimize data-storage operations
CN101719106A (zh) 2009-12-11 2010-06-02 成都市华为赛门铁克科技有限公司 一种精简配置存储阵列的管理方法、装置和系统
US8341363B2 (en) * 2010-05-03 2012-12-25 Panzura, Inc. Efficient cloud network attached storage
US8832025B2 (en) 2010-05-27 2014-09-09 Hitachi, Ltd. Local file server transferring file to remote file server via communication network and storage system comprising those file servers
US9229842B2 (en) 2010-07-19 2016-01-05 Soasta, Inc. Active waterfall charts for continuous, real-time visualization of website performance data
US8832130B2 (en) 2010-08-19 2014-09-09 Infosys Limited System and method for implementing on demand cloud database
US9128948B1 (en) 2010-09-15 2015-09-08 Symantec Corporation Integration of deduplicating backup server with cloud storage
CN102467408B (zh) 2010-11-12 2014-03-19 阿里巴巴集团控股有限公司 一种虚拟机数据的访问方法和设备
US8484416B2 (en) 2010-12-23 2013-07-09 Lsi Corporation High availability raid using low-cost direct attached raid controllers
WO2012114338A1 (en) 2011-02-22 2012-08-30 Infinidat Ltd. Cloud storage arrangement and method of operating thereof
US8924658B1 (en) * 2011-02-22 2014-12-30 Netapp, Inc. Dynamic storage management using virtual storage appliances
US9432298B1 (en) 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US8745327B1 (en) 2011-06-24 2014-06-03 Emc Corporation Methods, systems, and computer readable medium for controlling prioritization of tiering and spin down features in a data storage system
US8819230B2 (en) * 2011-11-05 2014-08-26 Zadara Storage, Ltd. Virtual private storage array service for cloud servers
US8612284B1 (en) 2011-11-09 2013-12-17 Parallels IP Holdings GmbH Quality of service differentiated cloud storage
US8959389B2 (en) 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
CN102624859A (zh) * 2011-11-28 2012-08-01 苏州奇可思信息科技有限公司 网络多副本的文件分布式存储方法
JP2013114624A (ja) * 2011-11-30 2013-06-10 Hitachi Ltd ストレージシステム及びプール容量縮小の制御方法
KR101868386B1 (ko) * 2011-12-13 2018-06-19 삼성전자주식회사 어플리케이션 제공 방법 및 이를 이용한 디스플레이 장치, 그리고 서버
US9285992B2 (en) * 2011-12-16 2016-03-15 Netapp, Inc. System and method for optimally creating storage objects in a storage system
US9575690B2 (en) * 2011-12-23 2017-02-21 Oracle International Corporation Sub-lun auto-tiering
WO2013118194A1 (en) * 2012-02-10 2013-08-15 Hitachi, Ltd. Storage system with virtual volume having data arranged astride storage devices, and volume management method
US20130218919A1 (en) 2012-02-20 2013-08-22 Aleksey Solonchev Method and apparatus for managing content
US9021203B2 (en) 2012-05-07 2015-04-28 International Business Machines Corporation Enhancing tiering storage performance
CN102882885B (zh) 2012-10-17 2015-07-01 北京卓微天成科技咨询有限公司 一种提高云计算数据安全的方法及系统
US9268493B2 (en) 2012-11-28 2016-02-23 Dell Products L.P. Systems and methods for smart storage interconnection in a heterogeneous storage environment
US9003135B2 (en) 2013-01-15 2015-04-07 International Business Machines Corporation Efficient allocation and reclamation of thin-provisioned storage
US9021204B1 (en) * 2013-02-27 2015-04-28 Symantec Corporation Techniques for managing data storage
TW201435612A (zh) 2013-03-12 2014-09-16 Hon Hai Prec Ind Co Ltd 儲存空間擴展系統及方法
GB2513377A (en) 2013-04-25 2014-10-29 Ibm Controlling data storage in an array of storage devices
CN104468654A (zh) * 2013-09-18 2015-03-25 杭州信核数据科技有限公司 连接到云存储的存储管理网关、方法及数据分层备份系统
ES2726024T3 (es) 2013-10-23 2019-10-01 Huawei Tech Co Ltd Método, sistema y aparato para la redundancia de aplicaciones en la nube
CN104778129B (zh) * 2014-01-14 2021-08-27 中兴通讯股份有限公司 一种移动终端的虚拟存储的实现方法及装置
US9329780B2 (en) * 2014-02-11 2016-05-03 International Business Machines Corporation Combining virtual mapping metadata and physical space mapping metadata
JP6273966B2 (ja) * 2014-03-27 2018-02-07 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US9529773B2 (en) 2014-05-02 2016-12-27 Cavium, Inc. Systems and methods for enabling access to extensible remote storage over a network as local storage via a logical storage controller
US10067722B2 (en) 2014-07-02 2018-09-04 Hedvig, Inc Storage system for provisioning and storing data to a virtual disk
US9881018B2 (en) 2014-08-14 2018-01-30 International Business Machines Corporation File management in thin provisioning storage environments
US9646010B2 (en) 2014-08-27 2017-05-09 Mokhtarzada Holdings, Llc Method and system for expanding storage capacity of a drive using cloud storage systems
US9411539B2 (en) 2014-09-24 2016-08-09 International Business Machines Corporation Providing access information to a storage controller to determine a storage tier for storing data
CN105653529B (zh) * 2014-11-12 2020-08-04 富泰华工业(深圳)有限公司 存储管理系统、管理装置及方法
US9740436B2 (en) 2014-11-14 2017-08-22 International Business Machines Corporation Elastic file system management in storage cloud environments
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US20160197834A1 (en) * 2015-01-02 2016-07-07 Siegfried Luft Architecture and method for traffic engineering between diverse cloud providers
CN105827669B (zh) 2015-01-04 2019-06-11 中国移动通信集团江苏有限公司 一种终端虚拟存储的方法、设备和系统
US20180024853A1 (en) * 2015-02-17 2018-01-25 Coho Data, Inc. Methods, systems, devices and appliances relating to virtualized application-layer space for data processing in data storage systems
CN107533480B (zh) * 2015-04-17 2020-08-28 日本电信电话株式会社 服务器选择装置、服务器选择方法及记录介质
US10572393B2 (en) 2015-04-22 2020-02-25 ColorTokens, Inc. Object memory management unit
CN104820575B (zh) 2015-04-27 2017-08-15 西北工业大学 实现存储系统自动精简的方法
US9749193B1 (en) 2015-06-12 2017-08-29 EMC IP Holding Company LLC Rule-based systems for outcome-based data protection
US10579403B2 (en) 2015-06-29 2020-03-03 Vmware, Inc. Policy based provisioning of containers
US9712617B2 (en) 2015-07-06 2017-07-18 Infinidat Ltd. Flow control in remote replication
US10171585B2 (en) * 2015-12-07 2019-01-01 International Business Machines Corporation Method, system, and computer program product for distributed storage of data in a heterogeneous cloud
US10237343B1 (en) 2015-12-07 2019-03-19 EMC IP Holding Company LLC Sustaining backup service level objectives using dynamic resource allocation
US10620834B2 (en) 2016-03-25 2020-04-14 Netapp, Inc. Managing storage space based on multiple dataset backup versions
US9665303B1 (en) 2016-10-12 2017-05-30 Divergent Storage Systems, Inc. Method and apparatus for storing information using an intelligent block storage controller
WO2019036045A1 (en) 2017-08-16 2019-02-21 Mapr Technologies, Inc. MULTINIVE STORAGE IN A DISTRIBUTED FILE SYSTEM
US10721304B2 (en) * 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10372371B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Dynamic data relocation using cloud based ranks
US10581969B2 (en) * 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage
US10372363B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks

Also Published As

Publication number Publication date
US20190082008A1 (en) 2019-03-14
GB202003940D0 (en) 2020-05-06
GB2579992A (en) 2020-07-08
WO2019053565A1 (en) 2019-03-21
CN111095903B (zh) 2022-08-02
JP7210554B2 (ja) 2023-01-23
JP2020533678A (ja) 2020-11-19
US10721304B2 (en) 2020-07-21
GB2579992B (en) 2022-04-13
CN111095903A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
DE112018003524T5 (de) Dynamische datenverlagerung unter verwendung von speicherbänken auf cloud-grundlage
DE112018005121T5 (de) Speichersystem unter verwendung von cloud-speicher als eine speicherbank
DE112018000193B4 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE112013006643B4 (de) Speichersystem und steuerungsverfahren für speichersystem
DE112017000629T5 (de) Multi-Tenant-Arbeitsspeicherdienst für Architekturen mit Arbeitsspeicher-Pools
DE102017113576A1 (de) Auf PCI Express basierender Speichereinsatz mit Zweifachport, der Einzelport-Speichercontroller enthält
DE112017000337T5 (de) Spezifizieren eines disaggregierten Datenverarbeitungssystems
DE112012004318T5 (de) Verwendung eines virtuellen Laufwerks als Hot-Spare-Einheit für eine RAID-Gruppe
DE202010017667U1 (de) Datenspeichervorrichtung mit Flash-Speicherchips
DE112012005222T5 (de) Halbleiter-Datenspeicherverwaltung
DE102014116808A1 (de) Realisieren einer dynamischen Virtualisierung eines Sriov-fähigen SAS-Adapters
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE112019000992T5 (de) Verwaltung virtueller Speicherlaufwerke in einem Datenspeichersystem
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112018006769T5 (de) Erweiterte zwischenspeicherzuweisung basierend auf virtuellen knotenressourcen
EP2880534A2 (de) Hochverfügbares rechnersystem, arbeitsverfahren und dessen verwendung
DE112013006634T5 (de) Computersystem und Computersystemsteuerverfahren
DE112018000900T5 (de) Verarbeiten eines Befehls zum Freigeben von Speicherplatz in einem Computersystem
DE112021005233T5 (de) Verbesserte anwendungsleistung durch verwenden vonspeichersystemoptimierung
DE102019102643A1 (de) Neuartige SSD-Architektur für eine FPGA-basierte Beschleunigung
DE112019005392T5 (de) Steigern von datenleistung durch transferieren von daten zwischen speicherebenen unter verwendung von arbeitslastmerkmalen
DE112020005819T5 (de) Virtuelle einschübe in einem server

Legal Events

Date Code Title Description
R012 Request for examination validly filed