DE102022207151A1 - Speichereinrichtung und verfahren zum betreiben derselben - Google Patents

Speichereinrichtung und verfahren zum betreiben derselben Download PDF

Info

Publication number
DE102022207151A1
DE102022207151A1 DE102022207151.4A DE102022207151A DE102022207151A1 DE 102022207151 A1 DE102022207151 A1 DE 102022207151A1 DE 102022207151 A DE102022207151 A DE 102022207151A DE 102022207151 A1 DE102022207151 A1 DE 102022207151A1
Authority
DE
Germany
Prior art keywords
read
read command
memory
memory device
header segment
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
DE102022207151.4A
Other languages
English (en)
Inventor
Byung Jun Kim
Jea Young ZHANG
Young Kyu JEON
Kyoung Ku Cho
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
Priority claimed from KR1020220035416A external-priority patent/KR20230011214A/ko
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of DE102022207151A1 publication Critical patent/DE102022207151A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/061Improving I/O performance
    • 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
    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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/26Sensing or reading circuits; Data output circuits
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

Gemäß einer Ausführungsform der vorliegenden Offenbarung kann eine Speichereinrichtung ein Speicherbauelement und einen Speicher-Controller umfassen, der dazu eingerichtet ist, einen Lesebefehl von einem externen Host zu empfangen und das Speicherbauelement in Übereinstimmung mit dem Lesebefehl zu steuern, wobei der Lesebefehl ein Basis-Header-Segment enthalten kann, das in der Regel in Befehlen vorhanden ist, die zwischen dem externen Host und dem Speicher-Controller übertragen werden, und das Informationen enthält, die anzeigen, dass der Lesebefehl ein Befehl zum Anfordern von in dem Speicherbauelement gespeicherten Daten ist, ein transaktionsspezifisches Feld, das Informationen enthält, die anzeigen, dass der Lesebefehl ein Lesebefehl für mindestens zwei oder mehr logische Adressen ist, und ein Extra-Header-Segment, das Informationen über die mindestens zwei oder mehr logischen Adressen enthält.

