DE102022208699A1 - Hostvorrichtung, speichersteuerung und computersystem mit derselben - Google Patents

Hostvorrichtung, speichersteuerung und computersystem mit derselben Download PDF

Info

Publication number
DE102022208699A1
DE102022208699A1 DE102022208699.6A DE102022208699A DE102022208699A1 DE 102022208699 A1 DE102022208699 A1 DE 102022208699A1 DE 102022208699 A DE102022208699 A DE 102022208699A DE 102022208699 A1 DE102022208699 A1 DE 102022208699A1
Authority
DE
Germany
Prior art keywords
data
memory
host
storage
information
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.)
Pending
Application number
DE102022208699.6A
Other languages
English (en)
Inventor
Jeong Hyun Kim
Byong Woo Ryu
Ji Hun Choi
Sung Ju YOO
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of DE102022208699A1 publication Critical patent/DE102022208699A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0656Data buffering 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine Hostvorrichtung kann die Zuverlässigkeit der in einem Hostspeicherpuffer (HMB) gespeicherten Daten verbessern. Die Hostvorrichtung umfasst: den HMB, der eine Vielzahl von Speicherbereichen umfasst, wobei jeder Speicherbereich eingerichtet ist, um Daten zu speichern, die von einem Speichergerät bereitgestellt werden, das mit der Hostvorrichtung in Verbindung steht; und eine Hoststeuerung, die eingerichtet ist, um Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen zu erzeugen, und die mit dem Speichergerät in Verbindung steht, um die Zuverlässigkeitsinformationen an das Speichergerät bereitzustellen.

