DE112020003457T5 - Umwandeln von speicherpools mit kleinem speicherbereich in speicherpools mit grossem speicherbereich am speicherort - Google Patents

Umwandeln von speicherpools mit kleinem speicherbereich in speicherpools mit grossem speicherbereich am speicherort Download PDF

Info

Publication number
DE112020003457T5
DE112020003457T5 DE112020003457.7T DE112020003457T DE112020003457T5 DE 112020003457 T5 DE112020003457 T5 DE 112020003457T5 DE 112020003457 T DE112020003457 T DE 112020003457T DE 112020003457 T5 DE112020003457 T5 DE 112020003457T5
Authority
DE
Germany
Prior art keywords
memory bank
memory
storage
existing
storage pool
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
Application number
DE112020003457.7T
Other languages
English (en)
Other versions
DE112020003457B4 (de
Inventor
Clint Hardy
Karl Allen Nielsen
Matthew Kalos
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 DE112020003457T5 publication Critical patent/DE112020003457T5/de
Application granted granted Critical
Publication of DE112020003457B4 publication Critical patent/DE112020003457B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

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

Abstract

Ein durch einen Computer implementiertes Verfahren umfasst Identifizieren einer Anforderung zum Umwandeln eines bestehenden Speicherpools mit einer ersten Speicherbereichsgröße einer Speicherbank in einen geplanten Speicherpool mit einer zweiten Speicherbereichsgröße einer Speicherbank. Datenträger-Speicherbereiche im bestehenden Speicherpool werden so umgeordnet, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ausgerichtet werden. Jede der Speicherbänke im bestehenden Speicherpool wird von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank umgewandelt. Für jeden der Datenträger: für einen Eintrag in einer Datenträger-Segmenttabelle (VST) wird danach eine vorübergehende Pause/Sperre durchgeführt, der dem gegebenen Datenträger entspricht, und eine bestehende Struktur, die dem VST-Eintrag zugehörig ist, der der ersten Speicherbereichsgröße der Speicherbank entspricht, wird entfernt. Der VST-Eintrag wird des Weiteren mit einer neuen Struktur befüllt, die der zweiten Speicherbereichsgröße der Speicherbank entspricht.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich allgemein auf Verlagern und/oder Umwandeln von Daten und insbesondere auf Umwandeln von Daten aus Speicherpools mit kleinem Speicherbereich (small extent storage pools ) in Speicherpools mit großem Speicherbereich (large extent storage pools) am Speicherort.
  • HINTERGRUND
  • Beim Erweitern von Pools in Speicherprodukten können unterschiedliche Speicherbereichsgrößen implementiert werden. Für einen Speicherpool mit großem Speicherbereich kann zum Beispiel eine Speicherbereichsgröße von 1 GB und für einen Speicherpool mit kleinem Speicherbereich eine Speicherbereichsgröße von 16 MB implementiert werden. Einige Arbeitslasten können in einem Speicherpool mit kleinem Speicherbereich besser verarbeitet werden als in einem Speicherpool mit großem Speicherbereich. Daraus folgt, dass ein Client in einigen Situationen eine bestimmte Speicherbereichsgröße für einen gegebenen Speicherpool wählt, im Laufe der Zeit ändern sich jedoch Faktoren, sodass eine andere Speicherbereichsgröße wünschenswert ist. In einigen Situationen kann ein Speichersystem beispielsweise eine erhöhte Nachfrage nach physischem Speicher verzeichnen, sodass Speicherpools mit kleineren Speicherbereichen in Speicherpools mit größeren Speicherbereichen umgewandelt werden.
  • Die bestehenden Prozesse zum Umwandeln der von einem gegebenen Pool implementierten Speicherbereichsgröße sind jedoch zeitaufwändig und ineffizient. Herkömmliche Prozesse zum Umwandeln der Größe von Speicherbereichen in einem Speicherpool erfordern beispielsweise, dass die Daten zunächst in einen anderen physischen Speicherpool verlagert werden, bevor Änderungen an den Speicherbereichsgrößen vorgenommen werden können. Dieser Prozess zum Verlagern von Daten ist unerwünscht, da er zusätzliche Speicherressourcen, Verarbeitungsbandbreite, Zeit für das physische Kopieren aller Daten in ein anderes Speichermedium usw. erfordert. Es besteht daher der Wunsch nach Prozessen, die in der Lage sind, die Größe von Speicherbereichen in Speicherpools effizient umzuwandeln.
  • KURZDARSTELLUNG
  • Ein durch einen Computer implementiertes Verfahren dient gemäß einem Ansatz dazu, einen bestehenden Speicherpool in einen geplanten Speicherpool am Speicherort umzuwandeln. Das durch einen Computer implementierte Verfahren umfasst: Identifizieren einer Anforderung zum Umwandeln des bestehenden Speicherpools mit einer ersten Speicherbereichsgröße einer Speicherbank in den geplanten Speicherpool mit einer zweiten Speicherbereichsgröße einer Speicherbank, wobei der erste Speicherbereich einer Speicherbank größer ist als der zweite Speicherbereich einer Speicherbank. Datenträger-Speicherbereiche im bestehenden Speicherpool werden so umgeordnet, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ausgerichtet werden. Für jede der Speicherbänke im bestehenden Speicherpool wird die gegebene Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank umgewandelt. Als Reaktion auf das Umwandeln der Speicherbänke im bestehenden Speicherpool gilt darüber hinaus für jeden der Datenträger: für einen Eintrag in einer Datenträger-Segmenttabelle (volume segment table = VST) wird eine vorübergehende Pause/Sperre durchgeführt, der dem gegebenen Datenträger entspricht, und eine bestehende Struktur, die dem VST-Eintrag zugehörig ist, der der ersten Speicherbereichsgröße der Speicherbank entspricht, wird entfernt. Der VST-Eintrag wird des Weiteren mit einer neuen Struktur befüllt, die der zweiten Speicherbereichsgröße der Speicherbank entspricht.
  • Es sei auch darauf hingewiesen, dass die Daten in den Datenträgern beim Umwandeln des bestehenden Speicherpools in den geplanten Speicherpool nicht aus dem bestehenden Speicherpool nach außen verlagert werden. Daraus folgt, dass einige der hier beschriebenen Ansätze in der Lage sind, die Speicherbereichsgröße der Speicherbänke in einem Datenspeicherpool umzuwandeln, während die Daten am Speicherort verbleiben. Dieser Prozess umfasst zwar einen gewissen Aufwand für Umordnen der Daten, bevor die eigentliche Änderung der Speicherbereichsgrößen der Speicherbank erfolgen kann, aber beim Umwandeln verbleiben die Daten im gegebenen Speicherpool, was die Effizienz der Betriebsabläufe deutlich verbessert, die Inanspruchnahme von Datenspeicher verringert, Verarbeitungszeiten verkürzt, Netzwerkverkehr verringert (der z.B. sonst durch Verlagern der Daten entstehen würde), usw. Diese Verbesserungen werden (zumindest teilweise) dadurch erreicht, dass die Eigenschaften der Datenträger es diesen verschiedenen Prozessen und Teilprozessen ermöglichen, das Layout der Datenträger und Speicherbänke in größere Speicherbereiche umzuwandeln.
  • Die Eigenschaften der RST und/oder VST ermöglichen es, diese Verbesserungen zu erreichen, ohne Daten auf andere Speicherpools oder Maschinen verlagern zu müssen. Die Datenträger-Speicherbereiche im bestehenden Speicherpool werden ebenfalls so umgeordnet, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ohne Auffüllen ausgerichtet werden. Dies erhöht die Effizienz der Speicherplatznutzung weiter und verbessert damit die Leistung eines übergeordneten Datenspeichersystems insgesamt.
  • Ein Computerprogrammprodukt dient gemäß einem weiteren Ansatz dazu, einen bestehenden Speicherpool in einen geplanten Speicherpool am Speicherort umzuwandeln. Das Computerprogrammprodukt umfasst ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen. Außerdem sind die Programmanweisungen von einem Prozessor lesbar und/oder ausführbar, um den Prozessor zu veranlassen, das vorgenannte Verfahren durchzuführen.
  • Ein System gemäß einem weiteren Ansatz umfasst: einen Prozessor und eine in den Prozessor integrierte, vom Prozessor ausführbare oder in den Prozessor integrierte und von diesem ausführbare Logik. Die Logik ist so konfiguriert, dass sie das vorgenannte Verfahren durchführt.
  • Weitere Aspekte und Ausführungsformen der vorliegenden Erfindung ergeben sich aus der folgenden ausführlichen Beschreibung, die in Verbindung mit den Zeichnungen die Grundgedanken der Erfindung beispielhaft veranschaulicht.
  • Figurenliste
    • 1 ist eine repräsentative Darstellung einer Netzwerk-Architektur gemäß einem Ansatz.
    • 2 ist eine repräsentative Hardwareumgebung, die gemäß einem Ansatz den Servern und/oder Clients von 1 zugehörig sein kann.
    • 3 ist eine repräsentative Darstellung eines Datenspeichersystems mit mehreren Ebenen gemäß einem Ansatz.
    • 4A ist gemäß einem Ansatz ein Ablaufplan eines Verfahrens zum Umwandeln eines bestehenden Speicherpools mit kleinem Speicherbereich in einen geplanten Speicherpool mit großem Speicherbereich am Speicherort.
    • 4B ist gemäß einer Ausführungsform ein Ablaufplan von Teilprozessen für eine der Operationen des Verfahrens von 4A.
    • 4C ist gemäß einer Ausführungsform ein Ablaufplan von Teilprozessen für eine der Operationen des Verfahrens von 4A.
    • 5 zeigt eine repräsentative Darstellung einer Speicherumgebung gemäß einem Ansatz.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung offenbart mehrere bevorzugte Ausführungsformen von Systemen, Verfahren und Computerprogrammprodukten zum Verlagern von Daten aus einem Speicherpool mit großem Speicherbereich in einen Speicherpool mit kleinem Speicherbereich. Verschiedene Ausführungsformen stellen ein Verfahren bereit, um eine Entsprechung zwischen logischen Datenträger-Speicherbereichen des Datenträgers und physischen Verlagerungsorten innerhalb von Speicherbereichen der Speicherbank des Quellspeicherpools herzustellen und mithilfe der Entsprechung Daten von einer oder mehreren Speicherbänken des Quellspeicherpools zu einer oder mehreren Speicherbänken des Zielspeicherpools zu verlagern.
  • Die folgende Beschreibung dient der Veranschaulichung der allgemeinen Grundgedanken der vorliegenden Erfindung und soll die hier beanspruchten Aspekte der Erfindung nicht einschränken. Darüber hinaus können hierin beschriebene besondere Merkmale in Verbindung mit anderen beschriebenen Merkmalen in jeder der verschiedenen möglichen Kombinationen und Permutationen verwendet werden.
  • Sofern hier nicht ausdrücklich anders definiert, sind alle Begriffe so weit wie möglich auszulegen, einschließlich der aus der Beschreibung implizierten Bedeutungen sowie der Bedeutungen, die von Fachleuten verstanden werden und/oder die in Wörterbüchern, Abhandlungen usw. definiert sind.
  • Sofern nicht anders angegeben, ist ferner darauf hinzuweisen, dass die Singularformen „ein/eine/einer/eines“ und „der/die/das“, wie sie in der Beschreibung und den beigefügten Ansprüchen verwendet werden, auch die Pluralform enthalten. Es versteht sich ferner, dass die Begriffe „aufweisen“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Die folgende Beschreibung offenbart mehrere bevorzugte Ansätze von Systemen, Verfahren und Computerprogrammprodukten zum Umwandeln der Speicherbereichsgröße der Speicherbänke in einem Datenspeicherpool, während die Daten am Speicherort verbleiben. Dieser Prozess bringt zwar einen gewissen Aufwand für Umordnen der Daten mit sich, bevor die eigentliche Änderung der Speicherbereichsgrößen der Speicherbank bei einigen Ansätzen erfolgen kann, doch verbleiben die Daten während des Umwandelns im gegebenen Speicherpool, wodurch die Effizienz der Betriebsabläufe wie nachstehend ausführlicher beschrieben erheblich verbessert wird.
  • In einem allgemeinen Ansatz dient ein durch einen Computer implementiertes Verfahren dazu, einen bestehenden Speicherpool in einen geplanten Speicherpool am Speicherort umzuwandeln. Das durch einen Computer implementierte Verfahren umfasst: Identifizieren einer Anforderung zum Umwandeln des bestehenden Speicherpools mit einer ersten Speicherbereichsgröße einer Speicherbank in den geplanten Speicherpool mit einer zweiten Speicherbereichsgröße einer Speicherbank, wobei der erste Speicherbereich einer Speicherbank größer ist als der zweite Speicherbereich einer Speicherbank. Datenträger-Speicherbereiche im bestehenden Speicherpool werden so umgeordnet, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ausgerichtet werden. Für jede der Speicherbänke im bestehenden Speicherpool wird die gegebene Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank umgewandelt. Als Reaktion auf das Umwandeln der Speicherbänke im bestehenden Speicherpool gilt darüber hinaus für jeden der Datenträger: für einen Eintrag in einer Datenträger-Segmenttabelle (VST) wird eine vorübergehende Pause/Sperre durchgeführt, der dem gegebenen Datenträger entspricht, und eine bestehende Struktur, die dem VST-Eintrag zugehörig ist, der der ersten Speicherbereichsgröße der Speicherbank entspricht, wird entfernt. Der VST-Eintrag wird des Weiteren mit einer neuen Struktur befüllt, die der zweiten Speicherbereichsgröße der Speicherbank entspricht.
  • In einem weiteren allgemeinen Ansatz dient ein Computerprogrammprodukt dazu, einen bestehenden Speicherpool in einen geplanten Speicherpool am Speicherort umzuwandeln. Das Computerprogrammprodukt umfasst ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen. Außerdem sind die Programmanweisungen von einem Prozessor lesbar und/oder ausführbar, um den Prozessor zu veranlassen, das vorgenannte Verfahren durchzuführen.
  • In einem weiteren allgemeinen Ansatz umfasst ein System: einen Prozessor und eine in den Prozessor integrierte, vom Prozessor ausführbare oder in den Prozessor integrierte und von diesem ausführbare Logik. Die Logik ist so konfiguriert, dass sie das vorgenannte Verfahren durchführt.
  • 1 veranschaulicht eine Architektur 100 gemäß einem Ansatz. Wie in 1 dargestellt, wird eine Mehrzahl von entfernt angeordneten Netzwerken 102 bereitgestellt, die ein erstes entfernt angeordnetes Netzwerk 104 und ein zweites entfernt angeordnetes Netzwerk 106 umfassen. Ein Gateway 101 kann mit dem entfernt angeordneten Netzwerken 102 und einem nahen Netzwerk 108 verbunden sein. Im Rahmen der vorliegenden Architektur 100 können die Netzwerke 104, 106 jeweils die Form eines LAN oder eines WAN wie das Internet, eines öffentlichen Telefonnetzes (PSTN), eines internen Telefonnetzes usw. annehmen, ohne auf diese beschränkt zu sein.
  • In Verwendung dient das Gateway 101 als Zugangspunkt von den entfernt angeordneten Netzwerken 102 zum nahen Netzwerk 108. Als solches kann das Gateway 101 als Router fungieren, der in der Lage ist, ein bestimmtes Datenpaket, das am Gateway 101 ankommt, weiterzuleiten, sowie als Switch, die den tatsächlichen Pfad in das und aus dem Gateway 101 für ein bestimmtes Paket bereitstellt.
  • Weiterhin ist mindestens ein Datenserver 114 enthalten, der mit dem nahen Netzwerk 108 verbunden ist und auf den über das Gateway 101 von den entfernt angeordneten Netzwerken 102 zugegriffen werden kann. Es ist zu beachten, dass der/die Datenserver 114 jede Art von Datenverarbeitungseinheit/Groupware enthalten kann/können. Mit jedem Datenserver 114 ist eine Mehrzahl von Benutzereinheiten 116 verbunden. Die Benutzereinheiten 116 können auch direkt über eines der Netzwerke 104, 106, 108 verbunden werden. Diese Benutzereinheiten 116 können Desktop-Computer, Laptop-Computer, Handheld-Computer, Drucker oder jede andere Art von Logik enthalten. Es ist zu beachten, dass in einem Ansatz eine Benutzereinheit 111 auch direkt mit jedem der Netzwerke verbunden sein kann.
  • Eine Peripherieeinheit 120 oder eine Reihe von Peripherieeinheiten 120, z.B. Faxgeräte, Drucker, vernetzte und/oder lokale Speichereinheiten oder-systeme usw., kann mit einem oder mehreren der Netzwerke 104, 106, 108 verbunden werden. Es ist zu beachten, dass Datenbanken und/oder zusätzliche Komponenten mit jeder Art von Netzwerkelement, das mit den Netzwerken 104, 106, 108 verbunden ist, verwendet oder in dieses integriert werden können. Im Zusammenhang mit der vorliegenden Beschreibung kann sich ein Netzwerkelement auf eine beliebige Komponente eines Netzwerkes beziehen.
  • Gemäß einigen Ansätzen können die hier beschriebenen Verfahren und Systeme mit und/oder auf virtuellen Systemen und/oder Systemen implementiert werden, die ein oder mehrere andere Systeme emulieren, wie z.B. ein UNIX-System, das eine IBM z/OS-Umgebung emuliert, ein UNIX-System, das eine MICROSOFT WINDOWS-Umgebung virtuell hostet, ein MICROSOFT WINDOWS-System, das eine IBM z/OS-Umgebung emuliert, usw. Diese Virtualisierung und/oder Emulation kann mithilfe von VMWARE-Software in einigen Ansätzen verbessert werden.
  • Bei weiteren Ansätzen können ein oder mehrere Netzwerke 104, 106, 108 eine Gruppe von Systemen darstellen, die allgemein als „Cloud“ bezeichnet werden. Beim Cloud-Computing werden gemeinsam genutzte Ressourcen wie Rechenleistung, Peripherieeinheiten, Software, Daten, Server usw. jedem System in der Cloud in einer bedarfsorientierten Beziehung bereitgestellt und ermöglichen so den Zugriff auf und die Verteilung von Diensten über viele Datenverarbeitungssysteme hinweg. Beim Cloud-Computing handelt es sich in der Regel um eine Internetverbindung zwischen den in der Cloud arbeitenden Systemen, es können jedoch auch andere Verfahren zum Verbinden der Systeme verwendet werden.
  • 2 zeigt eine repräsentative Hardwareumgebung, die einer Benutzereinheit 116 und/oder einem Server 114 von 1 gemäß einem Ansatz zugehörig ist. Diese Figur zeigt eine typische Hardwarekonfiguration einer Workstation mit einer Zentraleinheit (CPU) 210, z.B. einem Mikroprozessor, und einer Reihe anderer Einheiten, die über einen Systembus 212 miteinander verbunden sind.
  • Die in 2 dargestellte Workstation umfasst einen Direktzugriffsspeicher (RAM) 214, einen Nur-Lese-Speicher (ROM) 216, einen Eingabe/Ausgabe-Adapter 218 zum Verbinden von Peripherieeinheiten wie z.B. Plattenspeichereinheiten 220 mit dem Bus 212, einen Benutzerschnittstellenadapter 222 zum Verbinden einer Tastatur 224, einer Maus 226, eines Lautsprechers 228, eines Mikrofons 232, und/oder anderer Benutzer-Schnittstelleneinheiten wie z.B. eines Touchscreens und einer Digitalkamera (nicht dargestellt) mit dem Bus 212, einen Datenübertragungsadapter 234 zum Verbinden der Workstation mit einem Datenübertragungsnetzwerk 235 (z.B. ein Datenverarbeitungsnetzwerk) und einen Anzeigeadapter 236 zum Verbinden des Busses 212 mit einer Anzeigeeinheit 238.
  • Auf der Workstation kann ein Betriebssystem, z.B. das Microsoft Windows® Betriebssystem, ein MAC-Betriebssystem, ein UNIX-Betriebssystem usw., installiert sein. Es sei darauf hingewiesen, dass ein bevorzugter Ansatz auch auf anderen Plattformen und Betriebssystemen als den genannten implementiert werden kann. Ein bevorzugter Ansatz kann mit PL/I, XML, C und/oder C++ oder anderen Programmiersprachen zusammen mit einer objektorientierten Programmiermethodik geschrieben werden. Objektorientierte Programmierung (OOP), die zunehmend zum Entwickeln komplexer Anwendungen eingesetzt wird, kann verwendet werden.
  • Mit Bezug nunmehr auf 3 wird ein Speichersystem 300 gemäß einem Ansatz dargestellt. Es ist zu beachten, dass einige der in 3 gezeigten Elemente als Hardware und/oder Software gemäß verschiedener Ansätze implementiert werden können. Das Speichersystem 300 kann einen Speichersystemmanager 312 für den Datenaustausch mit einer Mehrzahl von Medien auf mindestens einer höheren Speicherebene 302 und mindestens einer niedrigeren Speicherebene 306 enthalten. Die höhere(n) Speicherebene(n) 302 kann/können vorzugsweise ein oder mehrere Medien mit wahlfreiem Zugriff und/oder Direktzugriff 304 umfassen, wie z.B. Festplatten in Festplattenlaufwerken (hard disk drives, HDDs), nichtflüchtige Speicher (nonvolatile memory, NVM), Halbleiterspeicher in Halbleiterdatenträgern (solid state drives, SSDs), Flash-Speicher, SSD-Anordnungen, Flash-Speicher-Anordnungen usw. und/oder andere hier aufgeführte oder nach dem Stand der Technik bekannte Medien. Die niedrigere(n) Speicherebene(n) 306 kann/können vorzugsweise ein oder mehrere Speichermedien 308 mit geringerer Leistung umfassen, z.B. Medien mit sequenziellem Zugriff wie Magnetbänder in Bandlaufwerken und/oder optische Medien, langsamer zugreifende HDDs, langsamer zugreifende SSDs usw. und/oder andere hier aufgeführte oder nach dem Stand der Technik bekannte Medien. Eine oder mehrere zusätzliche Speicherebenen 316 können eine beliebige Kombination von Speichermedien enthalten, die von einem Entwickler des Systems 300 gewünscht wird. Außerdem kann jede der höheren Speicherebenen 302 und/oder der niedrigeren Speicherebenen 306 eine Kombination von Speichereinheiten und/oder Speichermedien enthalten.
  • Der Speichersystemmanager 312 kann mit den Speichermedien 304, 308 auf der/den höheren Speicherebene(n) 302 und der/den niedrigeren Speicherebene(n) 306 über ein Netzwerk 310, z.B. ein Speichernetzwerk (storage area network, SAN), wie in 3 dargestellt oder eine andere geeignete Art von Netzwerk Daten austauschen. Der Speichersystemmanager 312 kann auch mit einem oder mehreren Host-Systemen (nicht dargestellt) über eine Host-Schnittstelle 314 Daten austauschen, die Teil des Speichersystemmanagers 312 sein kann. Der Speichersystemmanager 312 und/oder andere Komponenten des Speichersystems 300 kann/können in Hardware und/oder Software implementiert werden und einen (nicht dargestellten) Prozessor eines nach dem Stand der Technik bekannten Typs, wie z.B. eine Zentraleinheit (CPU), eine vor Ort programmierbare Gatter-Anordnung (field programmable gate array, FPGA), eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit, ASIC) usw., zum Ausführen von Befehlen verwenden. Natürlich kann jede beliebige Anordnung eines Speichersystems verwendet werden, wie es für den Fachmann beim Lesen der vorliegenden Beschreibung offensichtlich ist.
  • In mehreren Ansätzen kann das Speichersystem 300 eine beliebige Anzahl von Datenspeicherebenen umfassen und innerhalb jeder Speicherebene die gleichen oder unterschiedliche Speichermedien enthalten. Beispielsweise kann jede Datenspeicherebene den gleichen Typ von Speichermedien, z.B. HDDs, SSDs, Medien mit sequenziellem Zugriff (Band in Bandlaufwerken, optische Platte in optischen Plattenlaufwerken usw.), Medien mit direktem Zugriff (CD-ROM, DVD-ROM usw.) oder eine beliebige Kombination von Medienspeichertypen umfassen. In einer solchen Konfiguration kann eine höhere Speicherebene 302 eine Mehrheit von SSD-Speichermedien zum Speichern von Daten in einer leistungsfähigeren Speicherumgebung umfassen, und die übrigen Speicherebenen, darunter die niedrigere Speicherebene 306 und zusätzliche Speicherebenen 316, können jede beliebige Kombination von SSDs, HDDs, Bandlaufwerken usw. zum Speichern von Daten in einer weniger leistungsfähigen Speicherumgebung umfassen. Auf diese Weise können Daten, auf die häufiger zugegriffen wird, Daten mit höherer Priorität, Daten, auf die schneller zugegriffen werden muss, usw. in der höheren Speicherebene 302 gespeichert werden, während Daten, die keines dieser Attribute aufweisen, in den zusätzlichen Speicherebenen 316, darunter die niedrigere Speicherebene 306, gespeichert werden können. Natürlich kann ein Fachmann, wenn er die vorliegenden Beschreibungen liest, viele andere Kombinationen von Speichermedientypen entwickeln, die er in verschiedene Speicherschemata gemäß den hier vorgestellten Ansätzen implementieren kann.
  • Gemäß einigen Ansätzen kann das Speichersystem (z.B. 300) eine Logik enthalten, die so konfiguriert ist, dass sie eine Anforderung zum Öffnen eines Datensatzes empfängt, eine Logik, die so konfiguriert ist, dass sie ermittelt, ob der angeforderte Datensatz auf einer niedrigeren Speicherebene 306 eines Datenspeichersystems 300 mit mehreren Ebenen in mehreren zugehörigen Teilen gespeichert ist, eine Logik, die so konfiguriert ist, dass sie jeden zugehörigen Teil des angeforderten Datensatzes auf eine höhere Speicherebene 302 des Datenspeichersystems 300 mit mehreren Ebenen verschiebt, und eine Logik, die so konfiguriert ist, dass sie den angeforderten Datensatz auf der höheren Speicherebene 302 des Datenspeichersystems 300 mit mehreren Ebenen aus den zugehörigen Teilen zusammensetzt.
  • Natürlich kann diese Logik als Verfahren auf einer beliebigen Einheit und/oder beliebigem System oder als Computerprogrammprodukt gemäß verschiedenen Ansätzen implementiert werden.
  • Wie zuvor erwähnt, können beim Erweitern von Speicherbereichspools in Speicherprodukten unterschiedliche Speicherbereichsgrößen implementiert werden. Außerdem können einige Arbeitslasten in einem Speicherpool mit kleinem Speicherbereich besser (z.B. effizienter) verarbeitet werden als in einem Speicherpool mit großem Speicherbereich. Daraus folgt, dass ein Client zwar eine bestimmte Speicherbereichsgröße für einen gegebenen Speicherpool wählen kann, die Faktoren sich jedoch im Laufe der Zeit ändern, sodass eine andere Speicherbereichsgröße im Hinblick auf die Leistung wünschenswerter ist. In einigen Situationen kann ein Speichersystem beispielsweise eine erhöhte Nachfrage nach physischem Speicher verzeichnen, sodass es wünschenswert ist, dass Speicherpools mit kleinerem Speicherbereich in Speicherpools mit größerem Speicherbereich umgewandelt werden.
  • Die bestehenden Prozesse zum Umwandeln der von einem gegebenen Speicherpool implementierten Speicherbereichsgröße sind jedoch zeitaufwändig und ineffizient. Herkömmliche Prozesse zum Umwandeln der Größe von Speicherbereichen in einem Speicherpool erfordern beispielsweise, dass die Daten zunächst vollständig aus dem bestehenden Speicherpool in einen anderen physischen Speicherpool verlagert werden, bevor Änderungen an den Speicherbereichsgrößen vorgenommen werden können. Dieser Prozess zum Verlagern von Daten ist besonders unerwünscht, da er zusätzliche Speicherressourcen, Verarbeitungsbandbreite, Zeit für das physische Kopieren aller Daten in ein anderes Speichermedium usw. erfordert. Es besteht daher der Wunsch nach Prozessen, die in der Lage sind, die Größe von Speicherbereichen in Speicherpools effizient umzuwandeln.
  • In eindeutigem Gegensatz zu den oben genannten Unzulänglichkeiten herkömmlicher Prozesse sind verschiedene der hier enthaltenen Ansätze wünschenswerterweise in der Lage, die Speicherbereichsgröße der Speicherbänke in einem Datenspeicherpool umzuwandeln, während die Daten am Speicherort verbleiben. Dieser Prozess bringt zwar einen gewissen Aufwand für Umordnen der Daten mit sich, bevor die eigentliche Änderung der Speicherbereichsgrößen der Speicherbank erfolgen kann, doch verbleiben die Daten während des Umwandelns im gegebenen Speicherpool, wodurch die Effizienz der Betriebsabläufe wie nachstehend ausführlicher beschrieben erheblich verbessert wird.
  • Mit Bezug nunmehr auf 4A wird gemäß einer Ausführungsform ein Ablaufplan eines Verfahrens 400 zum Umwandeln eines bestehenden Speicherpools mit kleinem Speicherbereich in einen geplanten Speicherpool mit großem Speicherbereich am Speicherort dargestellt. Das Verfahren 400 kann gemäß der vorliegenden Erfindung in verschiedenen Ausführungsformen unter anderem in jeder der in den 1 bis 3 abgebildeten Umgebungen durchgeführt werden. Es versteht sich, dass mehr oder weniger Operationen als die speziell in 4A beschriebenen im Verfahren 400 enthalten sein können, wie es für den Fachmann beim Lesen der vorliegenden Beschreibungen offensichtlich ist.
  • Jeder der Schritte des Verfahrens 400 kann von geeigneten Komponenten der Betriebsumgebung ausgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 400 beispielsweise teilweise oder vollständig von einer Steuereinheit, einem Prozessor, einem Computer usw. oder einer anderen Einheit mit einem oder mehreren Prozessoren durchgeführt werden. In einigen Ausführungsformen kann es sich beim dem Verfahren 400 daher um ein durch einen Computer implementiertes Verfahren handeln. Darüber hinaus können die Begriffe Computer, Prozessor und Steuereinheit in Bezug auf jede der hier beschriebenen Ausführungsformen austauschbar verwendet werden, da diese Komponenten in den vielen verschiedenen Permutationen der vorliegenden Erfindung als gleichwertig betrachtet werden.
  • Bei Ausführungsformen mit einem Prozessor kann der Prozessor, z.B. Verarbeitungsschaltkreis(e), Chip(s) und/oder Modul(e), die in Hardware und/oder Software implementiert sind und vorzugsweise mindestens eine Hardwarekomponente aufweisen, ferner in einer beliebigen Einheit verwendet werden, um einen oder mehrere Schritte des Verfahrens 400 durchzuführen. Zu veranschaulichenden Prozessoren gehören eine Zentraleinheit (CPU), eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit, ASIC), eine vor Ort programmierbare Gatter-Anordnung (field programmable gate array, FPGA) usw., Kombinationen davon oder jede andere geeignete, nach dem Stand der Technik bekannte Datenverarbeitungseinheit, ohne auf diese beschränkt zu sein.
  • Wie in 4A dargestellt, umfasst die Operation 402 des Verfahrens 400 Identifizieren einer Anforderung zum Umwandeln des bestehenden Speicherpools mit einer ersten Speicherbereichsgröße der Speicherbank in den geplanten Speicherpool mit einer zweiten Speicherbereichsgröße der Speicherbank. Wie bereits erläutert, umfasst das Verfahren 400 Umwandeln eines Speicherpools mit kleinem Speicherbereich in einen Speicherpool mit großem Speicherbereich. Daher ist mit Bezug auf die vorliegende Beschreibung der „erste Speicherbereich der Speicherbank“ im Vergleich kleiner als der „zweite Speicherbereich der Speicherbank“. Zum Beispiel kann die bestehende Speicherpoolkonfiguration Speicherbereiche der Speicherbank haben, die jeweils eine Größe von etwa 16 MB aufweisen, während die geplante Speicherpoolkonfiguration Speicherbereiche der Speicherbank hat, die jeweils eine Größe von etwa 1 GB aufweisen. Wie erwähnt, können einige Arbeitslasten in einer Umgebung, in der eine gegebene Speicherbereichsgröße implementiert ist, erheblich besser verarbeitet werden. Einige Arbeitslasten können zum Beispiel in einem Speicherpool mit kleinem Speicherbereich weitaus besser (z.B. effizienter) verarbeitet werden als in einem Speicherpool mit großem Speicherbereich. Eine Anforderung zum Umwandeln der Speicherbereichsgröße eines gegebenen Speicherpools kann daher von einer laufenden Anwendung als Reaktion auf eine neu initiierte Arbeitslast, von einem Benutzer als Reaktion auf Überprüfen der Systemleistung im Verhältnis zur Speicherbereichsgröße usw. empfangen werden.
  • Es sei auch darauf hingewiesen, dass sich die Begriffe „bestehender Speicherpool“ und „geplanter Speicherpool“ faktisch auf unterschiedliche Konfigurationen desselben Speicherpools beziehen. Anders ausgedrückt heißt dies, dass sich der Begriff „bestehender Speicherpool“ auf den bestehenden Zustand (z.B. kleinerer Speicherbereich der Speicherbank) des Speicherpools beziehen soll, während sich der Begriff „geplanter Speicherpool“ auf den geplanten Zielzustand (z.B. größerer Speicherbereich der Speicherbank) desselben Speicherpools beziehen soll.
  • Für den Fachmann ist ersichtlich, dass die logische Konfiguration eines beispielhaften Speicherpools Speicherbänke (RAID-Anordnungen) umfasst, die physischen Speicher enthalten, und Datenträger, die den physischen Speicher einem vom Host adressierbaren Bereich von logisch zusammenhängendem Speicher zuordnen (z.B. die Nummer einer logischen Einheit). Die Speicherbank umfasst auch eine Speicherbank-Segment-(Speicherbereichs-)Tabelle (rank segment (extent) table = RST), während der Datenträger Datenträger-Segment-(Speicherbereichs-)Tabellen (VST) umfasst. Diese Tabellen steuern zumindest teilweise Zuordnen der verschiedenen physischen Speicherbereiche in Speicherbänken zu den Speicherbereichen, die den jeweiligen Datenträgern entsprechen, wie z.B. nachstehend ausführlicher beschrieben wird (siehe z.B. 5).
  • Weiterhin Bezug nehmend auf 4A umfasst die Operation 404 Umordnen von Datenträger-Speicherbereichen im bestehenden Speicherpool, sodass die physischen Speicherbereiche der Speicherbank der Datenträger im Wesentlichen auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ausgerichtet werden. Ein Vergrößern des in einem gegebenen Speicherpool implementierten Speicherbereichs, während die Daten am Speicherort verbleiben, umfasst, dass die Anordnung der Datenträger-Speicherbereiche neu aufgeteilt wird, sodass die physischen Speicherbereiche der Speicherbank des Datenträgers entlang der Grenzen des größeren Speicherbereichs ausgerichtet werden. Anders ausgedrückt heißt dies, dass durch Neuaufteilen der Datenträger-Speicherbereiche gemäß der vorliegenden Beschreibung die aufeinanderfolgenden kleinen Speicherbereiche auf den zusammenhängenden Speicherplatz für den größeren geplanten (z.B. beabsichtigten) Speicherbereich ausgerichtet und diesem zugeordnet werden können, wie es für den Fachmann beim Lesen der vorliegenden Beschreibung offensichtlich ist.
  • Gemäß bevorzugten Ansätzen werden die Datenträger-Speicherbereiche im bestehenden Speicherpool so umgeordnet, dass die physischen Speicherbereiche der Speicherbank der Datenträger im Wesentlichen auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools mit größeren Speicherbereichen der Speicherbank ausgerichtet werden. In Bezug auf die vorliegende Beschreibung sei darauf hingewiesen, dass sich die Formulierung „im Wesentlichen ausrichten“ auf eine Situation bezieht, in der die Datenträger-Speicherbereiche so umgeordnet werden, dass zwischen den Datenträger-Speicherbereichen und den Grenzen zwischen den Speicherbereichen der Speicherbank keine Auffüllungen vorhanden sind. Anders ausgedrückt sollen die Datenträger-Speicherbereiche vorzugsweise die größeren geplanten Speicherbänke auffüllen, ohne Lücken zu bilden. Dadurch erhöht sich die Effizienz der Speicherplatznutzung weiter und verbessert sich die Leistung eines übergeordneten Datenspeichersystems insgesamt. In anderen Ansätzen kann jedoch eine Toleranz implementiert werden, die festlegt, welcher Umfang an Auffüllungen zwischen den Datenträger-Speicherbereichen und den Grenzen zwischen den Speicherbereichen der Speicherbank akzeptabel ist.
  • Ein Umordnen der Datenträger-Speicherbereiche am Speicherort gemäß der obigen Beschreibung ist ebenfalls wünschenswert, da sie verhindert, dass die in den Datenträgern enthaltenen Daten außerhalb des bestehenden Speicherpools verlagert werden, während der bestehende Speicherpool in den geplanten Speicherpool mit dem größeren Speicherbereich der Speicherbank umgewandelt wird. Die hier beschriebenen Ansätze sind insbesondere in der Lage, die Menge an zusätzlichen Speicherressourcen, in Anspruch genommener Verarbeitungsbandbreite, Leistungsverzögerungen usw. erheblich zu verringern, insbesondere im Vergleich zu herkömmlichen Verfahren.
  • Weiterhin mit Bezug auf 4A sei darauf hingewiesen, dass der Prozess zum Umordnen der Datenträger-Speicherbereiche im bestehenden Speicherpool in einigen Ansätzen Umordnen der Datenträger-Speicherbereiche auf der Grundlage einer Temperatur der in jedem Datenträger-Speicherbereich enthaltenen Daten umfasst. Anders ausgedrückt umfasst die Operation 404 in einigen Ansätzen Anwenden einer Trennung zwischen „heißen“ und „kalten“ Daten, um zu ermitteln, wie die Datenträger-Speicherbereiche im Speicherpool angeordnet werden sollten. Dadurch werden Datenträger-Speicherbereiche im bestehenden Speicherpool, die heiße Daten enthalten, zusammengestellt, während Datenträger-Speicherbereiche im bestehenden Speicherpool, die kalte Daten enthalten, ebenfalls zusammengestellt werden. Dies steigert weiterhin die Betriebseffizienz des Speicherpools. Es sei jedoch auch darauf hingewiesen, dass die Trennung zwischen heißen und kalten Daten absichtlich ausgeschaltet werden kann, nachdem die Datenträger-Speicherbereiche in Operation 404 umgeordnet wurden, um weitere Änderungen an ihrer Ausrichtung zu vermeiden. Darüber hinaus werden beim Zuordnen neuer Speicherbereiche auf einem gegebenen Datenträger vorzugsweise aufeinanderfolgende kleine Speicherbereiche zugeordnet, die auf die angrenzenden großen Speicherbereiche ausgerichtet sind.
  • In anderen Ansätzen umfasst der Prozess zum Umordnen der Datenträger-Speicherbereiche im bestehenden Speicherpool Umordnen der Datenträger-Speicherbereiche lediglich auf der Grundlage der Gesamtgröße der durch die Datenträger-Speicherbereiche logisch dargestellten Daten. In anderen Ansätzen kann das Umordnen jedoch zufällig, seriell, nichtseriell usw. durchgeführt werden. In anderen Ansätzen kann der Prozess zum Umordnen der Datenträger-Speicherbereiche auf der Grundlage eines oder mehrerer Kriterien erfolgen, z.B. der Geschwindigkeit des Datenabrufs in der jeweiligen Speicherbank. Beispielsweise kann jede der Speicherbänke in der Reihenfolge abnehmender Datenabrufgeschwindigkeit aufgelistet werden, und Datenträger-Speicherbereiche können gemäß der Liste Speicherbänken zugeordnet werden (z.B. beginnend mit Speicherbänken mit der schnellsten Datenabrufgeschwindigkeit usw.).
  • Nachdem die einzelnen Datenträger im Speicherpool auf den größeren geplanten Speicherbereich ausgerichtet wurden, werden im nächsten Schritt die Speicherbänke in die neue Speicherbereichsgröße umgewandelt. Entsprechend umfasst die Operation 406 weiterhin Umwandeln jede der Speicherbänke im bestehenden Speicherpool von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank. Anders ausgedrückt umfasst die Operation 406 Erweitern der einzelnen Speicherbänke im bestehenden Speicherpool auf die geplante Speicherbankgröße, die dem geplanten Speicherpool zugehörig ist. In bevorzugten Ansätzen wird jede der Speicherbänke im bestehenden Speicherpool sequenziell umgewandelt, indem von einer Speicherbank zur nächsten gegangen wird, was die Erfindung jedoch in keiner Weise einschränken soll. In einigen Ansätzen können beispielsweise zwei oder mehr Speicherbänke parallel vergrößert werden.
  • Wie bereits erwähnt, ist es wünschenswert, eine gegebene Speicherbank zu vergrößern, ohne zu diesem Zweck Daten zu verlagern. Mit Bezug auf 4B sind gemäß einem veranschaulichenden Ansatz beispielhafte Teilprozesse zum Umwandeln jeder der Speicherbänke im bestehenden Speicherpool von dem kleineren ersten Speicherbereich der Speicherbank in den größeren zweiten Speicherbereich der Speicherbank dargestellt. Daraus folgt, dass ein oder mehrere der in 4B enthaltenen Teilprozesse verwendet werden kann bzw. können, um die Operation 406 von 4A durchzuführen. Es sei jedoch darauf hingewiesen, dass die Teilprozesse von 4B gemäß einem Ansatz veranschaulicht werden, wodurch die Erfindung in keiner Weise eingeschränkt werden soll.
  • Wie dargestellt, geht es bei der Teiloperation 450 darum, zu einer Speicherbank im bestehenden Speicherpool zu gehen. Zum Beispiel kann eine erste Iteration der Teilprozesse in 4B Gehen zu einer ersten Speicherbank im Speicherpool umfassen, während nachfolgende Iterationen der Teilprozesse in 4B Gehen zu einer nachfolgenden Speicherbank im Speicherpool umfassen können. Wie bereits erwähnt, können die Teilprozesse in 4B iterativ für jede der Speicherbänke im Speicherpool wiederholt werden.
  • Um die Speicherbänke umzuwandeln, während die Daten an ihrem Speicherort verbleiben, wird eine neue Tabelle erzeugt, die dem Layout des kleineren bestehenden Speicherbereichs der Speicherbank zugeordnet wird, das die Datenträger bereits enthalten. Entsprechend umfasst die Teiloperation 452 Zuordnen neuen RST-Speicherplatzes und/oder neuer RST-Einträge für die gegebene Speicherbank, die im Teilprozess 450 identifiziert wurde. Wie bereits erwähnt, entsprechen dieser neu zugeordnete RST-Speicherplatz und/oder diese RST-Einträge dem größeren geplanten Speicherbereich der Speicherbank, und diese können daher verwendet werden, um die Größe der gegebenen Speicherbank umzuwandeln, ohne dass die darin gespeicherten Daten verlagert werden müssen. Beispielsweise können der neu zugeordnete RST-Speicherplatz und/oder die RST-Einträge mit einem logischen Speicherort der Daten in den Datenträgern befüllt werden, die umgeordnet wurden, um im Wesentlichen an den Grenzen der gegebenen Speicherbank ausgerichtet zu werden. Gemäß einigen Ansätzen kann dies durch Identifizieren eines Datenträgers und eines Datenträger-Speicherbereichs innerhalb dieses Datenträgers erreicht werden, auf dem die Daten logisch gespeichert sind.
  • Es sei ferner darauf hingewiesen, dass die RST in bevorzugten Ansätzen eins-zueins nach Speicherbereich konfiguriert wird. Anders ausgedrückt entspricht jeder RST-Eintrag einem Speicherbereich einer Speicherbank einer gegebenen Größe und verweist auf einen entsprechenden Datenträger-Speicherbereich. In einigen Ansätzen werden die Speicherbereiche in der gegebenen Speicherbank beispielsweise als RST-Einträge für die Speicherbank dargestellt, wobei jeder Speicherbereich der Speicherbank einen zuvor festgelegten Umfang an Speicherplatz zum Speichern von Daten innerhalb des Speicherpools darstellt. Darüber hinaus kann der Prozess zum Zuordnen von neuem RST-Speicherplatz mit jedem beliebigen Prozess durchgeführt werden, wie es für den Fachmann beim Lesen der vorliegenden Beschreibung offensichtlich ist.
  • Weiterhin mit Bezug auf 4B umfasst die Teiloperation 454 Einstellen aller Aktivitäten zum Ändern des Speicherbereichs für die gegebene Speicherbank. Auf diese Weise kann die gegebene Speicherbank umgewandelt werden, während die darin enthaltenen Speicherbereiche vorübergehend unverändert bleiben müssen, wodurch Fehler vermieden werden, wie es z.B. für den Fachmann offensichtlich ist. Doch auch wenn die Aktivitäten zum Ändern der Speicherbereiche für die gegebene Speicherbank eingestellt werden, sei darauf hingewiesen, dass die verbleibenden Speicherbänke im Speicherpool bei einigen Ansätzen davon unberührt bleiben können. Auf diese Weise kann der Speicherpool wünschenswerterweise insgesamt weiter funktionsfähig bleiben, während die Speicherbereichsgröße jeder der darin enthaltenen Speicherbänke systematisch umgewandelt wird, und es wird vermieden, dass die Daten für die Umwandlung aus dem Pool verlagert werden müssen.
  • Der Ablaufplan geht weiter zu Teiloperation 456, die Befüllen des neu zugeordneten RST-Speicherplatzes und/oder der RST-Einträge mit einem neuen Eintrag umfasst, der der zweiten Speicherbereichsgröße der Speicherbank entspricht. Anders ausgedrückt umfasst die Teiloperation 456 Befüllen des in der Teiloperation 452 gebildeten neuen RST-Eintrags, um auf die kleineren Datenträger-Speicherbereiche zu verweisen, die entsprechend dem geplanten größeren Speicherbereich der Speicherbank umgeordnet wurden, um auf die Grenzen der gegebenen Speicherbank ausgerichtet zu werden. Gemäß einigen Ansätzen können ein oder mehrere Zeiger, die auf die relevanten Datenträger-Speicherbereiche verweisen (z.B. anhand einer Verweisnummer), zum Befüllen des neu zugeordneten RST-Speicherplatzes verwendet werden. Es können jedoch beliebige Prozesse implementiert werden, z.B. je nach gewünschtem Ansatz.
  • Die Teiloperation 458 umfasst weiterhin Durchführen einer vorübergehenden Pause/Sperre für einen bestehenden RST-Eintrag, der der gegebenen Speicherbank entspricht, während die Teiloperation 460 Aktivieren des neuen RST-Eintrags umfasst, der der zweiten Speicherbereichsgröße der Speicherbank entspricht (z.B. darauf verweist). Die Teiloperationen 458 und 460 sind dadurch in der Lage, von dem bestehenden (z.B. vorherigen) RST-Eintrag zu dem neu zugeordneten RST-Eintrag überzugehen. Gemäß einigen Ansätzen kann Durchführen einer vorübergehenden Pause/Sperre für den bestehenden RST-Eintrag bedeuten, dass alle möglichen Threads überprüft werden, bevor der Ablaufplan dazu übergehen kann, den neu zugeordneten RST-Eintrag zu verwenden.
  • Als Reaktion auf Aktivieren des neu zugeordneten RST-Eintrags umfasst die Teiloperation 462 Wiederaufnehmen der Aktivitäten zum Ändern des Speicherbereichs für die gegebene Speicherbank. Die Teiloperation 464 umfasst zusätzlich Freigeben des bestehenden (z.B. vorherigen) RST-Eintrags, damit er wie gewünscht wiederverwendet werden kann. Bei einigen Ansätzen bedeutet Freigeben des bestehenden RST-Eintrags beispielsweise, dass der Platz in der Tabelle freigemacht wird, damit er für andere Speicherbänke verwendet werden kann. Außerdem können alle Informationen (z.B. Daten, Metadaten usw.), die in dem bestehenden RST-Eintrag gespeichert sind, gelöscht werden.
  • Bei der Entscheidung 466 umfasst der Ablaufplan Ermitteln, ob alle Speicherbänke im bestehenden Speicherpool umgewandelt wurden, um den größeren Speicherbereich der Speicherbank zu implementieren. Anders ausgedrückt umfasst die Entscheidung 466 Ermitteln, ob alle Speicherbänke im bestehenden Speicherpool überprüft wurden. Als Reaktion auf ein Feststellen, dass mindestens eine der Speicherbänke im bestehenden Speicherpool noch nicht umgewandelt wurde, um den größeren Speicherbereich der Speicherbank zu implementieren, kehrt der Ablaufplan zur Teiloperation 450 zurück. Dort umfasst die Teiloperation 450 Gehen zur nächsten Speicherbank, die noch nicht umgewandelt wurde, sodass die in 4B dargestellten Teilprozesse für diese Speicherbank z.B. wiederholt werden können. Als Reaktion auf ein Feststellen, dass alle Speicherbänke im bestehenden Speicherpool umgewandelt wurden, um den größeren Speicherbereich der Speicherbank zu implementieren, fährt der Ablaufplan jedoch mit der Operation 408 von 4A fort.
  • Zurück zu 4A: dort umfasst die Operation 408 tatsächlich Umwandeln der Datenträger, sodass sie den neu umgewandelten Speicherbänken zugeordnet werden. Anders ausgedrückt heißt dies, dass nach Umwandeln jeder der Speicherbänke zum Implementieren des größeren Speicherbereichs der Speicherbank auch die Datenträger selbst umgewandelt werden. Mit Bezug auf 4C sind gemäß einem veranschaulichenden Ansatz beispielhafte Teilprozesse dargestellt, um die Datenträger so umzuwandeln, dass sie den neu umgewandelten Speicherbänken zugeordnet werden. Daraus folgt, dass ein oder mehrere der in 4C enthaltenen Teilprozesse verwendet werden kann bzw. können, um die Operation 408 von 4A durchzuführen. Es sei jedoch darauf hingewiesen, dass die Teilprozesse von 4C gemäß einem Ansatz veranschaulicht werden, wodurch die Erfindung in keiner Weise eingeschränkt werden soll.
  • Wie dargestellt, umfasst die Teiloperation 470 Gehen zu einem Datenträger im Speicherpool. Zum Beispiel kann eine erste Iteration der Teilprozesse in 4C Gehen zu einem ersten Datenträger im Speicherpool umfassen, während nachfolgende Iterationen der Teilprozesse in 4C Gehen zu einem nachfolgenden Datenträger im Speicherpool umfassen können. Wie bereits erwähnt, können die Teilprozesse in 4C iterativ für jeden der Datenträger im Speicherpool wiederholt werden.
  • Es geht mit der Teiloperation 472 weiter, bei der eine vorübergehende Pause/Sperre für einen VST-Eintrag durchgeführt wird, der dem gegebenen Datenträger entspricht. Gemäß einigen Ansätzen umfasst das Durchführen der vorübergehenden Pause/Sperre Überprüfen jedes der möglichen Threads, die dem betreffenden VST-Eintrag zugehörig sind.
  • Darüber hinaus umfasst die Teiloperation 474 Entfernen einer bestehenden Struktur, die dem VST-Eintrag zugehörig ist, der der ersten Speicherbereichsgröße der Speicherbank entspricht (z.B. auf diese zeigt). Wie bereits erwähnt, werden die einzelnen Datenträger vorzugsweise so umgewandelt, dass sie den neu umgewandelten Speicherbänken mit dem größeren Speicherbereich der Speicherbank zugeordnet werden. Dazu werden vorzugsweise alle vorhandenen Strukturen entfernt, die einen gegebenen Datenträger der ursprünglichen Konfiguration der Speicherbank mit dem kleineren Speicherbereich der Speicherbank zuordnen. Dadurch wird die bestehende VST-Struktur, die die kleineren Speicherbereiche der Speicherbank gebildet hat, entfernt, sodass die größeren Speicherbereiche der Speicherbank implementiert werden können.
  • Als Reaktion auf Entfernen der bestehenden Struktur umfasst die Teiloperation 476 weiterhin Befüllen des VST-Eintrags mit einer neuen Struktur, die dem größeren Speicherbereich der Speicherbank entspricht. Infolgedessen verweist der VST-Eintrag auf den physischen Speicherbereich der Speicherbank (z.B. die Speicherbank-Startnummer für den physischen Speicherbereich) mit dem größeren Speicherbereich der Speicherbank. Der VST-Eintrag kann in bevorzugten Ansätzen auf die Speicherbereich-Startnummer für den physischen Speicherbereich verweisen, da die Nummerierung des Datenträger-Speicherbereichs die kleinste Einheit des Speicherbereichs verwendet. Darüber hinaus werden wie oben beschrieben in einigen Ansätzen Speicherbereiche ohne Auffüllung physisch zusammengepackt, z.B. wie es für den Fachmann beim Lesen der vorliegenden Beschreibung offensichtlich ist.
  • Gemäß einigen Ansätzen, die die Erfindung in keiner Weise einschränken sollen, kann der VST-Eintrag mit einer neuen Struktur befüllt werden, die dem größeren Speicherbereich der Speicherbank entspricht, indem eine Entsprechung zwischen logischen Datenträger-Speicherbereichen des Datenträgers und physischen Verlagerungsorten in dem/den jeweiligen Speicherbereich(en) der Speicherbank des Speicherpools erzeugt wird. Das Erzeugen der Entsprechung kann Identifizieren von VST-Einträgen im Datenträger umfassen, die dem/den jeweiligen Speicherbereich(en) der Speicherbank entspricht/entsprechen, der/die in den größeren Speicherbereich umgewandelt wurde(n). Beispielsweise kann eine VST eine logische Darstellung der auf dem Datenträger gespeicherten Daten speichern, wobei die VST eine Mehrzahl von Einträgen umfasst. Ein Teilsatz dieser Einträge kann innerhalb der VST identifiziert werden, die dem/den jeweiligen Speicherbereich(en) der Speicherbank entsprechen.
  • In anderen Ansätzen kann das Erzeugen der Entsprechung Erzeugen einer zusätzlichen VST für jeden identifizierten VST-Eintrag umfassen. Zum Beispiel kann für jeden identifizierten Teilsatz von VST-Einträgen eine zusätzliche VST erzeugt werden. In einem anderen Beispiel kann jede der zusätzlichen VSTs verwendet werden, um alle logischen Datenträger-Speicherbereiche innerhalb ihres entsprechenden VST-Eintrags mit einer höheren Granularität darzustellen. In anderen Ansätzen kann das Erzeugen der Entsprechung Einstellen der logischen Datenträger-Speicherbereiche innerhalb der zusätzlichen VSTs umfassen, um auf entsprechende Verlagerungsorte innerhalb der umgewandelten Speicherbereiche der Speicherbank zu verweisen. Auf diese Weise kann eine direkte Entsprechung zwischen den logischen Datenträger-Speicherbereichen der zusätzlichen VSTs des Datenträgers und den Verlagerungsorten innerhalb der Speicherbereiche der Speicherbank hergestellt werden.
  • Weiterhin umfasst der Ablaufplan bei 478 Ermitteln, ob alle Datenträger im bestehenden Speicherpool umgewandelt wurden. Anders ausgedrückt umfasst die Entscheidung 478 Ermitteln, ob alle Datenträger im bestehenden Speicherpool so umgewandelt wurden, dass sie den neu umgewandelten Speicherbänken zugeordnet werden. Als Reaktion auf ein Feststellen, dass mindestens einer der Datenträger noch nicht umgewandelt wurde, kehrt der Ablaufplan zur Teiloperation 470 zurück. Dort umfasst die Teiloperation 470 Gehen zum nächsten Datenträger, der noch nicht umgewandelt wurde, sodass die in 4C dargestellten Teilprozesse für diesen Datenträger zum Beispiel wiederholt werden können. Als Reaktion auf ein Feststellen, dass alle Datenträger im bestehenden Speicherpool gemäß dem größeren Speicherbereich der Speicherbank umgewandelt wurden, fährt der Ablaufplan jedoch mit der Operation 410 von 4A fort.
  • Mit erneutem Bezug auf 4A geht der Ablaufplan weiter zu Operation 410, nachdem alle Speicherbänke und Datenträger umgewandelt wurden, womit das Verfahren 400 enden kann. Entsprechend kann davon ausgegangen werden, dass als Reaktion auf Erreichen der Operation 410 der Speicherpool von einem bestehenden Speicherpool mit kleinem Speicherbereich in einen geplanten Speicherpool mit großem Speicherbereich umgewandelt wurde. Es sei jedoch darauf hingewiesen, dass das Verfahren 400 bei Erreichen der Operation 410 zwar enden kann, ein oder mehrere der im Verfahren 400 enthaltenen Prozesse jedoch wiederholt werden können, um einen weiteren Speicherpool umzuwandeln. Anders ausgedrückt kann ein oder mehrere der im Verfahren 400 enthaltenen Prozesse wiederholt werden, um einen weiteren bestehenden Speicherpool mit kleinem Speicherbereich in einen geplanten Speicherpool mit großem Speicherbereich am Speicherort umzuwandeln.
  • Daraus folgt, dass die verschiedenen Prozesse und Teilprozesse, die in den 4A bis 4C enthalten sind, in der Lage sind, die Speicherbereichsgröße der Speicherbänke in einem Datenspeicherpool umzuwandeln, während die Daten am Speicherort verbleiben. Dieser Prozess umfasst zwar einen gewissen Aufwand für Umordnen der Daten, bevor die eigentliche Änderung der Speicherbereichsgrößen der Speicherbank erfolgen kann, aber beim Umwandeln verbleiben die Daten im gegebenen Speicherpool, was die Effizienz der Betriebsabläufe deutlich verbessert, die Inanspruchnahme von Datenspeicher verringert, Verarbeitungszeiten verkürzt, Netzwerkverkehr verringert (der z.B. sonst durch Verlagern der Daten entstehen würde), usw. Diese Verbesserungen werden (zumindest teilweise) dadurch erreicht, dass die Eigenschaften der Datenträger es diesen verschiedenen Prozessen und Teilprozessen ermöglichen, das Layout der Datenträger und Speicherbänke in größere Speicherbereiche umzuwandeln. Wie bereits erwähnt, ermöglichen es die Eigenschaften der RST- und VST-Tabellen, dies zu erreichen, ohne Daten auf andere betroffene Speicherpools oder Maschinen verlagern zu müssen.
  • Mit Bezug nunmehr auf 5 ist eine beispielhafte Speicherumgebung 500 gemäß einem Ansatz dargestellt. Optional kann die vorliegende Speicherumgebung 500 in Verbindung mit Merkmalen beliebiger anderer hier aufgeführter Ausführungsformen implementiert werden, z.B. denjenigen, die unter Bezugnahme auf die anderen FIGUREN beschrieben werden, z.B. 4A bis 4C. Diese Speicherumgebung 500 und andere, die hier vorgestellt werden, können jedoch in verschiedenen Anwendungen und/oder Permutationen verwendet werden, die in den hier aufgeführten veranschaulichenden Ausführungsformen speziell beschrieben werden können. Weiterhin kann die hier vorgestellte Speicherumgebung 500 in jeder gewünschten Umgebung eingesetzt werden. Somit kann davon ausgegangen werden, dass 5 (und die anderen FIGUREN) jede mögliche Permutation umfasst.
  • Wie dargestellt, speichert eine VST 502 eine logische Darstellung von Daten, die auf einem Datenträger 0 504 gespeichert sind. Zusätzlich speichern eine oder mehrere RSTs eine physische Darstellung der Daten, wie sie in einer Speicherbank 3 524 eines bestehenden Speicherpools 0 526 gespeichert sind. Es sei auch darauf hingewiesen, dass die Granularität der Speicherbank des bestehenden Speicherpools 0 526 gemäß dem vorliegenden Ansatz 16 MB beträgt. Zum Beispiel hat jeder Speicherbereich der Speicherbank im bestehenden Speicherpool 0 526 eine Größe von etwa 16 MB. Diese Speicherbereiche der Speicherbank können jedoch von einer Größe von etwa 16 MB auf etwa 1 GB umgewandelt werden, z.B. unter Verwendung eines oder mehrerer der hier beschriebenen Ansätze (siehe z.B. 4A bis 4C oben).
  • Weiterhin Bezug nehmend auf 5 beziehen sich die VST-Einträge 532 und 534 des vollständigen Datenträger-Speicherbereichs auf die Speicherorte 530A und 530B innerhalb der RSTs, in denen die Daten im bestehenden Speicherpool 0 526 physisch gespeichert sind. So umfasst beispielsweise der Speicherbereich 0 530A der Speicherbank 3 524 des bestehenden Speicherpools 0 526 eine Verknüpfung zum VST-Eintrag 0 532 im Datenträger 0 504. Umgekehrt umfasst der VST-Eintrag 0 532 im Datenträger 0 504 eine Verknüpfung zum Speicherbereich 0 530A der Speicherbank 3 524 des bestehenden Speicherpools 0 526.
  • Ebenso umfasst der Speicherbereich 64 530B der Speicherbank 3 524 des bestehenden Speicherpools 0 526 eine Verknüpfung zum VST-Eintrag 2 534 im Datenträger 0 504. Umgekehrt umfasst der VST-Eintrag 2 534 im Datenträger 0 504 eine Verknüpfung zum Speicherbereich 64 530B der Speicherbank 3 524 des bestehenden Speicherpools 0 526. Auf diese Weise wird eine Verbindung zwischen einer logischen Darstellung von Daten im Datenträger 0 504 einer physischen Darstellung von Daten im bestehenden Speicherpool 0 526 zugeordnet.
  • Wie erwähnt, können Speicherbereichspools in Speicherprodukten unterschiedliche Speicherbereichsgrößen aufweisen. Eine Datenspeicherplattform DS8000 kann zum Beispiel eine Speicherbereichsgröße von 1 GB für einen größeren Pool und eine Speicherbereichsgröße von 16 MB für einen kleineren Pool implementieren. Wie bereits erwähnt, werden einige Arbeitslasten darüber hinaus besser mit kleinen Pools verarbeitet, während andere besser in Pools mit großem Speicherbereich verarbeitet werden. Daraus folgt, dass die verschiedenen hier beschriebenen Ansätze verwendet werden können, um die Leistung zu verbessern, indem die in einem gegebenen Pool implementierte Speicherbereichsgröße angepasst wird.
  • Gemäß einem Anwendungsbeispiel, das die Erfindung in keiner Weise einschränken soll, wird eine RST als Zuordnungstabelle für eine Speicherbank (eine Anordnung) verwendet, die den Zustand von Speicherbereichen der Speicherbank und der logischen Datenträger-Speicherbereiche beschreibt, zu denen die physischen Speicherbereiche der Speicherbank gehören. Angenommen, die Speicherbank rO ist 1T und die Speicherbereichsgröße ist 1G, dann hätte diese RST-Tabelle 1024 Einträge, von denen jeder einen physischen Speicherbereich darstellt. Wenn der Speicherbereich der Speicherbank 0 dem logischen Speicherbereich 1 des Datenträgers 0x1010 zugeordnet ist, enthält der Eintrag in der RST Informationen, die angeben, dass der Zustand des physischen Speicherbereichs zugeordnet ist, und dass er dem logischen Speicherbereich 1 des Datenträgers 0x1010 zugeordnet ist.
  • Darüber hinaus wird eine VST als Zuordnungstabelle für Datenträger verwendet, die den logischen Speicherbereich des Datenträgers dem physische Speicherbereich der Speicherbank zuordnet, sodass der physische Speicherort leicht identifiziert werden kann, wenn eine Host-E/A eintrifft, die an einer logischen Blockadressierungsgrenze (Logical Block Addressing = LBA) des Datenträgers liegt, wie es für den Fachmann beim Lesen der vorliegenden Beschreibung offensichtlich ist.
  • Weiterhin kann in einem veranschaulichenden Ansatz eine kleine VST (small VST = smVST) als Zuordnungstabelle für einen Datenträger verwendet werden, die 64 Einträge enthält, wobei jeder Eintrag dem physischen Speicherbereich der Speicherbank einen kleinen logischen Speicherbereich (16 MB) zuordnet, sodass ein physischer Speicherort identifiziert werden kann, wenn eine Host-E/A eintrifft, die auf einer LBA-Grenze des Datenträgers liegt. Weiterhin gibt es einen Ansatz, bei dem nur eine RST auf den Festplatten verbleibt und eine VST auf der Grundlage der RST erstellt und bei Bedarf in den Speicher geladen wird.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/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 Einheit zur Ausführung von Anweisungen 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 Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hier 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. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hier 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, Router, 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, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie 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, vor Ort 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 hier unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder 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 Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass 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, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel 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 auf einem Computer ausgeführten Prozess zu erzeugen, sodass 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 als ein Schritt ausgeführt, gleichzeitig ausgeführt, im Wesentlich gleichzeitig ausgeführt, ganz oder teilweise zeitlich überlappend 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.
  • Darüber hinaus kann ein System gemäß verschiedenen Ausführungsformen einen Prozessor und eine in den Prozessor integrierte und/oder von ihm ausführbare Logik enthalten, wobei die Logik so konfiguriert ist, dass sie einen oder mehrere der hier beschriebenen Prozessschritte ausführt. Der Prozessor kann jede hier beschriebene Konfiguration aufweisen, z.B. einen diskreten Prozessor oder einen Verarbeitungsschaltkreis, der viele Komponenten umfasst, z.B. Verarbeitungshardware, Speicher, E/A-Schnittstellen usw. Mit „integriert in“ ist gemeint, dass der Prozessor eine eingebettete Logik als Hardware-Logik hat, wie z.B. eine anwendungsspezifische integrierte Schaltung (application specific integrated circuit, ASIC), eine FPGA usw. Mit „ausführbar durch den Prozessor“ ist gemeint, dass die Logik Hardware-Logik ist; Software-Logik wie z.B. Firmware, Teil eines Betriebssystems, Teil eines Anwendungsprogramms; usw. oder eine Kombination aus Hardware- und Software-Logik, auf die der Prozessor zugreifen kann und die so konfiguriert ist, dass der Prozessor veranlasst wird, beim Ausführen durch den Prozessor eine bestimmte Funktionalität auszuführen. Software-Logik kann auf einem lokalen und/oder entfernt angeordneten Speicher eines beliebigen Speichertyps gespeichert werden, wie er nach dem Stand der Technik bekannt ist. Jeder nach dem Stand der Technik bekannte Prozessor kann verwendet werden, z.B. ein Software-Prozessormodul und/oder ein Hardware-Prozessor wie eine ASIC, eine FPGA, eine Zentraleinheit (CPU), eine integrierte Schaltung (integrated circuit, IC), eine Grafikverarbeitungseinheit (graphics processing unit, GPU) usw.
  • Es ist offensichtlich, dass die verschiedenen Merkmale der oben genannten Systeme und/oder Methodiken in beliebiger Weise kombiniert werden können, sodass sich aus den obigen Beschreibungen eine Mehrzahl an Kombinationen ergibt.
  • Es ist weiterhin offensichtlich, dass Ausführungsformen der vorliegenden Erfindung in Form eines Dienstes zur Verfügung gestellt werden können, der für einen Kunden eingesetzt wird, um eine Dienstleistung auf Anfrage anzubieten.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgestellt, sollen jedoch nicht erschöpfend oder auf die Ausführungsformen beschränkt sein. Für Fachleute ist offensichtlich, dass viele Änderungen und Abwandlungen möglich sind, ohne vom Anwendungsbereich der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber Technologien auf dem Markt bestmöglich zu erläutern oder es Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.

