DE112022000470T5 - Cache-basierter fluss für einen einfachen kopierbefehl - Google Patents

Cache-basierter fluss für einen einfachen kopierbefehl Download PDF

Info

Publication number
DE112022000470T5
DE112022000470T5 DE112022000470.3T DE112022000470T DE112022000470T5 DE 112022000470 T5 DE112022000470 T5 DE 112022000470T5 DE 112022000470 T DE112022000470 T DE 112022000470T DE 112022000470 T5 DE112022000470 T5 DE 112022000470T5
Authority
DE
Germany
Prior art keywords
lba
copy command
command
data
simple copy
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
DE112022000470.3T
Other languages
English (en)
Inventor
Shay Benisty
Judah Gamliel Hahn
Ariel Navon
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies 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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE112022000470T5 publication Critical patent/DE112022000470T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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

Abstract

Ein Verfahren und System für einen cache-basierten Fluss eines einfachen Kopierbefehls wird offenbart. Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Verfahren und Systeme zum Ausführen eines einfachen Kopierbefehls in einer Weise, die zusätzliche Latenz in der Vorrichtung verringert. Gemäß bestimmten Ausführungsformen wird ein Kopierbefehlsmanager, der einen oder mehrere Kopierbefehlsschlitze einschließt, bereitgestellt. Beim Empfangen eines einfachen Kopierbefehls von einem Host wird dem Befehl ein Kopierbefehlsschlitz zugewiesen und der einfache Kopierbefehl in den Kopierbefehlsschlitz kopiert. Beim Kopieren des einfachen Kopierbefehls in den Kopierbefehlsschlitz wird eine Überlappungstabelle der Steuerung der Datenspeicherungsvorrichtung aktualisiert, um anzugeben, dass das Kopieren abgeschlossen ist, und der Abschluss an den Host übermittelt. Nach dem Übermitteln wird der einfache Kopierbefehl bis zum Abschluss im Hintergrund ausgeführt.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der am 22. April 2021 eingereichten US-Patentanmeldung Nr.: 17/237,949 , die dem Anmelder zugeordnet und durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen ist.
  • HINTERGRUND DER OFFENBARUNG
  • Gebiet der Offenbarung
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich im Allgemeinen auf eine Steuerung für eine Datenspeicherungsvorrichtung und insbesondere auf einen Cache-basierten Kopierbefehl.
  • Beschreibung des Stands der Technik
  • Bei einer herkömmlichen Form eines einfachen Kopierbefehls, der von einem Host ausgegeben und in einer Datenspeicherungsvorrichtung ausgeführt wird, verursacht die Anzahl der Schritte, die ausgeführt werden müssen, bevor der Abschluss des einfachen Kopierbefehls übermittelt wird, eine Latenz beim Betrieb des Hosts. Zum Beispiel kann ein einfacher Kopierbefehl gemäß früheren Ansätzen die Schritte der Entwicklung eines Steuerpfads (z. B. Adressübersetzung), Zugriffe auf ein NAND durch ein FIM, LDPC-Fehlerkorrektur, Lesen von NVMe-Metadaten, AES-Entschlüsselung/Verschlüsselung, DMA-Befehle ausführen.
  • Gemäß früheren Ansätzen muss die Ausführung eines einfachen Kopierbefehls warten, bis alle oben genannten Befehle abgeschlossen sind. Infolgedessen wird die Angabe des Abschlusses verzögert, während diese Befehle ausgeführt werden. Aufgrund dieser Verzögerung kommt es zu Komplikationen in der Host-Befehlspipeline, die den Host mit zusätzlicher Latenz belasten.
  • Benötigt werden Verfahren und Systeme, welche die Mängel früherer Ansätze zu beheben.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Verfahren und Systeme zum Ausführen eines einfachen Kopierbefehls in einer Weise, die zusätzliche Latenz in der Vorrichtung verringert. Gemäß bestimmten Ausführungsformen wird ein Kopierbefehlsmanager, der einen oder mehrere Kopierbefehlsschlitze einschließt, bereitgestellt. Beim Empfangen eines einfachen Kopierbefehls von einem Host wird dem Befehl ein Kopierbefehlsschlitz zugewiesen und der einfache Kopierbefehl in den Kopierbefehlsschlitz kopiert. Beim Kopieren des einfachen Kopierbefehls in den Kopierbefehlsschlitz wird eine Überlappungstabelle der Steuerung der Datenspeicherungsvorrichtung aktualisiert, um anzugeben, dass das Kopieren abgeschlossen ist, und der Abschluss an den Host übermittelt. Nach dem Übermitteln wird der einfache Kopierbefehl bis zum Abschluss im Hintergrund ausgeführt.
  • In einer Ausführungsform wird eine Datenspeicherungsvorrichtung offenbart, die einen Kopierbefehlsmanager mit einem Kopierbefehlsschlitz und eine Steuerung mit einer Überlappungstabelle einschließt, wobei die Steuerung dafür eingerichtet ist, ein Verfahren für eine einfache Kopie auszuführen. Das Verfahren schließt das Empfangen eines Kopierbefehls von einem Host, das Empfangen von Kopierdaten von einem NAND und das Zuweisen des Kopierbefehlsschlitzes zu dem Kopierbefehl ein. Das Verfahren umfasst ferner das Aktualisieren der Überlappungstabelle und das Übermitteln eines Abschlusses des Kopierbefehls an den Host.
  • In einer anderen Ausführungsform wird eine Steuerung für eine Datenspeicherungsvorrichtung offenbart, die einen einfachen Kopierbefehlsmanager mit einer Vielzahl einfacher Kopierbefehlsschlitze, eine oder mehrere Speichervorrichtungen mit computerlesbaren Anweisungen und einen Prozessor einschließt, der mit der einen oder den mehreren Speichervorrichtungen gekoppelt und dafür eingerichtet ist, die computerlesbaren Anweisungen auszuführen und zu bewirken, dass die Steuerung ein Verfahren für eine einfache Kopie durchführt. Das Verfahren schließt ein, einen einfachen Kopierbefehl von einem Host zu empfangen, der das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, zu bestimmen, ob ein einfacher Kopierbefehlsschlitz verfügbar ist, und die Daten, die erste LBA und zweite LBA in den einfachen Kopierbefehlsschlitz zu kopieren.
  • In einer anderen Ausführungsform ein System zum Speichern von Daten, das ein oder mehrere Speichermittel und ein Steuermittel einschließt, das dafür eingerichtet ist, ein Verfahren für eine einfache Kopie durchzuführen. Das Verfahren schließt das Empfangen eines einfachen Kopierbefehls von einem Host, das Empfangen von Kopierdaten von einem NAND und das Zuweisen, von einem einfachen Kopierbefehlsmanager mit einem einfachen Kopierbefehlsschlitz, des einfachen Kopierbefehlsschlitzes zu dem einfachen Kopierbefehl ein. Das Verfahren schließt ferner das Aktualisieren einer Überlappungstabelle der Steuerung und das Übermitteln eines Abschlusses des einfachen Kopierbefehls an den Host ein.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Zur Verdeutlichung der Art und Weise, wie die vorstehend angegebenen Merkmale der vorliegenden Offenbarung im Detail verstanden werden können, kann eine ausführlichere Beschreibung der Offenbarung, die vorstehend kurz zusammengefasst ist, unter Bezugnahme auf Ausführungsformen erfolgen, von denen einige in den beigefügten Zeichnungen veranschaulicht sind. Es ist jedoch zu beachten, dass in den beigefügten Zeichnungen nur typische Ausführungsformen dieser Offenbarung veranschaulicht sind und diese daher nicht als ihren Schutzumfang einschränkend anzusehen sind, da die Offenbarung andere ebenso wirksame Ausführungsformen zulassen kann.
    • 1 stellt ein schematisches Blockdiagramm dar, das ein Speicherungssystem, in dem eine Datenspeicherungsvorrichtung als eine Speicherungsvorrichtung für eine Hostvorrichtung fungieren kann, gemäß bestimmten Ausführungsformen veranschaulicht.
    • 2A stellt eine Veranschaulichung eines Speicherungsverwaltungsvorgangs gemäß bestimmten Ausführungsformen dar.
    • 2B stellt ein schematisches Blockdiagramm dar, das einen Speicherungsverwaltungsvorgang in einer Datenspeicherungsvorrichtung gemäß bestimmten Ausführungsformen veranschaulicht.
    • 3 stellt ein schematisches Blockdiagramm dar, das einen einfachen Kopierbefehlsmanager in einer Datenspeicherungsvorrichtung gemäß bestimmten Ausführungsformen veranschaulicht.
    • 4 stellt ein Flussdiagramm dar, das ein Verfahren zum Ausführen eines einfachen Kopierbefehls gemäß bestimmten Ausführungsformen veranschaulicht.
    • 5 stellt ein Flussdiagramm dar, das ein Verfahren zum Ausführen eines Lesebefehls unter Verwendung des Verfahrens aus 4 gemäß bestimmten Ausführungsformen veranschaulicht.
    • 6 stellt ein Flussdiagramm dar, das ein Verfahren zum Ausführen eines Schreibbefehls unter Verwendung des Verfahrens aus 4 gemäß bestimmten Ausführungsformen veranschaulicht.
    • 7 stellt ein Flussdiagramm dar, das ein Verfahren zum Ausführen eines einfachen Kopierbefehls gemäß bestimmten Ausführungsformen veranschaulicht.
  • Zum besseren Verständnis wurden, soweit möglich, identische Bezugszeichen verwendet, um identische Elemente zu bezeichnen, die den Figuren gemein sind. Es wird in Betracht gezogen, dass die in einer Ausführungsform offenbarten Elemente ohne besondere Nennung vorteilhaft bei anderen Ausführungsformen genutzt werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Im Folgenden wird auf Ausführungsformen der Offenbarung Bezug genommen. Es versteht sich jedoch, dass die Offenbarung nicht auf spezifisch beschriebene Ausführungsformen beschränkt ist. Stattdessen wird jede Kombination der folgenden Merkmale und Elemente, unabhängig davon, ob sie sich auf verschiedene Ausführungsformen beziehen oder nicht, zur Implementierung und Umsetzung der Offenbarung in Betracht gezogen. Obwohl Ausführungsformen der Offenbarung Vorteile gegenüber anderen möglichen Lösungen und/oder gegenüber dem Stand der Technik erreichen können, schränkt jedoch der Umstand, ob ein bestimmter Vorteil durch eine bestimmte Ausführungsform erreicht wird oder nicht, die Offenbarung nicht ein. Die folgenden Gesichtspunkte, Merkmale, Ausführungsformen und Vorteile sind daher nur veranschaulichend und gelten nicht als Elemente oder Einschränkungen der beigefügten Ansprüche, es sei denn, dies ist ausdrücklich in einem oder mehreren Ansprüchen angegeben. Ebenso soll eine Bezugnahme auf „die Offenbarung“ nicht als Verallgemeinerung eines hierin offenbarten erfinderischen Gegenstands ausgelegt werden und soll nicht als Element oder Einschränkung der beigefügten Ansprüche betrachtet werden, es sei denn, dies ist ausdrücklich in einem oder mehreren Ansprüchen angegeben.
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Verfahren und Systeme zum Ausführen eines einfachen Kopierbefehls in einer Weise, die zusätzliche Latenz in der Vorrichtung verringert. Gemäß bestimmten Ausführungsformen wird ein Kopierbefehlsmanager, der einen oder mehrere Kopierbefehlsschlitze einschließt, bereitgestellt. Beim Empfangen eines einfachen Kopierbefehls von einem Host wird dem Befehl ein Kopierbefehlsschlitz zugewiesen und der einfache Kopierbefehl in den Kopierbefehlsschlitz kopiert. Beim Kopieren des einfachen Kopierbefehls in den Kopierbefehlsschlitz wird eine Überlappungstabelle der Steuerung der Datenspeicherungsvorrichtung aktualisiert, um anzugeben, dass das Kopieren abgeschlossen ist, und der Abschluss an den Host übermittelt. Nach dem Übermitteln wird der einfache Kopierbefehl bis zum Abschluss im Hintergrund ausgeführt.
  • 1 stellt ein schematisches Blockdiagramm dar, das ein Speicherungssystem 100, in dem eine Datenspeicherungsvorrichtung 106 als eine Speicherungsvorrichtung für eine Hostvorrichtung 104 fungieren kann, gemäß bestimmten Ausführungsformen veranschaulicht. Zum Beispiel kann die Hostvorrichtung 104 zum Speichern und Abrufen von Daten einen nichtflüchtigen Speicher (NVM) 110, der in der Datenspeicherungsvorrichtung 106 eingeschlossen ist, nutzen. Die Hostvorrichtung 104 weist einen Host-DRAM 138 auf. In einigen Beispielen kann das Speicherungssystem 100 eine Vielzahl von Speicherungsvorrichtungen, wie die Datenspeicherungsvorrichtung 106, die als Speicheranordnung arbeiten kann, einschließen. Zum Beispiel kann das Speicherungssystem 100 eine Vielzahl von Datenspeicherungsvorrichtungen 106 einschließen, die als eine redundante Anordnung von preiswerten/unabhängigen Festplatten (RAID) eingerichtet sind, die zusammen als Massenspeicherungsvorrichtung für die Hostvorrichtung 104 fungieren.
  • Die Hostvorrichtung 104 kann Daten auf einer oder mehreren Speicherungsvorrichtungen, wie der Datenspeicherungsvorrichtung 106, speichern und/oder davon abrufen. Wie in 1 veranschaulicht, kann die Hostvorrichtung 104 über eine Schnittstelle 114 mit der Datenspeicherungsvorrichtung 106 kommunizieren. Die Hostvorrichtung 104 kann jegliche aus einer großen Vielfalt von Vorrichtungen aufweisen, einschließlich Computerservern, Network Attached Storage-Einheiten (NAS-Einheiten), Desktop-Computern, Notebook-Computern (d. h. Laptop-Computern), Tablet-Computern, Set-Top-Boxen, Telefonhandgeräten, wie sogenannten „Smartphones“, sogenannten „Smart Pads“, Fernsehern, Kameras, Anzeigevorrichtungen, digitalen Medienwiedergabevorrichtungen, Videospielkonsolen, einer Video-Streaming-Vorrichtung oder anderen Vorrichtungen, die in der Lage sind, Daten von einer Datenspeicherungsvorrichtung zu senden oder zu empfangen.
  • Die Datenspeichervorrichtung 106 schließt eine Steuerung 108, einen NVM 110, eine Stromversorgung 111, einen flüchtigen Arbeitsspeicher 112, eine Schnittstelle 114 und einen Schreibpuffer 116 ein. In einigen Beispielen kann die Datenspeicherungsvorrichtung 106 zusätzliche Komponenten einschließen, die aus Gründen der Übersichtlichkeit nicht in 1 gezeigt sind. Zum Beispiel kann die Datenspeicherungsvorrichtung 106 eine gedruckte Leiterplatte (PCB) einschließen, an der Komponenten der Datenspeicherungsvorrichtung 106 mechanisch angebracht sind und die elektrisch leitende Leiterbahnen einschließt, die Komponenten der Datenspeicherungsvorrichtung 106 oder dergleichen elektrisch miteinander verbinden. In einigen Beispielen können die physischen Abmessungen und Steckverbinderkonfigurationen der Datenspeicherungsvorrichtung 106 einem oder mehreren Standardformfaktoren entsprechen. Einige Beispiele für Standardformfaktoren schließen unter anderem eine 3,5-Zoll-Datenspeicherungsvorrichtung (z. B. eine Festplatte oder SSD), eine 2,5-Zoll-Datenspeicherungsvorrichtung, eine 1,8-Zoll-Datenspeicherungsvorrichtung, eine Peripheriekomponentenverbindung (PCI), PCI-Extended (PCI-X), PCI Express (PCIe) (z. B. PCIe x1, x4, x8, x16, PCIe Mini Card, MiniPCI usw.) ein. In einigen Beispielen kann die Datenspeicherungsvorrichtung 106 direkt mit einer Hauptplatine der Hostvorrichtung 104 gekoppelt (z. B. direkt verlötet) sein.
  • Die Schnittstelle 114 der Datenspeicherungsvorrichtung 106 kann einen Datenbus zum Datenaustausch mit der Hostvorrichtung 104 und/oder einen Steuerbus zum Austauschen von Befehlen mit der Hostvorrichtung 104 einschließen. Die Schnittstelle 114 kann gemäß jedem geeigneten Protokoll arbeiten. Zum Beispiel kann die Schnittstelle 114 gemäß einem oder mehreren der folgenden Protokolle arbeiten: Advanced Technology Attachment (ATA) (z. B. Serial-ATA (SATA) und Parallel-ATA (PATA)), Fibre Channel Protocol (FCP), Small Computer System Interface (SCSI), Serially Attached SCSI (SAS), PCI und PCIe, Non-Volatile Memory Express (NVMe), OpenCAPI, GenZ, Cache Coherent Interface Accelerator (CCIX), Open Channel SSD (OCSSD) oder dergleichen. Die elektrische Verbindung der Schnittstelle 114 (z. B. der Datenbus, der Steuerbus oder beides) ist elektrisch mit der Steuerung 108 verbunden und stellt eine elektrische Verbindung zwischen der Hostvorrichtung 104 und der Steuerung 108 her, so dass Daten zwischen der Hostvorrichtung 104 und der Steuerung 108 ausgetauscht werden können. In einigen Beispielen kann die elektrische Verbindung der Schnittstelle 114 der Datenspeicherungsvorrichtung 106 auch ermöglichen, Strom von der Hostvorrichtung 104 zu empfangen. Zum Beispiel kann die Stromversorgung 111, wie in 1 veranschaulicht, über Schnittstelle 114 Strom von der Hostvorrichtung 104 empfangen.
  • Der NVM 110 kann eine Vielzahl von Speichervorrichtungen oder Speichereinheiten einschließen. Der NVM 110 kann eingerichtet sein, um Daten zu speichern und/oder abzurufen. Zum Beispiel kann eine Speichereinheit des NVM 110 Daten und eine Nachricht von der Steuerung 108 empfangen, mit der die Speichereinheit zum Speichern der Daten angewiesen wird. In ähnlicher Weise kann die Speichereinheit von NVM 110 eine Nachricht von Steuerung 108 empfangen, mit der die Speichereinheit zum Abrufen von Daten angewiesen wird. In einigen Beispielen kann jede der Speichereinheiten als ein Die bezeichnet werden. In einigen Beispielen kann der NVM 110 eine Vielzahl von Dies (d. h. eine Vielzahl von Speichereinheiten) einschließen. In einigen Beispielen kann jede Speichereinheit zum Speichern relativ großer Datenmengen (z. B. 128 MB, 256 MB, 512 MB, 1 GB, 2 GB, 4 GB, 8 GB, 16 GB, 32 GB, 64 GB, 128 GB, 256 GB, 512 GB, 1 TB usw.) eingerichtet sein.
  • In einigen Beispielen kann jede Speichereinheit des NVM 110 jede Art von nichtflüchtigen Speichervorrichtungen einschließen, wie Flash-Speichervorrichtungen, Phasenwechselspeicher-Vorrichtungen (PCM-Vorrichtung), resistive Direktzugriffsspeichervorrichtungen (ReRAM-Vorrichtung), magnetoresistive Direktzugriffsspeichervorrichtungen (MRAM-Vorrichtung), ferroelektrische Direktzugriffsspeicher (F-RAM), holographische Speichervorrichtungen und jede andere Art von nichtflüchtigen Speichervorrichtungen.
  • Der NVM 110 kann eine Vielzahl von Flash-Speichervorrichtungen oder -Speichereinheiten aufweisen. NVM-Flash-Speichervorrichtungen können NAND- oder NORbasierte Flash-Speichervorrichtungen einschließen und können Daten basierend auf einer Ladung speichern, die in einem Floating-Gate eines Transistors für jede Flash-Speicherzelle enthalten ist. In NVM-Flash-Speichervorrichtungen kann die Flash-Speichervorrichtung in eine Vielzahl von Dies unterteilt sein, wobei jedes Die der Vielzahl von Dies eine Vielzahl von Blöcken einschließt, die weiter in eine Vielzahl von Seiten unterteilt sein können. Jeder Block der Vielzahl von Blöcken innerhalb einer bestimmten Speichervorrichtung kann eine Vielzahl von NVM-Zellen einschließen. Reihen von NVM-Zellen können unter Verwendung einer Wortleitung elektrisch verbunden werden, um eine Seite aus einer Vielzahl von Seiten zu definieren. Entsprechende Zellen in jeder der Vielzahl von Seiten können elektrisch mit jeweiligen Bitleitungen verbunden sein. Weiterhin können NVM-Flash-Speichervorrichtungen 2D- oder 3D-Vorrichtungen sein und können eine Single-Level-Zelle (SLC), Multi-Level-Zelle (MLC), Triple-Level-Zelle (TLC) oder Quad-Level-Zelle (QLC) sein. Die Steuerung 108 kann Daten in und aus NVM-Flash-Speichervorrichtungen auf der Seitenebene schreiben und lesen und Daten aus NVM-Flash-Speichervorrichtungen auf der Blockebene löschen.
  • Die Datenspeicherungsvorrichtung 106 schließt eine Stromversorgung 111 ein, die eine oder mehrere Komponenten der Datenspeicherungsvorrichtung 106 mit Strom versorgen kann. Wenn die Stromversorgung 111 in einem Standardmodus arbeitet, kann sie eine oder mehrere Komponenten mit Strom versorgen, der von einer externen Vorrichtung, wie der Hostvorrichtung 104, bereitgestellt wird. Zum Beispiel kann die Stromversorgung 111 die eine oder die mehreren Komponenten mit Strom versorgen, der von der Hostvorrichtung 104 über die Schnittstelle 114 empfangen wird. In einigen Beispielen kann die Stromversorgung 111 eine oder mehrere Stromspeicherkomponenten einschließen, die eingerichtet sind, um die eine oder die mehreren Komponenten mit Strom zu versorgen, wenn sie in einem Abschaltmodus arbeiten, wie wenn kein Strom mehr von der externen Vorrichtung empfangen wird. Auf diese Weise kann die Stromversorgung 111 als integrierte Notfallstromquelle fungieren. Einige Beispiele für die eine oder die mehreren Energiespeicherkomponenten schließen, ohne darauf beschränkt zu sein, Kondensatoren, Superkondensatoren, Batterien und dergleichen ein. In einigen Beispielen kann die von der einen oder den mehreren Energiespeicherkomponenten gespeicherte Energiemenge von den Kosten und/oder der Größe (z. B. Fläche/Volumen) der einen oder mehreren Energiespeicherkomponenten abhängig sein. Das heißt, wenn die von der einer oder den mehreren Stromspeicherkomponenten gespeicherte Strommenge zunimmt, steigen auch die Kosten und/oder die Größe der einen oder mehreren Stromspeicherkomponenten.
  • Die Datenspeicherungsvorrichtung 106 schließt auch den flüchtigen Arbeitsspeicher 112 ein, der von der Steuerung 108 zum Speichern von Informationen verwendet werden kann. Der flüchtige Speicher 112 kann eine oder mehrere flüchtige Speichervorrichtungen einschließen. In einigen Beispielen kann die Steuerung 108 den flüchtigen Speicher 112 als Cache verwenden. Zum Beispiel kann Steuerung 108 zwischengespeicherte Informationen in dem flüchtigen Speicher 112 speichern, bis die zwischengespeicherten Informationen in den NVM 110 geschrieben werden. Wie in 1 veranschaulicht, kann der flüchtige Speicher 112 den von der Stromversorgung 111 empfangenen Strom verbrauchen. Beispiele für den flüchtigen Speicher 112 schließen, ohne darauf beschränkt zu sein, Direktzugriffsspeicher (RAM), dynamischen Direktzugriffsspeicher (DRAM), statischen RAM (SRAM) und synchronen dynamischen RAM (SDRAM (z. B. DDR1, DDR2, DDR3, DDR3L, LPDDR3, DDR4, LPDDR4 und dergleichen)) ein.
  • Die Datenspeicherungsvorrichtung 106 schließt eine Steuerung 108 ein, die eine oder mehrere Vorgänge der Datenspeicherungsvorrichtung 106 verwalten kann. Zum Beispiel kann die Steuerung 108 das Lesen von Daten von und/oder das Schreiben von Daten in den NVM 110 verwalten. In einigen Ausführungsformen, wenn die Datenspeicherungsvorrichtung 106 einen Schreibbefehl von der Hostvorrichtung 104 empfängt, kann die Steuerung 108 einen Datenspeicherbefehl initiieren, um Daten in den NVM 110 zu speichern und den Fortschritt des Datenspeicherbefehls zu überwachen. Steuerung 108 kann mindestens eine Betriebscharakteristik des Speicherungssystems 100 bestimmen und die mindestens eine Betriebscharakteristik in dem NVM 110 speichern. In einigen Ausführungsformen, wenn die Datenspeicherungsvorrichtung 106 einen Schreibbefehl von der Hostvorrichtung 104 empfängt, speichert die Steuerung 108 die mit dem Schreibbefehl verbundenen Daten vorübergehend im internen Speicher oder in dem Schreibpuffer 116, bevor die Daten an den NVM 110 gesendet werden.
  • 2A stellt eine Veranschaulichung eines Speicherungsverwaltungsvorgangs gemäß bestimmten Ausführungsformen dar. Der NVM, wie z. B. der NVM 110 von 1, der Datenspeichervorrichtung, wie z. B. der Datenspeichervorrichtung 106 von 1, schließt einen ersten Block 202 und einen zweiten Block 204 ein. Da Daten sequenziell in Blöcke geschrieben werden, können der Raum zwischen LBA1 und LBA2 und der Raum zwischen LBA4 und LBA3 des ersten Blocks 202 vor dem Verschieben von Daten oder der Speicherbereinigung ungültige oder alte Daten enthalten. Alle zusätzlichen Daten, die in den ersten Block 202 geschrieben werden, werden nach LBA3 geschrieben. Somit wird der Raum zwischen LBA1 und LBA2 und LBA4 und LBA3 nicht effektiv genutzt, da die gültigen Daten nicht sequenziell sind und der Raum zwischen den LBAs nicht genutzt werden kann.
  • Die Steuerung, wie z. B. die Steuerung 108 von 1, oder die Hostvorrichtung 104 von 1 kann Befehle für Speicherverwaltungsvorgänge, wie z. B. Speicherbereinigung, senden. Die LBAs des ersten Blocks 202 werden in die Steuerung kopiert, wo die LBAs in einem flüchtigen Speicher der Steuerung gespeichert werden können. Der erste Block wird gelöscht und dem Pool freier Blöcke (d. h. noch nicht beschriebener Blöcke) zugewiesen. Die in der Steuerung gespeicherten Daten werden sequenziell in den zweiten Block 204 geschrieben. Da die Daten sequenziell in den zweiten Block geschrieben werden, nimmt der von den Daten belegte Speicherplatz mit zunehmender Konsolidierung der Daten auf dem Block ab. Zum Beispiel kann der erste Block 202 64 KiB verfügbare Kapazität aufweisen. Jede LBA hat eine Größe von etwa 4 KiB. Die Gesamtgröße der LBAs beträgt 16 KiB. Die verbleibende Kapazität des ersten Blocks 202, nachdem die vier LBAs in den ersten Block 202 geschrieben wurden, beträgt etwa 48 KiB. Da die vier LBAs jedoch nicht sequenziell geschrieben werden, kann die nutzbare Kapazität weniger als etwa 48 KiB betragen. Wenn Daten sequenziell in einen Block, wie z. B. den zweiten Block 204, geschrieben werden, kann die nutzbare Kapazität gleich oder ungefähr gleich der verbleibenden Kapazität des Blocks sein.
  • 2B stellt ein schematisches Blockdiagramm dar, das einen Speicherungsverwaltungsvorgang in einer Datenspeicherungsvorrichtung gemäß bestimmten Ausführungsformen veranschaulicht. Die Hostvorrichtung 104 gibt Lese- und/oder Schreibbefehle 252 an die Datenspeichervorrichtung 106 aus. Der PCle-Bus 256 empfängt die Befehle 252 und die den Befehlen 252 zugeordneten Daten 254. Die Befehle 252 werden dann an den Steuerpfad 258 übertragen, wo ein Prozessor 260 Logik zum Verarbeiten und Ausführen des Befehls 252 einschließt. Bei einem Schreibvorgang werden die Daten 254 an den Datenpfad 212 übertragen, wo Anweisungen des Prozessors 260 ausgeführt werden, und die Daten 254 durchlaufen die verschiedenen Elemente des Datenpfads 212. Beispielsweise durchlaufen die Daten 254 zuerst einen Direktspeicherzugriff (DMA) 264, wobei den Daten 254 Datenschutz hinzugefügt wird. Die Daten 254 werden dann mit dem Advanced Encryption Standard (AES) 266 verschlüsselt. In dem NVMe-Metadatenblock 268 werden Metadaten an Daten 254 angehängt. In einer Ausführungsform können die Metadaten einen Header einschließen. Die Fehlerkorrektur-Engine 270, die als EC-Engine bezeichnet werden kann, erzeugt und schreibt Fehlerkorrekturcode oder Paritätsdaten in die Daten 254. Das Flash-Schnittstellenmodul (FIM) 272 schreibt die Daten 254 an die entsprechende Stelle des NVM 110.
  • Wenn die Datenspeichervorrichtung 106 jedoch einen Speicherverwaltungsvorgang ausführt, wie z. B. eine Speicherbereinigung, werden die relevanten Daten 254 aus dem NVM 110 abgerufen und durch das Flash-Schnittstellenmodul (FIM) 272, die Fehlerkorrektur-Engine 270, den NVMe-Metadatenblock 268, den AES 266 und den DMA 264 geleitet. Die relevanten Daten durchlaufen dann den gesamten Datenpfad 212 und werden an der entsprechenden Stelle in dem NVM 110 gespeichert. Da der Datenpfad 212 mit Speicherverwaltungsvorgängen belegt sein kann, können neue Befehle 252 in die Warteschlange gestellt werden, da die Ressourcen der Datenspeicherungsvorrichtung gerade benutzt werden.
  • 3 stellt ein schematisches Blockdiagramm 300 dar, das einen einfachen Kopierbefehlsmanager 314 in einer Steuerung 304 gemäß bestimmten Ausführungsformen veranschaulicht. Steuerung 304 kann als die Steuerung 108 aus 1 oder als Teil des Steuerpfads 258 aus 2B implementiert sein. Die Steuerung 304 ist mit einer Hostvorrichtung 302 gekoppelt, wobei Befehle wie einfache Kopierbefehle generiert und von der Hostvorrichtung 302 an ein Host-Schnittstellenmodul (HIM) 306 gesendet werden. Einfache Kopierbefehle ermöglichen das Kopieren mehrerer zusammenhängender Bereiche in ein einzelnes Ziel einer Speichervorrichtung wie von mehreren Quell-LBAs in eine einzelne Ziel-LBA oder eine zusammenhängende Folge von LBAs. In der Beschreibung hierin schließen einfache Kopierbefehle den Befehl und die dem Befehl zugeordneten Daten ein. Ebenso werden Daten und andere relevante Informationen wie Abschlussnachrichten über das HIM 306 an die Hostvorrichtung 302 gesendet.
  • Das HIM 306 schließt eine Überlappungstabelle 308 und DMAs 310 ein. Die DMAs 310 können der DMA 264 aus 2B sein. Die Überlappungstabelle 308 kann Informationen über die LBAs einschließen wie LBA-Zeiger, die den einfachen Kopierbefehlen zugeordnet sind, und die Längen der einfachen Kopierbefehle. Darüber hinaus werden beim Empfangen einfacher Kopierbefehle von der Hostvorrichtung 302 die Länge und LBA der empfangenen einfachen Kopierbefehle in der Überlappungstabelle 308 gespeichert, so dass Überlappungen der LBAs der einfachen Kopierbefehle identifiziert werden können.
  • Wenn eine Überlappung identifiziert wird, kann das HIM 306 einen Indikator oder einen Auslöser generieren, um den Überlappungsbefehl an einen oder mehrere Prozessoren 312 zu senden. Der eine oder die mehreren Prozessoren 312 können bestimmen, ob der Überlappungsbefehl einen zuvor empfangenen einfachen Kopierbefehl, welcher der Überlappung zugeordnet ist, ersetzen oder den zuvor empfangenen einfachen Kopierbefehl abschließen und den Überlappungsbefehl nach dem zuvor empfangenen einfachen Kopierbefehl ausführen. Der eine oder die mehreren Prozessoren 312 übertragen den Überlappungsbefehl an einen Einzelkopierbefehlsmanager 314, wobei der Einzelkopierbefehlsmanager 314 einfache Kopierbefehle und Überlappungsbefehle in einer Kopierbefehlswarteschlange 316 zusammenführt. Der Einzelkopierbefehlsmanager 314 schließt einen oder mehrere einfache Kopierbefehlsschlitze 318 ein. Die einfachen Kopierbefehle werden von dem einen oder den mehreren einfachen Kopierbefehlsschlitzen 318 ausgeführt, wobei jeder Schlitz eine oder mehrere LBAs speichern kann, die von einem ersten Ort an einen zweiten Ort des NVM 328 kopiert werden sollen. Der Einzelkopierbefehlsmanager 314 ist mit einem Befehlsplaner 320 gekoppelt. Die einfachen Kopierbefehle und Überlappungsbefehle werden an den Befehlsplaner 320 übertragen.
  • Die Daten empfangener Befehle werden von den DMAs 310 an ein Verschlüsselungs-/Entschlüsselungsmodul 322 übertragen. Das Verschlüsselungs-/Entschlüsselungsmodul 322 verschlüsselt entweder die Daten der einfachen Kopierbefehle oder entschlüsselt aus dem NVM 328 abgerufene verschlüsselte Daten, wobei der NVM 328 der NVM 110 aus 1 sein kann. Das Verschlüsselungs-/Entschlüsselungsmodul 322 ist mit einem Codierer/Decodierer 324 gekoppelt. Der Codierer/Decodierer 324 codiert Daten und decodiert codierte Daten. Der Codierer/Decodierer 324 kann die EC-Engine 270 aus 2B sein. Das Verschlüsselungs-/Entschlüsselungsmodul 322 und der Codierer/Decodierer 324 können eine Logik zum Schutz der Daten vor Fehlern einschließen oder eine Logik zur Korrektur von Fehlern in den Daten beim Lesen der Daten aus dem NVM 328 einschließen. Der Codierer/Decodierer 324 ist mit FIM 326 gekoppelt, wobei das FIM 326 zum Planen, Abrufen und Programmieren von Daten in den NVM 328 eingerichtet sein kann.
  • Automatisierte Befehle wie Lese- und Schreibbefehle werden von dem HIM 306 an einen Befehlsplaner 320 übertragen. Der Befehlsplaner 320 kann zum Planen der empfangenen auszuführenden Befehle eingerichtet sein, wie zum Planen eines Programmiervorgangs an den NVM 328 oder eines Lesevorgangs des NVM 328. Der Befehlsplaner 320 ist mit dem FIM 326 gekoppelt.
  • 4 stellt ein Flussdiagramm dar, das ein Verfahren 400 zum Ausführen eines einfachen Kopierbefehls gemäß bestimmten Ausführungsformen veranschaulicht. Das Verfahren 400 kann durch Steuerung 304 aus 3 implementiert werden. In einigen Beispielen können der eine oder die mehreren Prozessoren wie der eine oder die mehreren Prozessoren 312 aus 3 dafür eingerichtet sein, das Verfahren 400 auszuführen. Auf Aspekte aus 3 kann hierin beispielhaft Bezug genommen werden.
  • In Block 402 empfängt Steuerung 304 einen Host-Befehl von der Hostvorrichtung 302. In Block 404 bestimmt Steuerung 304, ob der empfangene Host-Befehl ein einfacher Kopierbefehl ist. Wenn der empfangene Befehl kein einfacher Kopierbefehl ist, wird der Host-Befehl in Block 406 normalerweise als automatischer Befehl ausgeführt, indem der Host-Befehl von dem HIM 306 an den Befehlsplaner 320 übertragen wird. Doch wenn der empfangene Host-Befehl ein einfacher Kopierbefehl ist, bestimmt die Steuerung 304 in Block 408, ob ein oder mehrere einfache Kopierbefehlsschlitze 318 in dem einfachen Kopierbefehlsmanager 314 verfügbar sind. Wenn in Block 408 keine verfügbaren Schlitze vorhanden sind, wird in Block 410 der einfache Kopierbefehl in der Kopierbefehlswarteschlange 316 gehalten.
  • Wenn in Block 408 oder in Block 412 ein verfügbarer Schlitz vorhanden ist, werden der eine oder die mehreren einfachen Kopierbefehlsschlitze 318 dem einfachen Kopierbefehl zugewiesen, so dass die eine oder die mehreren LBAs des einfachen Kopierbefehls in dem zugewiesenen einen oder den zugewiesenen mehreren einfachen Kopierbefehlsschlitzen gespeichert werden. In Block 416 wird die Überlappungstabelle 308 aktualisiert. In Block 418 wird eine Abschlussnachricht an die Hostvorrichtung 302 übermittelt.
  • 5 stellt ein Flussdiagramm dar, das ein Verfahren 500 zum Ausführen eines Lesebefehls unter Verwendung des Verfahrens 400 aus 4 gemäß bestimmten Ausführungsformen veranschaulicht. Das Verfahren 500 kann durch Steuerung 304 aus 3 implementiert werden. In einigen Beispielen können der eine oder die mehreren Prozessoren wie der eine oder die mehreren Prozessoren 312 aus 3 dafür eingerichtet sein, das Verfahren 500 auszuführen. Auf Aspekte aus 3 kann hierin beispielhaft Bezug genommen werden.
  • In Block 502 empfängt Steuerung 304 einen Lesebefehl mit einer LBA „X" von der Hostvorrichtung 302. Der Lesebefehl mit der LBA „X“ wird in dem HIM 306 empfangen, wobei in Block 504 eine Überlappungsprüfung für den empfangenen Lesebefehl ausgeführt wird. Die LBA „X" wird mit der Überlappungstabelle 308 abgeglichen, so dass eine Überlappung in der LBA-Position einen Auslöser oder eine Benachrichtigung an die Steuerung 304 sendet, dass eine LBA-Überlappung vorhanden ist. In Block 506 bestimmt Steuerung 304, ob eine Überlappung vorliegt. Wenn in Block 506 keine Überlappung vorliegt, wird in Block 508 der Lesebefehl ausgeführt. Doch wenn in Block 506 eine Überlappung vorliegt, bestimmt die Steuerung 304 in Block 510, ob die Überlappung mit einem anderen einfachen Kopierbefehl besteht. Wenn in Block 510 die Überlappung mit keinem anderen einfachen Kopierbefehl besteht, wird die Überlappung in Block 512 aufgelöst.
  • Wenn eine Überlappung mit dem einfachen Kopierbefehl vorliegt, werden in Block 514 der eine oder die mehreren einfachen Kopierbefehlsschlitze 318 gescannt. Die LBA „X“ wird durch LBA „Y“ ersetzt, wobei sich LBA „Y“ auf die Daten bezieht, die der LBA „X“-Überlappung zugeordnet sind. In Block 516 wird LBA „Y" aus der Speichervorrichtung wie dem NVM 328 gelesen. In Block 518 werden die Daten von LBA „Y“ und eine Abschlussnachricht an die Hostvorrichtung 302 übertragen. In einer Ausführungsform werden in Block 520 die Kopierbefehle ausgeführt, da die Lesedaten bereits zwischengespeichert sind, so dass die ausstehende Kopierbefehlswarteschlange (z. B. der eine oder die mehreren einfachen Kopierbefehlsschlitze 318 und die Kopierbefehlswarteschlange 316) in den NVM 328 geleert werden.
  • 6 stellt ein Flussdiagramm dar, das ein Verfahren 600 zum Ausführen eines Schreibbefehls unter Verwendung des Verfahrens 400 aus 4 gemäß bestimmten Ausführungsformen veranschaulicht. Das Verfahren 600 kann durch Steuerung 304 aus 3 implementiert werden. In einigen Beispielen können der eine oder die mehreren Prozessoren wie der eine oder die mehreren Prozessoren 312 aus 3 dafür eingerichtet sein, das Verfahren 600 auszuführen. Auf Aspekte aus 3 kann hierin beispielhaft Bezug genommen werden.
  • In Block 602 wird ein Schreibbefehl mit der LBA „X“ von der Steuerung 304 an dem HIM 306 von der Hostvorrichtung 302 empfangen. Die Steuerung 304 weist einen ausstehenden einfachen Kopierbefehl auf, wobei der ausstehende einfache Kopierbefehl LBA „A“ zu LBA „B“ ist. In Block 604 wird die Überlappungstabelle 308 überprüft, um zu bestimmen, ob der empfangene Schreibbefehl mit der LBA „X“ eine Überlappung mit bereits vorhandenen einfachen Kopierbefehlen aufweist. In Block 606 bestimmt Steuerung 304, ob LBA „X“ gleich LBA „A“ des ausstehenden einfachen Kopierbefehls ist. Wenn die LBA „X“ gleich der LBA „A“ ist, wird in Block 608 der Schreibbefehl in einem Puffer wie Puffer 116 aus 1 gehalten und der ausstehende einfache Kopierbefehl ausgeführt.
  • Doch, wenn LBA „X“ in Block 606 nicht gleich LBA „Y“ ist, bestimmt die Steuerung in Block 610, ob LBA „X“ gleich LBA „B“ ist. Wenn LBA „X“ nicht gleich LBA „B“ ist, wird der Schreibbefehl ausgeführt. Doch wenn LBA „X“ gleich LBA „B“ ist, wird der ausstehende einfache Kopierbefehl in Block 612 abgebrochen. In Block 614 wird der Schreibbefehl ausgeführt. In einer Ausführungsform werden die Kopierbefehle ausgeführt, da die Lesedaten bereits zwischengespeichert sind, so dass die ausstehende Kopierbefehlswarteschlange (z. B. der eine oder die mehreren einfachen Kopierbefehlsschlitze 318 und die Kopierbefehlswarteschlange 316) in den NVM 328 geleert werden.
  • In einem Beispiel kann, wenn der ausstehende einfache Kopierbefehl LBA „A“ zu LBA „B“ ist und ein neuer einfacher Kopierbefehl LBA „B“ zu LBA „C“ empfangen wird, während der ausstehende Befehl noch nicht abgeschlossen ist, der ausstehende einfache Kopierbefehl abgeschlossen werden, bevor der neue einfache Kopierbefehl ausgeführt wird. Doch in einem anderen Beispiel können der ausstehende einfache Kopierbefehl abgebrochen und der neue Kopierbefehl ausgeführt werden, wobei der modifizierte einfache Kopierbefehl LBA „A“ zu LBA „C“ ist. Der Inhalt sowohl von LBA „A“ als auch von LBA „B“ wird in einem flüchtigen Speicher wie dem flüchtigen Speicher 112 aus 1 gespeichert.
  • 7 stellt ein Flussdiagramm dar, das ein Verfahren 700 zum Ausführen eines einfachen Kopierbefehls gemäß bestimmten Ausführungsformen veranschaulicht. Auf Aspekte aus 3 kann hierin beispielhaft Bezug genommen werden. In Block 702 empfängt eine Steuerung wie eine Steuerung 304 aus 3 einen Kopierbefehl von einer Hostvorrichtung wie der Hostvorrichtung 302 aus 3. In Block 704 werden die Kopierdaten, die dem Kopierbefehl zugeordnet sind, von Steuerung 304 empfangen. In Block 706 wird dem Kopierbefehl ein Kopierbefehlsschlitz wie einer von dem einen oder den mehreren Kopierbefehlsschlitzen 318 aus 3 zugewiesen. Wenn keine Kopierbefehlsschlitze verfügbar sind, wird der Kopierbefehl in einer Kopierbefehlswarteschlange wie der Kopierbefehlswarteschlange 316 aus 3 gespeichert. In Block 708 wird die Überlappungstabelle mit den Daten des empfangenen Kopierbefehls aktualisiert. In Block 710 wird eine Abschlussnachricht, die dem empfangenen Kopierbefehl zugeordnet ist, an die Hostvorrichtung 302 übermittelt. In einigen Beispielen kann die Abschlussnachricht an den Host gesendet werden, bevor die Ausführung des empfangenen Kopierbefehls fertiggestellt ist.
  • Durch Speichern von Daten ausstehender einfacher Kopierbefehle in einer Überlappungstabelle und Bestimmen, ob eine Überlappung zwischen einem ausstehenden einfachen Kopierbefehl und einem empfangenen Host-Befehl vorliegt, kann die Latenz des einfachen Kopierbefehls verringert werden, und der vorhandene Schreibfluss kann genutzt werden, um die modifizierte einfache Kopierbefehlsausführung zu handhaben.
  • In einer Ausführungsform wird eine Datenspeicherungsvorrichtung offenbart, die einen Kopierbefehlsmanager mit einem Kopierbefehlsschlitz sowie eine Steuerung mit einer Überlappungstabelle einschließt, wobei die Steuerung dafür eingerichtet ist, ein Verfahren für eine einfache Kopie auszuführen. Das Verfahren schließt das Empfangen eines Kopierbefehls von einem Host, das Empfangen von Kopierdaten von einem NAND und das Zuweisen des Kopierbefehlsschlitzes zu dem Kopierbefehl ein. Das Verfahren schließt ferner ein, die Überlappungstabelle zu aktualisieren und dem Host zu übermitteln, dass der Kopierbefehl abgeschlossen ist.
  • Der Abschluss des Kopierbefehls wird übermittelt, bevor die Ausführung des Kopierbefehls abgeschlossen ist. Der Kopierbefehl schließt das Kopieren von Daten von einer ersten LBA in eine zweite LBA ein. Das Verfahren schließt ferner das Kopieren der ersten LBA und zweiten LBA in den Kopierbefehlsschlitz, das Empfangen eines Lesebefehls vom Host, aus der zweiten LBA zu lesen, und das Modifizieren des Lesebefehls, aus der ersten LBA zu lesen, ein. Der Kopierbefehlsmanager schließt ferner eine Befehlswarteschlange ein, wobei das Zuordnen des Kopierbefehlsschlitzes zu dem Kopierbefehl ferner einschließt, zu bestimmen, ob der Kopierbefehlsschlitz verfügbar ist, und bei Nichtverfügbarkeit des Kopierbefehlsschlitzes den Kopierbefehl in der Kopierbefehlswarteschlange zu speichern. Der Kopierbefehl schließt das Kopieren von Daten von einer ersten LBA in eine zweite LBA ein. Das Verfahren schließt ferner das Kopieren der ersten LBA und der zweiten LBA in den Kopierbefehl, das Empfangen eines Kopierbefehls vom Host, Daten von der ersten LBA in eine dritte LBA zu kopieren, das Leeren des Kopierbefehlsschlitzes und das Unterbrechen des Lesebefehls, bis die erste LBA in die zweite LBA kopiert ist, ein. Der Kopierbefehl schließt das Kopieren von Daten von einer ersten LBA in eine zweite LBA ein. Das Verfahren schließt ferner das Kopieren der ersten LBA und zweiten LBA in den Kopierbefehlsschlitz, das Empfangen eines Schreibbefehls vom Host zum Schreiben in die erste LBA und das Unterbrechen des Schreibbefehls ein. Der Kopierbefehl schließt das Kopieren von Daten von einer ersten LBA in eine zweite LBA ein. Das Verfahren schließt ferner das Kopieren der ersten LBA und zweiten LBA in den Kopierbefehlsschlitz, das Empfangen eines Befehls vom Host, Daten von der zweiten LBA in eine dritte LBA zu kopieren, und das Kopieren der ersten LBA und der dritten LBA in einen zweiten Kopierbefehlsschlitz ein.
  • In einer anderen Ausführungsform wird eine Steuerung für eine Datenspeicherungsvorrichtung offenbart, die einen einfachen Kopierbefehlsmanager mit einer Vielzahl einfacher Kopierbefehlsschlitze, eine oder mehrere Speichervorrichtungen mit computerlesbaren Anweisungen und einen Prozessor einschließt, der mit der einen oder den mehreren Speichervorrichtungen gekoppelt und dafür eingerichtet ist, die computerlesbaren Anweisungen auszuführen und zu bewirken, dass die Steuerung ein Verfahren für eine einfache Kopie durchführt. Das Verfahren schließt ein, einen einfachen Kopierbefehl von einem Host zu empfangen, der das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, zu bestimmen, ob ein einfacher Kopierbefehlsschlitz verfügbar ist, und die Daten, die erste LBA und die zweite LBA in den einfachen Kopierbefehlsschlitz zu kopieren.
  • Die Steuerung schließt ferner ein Überlappungstabelle ein. Die computerlesbaren Anweisungen bewirken ferner, dass der Prozessor die Überlappungstabelle aktualisiert und den Abschluss des einfachen Kopierbefehls an den Host übermittelt, bevor der einfache Kopierbefehl abgeschlossen ist. Die computerlesbaren Anweisungen bewirken ferner, dass der Prozessor einen Schreibbefehl vom Host empfängt, der das Schreiben einer dritten LBA in die erste LBA und das Unterbrechen des Schreibbefehls umfasst. Die computerlesbaren Anweisungen bewirken ferner, dass der Prozessor einen Schreibbefehl vom Host empfängt, der das Schreiben einer dritten LBA in die zweite LBA und das Abbrechen des einfachen Kopierbefehls umfasst. Die computerlesbaren Anweisungen bewirken ferner, dass der Prozessor einen zweiten einfachen Kopierbefehl vom Host empfängt, der das Kopieren zweiter Daten von der zweiten LBA in eine dritte LBA umfasst, bestimmt, ob ein zweiter einfacher Kopierbefehlsschlitz verfügbar ist, und die ersten Daten, die erste LBA und dritte LBA in den zweiten einfachen Kopierbefehlsschlitz kopiert. Die computerlesbaren Anweisungen bewirken ferner, dass der Prozessor einen Lesebefehl vom Host empfängt, der das Lesen der zweiten LBA und das Lesen aus der ersten LBA einschließt. Die computerlesbaren Anweisungen, zu bestimmen, ob ein einfacher Kopierbefehlsschlitz verfügbar ist, schließen ferner ein, zu bestimmen, ob der Kopierbefehlsschlitz verfügbar ist, und bei Nichtverfügbarkeit eines Befehlsschlitzes den einfachen Kopierbefehl in der Kopierbefehlswarteschlange zu speichern.
  • In einer anderen Ausführungsform ein System zum Speichern von Daten, das ein oder mehrere Speichermittel und ein Steuermittel einschließt, das dafür eingerichtet ist, ein Verfahren für eine einfache Kopie durchzuführen. Das Verfahren schließt das Empfangen eines einfachen Kopierbefehls von einem Host, das Empfangen von Kopierdaten von einem NAND und das Zuweisen, von einem einfachen Kopierbefehlsmanager mit einem einfachen Kopierbefehlsschlitz, des einfachen Kopierbefehlsschlitzes zu dem einfachen Kopierbefehl ein. Das Verfahren schließt ferner das Aktualisieren einer Überlappungstabelle der Steuerung und das Übermitteln eines Abschlusses des einfachen Kopierbefehls an den Host ein.
  • Der einfache Kopierbefehl schließt das Kopieren von Daten von einer ersten LBA in eine zweite LBA ein. Das Verfahren schließt ferner das Kopieren der ersten LBA und zweiten LBA in den einfachen Kopierbefehlsschlitz, das Empfangen eines Schreibbefehls vom Host zum Schreiben in die erste LBA und das Unterbrechen des Schreibbefehls ein. Der einfache Kopierbefehlsmanager schließt ferner eine einfache Kopierbefehlswarteschlange ein, und wobei das Zuordnen des einfachen Kopierbefehlsschlitzes zu dem einfachen Kopierbefehl ferner einschließt, zu bestimmen, ob der einfache Kopierbefehlsschlitz verfügbar ist, und bei Nichtverfügbarkeit eines einfachen Kopierbefehlsschlitzes den einfachen Kopierbefehl in der einfachen Kopierbefehlswarteschlange zu speichern. Der einfache Kopierbefehl schließt das Kopieren von Daten von einer ersten LBA in eine zweite LBA ein. Das Verfahren schließt ferner das Kopieren der ersten LBA und zweiten LBA in den einfachen Kopierbefehlsschlitz, das Empfangen eines Befehls vom Host, Daten von der zweiten LBA in eine dritte LBA zu kopieren, und das Kopieren der ersten LBA und der dritten LBA in einen zweiten einfachen Kopierbefehlsschlitz ein. Der einfache Kopierbefehl schließt das Kopieren von Daten von einer ersten LBA in eine zweite LBA ein. Das Verfahren schließt ferner das Kopieren der ersten LBA und zweiten LBA in den einfachen Kopierbefehlsschlitz, das Empfangen eines Lesebefehls vom Host, aus der zweiten LBA zu lesen, und das Modifizieren des Lesebefehls, aus der ersten LBA zu lesen, ein.
  • Während sich das Vorstehende auf Ausführungsformen der vorliegenden Offenbarung bezieht, können andere und weitere Ausführungsformen der Offenbarung ausgearbeitet werden, ohne vom grundlegenden Schutzumfang davon abzuweichen, und der Schutzumfang wird durch die nachstehenden Ansprüche bestimmt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17237949 [0001]

