DE102008036822A1 - Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem - Google Patents

Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem Download PDF

Info

Publication number
DE102008036822A1
DE102008036822A1 DE102008036822A DE102008036822A DE102008036822A1 DE 102008036822 A1 DE102008036822 A1 DE 102008036822A1 DE 102008036822 A DE102008036822 A DE 102008036822A DE 102008036822 A DE102008036822 A DE 102008036822A DE 102008036822 A1 DE102008036822 A1 DE 102008036822A1
Authority
DE
Germany
Prior art keywords
data
memory
layer
determination
storage layer
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.)
Withdrawn
Application number
DE102008036822A
Other languages
English (en)
Inventor
Moon-Wook Oh
Do-Geun Kim
Chan-Ik Park
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102008036822A1 publication Critical patent/DE102008036822A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Abstract

Ein Solid-State-Speichersystem umfasst eine erste Speicherschicht, eine zweite Speicherschicht und eine Speichersteuereinheit, die dazu ausgebildet ist, eine erste Bestimmung durchzuführen, ob empfangene Daten heiße Daten oder kalte Daten sind, die empfangenen Daten, die während der ersten Bestimmung als heiße Daten bestimmt worden sind, in der ersten Speicherschicht zu speichern, und die empfangenen Daten, die während der ersten Bestimmung als kalte Daten bestimmt worden sind, in der zweiten Speicherschicht zu speichern, wobei die Speichersteuereinheit weiter dazu ausgebildet ist, eine zweite Bestimmung durchzuführen, ob die in der ersten Speicherschicht gespeicherten Daten heiße Daten oder kalte Daten sind, und Daten, die während der zweiten Bestimmung als kalte Daten bestimmt worden sind, von der ersten Speicherschicht in die zweite Speicherschicht zu überführen.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Speichern von Daten in einem Solid-State-Speicher (SSM), ein Solid-State-Speichersystem und ein Computersystem. Beispiele des SSM umfassen den Hauptspeicher eines Computersystems und ein Solid-State-Laufwerk bzw. eine Solid-State-Platte (SSD) eines Computersystems.
  • Ein Solid-State-Laufwerk (SSD) ist eine Datenspeichervorrichtung, die typischerweise eine herkömmliche Festplatte (HDD) emuliert und daher die HDD in den meisten Anwendungen ohne Weiteres ersetzt. Im Gegensatz zum Drehscheibenmedium einer HDD verwendet ein SSD einen Solid-State-Speicher zum Speichern von Daten. Ohne bewegliche Teile kann ein SSD in hohem Maße Suchzeit, Latenz und andere elektromechanische Verzögerungen und Ausfälle eliminieren, die mit einer herkömmlichen HDD in Zusammenhang stehen.
  • Ein SSD ist üblicherweise entweder aus einem NAND-Flashspeicher (nichtflüchtig) oder einem SDRAM (flüchtig) gebildet.
  • SSDs, die auf einem flüchtigen Speicher, wie SDRAM, basieren, sind durch einen schnellen Datenzugriff gekennzeichnet und werden primär zum Beschleunigen von Anwendungen verwendet, die ansonsten durch die Latenz der Plattenlaufwerke gebremst würden. Der flüchtige Speicher der DRAM-basierten SSDs erfordert typischerweise den Einsatz einer internen Batterie und eines Back-up-Plattensystems, um Datenpersistenz zu gewährleisten. Wenn die Energiezufuhr aussetzt, stellt die Batterie für einen ausreichenden Zeitraum Energie zur Verfügung, um Daten aus dem SDRAM in das Back-up-Plattensystem zu kopieren. Bei Wiederherstellung der Energiezufuhr werden Daten von der Backup-Platte in den SDRAM zurückkopiert, wobei zu diesem Zeitpunkt das SSD seine normale Funktion wieder aufnimmt.
  • Die meisten SSD-Hersteller verwenden jedoch nichtflüchtige Flashspeicher, um stabilere und kompaktere Alternativen zu DRAM-basierten SSDs zur Verfügung zu stellen. Diese auf Flashspeichern basierenden SSDs, die als Flashlaufwerke bzw. Flashplatten bekannt sind, erfordern keine Batterien, was es den Herstellern ermöglicht, Standardfestplattenlaufwerke leichter nachzubilden. Außerdem erhalten nichtflüchtige Flash-SSDs bei einem Energieausfall den Speicherinhalt.
  • Ein herkömmlicher Einpegelzellen(SLC)-Flash ist derart ausgebildet, dass er ein Bit pro Speicherzelle speichert, während ein Mehrpegelzellen(MLC)-Flash derart ausgebildet ist, dass er zwei oder mehr Bits pro Speicherzelle speichert. Auf diese Weise können Flash-SSDs Mehrpegelzellen(MLC)-Speicherbänke verwenden, um die Kapazität zu erhöhen. Flash-SSDs leiden jedoch in der Regel unter relativ geringen Random-Write-Geschwindigkeiten und dieser funktionelle Nachteil wird mit relativ geringen Geschwindigkeiten des MLC-Flash noch weiter verschärft. Daher wurde vorgeschlagen, SSDs mit zwei Arten von Flashspeichermedien zu versehen, nämlich SLC-Speicherbänken mit niedriger Kapazität und MLC-Speicherbänken mit höherer Kapazität. Bei einer solchen Konfiguration können häufig genutzte Daten (z. B. Verzeichnis- und/oder Log-Informationen) in den schnelleren SLC-Bänken gespeichert werden, während weniger häufig genutzte Daten (z. B. Musikdateien, Bilder usw.) in den langsameren MLC-Bänken gespeichert werden können.
  • Der Erfindung liegt die technische Aufgabe zugrunde, ein Verfahren zum Speichern von Daten in einem Solid-State-Speicher, ein Solid-State-Speichersystem und ein Computersystem zur Verfügung zu stellen, die im Vergleich zu Ausführungsformen des Standes der Technik verbesserte Eigenschaften aufweisen.
  • Die Erfindung löst diese Aufgabe durch ein Verfahren zum Speichern von Daten in einem Solid-State-Speicher mit den Merkmalen von Anspruch 1 oder 15, ein Solid-State-Speichersystem mit den Merkmalen von Anspruch 18 oder 27 und ein Computersystem mit den Merkmalen von Anspruch 29.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen angeführt, deren Wortlaut hiermit durch Bezugnahme zum Inhalt dieser Beschreibung gemacht wird, um unnötige Textwiederholungen zu vermeiden.
  • Vorteilhafte Ausführungsformen der Erfindung, wie sie unten ausführlich beschrieben werden, sind in den Zeichnungen dargestellt. Hierbei zeigt/zeigen:
  • 1 ein Blockdiagramm eines Solid-State-Laufwerks (SSD) gemäß einer Ausführungsform der vorliegenden Erfindung,
  • 2 und 3 Blockdiagramme zum Beschreiben eines nichtflüchtigen Speichermediums des SSD von 1 gemäß einer Ausführungsform der vorliegenden Erfindung,
  • 4 und 5 Blockdiagramme zum Beschreiben alternativer Wege zum Koppeln eines nichtflüchtigen Speichermediums mit einer Schnittstelle im SSD von 1 gemäß Ausführungsformen der vorliegenden Erfindung,
  • 6 bis 8 Flussdiagramme zum Beschreiben von Verfahren zum Zuweisen von Daten in Bereiche eines nichtflüchtigen Speichermediums im SSD von 1 gemäß Ausführungsformen der vorliegenden Erfindung,
  • 9 ein Blockdiagramm des Computersystems, das ein SSD gemäß einer Ausführungsform der vorliegenden Erfindung beinhaltet, und
  • 10 und 11 Blockdiagramme eines Hauptspeichers gemäß Ausführungsformen der vorliegenden Erfindung.
  • 1 stellt ein Blockdiagramm eines Solid-State-Laufwerks (SSD) 1000 gemäß einer Ausführungsform der vorliegenden Erfindung dar. Wie gezeigt ist, beinhaltet das SSD 1000 in diesem Beispiel eine SSD-Steuereinheit 1200 und ein nichtflüchtiges Speichermedium 1400.
  • Die SSD-Steuereinheit 1200 beinhaltet eine erste Schnittstelle 1210 und eine zweite Schnittstelle 1230, eine Steuereinheit 1220 und einen Speicher 1240.
  • Die erste Schnittstelle 1210 dient als I/O-Datenschnittstelle für einen Host, beispielsweise eine Zentralverarbeitungseinheit (CPU) eines Hosts (nicht gezeigt). Nicht einschränkende Beispiele der ersten Schnittstelle 1210 beinhalten Universal-Serial-Bus(USB)-Schnittstellen, Advanced-Technology-Attachment(ATA)-Schnittstellen, Serielle-ATA(SATA)-Schnittstellen und Small-Computer-System-Interface(SCSI)-Schnittstellen.
  • Die zweite Schnittstelle 1230 dient als I/O-Datenschnittstelle für das nichtflüchtige Speichermedium 1400. Insbesondere wird die zweite Schnittstelle 1230 zum Senden/Empfangen verschiedener Befehle, Adressen und Daten zum/vom nichtflüchtigen Speichermedium 1400 verwendet. Es versteht sich, dass eine Vielzahl von unterschiedlichen Strukturen und Konfigurationen der zweiten Schnittstelle 1230 möglich ist, und daher wird wegen der Kürze keine ausführliche Beschreibung hierzu gegeben.
  • Die Steuereinheit 1220 und der Speicher 1240 sind in Wirkverbindung zwischen der ersten und zweiten Schnittstelle 1210 und 1230 eingeschleift und dienen zusammen zum Steuern/Verwalten des Datenstroms zwischen dem Host (nicht gezeigt) und dem nichtflüchtigen Speichermedium 1400. Der Speicher 1240 kann zum Beispiel eine Speichervorrichtung vom DRAM-Typ sein und die Steuereinheit 1220 kann zum Beispiel eine Zentralverarbeitungseinheit (CPU), eine Direktspeicherzugriff(DMA)-Steuereinheit und eine Fehlerkorrektursteuer(ECC)-Maschine beinhalten. Beispiele der Funktionsweise der Steuereinheit können in der US-Patentveröffentlichung 2006-0152981 eingesehen werden, die hiermit durch Bezugnahme zum Inhalt dieser Beschreibung gemacht wird. Die von der Steuereinheit 1220 (und dem Speicher 1240) in der Regel ausgeführten Operationen zum Übertragen von Daten zwischen dem Host (nicht gezeigt) und SSD-Speicherbänken sind dem Fachmann bekannt, und daher wird hier wegen der Kürze eine ausführliche Beschreibung ausgelassen. Vielmehr ist die später ange führte Funktionsbeschreibung primär auf erfinderische Aspekte mit Bezug zu verschiedenen Ausführungsformen der Erfindung gerichtet.
  • Weiter mit Bezug zu 1 beinhaltet das nichtflüchtige Speichermedium 1400 dieses Beispiels einen nichtflüchtigen Hochgeschwindigkeitsspeicher (NVM) 1410 und einen nichtflüchtigen langsamen Speicher (NVM) 1420. Wie die Namen vermuten lassen, ist der Hochgeschwindigkeits-NVM 1410 derart ausgebildet, dass er im Vergleich zum langsamen NVM 1420 bei einer relativ höheren Geschwindigkeit (z. B. Random-Write-Geschwindigkeit) funktioniert.
  • In einer beispielhaften Ausführungsform ist der Hochgeschwindigkeits-NVM 1410 ein Einpegelzellen(SLC)-Flashspeicher und der langsame NVM 1420 ist ein Mehrpegelzellen(MLC)-Flashspeicher. Die Erfindung ist jedoch nicht darauf beschränkt. Zum Beispiel kann der Hochgeschwindigkeits-NVM 1410 stattdessen aus einem Phasenwechseldirektzugriffspeicher (PRAM) oder einem MLC-Flashspeicher gebildet sein, in dem ein Bit pro Zelle genutzt wird. Ebenso können der Hochgeschwindigkeits-NVM 1410 und der langsame NVM 1420 aus der gleichen Art von Speicher gebildet sein (z. B. SLC oder MLC oder PRAM), wobei die Betriebsgeschwindigkeit durch eine feine Zuordnungsgranularität (fine-grain mapping) im Hochgeschwindigkeits-NVM 1410 und eine grobe Zuordnungsgranularität (coarse-grain mapping) im langsamen NVM 1420 differenziert ist.
  • In der Regel wird der Hochgeschwindigkeits-NVM 1410 zum Speichern von Daten mit häufigem Zugriff (die häufig geschrieben werden) verwendet, wie Metadaten, und der langsame NVM 1420 wird zum Speichern von Daten mit weniger häufigem Zugriff (die weniger häufig geschrieben werden) verwendet, wie Mediendaten. Mit anderen Worten, wie hier später noch diskutiert wird, ist eine Schreibfrequenz der Daten im Hochgeschwindigkeits-NVM 1410 statistisch höher als eine Schreib frequenz von Daten im langsamen NVM 1420. Ebenso ist aufgrund der Natur der jeweiligen zu speichernden Daten die Speicherkapazität des langsamen NVM 1420 typischerweise viel höher als die des Hochgeschwindigkeits-NVM 1410.
  • In einer beispielhaften Ausführungsform ist der Hochgeschwindigkeits-NVM 1410 vor einem externen Betriebssystem, das mit dem SSD verbunden ist, verborgen. Dieser Aspekt der Ausführungsform ist in den 2 und 3 dargestellt.
  • Mit gemeinsamem Bezug zu den 2 und 3 ist der Hochgeschwindigkeits-NVM 1410 des Beispiels dieser Ausführungsform ein verborgener Bereich – das heißt, der Hochgeschwindigkeits-NVM 1410 kann von dem externen Betriebssystem (OS) nicht gesehen (direkt adressiert) werden. Vielmehr ist der in Bezug auf die OS-Sicht gezeigte Adressenraum nur der des langsamen NVM 1420. Dahingegen ist der in Bezug auf die Flash-Translationsschicht (FTL) gezeigte Adressenraum sowohl der des Hochgeschwindigkeits-NVM 1410 als auch der des langsamen NVM 1420. Die FTL übersetzt eine vom OS bereitgestellte Adresse in eine physikalische Adresse des nichtflüchtigen Speichermediums 1400 (d. h. eine physikalische Adresse im Hochgeschwindigkeits-NVM 1410 oder langsamen NVM 1420).
  • Mit Blick auf die Blockdiagramme der 4 und 5 gibt es eine Reihe unterschiedlicher Wege, auf denen der Hochgeschwindigkeits-NVM 1410 und der langsame NVM 1420 über die Schnittstelle 1230 in Wirkverbindung mit der Steuereinheit 1220 (1) treten können. Im Beispiel von 4 kommunizieren der Hochgeschwindigkeits-NVM 1410 und der langsame NVM 1420 über die Schnittstelle 1230 unter Verwendung gemeinsamer Schnittstellenkanäle. Im Beispiel von 5 kommunizieren der Hochgeschwindigkeits-NVM 1410 und der langsame NVM 1420 über die Schnittstelle 1230 unter Verwendung getrennter Schnittstellenkanäle.
  • Es wird jedoch nochmals angemerkt, dass der Hochgeschwindigkeits-NVM 1410 und der langsame NVM 1420 nicht aus unterschiedlichen Arten von Speichern gebildet sein müssen. Das heißt, ein einziger Speichertyp kann operativ in eine Hochgeschwindigkeitsschicht und eine langsame Schicht unterteilt sein. Zum Beispiel kann die Zuordnungsgranularität der beiden Schichten unterschiedlich sein, oder die Anzahl der pro Zelle verwendeten Bits kann in den beiden Schichten unterschiedlich sein. Ferner können die Hochgeschwindigkeitsspeicherschicht und die langsame Speicherschicht auf Chipniveau unterteilt sein (z. B. in unterschiedlichen Speicherchips enthalten sein) oder sich im gleichen Speicherchip befinden (z. B. in unterschiedlichen Speicherblöcken oder Gruppen von Speicherzellen des gleichen Speicherchips enthalten sein).
  • Nun wird eine Funktionsbeschreibung des SSD gemäß Ausführungsformen der vorliegenden Erfindung vorgestellt.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung, in der Daten im SSD gespeichert werden, wird eine erste Bestimmung durchgeführt, um zu bestimmen, ob empfangene Daten heiße Daten oder kalte Daten sind. Als "heiße" Daten werden vorliegend solche Daten bezeichnet, die häufig geschrieben oder aktualisiert (was einen Schreibzugriff erfordert) werden, wie Verzeichnisinformationen und/oder Protokollinformationen. "Kalte" Daten sind alle anderen Daten, d. h. Daten, die nicht häufig geschrieben oder aktualisiert werden, wie Bilddateien, Tondateien, Programmcodes und so weiter. Kalte Daten können einmal oder selten geschrieben, aber häufig gelesen werden. Daher ist es die Häufigkeit des Schreibzugriffs, der die heißen Daten von den kalten Daten unterscheidet.
  • Empfangene Daten, die während der ersten Bestimmung als heiße Daten bestimmt worden sind, werden im Hochgeschwindigkeits-NVM 1410 gespeichert, und empfangene Daten, die während der ersten Bestimmung als kalte Daten bestimmt worden sind, werden im langsamen NVM 1420 gespeichert.
  • Dann wird eine zweite Bestimmung durchgeführt, um zu bestimmen, ob die im Hochgeschwindigkeits-NVM 1410 gespeicherten Daten heiße Daten oder kalte Daten sind. Mit anderen Worten, die im Hochgeschwindigkeits-NVM 1410 gespeicherten Daten werden erneut untersucht, um zu bestimmen, welche der Daten als kalte Daten umklassifiziert werden sollten. Daten, die dann während der zweiten Bestimmung als kalte Daten bestimmt worden sind, werden vom Hochgeschwindigkeits-NVM 1410 in den langsamen NVM 1420 überführt.
  • Durch periodisches Überführen von Daten, die zunächst als heiße Daten bestimmt worden sind, vom Hochgeschwindigkeits-NVM 1410 in den langsamen NVM 1420 kann der Umfang des Hochgeschwindigkeits-NVM 1410 reduziert werden. Dies kann potentiell zu Kosteneinsparungen führen und die Gesamtspeicherkapazität des SSD steigern (z. B., indem mehr Raum für die MLC-Schicht mit hoher Kapazität verfügbar ist).
  • Die zweite Bestimmung und Überführung von Daten zum langsamen NVM 1420 kann so programmiert sein, dass sie zum Beispiel erfolgt, wenn die ungenutzte Kapazität des Hochgeschwindigkeits-NVM 1410 weniger als ein vorgegebener Wert beträgt. Alternativ kann zum Beispiel die zweite Bestimmung und Überführung von Daten zum langsamen NVM 1420 so programmiert sein, dass sie in vorgegebenen periodischen Intervallen erfolgt, oder wenn das SSD im Leerlauf ist. Beispiele eines Leerlaufzustands können Zeiträume umfassen, in denen keine Lese-/Schreibanforderung vom Host empfangen wird, oder wenn das Aktivierungsniveau oder die Intensität der Lese-/Schreibanforderungen weniger als ein Schwellenwert beträgt.
  • 6 ist ein Flussdiagramm zur Beschreibung der ersten Bestimmung und Speicherung (Schreiben) von Daten in das SSD gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Zunächst werden in Schritt 100 ein Schreibbefehl, eine Adresse und Daten empfangen. Dann wird in Schritt 110 eine Bestimmung vorgenommen, ob die empfangenen Daten als heiße Daten zu klassifizieren sind. Wenn die empfangenen Daten als heiße Daten klassifiziert worden sind, werden die empfangenen Daten in Schritt 120 im Hochgeschwindigkeits-NVM 1410 gespeichert. Wenn jedoch die empfangenen Daten nicht als heiße Daten klassifiziert worden sind, werden die empfangenen Daten in Schritt 130 im langsamen NVM 1420 gespeichert.
  • Es sei angemerkt, dass die in Schritt 130 im langsamen NVM 1420 gespeicherten Daten zunächst den Hochgeschwindigkeits-NVM 1410 "durchlaufen" können. Mit anderen Worten, die Daten können zunächst kurz (temporär) im Hochgeschwindigkeits-NVM 1410 gespeichert werden und anschließend im langsamen NVM 1420 gespeichert werden. In diesem Fall dient der Hochgeschwindigkeits-NVM 1410 im Wesentlichen als Speicherpuffer für den langsamen NVM 1420.
  • 7 ist ein Flussdiagramm zur Beschreibung der ersten Bestimmung und Speicherung (Schreiben) von Daten in das SSD gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
  • Zunächst werden in Schritt 300 ein Schreibbefehl, eine Adresse und Daten empfangen. Dann wird in den Schritten 310a bis 310e eine Bestimmung vorgenommen, ob die empfangenen Daten als heiße Daten zu klassifizieren sind. Wenn die empfangenen Daten als heiße Daten klassifiziert sind und wenn genügend verfügbarer Speicherplatz im Hochgeschwindigkeits-NVM 1410 vorhanden ist (Schritt 320), werden die empfangenen Daten in Schritt 340 im Hochgeschwindigkeits-NVM 1410 gespeichert. Wenn jedoch die empfangenen Daten nicht als heiße Daten klassifiziert worden sind, oder wenn nicht genügend verfügbarer Speicherplatz im Hochgeschwindigkeits-NVM 1410 vorhanden ist, werden die empfangenen Daten in Schritt 330 im langsamen NVM 1420 gespeichert.
  • Es gibt unterschiedliche Kriterien, wie die empfangenen Daten als heiße Daten klassifiziert werden können, und die Schritte 310a bis 310e von 7 stellen eine nicht abschließende Liste von Entscheidungsprozessen dar, die bei der Klassifizierung verwendet werden können. Diese Schritte können kombiniert oder einzeln angewendet werden, was vom gewünschten Maß an Genauigkeit bei der ersten Bestimmung der empfangenen Daten abhängig ist.
  • In Schritt 310a wird eine Bestimmung vorgenommen, ob das Betriebssystem (OS) Informationen bereitgestellt hat, dass die Daten heiße Daten sind. Wenn dies der Fall ist, werden die Daten als heiße Daten klassifiziert und der Prozess schreitet zu Schritt 320 fort.
  • In Schritt 310b wird eine Bestimmung vorgenommen, ob ein Schreibzähler der logischen Blockadresse einen vorgegebenen Schwellenwert überschritten hat. Wenn dies der Fall ist, werden die Daten als heiße Daten klassifiziert und der Prozess schreitet zu Schritt 320 fort.
  • In Schritt 310c wird eine Bestimmung vorgenommen, ob die Anforderungsgröße der Daten kleiner ist als der vorgegebene Schwellenwert (z. B. weniger als 32 kB). Wenn dies der Fall ist, werden die Da ten als heiße Daten klassifiziert und der Prozess schreitet zu Schritt 320 fort.
  • In Schritt 310d wird eine Bestimmung vorgenommen, ob ein nichtsequentielles Adresseninkrement bezüglich des zuvor empfangenen Befehls vorliegt. Wenn dies der Fall ist, werden die Daten als heiße Daten klassifiziert und der Prozess schreitet zu Schritt 320 fort.
  • In Schritt 310e wird eine Bestimmung vorgenommen, ob die Veranlassung einer Mergeoperation im langsamen NVM wahrscheinlich ist. Wenn dies der Fall ist, werden die Daten als heiße Daten klassifiziert und der Prozess schreitet zu Schritt 320 fort.
  • Obwohl es in 7 nicht gezeigt ist, könnte alternativ verfügbarer Speicherplatz durch Überführen schon gespeicherter kalter Daten vom Hochgeschwindigkeits-NVM zum langsamen NVM geschaffen werden, wobei anschließend neue heiße Daten im Hochgeschwindigkeits-NVM gespeichert werden könnten, falls im Hochgeschwindigkeits-NVM 1410 nicht genügend verfügbarer Speicherplatz vorhanden ist (Schritt 320).
  • Ebenso ist mit Bezug zum oben beschriebenen Prozess in den 6 und 7 anzumerken, dass diese Ausführungsformen nicht darauf beschränkt sind, alle heißen und kalten Daten in den Hochgeschwindigkeits-NVM bzw. langsamen NVM zu speichern. Zum Beispiel können einige der zunächst als kalte Daten bestimmten Daten im Hochgeschwindigkeits-NVM gespeichert werden. Ebenso können einige der zunächst als heiße Daten bestimmten Daten im langsamen NVM gespeichert werden, obwohl dies weniger bevorzugt ist.
  • 8 ist ein Flussdiagramm zur Beschreibung eines Beispiels der zweiten Bestimmung und Überführung von Daten zum langsamen NVM im SSD gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Zunächst wird in Schritt 410 eine Bestimmung vorgenommen, ob eine freie Speicherkapazität des Hochgeschwindigkeits-NVM kleiner als ein vorgegebener Schwellenwert ist. Wie zuvor vorgeschlagen, kann dieser Schritt um einen periodischen Ausführungsschritt, bei dem Schritt 410 (oder Schritt 420 unten) in periodischen Intervallen durchgeführt wird, und/oder einen SSD-Leerlaufbestimmungsschritt, bei dem Schritt 410 (oder Schritt 420) in periodischen Intervallen durchgeführt wird, ergänzt (oder durch diesen ersetzt) werden.
  • Danach wird in Schritt 420 eine Bestimmung vorgenommen, ob im Hochgeschwindigkeits-NVM gespeicherte Daten heiße Daten sind, d. h., ob die Daten als kalte Daten umklassifiziert werden können.
  • Danach werden in Schritt 430 umklassifizierte kalte Daten, die im Hochgeschwindigkeits-NVM gespeichert sind, zum langsamen NVM überführt.
  • Es gibt verschiedene Möglichkeiten, wie die Bestimmung in Schritt 420 durchgeführt werden kann. Zum Beispiel ist es möglich, den Schreibzähler der jeweiligen gültigen Daten im Hochgeschwindigkeits-NVM zu untersuchen, und dann die Daten mit niedrigen Schreibzählerwerten als kalte Daten umzuklassifizieren. Alternativ ist es möglich, eine Bestimmung vom FIFO-Typ auszuführen, bei der alte (zuerst angekommene) gültige Daten als kalte Daten umklassifiziert werden.
  • Mit Bezug zum oben beschriebenen Prozess von 8 ist anzumerken, dass diese Ausführungsform nicht auf eine Überführung aller kalten Daten in den langsamen NVM beschränkt ist. Zum Beispiel kön nen einige der als kalte Daten klassifizierten Daten im Hochgeschwindigkeits-NVM behalten werden.
  • 9 ist ein Blockdiagramm eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in der Figur gezeigt ist, kommunizieren ein Prozessor (Host) 2100 und ein Hauptspeicher 2200 über einen Datenbus 2001. Ebenfalls mit dem Bus 2001 verbunden sind: eine Ausgabeeinrichtung 2500 (z. B. Display), eine Eingabeeinrichtung 2300 (z. B. Tastatur), andere I/O-Einrichtungen 2400 und ein Solid-State-Laufwerk SSD. Das Solid-State-Laufwerk ist gemäß einer oder mehrerer der zuvor beschriebenen Ausführungsformen der Erfindung ausgebildet.
  • Ausführungsformen der vorliegenden Erfindung wurden primär im Zusammenhang mit Solid-State-Laufwerken (SSDs) beschrieben. Die Erfindung ist jedoch nicht auf SSD-Anwendungen beschränkt. Zum Beispiel stellt 10 eine Ausführungsform dar, in der die Hochgeschwindigkeitsspeicherschicht und die langsame Speicherschicht den Hauptspeicher 2200 des in 9 gezeigten Computersystems bilden. In 10 beinhaltet die Hochgeschwindigkeitsspeicherschicht 1510 DRAM-Zellen und kann ein für den Prozessor 2100 von 9 verborgener Bereich sein. Die langsame Speicherschicht 1520 von 10 beinhaltet Flashzellen (entweder SLC oder MLC) und kann für den Prozessor 2100 von 9 zugänglich sein. 11 stellt ein weiteres Beispiel eines Hauptspeichers 2200 dar. Wie gezeigt ist, beinhaltet die Hochgeschwindigkeitsspeicherschicht 1610 DRAM-Zellen und kann ein für den Prozessor 2100 von 9 verborgener Bereich sein, und die langsame Speicherschicht 1620 beinhaltet Phasenwechseldirektzugriffspeicher(PRAM)-Zellen und kann für den Prozessor 2100 von 9 zugänglich sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - US 2006-0152981 [0021]