Description

  • TECHNISCHES GEBIET
  • Die Technologie und Umsetzungen, die in diesem Dokument der Patentanmeldung offenbart sind, betreffen eine elektronische Vorrichtung und insbesondere eine Hostvorrichtung, eine Speichervorrichtung und ein Computersystem mit derselben.
  • HINTERGRUND
  • Speichergeräte beziehen sich auf elektronische Komponenten, die eingerichtet sind, um Daten auf der Grundlage einer Steuerung einer Hostvorrichtung, wie z.B. eines Computers oder eines Smartphones, zu speichern. Das Speichergerät kann eine Speichervorrichtung zum Speichern von Daten und eine Speichersteuerung zum Steuern der Speichervorrichtung umfassen. Die Speichervorrichtung wird unterteilt in eine flüchtige Speichervorrichtung und eine nichtflüchtige Speichervorrichtung in Abhängigkeit von ihrer Fähigkeit, gespeicherte Daten bei fehlender Stromversorgung zu halten.
  • Eine flüchtige Speichervorrichtung kann Daten nur speichern, wenn sie mit Strom versorgt wird. Daher verliert eine solche flüchtige Speichervorrichtung ihre Daten bei fehlender Stromversorgung. Beispiele für flüchtige Speichervorrichtungen können einen statischen Direktzugriffsspeicher (Static Random Access Memory - SRAM) oder einen dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory - DRAM) umfassen.
  • Eine nichtflüchtige Speichervorrichtung ist eine Speichervorrichtung, die ihre Daten auch ohne Stromversorgung beibehalten kann. Beispiele für nichtflüchtige Speichervorrichtungen umfassen einen Nur-Lese-Speicher (Read Only Memory - ROM), einen programmierbaren ROM (Programmable ROM - PROM), einen elektrisch programmierbaren ROM (Electrically Programmable ROM - EPROM), einen elektrisch löschbaren ROM (Electrically Erasable ROM - EEROM) oder einen Flash-Speicher.
  • ZUSAMMENFASSUNG
  • Ausführungsformen stellen eine Hostvorrichtung, die in der Lage ist, die Zuverlässigkeit von in einem Hostspeicherpuffer (HMB) gespeicherten Daten zu verbessern, eine Speichervorrichtung und ein Computersystem mit derselben bereit.
  • Gemäß einer Ausgestaltung der vorliegenden Offenbarung wird eine Hostvorrichtung bereitgestellt, umfassend: einen Hostspeicherpuffer (Host Memory Buffer - HMB), der eine Vielzahl von Speicherbereichen umfasst, wobei jeder Speicherbereich eingerichtet ist, um Daten zu speichern, die von einem Speichergerät bereitgestellt werden, das mit der Hostvorrichtung kommuniziert bzw. in Verbindung steht; und eine Hoststeuerung (Host-Controller), die eingerichtet ist, um Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen zu erzeugen, und die mit dem Speichergerät kommuniziert bzw. in Verbindung steht, um die Zuverlässigkeitsinformationen an das Speichergerät bereitzustellen.
  • Gemäß einer anderen Ausgestaltung der vorliegenden Offenbarung wird eine Speichersteuerung bereitgestellt, umfassend: einen Datenbedeutungs-Informationsgenerator, der eingerichtet ist, um Bedeutungsinformationen von Daten zu erzeugen; und eine Hostspeicher-Puffersteuerung, die eingerichtet ist, um Zuverlässigkeitsinformationen von jedem einer Vielzahl von Speicherbereichen von einer Hostvorrichtung zu empfangen, wobei die Vielzahl von Speicherbereichen in einem Hostspeicherpuffer (HMB) der Hostvorrichtung umfasst ist, und um die Daten auf der Grundlage der Bedeutungsinformationen und der Zuverlässigkeitsinformationen in einem Speicherbereich unter der Vielzahl von Speicherbereichen zu speichern.
  • Gemäß noch einer weiteren Ausgestaltung der vorliegenden Offenbarung wird eine Speichersteuerung bereitgestellt, umfassend: eine Hostspeicher-Puffersteuerung, die eingerichtet ist, um von einer Hostvorrichtung, die einen Hostspeicherpuffer (HMB) umfasst, der zum Speichern von Daten eingerichtet ist, Datenverlust-Vorhersageinformationen zu empfangen, die einen Verlust der in dem HMB der Hostvorrichtung gespeicherten Daten vorhersagen, und um die Daten von der Hostvorrichtung als Antwort auf die Datenverlust-Vorhersageinformationen anzufordern; und eine Schreibvorgangssteuerung, die eingerichtet ist, um Daten von der Hostvorrichtung zu empfangen und eine mit der Speichersteuerung kommunizierende bzw. in Verbindung stehende Speichervorrichtung zu steuern, um die Daten zu speichern.
  • Gemäß noch einer weiteren Ausgestaltung der vorliegenden Offenbarung wird ein Computersystem bereitgestellt, umfassend: eine Hostvorrichtung, die einen Hostspeicherpuffer (HMB) mit einer Vielzahl von Speicherbereichen umfasst, die zum Speichern von Daten eingerichtet sind, wobei die Hostvorrichtung eingerichtet ist, um Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen zu erzeugen; und ein Speichergerät, das mit der Hostvorrichtung kommuniziert bzw. in Verbindung steht und eingerichtet ist, um die Daten auf der Grundlage der Wichtigkeit der Daten und der Zuverlässigkeitsinformationen in einem Speicherbereich unter der Vielzahl von Speicherbereichen zu speichern.
  • Figurenliste
  • Ausführungsbeispiele werden nun im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen ausführlicher beschrieben; sie können jedoch in verschiedenen Formen ausgebildet sein und sollten nicht als auf die hier dargestellten Ausführungsformen beschränkt verstanden werden.
  • In den Zeichnungen können die Abmessungen zur besseren Veranschaulichung übertrieben dargestellt sein. Es versteht sich, dass, wenn ein Element als „zwischen“ zwei Elementen bezeichnete wird, es das einzige Element zwischen den beiden Elementen sein kann, oder dass ein oder mehrere dazwischenliegende Elemente ebenfalls vorhanden sein können. Gleiche Bezugszeichen beziehen sich durchgehend auf gleiche Elemente.
    • 1 zeigt ein Diagramm, das ein Computersystem gemäß einer Ausführungsform der offenbarten Technologie darstellt.
    • 2 zeigt ein Diagramm, das Vorgänge zwischen einer Hostvorrichtung, einem Hostspeicherpuffer und einer Speichersteuerung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
    • 3 zeigt ein Diagramm, das Zuverlässigkeitsinformationen gemäß einer Ausführungsform der offenbarten Technologie darstellt.
    • 4 zeigt ein Diagramm, das Vorgänge zwischen der Hostvorrichtung, dem Hostspeicherpuffer, der Speichersteuerung und einer Speichervorrichtung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
    • 5 zeigt ein Diagramm, das Datenverlust-Vorhersageinformationen gemäß einer Ausführungsform der offenbarten Technologie darstellt.
    • 6 zeigt ein Diagramm, das ein Beispiel eines Betriebsverfahrens einer Speichersteuerung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
    • 7 zeigt ein Diagramm, das ein weiteres Beispiel für ein Betriebsverfahren einer Speichersteuerung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
    • 8 zeigt ein Diagramm, das die in 1 gezeigte Speichervorrichtung darstellt.
    • 9 zeigt ein Schaltbild, das einen Speicherblock der in 8 gezeigten Speicherblöcke darstellt.
    • 10 zeigt ein Diagramm, das ein weiteres Beispiel der in 1 gezeigten Speichersteuerung darstellt.
    • 11 zeigt ein Blockdiagramm, das ein Speicherkartensystem darstellt, auf das ein Speichergerät gemäß einer Ausführungsform der offenbarten Technologie angewendet ist.
    • 12 zeigt ein Blockdiagramm, das ein Solid-State-Drive (SSD)-System darstellt, auf das das Speichergerät gemäß einer Ausführungsform der offenbarten Technologie angewendet ist.
    • 13 zeigt ein Blockdiagramm, das ein Benutzersystem darstellt, auf das das Speichergerät gemäß einer Ausführungsform der offenbarten Technologie angewendet ist.
  • DETAILLIERTE BESCHREIBUNG
  • Die spezifische strukturelle oder funktionelle Beschreibung, die hier offenbart wird, stellt lediglich eine Veranschaulichung zum Zweck der Beschreibung von Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung dar. Die Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung können in verschiedenen Formen realisiert werden und sind nicht als auf die hier dargelegten Ausführungsformen beschränkt auszulegen.
  • 1 zeigt ein Diagramm, das ein Computersystem gemäß einer Ausführungsform der offenbarten Technologie darstellt.
  • Unter Bezugnahme auf 1 kann das Computersystem 10 ein Speichergerät 50 und eine Hostvorrichtung 300 umfassen.
  • Das Speichergerät 50 kann eine Speichervorrichtung 100 und eine Speichersteuerung 200 zum Steuern eines Betriebs der Speichervorrichtung 100 umfassen. Bei dem Speichergerät 50 kann es sich um ein Gerät bzw. eine Vorrichtung zum Speichern von Daten auf der Grundlage der Steuerung der Hostvorrichtung 300 handeln, wie z.B. ein Mobiltelefon, ein Smartphone, ein MP3-Player, ein Laptop-Computer, ein Desktop-Computer, eine Spielkonsole, ein Fernsehgerät, ein Tablet-PC oder ein Infotainment-System in einem Kraftfahrzeug.
  • Das Speichergerät 50 kann gemäß einer Hostschnittstelle, bei der es sich um ein Kommunikationsschema mit der Hostvorrichtung 300 handelt, als eine beliebige von verschiedenen Arten von Speichergeräten hergestellt werden. Zum Beispiel kann das Speichergerät 50 mit einer beliebigen Art von Speichergeräten realisiert werden, wie einem Solid-State-Drive (SSD), einer Multi-Media Card (MMC), einer Embedded MMC (eMMC), einer Reduced Size MMC (RS-MMC), einer Micro-MMC (micro-MMC), eine Secure Digital (SD)-Karte, einer Mini-SD-Karte, einer Micro-SD-Karte, einem Universal Serial Bus (USB)-Speichergerät, einer Universal Flash Storage (UFS)-Vorrichtung, einer Compact Flash (CF)-Karte, einer Smart Media Card (SMC), einem Memory Stick oder andere.
  • Das Speichergerät 50 kann als eine beliebige von verschiedenen Arten von Gehäusetypen hergestellt werden. Zum Beispiel kann das Speichergerät 50 als eine von verschiedenen Arten von Gehäusetypen hergestellt werden, wie ein Package-On-Package (POP), ein System-In-Package (SIP), ein System-On-Chip (SOC), ein Multi-Chip Package (MCP), ein Chip-On-Board (COB), ein Wafer-Level Fabricated Package (WFP) und ein Wafer-Level Stack Package (WSP).
  • Die Speichervorrichtung 100 kann Daten speichern. Die Speichervorrichtung 100 kann auf der Grundlage der Steuerung durch die Speichersteuerung 200 arbeiten bzw. betrieben werden. Die Speichervorrichtung 100 kann ein Speicherzellenfeld (nicht gezeigt) umfassen, das eine Vielzahl von Speicherzellen zum Speichern von Daten umfasst.
  • Jede der Speicherzellen kann als eine Single-Level-Zelle (SLC), die ein Datenbit speichert, eine Multi-Level-Zelle (MLC), die zwei Datenbits speichert, eine Triple-Level-Zelle (TLC), die drei Datenbits speichert, und eine Quadruple-Level-Zelle (QLC), die vier Datenbits speichert, ausgeführt sein.
  • Das (nicht gezeigte) Speicherzellenfeld kann eine Vielzahl von Speicherblöcken umfassen. Jeder Speicherblock kann eine Vielzahl von Speicherzellen umfassen. Ein Speicherblock kann eine Vielzahl von Seiten umfassen. In einer Ausführungsform kann die Seite eine Einheit zum Speichern von Daten in der Speichervorrichtung 100 oder zum Lesen von in der Speichervorrichtung 100 gespeicherten Daten sein. Der Speicherblock kann eine Einheit zum Löschen von Daten sein.
  • In einer Ausführungsform kann die Speichervorrichtung 100 ein synchroner dynamischer Direktzugriffsspeicher mit doppelter Datenrate (DDR-SDRAM - Double Data Rate Synchronous Dynamic Random Access Memory), ein SDRAM mit doppelter Datenrate4 mit niedriger Leistung (LPDDR4 - Low Power Double Data Rate4), ein Grafik-SDRAM mit doppelter Datenrate (GDDR - Graphics Double Data Rate), ein DDR mit niedriger Leistung (LPDDR - Low Power DDR)), ein dynamischer Rambus-Direktzugriffsspeicher (RDRAM - Rambus Dynamic Random Access Memory), ein NAND-Flash-Speicher, ein vertikaler NAND-Flash-Speicher, ein NOR-Flash-Speicher, ein resistiver Direktzugriffsspeicher (RRAM - Resistive RAM), ein Phasenwechselspeicher (PRAM - Phase-Change Memory), ein magnetoresistiver Direktzugriffsspeicher (MRAM - Magnetoresistive RAM), ein ferroelektrischer Direktzugriffsspeicher (FRAM - Ferroelectric RAM), ein Spin-Transfer-Torque-Direktzugriffsspeicher (STT-RAM) oder dergleichen sein. In diesem Dokument der Patentanmeldung wird die Speichervorrichtung 100 nur als ein Beispiel als NAND-Flash-Speicher angenommen, aber andere Umsetzungen sind ebenfalls möglich.
  • Die Speichervorrichtung 100 kann einen Befehl CMD und eine Adresse ADDR von der Speichersteuerung 200 empfangen und auf einen durch die Adresse ADDR ausgewählten Bereich im Speicherzellenfeld zugreifen. Die Speichervorrichtung 100 kann einen durch den Befehl CMD angegebenen Vorgang in dem durch die Adresse ADDR ausgewählten Bereich durchführen. Zum Beispiel kann die Speichervorrichtung 100 einen Schreibvorgang (Programmiervorgang), einen Lesevorgang und einen Löschvorgang durchführen. Bei der Schreibvorgang kann die Speichervorrichtung 100 Daten in dem durch die Adresse ADDR ausgewählten Bereich programmieren. Bei dem Lesevorgang kann die Speichervorrichtung 100 Daten aus dem durch die Adresse ADDR ausgewählten Bereich lesen. Bei dem Löschvorgang kann die Speichervorrichtung 100 Daten löschen, die in dem durch die Adresse ADDR ausgewählten Bereich gespeichert sind.
  • Die Speichersteuerung 200 kann einen Gesamtbetrieb des Speichergeräts 50 steuern.
  • Wenn das Speichergerät 50 mit Strom versorgt wird, kann die Speichersteuerung 200 Firmware (FW) ausführen. Wenn die Speichervorrichtung 100 eine Flash-Speichervorrichtung ist, kann die FW eine Host-Schnittstellenschicht (Host Interface Layer - HIL) zum Steuern der Kommunikation mit der Hostvorrichtung 300, eine Flash-Übersetzungsschicht (Flash Translation Layer - FTL) zum Steuern der Kommunikation zwischen der Hostvorrichtung 300 und der Speichervorrichtung 100 und eine Flash-Schnittstellenschicht (Flash Interface Layer - FIL) zum Steuern der Kommunikation mit der Speichervorrichtung 100 umfassen.
  • In einer Ausführungsform kann die Speichersteuerung 200 Daten und eine logische Blockadresse (LBA) von der Hostvorrichtung 300 empfangen und die LBA in eine physikalische Blockadresse (PBA) übersetzen, die Adressen von Speicherzellen darstellen, die in der Speichervorrichtung 100 umfasst sind, in denen Daten gespeichert werden sollen. In diesem Dokument der Patentanmeldung können die Begriffe LBA, „Logikadresse“ und „logische Adresse“ die gleiche Bedeutung aufweisen. In diesem Dokument der Patentanmeldung können die Begriffe PBA und „physikalische Adresse“ die gleiche Bedeutung aufweisen.
  • Die Speichersteuerung 200 kann die Speichervorrichtung 100 zum Durchführen eines Schreibvorgangs, eines Lesevorgangs, eines Löschvorgangs oder anderer Vorgänge als Antwort auf eine Anforderung der Hostvorrichtung 300 steuern. In dem Schreibvorgang kann die Speichersteuerung 200 einen Schreibbefehl, eine PBA und Daten an die Speichervorrichtung 100 bereitstellen. In dem Lesevorgang kann die Speichersteuerung 200 an die Speichervorrichtung 100 einen Lesebefehl und eine PBA bereitstellen. In dem Löschvorgang kann die Speichersteuerung 200 an die Speichervorrichtung 100 einen Löschbefehl und eine PBA bereitstellen.
  • In einer Ausführungsform kann die Speichersteuerung 200 über einen Kanal mit der Speichervorrichtung 100 verbunden sein. Die Speichersteuerung 200 kann zum Beispiel die Speichervorrichtung 100 steuern, um einen Schreibvorgang, einen Lesevorgang, einen Löschvorgang oder dergleichen durchzuführen, indem sie an die Speichervorrichtung 100 über den Kanal einen Befehl und eine Adresse bereitstellt.
  • In einer Ausführungsform kann die Speichersteuerung 200 unabhängig von einer Anforderung von der Hostvorrichtung 300 autonom einen Befehl, eine Adresse und Daten erzeugen und den Befehl, die Adresse und die Daten an die Speichervorrichtung 100 übertragen. Beispielsweise kann die Speichersteuerung 200 an die Speichervorrichtung 100 einen Befehl, eine Adresse und Daten bereitstellen, die zum Durchführen von Lese- und Programmvorgängen verwendet werden, die mit dem Durchführen von Abnutzungsausgleich (Wear Leveling), Read Reclaim, Speicherbereinigung (Garbage Collection) usw. einhergehen.
  • In einer Ausführungsform kann die Speichersteuerung 200 zumindest zwei Speichervorrichtungen 100 steuern. Die Speichersteuerung 200 kann die Speichervorrichtungen gemäß einem Verschachtelungsschema steuern, um die Betriebsleistung zu verbessern. Das Verschachtelungsschema kann ein Schema zum Steuern von Vorgängen bzw. Operationen auf zumindest zwei Speichervorrichtungen 100 sein, die sich gegenseitig überlappen.
  • Die Hostvorrichtung 300 kann mit dem Speichergerät 50 unter Verwendung zumindest einer der verschiedenen Kommunikationsarten kommunizieren, wie z.B. Universal Serial Bus (USB), Serial AT Attachment (SATA), High Speed InterChip (HSIC), Small Computer System Interface (SCSI), Firewire, Peripheral Component Interconnection (PCI), PCI express (PCIe), Non-Volatile Memory express (NVMe), Universal Flash Storage (UFS), Secure Digital (SD), Multi-Media Card (MMC), Embedded MMC (eMMC), Dual In-line Memory Module (DIMM), Registered DIMM (RDIMM) oder Load Reduced DIMM (LRDIMM).
  • In einer Ausführungsform kann die Hostvorrichtung 300 eine Hoststeuerung 310 und einen Hostspeicher 320 umfassen.
  • Die Hoststeuerung 310 kann eine Anwendung zum Steuern des Computersystems 10, ein Betriebssystem (Operating System - OS) oder andere ansteuern. Zum Beispiel kann die Hoststeuerung 310 Steuerungen bzw. Controller, Schnittstellen, eine Grafik-Engine oder anderes umfassen, die die Anwendung, das Betriebssystem oder anderes ansteuern. Beispielhaft kann die Hoststeuerung 310 zumindest eine Zentraleinheit (Central Processing Unit - CPU), einen Grafikprozessor (Graphic Processing Unit - GPU), ein System-on-Chip (SoC) oder einen Anwendungsprozessor (Application Processor - AP) umfassen.
  • In einer Ausführungsform kann die Hoststeuerung 310 die Speichersteuerung 200 mit Informationen versorgen, die mit einem Hostspeicherpuffer 321 verbunden sind.
  • Der Hostspeicher 320 kann eine Dateneingabe/-ausgabe mit der Hoststeuerung 310 durchführen. Der Hostspeicher 320 kann als Hauptspeicher, als Arbeitsspeicher, als Pufferspeicher oder als Cache-Speicher arbeiten. Der Hostspeicher 320 kann einen flüchtigen Speicher wie einen DRAM oder einen SRAM umfassen.
  • In einer Ausführungsform kann der Hostspeicher 320 den Hostspeicherpuffer 321 und einen Hostspeicherpuffer-Informationsspeicher 322 umfassen.
  • Der Hostspeicherpuffer 321 kann ein Bereich sein, auf den das Speichergerät 50 in dem Hostspeicher 320 zugreifen kann. Die Hoststeuerung 310 kann eine Hostspeicher-Pufferadresse, eine Hostspeicher-Puffergröße oder anderes einstellen, auf die das Speichergerät 50 zugreifen kann. Das Speichergerät 50 kann Daten aus der Speichervorrichtung 100 lesen und die gelesenen Daten in dem Hostspeicherpuffer 321 speichern. Wenn eine Bezugnahme auf Daten erforderlich ist, kann das Speichergerät 50 die Daten aus dem Hostspeicherpuffer 321 lesen. Wenn ein Datenwert aktualisiert wird, kann das Speichergerät 50 die in dem Hostspeicherpuffer 321 gespeicherten Daten aktualisieren. Das Speichergerät 50 kann die in dem Hostspeicherpuffer 321 gespeicherten Daten an die Speichervorrichtung 100 leeren.
  • In einer Ausführungsform kann der Hostspeicherpuffer 321 eine Vielzahl von Speicherbereichen umfassen. Eine Adresse und eine Größe von jedem der Vielzahl von Speicherbereichen kann von der Hoststeuerung 310 eingestellt werden.
  • Der Hostspeicherpuffer-Informationsspeicher 322 kann Informationen speichern, die mit dem Hostspeicherpuffer 321 verbunden sind. Die mit dem Hostspeicherpuffer 321 verbundenen Informationen können eine Hostspeicher-Pufferadresse, eine Hostspeicher-Puffergröße, Zuverlässigkeitsinformationen von jeder der Vielzahl von Speicherbereichen, Datenverlust-Vorhersageinformationen oder andere umfassen. Die Datenverlust-Vorhersageinformationen können Informationen sein, die vorhersagen, dass ein Verlust von in dem Hostspeicherpuffer 321 gespeicherten Daten auftreten wird.
  • In einer Ausführungsform kann die Hostspeichersteuerung 310 Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen auf der Grundlage von zumindest einer der mit der Lebensdauer eines Speicherbereichs verbundenen Informationen erzeugen. In einer Ausführungsform können die Informationen über die Lebensdauer des Speicherbereichs eine Programm-/Löschnummer von jedem der Vielzahl von Speicherbereichen, eine Anzahl von Malen, die ein Fehler in einem Fehlerkorrekturvorgang von Daten auftritt, die in jedem der Vielzahl von Speicherbereichen umfasst sind, oder andere umfassen. Die Programm-/Löschnummer kann eine Anzahl darstellen, wie oft ein Programmier- oder Löschvorgang durchgeführt wird. Der Fehlerkorrekturvorgang kann ein Vorgang des Erfassens eines Datenfehlers, unter Verwendung von den Daten entsprechenden Paritätsdaten, und des Korrigierens des erfassten Fehlers sein.
  • Zum Beispiel kann die Hoststeuerung 310 bestimmen, dass die Zuverlässigkeit eines Speicherbereichs geringer wird, wenn die Programm-/Löschnummer des Speicherbereichs höher oder größer wird. Alternativ kann die Hoststeuerung 310 bestimmen, dass die Zuverlässigkeit eines Speicherbereichs höher wird, wenn die Programm-/Löschnummer des Speicherbereichs niedriger oder kleiner wird.
  • In einigen Umsetzungen kann die Hoststeuerung 310 bestimmen, dass die Zuverlässigkeit eines Speicherbereichs geringer wird, wenn die Anzahl der Fehler in einem Fehlerkorrekturvorgang von Daten, die in dem Speicherbereich umfasst sind, höher oder größer wird. Alternativ kann die Hoststeuerung 310 bestimmen, dass die Zuverlässigkeit eines Speicherbereichs höher wird, wenn die Anzahl von Fehlern, die bei einem Fehlerkorrekturvorgang von in dem Speicherbereich umfassten Daten auftreten, niedriger oder kleiner wird.
  • In einigen Umsetzungen kann die Hoststeuerung 310 Zuverlässigkeitsinformationen eines Speicherbereichs erzeugen, indem sie die Programm-/Löschnummer, die Anzahl des Auftretens eines Fehlers in dem Fehlerkorrekturvorgang oder andere, die oben beschrieben werden, komplex berücksichtigt.
  • In einer Ausführungsform kann die Hoststeuerung 310 Datenverlust-Vorhersageinformationen auf der Grundlage von zumindest einer der mit der Lebensdauer des Hostspeichers 320 verbundenen Informationen erzeugen. Die Informationen, die mit der Lebensdauer des Hostspeichers 320 verbunden sind, können Temperaturinformationen des Hostspeichers 320, eine Programm-/Löschnummer des Hostspeichers 320, eine Anzahl von Malen, die ein Fehler in einem Fehlerkorrekturvorgang von Daten auftritt, die in dem Hostspeicherpuffer 321 umfasst sind, oder andere umfassen.
  • Wenn beispielsweise die Temperatur des Hostspeichers 320 einen vorgegebenen Schwellenwert überschreitet, kann die Hoststeuerung 310 bestimmen, dass ein Verlust von in dem Hostspeicherpuffer 321 gespeicherten Daten eintreten wird. In einigen Umsetzungen kann die Speichersteuerung 310 bestimmen, dass ein Verlust von in dem Hostspeicherpuffer 321 gespeicherten Daten auftreten wird, wenn die Programm-/Löschnummer des Hostspeichers 320 einen vorgegebenen Schwellenwert überschreitet. Die Programm-/Löschnummer des Hostspeichers 320 kann nicht nur die Anzahl der Durchführungen eines Programmvorgangs und eines Löschvorgangs in Speicherbereichen umfassen, die in dem Hostspeicherpuffer 321 umfasst sind, sondern auch die Anzahl der Durchführungen des Programmvorgangs und des Löschvorgangs in einem anderen Bereich des Hostspeichers 320. In einigen Umsetzungen kann die Hoststeuerung 310 bestimmen, dass ein Verlust von in dem Hostspeicherpuffer 321 gespeicherten Daten auftreten wird, wenn die Anzahl der Fehler bei der Fehlerkorrekturvorgang der in dem Hostspeicherpuffer 321 gespeicherten Daten einen vorgegebenen Schwellenwert überschreitet.
  • Die Hoststeuerung 310 kann Datenverlust-Vorhersageinformationen erzeugen, indem sie zumindest eine der Temperaturinformationen, die Programm/Löschnummer, die Anzahl des Auftretens des Fehlers in dem Fehlerkorrekturvorgang oder andere, die oben beschrieben sind, berücksichtigt.
  • In einer Ausführungsform kann die Speichersteuerung 200 einen Datenbedeutungs-Informationsgenerator 210, eine Hostspeicher-Puffersteuerung 220, eine Schreibvorgangssteuerung 230 und eine Fehlerkorrekturvorrichtung 240 umfassen.
  • Der Datenbedeutungs-Informationsgenerator 210 kann Bedeutungsinformationen von Daten erzeugen, indem er eine Bedeutung bzw. Wichtigkeit der Daten bestimmt.
  • In einer Ausführungsform kann der Datenbedeutungs-Informationsgenerator 210 Bedeutungsinformationen auf der Grundlage von zumindest einer von Informationen erzeugen, die mit einer Bedeutung von Daten verbunden sind. Die Informationen, die mit der Bedeutung der Daten verbunden sind, können umfassen, ob ein normaler Betrieb des Speichergeräts 50 gemäß der Beschädigung der Daten möglich ist (d.h., Möglichkeiten eines normalen Betriebs des Speichergeräts 50 mit einem Auftreten einer Datenbeschädigung), ob die Leistung des Speichergeräts 50 gemäß der Beschädigung der Daten beeinflusst wird, ob eine Wiederherstellung der Daten möglich ist, nachdem die Daten beschädigt sind (d.h., Möglichkeiten einer Datenwiederherstellung der Daten nach der Datenbeschädigung), oder andere. Der Datenbedeutungs-Informationsgenerator 210 kann Bedeutungsinformationen erzeugen, indem er Informationen berücksichtigt, die mit der Bedeutung der Daten verbunden sind.
  • Wenn der normale Betrieb des Speichergeräts 50 aufgrund der Beschädigung der Daten unmöglich ist, kann der Datenbedeutungs-Informationsgenerator 210 zum Beispiel bestimmen, dass die Bedeutung der Daten hoch ist. Alternativ dazu kann der Datenbedeutungs-Informationsgenerator 210 bestimmen, dass die Bedeutung der Daten gering ist, wenn der normale Betrieb des Speichergeräts 50 trotz eines Auftretens der Datenbeschädigung möglich ist.
  • In einigen Umsetzungen kann der Datenbedeutungs-Informationsgenerator 210 bestimmen, dass die Bedeutung der Daten hoch ist, wenn die Leistung der Vorrichtung 50 aufgrund der Beschädigung der Daten beeinflusst wird. Die Bedeutung der Daten kann höher werden, wenn der Einfluss auf die Leistung des Speichergeräts 50 gemäß der Beschädigung der Daten höher wird. Die Leistung des Speichergeräts 50 kann eine Betriebsgeschwindigkeit des Speichergeräts 50, eine Temperatur des Speichergeräts 50 oder andere umfassen. Alternativ dazu kann der Datenbedeutungs-Informationsgenerator 210 bestimmen, dass die Bedeutung der Daten gering ist, wenn die Leistung des Speichergeräts 50 trotz eines Auftretens der Datenbeschädigung nicht beeinflusst wird.
  • In einigen Umsetzungen kann der Datenbedeutungs-Informationsgenerator 210 bestimmen, dass die Bedeutung der Daten hoch ist, wenn die Wiederherstellung der Daten unmöglich ist, nachdem die Daten beschädigt wurden. Alternativ kann der Datenbedeutungs-Informationsgenerator 210 bestimmen, dass die Wichtigkeit der Daten niedrig ist, wenn die Wiederherstellung der Daten möglich ist, nachdem die Daten beschädigt wurden.
  • In einer Ausführungsform können die Bedeutungsinformationen der Daten einen Bedeutungsgrad unter einer Vielzahl von Bedeutungsgraden umfassen. Die Vielzahl von Bedeutungsgraden kann auf der Grundlage eines Ergebnisses festgelegt bzw. eingestellt werden, das durch Vergleichen der Bedeutung einer Vielzahl von Daten erhalten wird.
  • Die Hostspeicher-Puffersteuerung 220 kann Vorgänge bzw. Operationen zum Zugreifen auf den Hostspeicherpuffer 321 durchführen. Zum Beispiel kann die Hostspeicher-Puffersteuerung 220 einen Vorgang des Lesens von Daten aus der Speichervorrichtung 100 und des Speicherns der gelesenen Daten in dem Hostspeicherpuffer 321, einen Vorgang des Lesens von Daten aus dem Hostspeicherpuffer 321 oder andere durchführen. In einigen Umsetzungen kann die Hostspeicher-Puffersteuerung 220 einen Vorgang des Aktualisierens von in dem Hostspeicherpuffer 321 gespeicherten Daten, wenn ein Wert der Daten aktualisiert wird, einen Vorgang des Leerens von in dem Hostspeicherpuffer 321 gespeicherten Daten zu der Speichervorrichtung 100 oder andere durchführen.
  • In einer Ausführungsform kann die Hostspeicher-Puffersteuerung 220 von der Hostvorrichtung 300 Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen empfangen, die in dem Hostspeicherpuffer 321 umfasst sind. Die Hostspeicher-Puffersteuerung 220 kann die Daten in einem beliebigen Speicherbereich unter der Vielzahl von Speicherbereichen auf der Grundlage der Bedeutungsinformationen der Daten und der Zuverlässigkeitsinformationen jedes der Vielzahl von Speicherbereichen speichern. Die Zuverlässigkeit des einen Speicherbereichs, in dem die Daten gespeichert sind, kann mit zunehmender Bedeutung der Daten höher werden. Alternativ dazu kann die Zuverlässigkeit des einen Speicherbereichs, in dem die Daten gespeichert sind, geringer werden, wenn die Bedeutung der Daten geringer wird. Beispielsweise kann die Hostspeicher-Puffersteuerung 220 die Daten in einem Speicherbereich speichern, dessen Zuverlässigkeit unter der Vielzahl von Speicherbereichen relativ höher ist, wenn die Bedeutung der Daten höher wird. In einigen Umsetzungen kann die Hostspeicher-Puffersteuerung 220 die Daten in einem Speicherbereich speichern, dessen Zuverlässigkeit unter der Vielzahl von Speicherbereichen relativ geringer ist, wenn die Bedeutung der Daten geringer wird.
  • Somit werden gemäß der Ausführungsform der offenbarten Technologie Daten auf der Grundlage der Zuverlässigkeit für jeden Speicherbereich des Hostspeicherpuffers 321 gespeichert, so dass die Zuverlässigkeit der in dem Hostspeicherpuffer 321 gespeicherten Daten verbessert werden kann.
  • In einer Ausführungsform kann die Hostspeicher-Puffersteuerung 220 von der Hostvorrichtung 300 eine Größe von jedem der Vielzahl von Speicherbereichen empfangen, die in dem Hostspeicherpuffer 321 umfasst sind. Die Hostspeicher-Puffersteuerung 220 kann die Daten in einem beliebigen Speicherbereich unter der Vielzahl von Speicherbereichen auf der Grundlage der Bedeutungsinformationen der Daten und der Größe jedes der Vielzahl von Speicherbereichen speichern. Zum Beispiel kann die Größe des einen Speicherbereichs, in dem die Daten gespeichert sind, größer werden, wenn der Einfluss der Daten auf die Leistung des Speichergeräts 50 größer wird. Alternativ dazu kann die Größe des einen Speicherbereichs, in dem die Daten gespeichert sind, kleiner werden, wenn der Einfluss der Daten auf die Leistung des Speichergeräts 50 geringer wird. Zum Beispiel kann die Hostspeicher-Puffersteuerung 220 Daten, die einen hohen Einfluss auf die Leistung der Speichervorrichtung 50 aufweisen, in einem Speicherbereich mit einer relativ großen Größe unter der Vielzahl von Speicherbereichen speichern. In einigen Umsetzungen kann die Hostspeicher-Puffersteuerung 220 Daten mit geringem Einfluss auf die Leistung des Speichergeräts 50 in einem Speicherbereich mit einer relativ kleinen Größe unter der Vielzahl von Speicherbereichen speichern.
  • Die Schreibvorgangssteuerung 230 kann einen Schreibvorgang zum Speichern von Daten in der Speichervorrichtung 100 steuern.
  • In einer Ausführungsform kann die Hostspeicher-Puffersteuerung 220 Datenverlust-Vorhersageinformationen von der Hostvorrichtung 300 empfangen. Die Hostspeicher-Puffersteuerung 220 kann von der Hostvorrichtung 300 als Antwort auf die Datenverlust-Vorhersageinformationen Daten anfordern, die in dem Hostspeicherpuffer 321 gespeichert sind. Die Schreibvorgangssteuerung 230 kann die Speichervorrichtung 100 steuern, um Daten gemäß einer Anforderung von der Hostvorrichtung 300 zu empfangen und die empfangenen Daten zu speichern.
  • In einer Ausführungsform können die von der Hostvorrichtung 300 angeforderten Daten Daten sein, die unter den in jedem der Vielzahl von Speicherbereichen, die in dem Hostspeicherpuffer 321 umfasst sind, gespeicherten Daten die höchste Bedeutung aufweisen. Zum Beispiel kann die Hostspeicher-Puffersteuerung 220 die Daten, die die höchste Bedeutung aufweisen, von der Hostvorrichtung 300 anfordern. Die Schreibvorgangssteuerung 230 kann die Speichervorrichtung 100 steuern, um die Daten mit der höchsten Bedeutung von der Hostvorrichtung 300 zu empfangen und die Daten mit der höchsten Bedeutung zu speichern.
  • Die Fehlerkorrekturvorrichtung 240 kann einen Fehlerkorrekturvorgang von Daten durchführen.
  • In einer Ausführungsform kann die Fehlerkorrekturvorrichtung 240 den Fehlerkorrekturvorgang der empfangenen Daten durchführen, wenn in dem Hostspeicherpuffer 321 gespeicherte Daten von der Hostvorrichtung 300 empfangen werden, nachdem Datenverlust-Vorhersageinformationen von der Hostvorrichtung 300 empfangen wurden. Zum Beispiel kann die Hostspeicher-Puffersteuerung 220 von der Hostvorrichtung 300 als Antwort auf die Datenverlust-Vorhersageinformationen Daten anfordern, die im Hostspeicherpuffer 321 gespeichert sind. Wenn die in dem Hostspeicherpuffer 321 gespeicherten Daten von der Hostvorrichtung 300 empfangen werden, kann die Fehlerkorrekturvorrichtung 240 einen Fehler der empfangenen Daten korrigieren, und die Schreibvorgangssteuerung 230 kann die Speichervorrichtung 100 steuern, um die Daten zu speichern, in denen der Fehler korrigiert ist.
  • Somit werden gemäß der Ausführungsform der offenbarten Technologie die in dem Hostspeicherpuffer 321 gespeicherten Daten in der Speichervorrichtung 100 als Antwort auf Datenverlust-Vorhersageinformationen gespeichert, so dass eine Situation, in der ein Datenverlust auftreten wird, im Voraus vorhergesagt werden kann, wodurch die in dem Hostspeicherpuffer 321 gespeicherten Daten erhalten bleiben.
  • 2 zeigt ein Diagramm, das Vorgänge zwischen der Hostvorrichtung, dem Hostspeicherpuffer und der Speichersteuerung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
  • Unter Bezugnahme auf 2 kann die Hostvorrichtung 300 in Schritt S201 das Speichergerät 50 erkennen. Zum Beispiel kann die Hostvorrichtung 300 erkennen, ob das Speichergerät 50 den Hostspeicherpuffer 321 verwenden soll, indem sie eine Kennung an die Speichersteuerung 200 überträgt.
  • In Schritt S203 kann die Speichersteuerung 200 von der Hostvorrichtung 300 Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen anfordern, die in dem Hostspeicherpuffer 321 umfasst sind. Zum Beispiel kann die Speichersteuerung 200 Informationen anfordern, die mit dem Hostspeicherpuffer 321 verbunden sind, während sie die Hostvorrichtung 300 darüber informiert, ob der Hostspeicherpuffer 321 verwendet werden soll. In einer Ausführungsform können die mit dem Hostspeicherpuffer 321 verbundenen Informationen eine Hostspeicher-Pufferadresse, eine Hostspeicher-Puffergröße, Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen, Datenverlust-Vorhersageinformationen oder andere umfassen.
  • In Schritt S205 kann die Hostvorrichtung 300 an die Speichersteuerung 200 die Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen bereitstellen. Zum Beispiel kann die Hostvorrichtung 300 an die Speichervorrichtung 200 mit dem Hostspeicherpuffer 321 verbundenen Informationen durch einen spezifischen Befehl, zum Beispiel einen Befehl zum Einstellen von Merkmalen bereitstellen. Der Befehl zum Einstellen von Merkmalen kann sich auf von der NVMe-Vorrichtung definierte Befehle zum Ändern der Merkmalsparametereinstellungen beziehen.
  • In Schritt S207 kann die Speichersteuerung 200 auf der Grundlage der Bedeutungsinformationen der Daten und der Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen Daten in dem Hostspeicherpuffer 321 speichern. Beispielsweise kann die Speichersteuerung 200 die Daten in einem beliebigen Speicherbereich unter der Vielzahl von Speicherbereichen auf der Grundlage der Bedeutungsinformationen der Daten und der Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen speichern. Die Zuverlässigkeit des einen Speicherbereichs, in dem die Daten gespeichert sind, kann mit zunehmender Bedeutung der Daten höher werden. Alternativ dazu kann die Zuverlässigkeit des einen Speicherbereichs, in dem die Daten gespeichert sind, geringer werden, wenn die Bedeutung der Daten geringer wird.
  • 3 zeigt ein Diagramm, das Zuverlässigkeitsinformationen gemäß einer Ausführungsform der offenbarten Technologie darstellt.
  • Unter Bezugnahme auf 3, wenn ein Elementsymbol eines Einstellbefehls 0Dh ist, können Informationen über den Hostspeicherpuffer 321 in dem Befehl zum Einstellen von Merkmalen umfasst sein. In einer Ausführungsform kann die Hostvorrichtung 300 an die Speichersteuerung 200 über den Befehl zum Einstellen von Merkmalen Zuverlässigkeitsinformationen (Reliability, RT) bereitstellen.
  • Zum Beispiel kann ein Feld der Zuverlässigkeitsinformationen an Position X des Befehls zum Einstellen von Merkmalen angeordnet sein. Die Position X kann in einem beliebigen Bereich unter einer Vielzahl von Bereichen umfasst sein, die in dem Befehl zum Einstellen von Merkmalen angeordnet sind. Die Vielzahl von Bereichen kann den Befehl Dword 11, Befehl Dword 12, Befehl Dword 13, Befehl Dword 14, Befehl Dword 15, die Hostspeicher-Deskriptor-Liste, den Hostspeicher-Puffer-Deskriptor-Eintrag, den Abschluss-Warteschlangeneintrag Dword 0, die Attribut-Datenstruktur oder andere umfassen. Das Feld der Zuverlässigkeitsinformation kann 0 bis N Bits umfassen und Werte von ‚0‘ bis ‚2N‘ aufweisen. Die Zuverlässigkeitsinformationen können einen beliebigen Zuverlässigkeitsgrad unter einer Vielzahl von Zuverlässigkeitsgraden umfassen, die auf der Grundlage eines Ergebnisses geteilt werden, das durch den Vergleich der Zuverlässigkeiten der Vielzahl von Speicherbereichen erhalten wird. Beispielsweise können die Zuverlässigkeitsinformationen einen beliebigen Zuverlässigkeitsgrad unter einer Vielzahl von Zuverlässigkeitsgraden umfassen, die mit ‚0‘ bis ‚2N‘ ausgebildet sind. Die Zuverlässigkeit des Speicherbereichs kann geringer werden, je näher die Zuverlässigkeitsstufe an ‚0‘ herankommt. Alternativ dazu kann die Zuverlässigkeit des Speicherbereichs höher werden, wenn der Zuverlässigkeitsgrad näher an „2N“ liegt.
  • 4 zeigt ein Diagramm, das Vorgänge zwischen der Hostvorrichtung, dem Hostspeicherpuffer, der Speichersteuerung und der Speichervorrichtung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
  • Unter Bezugnahme auf 4 kann die Hostvorrichtung 300 in Schritt S401 Datenverlust-Vorhersageinformationen an die Speichersteuerung 200 bereitstellen. In einer Ausführungsform kann die Hostvorrichtung 300 die Datenverlust-Vorhersageinformationen an die Speichersteuerung 200 durch den Befehl zum Einstellen von Merkmalen (Set-Feature-Befehl) bereitstellen.
  • In Schritt S403 kann die Speichersteuerung 200 als Antwort auf die Datenverlust-Vorhersageinformationen Daten anfordern, die in dem Hostspeicherpuffer 321 gespeichert sind. In einer Ausführungsform kann die Speichersteuerung 200 Daten anfordern, die unter den im Hostspeicherpuffer 321 gespeicherten Daten die höchste Bedeutung aufweisen.
  • In Schritt S405 kann die Hostvorrichtung 300 an die Speichersteuerung 200 als Antwort auf die Anforderung die in dem Hostspeicherpuffer 321 gespeicherten Daten bereitstellen.
  • In Schritt S407 kann die Speichersteuerung 200 einen Fehlerkorrekturvorgang von Daten durchführen, die von der Hostvorrichtung 300 empfangen wurden.
  • Im Schritt S409 kann die Speichersteuerung 200 die Daten, in denen ein Fehler korrigiert wurde, in der Speichervorrichtung 100 speichern.
  • 5 zeigt ein Diagramm, das Datenverlust-Vorhersageinformationen gemäß einer Ausführungsform der offenbarten Technologie darstellt.
  • Unter Bezugnahme auf 5, wenn ein Elementsymbol eines Befehls zum Einstellen von Merkmalen 0Dh ist, können Informationen über den Hostspeicherpuffer 321 in dem Befehl zum Einstellen von Merkmalen umfasst sein. In einer Ausführungsform kann die Hostvorrichtung 300 an die Speichersteuerung 200 über den Befehl zum Einstellen von Merkmalen Datenverlust-Vorhersageinformationen (Data Loss, DL) bereitstellen.
  • Zum Beispiel kann ein Feld der Datenverlust-Vorhersageinformationen in Position Y des Befehls zum Einstellen von Merkmalen angeordnet sein. Die Position Y kann in einem beliebigen Bereich unter einer Vielzahl von Bereichen umfasst sein, die in dem Befehl zum Einstellen von Merkmalen angeordnet sind. Die Vielzahl von Bereichen kann den Befehl Dword 11, Befehl Dword 12, Befehl Dword 13, Befehl Dword 14, Befehl Dword 15, die Hostspeicher-Deskriptor-Liste, den Hostspeicher-Puffer-Deskriptor-Eintrag, den Abschluss-Warteschlangeneintrag Dword 0, die Attribut-Datenstruktur oder andere umfassen. Das Feld der Datenverlust-Vorhersageinformationen kann 0 bis N Bits umfassen und Werte von ‚0‘ bis ‚2N‘ aufweisen. Wenn die Datenverlust-Vorhersageinformationen „0“ umfassen, können die Datenverlust-Vorhersageinformationen in einer Ausführungsform Information umfassen, dass kein Datenverlust vorhergesagt wird. Wenn die Datenverlust-Vorhersageinformationen die Zahl „1“ umfasst, können die Datenverlustvorhersage-Informationen auch die Informationen umfassen, dass ein Datenverlust vorhergesagt wird.
  • 6 zeigt ein Diagramm, das ein Beispiel für ein Verfahren zum Steuern einer Speichersteuerung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
  • Das in 6 gezeigte Betriebsverfahren kann von der in 1 gezeigten Speichersteuerung 200 durchgeführt werden.
  • Unter Bezugnahme auf 6 kann die Speichersteuerung 200 in Schritt S601 Bedeutungsinformationen von Daten erzeugen.
  • In Schritt S603 kann die Speichersteuerung 200 von der Hostvorrichtung 300 Zuverlässigkeitsinformationen von jedem einer Vielzahl von Speicherbereichen empfangen, die in dem Hostspeicherpuffer 321 umfasst sind. Zum Beispiel kann die Speichersteuerung 220 die Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen durch einen Befehl zum Einstellen von Merkmalen empfangen.
  • In Schritt S605 kann die Speichersteuerung 200 die Daten in einem beliebigen Speicherbereich unter der Vielzahl von Speicherbereichen auf der Grundlage der Bedeutungsinformationen der Daten und der Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen speichern. Die Zuverlässigkeit des einen Speicherbereichs, in dem die Daten gespeichert sind, kann mit zunehmender Bedeutung der Daten höher werden. Alternativ dazu kann die Zuverlässigkeit des einen Speicherbereichs, in dem die Daten gespeichert sind, geringer werden, wenn die Bedeutung der Daten geringer wird.
  • 7 zeigt ein Diagramm, das ein weiteres Beispiel eines Betriebsverfahrens einer Speichersteuerung gemäß einer Ausführungsform der offenbarten Technologie darstellt.
  • Das in 7 gezeigte Betriebsverfahren kann von der in 1 gezeigten Speichersteuerung 200 durchgeführt werden.
  • Unter Bezugnahme auf 7 kann die Speichersteuerung 200 in Schritt S701 Datenverlust-Vorhersageinformationen von der Hostvorrichtung 300 empfangen. Zum Beispiel kann die Speichersteuerung 200 die Datenverlust-Vorhersageinformationen über einen Befehl zum Einstellen von Merkmalen empfangen.
  • In Schritt S703 kann die Speichersteuerung 200 in dem Hostspeicherpuffer 321 gespeicherte Daten von der Hostvorrichtung 300 anfordern. Die von der Hostvorrichtung 300 angeforderten Daten können Daten sein, die unter den im Hostspeicherpuffer 321 gespeicherten Daten die höchste Bedeutung aufweisen.
  • In Schritt S705 kann die Speichersteuerung 200 die Daten von der Hostvorrichtung 300 empfangen.
  • In Schritt S707 kann die Speichersteuerung 200 einen Fehlerkorrekturvorgang der von der Hostvorrichtung 300 empfangenen Daten durchführen.
  • Im Schritt S709 kann die Speichersteuerung 200 die Daten, in denen ein Fehler korrigiert wurde, in der Speichervorrichtung 100 speichern.
  • 8 zeigt ein Diagramm, das die in 1 gezeigte Speichervorrichtung darstellt.
  • Unter Bezugnahme auf 8 kann die Speichervorrichtung 100 ein Speicherzellenfeld 110, einen Spannungsgenerator 120, einen Adressendecoder 130, eine Eingangs-/Ausgangsschaltung 140 und eine Steuerlogik 150 umfassen.
  • Das Speicherzellenfeld 110 kann eine Vielzahl von Speicherblöcken BLK1 bis BLKi umfassen. Die Vielzahl von Speicherblöcken BLK1 bis BLKi kann über Zeilenleitungen RL mit dem Adressendecoder 130 verbunden sein. Die Vielzahl von Speicherblöcken BLK1 bis BLKi kann über Spaltenleitungen CL mit der Eingangs-/Ausgangsschaltung 140 verbunden sein. In einer Ausführungsform können die Zeilenleitungen RL Wortleitungen, Source-Auswahlleitungen und Drain-Auswahlleitungen umfassen. In einer Ausführungsform können die Spaltenleitungen CL Bitleitungen umfassen.
  • Jeder der Vielzahl von Speicherblöcken BLK1 bis BLKi umfasst eine Vielzahl von Speicherzellen. In einer Ausführungsform kann die Vielzahl von Speicherzellen nichtflüchtige Speicherzellen sein. Speicherzellen, die unter der Vielzahl von Speicherzellen mit der gleichen Wortleitung verbunden sind, können als eine physikalische Seite definiert werden. Das heißt, das Speicherzellenfeld 110 kann eine Vielzahl von physikalischen Seiten umfassen. Jede der Speicherzellen der Speichervorrichtung 100 kann eingerichtet sein als eine Single-Level-Zelle (SLC), die ein Datenbit speichert, eine Multi-Level-Zelle (MLC), die zwei Datenbits speichert, eine Triple-Level-Zelle (TLC), die drei Datenbits speichert, oder eine Quad-Level-Zelle (QLC), die vier Datenbits speichert.
  • In einer Ausführungsform können der Spannungsgenerator 120, der Adressendecoder 130 und die Eingangs-/Ausgangsschaltung 140 allgemein als eine Peripherieschaltung bezeichnet werden. Die Peripherieschaltung kann das Speicherzellenfeld 110 auf der Grundlage der Steuerung durch die Steuerlogik 150 ansteuern. Die Peripherieschaltung kann das Speicherzellenfeld 110 ansteuern, um einen Schreibvorgang, einen Lesevorgang und einen Löschvorgang durchzuführen.
  • Der Spannungsgenerator 120 kann eine Vielzahl von Betriebsspannungen unter Verwendung einer der Speichervorrichtung 100 zugeführten externen Versorgungsspannung erzeugen. Der Spannungsgenerator 120 kann auf der Grundlage der Steuerung der Steuerlogik 150 arbeiten.
  • In einer Ausführungsform kann der Spannungsgenerator 120 eine interne Versorgungsspannung durch Regulieren der externen Versorgungsspannung erzeugen. Die von dem Spannungsgenerator 120 erzeugte interne Versorgungsspannung kann als Betriebsspannung der Speichervorrichtung 100 verwendet werden.
  • In einer Ausführungsform kann der Spannungsgenerator 120 eine Vielzahl von Betriebsspannungen unter Verwendung der externen Versorgungsspannung oder der internen Versorgungsspannung erzeugen. Der Spannungsgenerator 120 kann verschiedene Spannungen erzeugen, die in der Speichervorrichtung 100 benötigt werden. Zum Beispiel kann der Spannungsgenerator 120 eine Vielzahl von Löschspannungen, eine Vielzahl von Programmierspannungen, eine Vielzahl von Durchgangsspannungen, eine Vielzahl von Auswahl-Lesespannungen (Select-Read-Spannungen) und eine Vielzahl von Nicht-Auswahl-Lesespannungen (Unselect-Read-Spannungen) erzeugen.
  • Um eine Vielzahl von Betriebsspannungen mit verschiedenen Spannungspegeln zu erzeugen, kann der Spannungsgenerator 120 eine Vielzahl von Klemmkondensatoren aufweisen, die die interne Versorgungsspannung empfangen. Der Spannungsgenerator 120 kann die Vielzahl von Betriebsspannungen durch selektives Aktivieren der Vielzahl von Pumpkondensatoren auf der Grundlage der Steuerung der Steuerlogik 150 erzeugen.
  • Die Vielzahl von Betriebsspannungen, die durch den Spannungsgenerator 120 erzeugt werden, können dem Speicherzellenfeld 110 durch den Adressendecoder 130 zugeführt werden.
  • Der Adressendecoder 130 kann über die Zeilenleitungen RL mit dem Speicherzellenfeld 110 verbunden sein. Der Adressendecoder 130 kann auf der Grundlage der Steuerung der Steuerlogik 150 arbeiten. Der Adressendecoder 130 kann eine Adresse ADDR von der Steuerlogik 150 empfangen. Der Adressendecoder 130 kann eine Blockadresse in der empfangenen Adresse ADDR dekodieren. Der Adressendecoder 130 kann zumindest einen Speicherblock unter den Speicherblöcken BLK1 bis BLKi gemäß der dekodierten Blockadresse auswählen. Der Adressendecoder 130 kann eine Zeilenadresse in der empfangenen Adresse ADDR dekodieren. Der Adressendecoder 130 kann gemäß der dekodierten Zeilenadresse zumindest eine Wortleitung unter den Wortleitungen des ausgewählten Speicherblocks auswählen. In einer Ausführungsform kann der Adressendecoder 130 eine Spaltenadresse in der empfangenen Adresse ADDR dekodieren. Der Adressendecoder 130 kann die Eingangs-/Ausgangsschaltung 140 und das Speicherzellenfeld 110 gemäß der dekodierten Spaltenadresse miteinander verbinden.
  • Gemäß einer Ausführungsform der offenbarten Technologie kann der Adressendecoder 130 bei einem Lesevorgang eine Lesespannung an die ausgewählte Wortleitung anlegen und eine Lese-Durchgangsspannung mit einem höheren Pegel als dem der Lesespannung an nicht ausgewählte Wortleitungen anlegen.
  • Beispielhaft kann der Adressendecoder 130 Komponenten wie einen Zeilendecoder, einen Spaltendecoder und einen Adressenpuffer umfassen.
  • Die Eingangs-/Ausgangsschaltung 140 kann eine Vielzahl von Seitenpuffern umfassen. Die Vielzahl von Seitenpuffern kann über die Bitleitungen mit dem Speicherzellenfeld 110 verbunden sein. Bei einem Schreibvorgang können Daten in ausgewählten Speicherzellen gemäß den in der Vielzahl von Seitenpuffern gespeicherten Daten gespeichert werden.
  • Bei einem Lesevorgang können die in den ausgewählten Speicherzellen gespeicherten Daten über die Bitleitungen abgetastet bzw. erfasst werden, und die abgetasteten Daten können in den Seitenpuffern gespeichert werden.
  • Die Steuerlogik 150 kann den Adressendecoder 130, den Spannungsgenerator 120 und die Eingangs-/Ausgangsschaltung 140 steuern. Die Steuerlogik 150 kann als Antwort auf einen von einer externen Vorrichtung übertragenen Befehl CMD arbeiten. Die Steuerlogik 150 kann die Peripherieschaltung steuern, indem sie Steuersignale als Antwort auf den Befehl CMD und die Adresse ADDR erzeugt.
  • 9 zeigt ein Schaltbild, das einen beliebigen Speicherblock der in 8 gezeigten Speicherblöcke darstellt.
  • Ein Speicherblock BLKi stellt einen beliebigen Speicherblock BLKi unter den in 8 gezeigten Speicherblöcken BLK1 bis BLKi dar.
  • Unter Bezugnahme auf 9 kann in dem Speicherblock BLKi eine Vielzahl von parallel zueinander angeordneten Wortleitungen zwischen einer ersten Auswahlleitung und einer zweiten Auswahlleitung angeschlossen sein. Die erste Auswahlleitung kann eine Source-Auswahlleitung SSL sein, und die zweite Auswahlleitung kann eine Drain-Auswahlleitung DSL sein. Genauer gesagt kann der Speicherblock BLKi eine Vielzahl von Strings ST umfassen, die zwischen den Bitleitungen BL1 bis BLm und einer Source-Leitung SL angeschlossen sind. Die Bitleitungen BL1 bis BLm können jeweils mit den Strings ST verbunden sein, und die Source-Leitung SL kann gemeinsam mit den Strings ST verbunden sein. Die Strings ST können identisch zueinander ausgeführt sein, und daher wird ein String ST, der mit einer ersten Bitleitung BL1 verbunden ist, als ein Beispiel ausführlich beschrieben.
  • Der String ST kann einen Source-Auswahltransistor SST, eine Vielzahl von Speicherzellen MC1 bis MC16 und einen Drain-Auswahltransistor DST umfassen, die in Reihe zueinander zwischen der Source-Leitung SL und der ersten Bitleitung BL1 geschaltet sind. Zumindest ein Drain-Auswahltransistor DST kann in einem String ST umfasst sein, und Source-Auswahltransistoren, deren Anzahl größer ist als die des in der Zeichnung gezeigten Source-Auswahltransistors SST, und Speicherzellen, deren Anzahl größer ist als die der in der Zeichnung gezeigten Speicherzellen MC1 bis MC16, können in dem einen String ST umfasst sein.
  • Eine Source des Source-Auswahltransistors SST kann mit der Source-Leitung SL verbunden sein, und ein Drain des Drain-Auswahltransistors DST kann mit der ersten Bitleitung BL1 verbunden sein. Die Speicherzellen MC1 bis MC16 können in Reihe zwischen dem Source-Auswahltransistor SST und dem Drain-Auswahltransistor DST geschaltet werden. Gates von Source-Auswahltransistoren SST, die in verschiedenen Strings ST umfasst sind, können mit der Source-Auswahlleitung SSL verbunden sein, und Gates von Drain-Auswahltransistoren DST, die in verschiedenen Strings ST umfasst sind, können mit der Drain-Auswahlleitung DSL verbunden sein. Gates der Speicherzellen MC1 bis MC16 können mit einer Vielzahl von Wortleitungen WL1 bis WL16 verbunden sein. Eine Gruppe von Speicherzellen, die mit derselben Wortleitung unter in verschiedenen Strings ST umfassten Speicherzellen verbunden sind, kann als eine physikalische Seite PG bezeichnet werden. Daher können physikalische Seiten PG, die der Anzahl der Wortleitungen WL1 bis WL16 entsprechen, in dem Speicherblock BLKi umfasst sein.
  • Eine Speicherzelle kann Ein-Bit-Daten speichern. Die eine Speicherzelle wird im Allgemeinen als Single-Level-Cell (SLC) bezeichnet. Eine physikalische Seite PG kann Daten einer logischen Seite (LPG) speichern. Die Daten einer LPG können Datenbits umfassen, die der Anzahl der in der einen physikalischen Seite PG umfassten Zellen entsprechen.
  • Eine Speicherzelle kann Daten mit zwei oder mehr Bits speichern. Eine physikalische Seite PG kann zwei oder mehr LPG-Daten speichern.
  • 10 zeigt ein Diagramm, das ein weiteres Beispiel der in 1 gezeigten Speichersteuerung darstellt.
  • Beschreibungen der in 1 gezeigten Speichersteuerung 200 können auch identisch auf eine in 10 gezeigte Speichersteuerung 1000 angewendet werden.
  • Unter Bezugnahme auf die 1 und 10 kann die Speichersteuerung 1000 einen Prozessor 1010, einen RAM 1020, eine Fehlerkorrekturschaltung 1030, ROM 1040, eine Host-Schnittstelle 1050 und eine Flash-Schnittstelle 1060 umfassen.
  • Der Prozessor 1010 kann einen Gesamtbetrieb der Speichersteuerung 1000 steuern. In einer Ausführungsform können der Datenbedeutungs-Informationsgenerator 210, die Hostspeicher-Puffersteuerung 220 und die Schreibvorgangssteuerung 230, die in 1 gezeigt sind, als eine Anordnung des Prozessors 1010 realisiert sein. Daher kann der Prozessor 1010 gleichermaßen die Vorgänge bzw. Operationen des Datenbedeutungs-Informationsgenerators 210, der Hostspeicher-Puffersteuerung 220 und der Schreibvorgangssteuerung 230 durchführen, die unter Bezugnahme auf 1 beschrieben sind.
  • Der RAM 1020 kann als Pufferspeicher, Cache-Speicher, Arbeitsspeicher oder anderes verwendet werden.
  • Die Fehlerkorrekturschaltung 1030 kann eine Fehlerkorrektur durchführen. Die Fehlerkorrekturschaltung 1030 kann eine Fehlerkorrekturcode- (ECC) Kodierung von Daten durchführen, die über die Flash-Schnittstelle 1060 in die Speichervorrichtung 100 geschrieben werden sollen. Die ECCkodierten Daten können über die Flash-Schnittstelle 1060 an die Speichervorrichtung 100 übertragen werden. Die Fehlerkorrekturschaltung 1030 kann eine ECC-Dekodierung von Daten durchführen, die von der Speichervorrichtung über die Flash-Schnittstelle 1060 empfangen werden. Beispielhaft kann die Fehlerkorrekturschaltung 1030 als eine Komponente der Flash-Schnittstelle 1060 in der Flash-Schnittstelle 1060 umfasst sein. In einer Ausführungsform kann die in 1 gezeigte Fehlerkorrekturvorrichtung 240 als eine Komponente der Fehlerkorrekturschaltung 1030 realisiert sein. Daher kann der Prozessor 1010 gleichermaßen die Vorgänge bzw. Operationen der Fehlerkorrekturvorrichtung 240 durchführen, die unter Bezugnahme auf 1 beschrieben sind.
  • Der ROM 1040 kann in Form von Firmware verschiedene Informationen speichern, die in einem Vorgang der Speichersteuerung 1000 erforderlich sind.
  • Die Speichersteuerung 1000 kann mit einer externen Vorrichtung (z.B. der Hostvorrichtung 300, einem Anwendungsprozessor oder anderen) über die Hostschnittstelle 1050 kommunizieren bzw. in Verbindung stehen.
  • Die Speichersteuerung 1000 kann mit der Speichervorrichtung 100 über die Flash-Schnittstelle 1060 kommunizieren. Die Speichersteuerung 1000 kann einen Befehl, eine Adresse, ein Steuersignal oder anderes an die Speichervorrichtung 100 über die Flash-Schnittstelle 1060 senden und Daten DATA empfangen. Beispielhaft kann die Flash-Schnittstelle 1060 eine NAND-Schnittstelle umfassen.
  • 11 zeigt ein Blockdiagramm dar, das ein Speicherkartensystem darstellt, auf das ein Speichergerät gemäß einer Ausführungsform der offenbarten Technologie angewendet wird.
  • Unter Bezugnahme auf 11 umfasst das Speicherkartensystem 2000 eine Speichersteuerung 2100, eine Speichervorrichtung 2200 und einen Steckverbinder 2300.
  • Die Speichersteuerung 2100 ist mit der Speichervorrichtung 2200 verbunden. Die Speichersteuerung 2100 kann auf die Speichervorrichtung 2200 zugreifen. Beispielsweise kann die Speichersteuerung 2100 Lese-, Schreib-, Lösch- und Hintergrundvorgänge der Speichervorrichtung 2200 steuern. Die Speichersteuerung 2100 stellt eine Schnittstelle zwischen der Speichervorrichtung 2200 und einem Host bereit. Die Speichersteuerung 2100 steuert Firmware zum Steuern der Speichervorrichtung 2200. Die Speichersteuerung 2100 kann identisch mit der unter Bezugnahme auf 1 beschriebenen Speichersteuerung 200 realisiert sein. Die Speichervorrichtung 2200 kann identisch zu der unter Bezugnahme auf 1 beschriebenen Speichervorrichtung 100 realisiert sein.
  • Beispielhaft kann die Speichersteuerung 2100 Komponenten wie einen Direktzugriffsspeicher (Random Access Memory - RAM), eine Verarbeitungseinheit, eine Host-Schnittstelle, eine Speicherschnittstelle und eine ECC-Schaltung umfassen.
  • Die Speichersteuerung 2100 kann über den Steckverbinder 2300 mit einer externen Vorrichtung kommunizieren. Die Speichersteuerung 2100 kann gemäß einem spezifischen Kommunikationsprotokoll mit der externen Vorrichtung (z.B. dem Host) kommunizieren. Beispielhaft kann die Speichersteuerung 2100 mit der externen Vorrichtung über zumindest eines von verschiedenen Kommunikationsprotokollen kommunizieren, wie z.B. Universal Serial Bus (USB), Multi-Media Card (MMC), Embedded MMC (eMMC), Peripheral Component Interconnection (PCI), PCI express (PCIe), Advanced Technology Attachment (ATA), Serial-ATA (SATA), Parallel-ATA (PATA), Small Computer System Interface (SCSI), Enhanced Small Disk Interface (ESDI), Integrated Drive Electronics (IDE), Firewire, Universal Flash Storage (UFS), Wi-Fi, Bluetooth oder NVMe. Zum Beispiel kann der Steckverbinder 2300 durch zumindest eines der oben beschriebenen verschiedenen Kommunikationsprotokolle definiert sein.
  • In einigen Umsetzungen kann die Speichervorrichtung 2200 mit verschiedenen nichtflüchtigen Speichervorrichtungen wie einem elektrisch löschbaren und programmierbaren ROM (EEPROM), einem NAND-Flash-Speicher, einem NOR-Flash-Speicher, einem Phase-Change-RAM (PRAM), einem Resistive-RAM (ReRAM), einem Ferroelectric-RAM (FRAM) oder einem Spin Transfer Torque magnetic RAM (STT-MRAM) realisiert sein.
  • Die Speichersteuerung 2100 und die Speichervorrichtung 2200 können in eine einzige Halbleitervorrichtung integriert werden, um eine Speicherkarte zu bilden. Beispielsweise können die Speichersteuerung 2100 und die Speichervorrichtung 2200 eine Speicherkarte wie eine PC-Karte (Personal Computer Memory Card International Association (PCMCIA)), eine Compact-Flash-(CF)karte, eine Smart-Media-Karte (SM und SMC), einen Memory-Stick, eine Multi-Media-Karte (MMC, RS-MMC, MMCmicro und eMMC), eine SD-Karte (SD, miniSD, microSD und SDHC) und einen Universal Flash Storage (UFS) bilden.
  • 12 zeigt ein Blockdiagramm, das ein Solid-State-Drive (SSD) System darstellt, bei dem das Speichergerät gemäß einer Ausführungsform der offenbarten Technologie angewendet wird.
  • Unter Bezugnahme auf 12 umfasst das SSD-System 3000 einen Host 3100 und ein SSD 3200. Die SSD 3200 tauscht ein Signal mit dem Host 3100 über einen Signalanschluss 3001 aus und empfängt Strom über einen Stromanschluss 3002. Die SSD 3200 umfasst eine SSD-Steuerung (SSD-Controller) 3210, eine Vielzahl von Flash-Speichern 3221 bis 322n, eine Hilfsstromversorgung 3230 und einen Pufferspeicher 3240.
  • In einer Ausführungsform kann die SSD-Steuerung 3210 als die unter Bezugnahme auf 1 beschriebene Speichersteuerung 200 dienen.
  • Die SSD-Steuerung 3210 kann die Vielzahl von Flash-Speichern 3221 bis 322n als Antwort auf ein von dem Host 3100 empfangenes Signal steuern. In einigen Umsetzungen kann das Signal ein Signal auf der Grundlage einer Schnittstelle zwischen dem Host 3100 und dem SSD 3200 sein. Zum Beispiel kann das Signal ein Signal sein, das zumindest durch eine der folgenden Schnittstellen definiert ist, wie z.B. Universal Serial Bus (USB), Multi-Media Card (MMC), Embedded MMC (eMMC), Peripheral Component Interconnection (PCI), PCI express (PCIe), Advanced Technology Attachment (ATA), Serial-ATA (SATA), Parallel-ATA (PATA), Small Computer System Interface (SCSI), Enhanced Small Disk Interface (ESDI), Integrated Drive Electronics (IDE), Firewire, Universal Flash Storage (UFS), WI-FI, Bluetooth oder NVMe.
  • Die Hilfsstromversorgung 3230 ist über den Stromanschluss 3002 mit dem Host 3100 verbunden. Die Hilfsstromversorgung 3230 kann den von dem Host 3100 eingespeisten Strom PWR empfangen und den Strom PWR laden. Wenn die Stromversorgung von dem Host 3100 nicht reibungslos funktioniert, kann die Hilfsstromversorgung 3230 die Stromversorgung des SSD 3200 übernehmen. Die Hilfsstromversorgung 3230 kann sich beispielsweise in der SSD 3200 oder außerhalb der SSD 3200 befinden. Zum Beispiel kann sich die Hilfsstromversorgung 3230 auf einer Hauptplatine befinden und die SSD 3200 mit Hilfsstrom versorgen.
  • Der Pufferspeicher 3240 arbeitet als Pufferspeicher des SSD 3200. Beispielsweise kann der Pufferspeicher 3240 von dem Host 3100 empfangene Daten oder von der Vielzahl von Flash-Speichern 3221 bis 322n empfangene Daten vorübergehend speichern oder Metadaten (z.B. eine Abbildungstabelle) der Flash-Speicher 3221 bis 322n vorübergehend speichern. Der Pufferspeicher 3240 kann flüchtige Speicher wie ein DRAM, ein SDRAM, ein DDR-SDRAM, ein LPDDR-SDRAM und ein GRAM oder nichtflüchtige Speicher wie ein FRAM, ein ReRAM, ein STT-MRAM und ein PRAM umfassen.
  • 13 zeigt ein Blockdiagramm, das ein Benutzersystem darstellt, in dem das Speichergerät gemäß einer Ausführungsform der offenbarten Technologie angewendet wird.
  • Unter Bezugnahme auf 13 umfasst das Benutzersystem 4000 einen Anwendungsprozessor 4100, ein Speichermodul 4200, ein Netzwerkmodul 4300, ein Speichermodul 4400 und eine Benutzerschnittstelle 4500.
  • Der Anwendungsprozessor 4100 kann Komponenten, die im Benutzersystem 4000 umfasst sind, ein Betriebssystem (Operating System - OS), ein Benutzerprogramm oder anderes steuern. Der Anwendungsprozessor 4100 kann beispielsweise Steuerungen bzw. Controller zum Steuern von Komponenten, die in dem Benutzersystem 4000 umfasst sind, Schnittstellen, eine Grafik-Engine oder anderes umfassen. Der Anwendungsprozessor 4100 kann als System-on-Chip (SoC) vorgesehen sein.
  • Das Speichermodul 4200 kann als Hauptspeicher, Arbeitsspeicher, Pufferspeicher oder Cache-Speicher des Benutzersystems 4000 arbeiten. Das Speichermodul 4200 kann flüchtige Direktzugriffsspeicher wie DRAM, SDRAM, DDR SDRAM, DDR2 SDRM, DDR3 SDRAM, LPDDR SDRAM, LPDDR2 SDRAM und LPDDR3 SDRAM oder nichtflüchtige Direktzugriffsspeicher wie PRAM, ReRAM, MRAM oder FRAM umfassen. Beispielhaft können der Anwendungsprozessor 4100 und das Speichermodul 4200 als eine Halbleiterbaugruppe bzw. Halbleiterpackung vorgesehen sein, indem sie auf der Grundlage eines Package-on-Package (PoP) verpackt werden.
  • Das Netzwerkmodul 4300 kann mit externen Vorrichtungen kommunizieren. Beispielhaft kann das Netzwerkmodul 4300 drahtlose Kommunikation wie Code Division Multiple Access (CDMA), Global System for Mobile communication (GSM), Wideband CDMA (WCDMA), CDMA-2000, Time Division Multiple Access (TDMA), Long Term Evolution (LTE), Wimax, WLAN, UWB, Bluetooth oder Wi-Fi unterstützen. Beispielhaft kann das Netzwerkmodul 4300 in dem Anwendungsprozessor 4100 umfasst sein.
  • Das Speichermodul 4400 kann Daten speichern. Beispielsweise kann das Speichermodul 4400 Daten speichern, die von dem Anwendungsprozessor 4100 empfangen werden. Alternativ kann das Speichermodul 4400 die darin gespeicherten Daten an den Anwendungsprozessor 4100 übertragen. Beispielhaft kann das Speichermodul 4400 mit einer nichtflüchtigen Halbleiterspeichervorrichtung wie einem Phase-Change-RAM (PRAM), einem Magnetic-RAM (MRAM), einem Resistive-RAM (RRAM), einem NAND-Flash, einem NOR-Flash oder einem NAND-Flash mit einer dreidimensionalen Struktur realisiert sein. Beispielhaft kann das Speichermodul 4400 als Wechsellaufwerk wie eine Speicherkarte des Benutzersystems 4000 oder ein externes Laufwerk vorgesehen sein.
  • Beispielhaftkann das Speichermodul 4400 eine Vielzahl von nichtflüchtigen Speichervorrichtungen umfassen, und die Vielzahl von nichtflüchtigen Speichervorrichtungen kann identisch zu der unter Bezugnahme auf 1 beschriebenen Speichervorrichtung 100 arbeiten. Das Speichermodul 4400 kann identisch mit dem unter Bezugnahme auf 1 beschriebenen Speichergerät 50 arbeiten.
  • Die Benutzerschnittstelle 4500 kann Schnittstellen zum Eingeben von Daten oder Befehlen an den Anwendungsprozessor 4100 oder zum Ausgeben von Daten an eine externe Vorrichtung umfassen. Beispielhaft kann die Benutzerschnittstelle 4500 Benutzereingabeschnittstellen wie eine Tastatur, ein Tastenfeld, einen Knopf bzw. eine Taste, ein Touchpanel, einen Touchscreen, ein Touchpad, einen Touchball, eine Kamera, ein Mikrofon, einen Gyroskopsensor, einen Vibrations- bzw. Schwingungssensor und ein piezoelektrisches Element umfassen. Die Benutzerschnittstelle 4500 kann Benutzerausgabeschnittstellen wie eine Flüssigkristallanzeige (Liquid Crystal Display - LCD), eine OLED- (Organic Light Emitting Diode) Anzeigevorrichtung, eine AMOLED- (Active Matrix OLED) Anzeigevorrichtung, eine LED, einen Lautsprecher oder einen Monitor umfassen.
  • Gemäß der offenbarten Technologie können eine Hostvorrichtung, die in der Lage ist, die Zuverlässigkeit von in einem Hostspeicherpuffer (HMB) gespeicherten Daten zu verbessern, eine Speichersteuerung und ein Computersystem mit derselben vorgesehen sein.
  • Obwohl dieses Dokument der Patentanmeldung viele Einzelheiten enthält, sollten diese nicht als Beschränkungen des Umfangs einer offenbarten Technologie oder dessen, was beansprucht werden kann, ausgelegt werden, sondern vielmehr als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen einer bestimmten offenbarten Technologie spezifisch sein können. Bestimmte Merkmale, die in diesem Dokument der Patentanmeldung im Zusammenhang mit einzelnen Ausführungsformen beschrieben werden, können auch in Kombination in einer einzigen Ausführungsform realisiert werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzigen Ausführungsform beschrieben werden, auch in mehreren Ausführungsformen separat oder in jeder geeigneten Unterkombination realisiert werden. Darüber hinaus können, obwohl Merkmale oben als in bestimmten Kombinationen wirkend beschrieben und sogar ursprünglich als solche beansprucht werden, ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder Variation einer Unterkombination gerichtet sein.
  • Auch wenn Vorgänge in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, ist dies nicht derart zu verstehen, dass diese Vorgänge in der gezeigten Reihenfolge oder in sequenzieller Reihenfolge durchgeführt werden müssen oder dass alle dargestellten Vorgänge durchgeführt werden müssen, um die gewünschten Ergebnisse zu erzielen. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den Ausführungsformen, die in diesem Dokument der Patentanmeldung beschrieben sind, nicht derart verstanden werden, dass eine solche Trennung in allen Ausführungsformen erforderlich ist.
  • Die oben offenbarten Ausführungsformen und Umsetzungen sind nur Beispiele, und Verbesserungen und Variationen der offenbarten Ausführungsformen und Umsetzungen sowie andere Ausführungsformen und Umsetzungen können auf der Grundlage dessen, was in diesem Dokument der Patentanmeldung beschrieben und dargestellt ist, vorgenommen werden.