Claims (20)

  1. Datenspeicherungsvorrichtung, umfassend: eine Steuerung, umfassend eine Überlappungstabelle und einen Kopierbefehlsmanager, umfassend einen Kopierbefehlsschlitz, wobei die Steuerung dafür eingerichtet ist, ein Verfahren für eine einfache Kopie auszuführen, wobei das Verfahren umfasst: Empfangen eines Kopierbefehls von einem Host; Empfangen von Kopierdaten von einem NAND; Zuweisen des Kopierbefehlsschlitzes zu dem Kopierbefehl; Aktualisieren der Überlappungstabelle; und Übermitteln eines Abschlusses des Kopierbefehls an den Host.
  2. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei der Abschluss des Kopierbefehls übermittelt wird, bevor die Ausführung des Kopierbefehls abgeschlossen ist.
  3. Datenspeicherungsvorrichtung gemäß Anspruch 2, wobei der Kopierbefehl das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, wobei das Verfahren ferner umfasst: Kopieren der ersten LBA und zweiten LBA in den Kopierbefehlsschlitz; Empfangen eines Lesebefehls vom Host, aus der zweiten LBA zu lesen; und Modifizieren des Lesebefehls, aus der ersten LBA zu lesen.
  4. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei der Kopierbefehlsmanager ferner eine Befehlswarteschlange umfasst und wobei das Zuweisen des Kopierbefehlsschlitzes zu dem Kopierbefehl ferner umfasst: Bestimmen, ob der Kopierbefehlsschlitz verfügbar ist; und bei Nichtverfügbarkeit des Kopierbefehlsschlitzes Speichern des Kopierbefehls in der Kopierbefehlswarteschlange.
  5. Datenspeicherungsvorrichtung gemäß Anspruch 2, wobei der Kopierbefehl das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, wobei das Verfahren ferner umfasst: Kopieren der ersten LBA und zweiten LBA in den Kopierbefehlsschlitz; Empfangen eines Befehls vom Host, Daten von der zweiten LBA in eine dritte LBA zu kopieren; Leeren des Kopierbefehlsschlitzes; und Unterbrechen des Lesebefehls, bis die erste LBA in die zweite LBA kopiert ist.
  6. Datenspeicherungsvorrichtung gemäß Anspruch 2, wobei der Kopierbefehl das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, wobei das Verfahren ferner umfasst: Kopieren der ersten LBA und zweiten LBA in den Kopierbefehlsschlitz; Empfangen eines Schreibbefehls vom Host, in die erste LBA zu schreiben; und Unterbrechen des Schreibbefehls.
  7. Datenspeicherungsvorrichtung gemäß Anspruch 2, wobei der Kopierbefehl das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, wobei das Verfahren ferner umfasst: Kopieren der ersten LBA und zweiten LBA in den Kopierbefehlsschlitz; Empfangen eines Befehls vom Host, Daten von der zweiten LBA in eine dritte LBA zu kopieren; und Kopieren der ersten LBA und der dritten LBA in einen zweiten Kopierbefehlsschlitz.
  8. Steuerung für eine Datenspeicherungsvorrichtung, umfassend: einen einfachen Kopierbefehlsmanager, der eine Vielzahl einfacher Kopierbefehlsschlitze umfasst; eine oder mehrere Speichervorrichtungen, die computerlesbare Anweisungen umfassen; und einen Prozessor, der mit der einen oder den mehreren Speichervorrichtungen gekoppelt und dafür eingerichtet ist, die computerlesbaren Anweisungen auszuführen und zu bewirken, dass die Steuerung ein Verfahren für eine einfache Kopie durchführt, wobei das Verfahren umfasst: Empfangen eines einfachen Kopierbefehls von einem Host, umfassend das Kopieren von Daten von einer ersten LBA in eine zweite LBA; Bestimmen, ob ein einfacher Kopierbefehlsschlitz verfügbar ist; und Kopieren der Daten, der ersten LBA und zweiten LBA in den einfachen Kopierbefehlsschlitz.
  9. Steuerung gemäß Anspruch 8, ferner umfassend eine Überlappungstabelle, wobei die computerlesbaren Anweisungen ferner den Prozessor veranlassen zum: Aktualisieren der Überlappungstabelle; und Übermitteln eines Abschlusses des einfachen Kopierbefehls an den Host, bevor die Ausführung des einfachen Kopierbefehls abgeschlossen ist.
  10. Steuerung gemäß Anspruch 9, wobei die computerlesbaren Anweisungen den Prozessor ferner veranlassen zum: Empfangen eines Schreibbefehls vom Host, der das Schreiben einer dritten LBA in die erste LBA umfasst; und Unterbrechen des Schreibbefehls.
  11. Steuerung gemäß Anspruch 9, wobei die computerlesbaren Anweisungen den Prozessor ferner veranlassen zum: Empfangen eines Schreibbefehls vom Host, der das Schreiben einer dritten LBA in die zweite LBA umfasst; und Abbrechen des einfachen Kopierbefehls.
  12. Steuerung gemäß Anspruch 9, wobei die computerlesbaren Anweisungen den Prozessor ferner veranlassen zum: Empfangen eines zweiten einfachen Kopierbefehls vom Host, der das Kopieren von zweiten Daten von der zweiten LBA in eine dritte LBA umfasst; Bestimmen, ob ein zweiter einfacher Kopierbefehlsschlitz verfügbar ist; und Kopieren der ersten Daten, der ersten LBA und dritten LBA in den zweiten einfachen Kopierbefehlsschlitz.
  13. Steuerung gemäß Anspruch 9, wobei die computerlesbaren Anweisungen den Prozessor ferner veranlassen zum: Empfangen eines Lesebefehls vom Host, der das Lesen der zweiten LBA umfasst; und Lesen aus der ersten LBA.
  14. Steuerung gemäß Anspruch 8, wobei die computerlesbaren Anweisungen, zu bestimmen, ob ein einfacher Kopierbefehlsschlitz verfügbar ist, ferner umfassen: Bestimmen, ob der Kopierbefehlsschlitz verfügbar ist; und bei Nichtverfügbarkeit eines Befehlsschlitzes, Speichern des einfachen Kopierbefehls in der Kopierbefehlswarteschlange.
  15. System zum Speichern von Daten, umfassend: ein oder mehrere Speichermittel; und ein Steuermittel, das dafür eingerichtet ist, ein Verfahren für eine einfache Kopie durchzuführen, wobei das Verfahren umfasst: Empfangen eines einfachen Kopierbefehls von einem Host; Empfangen von Kopierdaten von einem NAND; Zuweisen, von einem einfachen Kopierbefehlsmanager, der einen einfachen Kopierbefehlsschlitz umfasst, des einfachen Kopierbefehlsschlitzes zu dem einfachen Kopierbefehl; Aktualisieren einer Überlappungstabelle der Steuerung; und Übermitteln eines Abschlusses des einfachen Kopierbefehls an den Host.
  16. System gemäß Anspruch 15, wobei das Übermitteln des Abschlusses des einfachen Kopierbefehls an den Host das Übermitteln des Abschlusses umfasst, bevor die Ausführung des einfachen Kopierbefehls abgeschlossen ist.
  17. System gemäß Anspruch 16, wobei der einfache Kopierbefehl das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, wobei das Verfahren ferner umfasst: Kopieren der ersten LBA und zweiten LBA in den einfachen Kopierbefehlsschlitz; Empfangen eines Schreibbefehls vom Host, in die erste LBA zu schreiben; und Unterbrechen des Schreibbefehls.
  18. System gemäß Anspruch 15, wobei der einfache Kopierbefehlsmanager ferner eine einfache Kopierbefehlswarteschlange umfasst und wobei das Zuweisen des einfachen Kopierbefehlsschlitzes zu dem einfachen Kopierbefehl ferner umfasst: Bestimmen, ob der einfache Kopierbefehlsschlitz verfügbar ist; und bei Nichtverfügbarkeit eines einfachen Kopierbefehlsschlitzes, Speichern des einfachen Kopierbefehls in der einfachen Kopierbefehlswarteschlange.
  19. System gemäß Anspruch 16, wobei der einfache Kopierbefehl das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, wobei das Verfahren ferner umfasst: Kopieren der ersten LBA und zweiten LBA in den einfachen Kopierbefehlsschlitz; Empfangen eines Befehls vom Host, Daten von der zweiten LBA in eine dritte LBA zu kopieren; und Kopieren der ersten LBA und der dritten LBA in einen zweiten einfachen Kopierbefehlsschlitz.
  20. System gemäß Anspruch 16, wobei der einfache Kopierbefehl das Kopieren von Daten von einer ersten LBA in eine zweite LBA umfasst, wobei das Verfahren ferner umfasst: Kopieren der ersten LBA und zweiten LBA in den einfachen Kopierbefehlsschlitz; Empfangen eines Lesebefehls vom Host, aus der zweiten LBA zu lesen; und Modifizieren des Lesebefehls, aus der ersten LBA zu lesen.
