DE112011100618B4 - Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird - Google Patents

Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird Download PDF

Info

Publication number
DE112011100618B4
DE112011100618B4 DE112011100618.7T DE112011100618T DE112011100618B4 DE 112011100618 B4 DE112011100618 B4 DE 112011100618B4 DE 112011100618 T DE112011100618 T DE 112011100618T DE 112011100618 B4 DE112011100618 B4 DE 112011100618B4
Authority
DE
Germany
Prior art keywords
memory
checksum
track
active
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112011100618.7T
Other languages
English (en)
Other versions
DE112011100618T5 (de
Inventor
David Montgomery
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 DE112011100618T5 publication Critical patent/DE112011100618T5/de
Application granted granted Critical
Publication of DE112011100618B4 publication Critical patent/DE112011100618B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • G06F3/068Hybrid 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
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Verfahren zum Verwalten von Daten in einem ersten Speicher und einem zweiten Speicher, wobei das Verfahren die folgenden Schritte umfasst:- Durchführen eines Arbeitsschritts zum Verlagern eines Speicherbereichs von Spuren von dem zweiten Speicher zu dem ersten Speicher;- Ermitteln, ob für den zu verlagernden Speicherbereich ein Speicherbereichsobjekt vorhanden ist, wobei das Speicherbereichsobjekt vorhanden ist, wenn der Speicherbereich zu einem früheren Zeitpunkt bereits von dem ersten Speicher zu dem zweiten Speicher verlagert wurde, und wobei das Speicherbereichsobjekt für jede Spur eine Änderungsanzeige umfasst, die anzeigt, ob die Spur seit dem Zeitpunkt, als der Speicherbereich zuvor zu dem zweiten Speicher verlagert wurde, in dem zweiten Speicher aktualisiert wurde; und- als Reaktion auf das Ermitteln, dass das Speicherbereichsobjekt vorhanden ist, Durchführen der folgenden Schritte:- Ermitteln der Spuren in dem Speicherbereich, bei denen die Änderungsanzeige anzeigt, dass die Spur seit dem früheren Zeitpunkt in dem zweiten Speicher aktualisiert wurde;- Kopieren der Daten für die ermittelten Spuren von dem zweiten Speicher auf freie Speicherplätze in dem ersten Speicher; und- für jede ermittelte Spur Aktualisieren des Eintrags der ermittelten Spur in dem Speicherbereichsobjekt, um den freien Speicherplatz, auf den die Daten für die Spur kopiert wurden, als aktive Adresse für die Spur anzuzeigen, unter der die neueste Version der Spur in dem ersten Speicher zu finden ist.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Verfahren, ein System und ein Computerprogrammprodukt zum Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird.
  • Hintergrund der Erfindung
  • In einer hierarchischen Speicherumgebung können Speicherbereiche von Spuren in Abhängigkeit von den Eigenschaften der Speichereinheiten, der Zugriffshäufigkeit und der Priorität der Daten zwischen verschiedenen Ebenen von Speichereinheiten wie beispielsweise Festplattenlaufwerken, Halbleiterdatenträgern usw. verlagert werden. Zum Beispiel können häufiger aufgerufene Speicherbereiche und/oder Speicherbereiche mit höherer Priorität von einer Ebene mit langsamerem Zugriff zu einer Ebene mit schnellerem Zugriff und seltener aufgerufene Speicherbereiche und/oder Speicherbereiche mit niedrigerer Priorität zu einer Ebene mit schnellerem Zugriff verlagert werden.
  • Bei gegenwärtigen hierarchischen Speicherumgebungen werden Speicherbereiche zwischen oberen Ebenen/Pools und unteren Ebenen/Pools innerhalb eines bestimmten Zeitraums hin und her verlagert. Unter diesen Bedingungen stuft eine untere Ebene einen bestimmten Speicherbereich hoch, ohne zu berücksichtigen, dass dieser Speicherbereich entweder ganz oder teilweise immer noch unverändert auf der oberen Ebene liegt. Wenn Speicherbereiche verlagert werden, können alle Daten von dem Speicherbereich von einer Speichereinheit zur anderen hinüberkopiert werden. Eine solche Verlagerung nimmt viel Zeit in Anspruch.
  • Bei gegenwärtigen mehrschichtigen Speicherarchitekturen können obere Ebenen ältere, unveränderte (redundante) Spuren von Speicherbereichen enthalten, die zuvor auf untere Speicherbereiche herabgestuft wurden und zur Zwischenspeicherung der zweiten Ebene verwendet werden können. Den größten Nachteil aktueller Lösungen stellt die geringe Leistungsfähigkeit dar, da die Leseleistung von Halbleiterdatenträgern (solid state device, SSD) wesentlich höher ist als die von Festplattenlaufwerken.
  • Durch überflüssiges Lesen von Daten von Festplatten, die heruntergefahren wurden, wird auch:
    • • die Lebensdauer der Festplatten verringert
    • • der elektrische Wirkungsgrad verringert
    • • die Zugriffszeit für Datenanforderungen verlängert, da die Laufwerke zuerst hochgefahren werden müssen
  • Aus US 2009 / 0 265 506 A1 ist eine Speichervorrichtung mit einem ersten Speichermedium und einem zweiten Speichermedium mit unterschiedlichen Übertragungsgeschwindigkeiten bekannt, wobei eine Dateiverwaltung die beiden Speichermedien und entsprechende physikalische Systeme verwaltet.
  • Ausgehend von diesem Stand der Technik stellt sich die Erfindung die Aufgabe, das Verlagern von Speicherbereichen von Spuren zwischen Speichereinheiten zu verbessern.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch das Verfahren zum Verwalten von Daten in einem ersten Speicher und einem zweiten Speicher nach Anspruch 1, das System, das Daten mit einem ersten Speicher und einem zweiten Speicher austauscht, nach Anspruch 12 und das Computerprogrammprodukt zum Verwalten von Daten in einem ersten Speicher und einem zweiten Speicher nach Anspruch 18. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
  • Es werden ein Computerprogramm, ein Computerprogrammprodukt, ein System und ein Verfahren zum Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren bereitgestellt, der zwischen Speichereinheiten verlagert wurde. Eine Operation dient zum Verlagern eines Speicherbereichs von Spuren von dem zweiten Speicher zu dem ersten Speicher. Es wird ermittelt, ob für den zu verlagernden Speicherbereich ein Speicherbereichsobjekt vorhanden ist. Das Speicherbereichsobjekt ist vorhanden, wenn der Speicherbereich zuvor zu einem vorhergehenden Zeitpunkt von dem ersten Speicher zu dem zweiten Speicher verlagert wurde. Das Speicherbereichsobjekt umfasst für jede Spur eine Schreibanzeige, die anzeigt, ob die Spur seit dem vorhergehenden Zeitpunkt, als der Speicherbereich zuvor zu dem zweiten Speicher verlagert wurde, in dem zweiten Speicher aktualisiert wurde. Als Reaktion auf das Feststellen, dass das Speicherbereichsobjekt vorhanden ist, wird ermittelt, ob die Spuren in dem Speicherbereich die Schreibanzeige aufweisen, die anzeigt, dass die Spur seit dem früheren Zeitpunkt in dem zweiten Speicher aktualisiert wurde. Die Daten für die ermittelten Spuren werden von dem zweiten Speicher auf freie Speicherplätze in dem ersten Speicher kopiert. Für jede ermittelte Spur wird der Eintrag für die ermittelte Spur in dem Speicherbereichsobjekt aktualisiert, um den freien Speicherplatz als aktive Adresse für die Spur anzuzeigen, auf den die Daten für die Spur kopiert wurden.
  • Figurenliste
  • Im Folgenden wird nunmehr die vorliegende Erfindung anhand eines Beispiels unter Bezug auf bevorzugte Ausführungsformen beschrieben, die in den folgenden Figuren veranschaulicht sind:
    • 1 veranschaulicht eine Ausführungsform einer Datenverarbeitungsumgebung nach dem Stand der Technik, in der eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann;
    • 2 veranschaulicht eine Ausführungsform eines Eintrags in einem Speicherbereichsobjekt gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
    • 3 veranschaulicht eine Ausführungsform eines Speicherbereichsobjekts als Speicherbereichstabelle gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
    • 4 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Verlagern eines Speicherbereichs von einem zweiten Speicher zu einem ersten Speicher gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
    • 5 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Bearbeiten einer Schreibanforderung auf eine Spur in einem Speicherbereich, der in dem ersten Speicher vorhanden ist, gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung; und
    • 6 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Verarbeiten einer Schreibanforderung auf eine Spur in einem Speicherbereich, der in dem zweiten Speicher vorhanden ist, gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • 1 veranschaulicht eine Ausführungsform eines Servers 2, der Datenspuren in einem ersten Speicher 4 und einem zweiten Speicher 6 speichert. Der Server 2 umfasst einen Prozessor 8, der eine oder mehrere Prozessoreinheiten und einen Speicher 10 umfasst, in den ein Betriebssystem 12 geladen wird, um durch den Prozessor 8 ausgeführt zu werden. Das Betriebssystem 12 umfasst einen Speicherbereichs-Verlagerungscode 14, um die Verlagerung eines durch ein Speicherbereichsobjekt 16 repräsentierten Speicherbereichs von Spuren zwischen dem ersten Speicher 4 und dem zweiten Speicher 6 abzuwickeln. Der Speicherbereich von Spuren kann in dem ersten Speicher 4 oder in dem zweiten Speicher 6 aktiv sein und zwischen dem ersten Speicher 4 und dem zweiten Speicher 6 verlagert werden.
  • Der Server 2 kann Daten mit dem ersten Speicher 4 und dem zweiten Speicher 6 über ein Netz, über getrennte Leitungen durch eine Speicherschnittstelle, in einer Ringarchitektur usw. austauschen. Der erste Speicher 4 und der zweite Speicher 6 können verschiedene Arten von Speichereinheiten umfassen, zum Beispiel einen aus Halbleiterelektronik bestehenden Halbleiterdatenträger (SSD) wie beispielsweise einen EEPROM (elektrisch löschbarer Nur-Lese-Speicher), einen Flash-Speicher, Flash-Platten, einen Arbeitsspeicher (RAM), einen Speicherklassen-Speicher (SCM) usw., magnetische Speicherplatten, optische Platten, Magnetband usw. Der Speicher 8 kann eine oder mehrere flüchtige oder permanente Speichereinheiten umfassen. Der Speicherbereichs-Verlagerungscode 14 kann alternativ als Anwendungscode außerhalb des Betriebssystems 12 oder durch Hardwarelogik implementiert werden, beispielsweise als anwendungsspezifischer integrierter Schaltkreis (Application Specific Integrated Circuit, ASIC) oder als programmierbarer Prozessor, der einen Code in einem computerlesbaren Speichermedium ausführt.
  • Gemäß einer Ausführungsform können der erste Speicher 4 und der zweite Speicher 6 Speicherebenen in einer hierarchischen Anordnung von Speichereinheiten umfassen, wobei durch Ebenen ein Speicher anhand seiner Eigenschaften wie beispielsweise Eingabe/Ausgabe-Zugriffsprofil, Redundanz usw. definiert wird. Zum Beispiel kann der erste Speicher 4 einen Hochgeschwindigkeitsspeicher wie beispielsweise einen SSD oder ein RAM-Laufwerk und der zweite Speicher 6 einen Speicher mit langsamerem Zugriff wie beispielsweise eine Festplatte oder ein Magnetbandmedium umfassen. Das Betriebssystem 12 kann den Speicherbereichs-Verlagerungscode 14 aufrufen, um Speicherbereiche, auf die selten zugegriffen wird und/oder die nur niedrige Priorität haben, von dem ersten Speicher 4 zu dem zweiten Speicher 6 zu verlagern und Speicherbereiche von Spuren, auf die häufiger zugegriffen wird und/oder die höhere Priorität haben, unter Verwendung der in der Technik bekannten hierarchischen Speicherverwaltungstechniken von dem zweiten Speicher 6 zu dem ersten Speicher 4 zu verlagern. Zur Einschätzung, ob Speicherbereiche zwischen höheren und niedrigeren Speichereinheiten in der Speicherhierarchie verlagert werden müssen, können außer der Häufigkeit der Datenzugriffe und der Datenpriorität auch andere oder zusätzliche Dateneigenschaften verwendet werden.
  • Gemäß bestimmten Ausführungsformen ermittelt das Speicherbereichsobjekt 16 Spuren, die in dem zweiten Speicher 6 durchgehend gespeichert sind, was bei Ausführungsformen von Vorteil ist, bei denen der zweite Speicher 6 eine Speichereinheit umfasst, die über verbesserte E/A-Zugriffsmöglichkeiten für Spuren verfügt, die in dem Medium durchgehend gespeichert sind, beispielsweise ein Festplattenlaufwerk oder ein Magnetbandlaufwerk. Die Daten für die Spuren in dem Speicherbereich müssen jedoch nicht unbedingt in dem ersten Speicher durchgehend gespeichert sein, der eine Speichereinheit umfassen kann, die nicht über verbesserte Zugriffsmöglichkeiten für durchgehend gespeicherte Spuren verfügt, zum Beispiel ein Halbleiterdatenträger (SSD) oder ein Arbeitsspeicher (RAM) .
  • Das Speicherbereichsobjekt 16 umfasst Einträge für jede in einem Speicherbereich verwaltete Spur. Jede Spur kann eine einzige gleich große Dateneinheit umfassen. Der Server 2 kann für jeden einzelnen Speicherbereich, den der Server 2 in dem ersten Speicher 4 und in dem zweiten Speicher 6 verwaltet, mehrere Speicherbereichsobjekte 16 verwalten. Ferner können weitere Speichereinheiten vorhanden sein, sodass der Server die Verlagerung eines Speicherbereichs von Spuren zwischen mehr als zwei Speichern verwalten kann, wobei die verschiedenen Speicher unterschiedliche E/A-Zugriffsprofile aufweisen können.
  • 2 veranschaulicht eine Ausführungsform eines Eintrags 50 in dem Speicherbereichsobjekt 16, der Informationen auf einer Spur in einem Speicherbereich enthält. Eine Spurkennung (ID) 52 kennzeichnet eine Spur in dem Speicherbereich. Eine Änderungsanzeige 54 zeigt an, ob die Spur in dem zweiten Speicher 6 seit einem früheren Zeitpunkt aktualisiert wurde, an dem der Speicherbereich und die Spur zuvor von dem ersten Speicher 4 zu dem zweiten Speicher 6 verlagert wurden, und zeigt somit an, ob der erste Speicher 4 die neueste Version der Spur aufweist, während die Spur und der Speicherbereich auf dem zweiten Speicher 6 vorhanden sind. Eine aktive Adresse 56 zeigt eine Adresse in dem ersten Speicher 4 an, auf der eine neueste Version der Spur in dem ersten Speicher 6 zu finden ist. Eine aktive Prüfsumme 58 umfasst einen Prüfsummenwert, der aus den Daten der aktiven Adresse 56 berechnet wurde. Der Prüfsummenwert kann unter Verwendung der Prüfsumme oder in der Technik bekannter Hash-Algorithmen berechnet werden, um eine eindeutige oder wahrscheinlich eindeutige Darstellung der Daten zu ermitteln. Wenn die Änderungsanzeige 52 anzeigt, dass die Spur in dem zweiten Speicher 6 aktualisiert wurde und dass der erste Speicher 4 nicht die neueste Version der Daten aufweist, können die durch die aktive Adresse 56 gekennzeichneten Daten keine aktive, sondern aufgrund der vor kürzerer Zeit erfolgten Aktualisierung in dem zweiten Speicher 6 nur eine frühere Version umfassen.
  • Gemäß bestimmten Ausführungsformen können Datenaktualisierungen auf einen neuen, freien Speicherplatz in dem ersten Speicher 4 geschrieben werden. In einem solchen Fall würde der Speicherbereichseintrag 50 für die Spur für jede frühere Version a....n der in dem ersten Speicher 4 gespeicherten Spur eine frühere Versionsadresse 601....60n und eine aus der früheren Version der Spur berechnete Prüfsumme 621....62n der früheren Version beinhalten. Die Reihenfolge der früheren Versionsadressen 601 ... 60n in der Speicherbereichstabelle 80 kann auf das Alter der früheren Versionen hinweisen, wobei die neueste frühere Versionsadresse 601 an erster und die älteste frühere Versionsadresse 60n an letzter Stelle steht. Der Server 2 kann die Anzahl der Versionen der in dem ersten Speicher 4 gespeicherten Daten anhand verschiedener Faktoren beschränken, beispielsweise anhand des verfügbaren Speichervolumens, eines vorgegebenen Grenzwertes für die Anzahl der Versionen, eines zur Speicherung früherer Versionen vorgegebenen verfügbaren Speichervolumens usw.
  • Bei Ausführungsformen, bei denen der erste Speicher 4 einen SSD umfasst, werden neu geschriebene Daten auf einen neuen physischen Speicherplatz in dem ersten Speicher 4 als Teil eines Prozesses geschrieben, der als Ausgleich nachlassender Funktionsfähigkeit (wear-levelling) bezeichnet wird, um die Schreiboperationen über die Speichereinheit zu verteilen, wenn eine logische Adresse, auf die häufig zugegriffen wird, aktualisiert wird, und so die Lebensdauer einer Halbleiterspeichereinheit zu verlängern. Durch ständiges Schreiben auf ein und denselben physischen Speicherplatz einer Halbleiterspeichereinheit können die Speicherblöcke in dem Halbleiterdatenträger beeinträchtigt werden.
  • 3 veranschaulicht ein Beispiel eines Speicherbereichsobjekts, das als Speicherbereichstabelle 80 implementiert ist, die eine Zeile für jede Spur und Spalten mit den Informationen für das Speicherbereichsobjekt aufweist.
  • 4 veranschaulicht eine Ausführungsform von Arbeitsschritten, die in dem Speicherbereichs-Verlagerungscode 16 implementiert ist, um einen Speicherbereich von dem zweiten Speicher 6 zu dem ersten Speicher 4 zu verlagern oder hochzustufen. Nach dem Verarbeiten der Anforderung zum Verlagern des Speicherbereichs (Schritt 100) wird ermittelt (Schritt 102), ob für den zu verlagernden Speicherbereich oder die Spuren ein Speicherbereichsobjekt 16 vorhanden ist. Wenn dies nicht der Fall ist, fährt der Speicherbereichs-Verlagerungscode 14 mit Schritt 104 fort, um für den Speicherbereich ein neues Speicherbereichsobjekt 16 zu erzeugen und die Änderungsanzeige 54 für jeden Speicherbereichseintrag 50 ( 2) zu löschen, um anzuzeigen, dass die Daten in dem zweiten Speicher 2 nicht geändert worden sind. Für jede Spur in dem Speicherbereich 16 durchläuft der Speicherbereichs-Verlagerungscode 14 in dem Speicherbereich eine Schleife von Arbeitsschritten (Schritt 106 bis 114). Jede Spur wird (in Schritt 108) von dem zweiten Speicher 6 auf einen freien Speicherplatz in dem ersten Speicher 4 kopiert. Der Speicherbereichs-Verlagerungscode 14 berechnet (in Schritt 110) eine Prüfsumme für die kopierte Spur und setzt (in Schritt 112) die aktive Adresse 56 für die Spur gleich dem freien Speicherplatz in dem ersten Speicher 4, auf den die Spur kopiert wurde, und setzt die aktive Prüfsumme 58 gleich dem berechneten Prüfsummenwert. Die Arbeitsschritte 104 bis 114 können ausgeführt, wenn der Speicherbereich das erste Mal zu dem ersten Speicher 4 hochgestuft oder verlagert wird.
  • Wenn (in Schritt 102) für den hochzustufenden Speicherbereich bereits ein Speicherbereichsobjekt 16 vorhanden ist, war der Speicherbereich zuvor bereits von dem ersten Speicher 4 zu dem zweiten Speicher 6 verlagert worden, und für jede Spur in dem von dem zweiten Speicher 6 zu dem ersten Speicher 4 zu verlagernden oder hochzustufenden Speicherbereich wird eine Schleife der Arbeitsschritte 116 bis 128 durchlaufen. Wenn (in Schritt 118) die Änderungsanzeige 54 für die betreffende Spur anzeigt, dass die Spur nicht aktualisiert wurde, während sie sich auf dem zweiten Speicher 6 befand, bleibt die Spur unbearbeitet, und die Daten werden nicht hinüberkopiert, da die Daten nicht geändert worden sind. Wenn (in Schritt 118) die Änderungsanzeige 54 für die Spur anzeigt, dass die Spur geändert wurde, werden die Daten für die Spur (in Schritt 120) von dem zweiten Speicher 6 auf einen freien Speicherplatz in dem ersten Speicher 4 kopiert. Eine neue Adresse der früheren Version für die Spur wird gleich der aktuellen aktiven Adresse 56 gesetzt, wodurch die aktuellen Daten für die Spur zu einer früheren Version werden, und eine neue Prüfsumme der früheren Version für die Spur wird gleich der aktuellen aktiven Prüfsumme 58 gesetzt. Dann wird die aktive Adresse 56 (in Schritt 124) gleich der Adresse des freien Speicherplatzes gesetzt, auf den die Daten kopiert wurden, und die aktive Prüfsumme 58 wird (in Schritt 126) gleich einem Prüfsummenwert gesetzt, der aus den auf den freien Speicherplatz kopierten Daten berechnet wurde. Die Paare früherer Versionen, die früheren Versionsadressen 601....60n und die Prüfsummen 62a....62n der früheren Versionen werden dann (in Schritt 127) aufgezeichnet, sodass die Information der früheren Versionen nach Alter oder Versionsnummer der früheren Version geordnet sind.
  • Gemäß einer Ausführungsform, bei der das Speicherbereichsobjekt 16 eine Speicherbereichstabelle 80 umfasst (3), um in Schritt 127 eine Neuordnungsoperation auszuführen und aus den aktuellen aktiven Daten und der Prüfsumme eine frühere Version zu machen, kann der Speicherbereichs-Verlagerungscode 14 die Spalten für die aktuellen früheren Versionen 601....60n und 62a....62n zu den beiden rechten Spalten verschieben, um Spalten für die früheren Versionen 2....n+1 zu überschreiben und zu belegen und dann die aktuelle aktive Adresse 56 und die aktuelle aktive Prüfsumme 58 zu einer neuen aktuellsten früheren Versionsadresse 601 und 621 zu kopieren. Auf diese Weise werden die aktuelle Versionsadresse 56 und die Prüfsumme 58 zur neuesten früheren Version, um in den aktuellen Feldern 56 und 58 Platz zu schaffen für die auf den freien Speicherplatz kopierten aktualisierten Daten. Gemäß alternativen Ausführungsformen kann die Reihenfolge durch Zeiger oder andere Informationen angezeigt werden, die eine Reihenfolge der früheren Versionen anzeigen.
  • Mit den Arbeitsschritten von 4 werden nur Spuren, die seit dem Verlagern oder Hochstufen des Speicherbereichs von dem ersten Speicher 4 zu dem zweiten Speicher 6 geändert wurden, zu dem ersten Speicher 4 hinüberkopiert, wenn der Speicherbereich von dem zweiten Speicher 6 zu dem ersten Speicher 4 verlagert oder hochgestuft wird. Gemäß Ausführungsformen, bei denen der erste Speicher 4 einen SSD umfasst, führen diese Arbeitsschritte zu einem Ausgleich nachlassender Funktionsfähigkeit, da neue Daten auf einen neuen Speicherplatz geschrieben und unnötige Schreiboperationen auf den ersten Speicher 4 vermieden werden, der seit der vorhergehenden Verlagerung zu dem ersten Speicher 4 in dem zweiten Speicher 6 nicht geändert worden sind.
  • 5 veranschaulicht durch das Betriebssystem 12 ausgeführte Arbeitsschritte zur Abwicklung einer Schreiboperation auf eine Spur in einem Speicherbereich, der sich in dem ersten Speicher 4 befindet. Nach dem Empfangen der Schreibanforderung berechnet das Betriebssystem 12 (oder ein anderer Code) (in Schritt 152) eine temporäre Prüfsumme für die Schreibanforderung für Zielspuren. Wenn (in Schritt 154) die temporäre Prüfsumme mit der aktiven Prüfsumme 58 für die Spur übereinstimmt, wird eine Beendigungsanzeige an die Schreibanforderung zurückgegeben, da die Daten auf der aktiven Adresse 56 mit den zu schreibenden Daten identisch sind. In einem solchen Fall brauchen die Daten nicht auf den ersten Speicher 4 geschrieben zu werden, wodurch der Ausgleich nachlassender Funktionsfähigkeit bei Ausführungsformen verringert wird, bei denen der erste Speicher einen SSD oder eine andere Einheit umfasst, deren Lebensdauer durch ständiges Beschreiben ein und desselben Speicherplatzes verringert wird. Wenn (in Schritt 154) die temporäre Prüfsumme nicht mit der aktiven Prüfsumme 58 übereinstimmt, ermittelt das Betriebssystem 12 (in Schritt 158), ob die temporäre Prüfsumme mit einer Prüfsumme 621....62n der früheren Versionen übereinstimmt. Es kann Adressen und Prüfsummen von null oder mehreren früheren Versionen geben. Wenn eine Übereinstimmung gefunden wird, führt das Betriebssystem 12 die Arbeitsschritte 160 bis 166 aus, um Daten für eine frühere Version unter den Adressen 601 ...60n einer der früheren Versionen zu verwenden, da die Daten für eine frühere Version mit den zu schreibenden Daten übereinstimmen. In Schritt 160 setzt das Betriebssystem 12 (Schritt 160) eine neue Adresse der früheren Versionen und eine neue Prüfsumme der früheren Versionen gleich den Werten für die aktive Adresse und die aktive Prüfsumme. Diese neue Adresse der früheren Versionen und die neue Prüfsumme der früheren Versionen werden damit zur aktuellsten Adresse 601 der früheren Versionen und zur neuesten Prüfsumme 621. Das Betriebssystem 12 schreibt (in Schritt 162) die Schreibdaten für die Spur auf einen freien Speicherplatz in dem ersten Speicher und setzt (in Schritt 164) die aktive Adresse 56 gleich der Adresse des freien Speicherplatzes, auf den die Daten kopiert wurden, und setzt (in Schritt 166) die aktive Prüfsumme 58 gleich dem Prüfsummenwert, der aus den Daten in dem freien Speicherplatz berechnet wurde. Die Paare der früheren Versionen, die Adressen der früheren Versionen 601....60n und die früheren Prüfsummen 62a....62n, werden dann (in Schritt 167) neu geordnet, sodass die Informationen der früheren Versionen nach dem Alter oder der Versionsnummer der früheren Version geordnet sind.
  • Gemäß Ausführungsformen, bei denen das Speicherbereichsobjekt 16 eine Speicherbereichstabelle 80 umfasst (3), kann das Betriebssystem 12 nach dem Erzeugen der neuen Adresse der früheren Version und der neuen Prüfsumme der früheren Version zum Ausführen der Neuordnungsoperation von Schritt 167 alle aktuellen Adressen 601 ...60n früherer Versionen und Prüfsummen 621 ...62n in der Tabelle um zwei Spalten nach rechts verschieben, um die Spaltendaten zu überschreiben und aus ihnen die Adressen 602...60n+1 Prüfsummen 622...62n+1 der früheren Versionen zu machen und dann die erzeugte neue Adresse und Prüfsumme der früheren Version zur Adresse 601 und Prüfsumme 621 der früheren Version zu machen. Gemäß alternativen Ausführungsformen kann die Reihenfolge durch Zeiger oder andere Informationen angezeigt werden, die eine Reihenfolge der früheren Versionen anzeigen.
  • Wenn (in Schritt 158) die temporäre Prüfsumme mit einer ermittelten Prüfsumme 621....62n der früheren Versionen übereinstimmt, puffert das Betriebssystem 12 (in Schritt 168) die ermittelte frühere Adresse und die frühere Prüfsumme für die übereinstimmende frühere Prüfsumme. Das Betriebssystem 12 setzt (in Schritt 170) eine neue Adresse der früheren Version und eine neue Prüfsumme der früheren vorliegenden Erfindung gleich den Werten für die aktuelle aktive Adresse 56 und der aktiven Prüfsumme 58, um aus der aktuellen aktiven Adresse und der Prüfsumme die aktuellste frühere Version zu erstellen. Nach dem Ausführen des Schrittes 170 setzt das Betriebssystem 12 dann (in Schritt 172) die aktive Adresse 56 und die aktive Prüfsumme 58 gleich der gepufferten Adresse der früheren Version bzw. der Prüfsumme der früheren Version. Gemäß Ausführungsformen, bei denen das Speicherbereichsobjekt 16 eine Speicherbereichstabelle 80 umfasst (3), kann das Betriebssystem 12 dann nach dem Erstellen der aktuell aktiven Versionen 56 und 58 in Schritt 168 bis 172 aus einer Adresse der früheren Version, z.B. 60i, und einer Prüfsumme der früheren Version, z.B. 62i, alle Spalten der Adressen 60i+1 ... 60n früherer Versionen und der Prüfsummen 62i+1 ... 62n früherer Versionen im Gefolge der übereinstimmenden Adresse 60i und Prüfsumme 62i der früheren Version um zwei Spalten in der Tabelle 80 nach links verschieben, um die Spalten zu überschreiben, welche durch die übereinstimmende gepufferte Adresse 60i und Prüfsumme 62i der früheren Version belegt war, die auf die aktiven Felder 56 und 58 kopiert wurden.
  • Bei den beschriebenen Ausführungsformen von 5 versucht das Betriebssystem 12, die aktuelle aktive Adresse 56 und 58 oder eine Adresse 601...60n und eine Prüfsumme 621 ... 62n der früheren Versionen für die neue aktive Adresse 56 und die Prüfsumme 58 zu verwenden, um die Daten nicht auf den ersten Speicher 4 schreiben zu müssen. Auf diese Weise verwendet das Betriebssystem 12 die in dem ersten Speicher 4 bereits vorhandenen Daten erneut für die neuen Schreibdaten. Bei Ausführungsformen, bei denen der erste Speicher 4 einen SSD umfasst, wird durch die Wiederverwendung der aktiven Daten oder Daten früherer Versionen zum Vermeiden von Schreiboperationen eine nachlassende Funktionsfähigkeit vermieden und eine längere Lebensdauer des SSD erzielt.
  • 6 veranschaulicht eine Ausführungsform von Arbeitsschritten, die im Code (oder einer anderen Komponente) des Betriebssystems 12 implementiert sind, um eine Schreibanforderung zu bearbeiten, die an eine Zielspur in einem Speicherbereich gerichtet ist, der sich in dem zweiten Speicher 6 befindet. Das Speicherbereichsobjekt 16 soll schon erzeugt worden sein, wenn die Arbeitsschritte von 6 gestartet werden. Als Reaktion auf das Empfangen der Schreibanforderung (in Schritt 200) berechnet das Betriebssystem 12 (in Schritt 202) eine temporäre Prüfsumme für die Zielspur. Wenn (in Schritt 204) die temporäre Prüfsumme mit der aktiven Prüfsumme 58 für die Spur übereinstimmt und wenn (in Schritt 205) die Änderungsanzeige 54 so eingestellt ist, dass sie anzeigt, dass die Spur in dem zweiten Speicher 6 zuvor so geändert wurde, dass sich die Änderung nicht auf das Speicherbereichsobjekt 16 auswirkt, wird die Änderungsanzeige 54 (in Schritt 206) gelöscht, da die Spur des ersten Speichers 4 die in dem zweiten Speicher 6 geänderte Spur aufweist. Die Schreibdaten werden (in Schritt 208) auf die Spur in dem zweiten Speicher geschrieben, und (in Schritt 210) wird eine Beendigungsanzeige an die Schreibanforderung zurückgesendet. In einem solchen Fall braucht das Speicherbereichsobjekt 16 nicht aktualisiert zu werden, da die Daten auf der aktiven Adresse 56 für die Spur in dem ersten Speicher 4 mit den auf den zweiten Speicher 6 geschriebenen Daten identisch sind. Wenn (in Schritt 205) die Änderungsanzeige 54 nicht eingestellt ist, kehrt der Prozess zurück zu Schritt 210, damit nichts geschrieben wird, da die aktiven und die vor kurzem sowohl in den ersten Speicher 4 als auch in den zweiten Speicher 6 geschriebenen Daten bereits mit den zu schreibenden Daten übereinstimmen.
  • Wenn (in Schritt 204) die temporäre Prüfsumme nicht mit der aktiven Prüfsumme 58 übereinstimmt, ermittelt das Betriebssystem 12 (in Schritt 212), ob die temporäre Prüfsumme mit einer Prüfsumme 621....62n der früheren Versionen übereinstimmt.
  • Es kann Adressen und Prüfsummen von null oder mehreren früheren Versionen geben. Wenn (in Schritt 212) eine Übereinstimmung gefunden wurde, führt das Betriebssystem 12 die Arbeitsschritte 214 bis 218 aus, um eine Spur für eine frühere Version auf einer der Adressen 601 ...60n früherer Versionen zu verwenden, da die Spur für eine ermittelte frühere Version in dem ersten Speicher 6 mit den auf die Spur zu schreibenden Daten in dem zweiten Speicher 6 übereinstimmt. Das Betriebssystem 12 puffert (in Schritt 214) die ermittelte Adresse der früheren Version, z.B. 60i, und die Prüfsumme der früheren Version, z.B. 62i, für die übereinstimmende Prüfsumme 62i der früheren Version. Das Betriebssystem 12 setzt (in Schritt 216) eine neue Adresse der früheren Version und eine neue Prüfsumme der früheren Version gleich den Werten für die aktuelle aktive Adresse 56 und die aktive Prüfsumme 58. Nach dem Ausführen von Schritt 216 setzt das Betriebssystem 12 (in Schritt 218) die aktive Adresse 56 und die aktive Prüfsumme 58 gleich der gepufferten Adresse 60i der früheren Version bzw. der Prüfsumme 62i der früheren Version. Das Betriebssystem 12 löscht (in Schritt 206) die Änderungsanzeige 54, um anzuzeigen, dass die Spur unverändert ist, da der erste Speicher 4 die in dem zweiten Speicher 6 geänderten Daten aufweist. Dann geht der Prozess zu Schritt 206 und weiter zu Schritt 208, um die Schreiboperation in den zweiten Speicher 6 auszuführen.
  • Gemäß Ausführungsformen, bei denen das Speicherbereichsobjekt 16 eine Speicherbereichstabelle 80 umfasst (3), kann das Betriebssystem 12 nach dem Erzeugen einer Adresse der früheren Version, z.B. 60i, und einer Prüfsumme der früheren Version, z.B. 62i, der aktuellen aktiven Versionen 56 und 58, in Schritt 212 bis 216, alle Spalten der Adressen 60i+1 der früheren Versionen und der Prüfsummen 62i+1 der früheren Versionen im Anschluss an die gepufferte übereinstimmende Adresse der früheren Version, z.B. 60i, und die Prüfsumme der früheren Version, z.B. 62i, um zwei Spalten in der Tabelle 80 nach links verschieben, um die Spalten zu überschreiben, die durch die gepufferte übereinstimmende Adresse 60i der früheren Version und die Prüfsumme 62i belegt waren.
  • Wenn (in Schritt 212) die temporäre Prüfsumme nicht mit einer Prüfsumme vorhergehender Versionen übereinstimmt, wird die Änderungsanzeige 42 (in Schritt 222) so eingestellt, dass sie anzeigt, dass die Daten in dem zweiten Speicher 6 geändert wurden, worauf der Prozess mit Schritt 208 fortgesetzt wird, um die Schreiboperation auf den zweiten Speicher 6 zu beenden. Durch das Einstellen der Änderungsanzeige 54 wird angezeigt, dass der erste Speicher 6 die auf den zweiten Speicher 6 geschriebenen Daten nicht aufweisen kann. In einem solchen Fall handelt es sich bei den Daten in dem ersten Speicher 6 auf der aktiven Adresse 56 um „nichtaktive Daten“, da die Daten für die Spur seither in dem zweiten Speicher 6 geändert worden sind und die Spurdaten auf der aktiven Adresse 58 als aktuellste frühere Version gelten können. Wenn die Änderungsanzeige 54 eingestellt ist, können somit die aktive Adresse 56 und die aktive Prüfsumme 56 nicht wirklich als aktive Daten für die Spur gelten.
  • Gemäß den in 6 beschriebenen Ausführungsformen versucht das Betriebssystem 12, die aktuelle aktive Adresse 56 und 58 oder eine Adresse 601... 60n und Prüfsumme 621 ... 62n der früheren Versionen für die neue aktive Adresse 56 und die aktive Prüfsumme 58 in dem ersten Speicher 4 zu verwenden, wenn die auf der Spur in dem ersten Speicher 4 bereits vorhandenen Daten mit den auf den zweiten Speicher 6 zu schreibenden Daten übereinstimmen. Durch Aktualisieren des Speicherbereichsobjekts 16, um anzuzeigen, dass der erste Speicher 4 die auf den zweiten Speicher 6 geschriebenen Daten aufweist, braucht der erste Speicher 4 anschließend nicht durch die Schreibdaten auf der Spur in dem zweiten Speicher 6 aktualisiert zu werden, wenn der Speicherbereich mit der geänderten Spur von dem zweiten Speicher 6 zurück zu dem ersten Speicher 4 verlagert wird, da die Änderungsanzeige 54 gelöscht ist. Gemäß Ausführungsformen, bei denen der erste Speicher 4 einen SSD umfasst, wird durch das Verwenden der aktiven oder früheren Version der Spur in dem ersten Speicher 4 für die Schreiboperation auf den zweiten Speicher 6 vermieden, dass der erste Speicher während einer späteren Verlagerung von dem zweiten Speicher 6 zu dem ersten Speicher 4 beschrieben wird. Durch das Vermeiden der Schreiboperationen auf den ersten Speicher 4 werden eine nachlassende Funktionsfähigkeit des SSD verringert und seine Lebensdauer verlängert.
  • Wenn es für die in den ersten Speicher 4 oder den zweiten Speicher 6 geschriebene Spur kein Speicherbereichsobjekt gibt, kann gemäß den Ausführungsformen von 5 und 6 die Schreiboperation ohne weitere Schritte zugelassen werden. Wenn für eine Schreiboperation mehrere zu beschreibende Spuren zur Verfügung stehen, werden die Arbeitsschritte von 5 und 6 für jede zu beschreibende Spur ausgeführt.
  • Gemäß bestimmten Ausführungsformen kann der Server von 1 als Teil einer Cloud in einer Cloud-Datenverarbeitungsumgebung implementiert werden. In der Cloud-Datenverarbeitungsumgebung kann die Systemarchitektur der in die Bereitstellung der Cloud-Datenverarbeitungsumgebung einbezogenen Hardware- und Softwarekomponenten eine Vielzahl von Cloud-Komponenten umfassen, die über ein Netz wie beispielsweise das Internet Daten untereinander austauschen können. Gemäß bestimmten Ausführungsformen kann der Server von 1 zum Beispiel Clients und andere Server und Software- und/oder Hardwarekomponenten in der vernetzten Cloud mit Speicherungs- und Datenverarbeitungsdiensten bereitstellen. Der Server 2 kann zuverlässige Speicherungsdienste und den Zugriff auf die Speicher 4 und 6 bereitstellen, um die Anforderungen an die Servicequalität für die Kunden in der Cloud zu erfüllen, darunter Clients mit Speicherbedarf und andere Server, die Speicherungsdienste für die Clients bereitstellen. Der Server 2 kann Daten mit den Clients austauschen, um Speicherungsdienste für die Speicher 4 und 6 über eine Webschnittstelle oder eine andere anwenderprogrammierbare Schnittstelle bereitzustellen.

Claims (18)

  1. Verfahren zum Verwalten von Daten in einem ersten Speicher und einem zweiten Speicher, wobei das Verfahren die folgenden Schritte umfasst: - Durchführen eines Arbeitsschritts zum Verlagern eines Speicherbereichs von Spuren von dem zweiten Speicher zu dem ersten Speicher; - Ermitteln, ob für den zu verlagernden Speicherbereich ein Speicherbereichsobjekt vorhanden ist, wobei das Speicherbereichsobjekt vorhanden ist, wenn der Speicherbereich zu einem früheren Zeitpunkt bereits von dem ersten Speicher zu dem zweiten Speicher verlagert wurde, und wobei das Speicherbereichsobjekt für jede Spur eine Änderungsanzeige umfasst, die anzeigt, ob die Spur seit dem Zeitpunkt, als der Speicherbereich zuvor zu dem zweiten Speicher verlagert wurde, in dem zweiten Speicher aktualisiert wurde; und - als Reaktion auf das Ermitteln, dass das Speicherbereichsobjekt vorhanden ist, Durchführen der folgenden Schritte: - Ermitteln der Spuren in dem Speicherbereich, bei denen die Änderungsanzeige anzeigt, dass die Spur seit dem früheren Zeitpunkt in dem zweiten Speicher aktualisiert wurde; - Kopieren der Daten für die ermittelten Spuren von dem zweiten Speicher auf freie Speicherplätze in dem ersten Speicher; und - für jede ermittelte Spur Aktualisieren des Eintrags der ermittelten Spur in dem Speicherbereichsobjekt, um den freien Speicherplatz, auf den die Daten für die Spur kopiert wurden, als aktive Adresse für die Spur anzuzeigen, unter der die neueste Version der Spur in dem ersten Speicher zu finden ist.
  2. Verfahren nach Anspruch 1, wobei das Speicherbereichsobjekt Informationen für frühere Versionen der Daten für die Spur in dem ersten Speicher verwaltet, wobei es für jede Spur mindestens eine frühere Version gibt und der Eintrag für die Spur für jede frühere Version eine Adresse der früheren Version umfasst, die einen Speicherplatz der Daten für die frühere Version der Spur in dem ersten Speicher anzeigt, und wobei das Verfahren ferner den folgenden Schritt umfasst: - für jede ermittelte Spur Setzen einer neuen Adresse der früheren Version gleich der aktiven Adresse für die Spur vor dem Aktualisieren der aktiven Adresse, um den freien Speicherplatz anzuzeigen, auf den die Daten von dem zweiten Speicher kopiert wurden.
  3. Verfahren entweder nach Anspruch 1 oder 2, wobei das Verfahren des Weiteren Folgendes umfasst: - Bereitstellen des ersten Speichers, der einen Halbleiterdatenträger umfasst; und - Bereitstellen des zweiten Speichers, der eine Speichereinheit mit einem langsameren Eingabe/Ausgabe-Zugriffsprofil als das Halbleiterdatenträgers aufweist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei der zweite Speicher die Spuren in dem Speicherbereich zusammenhängend speichert und wobei das Verfahren ferner das Kopieren geänderter Spuren in dem zweiten Speicher auf nicht zusammenhängende Speicherplätze in dem ersten Speicher in Bezug auf nichtgeänderte Spuren in dem Speicherbereich umfasst.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei jeder Eintrag den Wert einer aktiven Prüfsumme, der aus den in der aktiven Adresse ermittelten Spurdaten für die mindestens eine in dem ersten Speicher verwaltete frühere Version berechnet wurde, die Adresse einer früheren Version der Spur in dem ersten Speicher und den Wert der Prüfsumme einer früheren Version umfasst, der aus den in der Adresse der früheren Version ermittelten Spurdaten ermittelt wurde, wobei das Verfahren ferner die folgenden Schritte umfasst: - Empfangen einer Schreiboperation auf eine Zielspur in dem im ersten Speicher vorhandenen Speicherbereich; - Berechnen einer temporären Prüfsumme aus der Schreiboperation für die Zielspur; - Ermitteln, ob die temporäre Prüfsumme mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen in dem Eintrag des Speicherbereichsobjekts für die Zielspur übereinstimmt; - Verwenden der aktiven Adresse oder der Adresse der früheren Version und der entsprechenden aktiven Prüfsumme oder der Prüfsumme der früheren Version, die mit der temporären Prüfsumme für die aktive Adresse und der aktiven Prüfsumme für den Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt; und - Ausführen der Schreiboperation auf die Zielspur auf einem freien Speicherplatz in dem ersten Speicher als Reaktion auf das Ermitteln, dass die temporäre Prüfsumme nicht mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen übereinstimmt.
  6. Verfahren nach Anspruch 5, wobei beim Ausführen der Schreiboperation auf die Zielspur die Daten als Reaktion auf die Feststellung, dass die temporäre Prüfsumme mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen übereinstimmt, nicht auf den ersten Speicher geschrieben werden.
  7. Verfahren entweder nach Anspruch 5 oder 6, wobei der Schritt des Verwendens der aktiven Adresse oder der Adresse der früheren Version und der entsprechenden Prüfsumme, die mit der temporären Prüfsumme übereinstimmt, Folgendes umfasst: - Zurückgeben einer Beendigungsanzeige an die Schreiboperation als Reaktion auf das Feststellen, dass die temporäre Prüfsumme mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen übereinstimmt; und - als Reaktion auf das Feststellen, dass die temporäre Prüfsumme mit einer der mindestens einen Prüfsummen früherer Versionen übereinstimmt, Ausführen des Folgenden: - Puffern der Adresse der früheren Version und der Prüfsumme der früheren Version für die übereinstimmende Prüfsumme der früheren Version; - Setzen einer neuen Adresse der früheren Version und einer neuen Prüfsumme der früheren Version gleich den Werten für die aktive Adresse und die aktive Prüfsumme; und - Setzen der aktiven Adresse und der aktiven Prüfsumme gleich der gepufferten Adresse der früheren Version bzw. der Prüfsumme der früheren Version nach dem Setzen der neuen Adresse der früheren Version und der neuen Prüfsumme der früheren Version.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei jeder Eintrag eine aktive Prüfsumme, die aus den in der aktiven Adresse erkannten Spurdaten für mindestens eine in dem ersten Speicher verwaltete frühere Version der Spur berechnet wurde, eine Adresse der früheren Version der Spur in dem ersten Speicher und eine Prüfsumme der früheren Version umfasst, die aus den in der Adresse der früheren Version erkannten Spurdaten berechnet wurde, wobei das Verfahren ferner die folgenden Schritte umfasst: - Empfangen einer Schreiboperation auf eine Zielspur in dem Speicherbereich, der in dem zweiten Speicher vorhanden ist; - Berechnen einer temporären Prüfsumme aus der Schreiboperation für die Zielspur; - Ermitteln, ob die temporäre Prüfsumme mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen in dem Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt; und - Verwenden der aktiven Adresse oder der Adresse der früheren Version und der entsprechenden aktiven Prüfsumme oder der Prüfsumme der früheren Version, die mit der temporären Prüfsumme für die aktive Adresse und die aktive Prüfsumme für den Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt, als Reaktion auf das Feststellen der Übereinstimmung.
  9. Verfahren nach Anspruch 8, wobei das Verfahren ferner den folgenden Schritt umfasst: - Setzen der Anzeige in dem Eintrag für die Zielspur in dem Speicherbereichsobjekt, um anzuzeigen, dass die Spur in dem zweiten Speicher aktualisiert wurde, als Reaktion auf das Feststellen, dass die temporäre Prüfsumme nicht mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen übereinstimmt, wobei die Anzeige anzeigt, dass die Daten für die Zielspur auf der aktiven Adresse in dem ersten Speicher keine aktuellste Version der Daten für die in dem zweiten Speicher verwaltete Spur darstellen.
  10. Verfahren entweder nach Anspruch 8 oder 9, wobei das Verfahren ferner die folgenden Schritte umfasst: - als Reaktion auf das Feststellen, dass die temporäre Prüfsumme mit einer der mindestens einen Prüfsummen früherer Versionen übereinstimmt, Ausführen des Folgenden: - Puffern der Adresse der früheren Version und der Prüfsumme der früheren Version für die übereinstimmende Prüfsumme der früheren Version; - Setzen der neuen Adresse der früheren Version und der neuen Prüfsumme der früheren Version gleich dem Wert der aktiven Adresse bzw. dem Wert der aktiven Prüfsumme; und - Setzen der aktiven Adresse und der aktiven Prüfsumme gleich der gepufferten Adresse der früheren Version bzw. der gepufferten Prüfsumme der früheren Version nach dem Setzen der neuen Adresse der früheren Version und der neuen Prüfsumme der früheren Version.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei jeder Eintrag aus einer Vielzahl von Spalten, die einen aktiven Wert der Prüfsumme in einer Spalte für aktive Prüfsummen enthalten, der aus den in der aktiven Adresse in einer Spalte für aktive Prüfsummen erkannten Spurdaten für mindestens eine frühere Version der in dem ersten Speicher verwalteten Spur berechnet wurde, einer Spalte für Adressen früherer Versionen mit einer Adresse der früheren Version der Spur in dem ersten Speicher und einer Spalte für Prüfsummen früherer Versionen mit einem Wert der Prüfsumme besteht, der aus den Spurdaten auf der Adresse der früheren Version berechnet wurde, wobei das Verfahren ferner die folgenden Schritte umfasst: - Empfangen einer Schreiboperation auf eine Zielspur in dem Speicherbereich, der in dem ersten Speicher oder dem zweiten Speicher vorhanden ist; - Berechnen einer temporären Prüfsumme aus der Schreiboperation für die Zielspur; - Ermitteln, ob die temporäre Prüfsumme mit einer der mindestens einen Prüfsummen früherer Versionen in dem Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt; - Schreiben der Adresse der früheren Version und der entsprechenden Prüfsumme der früheren Version, die mit der temporären Prüfsumme übereinstimmt, in die Spalte für aktive Adressen und in die Spalte aktiver Prüfsummen für den Eintrag in dem Speicherbereichsobjekt für die Zielspur; und - Verschieben aller Spalten früherer Adressen und aller Spalten früherer Prüfsummen mit einer älteren Version als eine Version der Adresse und Prüfsumme früherer Versionen, die in die Spalte aktiver Adressen und die Spalte aktiver Prüfsummen geschrieben wurden, um die Spalte früherer Adressen und die Spalte früherer Prüfsummen zu überschreiben, welche die Adressen der früheren Version und die entsprechende Prüfsumme der früheren Version enthalten, die in die Spalte aktiver Adressen und die Spalte aktiver Prüfsummen geschrieben wurden.
  12. System, das Daten mit einem ersten Speicher und einem zweiten Speicher austauscht, wobei das System Folgendes umfasst: - einen Prozessor; - einen Speicher, der einen Code enthält, der durch den Prozessor zum Ausführen von Operationen ausgeführt wird, wobei das System Folgendes umfasst: - ein Verarbeitungsmittel zum Verarbeiten einer Operation zum Verlagern eines Speicherbereichs von Spuren von dem zweiten Speicher zu dem ersten Speicher; - ein Ermittlungsmittel zum Ermitteln, ob für den zu verlagernden Speicherbereich ein Speicherbereichsobjekt vorhanden ist, wobei das Speicherbereichsobjekt vorhanden ist, wenn der Speicherbereich bereits zu einem früheren Zeitpunkt von dem ersten Speicher zu dem zweiten Speicher verlagert wurde und wobei das Speicherbereichsobjekt für jede Spur eine Änderungsanzeige umfasst, die anzeigt, ob die Spur seit dem früheren Zeitpunkt in dem zweiten Speicher aktualisiert wurde, wenn der Speicherbereich zuvor zu dem zweiten Speicher verlagert wurde; und - als Reaktion auf das Ermitteln, dass das Speicherbereichsobjekt vorhanden ist: - das Ermittlungsmittel ferner die Spuren in dem Speicherbereich ermittelt, deren Änderungsanzeige anzeigt, dass die Spur seit dem früheren Zeitpunkt in dem zweiten Speicher aktualisiert wurde; - ein Kopiermittel Daten für die ermittelten Spuren von dem zweiten Speicher auf freie Speicherplätze in dem ersten Speicher kopiert; und - für jede ermittelte Spur ein Aktualisierungsmittel zum Aktualisieren des Eintrags für die ermittelte Spur in dem Speicherbereichsobjekt, um den freien Speicherplatz anzuzeigen, auf den die Daten für die Spur als aktive Adresse für die Spur kopiert wurden unter der die neueste Version der Spur in dem ersten Speicher zu finden ist.
  13. System nach Anspruch 12, wobei das Speicherbereichsobjekt Informationen über frühere Versionen der Daten für die Spur in dem ersten Speicher verwaltet, wobei für jede Spur mit mindestens einer früheren Version der Eintrag für die Spur eine Adresse für jede frühere Version umfasst, die in dem ersten Speicher einen Speicherplatz der Daten für die frühere Version der Spur anzeigt, wobei das System ferner Folgendes umfasst: - für jede ermittelte Spur ein Einstellmittel zum Setzen einer neuen Adresse der früheren Version gleich der aktiven Adresse für die Spur vor dem Aktualisieren der aktiven Adresse, um den freien Speicherplatz anzuzeigen, auf den die Daten von dem zweiten Speicher kopiert wurden.
  14. System entweder nach Anspruch 12 oder 13, wobei der erste Speicher eine Halbleiterspeichereinheit umfasst und der zweite Speicher eine Speichereinheit von einem Typ mit einem langsameren Eingabe/Ausgabe-Zugriffsprofil als die Halbleiterspeichereinheit umfasst.
  15. System nach einem der Ansprüche 12 bis 14, wobei jeder Eintrag einen Wert der aktiven Prüfsumme, der aus den in der aktiven Adresse erkannten Spurdaten für mindestens eine frühere Version der in dem ersten Speicher verwalteten Spur berechnet wurde, eine Adresse der früheren Version der Spur in dem ersten Speicher und einen Wert der Prüfsumme der früheren Version umfasst, der aus den in der Adresse der früheren Version erkannten Spurdaten berechnet wurde, wobei das System ferner Folgendes umfasst: - ein Empfangsmittel zum Empfangen einer Schreiboperation auf eine Zielspur in dem Speicherbereich in dem ersten Speicher; - ein Berechnungsmittel zum Berechnen einer temporären Prüfsumme aus der Schreiboperation für die Zielspur; - ein Ermittlungsmittel, das ferner ermittelt, ob die temporäre Prüfsumme mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen in dem Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt; - ein Verwendungsmittel zum Verwenden der aktiven Adresse oder der Adresse einer früheren Version und der entsprechenden aktiven Prüfsumme oder der Prüfsumme einer früheren Version, die mit der temporären Prüfsumme für die aktive Adresse und der aktiven Prüfsumme für den Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt; und - ein Schreibmittel zum Schreiben der Schreibdaten auf die Zielspur auf einen freien Speicherplatz in dem ersten Speicher als Reaktion auf das Ermitteln, dass die temporäre Prüfsumme nicht mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen übereinstimmt.
  16. System nach einem der Ansprüche 12 bis 14, wobei jeder Eintrag den Wert einer aktiven Prüfsumme, der aus den in der aktiven Adresse für mindestens eine frühere Version der in dem ersten Speicher verwalteten Spur erkannten Spurdaten berechnet wurde, eine Adresse der früheren Version der Spur in dem ersten Speicher und eine Prüfsumme der früheren Version umfasst, die aus den in der Adresse der früheren Version erkannten Spurdaten berechnet wurde, wobei das System ferner Folgendes umfasst: - ein Empfangsmittel zum Empfangen einer Schreiboperation auf eine Zielspur in dem Speicherbereich in dem zweiten Speicher; - ein Berechnungsmittel zum Berechnen einer temporären Prüfsumme aus der Schreiboperation für die Zielspur; - ein Ermittlungsmittel, das ferner ermittelt, ob die temporäre Prüfsumme mit der aktiven Prüfsumme oder einer der mindestens einen Prüfsummen früherer Versionen in dem Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt; - ein Verwendungsmittel zum Verwenden der aktiven Adresse oder der Adresse der früheren Version und der entsprechenden aktiven Prüfsumme oder der Prüfsumme der früheren Version, die mit der temporären Prüfsumme für die aktive Adresse und der aktiven Prüfsumme für den Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt, als Reaktion auf das Ermitteln der Übereinstimmung.
  17. System nach einem der Ansprüche 12 bis 14, wobei jeder Eintrag aus einer Vielzahl von Spalten besteht, die einen Wert einer aktiven Prüfsumme in einer Spalte aktiver Prüfsummen umfasst, der aus den Spurdaten, die in der aktiven Adresse in einer Spalte aktiver Adressen erkannt wurden, und für mindestens eine frühere Version der in dem ersten Speicher verwalteten Spur berechnet werden kann, wobei eine Spalte der Adressen früherer Versionen mit einer Adresse der früheren Version der Spur in dem ersten Speicher und eine Spalte der Prüfsummen früherer Versionen mit einem Wert der Prüfsumme umfasst, der aus den Spurdaten auf der Adresse der früheren Version berechnet werden kann, wobei das System ferner Folgendes umfasst: - ein Empfangsmittel zum Empfangen von Schreibdaten auf einer Zielspur in dem Speicherbereich, der in dem ersten Speicher oder in dem zweiten Speicher vorhanden ist; - ein Berechnungsmittel zum Berechnen einer temporären Prüfsumme aus den Schreibdaten für die Zielspur; - ein Ermittlungsmittel zum Ermitteln, ob die temporäre Prüfsumme mit einer der mindestens einen Prüfsummen früherer Versionen in dem Eintrag in dem Speicherbereichsobjekt für die Zielspur übereinstimmt; - ein Schreibmittel zum Schreiben der Adresse der früheren Version und der entsprechenden Prüfsumme der früheren Version, die mit der temporären Version übereinstimmt, in die Spalte der aktiven Adresse und die Spalte der aktiven Prüfsumme für den Eintrag in dem Speicherbereichsobjekt für die Zielspur; und - ein Verschiebungsmittel zum Verschieben aller Spalten früherer Adressen und aller Spalten früherer Prüfsummen mit einer älteren Version als eine Version der Adresse und der Prüfsumme der früheren Version, die in die Spalte aktiver Adressen und die Spalte aktiver Prüfsummen geschrieben wurde, um die Spalte der früheren Adressen und die Spalte der früheren Prüfsummen zu überschreiben, die die Adresse der früheren Version und die entsprechende Prüfsumme der früheren Version enthalten, die in die Spalte der aktiven Adressen und die Spalte der aktiven Prüfsummen geschrieben wurden.
  18. Computerprogrammprodukt zum Verwalten von Daten in einem ersten Speicher und einem zweiten Speicher, wobei das Computerprogrammprodukt Folgendes umfasst: - ein nichtflüchtiges computerlesbares Speichermedium, auf dem Anweisungen zum Ausführen durch den Verarbeitungsschaltkreis des Verfahrens nach einem der Ansprüche 1 bis 11 gespeichert sind.
DE112011100618.7T 2010-05-20 2011-05-09 Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird Active DE112011100618B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/784,427 2010-05-20
US12/784,427 US8380949B2 (en) 2010-05-20 2010-05-20 Managing write operations to an extent of tracks migrated between storage devices
PCT/EP2011/057398 WO2011144477A1 (en) 2010-05-20 2011-05-09 Managing write operations to an extent of tracks migrated between storage devices

Publications (2)

Publication Number Publication Date
DE112011100618T5 DE112011100618T5 (de) 2013-03-07
DE112011100618B4 true DE112011100618B4 (de) 2021-03-04

Family

ID=44169025

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011100618.7T Active DE112011100618B4 (de) 2010-05-20 2011-05-09 Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird

Country Status (7)

Country Link
US (3) US8380949B2 (de)
JP (1) JP5802263B2 (de)
CN (1) CN102884502B (de)
DE (1) DE112011100618B4 (de)
GB (1) GB2493679B (de)
TW (1) TW201211879A (de)
WO (1) WO2011144477A1 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices
WO2012004837A1 (en) * 2010-07-09 2012-01-12 Hitachi, Ltd. Storage apparatus and storage management method
US9280550B1 (en) 2010-12-31 2016-03-08 Emc Corporation Efficient storage tiering
US8886901B1 (en) * 2010-12-31 2014-11-11 Emc Corporation Policy based storage tiering
US8868869B2 (en) 2011-08-08 2014-10-21 International Business Machines Corporation Enhanced copy-on-write operation for solid state drives
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9710397B2 (en) * 2012-02-16 2017-07-18 Apple Inc. Data migration for composite non-volatile storage device
US10817202B2 (en) * 2012-05-29 2020-10-27 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10831727B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10831728B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
SG11201704871QA (en) * 2014-12-22 2017-07-28 Atotech Deutschland Gmbh Method for electromagnetic shielding and thermal management of active components
US10216966B2 (en) * 2015-02-25 2019-02-26 Netapp, Inc. Perturb key technique
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10248352B2 (en) 2016-09-15 2019-04-02 International Business Machines Corporation Management of object location in hierarchical storage
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
DE102017212181A1 (de) 2017-07-17 2019-01-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Bestimmen von Prüfsummen, Pufferspeicher und Prozessor
JP7007565B2 (ja) * 2017-11-20 2022-01-24 富士通株式会社 情報処理装置および情報処理プログラム
US10684947B2 (en) * 2018-04-20 2020-06-16 International Business Machines Corporation Increasing high performance data storage utilization by reducing write operations
CN109271098B (zh) * 2018-07-18 2021-03-23 成都华为技术有限公司 一种数据迁移方法及装置
US11100132B2 (en) * 2018-10-11 2021-08-24 International Business Machines Corporation Intelligent space release in asynchronous mirror journal volumes
US11614868B2 (en) * 2019-09-30 2023-03-28 International Business Machines Corporation Data set overlay protection
CN113467722B (zh) * 2021-07-26 2024-04-30 浙江大华技术股份有限公司 一种分布式存储系统的数据迁移方法及装置
US11809731B2 (en) * 2021-09-28 2023-11-07 International Business Machines Corporation Appending data to a tape cartridge during recall operations
CN115174771B (zh) * 2022-06-23 2023-08-15 桂林医学院 一种儿童dr摄影辅助车及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265506A1 (en) * 2008-04-17 2009-10-22 Keun Soo Yim Storage device

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337275A (en) 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US5459850A (en) 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5720029A (en) * 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
JP3604466B2 (ja) 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US6968350B2 (en) 2001-04-07 2005-11-22 Microsoft Corporation Method for establishing a virtual hard drive for an emulated computer system running on a host computer system
US7356641B2 (en) 2001-08-28 2008-04-08 International Business Machines Corporation Data management in flash memory
EP1679585A3 (de) 2005-01-10 2009-08-05 Microsoft Corporation System und Verfahren für eine Deckplatte und Cachespeicher mit tragbarem Flash-Speicher
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
JP2007066192A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステム及びその制御方法並びにコンピュータプログラム
US7734603B1 (en) * 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US8412682B2 (en) 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US8315984B2 (en) * 2007-05-22 2012-11-20 Netapp, Inc. System and method for on-the-fly elimination of redundant data
US7669023B2 (en) * 2007-07-10 2010-02-23 Hitachi, Ltd. Power efficient storage with data de-duplication
US7694105B2 (en) 2007-08-22 2010-04-06 Hitachi Global Storage Technologies Netherlands, B.V. Data storage systems that implement sector sets
CN102203717A (zh) 2007-10-05 2011-09-28 帝斯科匹尔公司 固态驱动器优化器
US8880483B2 (en) 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
CA2714745A1 (en) 2008-02-12 2009-08-20 Netapp, Inc. Hybrid media storage system architecture
US8554983B2 (en) 2008-05-27 2013-10-08 Micron Technology, Inc. Devices and methods for operating a solid state drive
KR101517761B1 (ko) * 2008-07-30 2015-05-06 시게이트 테크놀로지 엘엘씨 데이터 저장 위치 관리 방법 및 이를 데이터 저장 시스템
US8224782B2 (en) * 2008-09-29 2012-07-17 Hitachi, Ltd. System and method for chunk based tiered storage volume migration
JP2010102492A (ja) * 2008-10-23 2010-05-06 Hitachi Ltd データアーカイブシステム
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265506A1 (en) * 2008-04-17 2009-10-22 Keun Soo Yim Storage device

Also Published As

Publication number Publication date
CN102884502B (zh) 2015-01-14
GB2493679A (en) 2013-02-13
GB2493679B (en) 2018-06-06
US20120272026A1 (en) 2012-10-25
US20110286123A1 (en) 2011-11-24
GB201221295D0 (en) 2013-01-09
US20140149700A1 (en) 2014-05-29
JP2013533991A (ja) 2013-08-29
DE112011100618T5 (de) 2013-03-07
US9218141B2 (en) 2015-12-22
TW201211879A (en) 2012-03-16
JP5802263B2 (ja) 2015-10-28
US8380949B2 (en) 2013-02-19
WO2011144477A1 (en) 2011-11-24
CN102884502A (zh) 2013-01-16
US8656122B2 (en) 2014-02-18

Similar Documents

Publication Publication Date Title
DE112011100618B4 (de) Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird
DE102016103359B4 (de) Singleton-cachespeicher-verwaltungsprotokoll für hierarchische virtualisierte speichersysteme
DE112014000254B4 (de) Mehrstufiges Zwischenspeichern und Migrieren in unterschiedlichen Granularitäten
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE102012208141B4 (de) Ausgleich nachlassender Funktionsfähigkeit
DE102013200032B4 (de) Herabstufen von partiellen Speicherspuren aus einem ersten Cachespeicher in einen zweiten Cachespeicher
DE112017002941T5 (de) Arbeitslastoptimierte Datendeduplizierung mittels Phantomfingerabdrücken
DE112012004571B4 (de) Unterstützen von unvollständigen Datensegmenten in Flash-Cache-Speichern
DE102016103769A1 (de) Inkrementelle Replikation eines Quellen-Datasets
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE112019001480B4 (de) Automatisches Optimieren der Ressourcennutzung in einemZieldatenbankverwaltungssystem zum Erhöhen der Arbeitslastleistung
DE112010004573T5 (de) System und verfahren zur optimierten wiedernutzbarmachungsverarbeitung in einem virtuellen bandbibliotheksystem
DE102006005877A1 (de) Adresszuordnungstabelle und Verfahren zum Erzeugen einer Adresszuordnungstabelle
CN106339324B (zh) 一种选择垃圾回收块的方法及装置
DE102013206744A1 (de) Deduplizierende speicherung mit verbesserter erkennung von häufigen blöcken
DE112012002615T5 (de) Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren
DE102014116031A1 (de) SWAT-Befehl und API für atomare Auslagerung und Trimmen von LBAs
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE112012004209T5 (de) Dynamisch eingestellter Schwellenwert zum Belegen eines sekundären Cache-Speichers
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE102012219098A1 (de) Verwaltung von Teildatensegmenten in Systemen mit doppeltem Cachespeicher
DE102016001591A1 (de) System und Verfahren für Copy-On-Write auf einer SSD
DE112011103290T5 (de) Intelligente Schreibcacheoperation für sequenzielle Datenspuren
DE102016001035A1 (de) Verfahren und Vorrichtung zum Aufbau einer Online-Aktualisierung von grossen Audio-Fingerabdruck-Datenbanken in Echtzeit
DE102016001066A1 (de) Zuordnung der logischen Blockadresse für Festplattenlaufwerke

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06F0003060000

Ipc: G06F0012080000

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final