Claims (24)

  1. Durch einen Computer implementiertes Verfahren zum Umwandeln eines bestehenden Speicherpools in einen geplanten Speicherpool am Speicherplatz, wobei das Verfahren aufweist: Identifizieren einer Anforderung zum Umwandeln des bestehenden Speicherpools mit einer ersten Speicherbereichsgröße einer Speicherbank in den geplanten Speicherpool mit einer zweiten Speicherbereichsgröße einer Speicherbank, wobei der erste Speicherbereich einer Speicherbank größer ist als der zweite Speicherbereich einer Speicherbank; Umordnen von Datenträger-Speicherbereichen im bestehenden Speicherpool, sodass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ausgerichtet werden; für jede der Speicherbänke im bestehenden Speicherpool Umwandeln der gegebenen Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank; und als Reaktion auf das Umwandeln der Speicherbänke im bestehenden Speicherpool, für jeden der Datenträger: Durchführen einer vorübergehenden Pause/Sperre für einen Eintrag in einer Datenträger-Segmenttabelle (VST), der dem gegebenen Datenträger entspricht, Entfernen einer bestehenden Struktur, die dem VST-Eintrag zugehörig ist, der der ersten Speicherbereichsgröße der Speicherbank entspricht, und Befüllen des VST-Eintrags mit einer neuen Struktur, die der zweiten Speicherbereichsgröße der Speicherbank entspricht.
  2. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei das Umwandeln der gegebenen Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank umfasst: Zuordnen von neuem Speicherplatz in einer Speicherbank-Segmenttabelle (RST); Einstellen der Aktivität zum Ändern des Speicherbereichs für die gegebene Speicherbank; Befüllen des neuen zugeordneten RST-Speicherplatzes mit einem neuen Eintrag, der der zweiten Speicherbereichsgröße der Speicherbank entspricht; Durchführen einer vorübergehenden Pause/Sperre für einen bestehenden RST-Eintrag, der der gegebenen Speicherbank entspricht; Aktivieren des neuen RST-Eintrags, der der zweiten Speicherbereichsgröße der Speicherbank entspricht; und Wiederaufnehmen der Aktivität zum Ändern des Speicherbereichs für die gegebene Speicherbank.
  3. Durch einen Computer implementiertes Verfahren nach Anspruch 2, wobei das Umwandeln der gegebenen Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank umfasst: Freigeben des bestehenden RST-Eintrags.
  4. Durch einen Computer implementiertes Verfahren nach Anspruch 2, wobei die RST so konfiguriert ist, dass jeder RST-Eintrag einem Speicherbereich der Speicherbank einer gegebenen Größe entspricht und sie auf einen entsprechenden Datenspeicher-Speicherbereich verweist.
  5. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei das Umordnen der Speicherbereiche des Datenträgers im bestehenden Speicherpool, sodass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherbereichs ausgerichtet sind, umfasst: Umordnen der Datenträger-Speicherbereiche auf der Grundlage einer Temperatur der in jedem der Datenträger-Speicherbereiche enthaltenen Daten.
  6. Durch einen Computer implementiertes Verfahren nach Anspruch 5, wobei Datenträger-Speicherbereiche im bestehenden Speicherpool, die heiße Daten enthalten, zusammengestellt werden, während Datenträger-Speicherbereiche im bestehenden Speicherpool, die kalte Daten enthalten, ebenfalls zusammengestellt werden.
  7. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei die Datenträger-Speicherbereiche im bestehenden Speicherpool so umgeordnet werden, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ohne Auffüllen ausgerichtet werden.
  8. Durch einen Computer implementiertes Verfahren nach Anspruch 1, wobei die Daten in den Datenträgern beim Umwandeln des bestehenden Speicherpools in den geplanten Speicherpool nicht aus dem bestehenden Speicherpool nach außen verlagert werden.
  9. Computerprogrammprodukt zum Umwandeln eines bestehenden Speicherpools in einen geplanten Speicherpool am Speicherort, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darin enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen von einem Prozessor lesbar und/oder ausführbar sind, um den Prozessor zu veranlassen: eine Anforderung zum Umwandeln des bestehenden Speicherpools mit einer ersten Speicherbereichsgröße einer Speicherbank in den geplanten Speicherpool mit einer zweiten Speicherbereichsgröße einer Speicherbank durch den Prozessor zu identifizieren, wobei der erste Speicherbereich einer Speicherbank größer ist als der zweite Speicherbereich einer Speicherbank; Datenträger-Speicherbereiche im bestehenden Speicherpool so durch den Prozessor umzuordnen, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ausgerichtet werden; für jede der Speicherbänke im bestehenden Speicherpool die gegebene Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank durch den Prozessor umzuwandeln; und als Reaktion auf das Umwandeln der Speicherbänke im bestehenden Speicherpool, für jeden der Datenträger: eine vorübergehenden Pause/Sperre für einen Eintrag in einer Datenträger-Segmenttabelle (VST), der dem gegebenen Datenträger entspricht, durch den Prozessor durchzuführen, eine bestehende Struktur, die dem VST-Eintrag zugehörig ist, der der ersten Speicherbereichsgröße der Speicherbank entspricht, durch den Prozessor zu entfernen, und den VST-Eintrag mit einer neuen Struktur, die der zweiten Speicherbereichsgröße der Speicherbank entspricht, zu befüllen.
  10. Computerprogrammprodukt nach Anspruch 9, wobei das Umwandeln der gegebenen Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank umfasst: Zuordnen von neuem Speicherplatz in einer Speicherbank-Segmenttabelle (RST); Einstellen der Aktivität zum Ändern des Speicherbereichs für die gegebene Speicherbank; Befüllen des neuen zugeordneten RST-Speicherplatzes mit einem neuen Eintrag, der der zweiten Speicherbereichsgröße der Speicherbank entspricht; Durchführen einer vorübergehenden Pause/Sperre für einen bestehenden RST-Eintrag, der der gegebenen Speicherbank entspricht; Aktivieren des neuen RST-Eintrags, der der zweiten Speicherbereichsgröße der Speicherbank entspricht; und Wiederaufnehmen der Aktivität zum Ändern des Speicherbereichs für die gegebene Speicherbank.
  11. Computerprogrammprodukt nach Anspruch 10, wobei das Umwandeln der gegebenen Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank umfasst: Freigeben des bestehenden RST-Eintrags.
  12. Computerprogrammprodukt nach Anspruch 10, wobei die RST so konfiguriert ist, dass jeder RST-Eintrag einem Speicherbereich der Speicherbank einer gegebenen Größe entspricht und sie auf einen entsprechenden Datenspeicher-Speicherbereich verweist.
  13. Computerprogrammprodukt nach Anspruch 9, wobei das Umordnen der Speicherbereiche des Datenträgers im bestehenden Speicherpool, sodass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherbereichs ausgerichtet sind, umfasst: Umordnen der Datenträger-Speicherbereiche auf der Grundlage einer Temperatur der in jedem der Datenträger-Speicherbereiche enthaltenen Daten.
  14. Computerprogrammprodukt nach Anspruch 13, wobei Datenträger-Speicherbereiche im bestehenden Speicherpool, die heiße Daten enthalten, zusammengestellt werden, während Datenträger-Speicherbereiche im bestehenden Speicherpool, die kalte Daten enthalten, ebenfalls zusammengestellt werden.
  15. Computerprogrammprodukt nach Anspruch 9, wobei die Datenträger-Speicherbereiche im bestehenden Speicherpool so umgeordnet werden, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ohne Auffüllen ausgerichtet werden.
  16. Computerprogrammprodukt nach Anspruch 9, wobei die Daten in den Datenträgern beim Umwandeln des bestehenden Speicherpools in den geplanten Speicherpool nicht aus dem bestehenden Speicherpool nach außen verlagert werden.
  17. System, das aufweist: einen Prozessor; und Logik, die in den Prozessor integriert ist, die von dem Prozessor ausführbar ist, oder die in den Prozessor integriert und von dem Prozessor ausführbar ist, wobei die Logik so konfiguriert ist, dass sie: eine Anforderung zum Umwandeln des bestehenden Speicherpools mit einer ersten Speicherbereichsgröße einer Speicherbank in den geplanten Speicherpool mit einer zweiten Speicherbereichsgröße einer Speicherbank durch den Prozessor identifiziert, wobei der erste Speicherbereich einer Speicherbank größer ist als der zweite Speicherbereich einer Speicherbank; Datenträger-Speicherbereiche im bestehenden Speicherpool so durch den Prozessor umordnet, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ausgerichtet werden; für jede der Speicherbänke im bestehenden Speicherpool die gegebene Speicherbank von der ersten Speicherbereichsgröße der Speicherbank in die zweite Speicherbereichsgröße der Speicherbank durch den Prozessor umwandelt; und als Reaktion auf das Umwandeln der Speicherbänke im bestehenden Speicherpool, für jeden der Datenträger: eine vorübergehenden Pause/Sperre für einen Eintrag in einer Datenträger-Segmenttabelle (VST), der dem gegebenen Datenträger entspricht, durch den Prozessor durchführt, eine bestehende Struktur, die dem VST-Eintrag zugehörig ist, der der ersten Speicherbereichsgröße der Speicherbank entspricht, durch den Prozessor entfernt, und den VST-Eintrag mit einer neuen Struktur, die der zweiten Speicherbereichsgröße der Speicherbank entspricht, befüllt.
  18. System nach Anspruch 17, wobei das Umwandeln der gegebenen Speicherbank von der ersten Speicherbereichsgröße einer Speicherbank in die zweite Speicherbereichsgröße einer Speicherbank umfasst: Zuordnen von neuem Speicherplatz in einer Speicherbank-Segmenttabelle (RST); Einstellen der Aktivität zum Ändern des Speicherbereichs für die gegebene Speicherbank; Befüllen des neuen zugeordneten RST-Speicherplatzes mit einem neuen Eintrag, der der zweiten Speicherbereichsgröße der Speicherbank entspricht; Durchführen einer vorübergehenden Pause/Sperre für einen bestehenden RST-Eintrag, der der gegebenen Speicherbank entspricht; Aktivieren des neuen RST-Eintrags, der der zweiten Speicherbereichsgröße der Speicherbank entspricht; und Wiederaufnehmen der Aktivität zum Ändern des Speicherbereichs für die gegebene Speicherbank.
  19. System nach Anspruch 18, wobei das Umwandeln der gegebenen Speicherbank von der ersten Speicherbereichsgröße einer Speicherbank in die zweite Speicherbereichsgröße einer Speicherbank umfasst: Freigeben des bestehenden RST-Eintrags.
  20. System nach Anspruch 18, wobei die RST so konfiguriert ist, dass jeder RST-Eintrag einem Speicherbereich der Speicherbank einer gegebenen Größe entspricht und sie auf einen entsprechenden Datenspeicher-Speicherbereich verweist.
  21. System nach Anspruch 17, wobei das Umordnen der Speicherbereiche des Datenträgers im bestehenden Speicherpool, sodass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherbereichs ausgerichtet sind, umfasst: Umordnen der Datenträger-Speicherbereiche auf der Grundlage einer Temperatur der in jedem der Datenträger-Speicherbereiche enthaltenen Daten.
  22. System nach Anspruch 21, wobei Datenträger-Speicherbereiche im bestehenden Speicherpool, die heiße Daten enthalten, zusammengestellt werden, während Datenträger-Speicherbereiche im bestehenden Speicherpool, die kalte Daten enthalten, ebenfalls zusammengestellt werden.
  23. System nach Anspruch 17, wobei die Datenträger-Speicherbereiche im bestehenden Speicherpool so umgeordnet werden, dass die physischen Speicherbereiche der Speicherbank der Datenträger auf die Grenzen zwischen den Speicherbereichen der Speicherbank des geplanten Speicherpools ohne Auffüllen ausgerichtet werden.
  24. System nach Anspruch 17, wobei die Daten in den Datenträgern beim Umwandeln des bestehenden Speicherpools in den geplanten Speicherpool nicht aus dem bestehenden Speicherpool nach außen verlagert werden.