Claims (32)

  1. Verfahren zum Speichern von Daten in einem Solid-State-Speicher, der eine erste und eine zweite Speicherschicht umfasst, mit den Schritten: – Durchführen einer ersten Bestimmung, ob empfangene Daten heiße Daten oder kalte Daten sind, – Speichern der empfangenen Daten, die während der ersten Bestimmung als heiße Daten bestimmt worden sind, in der ersten Speicherschicht, – Speichern der empfangenen Daten, die während der ersten Bestimmung als kalte Daten bestimmt worden sind, in der zweiten Speicherschicht, – Durchführen einer zweiten Bestimmung, ob die in der ersten Speicherschicht gespeicherten Daten heiße Daten oder kalte Daten sind, und – Überführen von Daten, die während der zweiten Bestimmung als kalte Daten bestimmt worden sind, aus der ersten Speicherschicht in die zweite Speicherschicht.
  2. Verfahren nach Anspruch 1, wobei eine Betriebsgeschwindigkeit der ersten Speicherschicht höher ist als eine Betriebsgeschwindigkeit der zweiten Speicherschicht.
  3. Verfahren nach Anspruch 1 oder 2, wobei die erste Speicherschicht und die zweite Speicherschicht unterschiedliche Typen von Speicherzellen umfassen.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die erste Speicherschicht Einpegelflashspeicherzellen umfasst und die zweite Speicherschicht Mehrpegelflashspeicherzellen umfasst.
  5. Verfahren nach Anspruch 1, wobei die erste Speicherschicht und die zweite Speicherschicht Mehrpegelflashspeicherzellen umfassen, wobei Daten lediglich in einem niederwertigsten Bit der Mehrpegelflashspeicherzellen der ersten Speicherschicht gespeichert werden.
  6. Verfahren nach Anspruch 1, wobei die erste Speicherschicht und die zweite Speicherschicht die gleichen Typen von Speicherzellen umfassen.
  7. Verfahren nach Anspruch 6, wobei eine Zuordnungsgranularität (mapping grain) der ersten Speicherschicht feiner ist als eine Zuordnungsgranularität der zweiten Speicherschicht.
  8. Verfahren nach Anspruch 7, wobei die erste Speicherschicht und die zweite Speicherschicht Einpegelflashspeicherzellen umfassen.
  9. Verfahren nach Anspruch 7, wobei die erste Speicherschicht und die zweite Speicherschicht Mehrpegelflashspeicherzellen umfassen.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei die Daten, die während der ersten Bestimmung zuerst als kalte Daten bestimmt worden sind, temporär in der ersten Speicherschicht gespeichert werden, bevor sie in der zweiten Speicherschicht gespeichert werden.
  11. Verfahren nach einem der Ansprüche 1 bis 10, wobei die zweite Bestimmung weiter ein Feststellen umfasst, ob eine nicht benutzte Speicherkapazität der ersten Speicherschicht kleiner als ein Schwellenwert ist.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die zweite Bestimmung in periodischen Intervallen oder dann ausgeführt wird, wenn der Solid-State-Speicher in einen Leerlaufzustand eintritt.
  13. Verfahren nach einem der Ansprüche 1 bis 12, wobei die erste Speicherschicht und die zweite Speicherschicht in einem Solid-State-Laufwerk enthalten sind.
  14. Verfahren nach einem der Ansprüche 1 bis 12, wobei die erste Speicherschicht und die zweite Speicherschicht im Hauptspeicher eines Computersystems enthalten sind.
  15. Verfahren zum Speichern von empfangenen Daten in einem Solid-State-Speicher mit den Schritten: – anfängliches Speichern von heißen Daten in einer Hochgeschwindigkeitsspeicherschicht und – anschließendes Überführen eines Teils der Daten, die in der Hochgeschwindigkeitsspeicherschicht gespeichert worden sind, in eine langsame Speicherschicht zum Speichern von kalten Daten.
  16. Verfahren nach Anspruch 15, wobei die erste und die zweite nichtflüchtige Speicherschicht unterschiedliche Typen von Speicherzellen umfassen.
  17. Verfahren nach Anspruch 15, wobei die erste und die zweite nichtflüchtige Speicherschicht gleiche Typen von Speicherzellen umfassen.
  18. Solid-State-Speichersystem, umfassend: – eine erste Speicherschicht, – eine zweite Speicherschicht und – eine Speichersteuereinheit, die dazu ausgebildet ist, eine erste Bestimmung durchzuführen, ob empfangene Daten heiße Daten oder kalte Daten sind, die empfangenen Daten, die während der ersten Bestimmung als heiße Daten bestimmt worden sind, in der ersten Speicherschicht zu speichern, und die empfangenen Daten, die während der ersten Bestimmung als kalte Daten bestimmt worden sind, in der zweiten Speicherschicht zu speichern, – wobei die Speichersteuereinheit weiter dazu ausgebildet ist, eine zweite Bestimmung durchzuführen, ob die in der ersten Speicherschicht gespeicherten Daten heiße Daten oder kalte Daten sind, und Daten, die während der zweiten Bestimmung als kalte Daten bestimmt worden sind, von der ersten Speicherschicht in die zweite Speicherschicht zu überführen.
  19. Solid-State-Speichersystem nach Anspruch 18, wobei die Speichersteuereinheit mit der ersten und der zweiten Speicherschicht unter Verwendung unterschiedlicher Datenkanäle in Wirkverbindung steht.
  20. Solid-State-Speichersystem nach Anspruch 18, wobei die Speichersteuereinheit mit der ersten und der zweiten Speicherschicht unter Verwendung gemeinsamer Datenkanäle in Wirkverbindung steht.
  21. Solid-State-Speichersystem nach einem der Ansprüche 18 bis 20, wobei eine Betriebsgeschwindigkeit der ersten Speicherschicht größer ist als eine Betriebsgeschwindigkeit der zweiten Speicherschicht.
  22. Solid-State-Speichersystem nach Anspruch 21, wobei die erste und die zweite Speicherschicht unterschiedliche Typen von Speicherzellen umfassen.
  23. Solid-State-Speichersystem nach Anspruch 21, wobei die erste und die zweite Speicherschicht gleiche Typen von Speicherzellen umfassen.
  24. Solid-State-Speichersystem nach einem der Ansprüche 18 bis 23, wobei die Daten, die während der ersten Bestimmung zuerst als kalte Daten bestimmt worden sind, temporär in der ersten Speicherschicht gespeichert werden, bevor sie in der zweiten Speicherschicht gespeichert werden.
  25. Solid-State-Speichersystem nach einem der Ansprüche 18 bis 24, wobei die erste und die zweite Speicherschicht in einem Solid-State-Laufwerk enthalten sind.
  26. Solid-State-Speichersystem nach einem der Ansprüche 18 bis 25, wobei die erste und die zweite Speicherschicht im Hauptspeicher eines Computersystems enthalten sind.
  27. Solid-State-Speichersystem, das dazu ausgebildet ist, in Wirkverbindung mit einem Computerbetriebssystem zu stehen, und das eine erste und eine zweite Speicherschicht umfasst, wobei eine Betriebsgeschwindigkeit der ersten Speicherschicht größer ist als eine Betriebsgeschwindigkeit der zweiten Speicherschicht und wobei die erste Speicherschicht vor dem Computerbetriebssystem verborgen ist, wenn das Solid-State-Speichersystem operativ mit dem Computerbetriebssystem verbunden ist.
  28. Solid-State-Speichersystem nach Anspruch 27, wobei das Solid-State-Speichersystem weiter eine Steuereinheit umfasst, die dazu ausgebildet ist, eine erste Bestimmung durchzuführen, ob empfangene Daten heiße Daten oder kalte Daten sind, die empfange nen Daten, die während der ersten Bestimmung als heiße Daten bestimmt worden sind, in der ersten Speicherschicht zu speichern, und die empfangenen Daten, die während der ersten Bestimmung als kalte Daten bestimmt worden sind, in der zweiten Speicherschicht zu speichern, – wobei die Speichersteuereinheit weiter dazu ausgebildet ist, eine zweite Bestimmung durchzuführen, ob die in der ersten Speicherschicht gespeicherten Daten heiße Daten oder kalte Daten sind, und Daten, die während der zweiten Bestimmung als kalte Daten bestimmt worden sind, aus der ersten Speicherschicht in die zweite Speicherschicht zu überführen.
  29. Computersystem mit einem Prozessor und einem Solid-State-Speicher, wobei der Solid-State-Speicher eine Hochgeschwindigkeitsspeicherschicht und eine langsame Speicherschicht umfasst, wobei die Hochgeschwindigkeitsspeicherschicht operativ vor dem Prozessor verborgen ist.
  30. Computersystem nach Anspruch 29, wobei der Solid-State-Speicher weiter eine Speichersteuereinheit umfasst, die dazu ausgebildet ist, eine erste Bestimmung durchzuführen, ob empfangene Daten heiße Daten oder kalte Daten sind, die empfangenen Daten, die während der ersten Bestimmung als heiße Daten bestimmt worden sind, in der ersten Speicherschicht zu speichern, und die empfangenen Daten, die während der ersten Bestimmung als kalte Daten bestimmt worden sind, in der zweiten Speicherschicht zu speichern, – wobei die Speichersteuereinheit weiter dazu ausgebildet ist, eine zweite Bestimmung durchzuführen, ob die Daten, die in der ersten Speicherschicht gespeichert sind, heiße Daten oder kalte Daten sind, und Daten, die während der zweiten Bestimmung als kalte Daten bestimmt worden sind, aus der ersten Speicherschicht in die zweite Speicherschicht zu überführen.
  31. Computersystem nach Anspruch 29 oder 30, wobei der Speicher ein Solid-State-Laufwerk ist.
  32. Computersystem nach Anspruch 29 oder 30, wobei der Speicher ein Hauptspeicher ist.