Claims (19)

  1. Hostvorrichtung, aufweisend: einen Hostspeicherpuffer (HMB), der eine Vielzahl von Speicherbereichen umfasst, wobei jeder Speicherbereich eingerichtet ist, um Daten zu speichern, die von einem Speichergerät bereitgestellt werden, das in Kommunikation mit der Hostvorrichtung steht; und eine Hostvorrichtung, die eingerichtet ist, um Zuverlässigkeitsinformationen für jeden der Vielzahl von Speicherbereichen zu erzeugen, und die in Verbindung mit dem Speichergerät steht, um die Zuverlässigkeitsinformationen an das Speichergerät bereitzustellen.
  2. Hostvorrichtung nach Anspruch 1, wobei die Zuverlässigkeitsinformationen einen Zuverlässigkeitsgrad umfassen, der aus einer Vielzahl von Zuverlässigkeitsgraden ausgewählt wird, die auf der Grundlage eines Ergebnisses festgelegt werden, das durch Vergleichen von Zuverlässigkeiten der Vielzahl von Speicherbereichen erhalten wird.
  3. Hostvorrichtung nach Anspruch 1, wobei die Hoststeuerung eingerichtet ist, um die Zuverlässigkeitsinformation auf der Grundlage von zumindest einer aus einer Programm/Löschnummer von jedem der Vielzahl von Speicherbereichen und einer Anzahl des Auftretens eines Fehlers in einem Fehlerkorrekturvorgang von in jedem der Vielzahl von Speicherbereichen umfassten Daten zu erzeugen.
  4. Hostvorrichtung nach Anspruch 1, wobei die Hoststeuerung eingerichtet ist, um Datenverlust-Vorhersageinformationen zu erzeugen, die einen Verlust von in dem HMB gespeicherten Daten vorhersagen, und die Datenverlust-Vorhersageinformationen an das Speichergerät bereitzustellen.
  5. Hostvorrichtung nach Anspruch 4, wobei die Hoststeuerung eingerichtet ist, um die Datenverlustvorhersageinformation auf der Grundlage von zumindest einer aus einer Temperaturinformation eines Hostspeichers, der den HMB umfasst, einer Programm-/Löschnummer des Hostspeichers und einer Anzahl des Auftretens eines Fehlers in einem Fehlerkorrekturvorgang von in dem HMB umfassten Daten zu erzeugen.
  6. Hostvorrichtung nach Anspruch 4, wobei die Hoststeuerung eingerichtet ist, um die Zuverlässigkeitsinformationen durch einen spezifischen Befehl an das Speichergerät bereitzustellen.
  7. Speichersteuerung, aufweisend: einen Datenbedeutungs-Informationsgenerator, der eingerichtet ist, um Bedeutungsinformationen von Daten zu erzeugen, die für einen Bedeutungsgrad von Daten bezeichnend sind; und eine Hostspeicher-Puffersteuerung, die eingerichtet ist, um Zuverlässigkeitsinformationen von jedem einer Vielzahl von Speicherbereichen von einer Hostvorrichtung zu empfangen, wobei die Vielzahl von Speicherbereichen in einem Hostspeicherpuffer (HMB) der Hostvorrichtung umfasst ist, und um die Daten in einem Speicherbereich unter der Vielzahl von Speicherbereichen auf der Grundlage der Bedeutungsinformationen und der Zuverlässigkeitsinformationen zu speichern.
  8. Speichersteuerung nach Anspruch 7, wobei der Datenbedeutungs-Informationsgenerator eingerichtet ist, um die Bedeutungsinformationen auf der Grundlage von zumindest einer aus Möglichkeiten eines normalen Betriebs eines Speichergeräts, das die Speichersteuerung umfasst, mit einem Auftreten einer Datenbeschädigung, einem Einfluss des Auftretens der Datenbeschädigung auf eine Leistung des Speichergeräts und Möglichkeiten einer Datenwiederherstellung der Daten nach der Datenbeschädigung zu erzeugen.
  9. Speichersteuerung nach Anspruch 7, wobei die Zuverlässigkeitsinformationen einen Zuverlässigkeitsgrad umfassen, der aus einer Vielzahl von Zuverlässigkeitsgraden ausgewählt wird, die auf der Grundlage eines Ergebnisses eingestellt sind, das durch Vergleichen von Zuverlässigkeiten der Vielzahl von Speicherbereichen erhalten wird.
  10. Speichersteuerung nach Anspruch 7, wobei die Zuverlässigkeitsinformation auf der Grundlage von zumindest einer aus einer Programm-/Löschnummer von jedem der Vielzahl von Speicherbereichen und einer Anzahl des Auftretens eines Fehlers in einem Fehlerkorrekturvorgang von in jedem der Vielzahl von Speicherbereichen umfassten Daten erzeugt wird.
  11. Speichersteuerung nach Anspruch 7, wobei die Hostspeicher-Puffersteuerung eingerichtet ist, um die Daten mit einer relativ höheren Bedeutung in einem Speicherbereich mit einer relativ höheren Zuverlässigkeit unter der Vielzahl von Speicherbereichen zu speichern.
  12. Computersystem, aufweisend: eine Hostvorrichtung, die einen Hostspeicherpuffer (HMB) umfasst, der eine Vielzahl von Speicherbereichen umfasst, die eingerichtet sind, um Daten zu speichern, wobei die Hostvorrichtung eingerichtet ist, um Zuverlässigkeitsinformationen von jedem der Vielzahl von Speicherbereichen zu erzeugen; und eine Speichervorrichtung, die in Verbindung mit der Hostvorrichtung steht und eingerichtet ist, um die Daten auf der Grundlage der Bedeutung der Daten und der Zuverlässigkeitsinformationen in einem Speicherbereich unter der Vielzahl von Speicherbereichen zu speichern.
  13. Computersystem nach Anspruch 12, wobei die Hostvorrichtung eingerichtet ist, um die Zuverlässigkeitsinformationen auf der Grundlage von zumindest einer aus einer Programm/Löschnummer von jedem der Vielzahl von Speicherbereichen und einer Anzahl des Auftretens eines Fehlers in einem Fehlerkorrekturvorgang von in jedem der Vielzahl von Speicherbereichen umfassten Daten zu erzeugen, und um die Zuverlässigkeitsinformationen durch einen spezifischen Befehl an das Speichergerät bereitzustellen.
  14. Computersystem nach Anspruch 12, wobei das Speichergerät eingerichtet ist, um die Bedeutungsinformationen auf der Grundlage von zumindest einer aus Möglichkeiten eines normalen Betriebs des Speichergeräts mit einem Auftreten einer Datenbeschädigung, einem Einfluss des Auftretens der Datenbeschädigung auf eine Leistung des Speichergeräts und Möglichkeiten einer Datenwiederherstellung der Daten nach der Datenbeschädigung zu erzeugen.
  15. Computersystem nach Anspruch 12, wobei das Speichergerät eingerichtet ist, um die Daten mit einer relativ höheren Bedeutung in einem Speicherbereich mit einer relativ höheren Zuverlässigkeit unter der Vielzahl von Speicherbereichen zu speichern.
  16. Rechensystem nach Anspruch 12, wobei die Hostvorrichtung eingerichtet ist, um an das Speichergerät Datenverlust-Vorhersageinformationen, die einen Verlust von in dem HMB gespeicherten Daten vorhersagen, durch einen spezifischen Befehl bereitzustellen.
  17. Computersystem nach Anspruch 16, wobei die Hostvorrichtung eingerichtet ist, um die Datenverlust-Vorhersageinformationen auf der Grundlage von zumindest einer aus einer Temperaturinformation eines den HMB umfassenden Hostspeichers, einer Programm-/Löschnummer des Hostspeichers und einer Anzahl des Auftretens eines Fehlers in einem Fehlerkorrekturvorgang von in dem HMB umfassten Daten zu erzeugen.
  18. Computersystem nach Anspruch 16, wobei das Speichergerät eingerichtet ist, um Daten mit einer höchsten Bedeutung unter in dem HMB gespeicherten Daten von der Hostvorrichtung als Antwort auf die Datenverlust-Vorhersageinformationen anzufordern, die Daten mit der höchsten Bedeutung von der Hostvorrichtung zu empfangen und die Speichervorrichtung zu steuern, um die Daten mit der höchsten Bedeutung zu speichern.
  19. Computersystem nach Anspruch 16, wobei das Speichergerät eingerichtet ist, um einen Fehler der von der Hostvorrichtung empfangenen Daten zu erfassen und den Fehler als Antwort auf ein Empfangen der Datenverlust-Vorhersageinformationen und ferner ein Empfangen der in dem HMB gespeicherten Daten von der Hostvorrichtung zu korrigieren.