DE112020003457.7T 2019-09-06 2020-08-25 Umwandeln von speicherpools mit kleinem speicherbereich in speicherpools mit grossem speicherbereich am speicherort Active DE112020003457B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/563,072 US10901645B1 (en) 2019-09-06 2019-09-06 Converting small extent storage pools into large extent storage pools in place
US16/563,072 2019-09-06
PCT/IB2020/057934 WO2021044252A1 (en) 2019-09-06 2020-08-25 Converting small extent storage pools into large extent storage pools in place

Publications (2)

Publication Number Publication Date
DE112020003457T5 true DE112020003457T5 (de) 2022-07-07
DE112020003457B4 DE112020003457B4 (de) 2023-12-28

Family

ID=74191116

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003457.7T Active DE112020003457B4 (de) 2019-09-06 2020-08-25 Umwandeln von speicherpools mit kleinem speicherbereich in speicherpools mit grossem speicherbereich am speicherort

Country Status (6)

Country Link
US (2) US10901645B1 (de)
JP (1) JP2022547822A (de)
CN (1) CN114365076A (de)
DE (1) DE112020003457B4 (de)
GB (1) GB2603325B (de)
WO (1) WO2021044252A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10901645B1 (en) 2019-09-06 2021-01-26 International Business Machines Corporation Converting small extent storage pools into large extent storage pools in place
US11132138B2 (en) 2019-09-06 2021-09-28 International Business Machines Corporation Converting large extent storage pools into small extent storage pools in place

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453383B1 (en) * 1999-03-15 2002-09-17 Powerquest Corporation Manipulation of computer volume segments
US6895467B2 (en) 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
US7574560B2 (en) 2006-01-03 2009-08-11 Emc Corporation Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment
US8745336B2 (en) * 2008-05-29 2014-06-03 Vmware, Inc. Offloading storage operations to storage hardware
US8595458B2 (en) * 2008-09-29 2013-11-26 International Business Machines Corporation Intelligent extent initialization in storage environment
EP2211262A3 (de) 2009-01-23 2013-01-09 Infortrend Technology, Inc. Verfahren zur Ausführung von Speichervirtualisierung in einer Speichersystemarchitektur
US8239402B1 (en) * 2009-03-31 2012-08-07 Symantec Corporation Standard file system access to data that is initially stored and accessed via a proprietary interface
US8073816B1 (en) * 2009-04-20 2011-12-06 Netapp, Inc. Volume format conversion
US8578092B2 (en) 2010-01-25 2013-11-05 Hitachi, Ltd. Method and apparatus to support determining storage area unit size
US8639876B2 (en) * 2010-01-27 2014-01-28 International Business Machines Corporation Extent allocation in thinly provisioned storage environment
US8578108B2 (en) * 2010-08-03 2013-11-05 International Business Machines Corporation Dynamic look-ahead extent migration for tiered storage architectures
US8539008B2 (en) 2011-04-29 2013-09-17 Netapp, Inc. Extent-based storage architecture
US9606747B2 (en) * 2011-05-04 2017-03-28 International Business Machines Corporation Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
US8909891B2 (en) * 2011-07-21 2014-12-09 International Business Machines Corporation Virtual logical volume for overflow storage of special data sets
US9069468B2 (en) 2011-09-11 2015-06-30 Microsoft Technology Licensing, Llc Pooled partition layout and representation
WO2013042159A1 (en) 2011-09-20 2013-03-28 Hitachi, Ltd. Storage apparatus, computer system, and data migration method
WO2013089680A1 (en) 2011-12-13 2013-06-20 Hewlett-Packard Development Company, L.P. Storage controller with host collaboration for initialization of a logical volume
US9223501B2 (en) 2012-04-23 2015-12-29 Hitachi, Ltd. Computer system and virtual server migration control method for computer system
US8806126B2 (en) 2012-05-16 2014-08-12 Hitachi, Ltd. Storage apparatus, storage system, and data migration method
US8930623B2 (en) 2012-06-26 2015-01-06 Transcend Information, Inc. Method of securing data in storage device and storage device thereof
US10241709B2 (en) 2013-12-09 2019-03-26 Vmware, Inc. Elastic temporary filesystem
US9779015B1 (en) 2014-03-31 2017-10-03 Amazon Technologies, Inc. Oversubscribed storage extents with on-demand page allocation
US9495478B2 (en) 2014-03-31 2016-11-15 Amazon Technologies, Inc. Namespace management in distributed storage systems
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
CN107291395B (zh) * 2017-06-27 2020-09-22 苏州浪潮智能科技有限公司 一种lun在线扩容方法及系统
CN107422990B (zh) * 2017-07-28 2020-02-07 郑州云海信息技术有限公司 一种动态迁移方法及装置
US11132138B2 (en) 2019-09-06 2021-09-28 International Business Machines Corporation Converting large extent storage pools into small extent storage pools in place
US10901645B1 (en) 2019-09-06 2021-01-26 International Business Machines Corporation Converting small extent storage pools into large extent storage pools in place