Description

  • HINTERGRUND
  • 1. Gebiet der Erfindung
  • Die vorliegende Offenbarung betrifft eine elektronische Vorrichtung, und insbesondere eine Speichereinrichtung und Verfahren zum Betreiben derselben.
  • 2. Beschreibung des Standes der Technik
  • Eine Speichereinrichtung ist eine Vorrichtung, die Daten unter der Steuerung einer Host-Vorrichtung wie einem Computer oder einem Smartphone speichert. Eine Speichereinrichtung kann ein Speicherbauelement zum Speichern von Daten und einen Speicher-Controller zum Steuern des Speicherbauelements umfassen. Das Speicherbauelement kann als flüchtiges Speicherbauelement und als nichtflüchtiges Speicherbauelement klassifiziert werden.
  • Das flüchtige Speicherbauelement kann ein Bauelement sein, das Daten nur speichert, wenn es mit Strom versorgt wird, und die gespeicherten Daten verliert, wenn die Stromversorgung unterbrochen wird. Das flüchtige Speicherbauelement kann ein statisches Random Access Memory (SRAM), ein dynamisches Random Access Memory (DRAM) oder dergleichen umfassen.
  • Das nichtflüchtige Speicherbauelement ist eine Vorrichtung, die auch bei einer Stromunterbrechung keine Daten verliert. Das nichtflüchtige Speicherbauelement umfasst einen Festwertspeicher (ROM), ein programmierbares ROM (PROM), ein elektrisch programmierbares ROM (EPROM), ein elektrisch löschbares und programmierbares ROM (EEPROM), einen Flash-Speicher und dergleichen.
  • ZUSAMMENFASSUNG
  • Eine Ausführungsform der vorliegenden Offenbarung stellt eine Speichereinrichtung, die in der Lage ist, eine Leseoperation an einer Vielzahl von logischen Adressen durchzuführen, und ein Verfahren zum Betrieb derselben bereit.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann eine Speichereinrichtung ein Speicherbauelement und einen Speicher-Controller umfassen, der dazu eingerichtet ist, einen Lesebefehl von einem externen Host zu empfangen und das Speicherbauelement in Übereinstimmung mit dem Lesebefehl zu steuern, wobei der Lesebefehl ein Basis-Header-Segment enthalten kann, das in der Regel in Befehlen vorhanden ist, die zwischen dem externen Host und dem Speicher-Controller übertragen werden, und das Informationen enthält, die anzeigen, dass der Lesebefehl ein Befehl zum Anfordern von in dem Speicherbauelement gespeicherten Daten ist, ein transaktionsspezifisches Feld, das Informationen enthält, die anzeigen, dass der Lesebefehl ein Lesebefehl für mindestens zwei oder mehr logische Adressen ist, und ein Extra-Header-Segment, das Informationen über die mindestens zwei oder mehr logischen Adressen enthält.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann ein Verfahren zum Betreiben einer Speichereinrichtung, die ein Speicherbauelement und einen Speicher-Controller umfasst, der das Speicherbauelement steuert, Empfangen von einem externen Host eines Lesebefehls umfassen, der Lesebefehl aufweisend ein Basis-Header-Segment, das in der Regel in Befehlen vorhanden ist, die zwischen dem externen Host und dem Speicher-Controller übertragen werden, und das Informationen enthält, die einen Lesebefehl zum Anfordern von in dem Speicherbauelement gespeicherten Daten anzeigen, ein transaktionsspezifisches Feld, das Informationen enthält, die anzeigen, dass der Lesebefehl ein Lesebefehl für mindestens zwei oder mehr logische Adressen ist, und ein Extra-Header-Segment, das Informationen über die mindestens zwei oder mehr logischen Adressen enthält, und Durchführen einer Leseoperation basierend auf den Informationen über die mindestens zwei oder mehr logischen Adressen.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann ein Speicher-Controller, der ein Speicherbauelement steuert, umfassen: einen Mapping-Datenspeicher, der dazu eingerichtet ist, Mapping-Informationen zwischen einer logischen Adresse und einer physikalischen Adresse von in dem Speicherbauelement gespeicherten Daten zu speichern, einen Leseanforderungs-Prozessor, der dazu eingerichtet ist, eine Leseanforderung von einem externen Host zu empfangen und physikalische Adressen zu erhalten, die mindestens einer oder mehreren in der Leseanforderung enthaltenen logischen Adressen entsprechen, und einen Leseoperations-Controller, der dazu eingerichtet ist, das Speicherbauelement mit einem Lesebefehl für die physikalischen Adressen zu versehen, die der mindestens einen oder mehreren logischen Adressen entsprechen, wobei die Leseanforderung ein Basis-Header-Segment enthalten kann, das in der Regel in Anforderungen vorhanden ist, die zwischen dem externen Host und dem Speicher-Controller übertragen und empfangen werden, und das Informationen enthält, die angeben, dass die Leseanforderung zum Anfordern von in dem Speicherbauelement gespeicherten Daten dient, ein transaktionsspezifisches Feld, das Informationen enthält, die angeben, dass die Leseanforderung eine Leseanforderung für mindestens zwei oder mehr logische Adressen ist, und ein Extra- Header-Segment, das Informationen über die mindestens zwei oder mehreren logischen Adressen enthält.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann ein Betriebsverfahren eines Controllers umfassen: Identifizieren, basierend auf einem ersten Feld einer empfangenen Nachricht, der Nachricht als einen auf logische Adressgruppen bezogenen Lesebefehl; und Steuern, basierend auf den in einem zweiten Feld der Nachricht definierten logischen Adressgruppen, eines Speicherbauelements, um Daten aus Speichereinheiten zu lesen, die darin diskontinuierlich angeordnet und durch die jeweiligen logischen Adressgruppen angegeben sind.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann ein Betriebsverfahren eines Hosts umfassen: Bereitstellen einer Nachricht an ein Speichersystem, damit das Speichersystem in Reaktion auf die Nachricht betrieben wird; und Empfangen von Daten, die aus Speichereinheiten, die diskontinuierlich innerhalb des Speichersystems angeordnet sind, gelesen werden, von dem Speichersystem und als Antwort auf die Nachricht, die Nachricht umfassend: ein erstes Feld, das die Nachricht als einen auf logische Adressgruppen bezogenen Lesebefehl angibt, und ein zweites Feld, das die logischen Adressgruppen definiert, die die jeweiligen Speichereinheiten angeben.
  • Die vorliegende Technologie stellt eine Speichereinrichtung, die in der Lage ist, eine Leseoperation an einer Vielzahl von logischen Adressen durchzuführen, und ein Verfahren zum Betrieb derselben bereit.
  • Figurenliste
    • 1 ist ein Diagramm, das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 2 ist ein Diagramm, das ein Speicherbauelement aus 1 gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 3 ist ein Diagramm, das die Struktur eines Speicherblocks innerhalb der Speicherblöcke der 2 gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 4 ist ein Diagramm, das eine Datenkommunikationseinheit zwischen einem Host und einem Speicher-Controller gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 5 ist ein Diagramm, das die Struktur eines Basis-Header-Segments einer Protokolleinheit (PIU) zeigt, die in einem Befehl gemäß einer Ausführungsform der vorliegenden Offenbarung enthalten ist.
    • 6 ist ein Diagramm, das eine Befehls-PIU zeigt, die in dem Befehl gemäß einer Ausführungsform der vorliegenden Offenbarung enthalten ist.
    • 7 ist ein Diagramm, das die Struktur eines Lesebefehls-Deskriptorblocks (6) gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 8 ist ein Diagramm, das die Struktur eines Lesebefehls-Deskriptorblocks (10) gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 9 ist ein Diagramm, das die Struktur eines Lesebefehls-Deskriptorblocks (16) gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 10 ist ein Diagramm, das ein Extra-Header-Segment gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 11 ist ein Diagramm, das einen Speicher-Controller gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 12 ist ein Flussdiagramm, das ein Verfahren zum Betrieb einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 13 ist ein Flussdiagramm, das eine Multi-Read-Operation einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 14 ist ein Flussdiagramm, das eine normale Leseoperation einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 15 ist ein Diagramm, das eine Reihenfolge der Datenbereitstellung in einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 16 ist ein Diagramm, das einen Speicher-Controller aus 1 gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 17 ist ein Blockdiagramm, das ein Speicherkartensystem veranschaulicht, auf das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung angewendet wird.
    • 18 ist ein Blockdiagramm, das ein Solid-State-Drive (SSD)-System zeigt, auf das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung angewendet wird.
    • 19 ist ein Blockdiagramm, das ein Benutzersystem veranschaulicht, auf das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung angewendet wird.
  • DETAILLIERTE BESCHREIBUNG
  • Spezifische strukturelle oder funktionelle Beschreibungen von Ausführungsformen gemäß dem Konzept, die in der vorliegenden Spezifikation offenbart werden, werden nur veranschaulicht, um die Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung zu beschreiben. Die Ausführungsformen gemäß dem Konzept der vorliegenden Offenbarung können in verschiedenen Formen ausgeführt werden und sollten nicht so ausgelegt werden, dass sie auf die in der vorliegenden Beschreibung beschriebenen Ausführungsformen beschränkt sind.
  • 1 ist ein Diagramm, das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Wie in 1 dargestellt, die Speichereinrichtung 50 kann ein Speicherbauelement 100 und einen Speicher-Controller 200 umfassen. Die Speichereinrichtung 50 kann eine Vorrichtung sein, die Daten unter der Kontrolle eines Hosts 400 speichert, wie z. B. ein Mobiltelefon, ein Smartphone, ein MP3-Player, ein Laptop, ein Desktop-Computer, ein Spielkonsole, ein Fernseher, ein Tablet-PC oder ein Infotainment-System im Fahrzeug. Alternativ kann die Speichereinrichtung 50 eine Vorrichtung sein, die Daten unter der Kontrolle des Hosts 400 speichert, der Daten mit hoher Kapazität an einem Ort speichert, wie z. B. ein Server oder ein Datenzentrum.
  • Die Speichereinrichtung 50 kann als eine von verschiedenen Arten von Speichereinrichtungen entsprechend einer Host-Schnittstelle hergestellt werden, die eine Kommunikationsmethode mit dem Host 400 ist. Beispielsweise kann die Speichereinrichtung 50 als eine der verschiedenen Typen von Speichereinrichtungen konfiguriert sein, wie eine SSD, eine Multimediakarte in Form einer MMC, einer eMMC, einer RS-MMC und einer Mikro-MMC, eine sichere digitale Karte in Form einer SD, einer Mini-SD und einer Mikro-SD, eine Universal Serial Bus (USB)-Speichereinrichtung, eine universelle Flash-Speichervorrichtung (UFS), eine Speichervorrichtung vom Typ PCMCIA-Karte (Personal Computer Memory Card International Association), eine Speichervorrichtung vom Typ PCI-Karte (Peripheral Component Interconnection), eine Speichervorrichtung vom Typ PCI-Express-Karte (PCI-e oder PCIe), eine Compact-Flash-Karte (CF), eine Smart-Media-Karte und ein Memory-Stick.
  • Die Speichereinrichtung 50 kann in verschiedenen Arten von Verpackungen hergestellt werden. Beispielsweise kann die Speichereinrichtung 50 in verschiedenen Gehäusetypen hergestellt werden, wie einem Package-on-Package (POP), einem System-in-Package (SIP), einem System-on-Chip (SOC), einem Multi-Chip-Package (MCP), einem Chip-on-Board (COB), einem Wafer-Level-Fabricated-Package (WFP) und einem Wafer-Level-Stack-Package (WSP).
  • Das Speicherbauelement 100 kann Daten speichern. Das Speicherbauelement 100 arbeitet unter der Steuerung des Speicher-Controllers 200. Das Speicherbauelement 100 kann ein Speicherzellenfeld (nicht dargestellt) mit einer Vielzahl von Speicherzellen umfassen, die Daten speichern.
  • Jede der Speicherzellen kann als Single-Level-Zelle (SLC), die ein Datenbit speichert, als Multi-Level-Zelle (MLC), die zwei Datenbits speichert, als Triple-Level-Zelle (TLC), die drei Datenbits speichert, oder als Quad-Level-Zelle (QLC), die vier Datenbits speichern kann, ausgebildet sein.
  • Das Speicherzellenfeld (nicht dargestellt) kann eine Vielzahl von Speicherblöcken aufweisen. Jeder Speicherblock kann eine Vielzahl von Speicherzellen aufweisen. Jeder Speicherblock kann eine Vielzahl von Seiten aufweisen. In einer Ausführungsform kann die Seite eine Einheit zum Speichern von Daten in dem Speicherbauelement 100 oder zum Lesen von in dem Speicherbauelement 100 gespeicherten Daten sein. Der Speicherblock kann eine Einheit zum Löschen von Daten sein.
  • In einer Ausführungsform kann das Speicherbauelement 100 ein synchroner dynamischer Direktzugriffsspeicher mit doppelter Datenrate (DDR SDRAM), ein LPDDR4-SDRAM (Low Power Double Data Rate), ein GDDR-SDRAM (Graphics Double Data Rate), ein LPDDR (Low Power DDR), ein Rambus Dynamic Random Access Memory (RDRAM), ein NAND-Flash-Speicher, ein vertikaler NAND-Flash-Speicher, ein NOR-Flash-Speicher, ein resistiver Direktzugriffsspeicher (RRAM), ein Phasenänderungs-Direktzugriffsspeicher (PRAM), ein magnetoresistiver Direktzugriffsspeicher (MRAM), ein ferroelektrischer Direktzugriffsspeicher (FRAM), ein Spin-Transfer-Torque-Direktzugriffsspeicher (STT-RAM) oder dergleichen. In der vorliegenden Offenbarung ist das Speicherbauelement 100 der Einfachheit halber ein NAND-Flash-Speicher.
  • Das Speicherbauelement 100 ist dazu eingerichtet, einen Befehl und eine Adresse von dem Speicher-Controller 200 zu empfangen und auf einen durch die Adresse ausgewählten Bereich in dem Speicherzellenfeld zuzugreifen. Das Speicherbauelement 100 kann eine durch den Befehl angewiesene Operation in dem durch die Adresse ausgewählten Bereich durchführen. Beispielsweise kann das Speicherbauelement 100 eine Schreiboperation (Programmoperation), eine Leseoperation und eine Löschoperation durchführen. Während der Programmoperation kann das Speicherbauelement 100 Daten in dem durch die Adresse ausgewählten Bereich programmieren. Während der Leseoperation kann das Speicherbauelement 100 Daten aus dem durch die Adresse ausgewählten Bereich lesen. Während der Löschoperation kann das Speicherbauelement 100 die in dem durch die Adresse ausgewählten Bereich gespeicherten Daten löschen.
  • Der Speicher-Controller 200 kann den Gesamtbetrieb der Speichereinrichtung 50 steuern.
  • Wenn die Speichereinrichtung 50 mit Strom versorgt wird, kann der Speicher-Controller 200 Firmware (FW) vollziehen. Wenn das Speicherbauelement 100 ein Flash-Speicherbauelement ist, kann der Speicher-Controller 200 Firmware wie eine Flash-Übersetzungsschicht (Flash Translation Layer; FTL) zum Steuern der Kommunikation zwischen dem Host 400 und dem Speicherbauelement 100 vollziehen.
  • In einer Ausführungsform kann der Speicher-Controller 200 Daten und eine logische Blockadresse (LBA) vom Host 400 empfangen und die LBA in eine physikalische Blockadresse (PBA) umwandeln, die eine Adresse von Speicherzellen angibt, in denen die in dem Speicherbauelement 100 enthaltenen Daten zu speichern sind.
  • Der Speicher-Controller 200 kann das Speicherbauelement 100 steuern, dass eine Programmoperation, eine Leseoperation, eine Löschoperation gemäß einer Anfrage von dem Host 400 durchführt wird. Während der Programmoperation kann der Speicher-Controller 200 einen Programmbefehl, die PBA und Daten an dem Speicherbauelement 100 bereitstellen. Während der Leseoperation kann der Speicher-Controller 200 einen Lesebefehl und die PBA an dem Speicherbauelement 100 bereitstellen. Während der Löschoperation kann der Speicher-Controller 200 einen Löschbefehl und die PBA an dem Speicherbauelement 100 bereitstellen.
  • Zu diesem Zeitpunkt können in der vorliegenden Offenlegung Informationen, die zwischen dem Host 400 und dem Speicher-Controller 200 übertragen und empfangen werden, als Anfrage oder Befehl bezeichnet werden.
  • Darüber hinaus können in der vorliegenden Offenbarung Informationen, die von dem Speicher-Controller 200 an das Speicherbauelement 100 geliefert werden, als Befehl bezeichnet werden.
  • In einer Ausführungsform kann der Speicher-Controller 200 unabhängig von der Anfrage des Hosts 400 einen Befehl, eine Adresse und Daten generieren und den Befehl, die Adresse und die Daten an das Speicherbauelement 100 übertragen. Zum Beispiel kann der Speicher-Controller 200 den Befehl, die Adresse und die Daten für die Durchführung der Programmoperation, der Leseoperation und der Löschoperation, die mit der Durchführung von Abnutzungsausgleich (Wear Leveling), Leserückgewinnung (Read Reclaim), Freispeichersammlung (Garbage Collection) und dergleichen einhergehen, an das Speicherbauelement 100 bereitstellen.
  • In einer Ausführungsform kann der Speicher-Controller 200 mindestens zwei oder mehr Speicherbauelemente 100 steuern. In diesem Fall kann der Speicher-Controller 200 die Speicherbauelemente 100 gemäß einer Verschachtelungsmethode steuern, um die Betriebsleistung zu verbessern. Das Verschachtelungsverfahren kann ein Verfahren zur Steuerung von Operationen für mindestens zwei Speichervorrichtungen 100 sein, die sich gegenseitig überlappen.
  • Der Host 400 kann über mindestens einen von verschiedenen Kommunikationsstandards oder Schnittstellen mit der Speichereinrichtung 50 kommunizieren, wie z. B. einen universellen seriellen Bus (USB), einen seriellen AT-Anschluss (SATA), einen seriell angeschlossenen SCSI-Anschluss (SAS), einen Hochgeschwindigkeits-Interchip (HSIC), ein Small Computer System Interface (SCSI), eine Peripheral Component Interconnection (PCI), eine PCI Express (PCIe), eine Nonvolatile Memory Express (NVMe), eine Universal Flash Storage (UFS), eine Secure Digital (SD), eine Multi-Media-Card (MMC), eine Embedded MMC (eMMC), ein Dual In-Line Memory Module (DIMM), ein Registered DIMM (RDIMM) und ein Load Reduced DIMM (LRDIMM).
  • 2 ist ein Diagramm, das ein Speicherbauelement aus 1 gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Wie in 1 dargestellt, kann das Speicherbauelement 100 ein Speicherzellenfeld 110, einen Spannungsgenerator 120, einen Adressendecoder 130, eine Eingangs-/Ausgangsschaltung 140 und eine Steuerlogik 150 umfassen.
  • Das Speicherzellenfeld 110 enthält eine Vielzahl von Speicherblöcken BLK1 bis BLKi. Die Vielzahl von Speicherblöcken BLK1 bis BLKi sind über Zeilenleitungen RL mit dem Adressendecoder 130 verbunden. Die Vielzahl von Speicherblöcken BLK1 bis BLKi können ü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 enthalten.
  • Jeder der mehreren Speicherblöcke BLK1 bis BLKi enthält eine Vielzahl von Speicherzellen. In einer Ausführungsform kann die Vielzahl der Speicherzellen nichtflüchtige Speicherzellen umfassen. Speicherzellen, die mit der gleichen Wortleitung unter der Vielzahl von Speicherzellen 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 Speichereinrichtung 100 kann als Single-Level-Zelle (SLC), die ein Datenbit speichert, als Multi-Level-Zelle (MLC), die zwei Datenbits speichert, als Triple-Level-Zelle (TLC), die drei Datenbits speichert, oder als Quad-Level-Zelle (QLC), die vier Datenbits speichern kann, konfiguriert sein.
  • In einer Ausführungsform können der Spannungsgenerator 120, der Adressendecoder 130 und die Eingangs-/Ausgangsschaltung 140 gemeinsam als Peripherieschaltung bezeichnet werden. Die Peripherieschaltung kann das Speicherzellenfeld 110 unter der Steuerung der Steuerlogik 150 betreiben. Die Peripherieschaltung kann das Speicherzellenfeld 110 betreiben, um die Programmoperation, die Leseoperation und die Löschoperation durchzuführen.
  • Der Spannungsgenerator 120 ist so konfiguriert, dass er eine Vielzahl von Betriebsspannungen unter Verwendung einer dem Speicherbauelement 100 zugeführten externen Versorgungsspannung erzeugt. Der Spannungsgenerator 120 arbeitet in Reaktion auf die Steuerung durch die Steuerlogik 150.
  • In einer Ausführungsform kann der Spannungsgenerator 120 eine interne Versorgungsspannung durch Regeln der externen Versorgungsspannung erzeugen. Die vom Spannungsgenerator 120 erzeugte interne Versorgungsspannung wird als Betriebsspannung für das Speicherbauelement 100 verwendet.
  • In einer Ausführungsform kann der Spannungsgenerator 120 die Vielzahl der Betriebsspannungen unter Verwendung einer externen Versorgungsspannung oder einer internen Versorgungsspannung erzeugen. Der Spannungsgenerator 120 kann so konfiguriert sein, dass er verschiedene Spannungen erzeugt, die in dem Speicherbauelement 100 benötigt werden. Zum Beispiel kann der Spannungsgenerator 120 eine Vielzahl von Löschspannungen, eine Vielzahl von Programmierspannungen, eine Vielzahl von Durchlassspannungen, eine Vielzahl von ausgewählten Lesespannungen und eine Vielzahl von nicht ausgewählten Lesespannungen erzeugen.
  • Der Spannungsgenerator 120 kann eine Vielzahl von Pumpkondensatoren enthalten, die die interne Versorgungsspannung erhalten, um die Vielzahl von Betriebsspannungen mit verschiedenen Spannungspegeln zu erzeugen, und kann die Vielzahl von Betriebsspannungen durch selektives Aktivieren der Vielzahl von Pumpkondensatoren in Reaktion auf die Steuerung der Steuerlogik 150 erzeugen.
  • Die erzeugte Vielzahl von Betriebsspannungen kann durch den Adressendecoder 130 an das Speicherzellenfeld 110 geliefert werden.
  • Der Adressendecoder 130 ist über die Zeilenleitungen RL mit dem Speicherzellenfeld 110 verbunden. Der Adressendecoder 130 ist so konfiguriert, dass er als Reaktion auf die Steuerung der Steuerlogik 150 arbeitet. Der Adressendecoder 130 kann eine Adresse ADDR von der Steuerlogik 150 empfangen. Der Adressendecoder 130 kann eine Blockadresse aus den empfangenen Adressen ADDR dekodieren. Der Adressendecoder 130 wählt mindestens einen Speicherblock aus den Speicherblöcken BLK1 bis BLKi entsprechend der dekodierten Blockadresse aus. Der Adressendecoder 130 kann eine Zeilenadresse unter den empfangenen Adressen ADDR dekodieren. Der Adressendecoder 130 kann mindestens eine Wortleitung unter den Wortleitungen eines ausgewählten Speicherblocks entsprechend der dekodierten Zeilenadresse auswählen. In einer Ausführungsform kann der Adressendecoder 130 eine Spaltenadresse unter den empfangenen Adressen ADDR dekodieren. Der Adressendecoder 130 kann die Eingangs-/Ausgangsschaltung 140 und das Speicherzellenfeld 110 entsprechend der dekodierten Spaltenadresse miteinander verbinden.
  • Der Adressendecoder 130 kann beispielsweise Komponenten wie einen Zeilendecoder, einen Spaltendecoder und einen Adresspuffer enthalten.
  • Die Eingangs-/Ausgangsschaltung 140 kann eine Vielzahl von Seitenpuffern enthalten. Die Vielzahl von Seitenpuffer können über die Bitleitungen mit dem Speicherzellenfeld 110 verbunden sein. Während des Programmierbetriebs können Daten in ausgewählten Speicherzellen entsprechend den in der Vielzahl von Seitenpuffern gespeicherten Daten gespeichert werden.
  • Während der Leseoperation können die in den ausgewählten Speicherzellen gespeicherten Daten über die Bitleitungen erfasst und die erfassten Daten in den Seitenpuffern gespeichert werden.
  • Die Steuerlogik 150 kann den Betrieb des Adressendecoders 130, des Spannungsgenerators 120 und der Eingangs-/Ausgangsschaltung 140 steuern. Die Steuerlogik 150 kann in Reaktion auf den von einer externen Einrichtung übertragenen Befehl CMD arbeiten. Die Steuerlogik 150 kann als Reaktion auf den Befehl CMD und die Adresse ADDR Steuersignale erzeugen, um die peripheren Schaltungen zu steuern.
  • 3 ist ein Diagramm, das die Struktur eines Speicherblocks innerhalb der Speicherblöcke der 2 gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Der Speicherblock BLKi ist ein Speicherblock BLKi der Speicherblöcke BLK1 bis BLKi von 2.
  • Wie in 1 dargestellt, kann eine Vielzahl von parallel zueinander angeordneten Wortleitungen zwischen einer ersten Auswahlleitung und einer zweiten Auswahlleitung angeschlossen werden. Dabei kann die erste Auswahlleitung die Source-Auswahlleitung SSL und die zweite Auswahlleitung die Drain-Auswahlleitung DSL sein. Spezifischer gesagt, kann der Speicherblock BLKz eine Vielzahl von Strings d.h. Ketten ST enthalten, die zwischen den Bitleitungen BL1 bis BLn und einer Source-Leitung SL verbunden sind. Die Bitleitungen BL1 bis BLn können jeweils mit den Strings ST verbunden sein, und die Source-Leitung SL kann gemeinsam mit den Strings ST verbunden sein. Da die Strings ST so konfiguriert sein können, dass sie untereinander identisch sind, wird als Beispiel ein String ST beschrieben, der mit der ersten Bitleitung BL1 verbunden ist.
  • Der String ST kann einen Source-Auswahltransistor SST , mehrere Speicherzellen MC1 bis MC16 und einen Drain-Auswahltransistor DST enthalten, die zwischen der Source-Leitung SL und der ersten Bitleitung BL1 in Reihe geschaltet sind. Ein String ST kann mindestens einen oder mehrere Source-Auswahltransistoren SST und Drain-Auswahltransistoren DST enthalten und eine Anzahl von Speicherzellen MC1 bis MC16 umfassen, deren Anzahl größer ist als die in der Figur gezeigte.
  • Eine Source des Source-Auswahltransistors SST kann mit der Source-Leitung SL verbunden werden und ein Drain des Drain-Auswahltransistors DST kann mit der ersten Bitleitung BL1 verbunden werden. Zwischen dem Source-Auswahltransistor SST und dem Drain-Auswahltransistor DST können die Speicherzellen MC1 bis MC16 in Reihe geschaltet werden. Gates der in den verschiedenen Strings ST enthaltenen Source-Select-Transistoren SST können mit der Source-Select-Leitung SSL verbunden werden, die Gates der Drain-Select-Transistoren DST können mit der Drain-Select-Leitung DSL verbunden werden, und die Gates der Speicherzellen MC1 bis MC16 können mit der Vielzahl von Wortleitungen WL1 bis WL16 verbunden werden. Eine Gruppe von Speicherzellen, die an dieselbe Wortleitung angeschlossen sind, kann unter den Speicherzellen, die in verschiedenen Strings ST enthalten sind, als eine Seite PG bezeichnet werden. Daher kann der Speicherblock BLKi die gleiche Anzahl von Seiten PG enthalten wie die der Wortleitungen WL1 bis WL16.
  • Eine Speicherzelle kann ein Datenbit speichern. Dies wird allgemein als Single-Level-Cell (Einzel-Niveau-Zelle; SLC) bezeichnet. In diesem Fall kann eine physische Seite PG eine logische Seite (LPG) mit Daten speichern. Jede logische Seite (LPG) kann Datenbits in der gleichen Anzahl enthalten wie die Zellen einer physikalischen Seite PG.
  • Alternativ kann eine Speicherzelle zwei oder mehr Datenbits speichern. In diesem Fall kann eine physische Seite PG zwei oder mehr logische Seiten (LPG) mit Daten speichern.
  • 4 ist ein Diagramm, das eine Datenkommunikationseinheit zwischen dem Host und dem Speicher-Controller gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf 4 können der Host 400 und der Speicher-Controller 200 über Datenpakete kommunizieren, die als Protokollinformationseinheit (PIU) bezeichnet werden.
  • Die PIU kann eine Befehls-PIU (Command-PIU), eine Antwort-PIU (Response-PIU), eine Datenausgabe-PIU (Data-Out-PIU), eine Dateneingabe-PIU (Data-In-PIU) und eine Übertragungsbereitschafts-PIU (Ready-to-Transfer-PIU) entsprechend einer vom Host 400 oder dem Speicher-Controller 200 auszuführenden Operation umfassen.
  • Die Befehls-PIU kann eine PIU sein, die übertragen wird, wenn der Host 400 einen Befehl an die Speichereinrichtung 50 übermittelt.
  • Die Antwort-PIU kann eine PIU sein, die übertragen wird, wenn die Speichereinrichtung 50 eine Antwort auf den vom Host 400 bereitgestellten Befehl liefert.
  • Die Datenausgabe-PIU kann eine PIU sein, die übertragen wird, wenn der Host 400 Daten an die Speichereinrichtung 50 liefert.
  • Die Dateneingabe-PIU kann eine PIU sein, die übertragen wird, wenn die Speichereinrichtung 50 Daten an den Host 400 liefert.
  • Die Übertragungsbereitschafts-PIU kann eine PIU sein, die gesendet wird, wenn die Speichereinrichtung 50 mitteilt, dass die Speichereinrichtung 50 bereit ist, die Datenausgabe-PIU vom Host 400 zu empfangen. Die Übertragungsbereitschafts-PIU kann gesendet werden, wenn die Speichereinrichtung 50 über einen ausreichenden Pufferspeicherplatz verfügt, um die vom Host 400 bereitgestellten Daten zu speichern.
  • Die kleinste PIU kann 32 Byte groß sein, die maximale Größe der PIU kann 65600 Byte betragen. Ein Format der PIU kann je nach Typ unterschiedliche Größen aufweisen.
  • Die PIU kann ein Basis-Header-Segment (Basic-Header-Segment) 61, ein transaktionsspezifisches Feld 62, ein Extra-Header-Segment (Extra-Header-Segment) 63 und ein Datensegment 64 enthalten.
  • Das Basis-Header-Segment 61 kann eine Größe von 12 Byte aufweisen. Das Basis-Header-Segment 61 kann in allen PlUs gemeinsam enthalten sein.
  • Das transaktionsspezifische Feld 62 kann in einer Byte-Adresse „12“ von einer Byte-Adresse „31“ der PIU enthalten sein. Das transaktionsspezifische Feld 62 kann einen speziellen Transaktionscode enthalten, der dem Typ der PIU entspricht.
  • Das Extra-Header-Segment 63 kann definiert sein, wenn ein Gesamt-Extra-Header-Segmentlänge (Total EHS Length) Feld des Basis-Header-Segments 61 einen Wert ungleich 0 hat. Das Extra-Header-Segment 63 kann mit einer Byte-Adresse „32“ der PIU beginnen. Das Extra-Header-Segment 63 kann ein Bereich sein, in dem zusätzlich Daten gespeichert werden können, wenn im Basis-Header-Segment 61 nicht genügend Informationen enthalten sind.
  • Das Datensegment 64 kann in der Datenausgabe-PIU oder in der Dateneingabe-PIU enthalten sein, und kann möglicherweise in anderen PlUs nicht enthalten sein.
  • In einer Ausführungsform können das Extra-Header-Segment 63 und das Datensegment 64 nicht in allen Protokoll-PIUs, sondern nur in einer bestimmten PIU enthalten sein.
  • 5 ist ein Diagramm, das die Struktur eines Basis-Header-Segments der PIU zeigt, die in einem Befehl gemäß einer Ausführungsform der vorliegenden Offenbarung enthalten ist.
  • Wie in 5 dargestellt, kann das Basis-Header-Segment 61 einen Transaktionstyp, Flags, eine Logikeinheits-Nummer (LUN), ein Task-Tag, eine Initiator-ID, einen Befehlssatztyp, eine Abfragefunktion/Aufgabenverwaltungsfunktion (Query Function, Task Manag. Function), eine Antwort, einen Status, eine Gesamt-Extra-Header-Segmentlänge (Total EHS Length), Einrichtungsinformationen und eine Datensegmentlänge enthalten.
  • Der Transaktionstyp kann je nach Typ der PIU einen eindeutigen Wert aufweisen. Ein Beispiel für den Transaktionstyp entsprechend dem Typ der PIU ist in [Tabelle 1] unten dargestellt Tabelle 11
    Wenn der Host an die Speichereinrichtun g 50 liefert Transaktio nstyp Wenn die Speichereinrichtung an den Host liefert Transaktio nstyp
    Befehls-PIU 00 0001b Antwort PIU 10 0001b
    Datenausgabe-PIU 00 0010b Daten in PIU 10 0010b
    X X Übertragungsberei tschafts-PIU 11 0001b
  • Die Flags können Felder enthalten, die je nach Transaktionstyp unterschiedliche Werte aufweisen. Die Logikeinheits-Nummer (LUN) kann ein Feld sein, das die Nummer einer logischen Einheit angibt, die eine entsprechende Operation aus einer Vielzahl von logischen Einheiten durchführt, die in einem Objekt enthalten sind, an dem eine Operation durchgeführt werden soll.
  • Das Task-Tag (Aufgaben-Tag) kann ein Feld sein, das je nach Transaktionstyp unterschiedliche Werte aufweist.
  • Die Initiator-ID kann ein Feld enthalten, das angibt, wer der Initiator ist, der eine Operation anfordert. Daher kann die Initiator-ID unterschiedliche Werte aufweisen, wenn der Host die PIU erzeugt und die Speichereinrichtung die PIU erzeugt.
  • Der Befehlssatztyp kann ein Feld sein, das in der Befehls-PIU und der Antwort-PIU enthalten ist. Der Befehlssatztyp kann ein Feld sein, das angibt, welche Schnittstelle ein Befehl unterstützt, z.B. ob der Befehl ein SCSI-Befehl, ein UFS-Befehl oder ein von einem Hersteller definierter Befehl ist.
  • Die Abfragefunktion/Aufgabenverwaltungsfunktion (Query Function, Task Manag. Function) kann ein Feld enthalten, das in die PIU eingegeben wird, z.B. eine Abfrageanfrage, eine Abfrageantwort oder eine Aufgabenverwaltungsanfrage.
  • Die Antwort kann ein Feld sein, das angibt, ob die Durchführung der angeforderten Operation erfolgreich war oder fehlgeschlagen ist.
  • Der Status kann ein Feld sein, das einen SCSI-Status angibt.
  • Die Gesamt-Extra-Header-Segmentlänge (Total EHS Length) kann ein Feld sein, das die Größe des Extra-Header-Segments in 32-Bit-Einheiten angibt. Die Gesamt-Extra-Header-Segmentlänge (Total EHS Length) kann verwendet werden, wenn die PIU ein Extra-Header-Segment enthält. Die Länge des Extra-Header-Segments kann 4 Byte sein. Ein Wert für die Gesamt-Extra-Header-Segmentlänge (Total EHS Length) kann ein Wert sein, der sich ergibt, wenn die Gesamtzahl der Bytes des Extra-Header-Segments durch 4 dividiert wird. Die maximale Größe des Extra-Header-Segments kann 1024 Bytes sein. Wenn das Extra-Header-Segment nicht verwendet wird, kann die Gesamt-Extra-Header-Segmentlänge (Total EHS Length) 0 betragen.
  • Die Einrichtungsinformationen können Informationen enthalten, die nur bei der Ausführung einer bestimmten Funktion verwendet werden.
  • Die Datensegmentlänge kann ein Feld sein, das eine Länge eines Datensegments der PIU angibt. Wenn die PIU das Datensegment nicht enthält, kann die Datensegmentlänge 0 sein.
  • 6 ist ein Diagramm, das die Befehls-PIU zeigt, die in dem Befehl gemäß einer Ausführungsform der vorliegenden Offenbarung enthalten ist.
  • Unter Bezugnahme auf die 5 und 6 kann der Befehl (oder die Befehls-PIU) das Basis-Header-Segment, das transaktionsspezifische Feld und das Extra-Header-Segment enthalten.
  • Das Basis-Header-Segment kann in der Regel in Befehlen enthalten sein, die zwischen dem Host und dem Speicher-Controller übertragen und empfangen werden. Darüber hinaus kann das im Befehl enthaltene Basic-Header-Segment Informationen enthalten, die einen Befehl angeben. So kann beispielsweise ein in einem Lesebefehl enthaltenes Basis-Header-Segment Informationen enthalten, die einen Lesebefehl anzeigen. Das bedeutet, da ein Fall von 6 der im Befehl enthaltenen Befehls-PIU entspricht, kann ein Transaktionstyp 00 0001b sein. Darüber hinaus kann gemäß einer Ausführungsform der vorliegenden Offenbarung, da die Befehls-PIU von 6 das Extra-Header-Segment enthält, die Gesamt-Extra-Header-Segmentlänge (Total EHS Length), die einer Byte-Adresse 8 unter den im Basis-Header-Segment enthaltenen Feldern entspricht, einen anderen Wert als Null (Nicht-Null) aufweisen. Ein Wert für die Gesamt-Extra-Header-Segmentlänge (Total EHS Length) kann beispielsweise ein Wert sein, der sich ergibt, indem die Gesamtzahl der Bytes der logischen Blockadressinformationen eines zu lesenden Bereichs während einer Multi-Read-Operation durch 4 dividiert wird.
  • Das transaktionsspezifische Feld kann eine Vielzahl von Befehls-Deskriptorblöcken (CDBs) enthalten. Der CDB kann Informationen über verschiedene Befehle und Adressen je nach deren Typ enthalten. Der CDB kann ein CDB sein, der auf verschiedenen Kommunikationsstandards oder Schnittstellen basiert, wie z. B. einem universellen seriellen Bus (USB), einem seriellen AT-Anschluss (SATA), einem seriell angeschlossenen SCSI-Anschluss (SAS), einem Hochgeschwindigkeits-Interchip (HSIC), einer Small Computer System Interface (SCSI), einer Peripheral Component Interconnection (PCI), einer PCI Express (PCIe), einer Nonvolatile Memory Express (NVMe), einer Universal Flash Storage (UFS), einer Secure Digital (SD), einer Multi-Media-Card (MMC), einer Embedded MMC (eMMC), einem Dual In-Line Memory Module (DIMM), einem Registered DIMM (RDIMM) und einem Load Reduced DIMM (LRDIMM). In einer Ausführungsform kann das transaktionsspezifische Feld von 6 einen Lese-CDB enthalten, wenn der Befehl von 6 ein Lesebefehl ist.
  • Das Extra-Header-Segment, das im Befehl von 6 enthalten ist, kann Informationen über mindestens zwei oder mehr logische Adressen enthalten, die vom Host 400 bereitgestellt werden.
  • Im Falle einer generellen Leseoperation, d.h. einer normalen Leseoperation, stellt der Host 400 dem Speicher-Controller 200 Informationen über eine logische Blockanfangsadresse und eine damit korrespondierende Transferlänge bereit, und somit wird die Leseoperation in einem Bereich bis zu einer logischen Blockadresse entsprechend der Übertragungslänge von der logischen Blockanfangsadresse aus durchgeführt. Ein Fall, in dem die Leseoperation an mindestens zwei oder mehr logischen Adressen durchgeführt wird, d.h. ein Fall der Multi-Read-Operation, bedeutet eine Operation des gleichzeitigen Lesens einer Vielzahl von logischen Adressen, die nicht aufeinanderfolgend sind. Dementsprechend können während der Multi-Read-Operation die Informationen über die mindestens zwei oder mehr logischen Adressen eine Vielzahl von logischen Blockanfangsadressen und Informationen über Transferlängen enthalten, die jeweils der Vielzahl von logischen Blockanfangsadressen entsprechen. Der Speicher-Controller 200 kann die mehreren logischen Adressen, die nicht aufeinander folgen, gleichzeitig lesen, indem er solche Informationen vom Host 400 erhält.
  • In einer Ausführungsform kann eine einzelne logische Adressinformation einschließlich der Informationen über die logische Blockanfangsadresse und die entsprechende Transferlängeeine Größe von 8 Byte haben. Dementsprechend können im Fall der Multi-Read-Operation die Informationen über die mindestens zwei oder mehr logischen Adressen in dem Extra-Header-Segment nacheinander um 8 Byte gesetzt werden, aber die Größe oder das Einstellverfahren der logischen Adressinformationen ist nicht darauf beschränkt.
  • Die 7 bis 9 sind Diagramme, die einen Lese-CDB gemäß den Ausführungsformen der vorliegenden Offenbarung zeigen. Die 7 bis 9 können ein Lesebefehls-CDB (6), ein Lesebefehls-CDB (10) bzw. ein Lesebefehls-CDB (16) sein.
  • Unter Bezugnahme auf 6 bis 9, kann der Lese-CDB in dem transaktionsspezifischen Feld des Lesebefehls enthalten sein. So kann der Lese-CDB beispielsweise das 0-te bis neunte Byte 0 bis 9 enthalten. Die Spalten des CDB geben die einzelnen Bits der einzelnen Bytes des CDB an. Beispielsweise kann jedes Byte das 0-te bis 7-te Bit 0 bis 7 enthalten. Die 0-te bis 7-te Bits 0 bis 7 des 0-te Bytes 0 des CDB geben einen Operationscode an. Der Operationscode des Lesebefehls kann beispielsweise 08h sein (Lesebefehl (6), 7), 28h (Lesebefehl (10), 8) oder 88h (Lesebefehl (16), 9).
  • Nachfolgend wird als Beispiel 8 beschrieben, die den auf den Lesebefehl (10) bezogenen Lese-CDB darstellt. Bei einem Lesebefehl (10) darf das 0-te Bit 0 des ersten Bytes 1 des CDB nicht verwendet werden (obsolet). Das erste Bit 1 des ersten Bytes 1 kann FUA_NV angeben. Das zweite Bit 2 des ersten Bytes 1 kann reserviert werden. Das dritte Bit 3 des ersten Byte 1 kann den Erzwingen-Einheit-Zugriff (FUA = Force Unit Access) angeben. Der FUA kann angeben, ob ein Daten-Cache verwendet wird oder nicht. Das vierte Bit 4 des ersten Bytes 1 gibt ein Sperren-Seite-Aus (Disable Page Out = DPO) an. Der DSB kann angeben, wie eine Priorität für die retention festgesetzt werden kann. Die fünften bis siebten Bits 5 bis 7 des ersten Byte 1 können RDPROTECT sein und den Wert „000b“ aufweisen. Die zweiten bis fünften Bytes 2 bis 5 des Lesebefehls-CDB (10) können eine logische Adresse (LA) angeben. Die logische Adresse LA kann ein höchstwertiges Bit MSB bis ein niedrigstwertiges Bit LSB enthalten.
  • Die 0-ten bis vierten Bits 0 bis 4 des sechsten Bytes 6 des Lesebefehls CDB (10) geben eine Gruppennummer an. Die Gruppennummer kann einen Kontextidentifikator (Context ID) angeben, der mit einer Leseanforderung verbunden ist. Die fünften bis siebten Bits 5 bis 7 des sechsten Bytes 6 können reserviert werden.
  • Das siebte und achte Byte 7 und 8 des Lesebefehls-CDB (10) geben eine Übertragungslänge an. Die Übertragungslänge kann die Länge der Daten angeben, die durch die Leseanforderung gelesen werden sollen.
  • Das neunte Byte 9 des Lesebefehls-CDB (10) kann die Steuerung enthalten. Die Steuerung kann beispielsweise ‚00h‘ sein.
  • Der Lese-CDB kann Informationen enthalten, die angeben, dass der Lesebefehl ein Lesebefehl für mindestens zwei oder mehr logische Adressen ist. Die Lesemodusnachricht gibt beispielsweise an, ob der Lesebefehl ein Multi-Read-Befehl ist, der das Lesen von mindestens zwei oder mehr logischen Adressen anfordert, oder ein normaler Lesebefehl, der das Lesen einer logischen Adresse anfordert. In einer Ausführungsform kann die Lesemodusnachricht jeden Lesemodus als einen vorbestimmten Wert von 0 oder 1 ausdrücken. Je nach Lesemodusnachricht kann der Speicher-Controller der normalen Leseoperation oder der Multi-Read-Operation durchführen.
  • In einer Ausführungsform kann der Lese-CDB die Information (die Lesemodusnachricht) enthalten, die angibt, ob der Lesebefehl ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen in dem reservierten Feld in dem Lese-CDB ist. Zum Beispiel kann im Falle des Lesebefehls (10) die Lesemodusnachricht in das reservierte Feld am zweiten Bit 2 des ersten Bytes 1 aufgenommen werden, wie in 8 gezeigt, ist aber nicht darauf beschränkt, und kann in verschiedenen reservierten Feldern in dem Lese-CDB enthalten sein.
  • Wenn die Lesemodusnachricht (Multi-Read-Operation) an den mindestens zwei oder mehr logischen Adressen gemäß der Lesemodusnachricht durchgeführt wird, kann die Multi-Read-Operation unter Verwendung der im Extra-Header-Segment gespeicherten logischen Blockadressinformationen durchgeführt werden. Wenn die Leseoperation (normale Leseoperation) an der einen logischen Adresse gemäß der Lesemodusnachricht durchgeführt wird, kann die normale Leseoperation unter Verwendung der im Lese-CDB gespeicherten logischen Blockadresseninformationen durchgeführt werden. Der Lese-CDB kann Informationen über eine logische Startblockadresse eines Bereichs, der während der normalen Leseoperation gelesen werden soll, und eine der logischen Startblockadresse entsprechende Übertragungslänge enthalten. Eine Ausführungsform ist jedoch nicht darauf beschränkt, nur die Informationen über die logische Blockadresse, die die normale Leseoperation betreffen, in dem Lese-CDB zu enthalten, und die Informationen über die logische Blockadresse können in dem Extra-Header-Segment oder in einem anderen Feld des Lesebefehls gespeichert werden.
  • Der mit Bezug auf 8 beschriebene Inhalt kann gemäß einem entsprechenden Format modifiziert und auf einen anderen Typ von Lese-CDB angewendet werden, wie in den 7 und 9 gezeigt.
  • 10 ist ein Diagramm, das ein Beispiel für das Extra-Header-Segment mit den Informationen über die mindestens zwei oder mehr logischen Adressen gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf 10 das Extra-Header-Segment kann Informationen über eine Vielzahl von logischen Startblockadressen (LBAs) und Übertragungslängen enthalten, die jeweils der Vielzahl von Start-LBAs entsprechen. Beispielsweise, wie in 10, wenn LBA #1 - TRANSFER LENGTH #1, LBA #2 - TRANSFER LENGTH #2, LBA #3 - TRANSFER LENGTH #3, LBA #4 - TRANSFER LENGTH #4 in dem Extra-Header-Segment enthalten sind, kann der Speicher-Controller gleichzeitig Daten eines Bereichs mit einer Länge entsprechend TRANSFER LENGTH #1 von PBA #1 lesen, die eine physikalische Blockadresse (PBA) entsprechend LBA #1 ist, einen Bereich mit einer Länge entsprechend TRANSFER LENGTH #2 von PBA #2, einen Bereich mit einer Länge entsprechend TRANSFER LENGTH #3 von PBA #3 und einen Bereich mit einer Länge entsprechend TRANSFER LENGTH #4 von PBA #4.
  • 11 ist ein Diagramm, das einen Speicher-Controller gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf 11 kann der Speicher-Controller 200 einen Leseanforderungs-Prozessor 210, einen Mapping-Datenspeicher 220 und einen Leseoperations-Controller 230 umfassen.
  • Der Speicher-Controller 200 kann eine Leseanforderung vom Host 400 erhalten, die das Lesen von im Speicherbauelement gespeicherten Daten anfordert.
  • Zu diesem Zeitpunkt kann die Leseanforderung das Basis-Header-Segment, das transaktionsspezifische Feld und das Extra-Header-Segment enthalten.
  • Das Basis-Header-Segment kann ein Teil sein, der üblicherweise in Anfragen enthalten ist, die zwischen dem externen Host und dem Speicher-Controller übertragen und empfangen werden, und kann die Gesamt-Extra-Header-Segmentlänge (Total EHS Length) enthalten, die die Länge des Extra-Header-Segments angibt. In einer Ausführungsform, da die Leseanforderung das Extra-Header-Segment enthält, kann die Gesamt-Extra-Header-Segmentlänge einen anderen Wert als Null (Nicht-Null) aufweisen.
  • Das transaktionsspezifische Feld kann den Lesebefehls-Deskriptorblock (CDB) enthalten. Die Information, ob die Leseanforderung eine Leseanforderung für die mindestens zwei oder mehr logischen Adressen ist, kann in dem Lese-CDB enthalten sein. Die Lesemodusnachricht gibt beispielsweise an, ob die Leseanforderung eine Multi-Read-Anforderung ist, die das Lesen für die mindestens zwei logischen Adressen anfordert, oder eine normale Leseanforderung, die das Lesen für die eine logische Adresse anfordert. In einer Ausführungsform kann die Lesemodusnachricht jeden Lesemodus als einen vorbestimmten Wert von 0 oder 1 ausdrücken. Je nach Lesemodusnachricht kann der Speicher-Controller der normalen Leseoperation oder der Multi-Read-Operation durchführen. In einer Ausführungsform kann die Lese-CDB die Information (die Lesemodusnachricht) enthalten, die angibt, ob die Leseanforderung eine Leseanforderung für die mindestens zwei oder mehr logischen Adressen in dem reservierten Feld in dem Lese-CDB ist.
  • Das Extra-Header-Segment kann die logische Blockadresse für die Multi-Read-Operation enthalten. Die logische Blockadresse für die Multi-Read-Operation kann die Informationen über die mehreren logischen Startblockadressen und die Übertragungslängen enthalten, die jeweils den mehreren logischen Startblockadressen entsprechen.
  • Der Leseanforderungs-Prozessor 210 kann die Leseanforderung vom externen Host empfangen und die physikalische Adresse, die einer oder mehreren in der Leseanforderung enthaltenen logischen Adressen entspricht, aus dem Mapping-Datenspeicher 220 beziehen. Darüber hinaus kann der Leseanforderungs-Prozessor 210 prüfen, ob die Leseanforderung eine Leseanforderung für die mindestens zwei oder mehr logischen Adressen ist. In einer Ausführungsform kann der Leseanforderungs-Prozessor 210 die in der Leseanforderung enthaltene Lesemodusnachricht überprüfen. Die Lesemodusnachricht mit der Information, ob die Leseanforderung eine Leseanforderung für die mindestens zwei oder mehr logischen Adressen ist, kann in dem transaktionsspezifischen Feld enthalten sein, und zwar in dem reservierten Feld in dem Lese-CDB, das in dem transaktionsspezifischen Feld enthalten ist.
  • Der Mapping-Datenspeicher 220 kann eine logischphysikalische Adressen-Mapping-Tabelle enthalten, die eine Mapping-Beziehung zwischen der logischen Adresse und der physikalischen Adresse konfiguriert. Als Ergebnis der Überprüfung der Lesemodusnachricht des Leseanforderungs-Prozessors 210 kann der Mapping-Datenspeicher 220 dem Leseanforderungs-Prozessor 210 Mapping-Daten bereitstellen, die den zwei oder mehr logischen Adressen entsprechen, die in dem Extra-Header-Segment der Leseanforderung enthalten sind, wenn die Leseanforderung die Leseanforderung für die mindestens zwei oder mehr logischen Adressen ist (Multilese-Modus). Als Ergebnis der Überprüfung der Lesemodusnachricht des Leseanforderungs-Prozessors 210, wenn die Leseanforderung die Leseanforderung für die eine logische Adresse ist (normaler Lesemodus), kann der Mapping-Datenspeicher 220 dem Leseanforderungs-Prozessor 210 Mapping-Daten bereitstellen, die der einen logischen Adresse entsprechen, die in dem Lese-CDB in dem transaktionsspezifischen Feld der Leseanforderung enthalten ist. Eine Ausführungsform ist jedoch nicht auf den Fall beschränkt, dass die logischen Blockadressinformationen für die normale Leseoperation in dem Lese-CDB enthalten sind, und die logischen Blockadressinformationen können in verschiedenen Feldern in der Leseanforderung einschließlich des Extra-Header-Segments enthalten sein.
  • Der Leseoperations-Controller 230 kann das Speicherbauelement steuern, um die Leseoperation gemäß einer Anweisung des Leseanforderungs-Prozessors 210 durchzuführen. Der Leseanforderungs-Prozessor 210 kann die vom Mapping-Datenspeicher 220 empfangenen Mapping-Daten an den Leseoperations-Controller 230 weiterleiten. Der Leseoperations-Controller 230 kann das Speicherbauelement steuern, um die Leseoperation an einer entsprechenden Adresse basierend auf den vom Leseanforderungs-Prozessor 210 empfangenen Mapping-Daten durchzuführen. Ausführlicher gesagt, kann der Leseoperations-Controller 230 den Lesebefehl für die physikalische Adresse, die einer oder mehreren logischen Adressen entspricht, die in der Leseanforderung an das Speicherbauelement enthalten sind, bereitstellen.
  • 12 ist ein Flussdiagramm, das ein Verfahren zum Betrieb einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf 12, kann die Speichereinrichtung in der Operation S1201 den Lesebefehl empfangen, der das Lesen von in der Speichereinrichtung gespeicherten Daten vom externen Host anfordert. Ausführlicher gesagt, kann der Speicher-Controller in der Speichereinrichtung den Lesebefehl empfangen.
  • Zu diesem Zeitpunkt kann der Lesebefehl das Basis-Header-Segment, das transaktionsspezifische Feld und das Extra-Header-Segment enthalten.
  • Das Basis-Header-Segment kann ein Teil sein, der üblicherweise in Befehlen enthalten ist, die zwischen dem externen Host und dem Speicher-Controller übertragen und empfangen werden, und kann die Gesamt-Extra-Header-Segmentlänge (Total EHS Length) enthalten, die die Länge des Extra-Header-Segments angibt. In einer Ausführungsform, da der Lesebefehl das Extra-Header-Segment enthält, kann die Gesamt-Extra-Header-Segmentlänge einen anderen Wert als Null (Nicht-Null) aufweisen.
  • Das transaktionsspezifische Feld kann den Lesebefehls-Deskriptorblock (CDB) enthalten. Die Information, ob der Befehl ein Befehl für die mindestens zwei oder mehr logischen Adressen ist, kann in dem Lese-CDB enthalten sein. Die Lesemodusnachricht gibt beispielsweise an, ob der Lesebefehl ein Multi-Read-Befehl ist, der das Lesen für die mindestens zwei logischen Adressen anfordert, oder ein normaler Lesebefehl, der das Lesen für die eine logische Adresse anfordert. In einer Ausführungsform kann die Lesemodusnachricht jeden Lesemodus als einen vorbestimmten Wert von 0 oder 1 ausdrücken. Je nach Lesemodusnachricht kann der Speicher-Controller der normalen Leseoperation oder der Multi-Read-Operation durchführen. In einer Ausführungsform kann der Lese-CDB die Information (die Lesemodusnachricht) enthalten, die angibt, ob der Lesebefehl ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen in dem reservierten Feld in dem Lese-CDB ist.
  • Das Extra-Header-Segment kann die logische Blockadresse für die Multi-Read-Operation enthalten. Die logische Blockadresse für die Multi-Read-Operation kann die Informationen über die mehreren logischen Startblockadressen und die Übertragungslängen enthalten, die jeweils den mehreren logischen Startblockadressen entsprechen.
  • In Operation S1203 kann die Speichereinrichtung die in der Lese-CDB gespeicherte Lesemodusnachricht überprüfen.
  • In Operation S1205, wenn die Lesemodusnachricht den Multilese-Modus angibt, d. h. angibt, dass der Lesebefehl ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen ist, kann die Multi-Read-Operation, die die Leseoperation für die mindestens zwei oder mehr logischen Adressen der Operation S1207 ist, durchgeführt werden.
  • In Operation S1205, wenn angegeben wird, dass die Lesemodusnachricht nicht der Multi-Lesemodus ist, d.h. wenn angegeben wird, dass der Lesebefehl nicht ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen ist, und den normalen Lesemodus angibt, kann die normale Leseoperation, die die Leseoperation für die eine logische Adresse der Operation S1209 ist, durchgeführt werden.
  • Das heißt, die Multi-Read-Operation kann durchgeführt werden oder die normale Leseoperation kann anstelle der Multi-Read-Operation gemäß der in dem Lese-CDB gespeicherten Lesemodusnachricht durchgeführt werden.
  • 13 ist ein Flussdiagramm, das eine Multi-Read-Operation einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf die 12 und die 13 kann die Speichereinrichtung in der Operation S1301 die Multi-Read-Operation gemäß der in dem Lese-CDB gespeicherten Lesemodusnachricht durchführen. In diesem Fall kann in der Operation S1303 die Multi-Read-Operation unter Verwendung der Informationen über die mindestens zwei oder mehr logischen Adressen durchgeführt werden, die in dem Extra-Header-Segment in dem Lesebefehl enthalten sind. Die Informationen über die mindestens zwei oder mehr logischen Adressen, die in dem Extra-Header-Segment enthalten sind, können die Informationen über die mindestens zwei oder mehr logischen Startblockadressen für die Multi-Read-Operation und die Übertragungslängen umfassen, die jeweils den mindestens zwei oder mehr logischen Startblockadressen entsprechen.
  • 14 ist ein Flussdiagramm, das eine normale Leseoperation einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf die 12 und die 14 kann die Speichereinrichtung in der Operation S1401 die normale Leseoperation gemäß der in dem Lese-CDB gespeicherten Lesemodusnachricht durchführen. In diesem Fall kann in der Operation S1403 die normale Leseoperation unter Verwendung des transaktionsspezifischen Feldes durchgeführt werden, genauer gesagt, der Informationen über die eine logische Adresse, die in dem Lese-CDB enthalten ist. Die Informationen über die logische Adresse, die in dem Lese-CDB enthalten sind, können die Informationen über eine logische Startblockadresse für die normale Leseoperation und die Übertragungslänge umfassen, die der einen logischen Startblockadresse entspricht.
  • Eine Ausführungsform ist jedoch nicht auf den Fall beschränkt, dass die logischen Blockadressinformationen für die normale Leseoperation in dem Lese-CDB enthalten sind, und die logischen Blockadressinformationen können in verschiedenen Feldern in der Leseanforderung einschließlich des Extra-Header-Segments enthalten sein.
  • 15 ist ein Diagramm, das eine Reihenfolge der Datenbereitstellung in einer Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf die 1, 4 und 15 kann der Speicher-Controller in der Speichereinrichtung, der den Lesebefehl empfängt, der das Lesen von in der Speichereinrichtung gespeicherten Daten vom Host anfordert, die Leseoperation durchführen, um die erhaltenen Daten an den Host bereitzustellen.
  • Wenn die Leseoperation für die mindestens zwei oder mehr logischen Adressen, d.h. die Multi-Read-Operation, durchgeführt wird, können Daten aus einer Vielzahl von Bereichen, deren logische Adressen nicht aufeinander folgen, gleichzeitig gelesen und erhalten werden. Beispielsweise können, wie in 14 veranschaulicht, DATA #1 des Bereichs, der LBA #1 - TRANSFER LENGTH #1 entspricht und im Extra-Header-Segment des Lesebefehls gespeichert ist, DATA #2 des Bereichs, der LBA #2 - TRANSFER LENGTH #2 entspricht, DATA #3 des Bereichs, der LBA #3 - TRANSFER LENGTH #3 entspricht, und DATA #4 des Bereichs, der LBA #4 - TRANSFER LENGTH #4 entspricht, gleichzeitig gelesen werden.
  • Zu diesem Zeitpunkt können die durch die Multi-Read-Operation erhaltenen Daten dem Host entsprechend der Reihenfolge der im Extra-Header-Segment enthaltenen logischen Blockadressinformationen bereitgestellt werden. Beispielsweise, wie in 12 veranschaulicht, können die Daten dem Host auch in der Reihenfolge 1) DATA #1, 2) DATA #2, 3) LBA #3 und 4) LBA #4 bereitgestellt werden, wenn die physikalischen Blockadressinformationen im Header-Segment des Lesebefehls in der Reihenfolge 1) LBA #1 - TRANSFER LENGTH #1, 2) LBA #2 - TRANSFER LENGTH #2, 3) LBA #3 - TRANSFER LENGTH #3 und 4) DATA #4 beschrieben sind. Die Daten sind jedoch nicht auf eine bestimmte Reihenfolge beschränkt, sondern können auch in einer anderen Reihenfolge als der vorstehend beschriebenen bereitgestellt werden. Darüber hinaus können die Daten einer Vielzahl von Bereichen in verschiedenen voreingestellten Reihenfolgen an den Host übermittelt werden.
  • 16 ist ein Diagramm, das den Speicher-Controller aus Fig. 1 gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Unter Bezugnahme auf 12, 16 kann der Speicher-Controller 1600 einen Prozessor 1610, einen RAM 1620, eine Fehlerkorrekturschaltung 1630, eine Host-Schnittstelle 1640, einen ROM 1650 und eine Flash-Schnittstelle 1660 umfassen.
  • Der Prozessor 1610 kann den Gesamtbetrieb des Speicher-Controllers 1600 steuern.
  • Der RAM 1620 kann als Pufferspeicher, Cache-Speicher, Betriebsspeicher und andere Arten des Speicher-Controllers 1600 verwendet werden.
  • Im ROM 1650 können verschiedene Informationen gespeichert werden, die für den Betrieb des Speichercontrollers 1600 in Form einer Firmware erforderlich sind.
  • Der Speicher-Controller 1600 kann über die Host-Schnittstelle 1640 mit einer externen Einrichtung (z.B. dem Host 400, einem Anwendungsprozessor und dergleichen) kommunizieren.
  • Der Speicher-Controller 1600 kann mit der Speichereinrichtung 100 über die Flash-Schnittstelle 1660 kommunizieren. Der Speicher-Controller 1600 kann einen Befehl CMD, eine Adresse ADDR, ein Steuersignal CTRL und dergleichen an das Speicherbauelement 100 übertragen und Daten DATA über die Flash-Schnittstelle 1660 empfangen. Die Flash-Schnittstelle 1660 kann zum Beispiel eine NAND-Schnittstelle sein.
  • 17 ist ein Blockdiagramm, das ein Speicherkartensystem veranschaulicht, auf das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung angewendet wird.
  • Unter Bezugnahme auf 17, umfasst das Speicherkartensystem 2000 einen Speicher-Controller 2100, ein Speicherbauelement 2200 und einen Steckverbinder 2300.
  • Der Speicher-Controller 2100 ist mit dem Speicherbauelement 2200 verbunden. Der Speicher-Controller 2100 ist für den Zugriff auf den Speicherbauelement 2200 konfiguriert. Zum Beispiel kann der Speicher-Controller 2100 so konfiguriert sein, dass er Lese-, Programmier-, Lösch- und Hintergrundoperationen des Speicherbauelements 2200 steuert. Der Speicher-Controller 2100 ist so konfiguriert, dass er eine Schnittstelle zwischen dem Speicherbauelement 2200 und einem Host bereitstellt. Der Speicher-Controller 2100 ist konfiguriert, um die Firmware zum Steuern des Speicherbauelements 2200 anzusteuern. Der Speicher-Controller 2100 kann in gleicher Weise implementiert werden wie der Speicher-Controller 200, der unter Bezugnahme auf 1 beschrieben ist.
  • Der Speicher-Controller 2100 kann beispielsweise Komponenten wie einen Direktzugriffsspeicher (RAM), einen Prozessor, eine Host-Schnittstelle, eine Speicherschnittstelle und eine Fehlerkorrektor-Einheit enthalten.
  • Der Speicher-Controller 2100 kann über den Steckverbinder 2300 mit einer externen Einrichtung kommunizieren. Der Speicher-Controller 2100 kann mit einer externen Einrichtung (z. B. dem Host) gemäß einem bestimmten Kommunikationsstandard kommunizieren. Beispielsweise ist der Speichercontroller 2100 so konfiguriert, dass er mit einer externen Einrichtung über mindestens einen von verschiedenen Kommunikationsstandards oder Schnittstellen kommuniziert, wie z. B. einen universellen seriellen Bus (USB), eine Multimedia-Karte (MMC), eine eingebettete MMC (eMMC), eine Peripheral Component Interconnection (PCI), PCI Express (PCI-E oder PCI), Advanced Technology Attachment (ATA), Serial-ATA, Parallel-ATA, Small Computer System Interface (SCSI), Enhanced Small Disk Interface (ESDI), Integrated Drive Electronics (IDE), FireWire, Universal Flash Storage (UFS), Wi-Fi, Bluetooth und NVMe. Beispielsweise kann der Steckverbinder 2300 durch mindestens einen der verschiedenen oben beschriebenen Kommunikationsstandards definiert sein.
  • Die Speichereinrichtung 2200 kann beispielsweise aus verschiedenen nichtflüchtigen Speicherelementen wie einem elektrisch löschbaren und programmierbaren ROM (EEPROM), einem NAND-Flash-Speicher, einem NOR-Flash-Speicher, einem Phase-Change-RAM (Phasenänderungs-RAM; PRAM), einem resistiven RAM (ReRAM), einem ferroelektrischen RAM (FRAM) und einem magnetischen Spin-Transfer-Torque-RAM (STT-MRAM) bestehen.
  • Der Speicher-Controller 2100 und die Speichereinrichtung 2200 können in eine Halbleitereinheit integriert werden, um eine Speicherkarte zu konfigurieren. Beispielsweise können der Speichercontroller 2100 und die Speichereinrichtung 2200 in eine Halbleitereinrichtung integriert werden, um eine Speicherkarte wie eine PC-Karte (Personal Computer Memory Card International Association (PCMCIA)), eine Compact-Flash-Karte (CF), eine Smart-Media-Karte (SM oder SMC), einen Memory-Stick, eine Multimedia-Karte (MMC, RS-MMC, MMCmicro oder eMMC), eine SD-Karte (SD, miniSD, microSD oder SDHC) und einen Universal Flash Storage (UFS) zu konfigurieren.
  • 18 ist ein Blockdiagramm, das ein Solid-State-Drive (SSD)-System zeigt, auf das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung angewendet wird.
  • Unter Bezugnahme auf 18, umfasst das SSD-System 3000 einen Host 3100 und ein SSD 3200. Die SSD 3200 tauscht über einen Signalanschluss 3001 ein Signal mit dem Host 3100 aus und erhält über einen Stromanschluss 3002 Strom. Die SSD 3200 umfasst einen SSD-Controller 3210, eine Vielzahl von Flash-Speichern 3221 bis 322n, eine Zusatzstromversorgung 3230 und einen Pufferspeicher 3240.
  • In einer Ausführungsform der vorliegenden Offenbarung, kann der SSD-Controller 3210 die Funktion des mit Bezug auf 1 beschriebenen Speicher-Controllers 200 übernehmen. 1.
  • Der SSD-Controller 3210 kann die Mehrzahl der Flash-Speicher 3221 bis 322n in Reaktion auf das vom Host 3100 empfangene Signal steuern. Das Signal kann zum Beispiel Signale enthalten, die auf einer Schnittstelle zwischen dem Host 3100 und dem SSD 3200 basieren. Zum Beispiel kann das Signal ein Signal enthalten, das durch mindestens eine der Schnittstellen wie einen universellen seriellen Bus (USB), eine Multimedia-Karte (MMC), eine eingebettete MMC (eMMC), eine Peripheral Component Interconnection (PCI), eine PCI Express (PCI-e oder PCIe), Advanced Technology Attachment (ATA), Serial-ATA, Parallel-ATA, Small Computer System Interface (SCSI), Enhanced Small Disk Interface (ESDI), Integrated Drive Electronics (IDE), FireWire, Universal Flash Storage (UFS), Wi-Fi, Bluetooth und NVMe definiert ist.
  • Die Zusatzstromversorgung 3230 ist über den Stromanschluss 3002 mit dem Host 3100 verbunden. Die Zusatzstromversorgung 3230 kann den Strom vom Host 3100 empfangen und den Strom laden. Die Zusatzstromversorgung 3230 kann die SSD 3200 mit Strom versorgen, wenn die Stromversorgung durch den Host 3100 nicht reibungslos funktioniert. Die Zusatzstromversorgung 3230 kann beispielsweise in der SSD 3200 oder außerhalb der SSD 3200 angeordnet sein. Beispielsweise kann die Zusatzstromversorgung 3230 auf einer Hauptplatine angeordnet sein und die SSD 3200 mit Zusatzstrom (zusätzlicher Energie) versorgen.
  • Der Pufferspeicher 3240 arbeitet als Pufferspeicher des SSD 3200. Der Pufferspeicher 3240 kann beispielsweise vom Host 3100 empfangene Daten oder von der Vielzahl der Flash-Speicher 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 ein flüchtiger Speicher wie ein DRAM, ein SDRAM, ein DDR-SDRAM, ein LPDDR-SDRAM und ein GRAM oder ein nichtflüchtiger Speicher wie ein FRAM, ein ReRAM, ein STT-MRAM und ein PRAM sein.
  • 19 ist ein Blockdiagramm, das ein Benutzersystem veranschaulicht, auf das eine Speichereinrichtung gemäß einer Ausführungsform der vorliegenden Offenbarung angewendet wird.
  • Unter Bezugnahme auf 19, umfasst das Benutzersystem 4000 einen Anwendungsprozessor 4100, ein Speichermodul 4200, ein Netzwerkmodul 4300, ein Speichermodul 4400 und eine Benutzeroberfläche 4500.
  • Der Anwendungsprozessor 4100 kann Komponenten, ein Betriebssystem (OS), ein Benutzerprogramm oder dergleichen steuern, die im Benutzersystem 4000 enthalten sind. Der Anwendungsprozessor 4100 kann beispielsweise Steuerungen, Schnittstellen, Grafik-Engines und dergleichen enthalten, die die im Benutzersystem 4000 enthaltenen Komponenten steuern. Der Anwendungsprozessor 4100 kann als System-On-Chip (SoC) bereitgestellt werden.
  • Das Speichermodul 4200 kann als Hauptspeicher, Betriebsspeicher, Pufferspeicher oder Cache-Speicher des Benutzersystems 4000 arbeiten. Das Speichermodul 4200 kann einen flüchtigen Direktzugriffsspeicher wie einen DRAM, einen SDRAM, einen DDR SDRAM, einen DDR2 SDRAM, einen DDR3 SDRAM, einen LPDDR SDRAM, einen LPDDR2 SDRAM und einen LPDDR3 SDRAM oder einen nichtflüchtigen Direktzugriffsspeicher wie einen PRAM, einen ReRAM, einen MRAM und einen FRAM enthalten. Beispielsweise können der Anwendungsprozessor 4100 und das Speichermodul 4200 in einem Package-on-Package (POP) untergebracht sein und als ein einziges Halbleiterpaket geliefert werden.
  • Das Netzwerkmodul 4300 kann mit externen Einrichtungen kommunizieren. Zum Beispiel kann das Netzwerkmodul 4300 drahtlose Kommunikation wie CDMA (Code Division Multiple Access), GSM (Global System for Mobile Communications), WCDMA (Wideband CDMA), CDMA-2000, TDMA (Time Division Multiple Access), Long Term Evolution, Wimax, WLAN, UWB, Bluetooth und Wi-Fi unterstützen. Das Netzwerkmodul 4300 kann beispielsweise in den Anwendungsprozessor 4100 integriert sein.
  • Das Speichermodul 4400 kann Daten speichern. Beispielsweise kann das Speichermodul 4400 Daten speichern, die vom Anwendungsprozessor 4100 empfangen wurden. Alternativ dazu kann das Speichermodul 4400 die im Speichermodul 4400 gespeicherten Daten an den Anwendungsprozessor 4100 übertragen. Das Speichermodul 4400 kann beispielsweise mit einem nichtflüchtigen Halbleiterspeicherelement wie einem Phase-Change-RAM (PRAM), einem magnetischen RAM (MRAM), einem resistiven RAM (RRAM), einem NAND-Flash, einem NOR-Flash und einem dreidimensionalen NAND-Flash realisiert werden. Das Speichermodul 4400 kann beispielsweise als Wechselspeicher (Wechsellaufwerk), wie eine Speicherkarte, und als externes Laufwerk des Benutzersystems 4000 vorgesehen sein.
  • Das Speichermodul 4400 kann beispielsweise eine Vielzahl von nichtflüchtigen Speichereinrichtungen enthalten, und die Vielzahl von nichtflüchtigen Speichereinrichtungen können identisch mit der in 1 beschriebenen Speichereinrichtung 100 funktionieren. 1. Das Speichermodul 4400 kann identisch zu der mit Bezug auf 1 beschriebenen Speichereinrichtung 50 arbeiten.
  • Die Benutzeroberfläche 4500 kann Schnittstellen zur Eingabe von Daten oder einer Anweisung in den Anwendungsprozessor 4100 oder zur Ausgabe von Daten an eine externe Einrichtung enthalten. Beispielsweise kann die Benutzeroberfläche 4500 Benutzereingabeschnittstellen wie eine Tastatur, ein Tastenfeld, eine Taste, ein Touchpanel, einen Touchscreen, ein Touchpad, einen Touchball, eine Kamera, ein Mikrofon, einen Gyroskopsensor, einen Vibrationssensor und ein piezoelektrisches Element umfassen. Die Benutzeroberfläche 4500 kann Benutzerausgabeschnittstellen wie eine Flüssigkristallanzeige (LCD), eine organische Leuchtdioden-Anzeigeeinrichtung (OLED), eine Aktivmatrix-OLED-Anzeigeeinrichtung (AMOLED), eine LED, einen Lautsprecher und einen Monitor umfassen.
  • Eine Ausführungsform der vorliegenden Offenbarung stellt auch eine Speichereinrichtung und ein Verfahren zum Betrieb derselben bereit, die in der Lage sind, eine andere Operation als die oben beschriebene Leseoperation an einer Vielzahl von logischen Adressen durchzuführen. Zum Beispiel kann eine Schreiboperation auf einer Vielzahl von logischen Adressen in der gleichen Weise wie die vorstehend beschriebene Multi-Read-Operation durchgeführt werden.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann eine Speichereinrichtung ein Speicherbauelement und einen Speicher-Controller umfassen, der dazu eingerichtet ist, einen Schreibbefehl von einem externen Host zu empfangen und das Speicherbauelement in Übereinstimmung mit dem Schreibbefehl zu steuern, wobei der Schreibbefehl ein Basis-Header-Segment enthalten kann, das in der Regel in Befehlen vorhanden ist, die zwischen dem externen Host und dem Speicher-Controller übertragen und empfangen werden, und das Informationen enthält, die anzeigen, dass der Schreibbefehl ein Befehl zum Anfordern des Speicherns von Daten in dem Speicherbauelement ist, ein transaktionsspezifisches Feld, das Informationen enthält, die anzeigen, dass der Schreibbefehl ein Schreibbefehl für mindestens zwei oder mehr logische Adressen ist, und ein Extra-Header-Segment, das Informationen über die mindestens zwei oder mehr logischen Adressen enthält.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung kann ein Verfahren zum Betreiben einer Speichereinrichtung, die ein Speicherbauelement und einen Speicher-Controller enthält, der das Speicherbauelement steuert, das Empfangen durch den Speicher-Controller von einem externen Host, eines Schreibbefehls umfassen, der Schreibbefehl aufweisend ein Basis-Header-Segment, das in der Regel in Befehlen enthalten ist, die zwischen dem externen Host und dem Speicher-Controller übertragen und empfangen werden, und Informationen enthält, die einen Schreibbefehl anzeigen, um anzufordern, Daten in dem Speicherbauelement zu speichern, ein transaktionsspezifisches Feld, das Informationen enthält, die anzeigen, dass der Schreibbefehl ein Schreibbefehl für mindestens zwei oder mehr logische Adressen ist, und ein Extra-Header-Segment, das Informationen über die mindestens zwei oder mehr logischen Adressen enthält, und Durchführen einer Schreiboperation basierend auf den Informationen über die mindestens zwei oder mehr logischen Adressen.
  • Obwohl verschiedene Ausführungsformen zur Veranschaulichung beschrieben wurden, ist es dem Fachmann klar, dass verschiedene Änderungen und Modifikationen vorgenommen werden können, ohne vom Sinn und Umfang der Erfindung, wie sie in den folgenden Ansprüchen beschrieben ist, abzuweichen. Darüber hinaus können die Ausführungsformen kombiniert werden, um weitere Ausführungsformen zu bilden.