DE102022208699.6A 2021-09-09 2022-08-23 Hostvorrichtung, speichersteuerung und computersystem mit derselben Pending DE102022208699A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0120302 2021-09-09
KR1020210120302A KR20230037240A (ko) 2021-09-09 2021-09-09 호스트 장치, 메모리 컨트롤러 및 이를 포함하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
DE102022208699A1 true DE102022208699A1 (de) 2023-03-09

Family

ID=85226351

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022208699.6A Pending DE102022208699A1 (de) 2021-09-09 2022-08-23 Hostvorrichtung, speichersteuerung und computersystem mit derselben

Country Status (5)

Country Link
US (1) US11880274B2 (de)
KR (1) KR20230037240A (de)
CN (1) CN115793959A (de)
DE (1) DE102022208699A1 (de)
TW (1) TW202311965A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12014080B2 (en) * 2021-11-10 2024-06-18 Samsung Electronics Co., Ltd. Memory system using host memory buffer and operation method thereof
KR102560109B1 (ko) 2023-03-20 2023-07-27 메티스엑스 주식회사 바이트 어드레서블 장치 및 이를 포함하는 컴퓨팅 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102667430B1 (ko) 2016-08-04 2024-05-23 삼성전자주식회사 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법
KR102589402B1 (ko) 2018-10-04 2023-10-13 삼성전자주식회사 스토리지 디바이스 및 스토리지 디바이스의 동작 방법
KR20200046264A (ko) * 2018-10-24 2020-05-07 삼성전자주식회사 호스트 메모리 버퍼를 이용하는 데이터 스토리지 장치 및 그 동작 방법
KR20200050169A (ko) * 2018-11-01 2020-05-11 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법
US11615025B2 (en) * 2020-02-10 2023-03-28 SK Hynix Inc. Encoding and decoding device for system data of storage device
US11269645B2 (en) * 2020-03-11 2022-03-08 Western Digital Technologies, Inc. Storage system and method for implementing an encoder, decoder, and/or buffer using a field programmable gate array