DE112022000470.3T 2021-04-22 2022-01-26 Cache-basierter fluss für einen einfachen kopierbefehl Pending DE112022000470T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/237,949 2021-04-22
US17/237,949 US11556268B2 (en) 2021-04-22 2021-04-22 Cache based flow for a simple copy command
PCT/US2022/013917 WO2022225590A1 (en) 2021-04-22 2022-01-26 Cache based flow for a simple copy command

Publications (1)

Publication Number Publication Date
DE112022000470T5 true DE112022000470T5 (de) 2023-11-23

Family

ID=83694122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022000470.3T Pending DE112022000470T5 (de) 2021-04-22 2022-01-26 Cache-basierter fluss für einen einfachen kopierbefehl

Country Status (4)

Country Link
US (1) US11556268B2 (de)
CN (1) CN116888585A (de)
DE (1) DE112022000470T5 (de)
WO (1) WO2022225590A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977783B2 (en) * 2021-10-28 2024-05-07 Silicon Motion, Inc. Method and apparatus for performing data access control of memory device with aid of predetermined command

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4278445B2 (ja) 2003-06-18 2009-06-17 株式会社日立製作所 ネットワークシステム及びスイッチ
US7958430B1 (en) 2005-06-20 2011-06-07 Cypress Semiconductor Corporation Flash memory device and method
US8880775B2 (en) 2008-06-20 2014-11-04 Seagate Technology Llc System and method of garbage collection in a memory device
WO2011007459A1 (ja) * 2009-07-17 2011-01-20 株式会社日立製作所 ストレージ装置及びその制御方法
JP5853649B2 (ja) 2011-11-30 2016-02-09 富士通株式会社 ストレージ装置,制御装置及びプログラム
KR101699377B1 (ko) 2014-07-02 2017-01-26 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
KR102336443B1 (ko) 2015-02-04 2021-12-08 삼성전자주식회사 가상화 기능을 지원하는 스토리지 장치 및 사용자 장치
CN106302559B (zh) 2015-05-11 2019-07-05 阿里巴巴集团控股有限公司 一种数据复制方法和设备
KR101750744B1 (ko) 2015-10-26 2017-06-23 충북대학교 산학협력단 쓰기 전 로깅 연산 장치 및 방법
US10235079B2 (en) 2016-02-03 2019-03-19 Toshiba Memory Corporation Cooperative physical defragmentation by a file system and a storage device
US10185658B2 (en) 2016-02-23 2019-01-22 Sandisk Technologies Llc Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes
US10007443B1 (en) 2016-03-31 2018-06-26 EMC IP Holding Company LLC Host to device I/O flow
US10353601B2 (en) 2016-11-28 2019-07-16 Arm Limited Data movement engine
US20180157697A1 (en) 2016-12-07 2018-06-07 International Business Machines Corporation Updating change information for current copy relationships when establishing a new copy relationship having overlapping data with the current copy relationships
US10452278B2 (en) 2017-03-24 2019-10-22 Western Digital Technologies, Inc. System and method for adaptive early completion posting using controller memory buffer
US10725835B2 (en) 2017-05-03 2020-07-28 Western Digital Technologies, Inc. System and method for speculative execution of commands using a controller memory buffer
KR20190023433A (ko) 2017-08-29 2019-03-08 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102293069B1 (ko) 2017-09-08 2021-08-27 삼성전자주식회사 불휘발성 메모리 장치 및 제어기를 포함하는 스토리지 장치, 제어기, 그리고 스토리지 장치의 동작 방법
US10564857B2 (en) 2017-11-13 2020-02-18 Western Digital Technologies, Inc. System and method for QoS over NVMe virtualization platform using adaptive command fetching
KR102407128B1 (ko) 2018-01-29 2022-06-10 마이크론 테크놀로지, 인크. 메모리 컨트롤러
US10990294B2 (en) 2018-03-26 2021-04-27 Western Digital Technologies, Inc. Non-volatile storage system with multi-read mode
US10564872B2 (en) 2018-06-29 2020-02-18 Western Digital Technologies, Inc. System and method for dynamic allocation to a host of memory device controller memory resources
JP7159069B2 (ja) 2019-01-29 2022-10-24 キオクシア株式会社 メモリシステムおよび制御方法
US11157212B2 (en) 2019-12-19 2021-10-26 Seagate Technology, Llc Virtual controller memory buffer
US11507298B2 (en) 2020-08-18 2022-11-22 PetaIO Inc. Computational storage systems and methods