Claims (20)

  1. Speichereinrichtung aufweisend: ein Speicherbauelement; und einen Speicher-Controller, der dazu eingerichtet ist, einen Lesebefehl von einem externen Host zu empfangen und das Speicherbauelement entsprechend dem Lesebefehl zu steuern, wobei der Lesebefehl umfasst: ein Basis-Header-Segment, das in Befehlen enthalten ist, die zwischen dem externen Host und dem Speicher-Controller übertragen werden, und das Informationen enthält, die anzeigen, dass der Lesebefehl ein Befehl zum Anfordern von in dem Speicherbauelement gespeicherten Daten ist; ein transaktionsspezifisches Feld mit Informationen, die anzeigen, dass der Lesebefehl ein Lesebefehl für mindestens zwei oder mehr logische Adressen ist; und ein Extra-Header-Segment mit Informationen über die mindestens zwei oder mehr logischen Adressen.
  2. Speichereinrichtung nach Anspruch 1, wobei die Informationen über die mindestens zwei oder mehr logischen Adressen Informationen über mindestens zwei oder mehr logische Startblockadressen und Übertragungslängen enthalten, die jeweils den mindestens zwei oder mehr logischen Startblockadressen entsprechen.
  3. Speichereinrichtung nach Anspruch 1, wobei die mindestens zwei oder mehr logischen Adressen nicht auf einander folgen.
  4. Speichereinrichtung nach Anspruch 1, wobei das transaktionsspezifische Feld einen Lesebefehls-Deskriptorblock (CDB) enthält.
  5. Speichereinrichtung nach Anspruch 4, wobei der Lese-CDB die Information enthält, die anzeigt, dass der Lesebefehl ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen ist.
  6. Speichereinrichtung nach Anspruch 5, wobei die Information, die anzeigt, dass der Lesebefehl ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen ist, in einem reservierten Feld in dem Lese-CDB enthalten ist.
  7. Speichereinrichtung nach Anspruch 6, wobei der Lese-CDB ferner ein Operationscode-Feld, ein Erzwingen-Einheit-Zugriff-Feld und ein Gruppennummern-Feld enthält.
  8. Speichereinrichtung nach Anspruch 1, wobei das Basis-Header-Segment ein Feld für die Gesamt-Extra-Header-Segmentlänge enthält, die eine Länge des Extra-Header-Segments angibt.
  9. Speichereinrichtung nach Anspruch 8, wobei das Feld für die Gesamt-Extra-Header-Segmentlänge einen anderen Wert als Null enthält.
  10. Verfahren zum Betreiben einer Speichereinrichtung, die ein Speicherbauelement und einen Speicher-Controller enthält, der das Speicherbauelement steuert, das Verfahren umfassend: Empfangen von einem externen Host eines Lesebefehls, der Lesebefehl aufweisend: ein Basis-Header-Segment, das in Befehlen enthalten ist, die zwischen dem externen Host und dem Speicher-Controller übertragen werden, und das Informationen enthält, die anzeigen, dass der Lesebefehl ein Befehl zum Anfordern von in dem Speicherbauelement gespeicherten Daten ist; ein transaktionsspezifisches Feld mit Informationen, die anzeigen, dass der Lesebefehl ein Lesebefehl für mindestens zwei oder mehr logische Adressen ist; und ein Extra-Header-Segment mit Informationen über die mindestens zwei oder mehr logischen Adressen; und Durchführen einer Leseoperation basierend auf den Informationen über die mindestens zwei oder mehr logischen Adressen.
  11. Verfahren nach Anspruch 10, wobei die Informationen über die mindestens zwei oder mehr logischen Adressen Informationen über mindestens zwei oder mehr logische Startblockadressen und Übertragungslängen enthalten, die jeweils den mindestens zwei oder mehr logischen Startblockadressen entsprechen.
  12. Verfahren nach Anspruch 10, wobei das Basis-Header-Segment ein Feld für die Gesamt-Extra-Header-Segmentlänge enthält, die eine Länge des Extra-Header-Segments angibt.
  13. Verfahren nach Anspruch 12, wobei das Feld für die Gesamt-Extra-Header-Segmentlänge einen anderen Wert als Null enthält.
  14. Verfahren nach Anspruch 10, wobei die mindestens zwei oder mehr logischen Adressen nicht auf einander folgen.
  15. Verfahren nach Anspruch 10, wobei das transaktionsspezifische Feld einen Lesebefehls-Deskriptorblock (CDB) enthält.
  16. Verfahren nach Anspruch 15, wobei der Lese-CDB die Information enthält, die anzeigt, dass der Lesebefehl ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen ist.
  17. Verfahren nach Anspruch 16, wobei die Information, die anzeigt, dass der Lesebefehl ein Lesebefehl für die mindestens zwei oder mehr logischen Adressen ist, in einem reservierten Feld in dem Lese-CDB enthalten ist.
  18. Verfahren nach Anspruch 10, das ferner das Bereitstellen von aus dem Speicherbauelement gelesenen Daten an den externen Host umfasst, während die Leseoperation an den mindestens zwei oder mehr logischen Adressen durchgeführt wird.
  19. Verfahren nach Anspruch 18, wobei die gelesenen Daten dem externen Host entsprechend der Reihenfolge der im Extra-Header-Segment enthaltenen logischen Blockadressinformationen bereitgestellt werden.
  20. Speicher-Controller, der eine Speichereinrichtung steuert, wobei der Speicher-Controller umfasst: einen Mapping-Datenspeicher, der dazu eingerichtet ist, Mapping-Informationen zwischen einer logischen Adresse und einer physikalischen Adresse von in dem Speicherbauelement gespeicherten Daten zu speichern; einen Leseanforderungs-Prozessor, der dazu eingerichtet ist, eine Leseanforderung von einem externen Host zu empfangen und physikalische Adressen zu erhalten, die mindestens einer oder mehreren in der Leseanforderung enthaltenen logischen Adressen entsprechen; und einen Leseoperations-Controller, der dazu eingerichtet ist, dem Speicherbauelement einen Lesebefehl für die physikalischen Adressen bereitzustellen, die der mindestens einen oder mehreren logischen Adressen entsprechen; wobei die Leseanforderung umfasst: ein Basis-Header-Segment, das in Anforderungen enthalten ist, die zwischen dem externen Host und dem Speicher-Controller übertragen und empfangen werden, und das Informationen enthält, die anzeigen, dass die Leseanforderung zum Anfordern von in dem Speicherbauelement gespeicherten Daten dient; ein transaktionsspezifisches Feld mit Informationen, die anzeigen, dass die Leseanforderung eine Leseanforderung für mindestens zwei oder mehr logische Adressen ist; und ein Extra-Header-Segment mit Informationen über die mindestens zwei oder mehr logischen Adressen.