Also Published As

Publication number Publication date
GB202203771D0 (en) 2022-05-04
US10901645B1 (en) 2021-01-26
GB2603325B (en) 2023-02-08
CN114365076A (zh) 2022-04-15
GB2603325A (en) 2022-08-03
WO2021044252A1 (en) 2021-03-11
DE112020003457B4 (de) 2023-12-28
JP2022547822A (ja) 2022-11-16
US20210072914A1 (en) 2021-03-11
US11314435B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE112018004256T5 (de) Redundanzcodierstreifen basierend auf internen adressen von speichervorrichtungen
DE102020127705A1 (de) Techniken für einen effizienten fabric-attached-speicher
DE112019005392T5 (de) Steigern von datenleistung durch transferieren von daten zwischen speicherebenen unter verwendung von arbeitslastmerkmalen
DE112020003929B4 (de) Verwaltung von metadaten von virtuellen speichern
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112018003524T5 (de) Dynamische datenverlagerung unter verwendung von speicherbänken auf cloud-grundlage
DE202010017667U1 (de) Datenspeichervorrichtung mit Flash-Speicherchips
DE102013017640A1 (de) Verteilte gekachelte Zwischenspeicherung
DE112011102076T5 (de) Neuordnen des Zugriffs zum Verringern der Gesamtsuchzeit auf Bandmedien
DE112010004931T5 (de) Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten(
DE112013006646B4 (de) Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation
DE112006001345T5 (de) Aufgabenzuweisung für Geräte mit derselben Konnektionsadresse
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE112015003536T5 (de) Host-Verwalter nicht flüchtiger Speicher
DE102017118341B4 (de) Neuaufteilen von Daten in einem verteilten Computersystem
DE112012001162T5 (de) Defragmentierung von Datenspeicherpools
DE102013020968A1 (de) Technik zum Zugreifen auf einen inhaltsadressierbaren Speicher
DE112020003457B4 (de) Umwandeln von speicherpools mit kleinem speicherbereich in speicherpools mit grossem speicherbereich am speicherort
DE102018204427A1 (de) Simulieren mehrerer Speichergeräte mit einem einzelnen Speichergerät, das mit einem Rechengerät gekoppelt ist
DE112018005121T5 (de) Speichersystem unter verwendung von cloud-speicher als eine speicherbank
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE102013020967B4 (de) Technik zur Ausführung von Speicherzugriffsoperationen über eine Textur-Hardware
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE112020003382T5 (de) Umwandeln von Speicherpools mit großem Speicherbereich in Speicherpools mit kleinem Speicherbereich am Speicherort

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence