DE112011103290T5 - Intelligente Schreibcacheoperation für sequenzielle Datenspuren - Google Patents

Intelligente Schreibcacheoperation für sequenzielle Datenspuren Download PDF

Info

Publication number
DE112011103290T5
DE112011103290T5 DE112011103290T DE112011103290T DE112011103290T5 DE 112011103290 T5 DE112011103290 T5 DE 112011103290T5 DE 112011103290 T DE112011103290 T DE 112011103290T DE 112011103290 T DE112011103290 T DE 112011103290T DE 112011103290 T5 DE112011103290 T5 DE 112011103290T5
Authority
DE
Germany
Prior art keywords
data
sequential
data track
nvs
track
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
DE112011103290T
Other languages
English (en)
Other versions
DE112011103290B4 (de
Inventor
Lokesh Mohan Gupta
Joseph Smith Hyde II
Brent Cameron Beardsley
Michael Thomas Benhase
Sonny Earl Williams
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 DE112011103290T5 publication Critical patent/DE112011103290T5/de
Application granted granted Critical
Publication of DE112011103290B4 publication Critical patent/DE112011103290B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems

Abstract

In einer Datenverarbeitungsspeicherumgebung zum Auslagern von Daten von einem Permanentspeicher (NVS) zu einer Speichereinheit werden Schreibcacheoperationen für sequenzielle Datenspuren durch eine Prozessoreinheit bereitgestellt. Wenn festgestellt wird, dass eine erste Datenspur sequenziell ist, und wenn festgestellt wird, dass auch eine frühere Datenspur ebenfalls sequenziell ist, wird ein temporäres Bit, das der früheren Datenspur zugehörig ist, gelöscht, um das Auslagern von Daten der früheren Datenspur zu ermöglichen. Wenn festgestellt wird, dass ein temporäres Bit für eine aus einer Vielzahl von weiteren Datenspuren in einem Abschnitt aus einer Vielzahl von Abschnitten in einem geänderten Cachespeicher nicht gesetzt ist, wird für eine Auslagerungsoperation ein Abschnitt ausgewählt, der der einen aus der Vielzahl weiterer Datenspuren zugehörig ist. Wenn der NVS einen vorgegebenen Speicherschwellenwert überschreitet, wird ein vorgegebener Abschnitt aus der Vielzahl von Abschnitten für die Auslagerungsoperation ausgewählt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein Computer und insbesondere ein Verfahren, ein System und ein Computerprogrammprodukt für intelligente Schreibcacheoperationen für sequenzielle Datenspuren in einer Datenspeicherumgebung.
  • HINTERGRUND DER ERFINDUNG
  • In gewerblichen Datenverarbeitungsanlagen wie sie beispielsweise in einem Unternehmen, einer Regierungsbehörde oder einer anderen Einrichtung eingesetzt werden können, werden Daten oft auf Servern gespeichert und durch Benutzer zum Beispiel über ein Netzwerk abgerufen. Die Daten können jede beliebige Art von Informationen von Programmen und/oder Daten aufweisen, die verarbeitet werden sollen. Benutzer, die eigene Personal Computer, Arbeitsstationen oder Ähnliches (allgemein „Computer”) verwenden, können mittels ihrer Computer auf zu verarbeitende Daten zugreifen und Daten außerdem zum Beispiel auf fernen Servern speichern.
  • Server speichern Daten im Allgemeinen in Massenspeicher-Untersystemen, die üblicherweise eine Anzahl Plattenspeichereinheiten beinhalten. Die Daten werden in Einheiten gespeichert, beispielsweise in Dateien. In einem Server kann eine Datei auf einer Plattenspeichereinheit gespeichert werden, oder alternativ können Teile einer Datei auf mehreren Plattenspeichereinheiten gespeichert werden. Ein Server kann gleichzeitig Zugriffsanforderungen von einer Anzahl von Benutzern abwickeln, und es ist einsichtig, dass gleichzeitig abgewickelte Zugriffsoperationen in Zusammenhang mit Daten stehen, die so auf mehrere Plattenspeichereinheiten verteilt sind, dass sie gleichzeitig abgewickelt werden können. Mit anderen Worten, es ist allgemein wünschenswert, Daten in Plattenspeichereinheiten so zu speichern, dass nicht eine Plattenspeichereinheit stark ausgelastet ist oder mit der Abwicklung von Zugriffsoperationen beschäftigt wird, während andere nur gering ausgelastet sind oder inaktiv bleiben. Zur Gewährleistung von Redundanz und zur Leistungssteigerung können viele Speichereinheiten in einer Topologie einer redundanten Anordnung unabhängiger Platten (RAID) konfiguriert werden, in der Speicherdatenträger in RAID-Ebenen geordnet sind.
  • Ein gewerbliches Computernetz kann mehrere Speichernetze aufweisen, die weit voneinander und fern von einem gewerblichen Benutzer angeordnet sind. Die Speichernetze können auch auf unterschiedlichen Typen von Systemen betrieben werden. Um seine Arbeit ordnungsgemäß auszuführen, kann der gewerbliche Benutzer auf einem schnellen und zuverlässigen Zugriff auf die in allen dieser Speichernetze enthaltenen Daten bestehen. Da der Zugriff auf diese Daten in Echtzeit erfolgt, ist es wünschenswert, dass Speicheroperationen (wie beispielsweise Schreib- oder Leseoperationen) so schnell wie möglich erfolgen.
  • KURZDARSTELLUNG
  • Um Daten zu verschieben, lagern Massenspeicher-Untersysteme Daten zum Beispiel von Permanentspeichereinheiten (NVS) zu RAID-Einheiten aus. Durch die laufende Verwaltung eines Schreibcaches, wie sie in Massenspeicher-Untersystemen in Verbindung mit RAID- und NVS-Einheiten üblich ist, können wie im Folgenden beschrieben lang andauernde Auslagerungstransaktionen verursacht werden, wenn sequenzielle Datenspuren (Teile von sequenziell angeordneten Daten) betroffen sind. Es besteht ein Bedarf an einem Mechanismus zur effizienteren Verwaltung von Schreibcacheoperationen unter Beteiligung sequenzieller Datenspuren.
  • Angesichts des oben Gesagten werden verschiedene Ausführungsformen eines Verfahrens, eines Systems und eines Computerprogrammprodukts zum Durchführen von Cacheschreiboperationen für sequenzielle Datenspuren durch eine Prozessoreinheit in einer Computerspeicherumgebung zum Auslagern von Daten von einem Permanentspeicher (NVS) zu einer Speichereinheit bereitgestellt. Gemäß einer beispielhaften Ausführungsform wird, wenn erkannt wurde, dass eine erste Datenspur sequenziell und auch eine frühere Datenspur sequenziell ist, ein der früheren Datenspur zugehöriges temporäres Bit gelöscht, um das Auslagern von Daten der früheren Datenspur zu ermöglichen. Wenn festgestellt wurde, dass ein temporäres Bit für eine aus einer Vielzahl weiterer Datenspuren in einem aus einer Vielzahl von Abschnitten in einem geänderten Cachespeicher nicht gesetzt ist, wird für eine Auslagerungsoperation ein Abschnitt ausgewählt, der einer aus der Vielzahl zusätzlicher Datenspuren zugehörig ist. Wenn der NVS einen vorgegebenen Speicherschwellenwert überschreitet, wird aus der Vielzahl von Abschnitten ein vorgegebener Abschnitt für die Auslagerungsoperation ausgewählt.
  • Ferner werden auch Ausführungsformen eines zugehörigen Systems und Computerprogrammprodukts offenbart und zusätzliche Vorteile dargelegt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Im Folgenden werden lediglich anhand eines Beispiels Ausführungsform(en) unter Bezugnahme auf die entsprechenden Zeichnungen beschrieben, wobei:
  • 1 ein Blockschaubild eines verteilten Computersystems ist, das Speicher-Server und Speicherverwaltungs-Server beinhaltet, in dem Aspekte der folgenden Beschreibung und des beanspruchten Gegenstands umgesetzt werden können;
  • 2 ein Blockschaubild eines der Speicher-Server von 1 ist;
  • 3 ein Ablaufplan eines beispielhaften Verfahrens für Schreibcacheoperationen für sequenzielle Datenspuren gemäß verschiedenen Aspekten der vorliegenden Erfindung nach einer Hostschreiboperation ist; und
  • 4 ein Ablaufplan eines beispielhaften Verfahrens für Schreibcacheoperationen für sequenzielle Datenspuren gemäß verschiedenen Aspekten der vorliegenden Erfindung nach einer Auslagerungssuchlaufoperation ist.
  • DETAILLIERTE BESCHREIBUNG
  • Die im Folgenden veranschaulichten Ausführungsformen beschreiben effiziente und bestens skalierbare Mechanismen für intelligente Schreibcacheoperationen für sequenzielle Datenspuren (zum Auslagern vom NVS zu einer oder mehreren Speichereinheiten), um die Auswirkungen auf die gesamte Speicherleistung zu mindern. Diese Mechanismen sorgen für ein aggressiveres Auslagern sequenzieller Datenspuren in den Schreibcache, lagern den letzten Abschnitt in den sequenziellen Datenströmen nicht aus, der gerade geschrieben wird, und erhalten aktive Gruppen von Datenspuren (Datenspuren, die häufig aktualisiert werden) in dem Schreibcache für längere Zeiträume aufrecht. Dadurch wird erreicht, dass die veranschaulichten Ausführungsformen einen höheren Durchsatz des Schreibcaches ermöglichen, da sequenzielle Datenspuren aggressiver ausgelagert, Auslagerungen von pseudosequenziellen vielbeschäftigten Gruppen von Datenspuren verlangsamt und Auslagerungskonflikte auf ein Mindestmaß beschränkt werden, da keine Datenspuren ausgelagert werden, die gerade geschrieben werden.
  • Im Folgenden zeigt 1 ein Beispiel eines Teils einer gespiegelten Architektur eines Datenspeichersystems, in dem die Mechanismen anschaulicher Ausführungsformen realisiert werden können. Es sollte jedoch anerkannt werden, dass 1 lediglich ein Beispiel darstellt und keine Beschränkung auf die einzelnen Architekturen bedeuten oder nahelegen soll, in denen die beispielhaften Aspekte der anschaulichen Ausführungsformen realisiert werden können. Es können viele Änderungen an der in 1 dargestellten Architektur vorgenommen werden, ohne vom Schutzumfang und vom Wesensgehalt der folgenden Beschreibung und des beanspruchten Gegenstands abzuweichen.
  • 1 veranschaulicht ein beispielhaftes verteiltes Computersystem mit der allgemeinen Bezugsnummer 10, das die vorliegende Erfindung beinhaltet. Das System 10 weist mehrere ähnliche Speicher-Server/Steuereinheiten 14a, b, c mit mehreren CPUs 40a, b, c pro Cluster (CPU-Organisation in jedem Cluster siehe die folgende 2), Cachespeicher 44a, b, c, Permanentspeicher („NVS”) 46a, b, c, Betriebssysteme 48a, b, c, E/A-Einheiten 50a, b, c und TCP/IP-Adapterkarten 52a, b, c auf. Jeder der Speicher-Server 14a, b, c verwaltet die Speicherzuordnung und den Zugriff auf mehrere Speichereinheiten (beispielsweise Platten) 30a1–an, 30b1–bn, bzw. 30c1–cn durch Clients 40, 41 und 42.
  • Die CPUs 40, 41 und 42 weisen Adapterkarten 50, 51 und 52 auf, beispielsweise Faserkanal-Adapterkarten zum Verbinden über einen Datenübertragungspfad 53a, b, c wie beispielsweise einen Faserkanal mit einem Switch 55. Der Switch 55 kann über Hostbusse 54a, b, c, mit den Speicher-Servern 14a, b, c verbunden werden und entsprechend der Konfiguration auf dem Client eine Anforderung von einem der Clients 40, 41 oder 42 an einen der Speicher-Server 14a, b, c weiterleiten. Ein Administrator hat jedem der Clients 40, 41 und 42 eine Anzahl „Speicherdatenträger” zugeordnet. Jeder „Datenträger” befindet sich auf einer Speicheranordnung. Eine „Speicheranordnung” kann eine oder mehrere Speichereinheiten aufweisen und in einer Vielfalt von RAID-Ebenen konfiguriert werden, beispielsweise als RAID 5, RAID 10 oder als „Just a Bunch of Disks” (üblicherweise als JBOD bezeichnet).
  • Gemäß einer in 2 veranschaulichten beispielhaften Ausführungsform beinhaltet die Speichersteuereinheit 14a (und gleichermaßen die Speichersteuereinheiten 14b und c) zwei identische Cluster 61a und 71a aus CPUs 68a und 78a, Cachespeichern 66a und 76a, NVS 69a und 79a und eine beliebige Anzahl von Paaren von Einheitenadaptern (62a–(N)a und 72a–(N)a pro Cluster). Für jeden Cluster 61a und 71a gibt es einen gemeinsam genutzten (Halbleiter-)Cachespeicher 66a bzw. 76a. Die Cachespeicher 66a und 76a enthalten jeweils ein Verzeichnis von auf jedem einzelnen Cachespeicher gespeicherten Datenspuren. Das Verzeichnis enthält eine beliebige Anzahl von Verzeichniseinträgen, die jeder der Datenspuren zugehörig sind.
  • Jeder Cluster enthält auch batteriegepufferte Speicher 69a und 79a (auch als „NVS” bezeichnet). In 2 stellt „D” eine Datenspeicherplatte, „P” eine Paritätsspeicherplatte zum Speichern von Paritätsbits für die Daten in den Datenspeicherplatten und „S” eine Reservespeicherplatte für den Ausfall einer Datenspeicherplatte oder Paritätsspeicherplatte dar. Jeder Cluster verwaltet eine Zuordnungstabelle für die Speicherzuordnung zu jedem Client, die jeden Speicherdatenträger entsprechenden physischen Speicherplätzen auf den Speicheranordnungen zuordnet.
  • Die NVS 69a und 79a sind über Datenübertragungsleitungen 60a und 70a mit Speicherplatten 65a bzw. 75a verbunden. Gemäß bestimmten Ausführungsformen wird für die Datenübertragungsleitungen 60a und 70a eine serielle Verbindung wie beispielsweise RS-232 oder RS-422, eine Ethernetverbindung, eine SCSI-Verbindung, eine Faserkanalverbindung, eine ESCON-Verbindung, eine FICON-Verbindung, ein lokales Netz (LAN), ein privates Weitverkehrsnetz (WAN), ein öffentliches Weitverkehrsnetz, ein Speicherbereichsnetz (SAN), ein Protokoll für die Übertragungskontrolle/Internetprotokoll (TCP/IP), das Internet oder Kombinationen derselben ausgewählt.
  • Gemäß bestimmten Ausführungsformen weisen die Speicherplatten 65a und 75a ein oder mehrere optische Speichermedien, ein oder mehrere magnetische Speichermedien, ein oder mehrere elektronische Speichermedien oder Kombinationen derselben auf. Gemäß bestimmten Ausführungsformen befinden sich die Speicherplatten 65a und 75a außerhalb der Cluster 61a und 71a. Gemäß bestimmten Ausführungsformen befinden sich die Speicherplatten 65a und 75a innerhalb der Cluster 61a und 71a.
  • Wenn der Client den Zugriff auf einen Speicher anfordert, d. h. Daten von einem der dem Client zugeordneten Datenträger lesen oder in diesen schreiben will, verarbeitet der Speichercluster, der diesen Datenträger verwaltet, die Anforderung, d. h. er speichert vorübergehend Aktualisierungen des Clients in dem Cachespeicher und dem NVS (wenn es sich um eine Schreiboperation handelt) auf dem paarweisen Cluster. Für Aktualisierungsanforderungen wird nach der NVS-Speicherung eine E/A-Fertigstellungsnachricht an den Client gesendet. Nach dem Erreichen eines internen Schwellenwertes für ausstehende Schreiboperationen ordnet der Cluster die Clientanforderung physischen Speicherplätzen zu und leitet dann die zugeordnete Anforderung von dem Cachespeicher an die entsprechende Speicheranordnung weiter. Für Leseanforderungen werden die Daten entweder vom Cachespeicher abgerufen oder es ist (wegen eines „Cachefehlers”) ein Speicherplattenzugriff erforderlich. Bei Cachefehlern für Leseanforderungen muss der Cluster die Clientanforderung physischen Speicherplätzen auf der Speicheranordnung zuordnen und die Daten von dem physischen Speicherplatz auf den Speicheranordnungen an den Cachespeicher übertragen, wo er die E/A-Anforderung des Clients bedient.
  • Ferner zeigt 2, dass der Server 14a für jeden Cluster ein Betriebssystem 67a bzw. 77a beinhaltet. Dem Fachmann ist einsichtig, dass die Betriebssysteme 67a und 77a physisch oder virtuell an einer Vielfalt von Orten angeordnet sein können. Zur Veranschaulichung sind die Betriebssysteme 67a und 77a in jeden Cluster einbezogen dargestellt. Gemäß einer Ausführungsform können die CPUs 68a und 78a Teile der Betriebssysteme 67a und 77a ausführen. Jedes Betriebssystem 67a und 77a beinhaltet die gezeigten Auslagerungsmodule 95a, 97a. Gemäß einer Ausführungsform können die Auslagerungsmodule 95a und 97a verschiedene Aspekte der vorliegenden Erfindung in Verbindung mit den Betriebssystemen 67a und 77a, den dargestellten CPUs, dem Cachespeicher, dem NVS usw. umsetzen, beispielsweise wie unten beschrieben Auslagerungssuchläufe und Auslagerungsoperationen ausführen. Obwohl die Auslagerungsmodule 95a und 97a in die Betriebssysteme 67a und 77a einbezogen dargestellt sind, ist dem Fachmann einsichtig, dass die Auslagerungsmodule 95a und 97a physisch oder logisch anderenorts angeordnet werden und gleichzeitig in Verbindung mit den dargestellten CPUs, Cachespeichern, NVS, usw. bleiben können. Im Folgenden wird die Funktionalität der Auslagerungsmodule 95a und 97a ausführlicher beschrieben.
  • Die folgenden Begriffe können für das Verständnis der folgenden Erörterung verschiedener Funktionalitäten der veranschaulichten Ausführungsformen hilfreich sein. Zunächst kann ein „Abschnitt” eine Gruppe von Datenspuren bezeichnen, für die eine RAID-Anordnung eine Parität berechnet. Wenn ein kompletter Abschnitt ausgelagert wird, kann die RAID-Anordnung aus dem kompletten Abschnitt eine neue Parität berechnen. Wenn nur ein Teil eines Abschnitts ausgelagert wird, benötigt die RAID-Anordnung alte Daten und eine alte Parität, um die neue Parität zu berechnen. Demgemäß erfordert die Auslagerung kompletter Abschnitte weniger Operationen als die Auslagerung von Teilen eines Abschnitts. Die für die Auslagerung von Teilen eines Abschnitts zusätzlich erforderlichen Operationen werden als „Auslagerungssanktion” bezeichnet. Und schließlich kann ein Hostrechner versuchen, auf eine Datenspur zu schreiben, die gerade ausgelagert wird. Die Schreiboperation des Hostrechners muss warten, bis die Auslagerung abgeschlossen ist. Dies wird als „Auslagerungskonflikt” bezeichnet.
  • Angesichts der obigen Begriffe können die in 1 und 2 zuvor dargestellte verteilte Datenverarbeitungsumgebung und der Speicher-Server in einer der veranschaulichten Ausführungsformen der vorliegenden Erfindung verschiedene Mechanismen zum Verwalten des Cachespeichers und des NVS verwenden und beispielsweise Auslagerungssuchläufe und Auslagerungsoperationen ausführen. Ein Mechanismus setzt Datenspuren auf der Grundlage einer LRU-Verfahrensweise (least recently used, letzte Verwendung) zurück und behält für jede Datenspur ein temporäres Bit bei. Das temporäre Bit wird gesetzt, wenn ein Hostrechner Datenspuren schreibt. Das temporäre Bit wird zurückgesetzt, wenn bei einem Auslagerungssuchlauf eine Datenspur geprüft wird, für die ein temporäres Bit gesetzt wurde. Wenn beim Auslagerungssuchlauf Abschnitte gefunden werden, für die kein temporäres Bit gesetzt wurde, können diese Datenspuren zum Auslagern ausgewählt werden. Ein weiterer Mechanismus setzt Datenspuren auf der Grundlage deren räumlicher Lage zurück. Unter Verwendung eines symmetrischen Verzeichnisbaums wird eine geordnete Liste von Datenspuren verwaltet. Auslagerungssuchläufe auf der Suche nach auszulagernden Datenspuren können den symmetrischen Verzeichnisbaum zum Beispiel in der Reihenfolge der Lage der Datenspuren von ganz unten nach ganz oben durchsuchen.
  • Für sequenzielle Datenspuren ignoriert einer der oben erwähnten Mechanismen das temporäre Bit und lagert sequenzielle Datenspuren aus, wenn der Auslagerungssuchlauf solche sequenziellen Datenspuren antrifft. Dadurch wird der Datendurchsatz erhöht, da sich bei sequenziellen Datenspuren im Allgemeinen der gesamte Abschnitt im Cachespeicher befindet. Folglich können komplette Abschnitte ausgelagert werden, was schneller abläuft als die Auslagerung von Teilabschnitten. Dieses Szenario führt dazu, dass der Speicherplatz im Schreibcache schneller freigegeben wird. Außerdem wird der Datendurchsatz erhöht, da sequenzielle Datenspuren nicht durchgängig neu geschrieben werden.
  • Während derzeitige Mechanismen den Gesamtdurchsatz verbessern, können einige Transaktionszeiten verlängert werden, da das Auswählen sequenzieller Datenspuren mit einem gesetzten temporären Bit zu Auslagerungskonflikten führen kann. Ein solches Ergebnis kann die Folge des folgenden beispielhaften Szenarios sein. Eine Schreiboperation auf eine bestimmte Datenspur muss warten, bis eine Auslagerung abgeschlossen ist. Bei Datenspuren, die mehrere Datensätze enthalten, müssen möglicherweise mehrere Aktualisierungen durchgeführt werden, da einige Anwendungen, die Datenspuren sequenziell beschreiben, zu jedem Zeitpunkt nur einen Datensatz schreiben können und zugehörige sequenzielle Datenspuren ihr eigenes gesetztes temporäres Bit aufweisen. Da derzeitige Mechanismen das temporäre Bit für sequenzielle Datenspuren im Allgemeinen ignorieren, kann eine bestimmte Datenspur ausgelagert werden, die einen Datensatz nach dem anderen aktualisiert wurde.
  • Es kommt möglicherweise nicht nur zu längeren Transaktionszeiten, sondern es werden auch einige vielbeschäftigte Gruppen von Datenspuren (z. B. Datenspuren von Vorausschreibdatensätzen (WADS) im IP Multimedia Subsystem (IMS)) sequenziell erkannt, jedoch möglicherweise nicht rein sequenziell geschrieben. Zum Beispiel sei eine vielbeschäftigte Gruppe von Datenspuren 1 bis 8 betrachtet, die in der Reihenfolge 4, 3, 2, 1, 8, 7, 6, 5 geschrieben werden. Diese Datenspuren können als ureigen sequenziell erkannt werden. Vielbeschäftigte Gruppen von Datenspuren werden wie oben erwähnt oft aktualisiert und dementsprechend mit einer höheren Frequenz geschrieben. Derzeitige Mechanismen lagern diese vielbeschäftigten Gruppen aus, wenn diese als sequenziell erkannt werden.
  • Angesichts des oben Gesagten und wie oben erwähnt besteht ein Bedarf an einem Mechanismus zur Verringerung der Transaktionszeiten in Szenarien, an denen solche sequenziellen Datenspuren beteiligt sind. Wie oben erwähnt dienen die Mechanismen der veranschaulichten Ausführungsformen wiederum dazu, diesen Bedarf durch Bereitstellen einer aggressiveren Auslagerung sequenzieller Datenspuren in den Schreibcache zu befriedigen, auf das Auslagern des letzten Abschnitts in den gerade geschriebenen sequenziellen Datenströmen zu verzichten und vielbeschäftigte Gruppen von Datenspuren (oft aktualisierte Datenspuren) für längere Zeit in dem Schreibcache zu behalten. Demgemäß sorgen die veranschaulichten Ausführungsformen für einen besseren Datendurchsatz des Schreibcaches, da sequenzielle Datenspuren aggressiver ausgelagert werden, Auslagerungen von pseudosequenziellen vielbeschäftigten Gruppen verlangsamt werden und die Anzahl der Auslagerungskonflikte möglichst gering gehalten wird, da Datenspuren während des Schreibens nicht ausgelagert werden.
  • In 3 wird nunmehr ein beispielhaftes Verfahren 100 zum Ausführen einer Hostschreiboperation dargestellt, die verschiedene Aspekte der vorliegenden Erfindung und den folgenden beanspruchten Gegenstand in sich vereint. Das Verfahren 100 beginnt (Schritt 102) mit dem Prüfen einer Datenspur (Schritt 104), um zu ermitteln, ob diese ihrem Wesen nach sequenziell ist (Schritt 106). Wenn dies der Fall ist, wird die Datenspur ausfindig gemacht, deren Nummer um X kleiner als die Nummer der vorliegenden Datenspur ist (N – X) (Schritt 108). Mit anderen Worten, es wird eine frühere Datenspur in dem Abschnitt auf der Grundlage einer vorgegebenen Formel ausfindig gemacht. Gemäß einer Ausführungsform ist X standardmäßig gleich 28, obwohl dem Fachmann einsichtig ist, dass der Wert X entsprechend einer bestimmten Ausführungsart variieren kann.
  • Wenn in Schritt 110 ermittelt worden ist, dass die Datenspur (N – X) sequenziell ist und geändert wurde, wird nun deren zugehöriges temporäres Bit gelöscht (Schritt 112), um das Auslagern der früheren Datenspur zu ermöglichen. Dann endet das Verfahren 100 (Schritt 114). Wenn in Schritt 106 hingegen ermittelt wurde, dass die Datenspur nicht sequenziell ist, und wenn in Schritt 110 ermittelt wurde, dass die Datenspur (N – X) zudem nicht sequenziell ist und geändert wurde, endet das Verfahren 100 (wiederum in Schritt 114).
  • 4 veranschaulicht nunmehr ein beispielhaftes Verfahren 120 zum Ausführen von Auslagerungssuchläufen, das wiederum verschiedene Aspekte der vorliegenden Erfindung und des folgenden beanspruchten Gegenstands in sich vereint. Das Verfahren 120 wird für jeden Abschnitt des geänderten Cachespeichers durchgeführt und beginnt (Schritt 122) mit einem Versuch, eine Sperrung auf der veränderten Liste zu erreichen (Schritt 124). Wenn die Sperrung nicht erreicht werden kann (Schritt 126), wird der Thread, der den Auslagerungssuchlauf ausführt, erneut zugeteilt (Schritt 128), und das Verfahren 120 geht zurück zu Schritt 124, um einen weiteren Suchlauf durchzuführen.
  • Wenn eine Sperrung erreicht wird (wiederum in Schritt 126), werden Datenspuren in dem Abschnitt geprüft (Schritt 130), um zu ermitteln, ob für eine oder mehrere Datenspuren das temporäre Bit gesetzt ist (Schritt 132). Wenn für keine der Datenspuren in dem Abschnitt das temporäre Bit gesetzt ist (z. B. wenn alle Datenspuren in dem Abschnitt geprüft worden sind), wird der derzeitige Abschnitt zum Ausführen der Auslagerungsoperation ausgewählt und der Auslagerungssuchlauf verlassen (Schritt 136, wobei mit Schritt 138 gemäß der folgenden Beschreibung fortgesetzt wird). Wird hingegen in Schritt 132 eine Datenspur mit einem gesetzten temporären Bit gefunden, geht das Verfahren 120 weiter zu Schritt 134, wo das temporäre Bit für alle Datenspuren in dem Abschnitt zurückgesetzt wird. Nach den wie oben beschriebenen Schritten 134 und 136 geht das Verfahren weiter zu Schritt 138, wo abgefragt wird, ob eine vorgegebene Anzahl von Datenspuren durchsucht worden ist. Wiederum gemäß einer Ausführungsform kann die vorgegebene Anzahl gleich 4 sein, jedoch ist dem Fachmann einsichtig, dass die vorgegebene Anzahl entsprechend einer bestimmten Ausführungsart variieren kann. Wenn dies nicht der Fall ist, geht das Verfahren zurück zu Schritt 124, um weitere Suchläufe durchzuführen.
  • Wenn die vorgegebene Anzahl von Abschnitten tatsächlich durchsucht worden ist, wird der Speicherbelegungsgrad des NVS geprüft. Wenn der Belegungsgrad des NVS einen vorgegebenen Prozentwert oder die Ebene den vorgegebenen Prozentwert des zulässigen NVS-Speichervolumens überschreitet (Schritt 140), wird der erste aller bis dahin durchsuchten Abschnitte für die Auslagerungsoperation ausgewählt (Schritt 142). Auch in diesem Fall kann der vorgegebene Prozentwert entsprechend einer bestimmten Ausführungsart variieren und gemäß einer Ausführungsform gleich 90% sein (z. B. der NVS ist zu mehr als 90% belegt oder die Ebene nimmt mehr als 90% des zulässigen NVS-Speichervolumens in Anspruch). Wenn das Ergebnis in Schritt 140 hingegen NEIN lautet, wird der Thread, der den Auslagerungssuchlauf ausführt, erneut zugeteilt (Schritt 144). Wenn noch nicht alle Abschnitte in dem veränderten Cachespeicher durchsucht worden sind (Schritt 146), geht das Verfahren 120 zurück zu Schritt 124, um wie dargestellt weitere Suchläufe auszuführen. Wenn alle Abschnitte durchsucht worden sind, endet das Verfahren 120 (Schritt 148).
  • Dem Fachmann ist klar, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt umgesetzt werden können. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer kompletten Hardwareausführungsform, einer kompletten Softwareausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Softwareaspekte und Hardwareaspekte in sich vereint, die hierin sämtlich allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit einem darauf gespeicherten computerlesbaren Programmcode gespeichert ist.
  • Es kann jede Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine entsprechende Vorrichtung oder Einheit oder eine beliebige geeignete Kombination derselben handeln. Speziellere Beispiele (eine nicht erschöpfende Aufzählung) des computerlesbaren Mediums kann Folgendes beinhalten: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen Lichtwellenleiter, einen tragbaren Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination derselben. In Verbindung mit diesem Dokument kann es sich bei einem computerlesbaren Medium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen enthalten oder speichern kann.
  • Der auf einem computerlesbaren Medium verkörperte Programmcode kann unter Verwendung eines beliebigen geeigneten Medium übertragen werden, darunter, ohne darauf beschränkt zu sein, drahtlos, leitungsgebunden, Lichtwellenleiter, HF usw. oder eine beliebige geeignete Kombination derselben. Der Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben werden, darunter eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder ähnliche und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer eines Benutzers, teilweise auf dem Computer eines Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer eines Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. Im letzteren Szenario kann der ferne Computer über ein beliebiges Netz mit dem Computer des Benutzers verbunden werden, darunter ein lokales Netz (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstleisters).
  • Aspekte der vorliegenden Erfindung sind oben unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben worden. Es ist klar, dass jeder Block der Ablaufpläne und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch Anweisungen eines Computerprogramms umgesetzt werden können. Diese Anweisungen des Computerprogramms können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine derart zu erzeugen, dass die durch den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Aktionen erzeugen.
  • Diese Anweisungen des Computerprogramms können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten veranlassen kann, auf eine bestimmte Weise derart zu funktionieren, dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel erzeugen, der Anweisungen enthält, die die in dem Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Aktionen umsetzen. Die Anweisungen des Computerprogramms können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe auf dem Computer, der anderen programmierbaren Vorrichtung oder anderen Einheiten auszuführender Arbeitsschritte zu veranlassen, um eine computergestützten Prozess derart zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Umsetzen der in dem Block oder in den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktionen/Aktionen bereitstellen.
  • Der Ablaufplan und die Blockschaubilder in den obigen Figuren veranschaulichen die Architektur, die Funktionalität und die Arbeitsweise möglicher Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Demgemäß kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. Es wird auch darauf hingewiesen, dass bei einigen alternativen Ausführungsarten die in dem Block angegebenen Funktionen in einer von den Figuren abweichenden Reihenfolge vorkommen können. Zum Beispiel können zwei aufeinanderfolgende Blöcke je nach beabsichtigter Funktionalität in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können mitunter in der umgekehrten Reihenfolge ausgeführt werden. Ferner wird darauf hingewiesen, dass jeder Block der Blockschaubilder und/oder des Ablaufplans und Kombinationen von Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle Hardwaresysteme, die die angegebenen Funktionen oder Aktionen ausführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden.
  • Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung ausführlich veranschaulicht worden sind, ist dem Fachmann einsichtig, dass Änderungen und Anpassungen an diesen Ausführungsformen vorgenommen werden können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen, der in den folgenden Ansprüchen dargelegt wird.

Claims (9)

  1. Verfahren für Schreibcacheoperationen für sequenzielle Datenspuren durch eine Prozessoreinheit in einer Datenverarbeitungsspeicherumgebung zum Auslagern von Daten von einem Permanentspeicher (NVS) zu einer Speichereinheit, wobei das Verfahren aufweist: Löschen eines temporären Bits, das einer früheren Datenspur zugehörig ist, wenn festgestellt wird, dass eine erste Datenspur sequenziell ist, und wenn ferner festgestellt wird, dass die frühere Datenspur ebenfalls sequenziell ist, um das Auslagern von Daten der früheren Datenspur zu ermöglichen; und Auswählen eines Abschnitts, der einem aus der Vielzahl weiterer Datenspuren zugehörig ist, für eine Auslagerungsoperation, wenn festgestellt wird, dass ein temporäres Bit für eine aus einer Vielzahl weiterer Datenspuren in einem aus einer Vielzahl von Abschnitten in einem geänderten Cachespeicher nicht gesetzt ist, wobei ein vorgegebener Abschnitt aus der Vielzahl von Abschnitten für die Auslagerungsoperation ausgewählt wird, wenn der NVS einen vorgegebenen Schwellenwert überschreitet.
  2. Verfahren nach Anspruch 1, das ferner das Prüfen der ersten Datenspur beinhaltet, um zu ermitteln, ob die erste Datenspur sequenziell ist.
  3. Verfahren nach Anspruch 1, wobei das Löschen des temporären Bits, das der früheren Datenspur zugehörig ist, nach einer Hostschreibanforderung durchgeführt wird.
  4. Verfahren nach Anspruch 1, wobei das Auswählen des Abschnitts, der der einen aus der Vielzahl weiterer Datenspuren zugehörig ist, nach einer Auslagerungssuchlaufoperation durchgeführt wird.
  5. Verfahren nach Anspruch 1, wobei die frühere Datenspur berechnet wird, indem (N – X) Datenspuren weniger als die erste Datenspur erhalten werden, wobei N gleich der Nummer der Datenspur und X gleich einer vorgegebenen Zahl ist.
  6. Verfahren nach Anspruch 4, das ferner das erneute Zuteilen eines Threads, der die Auslagerungssuchlaufoperation ausführt, beinhaltet, nachdem der vorgegebene Abschnitt aus der Vielzahl von Abschnitten für die Auslagerungsoperation ausgewählt wurde.
  7. Verfahren nach Anspruch 1, wobei das Auswählen des Abschnitts für die Auslagerungsoperation, der der einen aus der Vielzahl von weiteren Datenspuren zugehörig ist, für jeden Abschnitt aus der Vielzahl von Abschnitten in dem geänderten Cachespeicher durchgeführt wird.
  8. System für Schreibcacheoperationen für sequenzielle Datenspuren in einer Datenverarbeitungsspeicherumgebung zum Auslagern von Daten von einem Permanentspeicher (NVS) zu einer Speichereinheit, wobei das System aufweist: eine Prozessoreinheit, die in einer Datenverarbeitungsspeicherumgebung wirksam wird, wobei die Prozessoreinheit zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 7 eingerichtet ist.
  9. Computerprogrammprodukt für Schreibcacheoperationen für sequenzielle Datenspuren durch eine Prozessoreinheit in einer Datenverarbeitungsspeicherumgebung zum Auslagern von Daten von einem Permanentspeicher (NVS) zu einer Speichereinheit, wobei das Computerprogrammprodukt ein computerlesbares Medium mit darin gespeicherten Abschnitten eines computerlesbaren Programmcodes aufweist und die Abschnitte des computerlesbaren Programmcodes bei Ausführung durch einen Computer die Schritte nach einem der Ansprüche 1 bis 7 ausführen.
DE112011103290.0T 2010-09-29 2011-08-18 Intelligente Schreibcacheoperationen für sequenzielle Datenspuren Active DE112011103290B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/894,017 US8443141B2 (en) 2010-09-29 2010-09-29 Intelligent write caching for sequential tracks
US12/894,017 2010-09-29
PCT/EP2011/064243 WO2012041601A1 (en) 2010-09-29 2011-08-18 Intelligent write caching for sequential tracks

Publications (2)

Publication Number Publication Date
DE112011103290T5 true DE112011103290T5 (de) 2013-07-11
DE112011103290B4 DE112011103290B4 (de) 2023-11-30

Family

ID=44503856

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011103290.0T Active DE112011103290B4 (de) 2010-09-29 2011-08-18 Intelligente Schreibcacheoperationen für sequenzielle Datenspuren

Country Status (5)

Country Link
US (2) US8443141B2 (de)
CN (1) CN103124960B (de)
DE (1) DE112011103290B4 (de)
GB (1) GB2513557A (de)
WO (1) WO2012041601A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762645B2 (en) * 2011-05-26 2014-06-24 International Business Machines Corporation Destaging of write ahead data set tracks
US10318426B1 (en) * 2011-09-27 2019-06-11 EMC IP Holding Company LLC Cloud capable storage platform with computation operating environment for storage and generic applications
US9524243B1 (en) * 2011-09-27 2016-12-20 Emc Ip Holdng Company Llc Scalable monolithic data storage system for cloud environment
US9286225B2 (en) * 2013-03-15 2016-03-15 Saratoga Speed, Inc. Flash-based storage system including reconfigurable circuitry
US9304902B2 (en) 2013-03-15 2016-04-05 Saratoga Speed, Inc. Network storage system using flash storage
US9973424B1 (en) 2013-12-31 2018-05-15 Sanmina Corporation Storage system with flow based services for flash storage
US9672180B1 (en) 2014-08-06 2017-06-06 Sanmina Corporation Cache memory management system and method
US9384147B1 (en) 2014-08-13 2016-07-05 Saratoga Speed, Inc. System and method for cache entry aging
US9715428B1 (en) 2014-09-24 2017-07-25 Sanmina Corporation System and method for cache data recovery
US10572355B2 (en) 2017-07-27 2020-02-25 International Business Machines Corporation Transfer track format information for tracks in cache at a primary storage system to a secondary storage system to which tracks are mirrored to use after a failover or failback
US10540246B2 (en) 2017-07-27 2020-01-21 International Business Machines Corporation Transfer track format information for tracks in cache at a first processor node to a second process node to which the first processor node is failing over
US10579296B2 (en) 2017-08-01 2020-03-03 International Business Machines Corporation Providing track format information when mirroring updated tracks from a primary storage system to a secondary storage system
US10372624B2 (en) 2017-08-18 2019-08-06 International Business Machines Corporation Destaging pinned retryable data in cache
US10795602B1 (en) 2019-05-31 2020-10-06 International Business Machines Corporation Selectively destaging data updates from write caches across data storage locations

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636359A (en) 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US6112277A (en) 1997-09-25 2000-08-29 International Business Machines Corporation Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format
US6192450B1 (en) 1998-02-03 2001-02-20 International Business Machines Corporation Destage of data for write cache
US6704837B2 (en) 1998-06-29 2004-03-09 International Business Machines Corporation Method and apparatus for increasing RAID write performance by maintaining a full track write counter
US6513097B1 (en) 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6785771B2 (en) 2001-12-04 2004-08-31 International Business Machines Corporation Method, system, and program for destaging data in cache

Also Published As

Publication number Publication date
US20120079199A1 (en) 2012-03-29
GB201306281D0 (en) 2013-05-22
US8443141B2 (en) 2013-05-14
GB2513557A (en) 2014-11-05
US20120233408A1 (en) 2012-09-13
WO2012041601A1 (en) 2012-04-05
US8566518B2 (en) 2013-10-22
DE112011103290B4 (de) 2023-11-30
CN103124960B (zh) 2016-10-26
CN103124960A (zh) 2013-05-29

Similar Documents

Publication Publication Date Title
DE112011103290B4 (de) Intelligente Schreibcacheoperationen für sequenzielle Datenspuren
DE112012002615B4 (de) Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren
DE112018000193B4 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
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
DE112012001302B4 (de) Cachen von Daten in einem Speichersystem mit mehreren Cache-Speichern
DE112014000254B4 (de) Mehrstufiges Zwischenspeichern und Migrieren in unterschiedlichen Granularitäten
DE112012001808B4 (de) Cache-Management von Spuren in einem ersten Cachespeicher und einem zweiten Cachespeicher für einen Speicher
DE102013200032B4 (de) Herabstufen von partiellen Speicherspuren aus einem ersten Cachespeicher in einen zweiten Cachespeicher
DE112012004540B4 (de) Selektive Speicherplatzfreigabe eines Datenspeichers unter Verwendung von Vergleichs- und Verlagerungskennzahlen
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE112012004798B4 (de) Anpassung der Auslagerungsgeschwindigkeit auf Grundlage von Anforderungen an Lese- und Schreib-Antwortzeiten
DE102012219098A1 (de) Verwaltung von Teildatensegmenten in Systemen mit doppeltem Cachespeicher
DE112012000953B4 (de) Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit
DE112013002355B4 (de) Steigern von Datenzwischenspeicherungsleistung
DE112010003794B4 (de) Datenspeicherung unter Verwendung von Bitmaps
DE112013001284T5 (de) Adaptive Cachespeicher-Umstufungen in einem Caching-System mit zwei Stufen
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE112010004969T5 (de) Hybrides Speicherteilsystem
DE112013006655T5 (de) Speichervorrichtung und Verfahren zum Steuern der Speichervorrichtung
DE102009031125A1 (de) Nand-Fehlerbehandlung
DE112013004400B4 (de) Herstellen einer Zeitpunktkopie-Beziehung zwischen logischen Quellenadressen und logischen Zieladressen
DE102016010277A1 (de) Verfahren und systeme zum verbessern von speicher-journaling
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE112012004209T5 (de) Dynamisch eingestellter Schwellenwert zum Belegen eines sekundären Cache-Speichers
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen

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