Also Published As

Publication number Publication date
KR20230037240A (ko) 2023-03-16
US20230074941A1 (en) 2023-03-09
TW202311965A (zh) 2023-03-16
CN115793959A (zh) 2023-03-14
US11880274B2 (en) 2024-01-23

Similar Documents

Publication Publication Date Title
US11543984B2 (en) Memory controller, storage device and operating method thereof
US10846002B2 (en) Memory controller to adjust the size of write data, operating method therof and storage device including the same
DE102022208699A1 (de) Hostvorrichtung, speichersteuerung und computersystem mit derselben
US11734178B2 (en) Storage device performing cache read operation using page buffer and operating method thereof
KR20210144180A (ko) 스토리지 장치 및 그 동작 방법
US11194712B2 (en) Memory controller and operating method for performing garbage collection operation in memory devices
DE102020212996A1 (de) Speichergerät, speichervorrichtung, halbleitersystem und betriebsverfahren eines speichersystems
CN113377687A (zh) 存储器控制器及其操作方法
US11194732B2 (en) Storage device and method of operating the same
CN114356209A (zh) 存储装置及其操作方法
DE102022213293A1 (de) Speichersteuerung und verfahren zum betreiben derselben
KR20210079104A (ko) 저장 장치 및 그 동작 방법
DE102022209281A1 (de) Speichersteuerung, Speichergerät und Hostvorrichtung
US11748036B2 (en) Storage device and operating method thereof
US11625324B2 (en) Storage device for moving valid data to an open memory block based on a valid page list and operating method thereof
KR102569823B1 (ko) 스토리지 장치 및 그 동작 방법
DE102021208963A1 (de) Speichervorrichtung und verfahren zum betreiben derselben
US11281512B2 (en) Storage device providing device-to-host information to host and operating method thereof
DE102021121974A1 (de) Speicher-steuereinheit und speichersystem, welches diese enthält
DE102022209147A1 (de) Speichercontroller und betriebsverfahren dafür
DE102022209594A1 (de) Speichergerät und betriebsverfahren dafür
US11500768B2 (en) Storage device performing garbage collection and method of operating the same
US11841795B2 (en) Storage device for setting a flag in a mapping table according to a sequence number and operating method thereof
DE102022208017A1 (de) Speichervorrichtung und betriebsverfahren derselben
DE102022207151A1 (de) Speichereinrichtung und verfahren zum betreiben derselben