DE112009000431B4 - Prozessorbasiertes system, nichtflüchtiger cachespeicher und verfahren zum nutzen eines nichtflüchtigen cachespeichers - Google Patents
Prozessorbasiertes system, nichtflüchtiger cachespeicher und verfahren zum nutzen eines nichtflüchtigen cachespeichers Download PDFInfo
- Publication number
- DE112009000431B4 DE112009000431B4 DE112009000431.8T DE112009000431T DE112009000431B4 DE 112009000431 B4 DE112009000431 B4 DE 112009000431B4 DE 112009000431 T DE112009000431 T DE 112009000431T DE 112009000431 B4 DE112009000431 B4 DE 112009000431B4
- Authority
- DE
- Germany
- Prior art keywords
- volatile cache
- level non
- cache
- volatile
- level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 9
- 230000015654 memory Effects 0.000 claims abstract description 122
- 238000003780 insertion Methods 0.000 claims abstract description 39
- 230000037431 insertion Effects 0.000 claims abstract description 38
- 238000010586 diagram Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Prozessorbasiertes System, das Folgendes umfasst:einen Prozessor;einen Systemspeicher, der mit dem Prozessor gekoppelt ist;ein Massenspeichergerät;einen aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher, der zwischen dem Systemspeicher und dem Massenspeichergerät angeordnet ist; undCode, der in dem prozessorbasierten System gespeichert ist, um das prozessorbasierte System zu veranlassen, den aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher zu nutzen, wobei der aus mehreren Ebenen bestehende nicht-flüchtige Cachespeicher Folgendes enthält:einen nicht-flüchtigen Cachespeicher der ersten Ebene, wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen ersten Satz Funktionscharakteristiken aufweist; undeinen nicht-flüchtigen Cachespeicher der zweiten Ebene, wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen zweiten Satz Funktionscharakteristiken aufweist, wobei sich der zweite Satz Funktionscharakteristiken von dem ersten Satz Funktionscharakteristiken unterscheidet,wobei der Code dafür konfiguriert ist, das prozessorbasierte System zu veranlassen, den nicht-flüchtigen Cachespeicher der ersten Ebene gemäß dem ersten bzw. dem zweiten Satz Funktionscharakteristiken in einer anderen Weise zu nutzen als den nicht-flüchtigen Cachespeicher der zweiten Ebene,wobei der Code dafür konfiguriert ist, das prozessorbasierte System zu veranlassen, eine erste Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der ersten Ebene und eine zweite Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der zweiten Ebene zu implementieren, wobei sich die erste Cache-Insertionsvorschrift von der zweiten Cache-Insertionsvorschrift unterscheidet,und wobei der Code des Weiteren dafür konfiguriert ist, das prozessorbasierte System zu veranlassen, eine Anforderung für einen Massenspeicherzugriff zu empfangen, wobei die Anforderung verlangt, dass auf Informationen in dem Massenspeichergerät zugegriffen wird, und die Informationen gemäß der ersten bzw. der zweiten Cache-Insertionsvorschrift in dem nicht-flüchtigen Cachespeicher der ersten Ebene oder dem nicht-flüchtigen Cachespeicher der zweiten Ebene cachezuspeichern.
Description
- Die Erfindung betrifft die Cache-Nutzung. Genauer gesagt, betrifft die Erfindung ein prozessorbasiertes System, einen nicht-flüchtigen Cachespeicher und ein Verfahren zur Nutzung eines nicht-flüchtigen Cachespeichers in einem elektronischen System, wie zum Beispiel einem prozessorbasierten System, wobei der nicht-flüchtige Cachespeicher aus mehreren Ebenen besteht.
- ALLGEMEINER STAND DER TECHNIK
- Viele elektronische Systeme profitieren von der Verwendung von Cachespeicher. In einigen elektronischen Systemen kann eine Treibersoftware für die Nutzung von Cachespeichern eingesetzt werden.
- Ein unter ftp://download.intel.com/design/flash/ NAND/turbomemory/whitepaper.pdf veröffentlichtes Weißbuch beschreibt, dass das Intel Turbo Memory aus einem Intel Turbo Memory Controller ASIC (Application Specific Integrated Circuit)-Chip und zwei nicht-flüchtigen Intel NAND-Flashspeicherkomponenten besteht, die eine schnellere Rückkehr zur Produktivität nach einem Ruhezustand ermöglichen, wodurch zusätzlich Strom gespart wird, indem die Festplattenzugriffe begrenzt werden und die Reaktionsgeschwindigkeit der Anwendung erhöht wird, was vom Nutzer als positiver technischer Fortschritt wahrgenommen wird.
- Die
EP 0 702 305 A1 offenbart eine Plattenspeichervorrichtung, welche ein Plattenspeicherlaufwerk, einen nicht-flüchtigen Speicher und eine Steuerung umfasst. Der nicht-flüchtige Speicher speichert diejenigen Daten, die in dem Plattenspeicherlaufwerk enthalten sind, und stellt deren Inhalte bereit, wenn die Plattenspeichervorrichtung ausgeschaltet ist. Anstelle der Daten im Plattenspeicherlaufwerk überträgt die Steuerung die Daten im nicht-flüchtigen Speicher an einen Host-Computer, wenn das Plattenspeicherlaufwerk kurz nach dem Einschalten der Plattenspeichervorrichtung nicht zur Datenwiedergabe bereit ist. Basierend auf Statistiken wählt die Steuerung Daten aus, auf die häufig kurz nach dem Einschalten zugegriffen wird, und speichert diese Daten im nicht-flüchtigen Speicher. - Die
US 2008 / 0 140 921 A1 offenbart ein Festplattenlaufwerksystem mit einer Festplattenanordnung, die ein magnetisches Medium umfasst, das Daten speichert. Ein Spindelmotor dreht das magnetische Medium. Ein Lese- und Schreibelement schreibt die Daten auf das magnetische Medium und liest die Daten von diesem. Ein auf der Festplattenanordnung angeordneter erster Steckverbinder nimmt ein entfernbares nicht-flüchtiges Halbleiterspeichermodul auf. Teile der Daten des magnetischen Mediums werden selektiv in dem nicht-flüchtigen Halbleiterspeichermodul zwischengespeichert. - Aus dem PC-Hardwarebuch von Hans-Peter Messmer, 5. Auflage 1997, Addison-Wesley, Seite 214, ist ein Cache bekannt, der auf dem Prozessorchip selbst integriert ist (On-Chip-Cache). Des Weiteren ist ein externer Cache angeschlossen (Second Level Cache). Die beiden Cache-Speicher werden bei CPU-Zugriffen verwendet: findet der CPU die Daten nicht im internen Speicher, so sucht er als zweite Stufe im externen Cache-Speicher.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Demgegenüber hat die vorliegende Erfindung zur Aufgabe, Zugriffe auf einen Massenspeicher effizienter durchführen zu können.
- Diese Aufgabe wird durch ein prozessorbasiertes System mit den Merkmalen des Anspruchs 1, einen nicht-flüchtigen Cachespeicher mit den Merkmalen des Anspruchs 6 und ein Verfahren zum Nutzen eines nicht-flüchtigen Cachespeichers mit den Merkmalen des Anspruchs 11 gelöst.
- Figurenliste
- Es werden verschiedene Merkmale der Erfindung aus der folgenden Beschreibung bevorzugter Ausführungsformen ersichtlich, die in den begleitenden Zeichnungen veranschaulicht sind, in denen durchweg gleiche Bezugszahlen allgemein dieselben Teile bezeichnen. Die Zeichnungen sind nicht unbedingt maßstabsgetreu. Stattdessen liegt der Schwerpunkt auf der Veranschaulichung der Prinzipien der Erfindung.
-
1 ist ein Blockschaubild eines elektronischen Systems gemäß einigen Ausführungsformen der Erfindung. -
2 ist ein Blockschaubild eines prozessorbasierten Systems gemäß einigen Ausführungsformen der Erfindung. -
3 ist ein Blockschaubild eines weiteren prozessorbasierten Systems gemäß einigen Ausführungsformen der Erfindung. -
4 ist ein Flussdiagramm gemäß einigen Ausführungsformen der Erfindung. -
5 ist ein weiteres Flussdiagramm gemäß einigen Ausführungsformen der Erfindung. -
6 ist ein weiteres Flussdiagramm gemäß einigen Ausführungsformen der Erfindung. - BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSBEISPIELEN
- In der folgenden Beschreibung werden, zum Zweck der Erläuterung und nicht der Einschränkung, konkrete Details dargelegt, wie zum Beispiel konkrete Strukturen, Architekturen, Schnittstellen, Techniken usw., um ein gründliches Verständnis der verschiedenen Aspekte der Erfindung zu ermöglichen. Jedoch ist dem Fachmann, der in den Genuss der vorliegenden Offenbarung kommt, klar, dass die verschiedenen Aspekte der Erfindung auch in anderen Beispielen praktiziert werden können, die von diesen konkreten Details abweichen. In bestimmten Fällen wird auf die Beschreibung bestens bekannter Bauelemente, Schaltkreise und Verfahren verzichtet, um die Beschreibung der vorliegenden Erfindung nicht durch unnötige Details in den Hintergrund treten zu lassen.
- Wie in
1 gezeigt, kann ein nicht-flüchtiger Cachespeicher 10 einen aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher 11, der zwischen einem Systemspeicher 12 und einem Massenspeichergerät 13 eines elektronischen Systems angeordnet ist, und einen Controller 14 enthalten, der mit dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher 11 gekoppelt ist, wobei der Controller 14 dafür konfiguriert sein kann, die Nutzung des aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeichers 11 zu steuern. Zum Beispiel kann der aus mehreren Ebenen bestehende nicht-flüchtige Cachespeicher 11 einen nicht-flüchtigen Cachespeicher der ersten Ebene 15 enthalten, wobei der nicht-flüchtige Cachespeicher der ersten Ebene 15 einen ersten Satz Funktionscharakteristiken aufweist, und einen nicht-flüchtigen Cachespeicher der zweiten Ebene 16 enthalten, wobei der nicht-flüchtige Cachespeicher der zweiten Ebene 16 einen zweiten Satz Funktionscharakteristiken aufweist, wobei sich der zweite Satz Funktionscharakteristiken von dem ersten Satz Funktionscharakteristiken unterscheidet. Zum Beispiel kann der Controller dafür konfiguriert sein, den nicht-flüchtigen Cachespeicher der ersten Ebene 15 gemäß dem ersten bzw. dem zweiten Satz Funktionscharakteristiken in einer anderen Weise zu nutzen als den nicht-flüchtigen Cachespeicher der zweiten Ebene 16. - In einigen Ausführungsformen des Cachespeichers 10 kann zum Beispiel der nicht-flüchtige Cachespeicher der ersten Ebene 15 einen Cachespeicher enthalten, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der zweiten Ebene 16 relativ schneller ist. In einigen Ausführungsformen des Cachespeichers 10 kann zum Beispiel der nicht-flüchtige Cachespeicher der zweiten Ebene 16 einen Cachespeicher enthalten, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der ersten Ebene 15 eine relativ höhere Speicherdichte besitzt. Zum Beispiel kann der nicht-flüchtige Cachespeicher der ersten Ebene 15 einen Single Level Cell (SLC)-NAND-Flashspeicher enthalten, und der nicht-flüchtige Cachespeicher der zweiten Ebene 16 kann einen Multi Level Cell (MLC)-NAND-Flashspeicher enthalten.
- Zum Beispiel kann in einigen Ausführungsformen des Cachespeichers 10 der Controller 14 dafür konfiguriert sein, eine erste Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der ersten Ebene 15 und eine zweite Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der zweiten Ebene 16 zu implementieren, wobei sich die erste Cache-Insertionsvorschrift von der zweiten Cache-Insertionsvorschrift unterscheidet. Zum Beispiel kann der Controller 14 des Weiteren dafür konfiguriert sein, eine Anforderung für einen Massenspeicherzugriff zu erhalten, wobei die Anforderung verlangt, dass auf Informationen in dem Massenspeichergerät 13 zugegriffen wird, und die Informationen gemäß der ersten bzw. der zweiten Cache-Insertionsvorschrift in dem nicht-flüchtigen Cachespeicher der ersten Ebene 15 oder in dem nicht-flüchtigen Cachespeicher der zweiten Ebene 16 cachezuspeichern. Der Massenspeicherzugriff kann entweder einem Lesezugriff oder einem Schreibzugriff entsprechen. Zum Beispiel kann der Controller 14 ein integrierter Teil eines nicht-flüchtigen Cachespeicherbausteins sein oder kann an einer anderen Stelle in dem elektronischen System angeordnet und über einen Bus oder eine andere elektronische Verbindung mit dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher 11 gekoppelt sein.
- Wie in
2 gezeigt, kann ein prozessorbasiertes System 20 Folgendes enthalten: einen Prozessor 21, einen Systemspeicher 22, der mit dem Prozessor 21 gekoppelt ist, ein Massenspeichergerät 23, und einen aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher (Non-volatile Memory - NVM) 24, der zwischen dem Systemspeicher 22 und dem Massenspeichergerät 23 angeordnet ist. Zum Beispiel kann der Prozessor 21 eine zentrale Verarbeitungseinheit (Central Processing Unit - CPU) sein. Zum Beispiel kann der Systemspeicher 22 ein dynamischer Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM) sein. Zum Beispiel kann der Systemspeicher 22 über einen Speicher-Controller-Hub (Memory Controller Hub - MCH) 25 mit dem Prozessor 21 gekoppelt sein. Zum Beispiel kann das Massenspeichergerät 23 ein rotierendes Speichermedium sein, wie zum Beispiel eine Festplatte oder ein Optical-Disk-Laufwerk. Zum Beispiel kann das Massenspeichergerät 23 ein nicht-rotierendes Speichermedium sein, wie zum Beispiel ein Festkörperlaufwerk. Zum Beispiel können sowohl der Cache 24 als auch das Massenspeichergerät 23 über einen Eingabe/Ausgabe-Controller-Hub (Input/output Controller Hub - ICH) 26 mit dem MCH gekoppelt sein. - Das prozessorbasierte System 20 kann des Weiteren Code enthalten, der in dem prozessorbasierten System 20 gespeichert ist, um das prozessorbasierte System zu veranlassen, den aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher 24 zu nutzen. Zum Beispiel kann der Code in dem Massenspeichergerät 23, dem Systemspeicher 22 oder einem anderen Speicher oder Speichergerät, der bzw. das mit dem prozessorbasierten System 20 gekoppelt ist, gespeichert sein. Zum Beispiel kann der Code als Teil eines Grundlegenden Eingabe/Ausgabe-Systems (Basic Input/Output System - BIOS) 27 gespeichert sein, das mit dem ICH 26 gekoppelt ist.
- In einigen Ausführungsformen des prozessorbasierten Systems 20 kann der aus mehreren Ebenen bestehende nicht-flüchtige Cachespeicher 24 einen nicht-flüchtigen Cachespeicher der ersten Ebene 28 enthalten, wobei der nicht-flüchtige Cachespeicher der ersten Ebene 28 einen ersten Satz Funktionscharakteristiken aufweist, und einen nicht-flüchtigen Cachespeicher der zweiten Ebene 29 enthalten, wobei der nicht-flüchtige Cachespeicher der zweiten Ebene 29 einen zweiten Satz Funktionscharakteristiken aufweist, wobei sich der zweite Satz Funktionscharakteristiken von dem ersten Satz Funktionscharakteristiken unterscheidet. Zum Beispiel kann der Code dafür konfiguriert sein, das prozessorbasierte System zu veranlassen, den nicht-flüchtigen Cachespeicher der ersten Ebene 28 gemäß dem ersten bzw. dem zweiten Satz Funktionscharakteristiken in einer anderen Weise zu nutzen als den nicht-flüchtigen Cachespeicher der zweiten Ebene 29.
- Zum Beispiel kann in einigen Ausführungsformen des prozessorbasierten Systems 20 der nicht-flüchtige Cachespeicher der ersten Ebene 28 einen Cachespeicher enthalten, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der zweiten Ebene 29 relativ schneller ist. Zum Beispiel kann der nicht-flüchtige Cachespeicher der zweiten Ebene 29 einen Cachespeicher enthalten, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der ersten Ebene 28 eine relativ höhere Speicherdichte besitzt. Zum Beispiel kann der nicht-flüchtige Cachespeicher der ersten Ebene 28 einen SLC-NAND-Flashspeicher enthalten, und der nicht-flüchtige Cachespeicher der zweiten Ebene 29 kann einen MLC-NAND-Flashspeicher enthalten.
- Zum Beispiel kann in einigen Ausführungsformen des prozessorbasierten Systems 20 der Code dafür konfiguriert sein, das prozessorbasierte System zu veranlassen, eine erste Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der ersten Ebene 28 und eine zweite Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der zweiten Ebene 29 zu implementieren, wobei sich die erste Cache-Insertionsvorschrift von der zweiten Cache-Insertionsvorschrift unterscheidet. Zum Beispiel kann der Code des Weiteren dafür konfiguriert ist, das prozessorbasierte System zu veranlassen, eine Anforderung für einen Massenspeicherzugriff zu empfangen, wobei die Anforderung verlangt, dass auf Informationen in dem Massenspeichergerät zugegriffen wird, und die Informationen gemäß der ersten bzw. der zweiten Cache-Insertionsvorschrift in dem nicht-flüchtigen Cachespeicher der ersten Ebene oder dem nicht-flüchtigen Cachespeicher der zweiten Ebene cachezuspeichern. Der Massenspeicherzugriff kann entweder einem Lesezugriff oder einem Schreibzugriff entsprechen.
- Zum Beispiel kann in einigen Ausführungsformen des prozessorbasierten Systems 20 der Code vollständig oder zum Teil durch einen Controller 31 implementiert oder ausgeführt werden, der in dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher 24 integriert sein kann. Alternativ können, wie in
3 gezeigt, einige Ausführungsformen eines prozessorbasierten Systems 32 einen Controller 33 enthalten, der an einer anderen Stelle in dem prozessorbasierten System 32 angeordnet ist und der über einen Bus oder eine andere elektronische Verbindung mit dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher 24 gekoppelt ist. Zum Beispiel kann der Controller 33 in den ICH 26 integriert sein. - Wie in
4 gezeigt, kann das Nutzen eines nicht-flüchtigen Cachespeichers gemäß einigen Ausführungsformen der Erfindung Folgendes enthalten: Anordnen eines aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeichers zwischen einem Systemspeicher und einem Massenspeichergerät eines elektronischen Systems (zum Beispiel Block 41), Bereitstellung eines nicht-flüchtigen Cachespeichers der ersten Ebene in dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher, wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen ersten Satz Funktionscharakteristiken aufweist (zum Beispiel Block 42), Bereitstellung eines nicht-flüchtigen Cachespeichers der zweiten Ebene in dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher, wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen zweiten Satz Funktionscharakteristiken aufweist, wobei sich der zweite Satz Funktionscharakteristiken von dem ersten Satz Funktionscharakteristiken unterscheidet (zum Beispiel Block 43), und Nutzen des nicht-flüchtigen Cachespeichers der ersten Ebene in einer anderen Weise als den nicht-flüchtigen Cachespeicher der zweiten Ebene gemäß dem ersten bzw. dem zweiten Satz Funktionscharakteristiken (zum Beispiel Block 44) . - Wie in
5 gezeigt, kann der nicht-flüchtige Cachespeicher der ersten Ebene in einigen Ausführungsformen der Erfindung zum Beispiel einen Cachespeicher enthalten, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der zweiten Ebene relativ schneller ist (zum Beispiel Block 51). Zum Beispiel kann der nicht-flüchtige Cachespeicher der zweiten Ebene einen Cachespeicher enthalten, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der ersten Ebene eine relativ höhere Speicherdichte besitzt (zum Beispiel Block 52). Zum Beispiel kann der nicht-flüchtige Cachespeicher der ersten Ebene einen SLC-NAND-Flashspeicher enthalten, und der nicht-flüchtige Cachespeicher der zweiten Ebene kann einen MLC-NAND-Flashspeicher enthalten (zum Beispiel Block 53). - Wie in
6 gezeigt, können einige Ausführungsformen der Erfindung des Weiteren Folgendes enthalten: Implementieren einer ersten Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der ersten Ebene (zum Beispiel Block 61), und Implementieren einer zweiten Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der zweiten Ebene, wobei sich die erste Cache-Insertionsvorschrift von der zweiten Cache-Insertionsvorschrift unterscheidet (zum Beispiel Block 62). Einige Ausführungsformen der Erfindung können des Weiteren Folgendes enthalten: Empfangen einer Anforderung für einen Massenspeicherzugriff, wobei die Anforderung verlangt, auf Informationen in dem Massenspeichergerät zuzugreifen (zum Beispiel Block 63), und Cachespeichern der Informationen in dem nicht-flüchtigen Cachespeicher der ersten Ebene oder dem nicht-flüchtigen Cachespeicher der zweiten Ebene gemäß der ersten bzw. der zweiten Cache-Insertionsvorschrift (zum Beispiel Block 64). Der Massenspeicherzugriff kann entweder einem Lesezugriff oder einem Schreibzugriff entsprechen. - Vorteilhafterweise können einige Ausführungsformen der Erfindung eine aus mehreren Ebenen bestehende, nicht-flüchtige E/A-Cachespeicherungshierarchie in einem System bereitstellen, das Verwaltungsalgorithmen verwenden kann, die auf den speziellen Typ der verwendeten nicht-flüchtigen Speichertechnologie abgestimmt sind. In einigen Ausführungsformen der Erfindung kann ein System in der Lage sein, einen größeren Cache mit mehreren Arten von nicht-flüchtigem Speicher zu nutzen. Zum Beispiel könnte der Cache der ersten Ebene mit relativ schnellem SLC-NAND-Flash- oder einer anderen schnellen, nicht-flüchtigen Speichertechnologie implementiert werden, und der Cache der zweiten Ebene kann mit relativ langsamerem, aber dichterem MLC-NAND-Flash implementiert werden. Vorteilhafterweise kann eine Cache-Hierarchie mit zwei oder mehr Ebenen eine leistungsstärkere, stromsparendere und/oder kosteneffektivere E/A-Cachespeicherungslösung ermöglichen.
- Zum Beispiel können einige Ausführungsformen der Erfindung eine aus mehreren Ebenen bestehende E/A-Cachespeicherung auf der Basis nicht-flüchtiger Bauelemente bereitstellen, die mit progressiv zunehmenden Geschwindigkeiten arbeiten sowie Cacheverwaltungsalgorithmen verwenden, die speziell auf die unterschiedlichen Charakteristiken der zugrunde liegenden nicht-flüchtigen Speicherbausteine abgestimmt sind. Zum Beispiel können in einem aus zwei Ebenen bestehenden Cachsesystem Cachespeicherungsalgorithmen unterschiedlich für den Cache der ersten Ebene und den Cache der zweiten Ebene abgestimmt werden. Wenn zum Beispiel der Cache der zweiten Ebene mit einem MLC-NAND-Flashspeicher implementiert werden würde, so haben diese Bausteine einen Satz Funktionscharakteristiken, die sich von den Funktionscharakteristiken eines SLC-NAND-Flashspeichers unterscheiden. Zum Vergleich können beispielsweise MLC-Lesegeschwindigkeiten etwa 75 % der SLC-Lesegeschwindigkeiten betragen, MLC-Schreibgeschwindigkeiten können etwa 25 % der SLC-Schreibgeschwindigkeiten betragen, und die MLC-Schreibabnutzungseigenschaften können etwa zehnmal schlechter sein als die SLC-Schreibabnutzungseigenschaften. Allerdings kann ein MLC-NAND-Flashspeicher bei gleicher Chipfläche etwa die doppelte Speicherkapazität im Vergleich zu einem SLC-NAND-Flashspeicher aufweisen, und darum können MLC ungefähr 30 % - 50 % billiger pro Bit sein als SLC.
- Zum Beispiel kann eine Cache-Insertionsvorschrift für den Cache der ersten Ebene kleineren, seltener verwendeten Informationen den Vorzug geben. Jedoch kann eine relativ stärker unterscheidende Cache-Insertionsvorschrift für den Cache der zweiten Ebene bevorzugt sein, um die Anzahl der Schreibvorgänge in das MLC-Cachearray zu minimieren. Zum Beispiel kann eine Cache-Insertionsvorschrift für den Cache der zweiten Ebene eine relativ höhere Häufigkeitsschwelle und/oder eine relativ höhere Mindestgrößenschwelle im Vergleich zur Insertionsvorschrift des Cache der ersten Ebene enthalten, so dass größere, häufiger verwendete Informationen den Vorzug erhalten.
Claims (14)
- Prozessorbasiertes System, das Folgendes umfasst: einen Prozessor; einen Systemspeicher, der mit dem Prozessor gekoppelt ist; ein Massenspeichergerät; einen aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher, der zwischen dem Systemspeicher und dem Massenspeichergerät angeordnet ist; und Code, der in dem prozessorbasierten System gespeichert ist, um das prozessorbasierte System zu veranlassen, den aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher zu nutzen, wobei der aus mehreren Ebenen bestehende nicht-flüchtige Cachespeicher Folgendes enthält: einen nicht-flüchtigen Cachespeicher der ersten Ebene, wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen ersten Satz Funktionscharakteristiken aufweist; und einen nicht-flüchtigen Cachespeicher der zweiten Ebene, wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen zweiten Satz Funktionscharakteristiken aufweist, wobei sich der zweite Satz Funktionscharakteristiken von dem ersten Satz Funktionscharakteristiken unterscheidet, wobei der Code dafür konfiguriert ist, das prozessorbasierte System zu veranlassen, den nicht-flüchtigen Cachespeicher der ersten Ebene gemäß dem ersten bzw. dem zweiten Satz Funktionscharakteristiken in einer anderen Weise zu nutzen als den nicht-flüchtigen Cachespeicher der zweiten Ebene, wobei der Code dafür konfiguriert ist, das prozessorbasierte System zu veranlassen, eine erste Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der ersten Ebene und eine zweite Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der zweiten Ebene zu implementieren, wobei sich die erste Cache-Insertionsvorschrift von der zweiten Cache-Insertionsvorschrift unterscheidet, und wobei der Code des Weiteren dafür konfiguriert ist, das prozessorbasierte System zu veranlassen, eine Anforderung für einen Massenspeicherzugriff zu empfangen, wobei die Anforderung verlangt, dass auf Informationen in dem Massenspeichergerät zugegriffen wird, und die Informationen gemäß der ersten bzw. der zweiten Cache-Insertionsvorschrift in dem nicht-flüchtigen Cachespeicher der ersten Ebene oder dem nicht-flüchtigen Cachespeicher der zweiten Ebene cachezuspeichern.
- System nach
Anspruch 1 , wobei die unterschiedlichen ersten und zweiten Sätze Funktionscharakteristiken unterschiedlichen physikalischen Charakteristiken des nicht-flüchtigen Cachespeichers der ersten Ebene und des nicht-flüchtigen Cachespeichers der zweiten Ebene entsprechen. - System nach
Anspruch 2 , wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen Cachespeicher umfasst, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der zweiten Ebene relativ schneller ist. - System nach
Anspruch 3 , wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen Cachespeicher umfasst, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der ersten Ebene eine relativ höhere Speicherdichte besitzt. - System nach
Anspruch 4 , wobei der nicht-flüchtige Cachespeicher der ersten Ebene Single Level Cell-NAND-Flashspeicher umfasst und der nicht-flüchtige Cachespeicher der zweiten Ebene Multi Level Cell-NAND-Flashspeicher umfasst. - Nicht-flüchtiger Cachespeicher, der Folgendes umfasst: einen aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher, der dafür konfiguriert ist, zwischen einem Systemspeicher und einem Massenspeichergerät eines elektronischen Systems angeordnet zu werden; und einen Controller, der mit dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher gekoppelt ist, wobei der Controller dafür konfiguriert ist, die Nutzung des aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeichers zu steuern, wobei der aus mehreren Ebenen bestehende nicht-flüchtige Cachespeicher Folgendes enthält: einen nicht-flüchtigen Cachespeicher der ersten Ebene, wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen ersten Satz Funktionscharakteristiken aufweist; und einen nicht-flüchtigen Cachespeicher der zweiten Ebene, wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen zweiten Satz Funktionscharakteristiken aufweist, wobei sich der zweite Satz Funktionscharakteristiken von dem ersten Satz Funktionscharakteristiken unterscheidet, wobei der Controller dafür konfiguriert ist, den nicht-flüchtigen Cachespeicher der ersten Ebene gemäß dem ersten bzw. dem zweiten Satz Funktionscharakteristiken in einer anderen Weise zu nutzen als den nicht-flüchtigen Cachespeicher der zweiten Ebene, wobei der Controller dafür konfiguriert ist, eine erste Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der ersten Ebene und eine zweite Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der zweiten Ebene zu implementieren, wobei sich die erste Cache-Insertionsvorschrift von der zweiten Cache-Insertionsvorschrift unterscheidet, und wobei der Controller des Weiteren dafür konfiguriert ist, eine Anforderung für einen Massenspeicherzugriff zu empfangen, wobei die Anforderung verlangt, dass auf Informationen in dem Massenspeichergerät zugegriffen wird, und die Informationen gemäß der ersten bzw. der zweiten Cache-Insertionsvorschrift in dem nicht-flüchtigen Cachespeicher der ersten Ebene oder dem nicht-flüchtigen Cachespeicher der zweiten Ebene cachezuspeichern.
- Cachespeicher nach
Anspruch 6 , wobei die unterschiedlichen ersten und zweiten Sätze Funktionscharakteristiken unterschiedlichen physikalischen Charakteristiken des nicht-flüchtigen Cachespeichers der ersten Ebene und des nicht-flüchtigen Cachespeichers der zweiten Ebene entsprechen. - Cachespeicher nach
Anspruch 7 , wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen Cachespeicher umfasst, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der zweiten Ebene relativ schneller ist. - Cachespeicher nach
Anspruch 8 , wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen Cachespeicher umfasst, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der ersten Ebene eine relativ höhere Speicherdichte besitzt. - Cachespeicher nach
Anspruch 9 , wobei der nicht-flüchtige Cachespeicher der ersten Ebene Single Level Cell-NAND-Flashspeicher umfasst und der nicht-flüchtige Cachespeicher der zweiten Ebene Multi Level Cell-NAND-Flashspeicher umfasst. - Verfahren zum Nutzen eines nicht-flüchtigen Cachespeichers, das Folgendes umfasst: Anordnen eines aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeichers zwischen einem Systemspeicher und einem Massenspeichergerät eines elektronischen Systems; Bereitstellung eines nicht-flüchtigen Cachespeichers der ersten Ebene in dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher, wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen ersten Satz Funktionscharakteristiken aufweist; Bereitstellung eines nicht-flüchtigen Cachespeichers der zweiten Ebene in dem aus mehreren Ebenen bestehenden nicht-flüchtigen Cachespeicher, wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen zweiten Satz Funktionscharakteristiken aufweist, wobei sich der zweite Satz Funktionscharakteristiken von dem ersten Satz Funktionscharakteristiken unterscheidet; Nutzen des nicht-flüchtigen Cachespeichers der ersten Ebene in einer anderen Weise als den nicht-flüchtigen Cachespeicher der zweiten Ebene gemäß dem ersten bzw. dem zweiten Satz Funktionscharakteristiken; Implementieren einer ersten Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der ersten Ebene; Implementieren einer zweiten Cache-Insertionsvorschrift für den nicht-flüchtigen Cachespeicher der zweiten Ebene, wobei sich die erste Cache-Insertionsvorschrift von der zweiten Cache-Insertionsvorschrift unterscheidet; Empfangen einer Anforderung für einen Massenspeicherzugriff, wobei die Anforderung verlangt, auf Informationen in dem Massenspeichergerät zuzugreifen; und Cachespeichern der Informationen in dem nicht-flüchtigen Cachespeicher der ersten Ebene oder dem nicht-flüchtigen Cachespeicher der zweiten Ebene gemäß der ersten bzw. der zweiten Cache-Insertionsvorschrift.
- Verfahren nach
Anspruch 11 , wobei der nicht-flüchtige Cachespeicher der ersten Ebene einen Cachespeicher umfasst, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der zweiten Ebene relativ schneller ist. - Verfahren nach
Anspruch 12 , wobei der nicht-flüchtige Cachespeicher der zweiten Ebene einen Cachespeicher umfasst, der im Vergleich zu dem nicht-flüchtigen Cachespeicher der ersten Ebene eine relativ höhere Speicherdichte besitzt. - Verfahren nach
Anspruch 13 , wobei der nicht-flüchtige Cachespeicher der ersten Ebene Single Level Cell-NAND-Flashspeicher umfasst und der nicht-flüchtige Cachespeicher der zweiten Ebene Multi Level Cell-NAND-Flashspeicher umfasst.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/215,762 | 2008-06-30 | ||
US12/215,762 US8166229B2 (en) | 2008-06-30 | 2008-06-30 | Apparatus and method for multi-level cache utilization |
PCT/US2009/048386 WO2010002647A2 (en) | 2008-06-30 | 2009-06-24 | Apparatus and method for multi-level cache utilization |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112009000431T5 DE112009000431T5 (de) | 2011-01-05 |
DE112009000431B4 true DE112009000431B4 (de) | 2023-03-23 |
Family
ID=41448928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112009000431.8T Active DE112009000431B4 (de) | 2008-06-30 | 2009-06-24 | Prozessorbasiertes system, nichtflüchtiger cachespeicher und verfahren zum nutzen eines nichtflüchtigen cachespeichers |
Country Status (5)
Country | Link |
---|---|
US (2) | US8166229B2 (de) |
CN (1) | CN101981555B (de) |
DE (1) | DE112009000431B4 (de) |
GB (2) | GB2473348B (de) |
WO (1) | WO2010002647A2 (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US8166229B2 (en) * | 2008-06-30 | 2012-04-24 | Intel Corporation | Apparatus and method for multi-level cache utilization |
US9152569B2 (en) * | 2008-11-04 | 2015-10-06 | International Business Machines Corporation | Non-uniform cache architecture (NUCA) |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
JP5434738B2 (ja) * | 2010-03-26 | 2014-03-05 | 日本電気株式会社 | ディスク装置 |
US8688897B2 (en) | 2010-05-28 | 2014-04-01 | International Business Machines Corporation | Cache memory management in a flash cache architecture |
US8489694B2 (en) * | 2011-02-24 | 2013-07-16 | International Business Machines Corporation | Peer-to-peer collaboration of publishers in a publish-subscription environment |
US9009407B2 (en) * | 2011-03-29 | 2015-04-14 | Dell Products L.P. | System and method for performing system memory save in tiered/cached storage |
EP2761466B1 (de) | 2011-09-30 | 2020-08-05 | Intel Corporation | Vorrichtung und verfahren zur implementierung einer mehrstufigen speicherhierarchie |
WO2013048503A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US9164804B2 (en) | 2012-06-20 | 2015-10-20 | Memory Technologies Llc | Virtual memory module |
US20130346672A1 (en) * | 2012-06-22 | 2013-12-26 | Microsoft Corporation | Multi-Tiered Cache with Storage Medium Awareness |
US9116820B2 (en) | 2012-08-28 | 2015-08-25 | Memory Technologies Llc | Dynamic central cache memory |
US20140223072A1 (en) * | 2013-02-07 | 2014-08-07 | Lsi Corporation | Tiered Caching Using Single Level Cell and Multi-Level Cell Flash Technology |
JP5953245B2 (ja) * | 2013-02-12 | 2016-07-20 | 株式会社日立製作所 | 情報処理システム |
CN104216837A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存系统、内存访问请求的处理方法和计算机系统 |
CN103500076A (zh) * | 2013-10-13 | 2014-01-08 | 张维加 | 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备 |
US10127157B2 (en) * | 2014-10-06 | 2018-11-13 | SK Hynix Inc. | Sizing a cache while taking into account a total bytes written requirement |
US10474569B2 (en) * | 2014-12-29 | 2019-11-12 | Toshiba Memory Corporation | Information processing device including nonvolatile cache memory and processor |
US9600417B2 (en) | 2015-04-29 | 2017-03-21 | Google Inc. | Data caching |
US10437731B2 (en) * | 2015-12-24 | 2019-10-08 | Intel Corporation | Multi-level non-volatile cache with selective store |
CN107451152B (zh) * | 2016-05-31 | 2021-06-11 | 阿里巴巴集团控股有限公司 | 计算设备、数据缓存和查找的方法及装置 |
KR102583787B1 (ko) * | 2018-11-13 | 2023-10-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
TWI698749B (zh) * | 2019-03-13 | 2020-07-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
CN109947367B (zh) * | 2019-03-15 | 2024-01-09 | 维沃移动通信有限公司 | 一种文件的处理方法及终端 |
CN112188324B (zh) * | 2019-07-05 | 2022-10-14 | 中兴通讯股份有限公司 | 激活方法、装置、控制装置、网络设备、光网络系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0702305A1 (de) | 1994-09-13 | 1996-03-20 | Nec Corporation | Plattenspeichergerät |
US20080140921A1 (en) | 2004-06-10 | 2008-06-12 | Sehat Sutardja | Externally removable non-volatile semiconductor memory module for hard disk drives |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2256735B (en) * | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
AU5029896A (en) * | 1995-03-31 | 1996-10-16 | Intel Corporation | Memory testing in a multiple processor computer system |
US5682512A (en) * | 1995-06-30 | 1997-10-28 | Intel Corporation | Use of deferred bus access for address translation in a shared memory clustered computer system |
US6003112A (en) * | 1997-06-30 | 1999-12-14 | Intel Corporation | Memory controller and method for clearing or copying memory utilizing register files to store address information |
US6349363B2 (en) * | 1998-12-08 | 2002-02-19 | Intel Corporation | Multi-section cache with different attributes for each section |
WO2000041182A1 (en) * | 1998-12-30 | 2000-07-13 | Intel Corporation | Memory array organization |
US6272597B1 (en) * | 1998-12-31 | 2001-08-07 | Intel Corporation | Dual-ported, pipelined, two level cache system |
US6622212B1 (en) * | 1999-05-24 | 2003-09-16 | Intel Corp. | Adaptive prefetch of I/O data blocks |
US7827348B2 (en) * | 2000-01-06 | 2010-11-02 | Super Talent Electronics, Inc. | High performance flash memory devices (FMD) |
US6725342B1 (en) * | 2000-09-26 | 2004-04-20 | Intel Corporation | Non-volatile mass storage cache coherency apparatus |
US7275135B2 (en) * | 2001-08-31 | 2007-09-25 | Intel Corporation | Hardware updated metadata for non-volatile mass storage cache |
US20040225840A1 (en) * | 2003-05-09 | 2004-11-11 | O'connor Dennis M. | Apparatus and method to provide multithreaded computer processing |
US7231470B2 (en) * | 2003-12-16 | 2007-06-12 | Intel Corporation | Dynamically setting routing information to transfer input output data directly into processor caches in a multi processor system |
US20050144389A1 (en) * | 2003-12-29 | 2005-06-30 | Trika Sanjeev N. | Method, system, and apparatus for explicit control over a disk cache memory |
US7127571B2 (en) * | 2003-12-30 | 2006-10-24 | Intel Corporation | Method and system to adjust non-volatile cache associativity |
US7260686B2 (en) * | 2004-08-17 | 2007-08-21 | Nvidia Corporation | System, apparatus and method for performing look-ahead lookup on predictive information in a cache memory |
US7539812B2 (en) * | 2005-06-30 | 2009-05-26 | Intel Corporation | System and method to increase DRAM parallelism |
US7631149B2 (en) * | 2006-07-24 | 2009-12-08 | Kabushiki Kaisha Toshiba | Systems and methods for providing fixed-latency data access in a memory system having multi-level caches |
US8127294B2 (en) | 2007-05-22 | 2012-02-28 | Intel Corporation | Disk drive for handling conflicting deadlines and methods thereof |
US8051232B2 (en) | 2007-06-25 | 2011-11-01 | Intel Corporation | Data storage device performance optimization methods and apparatuses |
US20090070526A1 (en) | 2007-09-12 | 2009-03-12 | Tetrick R Scott | Using explicit disk block cacheability attributes to enhance i/o caching efficiency |
US20090144347A1 (en) | 2007-11-30 | 2009-06-04 | Boyd James A | Storage volume spanning with intelligent file placement and/or rearrangement |
US8166229B2 (en) * | 2008-06-30 | 2012-04-24 | Intel Corporation | Apparatus and method for multi-level cache utilization |
-
2008
- 2008-06-30 US US12/215,762 patent/US8166229B2/en active Active
-
2009
- 2009-06-24 GB GB1015977.0A patent/GB2473348B/en not_active Expired - Fee Related
- 2009-06-24 CN CN200980110592.XA patent/CN101981555B/zh not_active Expired - Fee Related
- 2009-06-24 WO PCT/US2009/048386 patent/WO2010002647A2/en active Application Filing
- 2009-06-24 DE DE112009000431.8T patent/DE112009000431B4/de active Active
-
2012
- 2012-04-19 US US13/450,882 patent/US8386701B2/en active Active
- 2012-05-11 GB GBGB1208252.5A patent/GB201208252D0/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0702305A1 (de) | 1994-09-13 | 1996-03-20 | Nec Corporation | Plattenspeichergerät |
US20080140921A1 (en) | 2004-06-10 | 2008-06-12 | Sehat Sutardja | Externally removable non-volatile semiconductor memory module for hard disk drives |
Non-Patent Citations (1)
Title |
---|
Hans-Peter Messmer, PC-Hardwarebuch, 5. Auflage 1997, Addison-Wesley, Seite 214 |
Also Published As
Publication number | Publication date |
---|---|
US20090327584A1 (en) | 2009-12-31 |
CN101981555A (zh) | 2011-02-23 |
WO2010002647A3 (en) | 2010-03-25 |
GB201015977D0 (en) | 2010-11-03 |
GB2473348A (en) | 2011-03-09 |
DE112009000431T5 (de) | 2011-01-05 |
WO2010002647A2 (en) | 2010-01-07 |
CN101981555B (zh) | 2013-05-29 |
GB2473348B (en) | 2012-10-17 |
US20120203960A1 (en) | 2012-08-09 |
GB201208252D0 (en) | 2012-06-20 |
US8386701B2 (en) | 2013-02-26 |
US8166229B2 (en) | 2012-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112009000431B4 (de) | Prozessorbasiertes system, nichtflüchtiger cachespeicher und verfahren zum nutzen eines nichtflüchtigen cachespeichers | |
DE112013003255B4 (de) | Managementmechanismus für fehlerhafte Blöcke | |
DE102019130450B4 (de) | Bypass-Speicherklasse Lese Cache auf der Grundlage eines Schwellwertes der Warteschlange | |
DE102012103869B4 (de) | Optimierter Flash-basierender Cache-Speicher | |
DE102012219907B4 (de) | Erhöhen der Speicherkapazität in Systemen mit eingeschränkter elektrischer Leistungsaufnahme | |
DE112011106032B4 (de) | Energieeinsparung durch Speicherkanal-Abschaltung | |
DE102008057219B4 (de) | Verfahren zum Betreiben eines Solid-State-Speichersystems, Solid-State-Speichersystem und Computersystem | |
DE102011076894B9 (de) | Persistenter Speicher für einen Hauptspeicher eines Prozessors | |
DE102008036822A1 (de) | Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem | |
DE102018115163A1 (de) | Routing von datenblöcken während einer thermodrosselung | |
DE102020106971A1 (de) | Datenschreibverwaltung im nichtflüchtigen speicher | |
DE102015012566A1 (de) | Mehrlagenkonzept für logische speicherungsverwaltung | |
DE102013016609A1 (de) | Vorrichtung und Verfahren für ein Storage Class Memory mit niedrigem Energieverbrauch, niedriger Latenz und hoher Kapazität | |
DE112020002792B4 (de) | Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern | |
DE102018113447A1 (de) | Speichervorrichtung zum Koppeln mit einem Host und Verfahren zum Betreiben des Hosts und der Speichervorrichtung | |
DE102018123880A1 (de) | Adaptive Verwaltung von Zwischenspeichern | |
DE202010017665U1 (de) | Datenverteilung bei einer Datenspeichervorrichtung mit Flash-Speicherchips | |
DE112009000418T5 (de) | Vorrichtung und Verfahren zur Nutzung eines Cache | |
DE10300697A1 (de) | Dynamisch einstellbare Cachegröße basierend auf dem Anwendungsverhalten, um Leistung zu sparen | |
DE112020001937T5 (de) | Vorausschauender datenvorabruf in einer datenspeicher-vorrichtung | |
DE112019000161T5 (de) | Speicher-cache-verwaltung | |
DE102018123670A1 (de) | Speicherungssystem, Rechensystem und Verfahren dafür | |
DE112020005695T5 (de) | Speichercontroller für solid-state-speichereinheiten | |
DE112020005787T5 (de) | Verbesserte dateisystem-unterstützung für zonen-namespace-speicher | |
DE112017001658T5 (de) | Behandlung von fehleranfälligen Cache-Zeilen-Slots eines speicherseitigen Caches eines Multilevel-Systemspeichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R130 | Divisional application to |
Ref document number: 112009005585 Country of ref document: DE |
|
R081 | Change of applicant/patentee |
Owner name: SK HYNIX NAND PRODUCT SOLUTIONS CORP., SAN JOS, US Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US |
|
R082 | Change of representative |
Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE |
|
R020 | Patent grant now final |