DE102008036822A 2007-08-14 2008-08-06 Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem Withdrawn DE102008036822A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2007-0081832 2007-08-14
KR1020070081832A KR101498673B1 (ko) 2007-08-14 2007-08-14 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US12/015,548 US20090049234A1 (en) 2007-08-14 2008-01-17 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US12/015,548 2008-01-17

Publications (1)

Publication Number Publication Date
DE102008036822A1 true DE102008036822A1 (de) 2009-04-02

Family

ID=40363885

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008036822A Withdrawn DE102008036822A1 (de) 2007-08-14 2008-08-06 Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem

Country Status (5)

Country Link
US (8) US20090049234A1 (de)
JP (2) JP2009048613A (de)
KR (1) KR101498673B1 (de)
CN (2) CN103400598A (de)
DE (1) DE102008036822A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014216130A1 (de) * 2014-08-13 2016-02-18 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Speicherung von Protokollierungsdaten
DE102014111990B4 (de) 2013-09-18 2023-11-30 Intel Corporation Heterogener Speicherzugriff

Families Citing this family (259)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US8156403B2 (en) * 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7975192B2 (en) * 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) * 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US9153337B2 (en) * 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US20080306723A1 (en) * 2007-06-08 2008-12-11 Luca De Ambroggi Emulated Combination Memory Device
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8429358B2 (en) 2007-08-14 2013-04-23 Samsung Electronics Co., Ltd. Method and data storage device for processing commands
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009063450A2 (en) * 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
CN101441597B (zh) * 2007-11-22 2012-09-26 威刚科技股份有限公司 可调式混合密度内存储存装置的控制方法及其热门数据控管模块
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
KR101521493B1 (ko) * 2008-07-16 2015-05-19 시게이트 테크놀로지 엘엘씨 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
KR101038167B1 (ko) 2008-09-09 2011-05-31 가부시끼가이샤 도시바 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법
JP2011022933A (ja) * 2009-07-17 2011-02-03 Toshiba Corp メモリ管理装置を含む情報処理装置及びメモリ管理方法
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8543756B2 (en) * 2009-02-02 2013-09-24 Marvell World Trade Ltd. Solid-state drive command grouping
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
JP5298982B2 (ja) * 2009-03-17 2013-09-25 日本電気株式会社 ストレージシステム
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
EP2417524A4 (de) * 2009-04-10 2013-03-06 Kaminario Tehnologies Ltd A mass-storage system utilizing auxiliary solid-state storage subsystem
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
KR101600951B1 (ko) * 2009-05-18 2016-03-08 삼성전자주식회사 고체 상태 드라이브 장치
TWI400707B (zh) * 2009-07-09 2013-07-01 Phison Electronics Corp 快閃記憶體邏輯區塊管理方法及其控制電路與儲存系統
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
JP2011186559A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
JP2011186554A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
CN102473140B (zh) 2009-07-17 2015-05-13 株式会社东芝 存储器管理装置
JP2011186561A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置
JP2011186558A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
JP5322978B2 (ja) * 2010-03-04 2013-10-23 株式会社東芝 情報処理装置及び方法
JP2011186562A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
US20110047316A1 (en) * 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization
US20120166749A1 (en) * 2009-09-08 2012-06-28 International Business Machines Corporation Data management in solid-state storage devices and tiered storage systems
US8473680B1 (en) * 2009-09-18 2013-06-25 Marvell International Ltd. Hotspot detection and caching for storage devices
GB2484841B (en) * 2009-09-24 2016-10-26 Ibm Data storage using bitmaps
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
KR100979750B1 (ko) * 2009-11-06 2010-09-03 (주)피스페이스 분산 저장 시스템에서 파일을 관리하는 장치 및 방법
EP2507700A1 (de) * 2009-12-04 2012-10-10 Marvell World Trade Ltd. Virtualisierung von speichervorrichtungen
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8438334B2 (en) * 2009-12-22 2013-05-07 International Business Machines Corporation Hybrid storage subsystem with mixed placement of file contents
CN102110063B (zh) * 2009-12-28 2013-11-06 宇瞻科技股份有限公司 可提升作业速度的存储系统
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
JP2011154547A (ja) * 2010-01-27 2011-08-11 Toshiba Corp メモリ管理装置及びメモリ管理方法
JP5533887B2 (ja) * 2010-02-10 2014-06-25 日本電気株式会社 ストレージ装置
US8458417B2 (en) * 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device
US8438361B2 (en) * 2010-03-10 2013-05-07 Seagate Technology Llc Logical block storage in a storage device
US8700949B2 (en) 2010-03-30 2014-04-15 International Business Machines Corporation Reliability scheme using hybrid SSD/HDD replication with log structured management
US8700841B2 (en) * 2010-04-19 2014-04-15 International Business Machines Corporation Sub-LUN input/output profiling for SSD devices
US9183134B2 (en) 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
US8635494B2 (en) * 2010-04-30 2014-01-21 Taejin Info Tech Co., Ltd. Backup and restoration for a semiconductor storage device
US9015441B2 (en) * 2010-04-30 2015-04-21 Microsoft Technology Licensing, Llc Memory usage scanning
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US9355109B2 (en) * 2010-06-11 2016-05-31 The Research Foundation For The State University Of New York Multi-tier caching
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
JP5553309B2 (ja) * 2010-08-11 2014-07-16 国立大学法人 東京大学 データ処理装置
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
CN101923514A (zh) * 2010-08-27 2010-12-22 深圳市江波龙电子有限公司 一种闪存存储设备的管理方法及系统
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9684590B2 (en) 2010-10-25 2017-06-20 Seagate Technology Llc Storing corresponding data units in a common storage unit
CN102073602B (zh) * 2010-12-14 2012-11-21 鸿富锦精密工业(深圳)有限公司 计算机系统、连接控制装置及连接与断开方法
WO2012103209A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Guest instruction to native instruction range based mapping using a conversion look aside buffer of a processor
WO2012103253A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Multilevel conversion table cache for translating guest instructions to native instructions
WO2012103359A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Hardware acceleration components for translating guest instructions to native instructions
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
WO2012103367A2 (en) 2011-01-27 2012-08-02 Soft Machines, Inc. Guest to native block address mappings and management of native code storage
KR101795629B1 (ko) 2011-02-15 2017-11-13 삼성전자주식회사 호스트에서 파일 시스템 관리 방법 및 상기 방법을 수행할 수 있는 장치들
KR101800444B1 (ko) 2011-03-28 2017-12-20 삼성전자주식회사 불휘발성 메모리의 제어 방법 및 그것을 포함하는 메모리 시스템
CN103620563B (zh) 2011-04-26 2015-04-29 Lsi公司 用于非易失性存储器的可变超量配置
US8782370B2 (en) * 2011-05-15 2014-07-15 Apple Inc. Selective data storage in LSB and MSB pages
EP2710497B1 (de) * 2011-05-19 2019-01-23 Oracle International Corporation Verfahren zur automatischen datenplatzierung mit komprimierung und säulenspeicherung
KR20120132278A (ko) * 2011-05-26 2012-12-05 삼성전자주식회사 메모리 칩, 메모리 시스템, 및 메모리 칩에 대한 액세스 방법
US20120317337A1 (en) * 2011-06-09 2012-12-13 Microsoft Corporation Managing data placement on flash-based storage by use
JP2013061847A (ja) * 2011-09-14 2013-04-04 Sony Corp 情報処理装置および情報処理方法
US8838916B2 (en) 2011-09-15 2014-09-16 International Business Machines Corporation Hybrid data storage management taking into account input/output (I/O) priority
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
EP3382556A1 (de) 2011-09-30 2018-10-03 INTEL Corporation Speicherkanal zur unterstützung von nah- und fernspeicherzugriffen
WO2013048500A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy over common memory channels
WO2013048503A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
CN103946812B (zh) * 2011-09-30 2017-06-09 英特尔公司 用于实现多级别存储器分级体系的设备和方法
US9600407B2 (en) 2011-09-30 2017-03-21 Intel Corporation Generation of far memory access signals based on usage statistic tracking
CN103092867B (zh) * 2011-11-03 2017-02-01 中国移动通信集团甘肃有限公司 一种数据管理方法及系统、数据分析装置
US8977803B2 (en) * 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
CN105718223B (zh) * 2011-12-27 2019-11-12 英特尔公司 管理工作负载存储器分配的方法和设备
CN107273302B (zh) 2011-12-27 2021-02-09 英特尔公司 管理工作负载存储器分配的方法、设备和系统
CN106469029B (zh) * 2011-12-31 2019-07-23 华为数字技术(成都)有限公司 数据分层存储处理方法、装置和存储设备
CN102609360B (zh) * 2012-01-12 2015-03-25 华为技术有限公司 一种数据处理方法、装置及系统
JP5790532B2 (ja) * 2012-02-13 2015-10-07 セイコーエプソン株式会社 電子機器、及びメモリー制御方法
US9800658B2 (en) * 2012-07-30 2017-10-24 Marvell International Ltd. Servers and methods for controlling a server
KR20140033964A (ko) * 2012-09-11 2014-03-19 삼성전자주식회사 단말기의 데이터 저장장치 및 방법
CN102902628B (zh) * 2012-09-18 2016-06-01 记忆科技(深圳)有限公司 一种基于闪存实现的冷热数据自动分离方法、系统及闪存
CN103677654B (zh) * 2012-09-24 2018-03-23 联想(北京)有限公司 一种存储数据的方法及电子设备
CN104380259B (zh) * 2012-10-17 2018-09-21 华为技术有限公司 降低内存系统功耗的方法和内存控制器
CN103839578B (zh) * 2012-11-27 2017-02-08 广东华晟数据固态存储有限公司 一种提高基于nand的固态存储器数据保持时间的方法
US9684593B1 (en) * 2012-11-30 2017-06-20 EMC IP Holding Company LLC Techniques using an encryption tier property with application hinting and I/O tagging
US8984251B2 (en) 2012-12-04 2015-03-17 Apple Inc. Hinting of deleted data from host to storage device
CN103853500A (zh) * 2012-12-07 2014-06-11 中国移动通信集团河南有限公司 一种基于海量数据的数据分配方法、装置及系统
US9098402B2 (en) 2012-12-21 2015-08-04 Intel Corporation Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US9715445B2 (en) 2013-03-14 2017-07-25 Sandisk Technologies Llc File differentiation based on data block identification
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
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
US10152327B2 (en) 2013-03-15 2018-12-11 Intel Corporation Apparatus for gating a load operation based on entries of a prediction table
US20140281129A1 (en) * 2013-03-15 2014-09-18 Tal Heller Data tag sharing from host to storage systems
US10467010B2 (en) 2013-03-15 2019-11-05 Intel Corporation Method and apparatus for nearest potential store tagging
EP2972798B1 (de) 2013-03-15 2020-06-17 Intel Corporation Verfahren und vorrichtung für eine gastadressenstapelemulation mit unterstützung einer spekulation
KR102023351B1 (ko) 2013-03-19 2019-11-04 삼성전자 주식회사 저장 장치 내 할당 촉진을 위한 데이터 분석 방법 및 장치
JP6070371B2 (ja) * 2013-03-29 2017-02-01 富士通株式会社 データ配置プログラム、及び情報処理装置
WO2014209234A1 (en) * 2013-06-26 2014-12-31 Agency For Science, Technology And Research Method and apparatus for hot data region optimized dynamic management
KR101481633B1 (ko) * 2013-07-03 2015-01-15 아주대학교산학협력단 플래시 메모리 기반 세가지 상태를 가지는 버퍼 관리 장치 및 방법
US9563371B2 (en) * 2013-07-26 2017-02-07 Globalfoundreis Inc. Self-adjusting phase change memory storage module
KR102133362B1 (ko) 2013-08-14 2020-07-15 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 및 그것의 프로그램 방법
CN103744796A (zh) * 2013-09-29 2014-04-23 记忆科技(深圳)有限公司 采用uSSD实现缓存的方法及其系统
CN103617007B (zh) * 2013-12-04 2017-06-23 深圳市华云中盛科技有限公司 多级智能存储实现方法和系统
CN103631538B (zh) 2013-12-05 2017-04-05 华为技术有限公司 冷热数据识别门限值计算方法、装置和系统
US9323457B2 (en) * 2013-12-09 2016-04-26 Xilinx, Inc. Memory arrangement for implementation of high-throughput key-value stores
US9720623B2 (en) * 2013-12-30 2017-08-01 Teradata Us, Inc. Management of data in multi-storage systems that can include non-volatile and volatile storages
CN103713861A (zh) * 2014-01-09 2014-04-09 浪潮(北京)电子信息产业有限公司 一种基于层次划分的文件处理方法及系统
US10061532B2 (en) 2014-01-30 2018-08-28 Hewlett Packard Enterprise Development Lp Migrating data between memories
US9921747B2 (en) 2014-01-31 2018-03-20 Hewlett Packard Enterprise Development Lp Unifying memory controller
KR102218712B1 (ko) 2014-02-11 2021-02-22 삼성전자주식회사 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법
CN104915298B (zh) * 2014-03-13 2019-02-12 腾讯科技(北京)有限公司 关系链处理方法及装置
CN104932830B (zh) * 2014-03-17 2019-01-15 联想(北京)有限公司 信息处理方法及电子设备
KR102289919B1 (ko) * 2014-04-15 2021-08-12 삼성전자주식회사 스토리지 컨트롤러, 스토리지 장치, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
CN104391652A (zh) * 2014-10-20 2015-03-04 北京兆易创新科技股份有限公司 一种硬盘的损耗均衡方法及装置
KR101691286B1 (ko) * 2014-12-10 2017-01-09 한양대학교 산학협력단 입출력 정보 공유 방법, 상기 방법을 수행하는 저장 장치 및 호스트 장치
CN104461397A (zh) * 2014-12-19 2015-03-25 上海新储集成电路有限公司 一种固态硬盘及其读写方法
KR102295223B1 (ko) * 2015-01-13 2021-09-01 삼성전자주식회사 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치
US9564216B2 (en) 2015-01-30 2017-02-07 Macronix International Co., Ltd. Stress trim and modified ISPP procedures for PCM
CN104793901B (zh) * 2015-04-09 2018-01-23 北京鲸鲨软件科技有限公司 一种存储装置及存储方法
CN104808953B (zh) * 2015-05-07 2018-11-27 广东欧珀移动通信有限公司 控制数据存储的方法、装置及移动终端
CN106354718B (zh) * 2015-07-13 2021-05-25 中国移动通信集团公司 用户识别模块的文件管理方法及装置
KR20170009000A (ko) * 2015-07-15 2017-01-25 에스케이하이닉스 주식회사 메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법
JP6538496B2 (ja) * 2015-09-11 2019-07-03 東芝メモリ株式会社 メモリシステム
KR102333220B1 (ko) * 2015-09-24 2021-12-01 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
CN105869028A (zh) * 2015-11-11 2016-08-17 乐卡汽车智能科技(北京)有限公司 订单回退处理系统、处理方法以及业务支撑系统
US9832277B2 (en) * 2015-11-13 2017-11-28 Western Digital Technologies, Inc. Systems and methods for adaptive partitioning in distributed cache memories
US9934154B2 (en) * 2015-12-03 2018-04-03 Samsung Electronics Co., Ltd. Electronic system with memory management mechanism and method of operation thereof
JP2017107321A (ja) * 2015-12-08 2017-06-15 京セラドキュメントソリューションズ株式会社 電子機器およびデータアクセス制御プログラム
CN112416812A (zh) 2015-12-30 2021-02-26 华为技术有限公司 访问请求处理方法、装置及计算机系统
CN108431783B (zh) 2015-12-30 2020-09-18 华为技术有限公司 访问请求处理方法、装置及计算机系统
CN105760114B (zh) * 2016-02-05 2020-07-03 浪潮(北京)电子信息产业有限公司 一种并行文件系统资源管理方法、装置和系统
CN113377695B (zh) * 2016-03-17 2024-04-12 北京忆恒创源科技股份有限公司 读写分离的固态存储设备的数据分布方法
US10452539B2 (en) 2016-07-19 2019-10-22 Sap Se Simulator for enterprise-scale simulations on hybrid main memory systems
US10474557B2 (en) 2016-07-19 2019-11-12 Sap Se Source code profiling for line-level latency and energy consumption estimation
US10387127B2 (en) 2016-07-19 2019-08-20 Sap Se Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases
US10540098B2 (en) 2016-07-19 2020-01-21 Sap Se Workload-aware page management for in-memory databases in hybrid main memory systems
US10698732B2 (en) * 2016-07-19 2020-06-30 Sap Se Page ranking in operating system virtual pages in hybrid memory systems
US10437798B2 (en) 2016-07-19 2019-10-08 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10783146B2 (en) 2016-07-19 2020-09-22 Sap Se Join operations in hybrid main memory systems
KR102550343B1 (ko) 2016-07-27 2023-07-03 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 그것의 동작 방법
CN106503079A (zh) * 2016-10-10 2017-03-15 语联网(武汉)信息技术有限公司 一种日志管理方法及系统
CN106406771B (zh) * 2016-10-20 2019-10-11 福建天泉教育科技有限公司 日志记录方法及日志记录器
US10649665B2 (en) 2016-11-08 2020-05-12 Micron Technology, Inc. Data relocation in hybrid memory
CN107122126B (zh) * 2016-12-22 2020-09-08 华为技术有限公司 数据的迁移方法、装置和系统
CN108268485B (zh) * 2016-12-30 2021-04-30 亿阳安全技术有限公司 一种日志实时分析方法及系统
CN106873912B (zh) * 2017-02-16 2020-02-07 苏州浪潮智能科技有限公司 Tlc芯片固态硬盘的动态分区存储方法及装置、系统
US10318175B2 (en) * 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types
US10761750B2 (en) * 2017-03-09 2020-09-01 Netapp Inc. Selectively storing data into allocation areas using streams
CN107341112A (zh) * 2017-06-29 2017-11-10 西安交通大学 一种基于页面访问间隔的闪存数据缓冲区置换方法
CN107368436B (zh) * 2017-06-29 2020-08-18 西安交通大学 一种联合地址映射表的闪存冷热数据分离存储方法
CN107291633A (zh) * 2017-07-14 2017-10-24 长沙开雅电子科技有限公司 一种新型集群存储写缓存分级管理方法
US11010379B2 (en) 2017-08-15 2021-05-18 Sap Se Increasing performance of in-memory databases using re-ordered query execution plans
CN107480073A (zh) * 2017-08-20 2017-12-15 长沙曙通信息科技有限公司 一种存储系统热点数据缓存预读实现方法
CN107562378A (zh) * 2017-08-28 2018-01-09 记忆科技(深圳)有限公司 一种提升固态存储设备寿命的方法
US11100996B2 (en) * 2017-08-30 2021-08-24 Micron Technology, Inc. Log data storage for flash memory
CN107748649B (zh) * 2017-09-18 2021-03-30 北京京东尚科信息技术有限公司 一种缓存数据的方法和装置
US10909271B2 (en) 2017-09-28 2021-02-02 Citrix Systems, Inc. Policy based persistence
CN107621927B (zh) * 2017-09-29 2020-08-14 南京宏海科技有限公司 一种基于超融合系统的纵向扩展方法及其装置
US10915475B2 (en) * 2017-10-12 2021-02-09 Western Digital Technologies, Inc. Methods and apparatus for variable size logical page management based on hot and cold data
CN107844269B (zh) * 2017-10-17 2020-06-02 华中科技大学 一种基于一致性哈希的分层混合存储系统
CN107967121B (zh) 2017-10-25 2020-04-14 华为技术有限公司 数据写入方法和存储设备
CN107807796B (zh) * 2017-11-17 2021-03-05 北京联想超融合科技有限公司 一种基于超融合存储系统的数据分层方法、终端及系统
CN108108131B (zh) * 2017-12-29 2020-09-22 深圳忆联信息系统有限公司 一种ssd硬盘的数据处理方法和装置
KR20190085642A (ko) * 2018-01-11 2019-07-19 에스케이하이닉스 주식회사 메모리 시스템
KR102535104B1 (ko) 2018-03-19 2023-05-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN108519862B (zh) * 2018-03-30 2020-03-17 百度在线网络技术(北京)有限公司 区块链系统的存储方法、装置、系统和存储介质
US10776268B2 (en) * 2018-04-19 2020-09-15 Western Digital Technologies, Inc. Priority addresses for storage cache management
CN108984124B (zh) * 2018-07-13 2022-03-25 深圳忆联信息系统有限公司 减少写放大的方法、装置、计算机设备及存储介质
CN108920107B (zh) * 2018-07-13 2022-02-01 深圳忆联信息系统有限公司 筛选冷数据的方法、装置、计算机设备及存储介质
CN108920108B (zh) * 2018-07-13 2022-02-01 深圳忆联信息系统有限公司 冷数据的筛选方法、装置、计算机设备及存储介质
CN110737391B (zh) * 2018-07-20 2023-08-22 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
US11010410B1 (en) * 2018-10-12 2021-05-18 Facebook, Inc. Processing data groupings belonging to data grouping containers
US11188250B2 (en) 2018-10-25 2021-11-30 Micron Technology, Inc. Two-stage hybrid memory buffer for multiple streams
CN109407995B (zh) * 2018-11-05 2020-03-27 北京三快在线科技有限公司 冷热数据管理方法、装置、电子设备及计算机可读介质
US11163473B2 (en) * 2018-11-19 2021-11-02 Micron Technology, Inc. Systems, devices, techniques, and methods for data migration
US11182090B2 (en) 2018-11-19 2021-11-23 Micron Technology, Inc. Systems, devices, and methods for data migration
US11256437B2 (en) 2018-11-19 2022-02-22 Micron Technology, Inc. Data migration for memory operation
KR20200078047A (ko) 2018-12-21 2020-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN109739646A (zh) * 2018-12-28 2019-05-10 北京神州绿盟信息安全科技股份有限公司 一种数据处理方法及装置
CN109799958A (zh) * 2019-01-17 2019-05-24 湖南大学 固态硬盘及其数据处理方法
KR20200092710A (ko) * 2019-01-25 2020-08-04 주식회사 리얼타임테크 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치
CN110134514B (zh) * 2019-04-18 2021-04-13 华中科技大学 基于异构内存的可扩展内存对象存储系统
CN110109620B (zh) * 2019-04-25 2023-08-04 上海淇毓信息科技有限公司 混合存储方法、装置和电子设备
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
US11088707B2 (en) * 2019-06-29 2021-08-10 Intel Corporation Low density parity check (LDPC) decoder architecture with check node storage (CNS) or bounded circulant
US11036434B2 (en) 2019-08-22 2021-06-15 Micron Technology, Inc. Hierarchical memory systems
CN110531938A (zh) * 2019-09-02 2019-12-03 广东紫晶信息存储技术股份有限公司 一种基于多维度的冷热数据迁移方法及系统
CN111078144A (zh) * 2019-11-30 2020-04-28 苏州浪潮智能科技有限公司 一种提高自动分层效率的方法、系统、终端及存储介质
KR20210077230A (ko) * 2019-12-17 2021-06-25 에스케이하이닉스 주식회사 메모리 시스템의 동작 방법 및 장치
CN113010091B (zh) * 2019-12-20 2023-06-16 华为技术有限公司 数据写入固态硬盘的方法、垃圾回收的方法、装置
CN111506262B (zh) * 2020-03-25 2021-12-28 华为技术有限公司 一种存储系统、文件存储和读取方法及终端设备
CN111581024A (zh) * 2020-05-06 2020-08-25 深圳忆联信息系统有限公司 Ssd日志的动态备份恢复方法、装置和计算机设备
CN111722804B (zh) * 2020-06-12 2022-07-08 浪潮电子信息产业股份有限公司 一种非易失内存调度的方法、系统、设备及可读存储介质
CN112114748B (zh) * 2020-09-02 2022-10-25 厦门安胜网络科技有限公司 一种用于冷热数据的分离方法和系统
CN112214169B (zh) * 2020-09-28 2021-08-10 深圳大学 一种数据存储装置及存储数据的迁移方法
KR102619300B1 (ko) * 2020-11-27 2023-12-29 한양대학교 에리카산학협력단 데이터 저장 처리 장치 및 방법
US11515891B2 (en) 2020-12-22 2022-11-29 Intel Corporation Application of low-density parity-check codes with codeword segmentation
CN112650453A (zh) * 2020-12-31 2021-04-13 北京千方科技股份有限公司 一种用于存储、查询交通数据的方法和系统
US11681471B2 (en) * 2021-04-07 2023-06-20 EMC IP Holding Company LLC Bypassing of tier-1 storage in a streaming data storage system
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
KR20220169772A (ko) 2021-06-21 2022-12-28 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11822699B1 (en) * 2021-10-21 2023-11-21 Secure Computing, Llc Preventing surreptitious access to file data by malware
KR20230059911A (ko) * 2021-10-26 2023-05-04 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060152981A1 (en) 2005-01-11 2006-07-13 Ryu Dong-Ryul Solid state disk controller apparatus

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628246A (ja) * 1991-06-24 1994-02-04 Nec Corp 記憶装置
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
JPH08314794A (ja) * 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
US5671388A (en) * 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
KR100205240B1 (ko) * 1996-09-13 1999-07-01 윤종용 단일 비트 및 다중 비트 셀들이 장착된 불휘발성 반도체 메모리 장치
JP3282525B2 (ja) * 1996-12-20 2002-05-13 松下電器産業株式会社 データ管理装置及びネットワークデータ管理システム
WO2000004483A2 (en) * 1998-07-15 2000-01-27 Imation Corp. Hierarchical data storage management
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US7457897B1 (en) * 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
US6701421B1 (en) * 2000-08-17 2004-03-02 International Business Machines Corporation Application-level memory affinity control
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
JP2003022687A (ja) 2001-07-09 2003-01-24 Mitsubishi Electric Corp 半導体記憶装置
JP2003216460A (ja) 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
WO2004025476A1 (en) * 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
US7010645B2 (en) * 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data
US8788764B2 (en) * 2003-10-08 2014-07-22 Oracle International Corporation Access controller for storage devices
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US8315973B1 (en) * 2004-09-28 2012-11-20 Symantec Operating Corporation Method and apparatus for data moving in multi-device file systems
KR100704037B1 (ko) * 2005-04-15 2007-04-04 삼성전자주식회사 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법
US8010764B2 (en) * 2005-07-07 2011-08-30 International Business Machines Corporation Method and system for decreasing power consumption in memory arrays having usage-driven power management
KR101257848B1 (ko) * 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
SG130988A1 (en) * 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
CN101273413B (zh) * 2005-09-29 2011-11-16 特科2000国际有限公司 使用单层单元和多层单元闪速存储器的便携式数据存储
US7558913B2 (en) * 2006-06-20 2009-07-07 Microsoft Corporation Atomic commit of cache transfer with staging area
US7496711B2 (en) * 2006-07-13 2009-02-24 International Business Machines Corporation Multi-level memory architecture with data prioritization
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR100833188B1 (ko) * 2006-11-03 2008-05-28 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
US7730171B2 (en) * 2007-05-08 2010-06-01 Teradata Us, Inc. Decoupled logical and physical data storage within a database management system
US7849275B2 (en) * 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7975105B1 (en) * 2007-12-03 2011-07-05 Yingju Sun Solid state storage devices with changeable capacity

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060152981A1 (en) 2005-01-11 2006-07-13 Ryu Dong-Ryul Solid state disk controller apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014111990B4 (de) 2013-09-18 2023-11-30 Intel Corporation Heterogener Speicherzugriff
DE102014216130A1 (de) * 2014-08-13 2016-02-18 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Speicherung von Protokollierungsdaten