Also Published As

Publication number Publication date
CN116888585A (zh) 2023-10-13
US11556268B2 (en) 2023-01-17
US20220342550A1 (en) 2022-10-27
WO2022225590A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
DE102017113439B4 (de) Abbildungstabellen für Speichervorrichtungen
DE112020005060T5 (de) Ratengrenze für den übergang von zonen zum öffnen
DE112020000184T5 (de) In zonen unterteilte namensräume in festkörperlaufwerken
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
DE112019005511T5 (de) Halten von schreibbefehlen in gezonten namensräumen
DE112020005180T5 (de) Kondensieren von logischen zu physischen tabellenzeigern in ssds unter verwendung von gezonten namensräumen
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
DE102021115858A1 (de) Tlc-datenprogrammierung mit hybrid-parität
DE112020004958T5 (de) Dynamische zonenaktivgrenze für offenen zns
KR102645982B1 (ko) 호스트 메모리 버퍼를 사용하는 커맨드 배출
DE112020004966T5 (de) Zns-parität-verschiebung nach dram
DE102021115626A1 (de) Datenaggregation in zns-laufwerk
DE112020005044T5 (de) Zonenanhang-befehlsplanung basierend auf zonenzustand
DE112020004963T5 (de) Datenintegritätsschutz für zns-anforderungen
DE112016002305B4 (de) Reduktion der Schreibverstärkung in einem Objektspeicher
DE102019104871A1 (de) Nichtflüchtige dateiaktualisierungsmedien
DE102021115893A1 (de) EFFIZIENTE DATENSPEICHERUNGSNUTZUNG IM ZUSAMMENHANG MIT EINEM NICHT ORDNUNGSGEMÄßEN HERUNTERFAHREN
DE112020005078T5 (de) Verschieben von änderungsprotokolltabellen zum abstimmen mit zonen
DE112022000468T5 (de) Unterschiedliche schreibpriorisierung in zns-vorrichtungen
DE112022000450T5 (de) Verbesserte d3-cold und schnellere wiederherstellung
DE102021115235A1 (de) Verschiebungsablauf unter verwendung der cba-technologie
DE112022000470T5 (de) Cache-basierter fluss für einen einfachen kopierbefehl
DE102021106721A1 (de) Schnelles durch-steuerung-kopieren
DE102021115500A1 (de) Hostverwaltete hardwarekomprimierung mit gezonten namensräumen
DE112020005096T5 (de) Gewichtung von lesebefehlen an zonen in speicherungsvorrichtungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE