DE112010004969T5 - Hybrides Speicherteilsystem - Google Patents
Hybrides Speicherteilsystem Download PDFInfo
- Publication number
- DE112010004969T5 DE112010004969T5 DE112010004969T DE112010004969T DE112010004969T5 DE 112010004969 T5 DE112010004969 T5 DE 112010004969T5 DE 112010004969 T DE112010004969 T DE 112010004969T DE 112010004969 T DE112010004969 T DE 112010004969T DE 112010004969 T5 DE112010004969 T5 DE 112010004969T5
- Authority
- DE
- Germany
- Prior art keywords
- block
- hard disk
- disk drive
- response
- particular block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Ein Speicherteilsystem, das Halbleiter-Laufwerks(SSD)- und Festplatten-Laufwerks(HDD)-Technologien vereinigt, stellt eine kurze Zugriffslatenzzeit und geringe Komplexität bereit. Getrennte Freilisten werden für das SSD und das HDD geführt, und Blöcke von Dateisystemdaten werden einmalig entweder in dem SSD oder dem HDD gespeichert. Bei einem Lesezugriff auf das Teilsystem werden die Daten zurückgegeben, wenn sich die Daten in dem SSD befinden, wenn sich der Block jedoch in dem HDD befindet, wird er zu dem SSD migriert, und der Block in dem HDD wird an die HDD-Freiliste zurückgegeben. Bei einem Schreibzugriff wird der Block überschrieben, wenn sich der Block entweder in dem SSD oder dem HDD befindet, wenn sich der Block jedoch nicht in dem Teilsystem befindet, wird der Block in das HDD geschrieben.
Description
- Technisches Gebiet
- Die vorliegende Erfindung bezieht sich auf Speichersysteme innerhalb von Computersystemen und im engeren Sinne auf ein hybrides Speicherteilsystem, das mehrere Typen von Einheiten beinhaltet, in denen Dateiinhalte auf die Einheitentypen verteilt sind.
- HINTERGRUND
- In Computerspeicher-Teilsystemen werden aufgrund unterschiedlicher Latenzzeiten in den Speichereinheiten selbst häufig mehrere Speicherhierarchieebenen bereitgestellt. Cachespeicher stellen einen schnellen Zugriff auf Daten für Prozessoren bereit, während ein Hauptsystemspeicher üblicherweise einen größeren Speicher mit längeren Latenzzeiten bereitstellt. Festplattenlaufwerk(HDD)-Systeme, die im Allgemeinen mithilfe von Magnetspeichertechnologien realisiert werden, stellen einen Zusatzspeicher für einen Hauptsystemspeicher bereit, der eine noch längere Latenzzeit und üblicherweise eine größere Kapazität aufweist. Dateizugriffe auf HDD-Laufwerksysteme werden jedoch an die HDD-Ebene gerichtet. Die HDD-Ebene kann über ihren eigenen Cachespeicher verfügen, der einen Abschnitt einer Datei zwischenspeichert, die gesamte Datei befindet sich jedoch auf dem HDD, und die gesamte Datei oder ein Abschnitt davon wird zwischengespeichert, wenn häufig auf sie zugegriffen wird, nachdem der erste Zugriff erfolgt ist.
- In letzter Zeit haben aus nichtflüchtigen Halbleiterspeichern erstellte Halbleiterlaufwerke (solid-state drives, SSDs) Zuverlässigkeitsniveaus, Kapazitäten und Kosten erreicht, durch die ihre Verwendung als Ersatz für HDDs zweckmäßig wird. Es sind hybride SSD/HDD-Speichersysteme vorgeschlagen und realisiert worden, bei denen Dateien, auf die häufig zugegriffen wird, auf SSDs gespeichert werden, während Dateien, bei denen Zugriffsanforderungen weniger häufig sind, auf HDDs gespeichert werden. Eine solche Vorgehensweise berücksichtigt jedoch nicht den dynamischen Charakter der Zugriffshäufigkeit auf Dateisysteme aufgrund verschiedener Anwendungen und Betriebssysteme, die ein Speichersystem über einen bestimmten Zeitraum nutzen können.
- Andere Techniken, die angewendet worden sind, beinhalten eine dynamische Migration von Platteninhalten auf der Grundlage eines LRU-(least-recently-used, am längsten ungenutzt) oder eines anderen Schemas, das die relative Zugriffshäufigkeit auf Dateien und Tabellen ermittelt, um weniger häufig verwendete Dateien in der Hierarchie nach unten zu migrieren, d. h. von dem SSD-Abschnitt der Platte/Anordnung zum HDD-Abschnitt. Ein solches Schema verbessert die Leistungsfähigkeit, jedoch kann viel Speicherplatz in dem SSD verschwendet werden, wenn nur auf einen kleinen Teil der Datei(en), die auf dem SSD verbleibt/verbleiben, tatsächlich häufig zugegriffen wird. Beispielsweise kann es sich bei einer großen Datenbankdatei um die Datei in einem System handeln, auf die am häufigsten zugegriffen wird, es ist jedoch möglich, dass über eine beträchtliche Zeitspanne hinweg nur auf einen kleinen Abschnitt der Datenbank tatsächlich zugegriffen wird.
- Eine Technik, die das oben beschriebene Problem vermeiden könnte, besteht darin, den SSD-Abschnitt der Platte/Anordnung als Software-Cachespeicher zu nutzen. Eine solche Umsetzung führt jedoch zu weiterer Komplexität bei Betriebssystem-Software und zu einer weiteren Verlängerung der Zugriffslatenzzeit beim System.
- Daher wäre es wünschenswert, ein Verwaltungsverfahren und ein hybrides Plattenspeichersystem bereitzustellen, dass eine kurze durchschnittliche Zugriffslatenzzeit bei geringer Komplexität bereitstellt.
- KURZDARSTELLUNG
- Die Erfindung wird in einem auf einem Computer ausgeführten Verfahren, Computerprogrammprodukt und Computersystem verkörpert, die ein hybrides Speicherteilsystem verwalten, das eine Blockspeichereinheit mit kürzerer Latenzzeit und eine Blockspeichereinheit mit längerer Latenzzeit beinhaltet. Bei dem Computersystem handelt es sich um ein Computersystem, das ein Programm zum Durchführen des Verfahrens ausführt, und bei dem Computerprogrammprodukt handelt es sich um ein Programm zum Durchführen des Verfahrens.
- Das Verfahren führt getrennte Freilisten für die Speichereinheit mit kürzerer Latenzzeit und die Speichereinheit mit längerer Latenzzeit, und Blöcke von Dateien werden einmalig entweder in der Einheit mit kürzerer Latenzzeit oder in der Einheit mit längerer Latenzzeit gespeichert. Bei einem Lesezugriff auf das Teilsystem werden die Daten zurückgegeben, wenn sich die Daten in der Einheit mit kürzerer Latenzzeit befinden, wenn sich der Block jedoch in der Einheit mit längerer Latenzzeit befindet, wird er zu der Einheit mit kürzerer Latenzzeit migriert, und der Block in der Einheit mit längerer Latenzzeit wird an die Freiliste der Einheit mit längerer Latenzzeit zurückgegeben. Bei einem Schreibzugriff wird der Block überschrieben, wenn sich der Block entweder in der Einheit mit kürzerer Latenzzeit oder in der Einheit mit längerer Latenzzeit befindet, wenn sich der Block jedoch nicht in dem Teilsystem befindet, wird der Block in die Einheit mit längerer Latenzzeit geschrieben.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Ausführungsformen der Erfindung werden nun lediglich als Beispiel mit Bezug auf die beigefügten Zeichnungen beschrieben, für die gilt:
-
1 ist ein Blockschaubild, das ein vernetztes Computersystem veranschaulicht, das ein Speicherteilsystem beinhaltet, in dem Techniken gemäß einer Ausführungsform der vorliegenden Erfindung angewendet werden. -
2 ist ein Blockschaubild einer Speichereinheit gemäß einer Ausführungsform der vorliegenden Erfindung. -
3 ist eine bildliche Darstellung, die eine Gestaltung von Datenstrukturen in einem Programm gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. -
4 ist ein Ablaufplan eines Schreibzugriffsvorgangs, wie er in einem Speicherteilsystem gemäß einer Ausführungsform der vorliegenden Erfindung durchgeführt wird. -
5 ist ein Ablaufplan eines Lesezugriffsvorgangs, wie er in einem Speicherteilsystem gemäß einer Ausführungsform der vorliegenden Erfindung durchgeführt wird. -
6 ist ein Ablaufplan eines Migrationsvorgangs, wie er in einem Speicherteilsystem gemäß einer Ausführungsform der vorliegenden Erfindung durchgeführt wird. - GENAUE BESCHREIBUNG
- Die vorliegende Erfindung umfasst hybride Speicherteilsysteme und -einheiten, insbesondere Speicherteilsysteme, die aus mehreren Blockspeichereinheiten mit unterschiedlichen Latenzzeiten bestehen. Gemäß den hierin veranschaulichten Ausführungsformen der vorliegenden Erfindung wird insbesondere eine Blockspeichereinheit mit längerer Latenzzeit wie zum Beispiel ein Festplatten-Laufwerk (HDD) zusammen mit einer Blockspeichereinheit mit kürzerer Latenzzeit wie zum Beispiel einem Halbleiter-Laufwerk (SSD) verwendet, um ein hybrides Speicherteilsystem auszubilden. Die Blockspeichereinheit mit längerer Latenzzeit und die Blockspeichereinheit mit kürzerer Latenzzeit können in dasselbe Gehäuse eingebaut sein, um eine hybride Speichereinheit bereitzustellen, die die Vorteile der vorliegenden Erfindung aufweist.
- Es wird nun auf
1 Bezug genommen, in der ein vernetztes Computersystem, in dem eine Ausführungsform der vorliegenden Erfindung ausgeführt wird, in einem Blockschaubild dargestellt wird. Ein Arbeitsplatz-Computersystem10 beinhaltet einen Prozessor CPU, der mit einem Speicher MEM verbunden ist, der Programmbefehle für die Ausführung durch die CPU enthält und der einen Speichereinheitentreiber11A beinhaltet, der Techniken gemäß der vorliegenden Erfindung beinhaltet und ferner eine allgemeine Speicherfunktionalität für ein lokales Betriebssystem bereitstellt, das durch die CPU ausgeführt wird. Der Arbeitsplatzcomputer10 wird außerdem so dargestellt, dass er eine Grafikanzeige Anzeige und Eingabeeinheiten Eingabeeinheiten wie zum Beispiel Mäuse und Tastaturen zum Zusammenwirken mit Benutzeroberflächen beinhaltet, die Benutzeroberflächen für zusammenwirkende Anwendungen, die lokal auf dem Arbeitsplatz-Computersystem10 ausgeführt werden, wie auch für Anwendungen, die durch andere mit dem Netzwerk verbundene Computer ausgeführt werden, beinhalten. Das Arbeitsplatz-Computersystem10 beinhaltet außerdem eine Speichersteuereinheit STC14 , die den Prozessor CPU mit einer lokalen Festplatten-Laufwerk(HDD)-Speichereinheit17A und einem Halbleiter-Laufwerk (SSD) SSD1 verbindet. Der Einheitentreiber11A steuert die STC14 an, um eine Plattenspeicherfunktionalität in dem Arbeitsplatz-Computersystem10 bereitzustellen, und verwendet insbesondere das SSD SSD1 und das HDD17A gemeinsam, um ein hybrides Speicherteilsystem gemäß einer Ausführungsform der vorliegenden Erfindung auszubilden. Der Einheitentreiber11A beinhaltet in dem Speicher MEM gespeicherte Programmbefehle, die ein Computerprogrammprodukt gemäß einer Ausführungsform der Erfindung ausbilden. Das Arbeitsplatz-Computersystem10 beinhaltet außerdem eine Netzwerk-Schnittstelle NWI, die das Arbeitsplatz-Computersystem10 mit einem Netzwerk15 verbindet, bei dem es sich um ein vollständig drahtloses, ein vollständig drahtgebundenes oder um ein hybrides Netzwerk beliebiger Art handeln kann. Auf einen Netzwerkspeicher kann über die Netzwerk-Schnittstelle NWI zugegriffen werden, und er wird durch eine Netzwerkplatten-Steuereinheit (NWDC)18 bereitgestellt. Die NWDC18 verbindet entfernt angeordnete Speicher wie zum Beispiel HDDs17B und17C und ein SSD SSD2 mit dem Netzwerk15 und beinhaltet eine CPU CPU1, die mit einem Speicher MEM1 verbunden ist, der ein Computerprogrammprodukt gemäß einer Ausführungsform der vorliegenden Erfindung in Form von Programmbefehlen zum Durchführen der Techniken der vorliegenden Erfindung in Form eines Einheitentreibers11C speichert. Der Einheitentreiber11C realisiert Techniken gemäß einer Ausführungsform der vorliegenden Erfindung durch Ansteuern der HDDs17B und17C zusammen mit dem SSD SSD1, um ein weiteres hybrides Speicherteilsystem gemäß einer Ausführungsform der vorliegenden Erfindung auszubilden. - Ein Server-Rack-Computersystem
12 , das zumindest einen Server-Speicher SMEM und einen Server-Prozessor SCPU aufweist, wird ebenfalls mit dem Netzwerk15 verbunden dargestellt und kann auch auf die durch die NWDC18 bereitgestellte hybride Speicheranordnung und in manchen Fällen auch auf das hybride Speicherteilsystem zugreifen, das in dem Arbeitsplatz-Computersystem10 durch das SSD SSD1 und das HDD17A bereitgestellt wird, wenn der/die Speicherdatenträger, der/die durch das hybride Speicherteilsystem durch den Einheitentreiber11A realisiert wird/werden, im Netzwerk15 freigegeben ist/sind. Eine Systemgestaltung, wie sie im Allgemeinen mit der vorliegenden Erfindung verwendet wird, kann eine große Anzahl von Arbeitsplatz-Computersystemen wie zum Beispiel den Arbeitsplatzcomputer10 und eine große Zahl von Server-Racks wie zum Beispiel ein Server-Rack12 beinhalten. Ein Speicher in einem solchen Computersystem kann außerdem im Allgemeinen große Anordnungen von Speichereinheiten beinhalten. Die Techniken der vorliegenden Erfindung sind jedoch nicht von der Größenordnung abhängig und können daher ebenso in kleineren Systemgestaltungen angewendet werden. - Das Netzwerk
15 kann drahtlose lokale Netzwerke (wireless local-area networks, WLANs), verdrahtete lokale Netzwerke (local-area networks, LANs), Weitverkehrsnetzwerke (wide-area networks, WANs) oder jede andere geeignete Verbindung beinhalten, die einen Datenaustausch zwischen dem Arbeitsplatz-Computersystem10 und dem Server-Rack12 , den Speichereinheiten17A bis17C , den SSDs SSD1 und SSD2 zusammen mit anderen mit dem Netzwerk15 verbundenen Systemen und Einheiten bereitstellt. Des Weiteren betrifft die vorliegende Erfindung eine Sicherungs- und Wiederherstellungsfunktionalität, die nicht auf ein bestimmtes Computersystem oder eine bestimmte Netzwerkgestaltung beschränkt ist. Schließlich bedeutet die Beschreibung des Arbeitsplatz-Computersystems10 , des Server-Racks12 , der NWDC18 und des Standorts ihrer jeweiligen Speicher MEM, MEM1, SMEM und der Einheitentreiber11A und11C keine spezielle Client-Server-Beziehung oder hierarchische Gestaltung, da die Techniken der vorliegenden Erfindung in verteilten Systemen eingesetzt werden können, in denen keine bestimmte Maschine als Server gekennzeichnet ist, in denen jedoch zumindest eine der Maschinen eine Instanz und eine Funktionalität eines Programms oder Objekts wie zum Beispiel eines Einheitentreibers bereitstellt, der ein(e) hybride(s) Speicherteilsystem oder -einheit gemäß einer Ausführungsform der vorliegenden Erfindung realisiert. - Nun auf
2 Bezug nehmend, wird eine hybride Speichereinheit20 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Die hybride Speichereinheit20 beinhaltet die gesamte Funktionalität eines hybriden Speicherteilsystems gemäß der vorliegenden Erfindung und könnte daher in dem in1 dargestellten System eingesetzt werden, ohne einen besonderen Einheitentreiber oder getrennte SSD- und HDD-Laufwerke zu benötigen. Eine Mikrosteuereinheit24 führt in einem Speicher26 gespeicherte Programmbefehle aus. Die Programmbefehle werden im Allgemeinen in einem nichtflüchtigen Abschnitt des Speichers26 wie zum Beispiel einem FLASH-Speicher gespeichert. Eine Speicherschnittstelle28 wie zum Beispiel eine Schnittstelle für kleine Computersysteme (small computer systems interface, SCSI) oder eine SATA-Schnittstelle (serial AT attachment) stellt eine Verbindung zu einer Speichersteuereinheit eines Computersystems wie der STC14 des Arbeitsplatz-Computersystems10 in1 bereit. Die hybride Speichereinheit20 beinhaltet eine Blockeinheit mit kürzerer Latenzzeit, z. B. eine SSD-Speicheranordnung21 , und eine Speichereinheit mit längerer Latenzzeit, z. B. einen Satz HDD-Platten/-Köpfe23 , die über eine HDD-Lese-/Schreibelektronik22 verbunden sind. Die HDD-Lese-/Schreibelektronik22 unterscheidet sich von HDDs wie beispielsweise den HDDs17A bis17C von1 insofern, als die Speicherschnittstelle, die üblicherweise dazu verwendet wird, den internen Speicher der HDDs17A bis17C mit der STC14 zu verbinden, zwischen der HDD-Lese-/Schreibelektronik22 und der Mikrosteuereinheit24 nicht benötigt wird, und daher wird die Speicherschnittstelle28 von den HDD- und SSD-Abschnitten der hybriden Speichereinheit20 gemeinsam genutzt. Des Weiteren werden die Algorithmen, die die Nachbildung der Speichereinheit bei einem typischen SSD realisieren, durch die Mikrosteuereinheit24 realisiert, und daher stellt die SSD-Speicheranordnung21 nur den für die SSD-Realisierung bereitgestellten Speicher dar und benötigt nicht die übrigen) Logik und Steuereinheiten, die ein vollständig realisiertes, getrenntes SSD-Laufwerk enthalten würde. - Wie veranschaulicht, empfängt die Mikrosteuereinheit
24 unter Steuerung durch ein in dem Speicher26 gespeichertes Computerprogrammprodukt gemäß einer Ausführungsform der vorliegenden Erfindung Zugriffsanforderungen und andere Befehle über die Speicherschnittstelle28 . Die Mikrosteuereinheit24 greift auf Halbleiter-Speichereinheiten in der SSD-Speicheranordnung21 oder den HDD-Platten/-Köpfen23 über die HDD-Lese-/Schreibelektronik22 zu, um die Funktionalität einer hybriden Plattenanordnung bereitzustellen, die über einen sehr hohen Durchsatz verfügt. Die Funktionsweise eines Hybridplatten-Steuerprogramms im Speicher26 , bei dem es sich im Wesentlichen um dieselben Methoden handelt, die durch die Einheitentreiber11A und11C von1 eingesetzt werden, wird unten näher beschrieben. - Nun auf
3 Bezug nehmend, werden Datenstrukturen dargestellt, die durch die Hybridplatten-Steuerprogramme in dem System von1 und die Speichereinheit von2 verwendet werden. Es werden zwei Freilisten geführt: Eine HDD-Freiliste30 und eine SSD-Freiliste32 . Einträge in den Freilisten30 ,32 enthalten zumindest eine Einheitenkennung wie zum Beispiel eine Plattenkennung (identifier, ID) oder eine Logikeinheitennummer (logical unit number, LUN) für die Einheit in dem Speicherteilsystem und einen Speicherort des Blocks, der durch den Eintrag in der Speichereinheit dargestellt wird, wie zum Beispiel eine logische Blockadresse (LBA). Die Platten-ID kann bei Realisierungen, in denen nur eine SSD- und eine HDD-Einheit vorhanden sind, weggelassen werden. Durch Einbeziehen getrennter Freilisten auf der Blockebene sowohl für die SSD- als auch für die HDD-Einheiten können Blöcke leicht zwischen den verschiedenen Einheitentypen migriert werden, und der Speicherort des Inhalts einer Datei kann über die verschiedenen Einheitentypen hinweg kombiniert sein, obwohl jeder Block einmalig auf einer der Einheiten gespeichert wird. Daher handelt es sich bei dem Speicherteilsystem der vorliegenden Erfindung nicht um eine einschließende Hierarchie, sondern eher um ein Teilsystem, das so verwaltet wird, dass es Daten, auf die häufiger zugegriffen wird, in einer Speichereinheit mit kürzerer Latenzzeit (und im Allgemeinen höheren Kosten) wie zum Beispiel einem SSD platziert, während es aus wirtschaftlichen Gründen im Allgemeinen mehr Speicherplatz in einer Speichereinheit mit längerer Latenzzeit wie zum Beispiel einem HDD bereitstellt. Es versteht sich, dass die oben beschriebenen Systeme und Schemata sich allgemein auf Speichereinheiten mit unterschiedlichen Latenzzeiten beziehen und dass die Verwendung von SSD- und HDD-Einheiten/-Speicheranordnungen, außer wenn auf eine bestimmte beanspruchte Ausführungsform hingewiesen wird, beispielhaft ist und so zu verstehen ist, dass sie andere hybride Speicherteilsysteme und -einheiten umfasst, die die Techniken der vorliegenden Erfindung, wie unten beschrieben, einsetzen. Eine LRU-(least-recently-used, am längsten ungenutzt)Liste34 wird in der beispielhaften Ausführungsform dazu verwendet, eine Liste der zurzeit zugeordneten Blöcke in dem SSD zu speichern. Die Einträge werden nach ihrem letzten Zugriffszeitpunkt oder nach einem anderen Schema geordnet, wie es zum Realisieren eines Auslagerungsschemas wie zum Beispiel LRU üblich ist. Die Liste wird aktualisiert, wenn auf Blöcke zugegriffen wird, und wird verkürzt, wenn Datenblöcke aus dem SSD entfernt und in das HDD übertragen werden. Alternativ können die Positionen der Einträge in der Liste fest bleiben, und es kann ein in jedem Eintrag gespeicherter Wert zum Bereitstellen einer Angabe des LRU-Ranges des Eintrags verwendet werden. Andere Schemata wie zum Beispiel MRU (most-recently-used, zuletzt verwendet) können eingesetzt werden und werden als innerhalb des Umfangs der vorliegenden Erfindung liegend betrachtet. - Nun auf
4 Bezug nehmend, wird ein Lesezugriffsverfahren gemäß einer Ausführungsform der Erfindung in einem Ablaufplan dargestellt. Eine Plattenlesezugriffs-Anforderung wird empfangen (Schritt40 ), und wenn sich der angeforderte Block in dem SSD befindet (Entscheidung41 ), wird der Block in Reaktion auf die Lesezugriffsanforderung von dem SSD abgerufen und zurückgegeben (Schritt42 ). Die SSD-LRU-Liste wird aktualisiert, um den Lesezugriff widerzuspiegeln (Schritt47 ), und es werden keine weiteren Schritte eingeleitet. Wenn sich der angeforderte Block nicht in dem SSD befindet (Entscheidung41 ), wird eine Prüfung durchgeführt, um zu ermitteln, ob sich der Block in dem HDD befindet (Entscheidung43 ), und wenn dies nicht der Fall ist, schlägt der Lesezugriffsvorgang fehl (Schritt48 ). Wenn sich der Block andererseits in dem HDD befindet (Entscheidung43 ), wird der Block aus dem HDD abgerufen und in Reaktion auf die Lesezugriffsanforderung zurückgegeben (Schritt44 ). Ein Block von der SSD-Freiliste wird zugeordnet, und der Block wird von dem HDD in das SDD kopiert (Schritt45 ), und schließlich wird der HDD-Block der HDD-Freiliste hinzugefügt, nachdem die Kopie fertiggestellt ist (Schritt46 ). Die SSD-LRU-Liste wird anschließend aktualisiert, um den Lesezugriff widerzuspiegeln (Schritt47 ). Der oben beschriebene SSD-Zuordnungs- und -Kopiervorgang kann im Zusammenhang mit dem Leseanforderer durchgeführt werden, oder er kann angesetzt werden, nachdem der Block zurückgegeben worden ist. Da der Inhalt des Blocks während des Kopierens in das SDD übertragen wird, kann es im Besonderen wünschenswert sein, den Block von der SSD-Freiliste vorab zuzuordnen und die Daten des Blocks von dem HDD sowohl zu einem Schnittstellen-Ausgabezwischenspeicher oder zu einem DMA-Ziel (direct memory access, direkter Speicherzugriff) als auch zu der SSD-Speichereinheit gleichzeitig zu übertragen. - Nun auf
5 Bezug nehmend, wird ein Schreibzugriffsverfahren gemäß einer Ausführungsform der Erfindung in einem Ablaufplan dargestellt. Eine Plattenschreibzugriffs-Anforderung wird empfangen (Schritt50 ), und wenn sich der angegebene Block in dem SSD befindet (Entscheidung51 ), wird der Block in dem SSD durch Überschreiben des Inhalts des SSD-Blocks aktualisiert (Schritt52 ), und es werden keine weiteren Schritte eingeleitet. Wenn sich der angegebene Block nicht in dem SSD befindet (Entscheidung51 ), wird eine Prüfung durchgeführt, um zu ermitteln, ob sich der Block in dem HDD befindet (Entscheidung53 ), und wenn dies nicht der Fall ist, wird ein HDD-Block aus der HDD-Freiliste zugeordnet (Schritt55 ), und der Block wird in den neu zugeordneten Block in dem HDD kopiert (Schritt56 ). Wenn sich der Block andererseits in dem HDD befindet (Entscheidung53 ), wird der Block in dem HDD durch Überschreiben des Inhalts des HDD-Blocks aktualisiert (Schritt54 ). Das oben beschriebene Verfahren unterscheidet sich von der Lesezugriffsmethodik insofern, als bei einem Schreibzugriff keine Migration eines Blocks von dem HDD zu dem SSD durchgeführt wird. Da SSD-Einheiten im Allgemeinen längere durchschnittliche Schreiblatenzzeiten als Leselatenzzeiten aufweisen, insbesondere beim Schreiben großer Datenmengen, verbessert die Durchführung von Schreibvorgängen auf das HDD die Leistung, wenn die Blöcke während desselben Zeitraums nicht auch gelesen werden. - Da das in
4 dargestellte Verfahren tendenziell dazu führt, dass das SSD mit zuletzt gelesenen Blöcken gefüllt wird, und da Lesezugriffe von dem HDD einen freien SSD-Block erfordern, um den Kopiervorgang in Schritt45 durchzuführen, ist es wünschenswert, über einen Mechanismus zum Aufrechterhalten einer bestimmten Menge an freiem Speicherplatz auf dem SSD zu verfügen. Nun auf6 Bezug nehmend, wird ein Verfahren zum Freigeben von Blöcken auf dem SSD in einem Ablaufplan gemäß einer Ausführungsform der Erfindung dargestellt. Wenn eine Anforderung zum Zuordnen eines Blocks von der SSD-Freiliste empfangen wird (Schritt60 ), wie z. B. durch Schritt44 von4 ausgelöst, wird der Block zugeordnet und aus der Freiliste entfernt (Schritt61 ), wie in Schritt45 von4 . Wenn die Anzahl der Blöcke in der SSD-Freiliste geringer als ein kritischer Schwellenwert ist (Entscheidung62 ), wird unverzüglich eine Migration von LRU-Blöcken von dem SSD zu dem HDD vorgenommen (Schritt63 ). Bei dem kritischen Schwellenwert handelt es sich um die Mindestanzahl freier Blöcke, die das System unter allen Umständen in dem SSD aufrechtzuerhalten versucht. Wenn die Anzahl von Blöcken in der SSD-Freiliste größer als oder gleich dem kritischen Schwellenwert ist (Entscheidung62 ), wird, wenn die Anzahl von Blöcken in der SSD-Freiliste größer als oder gleich einem regulären Schwellenwert ist (Entscheidung64 ), keine Migration durchgeführt. Wenn die Anzahl von Blöcken in der HDD-Freiliste kleiner als der reguläre Schwellenwert ist (Entscheidung64 ), wird die Migration von LRU-Blöcken von dem SSD im Hintergrund geplant. - Die Erfindung ist zwar insbesondere in Bezug auf bevorzugte Ausführungsformen derselben dargestellt und beschrieben worden, für Fachleute versteht es sich jedoch, dass die obigen und andere Änderungen in Form und Einzelheiten daran vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen, wie sie durch die beigefügten Ansprüche definiert wird.
Claims (9)
- Auf einem Computer ausgeführtes Verfahren zum Verwalten eines Speicherteilsystems, das eine Blockspeichereinheit mit kürzerer Latenzzeit und eine Blockspeichereinheit mit längerer Latenzzeit beinhaltet, wobei das Verfahren Folgendes umfasst: Empfangen einer Dateizugriffsvorgangs-Anforderung, die mehrere Blöcke einbezieht, wobei einzelne der mehreren Blöcke entweder in der Blockspeichereinheit mit kürzerer Latenzzeit oder in der Blockspeichereinheit mit längerer Latenzzeit gespeichert werden; Benennen eines nächsten Blocks in der Datei, der durch die Anforderung einbezogen wird, als einen bestimmten Block; Ermitteln, ob sich der bestimmte Block in der Blockspeichereinheit mit kürzerer Latenzzeit befindet; in Reaktion auf das Ermitteln, dass sich der bestimmte Block in der Blockspeichereinheit mit kürzerer Latenzzeit befindet, Zugreifen auf den bestimmten Block in der Blockspeichereinheit mit kürzerer Latenzzeit; in Reaktion auf das Ermitteln, dass sich der bestimmte Block nicht in der Blockspeichereinheit mit kürzerer Latenzzeit befindet, Zugreifen auf den bestimmten Block in der Blockspeichereinheit mit längerer Latenzzeit; und Wiederholen des Benennens, Ermittelns und Zugreifens für folgende Blöcke, die durch die Dateizugriffsvorgangs-Anforderung einbezogen werden, bis auf einen letzten Block, der durch die Dateizugriffsvorgangs-Anforderung einbezogen wird, zugegriffen worden ist.
- Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei es sich bei der Blockspeichereinheit mit kürzerer Latenzzeit um ein Halbleiter-Plattenlaufwerk handelt und wobei es sich bei der Blockspeichereinheit mit längerer Latenzzeit um ein Festplatten-Laufwerk handelt.
- Verfahren nach Anspruch 2, wobei es sich bei dem Dateizugriffsvorgang um einen Lesevorgang handelt und wobei das Verfahren des Weiteren Folgendes umfasst: in Reaktion auf das Ermitteln, dass sich der bestimmte Block nicht in dem Halbleiter-Laufwerk befindet, für jeden bestimmten Block ein Ermitteln, ob sich der bestimmte Block in dem Festplatten-Laufwerk befindet oder nicht; in Reaktion auf das Ermitteln, dass sich der bestimmte Block in dem Festplatten-Laufwerk befindet, Zuordnen eines Blocks in dem Halbleiter-Laufwerk von einer Freiliste des Halbleiter-Laufwerks; des Weiteren in Reaktion auf das Ermitteln, dass sich der bestimmte Block in dem Festplatten-Laufwerk befindet, Kopieren des Inhalts des bestimmten Blocks von dem Festplatten-Laufwerk auf das Halbleiter-Laufwerk; in Reaktion auf das Abschließen des Kopierens, Hinzufügen des bestimmten Blocks zu einer Freiliste des Festplatten-Laufwerks; und Zurückgeben des Inhalts des bestimmten Blocks in Reaktion auf den Lesevorgang.
- Verfahren nach Anspruch 3, das des Weiteren in Reaktion auf das Ermitteln, dass sich der bestimmte Block in dem Halbleiter-Laufwerk befindet oder sich in dem Festplatten-Laufwerk befindet, ein Aktualisieren einer Am-längsten-ungenutzt(least-recently-used)-Liste des Halbleiter-Laufwerks umfasst.
- Verfahren nach Anspruch 2, wobei es sich bei dem Dateizugriffsvorgang um einen Schreibvorgang handelt und wobei das Verfahren des Weiteren Folgendes umfasst: in Reaktion auf das Ermitteln, dass sich der bestimmte Block nicht in dem Halbleiter-Laufwerk befindet, für jeden bestimmten Block ein Ermitteln, ob sich der Block in dem Festplatten-Laufwerk befindet oder nicht; in Reaktion auf das Ermitteln, dass sich der bestimmte Block in dem Festplatten-Laufwerk befindet, Schreiben von mit dem Schreibvorgang bereitgestellten Daten in den bestimmten Block; und in Reaktion auf das Ermitteln, dass sich der bestimmte Block nicht in dem Festplatten-Laufwerk befindet, Zuordnen eines neues Blocks in dem Festplatten-Laufwerk von einer Freiliste des Festplatten-Laufwerks; und des Weiteren in Reaktion auf das Ermitteln, dass sich der bestimmte Block nicht in dem Festplatten-Laufwerk befindet, Schreiben von mit dem Schreibvorgang bereitgestellten Daten in den neuen Block.
- Verfahren nach Anspruch 2, wobei es sich bei dem Dateizugriffsvorgang um einen Lesevorgang handelt und wobei das Verfahren des Weiteren Folgendes umfasst: in Reaktion auf das Ermitteln, dass sich der bestimmte Block nicht in dem Halbleiter-Laufwerk befindet, für jeden bestimmten Block ein Ermitteln, ob sich der bestimmte Block in dem Festplatten-Laufwerk befindet oder nicht; in Reaktion auf das Ermitteln, dass sich der bestimmte Block in dem Festplatten-Laufwerk befindet, Zuordnen eines Blocks in dem Halbleiter-Laufwerk von einer Freiliste des Halbleiter-Laufwerks; des Weiteren in Reaktion auf das Ermitteln, dass sich der bestimmte Block in dem Festplatten-Laufwerk befindet, Kopieren des Inhalts des bestimmten Blocks von dem Festplatten-Laufwerk auf das Halbleiter-Laufwerk; in Reaktion auf das Abschließen des Kopierens, Hinzufügen des bestimmten Blocks zu einer Freiliste des Festplatten-Laufwerks; und Zurückgeben des Inhalts des bestimmten Bocks in Reaktion auf den Lesevorgang.
- Computersystem, das einen Prozessor zum Ausführen von Programmbefehlen und einen mit dem Prozessor verbundenen Speicher umfasst, wobei die Programmbefehle Programmbefehle zum Verwalten eines Speicherteilsystems beinhalten, das eine Blockspeichereinheit mit kürzerer Latenzzeit und ein Blockspeichereinheit mit längerer Latenzzeit beinhaltet, wobei die Programmbefehle Programmbefehle umfassen, die durch den Prozessor ausführbar sind, um alle Schritte eines der Ansprüche 1 bis 6 auszuführen.
- Computerprogrammprodukt, das ein computerlesbares Speichermedium umfasst, das Programmbefehle zum Ausführen in einem Computersystem speichert, wobei die Programmbefehle Programmbefehle zum Verwalten eines Speicherteilsystems beinhalten, das eine Blockspeichereinheit mit kürzerer Latenzzeit und eine Blockspeichereinheit mit längerer Latenzzeit beinhaltet, wobei die Programmbefehle Programmbefehle umfassen, die, wenn sie durch das Computersystem ausgeführt werden, alle Schritte eines der Ansprüche 1 bis 6 ausführen.
- Speichereinheit, die Folgendes umfasst: einen Speicherblock mit kürzerer Latenzzeit; einen Speicherblock mit längerer Latenzzeit; einen Prozessor zum Ausführen von Programmbefehlen; einen Speicher zum Speichern der Programmbefehle, und wobei die Programmbefehle Programmbefehle umfassen, die durch den Prozessor ausführbar sind, um die Schritte eines der Ansprüche 1 bis 6 auszuführen.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/644,721 | 2009-12-22 | ||
US12/644,721 US8438334B2 (en) | 2009-12-22 | 2009-12-22 | Hybrid storage subsystem with mixed placement of file contents |
PCT/EP2010/069140 WO2011076565A1 (en) | 2009-12-22 | 2010-12-08 | Hybrid storage subsystem |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112010004969T5 true DE112010004969T5 (de) | 2013-01-17 |
DE112010004969B4 DE112010004969B4 (de) | 2021-06-02 |
Family
ID=43530850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112010004969.6T Active DE112010004969B4 (de) | 2009-12-22 | 2010-12-08 | Hybrides Speicherteilsystem und Verfahren zum Verwalten eines solchen |
Country Status (5)
Country | Link |
---|---|
US (2) | US8438334B2 (de) |
CN (1) | CN102667704B (de) |
DE (1) | DE112010004969B4 (de) |
GB (1) | GB2489343B (de) |
WO (1) | WO2011076565A1 (de) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8700949B2 (en) * | 2010-03-30 | 2014-04-15 | International Business Machines Corporation | Reliability scheme using hybrid SSD/HDD replication with log structured management |
US9471240B2 (en) * | 2010-06-24 | 2016-10-18 | International Business Machines Corporation | Performing read and write operations with respect to at least one solid state disk and at least one non-solid state disk |
US8560759B1 (en) * | 2010-10-25 | 2013-10-15 | Western Digital Technologies, Inc. | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency |
WO2012103245A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines Inc. | Guest instruction block with near branching and far branching sequence construction to native instruction block |
WO2012103253A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Multilevel conversion table cache for translating guest instructions to native instructions |
WO2012103367A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Guest to native block address mappings and management of native code storage |
WO2012103359A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Hardware acceleration components for translating guest instructions to native instructions |
CN103620547B (zh) | 2011-01-27 | 2018-07-10 | 英特尔公司 | 使用处理器的转换后备缓冲器的基于客户指令到本机指令范围的映射 |
US10140208B2 (en) * | 2011-03-31 | 2018-11-27 | Oracle International Corporation | NUMA-aware garbage collection |
US11099982B2 (en) | 2011-03-31 | 2021-08-24 | Oracle International Corporation | NUMA-aware garbage collection |
US9792218B2 (en) * | 2011-05-20 | 2017-10-17 | Arris Enterprises Llc | Data storage methods and apparatuses for reducing the number of writes to flash-based storage |
EP2715510B1 (de) * | 2011-05-24 | 2018-05-02 | Marvell World Trade Ltd. | Verfahren für speichervorrichtungen zur erzielung eines niedrigen schreibfaktors mit niedriger überversorgung |
US9639792B2 (en) * | 2011-07-18 | 2017-05-02 | Ricoh Company, Ltd. | Resolution of out of memory conditions for shared memory in a print controller |
WO2013038442A1 (en) * | 2011-09-13 | 2013-03-21 | Hitachi, Ltd. | Storage system comprising flash memory, and storage control method |
US8977799B2 (en) * | 2011-09-26 | 2015-03-10 | Lsi Corporation | Storage caching/tiering acceleration through staggered asymmetric caching |
CN102541466A (zh) * | 2011-10-27 | 2012-07-04 | 忆正存储技术(武汉)有限公司 | 一种混合存储控制系统和方法 |
KR20130064521A (ko) * | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 관리 방법 |
US20130219116A1 (en) * | 2012-02-16 | 2013-08-22 | Wenguang Wang | Data migration for composite non-volatile storage device |
US20130242425A1 (en) * | 2012-03-16 | 2013-09-19 | Toshiba America Electronics Components, Inc. | Write reordering in a hybrid disk drive |
US8984267B2 (en) * | 2012-09-30 | 2015-03-17 | Apple Inc. | Pinning boot data for faster boot |
CN103049349B (zh) * | 2012-11-29 | 2016-02-24 | 记忆科技(深圳)有限公司 | 基于分层存储的快照方法及系统 |
US10073851B2 (en) * | 2013-01-08 | 2018-09-11 | Apple Inc. | Fast new file creation cache |
US9606935B2 (en) * | 2013-03-15 | 2017-03-28 | Intel Corporation | Method and apparatus for preventing non-temporal entries from polluting small structures using a transient buffer |
US10198265B2 (en) | 2013-03-15 | 2019-02-05 | Intel Corporation | Microprocessor for gating a load operation based on entries of a prediction table |
WO2014151652A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines Inc | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
WO2014151691A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | Method and apparatus for guest return address stack emulation supporting speculation |
US10467010B2 (en) | 2013-03-15 | 2019-11-05 | Intel Corporation | Method and apparatus for nearest potential store tagging |
CN103150128A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于ssd和磁盘的可靠混合存储系统实现方法 |
WO2014155666A1 (ja) * | 2013-03-29 | 2014-10-02 | 株式会社 東芝 | 論理アドレスと物理アドレスとの間のマッピングを管理するストレージシステム、ストレージコントローラ及び方法 |
JP2014235677A (ja) * | 2013-06-05 | 2014-12-15 | 株式会社東芝 | データ記憶装置およびデータ記憶制御方法 |
US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
CN103455390A (zh) * | 2013-08-29 | 2013-12-18 | 上海铁路通信有限公司 | 适用于车辆使用环境的双介质冗余存储系统及其应用 |
WO2015072925A1 (en) * | 2013-11-14 | 2015-05-21 | Agency For Science, Technology And Research | Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system |
CN103942159A (zh) * | 2014-03-19 | 2014-07-23 | 华中科技大学 | 一种基于混合存储设备的数据读写方法与装置 |
JP6196383B2 (ja) * | 2014-07-31 | 2017-09-13 | 株式会社東芝 | 階層化ストレージシステム |
CN104216988A (zh) * | 2014-09-04 | 2014-12-17 | 天津大学 | 分布式大数据的ssd磁盘和hdd磁盘混合存储方法 |
CN104391807A (zh) * | 2014-10-23 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种提升存储服务器性能的方法及系统 |
CN104363175A (zh) * | 2014-11-21 | 2015-02-18 | 迈普通信技术股份有限公司 | 一种资源表构建方法和装置 |
EP3062210B1 (de) * | 2015-02-24 | 2019-11-06 | Alcatel-Lucent España, S.A. | Verfahren und server zur speicherung von multimedia-inhalten und deren bereitstellung in adaptiven streaming-systemen |
US9965181B2 (en) * | 2015-04-08 | 2018-05-08 | Kabushiki Kaisha Toshiba | Hybrid-HDD with multiple caching modes |
US9703485B2 (en) | 2015-07-15 | 2017-07-11 | Western Digital Technologies, Inc. | Storage management in hybrid drives |
CN106933494B (zh) * | 2015-12-31 | 2019-10-18 | 伊姆西公司 | 混合存储设备的操作方法和装置 |
TW201725476A (zh) * | 2016-01-12 | 2017-07-16 | 智微科技股份有限公司 | 依據電源狀態決定其混合存儲單元運作模式的電子系統以及用於電子系統之操作的方法 |
CN107340970A (zh) * | 2016-01-19 | 2017-11-10 | 联芸科技(杭州)有限公司 | 依据电源状态决定其混合存储单元运作模式的电子系统以及用于电子系统的操作的方法 |
US9583182B1 (en) * | 2016-03-22 | 2017-02-28 | Intel Corporation | Multi-level memory management |
US10942844B2 (en) | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
CN106681665B (zh) * | 2016-12-29 | 2020-04-24 | 北京奇虎科技有限公司 | 缓存数据的持久化存储方法及装置 |
US10474397B2 (en) | 2017-06-13 | 2019-11-12 | Western Digital Technologies, Inc | Unified indirection in a multi-device hybrid storage unit |
US10572407B2 (en) * | 2017-08-11 | 2020-02-25 | Western Digital Technologies, Inc. | Hybrid data storage array |
US11461287B2 (en) * | 2017-10-26 | 2022-10-04 | EMC IP Holding Company LLC | Managing a file system within multiple LUNS while different LUN level policies are applied to the LUNS |
US11204705B2 (en) | 2019-03-05 | 2021-12-21 | Western Digital Technologies, Inc. | Retention-aware data tiering algorithm for hybrid storage arrays |
US11789632B1 (en) * | 2020-07-12 | 2023-10-17 | Lightbits Labs Ltd. | System and method for data placement in multiple tier storage systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10154101A (ja) * | 1996-11-26 | 1998-06-09 | Toshiba Corp | データ記憶システム及び同システムに適用するキャッシュ制御方法 |
US7814128B2 (en) * | 2003-05-30 | 2010-10-12 | Symantec Operating Corporation | Multi-volume file support |
KR100699893B1 (ko) * | 2006-01-23 | 2007-03-28 | 삼성전자주식회사 | 하이브리드 디스크 드라이브 및 하이브리드 디스크드라이브의 데이터 제어방법 |
KR100675010B1 (ko) * | 2006-02-03 | 2007-01-29 | 삼성전자주식회사 | 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치 |
US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
US7899987B2 (en) * | 2007-05-15 | 2011-03-01 | Sandisk Il Ltd. | File storage in a computer system with diverse storage media |
US20090043831A1 (en) * | 2007-08-11 | 2009-02-12 | Mcm Portfolio Llc | Smart Solid State Drive And Method For Handling Critical Files |
KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
US7792882B2 (en) * | 2007-09-27 | 2010-09-07 | Oracle America, Inc. | Method and system for block allocation for hybrid drives |
KR20090034087A (ko) * | 2007-10-02 | 2009-04-07 | 삼성전자주식회사 | 비휘발성 저장매체를 이용한 미디어 컨텐츠 재생 방법 및그 장치 |
US9134917B2 (en) * | 2008-02-12 | 2015-09-15 | Netapp, Inc. | Hybrid media storage system architecture |
KR101449524B1 (ko) * | 2008-03-12 | 2014-10-14 | 삼성전자주식회사 | 스토리지 장치 및 컴퓨팅 시스템 |
-
2009
- 2009-12-22 US US12/644,721 patent/US8438334B2/en not_active Expired - Fee Related
-
2010
- 2010-12-08 GB GB1209219.3A patent/GB2489343B/en active Active
- 2010-12-08 CN CN201080058063.2A patent/CN102667704B/zh not_active Expired - Fee Related
- 2010-12-08 DE DE112010004969.6T patent/DE112010004969B4/de active Active
- 2010-12-08 WO PCT/EP2010/069140 patent/WO2011076565A1/en active Application Filing
-
2013
- 2013-04-01 US US13/854,484 patent/US8959286B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2489343A (en) | 2012-09-26 |
CN102667704B (zh) | 2016-01-06 |
GB2489343B (en) | 2016-08-31 |
DE112010004969B4 (de) | 2021-06-02 |
US20110153931A1 (en) | 2011-06-23 |
US8959286B2 (en) | 2015-02-17 |
US20130218892A1 (en) | 2013-08-22 |
CN102667704A (zh) | 2012-09-12 |
US8438334B2 (en) | 2013-05-07 |
WO2011076565A1 (en) | 2011-06-30 |
GB201209219D0 (en) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112010004969B4 (de) | Hybrides Speicherteilsystem und Verfahren zum Verwalten eines solchen | |
DE112012002615B4 (de) | Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren | |
DE112014000254B4 (de) | Mehrstufiges Zwischenspeichern und Migrieren in unterschiedlichen Granularitäten | |
DE112013001284B4 (de) | Adaptive Cachespeicher-Umstufungen in einem Caching-System mit zwei Stufen | |
DE102013200032B4 (de) | Herabstufen von partiellen Speicherspuren aus einem ersten Cachespeicher in einen zweiten Cachespeicher | |
DE112016004527T5 (de) | Implementieren eines Hardware-Beschleunigers für das Management eines Speicher-Schreibcachespeichers | |
DE102019132371A1 (de) | Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher | |
DE112013004250B4 (de) | Vorrichtung, Verfahren und Computerprogrammprodukt für adaptive Persistenz | |
JP4813843B2 (ja) | ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法 | |
DE102012216034B4 (de) | Direkte Speicheradressierung für Solid-State-Laufwerke | |
DE112011102487B4 (de) | Zuordnen von logischen zu physischen Adressen in Halbleiterspeichereinheiten aufweisenden Speichersystemen | |
DE102008057219B4 (de) | Verfahren zum Betreiben eines Solid-State-Speichersystems, Solid-State-Speichersystem und Computersystem | |
DE112012004540B4 (de) | Selektive Speicherplatzfreigabe eines Datenspeichers unter Verwendung von Vergleichs- und Verlagerungskennzahlen | |
DE112019000149T5 (de) | Multivorrichtungsspeichersystem mit gehosteten diensten auf peer-speichervorrichtungen | |
DE112011103290B4 (de) | Intelligente Schreibcacheoperationen für sequenzielle Datenspuren | |
DE112012004571B4 (de) | Unterstützen von unvollständigen Datensegmenten in Flash-Cache-Speichern | |
DE202010017613U1 (de) | Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung | |
DE112012001302T5 (de) | Cachen von Daten in einem Speichersystem mit mehreren Cache-Speichern | |
DE112013006565T5 (de) | Speichervorrichtung | |
DE112010003577T5 (de) | Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen | |
DE202010017665U1 (de) | Datenverteilung bei einer Datenspeichervorrichtung mit Flash-Speicherchips | |
DE112015003536T5 (de) | Host-Verwalter nicht flüchtiger Speicher | |
DE102005031525A1 (de) | Verfahren und System zur Steuerung eines Flashspeichers und Speichersystem | |
DE112005001050T5 (de) | Liefern eines alternativen Cachespeicherungsschemas auf der Speicherbereichnetzwerkebene | |
DE102012219098A1 (de) | Verwaltung von Teildatensegmenten in Systemen mit doppeltem Cachespeicher |
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 |