Also Published As

Publication number Publication date
US20110138115A1 (en) 2011-06-09
JP2009048613A (ja) 2009-03-05
US20140122783A1 (en) 2014-05-01
JP2013242908A (ja) 2013-12-05
KR20090017238A (ko) 2009-02-18
US20130042058A1 (en) 2013-02-14
CN101369451A (zh) 2009-02-18
US20090049234A1 (en) 2009-02-19
US9208079B2 (en) 2015-12-08
US20150261667A1 (en) 2015-09-17
KR101498673B1 (ko) 2015-03-09
US20160231941A1 (en) 2016-08-11
US8626996B2 (en) 2014-01-07
US20140337566A1 (en) 2014-11-13
CN103400598A (zh) 2013-11-20
US20140101377A1 (en) 2014-04-10

Similar Documents

Publication Publication Date Title
DE102008036822A1 (de) Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem
DE102008057219B4 (de) Verfahren zum Betreiben eines Solid-State-Speichersystems, Solid-State-Speichersystem und Computersystem
DE102017104150B4 (de) Abnutzungsausgleich in Speichervorrichtungen
DE102020106971A1 (de) Datenschreibverwaltung im nichtflüchtigen speicher
DE112020005060T5 (de) Ratengrenze für den übergang von zonen zum öffnen
DE102019132371A1 (de) Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher
DE102020112512A1 (de) Datenspeichergerät und Betriebsverfahren dafür
DE112014006118B4 (de) Spekulatives Vorab-Holen von in einem Flash-Speicher gespeicherten Daten
DE102020107659A1 (de) Zonenbildung für gezonte namensräume
DE102018214013A1 (de) Automatische kontinuierliche Prüfpunktsetzung
DE102017104125A1 (de) Zonen von Übersetzungstabellen von logischen in physische Datenadressen mit parallelisiertem Log-Listenreplay
DE102015012566A1 (de) Mehrlagenkonzept für logische speicherungsverwaltung
DE102017113439A1 (de) Abbildungstabellen für Speichervorrichtungen
DE102018105984A1 (de) Prioritätsbasierte interne Datenverschiebung
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE102018105854A1 (de) Dynamische Größenanpassung logischer Speicherblöcke
DE102013020269A1 (de) Umordnen des Zurückschickens für einen Host-Lesebefehl basierend auf der Zeitschätzung des Abschlusses eines Flash-Lesebefehls
DE112019005511T5 (de) Halten von schreibbefehlen in gezonten namensräumen
DE112020002792B4 (de) Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern
DE102018123880A1 (de) Adaptive Verwaltung von Zwischenspeichern
DE102016009807A1 (de) Korrelieren von physikalischen seitenadressen für soft-decision-dekodierung
DE112020004591T5 (de) L2P-Übersetzungstechniken in begrenzten RAM-Systemen
DE102021115763A1 (de) Identifizierung und klassifizierung der schreibstrompriorität
DE112017005782T5 (de) Warteschlange für Speichervorgänge

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R409 Internal rectification of the legal status completed
R409 Internal rectification of the legal status completed
R005 Application deemed withdrawn due to failure to request examination