DE102022207151.4A 2021-07-13 2022-07-13 Speichereinrichtung und verfahren zum betreiben derselben Pending DE102022207151A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0091834 2021-07-13
KR20210091834 2021-07-13
KR1020220035416A KR20230011214A (ko) 2021-07-13 2022-03-22 스토리지 장치 및 이의 동작 방법
KR10-2022-0035416 2022-03-22

Publications (1)

Publication Number Publication Date
DE102022207151A1 true DE102022207151A1 (de) 2023-01-19

Family

ID=84546709

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022207151.4A Pending DE102022207151A1 (de) 2021-07-13 2022-07-13 Speichereinrichtung und verfahren zum betreiben derselben

Country Status (4)

Country Link
US (2) US11815938B2 (de)
CN (1) CN115617705A (de)
DE (1) DE102022207151A1 (de)
TW (1) TW202309891A (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830084B2 (en) * 2015-12-03 2017-11-28 Sandisk Technologies Llc Writing logical groups of data to physical locations in memory using headers
US10013179B2 (en) * 2015-12-03 2018-07-03 Sandisk Technologies Llc Reading logical groups of data from physical locations in memory using headers
KR102395190B1 (ko) 2017-07-31 2022-05-06 삼성전자주식회사 호스트와 인터페이스를 수행하는 스토리지 장치, 호스트 및 스토리지 장치의 동작방법
KR20190019712A (ko) 2017-08-18 2019-02-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11151052B2 (en) * 2019-12-13 2021-10-19 Micron Technology, Inc. Reading sequential data from memory using a pivot table
US11513723B2 (en) * 2020-09-17 2022-11-29 Western Digital Technologies, Inc. Read handling in zoned namespace devices

Also Published As

Publication number Publication date
TW202309891A (zh) 2023-03-01
US20230026323A1 (en) 2023-01-26
US11815938B2 (en) 2023-11-14
CN115617705A (zh) 2023-01-17
US20240037023A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
DE102018115163A1 (de) Routing von datenblöcken während einer thermodrosselung
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
US10846002B2 (en) Memory controller to adjust the size of write data, operating method therof and storage device including the same
DE102009026178A1 (de) Mehrstufiger Controller mit intelligentem Speicher-Transfer-Manager zum Verschachteln mehrfacher Ein-Chip-Flash-Speichereinheiten
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
KR20200114149A (ko) 메모리 컨트롤러 및 그 동작 방법
DE102020200625A1 (de) Speichergerät und betriebsverfahren des speichergeräts
DE102021210515A1 (de) Speichereinrichtung, host-einrichtung, elektronische einrichtung mit speichereinrichtung und host-einrichtung und verfahren zum betrieb derselben
DE102021118940A1 (de) Speichersteuerung und speichereinrichtung mit derselben
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE102022208699A1 (de) Hostvorrichtung, speichersteuerung und computersystem mit derselben
KR20200114009A (ko) 메모리 컨트롤러 및 그 동작 방법
CN112783432A (zh) 存储装置和其操作方法
CN111580744A (zh) 存储器控制器及其操作方法
DE112021001848T5 (de) Mehrere pinkonfigurationen von speichervorrichtungen
DE102022209281A1 (de) Speichersteuerung, Speichergerät und Hostvorrichtung
KR20220028332A (ko) 저장 장치 및 그 동작 방법
DE102022213293A1 (de) Speichersteuerung und verfahren zum betreiben derselben
CN111338995A (zh) 数据存储装置及操作数据存储装置的方法
US11625178B2 (en) Storage device and method of operating the same
DE102022207151A1 (de) Speichereinrichtung und verfahren zum betreiben derselben
DE102021006246A1 (de) Doppelt verschachtelte Programmierung einer Speichervorrichtung in einem Speicher-Untersystem
DE102021121974A1 (de) Speicher-steuereinheit und speichersystem, welches diese enthält
DE102021208963A1 (de) Speichervorrichtung und verfahren zum betreiben derselben
DE102021121608A1 (de) Verfahren zum schreiben von daten in eine nicht-flüchtige speichervorrichtung und dieses ausführende nicht-flüchtige speichervorrichtung