DE112020005001T5 - Qlc-programmierverfahren mit zurückspeichern von feindaten - Google Patents

Qlc-programmierverfahren mit zurückspeichern von feindaten Download PDF

Info

Publication number
DE112020005001T5
DE112020005001T5 DE112020005001.7T DE112020005001T DE112020005001T5 DE 112020005001 T5 DE112020005001 T5 DE 112020005001T5 DE 112020005001 T DE112020005001 T DE 112020005001T DE 112020005001 T5 DE112020005001 T5 DE 112020005001T5
Authority
DE
Germany
Prior art keywords
data
storage device
memory
writing
foggy
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
DE112020005001.7T
Other languages
English (en)
Inventor
Sergey Anatolievich Gorobets
Alan D. Bennett
Thomas Hugh Shippey
Ryan R. Jones
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.)
SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATE, US
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 DE112020005001T5 publication Critical patent/DE112020005001T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input 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/10Programming or data input 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die vorliegende Offenbarung bezieht sich allgemein auf eine verbesserte Foggy-Feinprogrammierung. Die Daten können in den SLC-Speicher geschrieben werden. Dann können die Daten decodiert und dann sowohl foggy als auch fein in MLC geschrieben werden. Nach dem Decodieren können die Daten im DRAM gespeichert werden, der sich in einem Frontend oder in einem SRAM befindet, der sich vor dem Schreiben in MLC in einem Flash-Manager befindet. Nach dem Speichern in entweder dem DRAM oder dem SRAM werden die Daten dann decodiert und in MLC geschrieben.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität gegenüber der US-Anmeldung Nr. 16/899.374 , eingereicht am 11. Juni 2020, die durch Verweis in ihrer Gesamtheit hierin aufgenommen ist.
  • HINTERGRUND DER OFFENBARUNG
  • Gebiet der Offenbarung
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich im Allgemeinen auf das Verbessern des Foggy-Feinschreibens auf QLC.
  • Beschreibung des Stands der Technik
  • Programmieren oder Schreiben von Daten kann zwei Schreibphasen erfordern: Foggy und Fein. Bei Foggy-Feinprogrammierung können die zu schreibenden Bits nicht einfach einmal geschrieben werden. Entsprechend müssen die Daten zuerst durch Foggy-Programmierung geschrieben werden, wobei Spannungsimpulse bereitgestellt werden, um den aktuellen Zustand in einen aufgelösten Zustand, aber nicht vollständig aufgelösten Zustand zu pushen. Die Feinprogrammierung wird zu einem Zeitpunkt nach der Foggy-Programmierung durchgeführt, um die Daten wieder in den vollständig aufgelösten Zustand zu schreiben.
  • Bei der Foggy-Feinprogrammierung gibt es einen Vier-Seiten-Transfer für eine Foggy-Programmierung und einen Vier-Seiten-Transfer für eine Feinprogrammierung für eine 128 KB-Übertragung insgesamt für eine Zwei-Ebenen-Vorrichtung. Der Foggy-Zustand ist nicht lesbar, und die Daten müssen geschützt werden für den Fall eines möglichen Stromverlustereignisses (PLI). Zusätzlich tritt eine Foggy-Feinprogrammierung in einer gestaffelten Wortleitungssequenz auf, was bedeutet, dass Daten im Durchlauf fünfmal oder achtmal so viel wie die programmierbare Einheit von 128 KB betragen. Um eine Foggy-Feinprogrammierung durchzuführen, können mehrere Megabyte mehrere Male programmiert werden. Um die mehrfache Programmierung durchzuführen, muss eine große Menge von Daten zur Durchführung einer Wiederholprogrammierung mit exakt den gleichen Daten abgesondert werden.
  • Daher besteht in der Technik ein Bedarf für eine verbesserte Foggy-Feinprogrammierung.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • Die vorliegende Offenbarung bezieht sich allgemein auf eine verbesserte Foggy-Feinprogrammierung. Die Daten können in den SLC-Speicher geschrieben werden. Dann können die Daten decodiert und dann sowohl foggy als auch fein in MLC geschrieben werden. Nach dem Decodieren können die Daten im DRAM gespeichert werden, der sich in einem Frontend oder in einem SRAM befindet, der sich vor dem Schreiben in MLC in einem Flash-Manager befindet. Nach dem Speichern in entweder dem DRAM oder dem SRAM werden die Daten dann decodiert und in MLC geschrieben.
  • In einer Ausführungsform weist eine Datenspeicherungsvorrichtung auf: eine oder mehrere Speichervorrichtungen, wobei die eine oder die mehreren Speichervorrichtungen den SLC-Speicher und den MLC-Speicher einschließen; und eine Steuerung, die mit der einen oder den mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung eingerichtet ist zum: Schreiben der Daten in den SLC-Speicher; Foggy-Schreibvorgang der Daten in den MLC-Speicher, wobei das Foggy-Schreiben der Daten in den MLC-Speicher einschließt: das Abrufen der Daten aus Auffangregistern in dem einen oder mehreren Speichervorrichtungen; Decodieren der aus den Auffangregistern abgerufenen Daten; Codieren der decodierten Daten, die aus den Auffangregistern abgerufen wurden; und Schreiben der codierten Daten in den MLC-Speicher; und Feinschreiben der Daten in den MLC-Speicher.
  • In einer anderen Ausführungsform weist eine Datenspeicherungsvorrichtung auf: eine oder mehrere Speichervorrichtungen, wobei die eine oder mehreren Speichervorrichtungen jeweils eine Vielzahl von Chips einschließen, wobei jeder Chip einen SLC-Speicher und einen MLC-Speicher einschließt; und eine Steuerung, die mit der einen oder den mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung eingerichtet ist zum: Schreiben von Daten in den SLC-Speicher; Lesen von Daten aus SLC-Speicher; Decodieren der Lesedaten; Übertragen der decodierten Daten auf DRAM; Codieren der Übertragungsdaten ein erstes Mal; und Schreiben der zum ersten Mal codierten Daten in den MLC-Speicher ein erstes Mal.
  • In einer anderen Ausführungsform weist eine Datenspeicherungsvorrichtung auf: eine oder mehrere Speichervorrichtungen, wobei jede Speichervorrichtung eine Vielzahl von Dies hat, wobei die eine oder die mehreren Speichervorrichtungen jeweils SLC-Speicher und MLC-Speicher einschließen; eine Steuerung, die mit der einen oder den mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung eingerichtet ist zum: Schreiben der Daten in den SLC-Speicher; Lesen der Daten aus dem SLC-Speicher; Decodieren der Lesedaten; Zustellen der decodierten Daten an einen ersten SRAM, der sich in einem Frontend-Modul befindet; Zustellen der decodierten Daten an einen zweiten SRAM, der sich in einem Flash-Manager befindet; Schreiben von Daten, die in den ersten SRAM in dem MLC-Speicher zugestellt wurden; und Schreiben von Daten, die in den zweiten SRAM in dem MLC-Speicher zugestellt wurden.
  • Figurenliste
  • 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 ist eine schematische Veranschaulichung eines Systems zur Datenspeicherung gemäß einer Ausführungsform.
    • 2A und 2B sind schematische Veranschaulichungen der Planung einer Foggy-Feinprogrammierung gemäß verschiedenen Ausführungsformen.
    • 3 ist ein Diagramm, das eine gestaffelte Foggy-Feinprogrammierung veranschaulicht.
    • 4A und 4B sind schematische Veranschaulichungen der Planung einer Foggy-Feinprogrammierung und Speicherbereinigung gemäß offenbarten Ausführungsformen.
    • 5 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform.
    • 6 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform.
    • 7 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform.
    • 8 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform.
  • 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 bestimmte 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 beiliegenden Ansprüche, es sei denn, sie werden 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 allgemein auf eine verbesserte Foggy-Feinprogrammierung. Die Daten können in den SLC-Speicher geschrieben werden. Dann können die Daten decodiert und dann sowohl foggy als auch fein in MLC geschrieben werden. Nach dem Decodieren können die Daten im DRAM gespeichert werden, der sich in einem Frontend oder in einem SRAM befindet, der sich vor dem Schreiben in MLC in einem Flash-Manager befindet. Nach dem Speichern in entweder dem DRAM oder dem SRAM werden die Daten dann decodiert und in MLC geschrieben.
  • 1 ist eine schematische Veranschaulichung eines Systems 100 zur Datenspeicherung gemäß einer Ausführungsform. Das System 100 zur Speicherung von Daten gemäß einer Ausführungsform schließt eine Host-Vorrichtung 102 und eine Datenspeicherungsvorrichtung 104 ein. Die Host-Vorrichtung 102 schließt einen dynamischen Direktzugriffsspeicher (DRAM) 112 ein. Die Host-Vorrichtung 102 kann eine breite Palette an Vorrichtungen einschließen, wie etwa Computerserver, Netzwerkspeichereinheiten (NAS-Einheiten), Desktopcomputer, Notebookcomputer (d. h. einen Laptop), Tabletcomputer (d. h. ein „Smartpad“), Set-Top-Boxen, Telefongeräte (d. h. „Smartphones“), Fernseher, Kameras, Anzeigevorrichtungen, digitale Medienplayer, Videospielkonsolen, Video-Streaming-Vorrichtungen und Automobilanwendungen (z. B. zum Abbilden [Mapping], autonomen Fahren). In bestimmten Ausführungsformen schließt die Hostvorrichtung 102 jede Vorrichtung mit einer Verarbeitungseinheit oder einer beliebigen Form von Hardware ein, die in der Lage ist, Daten zu verarbeiten, einschließlich einer Universalverarbeitungseinheit, spezieller Hardware (wie einer anwendungsspezifischen integrierten Schaltung (ASIC)), konfigurierbarer Hardware wie einem Field Programmable Gate Array (FPGA) oder einer anderen Form von Verarbeitungseinheit, die mittels Softwareanweisungen, Mikrocode oder Firmware eingerichtet ist.
  • Die Datenspeicherungsvorrichtung 104 kommuniziert mit der Host-Vorrichtung 102 über eine Schnittstelle 106, die in der Datenspeicherungsvorrichtung 104 eingeschlossen ist. Die Datenspeicherungsvorrichtung 104 schließt eine Steuerung 108, einen Puffer 114 und eine oder mehrere Speichervorrichtungen 110 ein. Die Datenspeicherungsvorrichtung 104 kann ein internes Speicherlaufwerk, wie eine Notebook-Festplatte oder eine Desktop-Festplatte, sein. Die Datenspeicherungsvorrichtung 104 kann eine entnehmbare Massenspeichervorrichtung sein, wie etwa unter anderem eine tragbare, entnehmbare Speichervorrichtung, wie etwa eine Speicherkarte (z. B. eine sichere digitale (SD-)Karte, eine mikrosichere digitale (micro-SD-)Karte oder eine Multimediakarte (MMC)) oder eine universelle serielle Bus-Vorrichtung (USB-Vorrichtung). Die Datenspeicherungsvorrichtung 104 kann die Form einer eingebetteten Massenspeichervorrichtung annehmen, wie etwa eines eingebetteten eSD/eMMC-Flash-Speichers, der in der Host-Vorrichtung 102 eingebettet ist. Die Datenspeicherungsvorrichtung 104 kann auch eine beliebige andere Art von interner Speichervorrichtung, entnehmbarer Speichervorrichtung, eingebetteter Speichervorrichtung, externer Speichervorrichtung oder Netzwerkspeichervorrichtung sein.
  • Die Speichervorrichtung 110 kann unter anderem eine interne oder externe Speichereinheit sein. Die Speichervorrichtung 110 beruht auf einem Halbleiterspeicherchip, in dem Daten als Direktzugriffspeicher (RAM), Nurlesespeicher (ROM) oder andere Arten von RAM und ROM gespeichert werden können. Ein RAM wird zur vorübergehenden Speicherung von Daten eingesetzt, wohingegen ein ROM zum dauerhaften Speichern von Daten eingesetzt wird.
  • Die Datenspeicherungsvorrichtung 104 schließt eine Steuerung 108 ein, welche die Vorgänge der Datenspeicherungsvorrichtung 104 verwaltet, wie etwa Schreibabläufe oder Leseabläufe von der Speichervorrichtung 110. Die Steuerung 108 führt mit computerlesbaren Programmcodes (z. B. Software oder Firmware) ausführbare Anweisungen (hierin als „Anweisungen“ bezeichnet) für die Übertragung von Daten aus. Die Anweisungen können durch verschiedene Komponenten der Steuerung 108 ausgeführt werden, wie etwa durch einen Prozessor, Logik-Gates, Schalter, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logiksteuerungen, eingebettete Mikrosteuerungen und andere Komponenten der Steuerung 108.
  • Die Datenspeicherungsvorrichtung 104 schließt einen Puffer 114 ein, der ein Bereich einer Speicherung eines physischen Speichers ist, der dazu verwendet wird, Daten vorübergehend zu speichern, während die Daten von einem Ort zu einem anderen bewegt werden (d. h. von der Host-Vorrichtung 102 zu der Speichervorrichtung 110).
  • Daten können an den oder aus dem DRAM 112 der Host-Vorrichtung 102 an die Datenspeicherungsvorrichtung 104 übertragen werden. Ein Datenübertragungsweg kann von dem DRAM 112 der Host-Vorrichtung 102 ausgehen und über die Schnittstelle 106 der Datenspeicherungsvorrichtung 104 an die Steuerung 108 kommunizieren. Die Daten laufen dann durch den Puffer 114 der Datenspeicherungsvorrichtung 104 und werden in der Speichervorrichtung 110 gespeichert. Wenn die Daten in einen SLC-Speicher geschrieben werden, dann werden die Daten einfach geschrieben. Wenn die Daten jedoch in einen MLC, wie einen QLC-Speicher, geschrieben werden, dann tritt ein Foggy-Feinschreibprozess auf. Es ist zu beachten, dass Schreiben und Programmieren in der gesamten Offenbarung austauschbar verwendet werden können. In einer Ausführungsform werden die Daten zuerst in den SLC-Speicher geschrieben und dann in den MLC-Speicher verschoben. In einer anderen Ausführungsform werden alle Daten zuerst in den SLC-Cachespeicher geschrieben und dann in den QLC für sequentielle oder nicht wiederholte Schreibvorgänge verschoben. In einem solchen Szenario wird das Verschieben der Daten in den QLC durch die Datenspeicherungsvorrichtung 204 geplant, um Platz im SLC für die folgenden Schreibvorgänge von der Hostvorrichtung 102 zu erzeugen. In einer anderen Ausführungsform weist der wiederholte Schreibvorgang das Umschreiben der zuletzt geschriebenen LBA durch den Host auf, wobei mit zuletzt die Daten gemeint sind, die sich noch im SLC-Cachespeicher befinden. In einem solchen Szenario gibt es drei Möglichkeiten: Verschieben aller Daten, einschließlich der alten veralteten LBAs in den QLC und Erzeugen veralteter „Löcher“; nur gültige Daten zu verschieben und veraltete Daten im SLC zu überspringen; und wenn die Menge der veralteten Daten hoch ist, Kompaktieren des SLC-Cache, Vornehmen einer Speicherbereinigung, ohne irgendwelche Daten in den QLC zu verschieben.
  • 2A und 2B sind schematische Veranschaulichungen der Planung einer Foggy-Feinprogrammierung gemäß verschiedenen Ausführungsformen. Das Front End-Modul (FE-Modul) 202 weist eine XOR-Engine 204 und einen statischen Direktzugriffsspeicher (SRAM) 206 auf. Hostdaten können anfänglich an das FE-Modul 202 geliefert werden. Die Daten durchlaufen die XOR-Engine 204 und werden in den SRAM 206 geschrieben. Die XOR-Engine 204 erzeugt XOR-Paritätsinformationen vor dem Schreiben in den SRAM 206. Exklusiv-ODER-Paritätsinformationen (XOR-Paritätsinformationen) werden verwendet zur Verbesserung der Zuverlässigkeit der Speichervorrichtung zum Speichern von Daten, wie Ermöglichen der Datenrückgewinnung fehlgeschlagener Schreibvorgänge oder fehlgeschlagener Datenlesevorgänge in und aus dem NVM oder Ermöglichen der Datenrückgewinnung im Falle eines Stromausfalls. Die Speichervorrichtung kann die Datenspeicherungsvorrichtung 104 aus 1 sein. Die Zuverlässigkeit kann bereitgestellt werden, indem XOR-Paritätsinformationen verwendet werden, die auf der Grundlage von Daten erzeugt oder berechnet werden, die in der Speichervorrichtung gespeichert werden. Die XOR-Engine 204 kann einen Paritätsstrom erzeugen, der in den SRAM 206 geschrieben werden soll. SRAM 206 kann eine Vielzahl von Chips enthalten, in die Daten geschrieben werden können.
  • Das zweite Flash-Manager-Modul (FM2-Modul) 210 besteht aus einem Codierer 212, einem SRAM 216 und einem Decodierer 214. Der Decodierer 214 kann einen Lastgang-Decodierer (LG-Decodierer) und einen Schnellgang-Decodierer (HG-Decodierer) aufweisen. Der LG-Decodierer kann Niederstrom-Bit-Flipping-Algorithmen implementieren, wie einen Paritätsprüfungs-Algorithmus mit niedriger Dichte (LDPC-Algorithmus). Der LG-Decodierer kann betreibbar sein zum Dekodieren von Daten und Korrigieren von Bit-Flips, wobei solche Daten eine niedrige Bitfehlerrate (BER) haben. Der HG-Decodierer kann Vollleistungsdecodierungs- und Fehlerkorrekturalgorithmen implementieren, die bei einem Ausfall des LG-Decodierers initiiert werden können, um Bitflips in Daten zu decodieren und zu korrigieren. Der HG-Decodierer kann betreibbar sein, um Bitflips zu korrigieren, wenn solche Daten eine hohe BER aufweisen. Alternativ kann FM2 durch einen kombinierten FE FM-Monochip ersetzt werden.
  • Der Codierer 212 und Decodierer 214 (einschließlich des LG-Decodierers und HG-Decodierers) können zum Beispiel eine Verarbeitungsschaltung oder einen Prozessor (mit einem computerlesbaren Medium, das computerlesbaren Programmcode speichert (z. B. Firmware), der durch den Prozessor ausführbar ist), eine Logikschaltung, eine anwendungsspezifische integrierte Schaltung (ASIC), eine programmierbare Logiksteuerung, eine eingebettete Mikrosteuerung, eine Kombination davon, oder dergleichen einschließen. In einigen Beispielen sind der Codierer 212 und der Decodierer 214 getrennt von der Speichersteuerung, und in anderen Beispielen sind der Codierer 212 und der Decodierer 214 in die oder in einen Teil der Speichersteuerung eingebettet. In einigen Beispielen ist der LG-Decodierer eine gehärtete Schaltung, wie eine Logikschaltung, eine ASIC oder dergleichen. In einigen Beispielen kann der HG-Decodierer ein Soft-Decodierer (z. B. durch einen Prozessor implementiert) sein. Daten können in SRAM 216 geschrieben werden, nachdem sie im Decodierer 214 decodiert wurden. Die Daten im SRAM 216 können weiterhin an den Codierer 212 geliefert werden, wie nachstehend erläutert.
  • Die Speichervorrichtung kann eine NAND-Speichervorrichtung sein. Die Speichervorrichtung 220 kann einen SLC 222 und einen MLC 224 aufweisen. Es versteht sich, dass die hierin erläuterten Ausführungsformen auf jede beliebige mehrstufige Zelle wie MLC, TLC oder QLC anwendbar sind. Der MLC ist lediglich beispielhaft. SLC 222, MLC, TLC, QLC und PLC werden gemäß der Anzahl von Bits benannt, die eine Speicherzelle aufnehmen kann. Zum Beispiel kann der SLC kann ein Bit pro Speicherzelle aufnehmen und der QLC kann vier Bits pro Speicherzelle aufnehmen. Jedes Bit wird auf der Speichervorrichtung als eine 1 oder eine 0 registriert. Zusätzlich wird, obwohl ein SLC-Speicher als eine Speichervorrichtung beispielhaft dargestellt ist, auch in Betracht gezogen, dass der SLC-Speicher durch eine 2-Bit-Zelle oder MLC-Speichervorrichtung ersetzt werden kann.
  • 2A ist eine schematische Veranschaulichung eines Foggy-Feinschreibprozesses gemäß einer Ausführungsform. Host-Daten werden in das FE-Modul 202 eingespeist. Die Host-Daten werden durch die XOR-Engine 204 gesendet, und XOR-Paritätsinformationen werden erzeugt. Die Daten werden dann in den SRAM 206 am FE-Modul 202 geschrieben. Am FM2-Modul 210 werden Daten an den Codierer 212 aus dem SRAM 206 entlang Strom 1 geliefert. Die Daten werden dann entlang des Stroms 2 in den SLC 222 der Speichervorrichtung 220 geschrieben. Um mit dem Foggy-Feinschreiben von Daten in den MLC 224 fortzufahren, werden die Daten aus dem SLC 222 gelesen und dann im Decodierer 214 des FM2-Moduls 210 entlang Strom 3 decodiert. Die decodierten Daten werden dann in den SRAM 216 des FM2-Moduls 210 in Strom 4 geschrieben. Die Daten werden dann durch das codierte 212 entlang des Stroms 5 zur Codierung gesendet. Der Foggy-Schreibvorgang erfolgt nach Codieren der Daten am Codierer 212 des FM2-Moduls 210 vom SRAM 216 des FM2-Moduls 210 entlang des Stroms 6. Der Foggy-Schreibvorgang ist das anfängliche Schreiben von dem Codierer 212 des FM2-Moduls 210 in den MLC 224 der Speichervorrichtung 220. Um mit dem Feinschreibvorgang fortzufahren, werden Daten dann aus dem SLC 222 gelesen und an den Decodierer 214 entlang Strom 7 zugestellt. Nach der Decodierung werden die Daten in einen SRAM entlang Strom 8 geschrieben und dann an den Codierer 212 entlang Strom 9 zur Codierung geliefert. Die nun codierten Daten werden dann in MLC 224 entlang Strom 10 feingeschrieben.
  • Gemäß der Ausführungsform, auf die in 2A Bezug genommen wird, kann es keinen DRAM-Bus-Traffic geben. Weiterhin können die SLC- und MLC-Programmierung entkoppelt sein. Der Foggy-Feinschreibprozess kann einen Mehrstrom mit Direktschreib-Heiß/Kalt-Sortierunterstützung beinhalten. Jedoch kann der Bus-Traffic höher sein.
  • 2B ist eine schematische Veranschaulichung eines Foggy-Feinschreibprozesses gemäß einer anderen Ausführungsform. Host-Daten werden an das FE-Modul 202 geliefert. Die Host-Daten durchlaufen die XOR-Engine 204 und XOR-Paritätsinformationen werden erzeugt. Die Daten werden dann in den SRAM 206 am FE-Modul 202 geschrieben. Aus dem SRAM 206 im FE-Modul 202 werden die Daten dann an den Codierer 212 entlang Strom 1 übertragen. Sobald die Daten codiert sind, werden die Daten entlang Strom 2 in den SLC 222 geschrieben. Simultan mit dem Übertragen der Daten an den Codierer 212 entlang Strom 1 werden die Daten in den DRAM 230 entlang Strom 3 übertragen. Der Foggy-Feinschreibprozess beinhaltet zunächst das Senden der geschriebenen Daten an den DRAM 230 und dann an den Codierer 212 entlang des Stroms 4 zur Codierung. Die codierten Daten werden dann in den MLC entlang des Stroms 5 foggy-geschrieben. Danach werden die Daten erneut aus dem DRAM 230 an den Codierer 212 entlang Strom 6 zum Codieren geschickt. Nach der Codierung werden die Daten dann entlang Stroms 7 in den MLC 224 feingeschrieben. Der Foggy-Schreibschritt überträgt die Daten von dem DRAM 230 an den Codierer 212 und schreibt die Daten in den MLC 224. Der Feinschreibschritt tritt nach dem Foggy-Schreibschritt auf. Der Feinschreibschritt überträgt die Daten von dem DRAM 230 zu dem Codierer 212 und schreibt die Daten in den MLC 224. Die SLC- und MLC-Programme können in einem sequentiellen Schreibprozess aufgrund von Pufferbeschränkungen auftreten.
  • 3 ist ein Diagramm, das eine gestaffelte Foggy-Feinprogrammierung veranschaulicht. Es versteht sich, dass die Offenbarung nicht auf die beispielhaft in 3 dargestellte gestaffelte Foggy-Feinprogrammierung beschränkt ist, sondern andere Sequenzen ebenfalls in Betracht gezogen werden. Genauer kann, um eine Foggy-Feinprogrammierung durchzuführen, eine Foggy-Programmierung entlang einer Wortleitung für eine bestimmte Reihe nicht von hinten nach hinten auftreten. Wie in 3 gezeigt, müssen zum angemessenen Foggy-Feinschreiben in Wortleitung 0 in Reihe 0 mehrere zusätzliche Schreibvorgänge zwischen dem Foggy-Schreibvorgang in die Wortleitung 0, Reihe 0 und dem Feinschreibvorgang in die Wortleitung 0, Reihe 0 stattfinden. Der Foggy-Feinschreibprozess läuft wie folgt ab.
  • Anfänglich werden Daten auf die Wortleitung 0, Reihe 0 foggy-geschrieben. Anschließend werden Daten auf die Wortleitung 0, Reihe 1 foggy-geschrieben. Danach werden Daten auf die Wortleitung 0, Reihe 2 foggy-geschrieben. Anschließend werden Daten auf die Wortleitung 0, Reihe 3 foggy-geschrieben. Danach werden Daten auf die Wortleitung 1, Reihe 0 foggy-geschrieben. Nun können schließlich Daten in die Wortleitung 0, String 0 feingeschrieben werden. Die Pfeile in 3 veranschaulichen den Pfad des Schreibens in dem Foggy-Feinschreibprozess. Grundsätzlich werden, um Schreibdaten richtig foggy-feinzuschreiben, Daten anfänglich an den spezifischen Datenspeicherort foggy-feingeschrieben. Dann treten drei zusätzliche Foggy-Datenschreibvorgänge auf der gleichen Wortleitung auf, jedoch in unterschiedlichen Reihen. Ein fünfter Foggy-Schreibvorgang tritt in einer benachbarten Wortleitung entlang derselben Reihe des spezifischen Datenspeicherorts auf. Erst nach dem fünften Foggy-Schreibvorgang in die benachbarte Wortleitung und die gleiche Reihe kann das Feinschreiben in die ursprüngliche Wortleitung und ursprüngliche Reihe (d. h. an den ursprünglichen Datenspeicherort) durchgeführt werden. Insgesamt treten vier zusätzliche Foggy-Schreibvorgänge nach dem ursprünglichen Foggy-Schreibvorgang auf der Wortleitung an der ursprünglichen Reihe vor dem Feinschrieben bei der ursprünglichen Reihe auf der Wortleitung auf.
  • 4A ist eine schematische Veranschaulichung einer Foggy-Fein-Programmierung gemäß einer Ausführungsform. Gesichtspunkte der 2A und 2B können den Ausführungsformen, die den schematischen Darstellungen der Planung einer Foggy-Feinprogrammierung von 4A entsprechen, ähnlich sein. Host-Daten werden in den ersten SRAM 406 des FE-Moduls 402 geschrieben. Erste XOR-Paritätsdaten können gleichzeitig an der ersten XOR-Engine 404 des FE-Moduls 402 erzeugt werden, wenn die Host-Daten in den ersten SRAM 406 geschrieben werden. Die Host-Daten und die erzeugten ersten XOR-Paritätsdaten gelangen vom ersten SRAM 406 zum Codierer 412, um entlang Strom 1 codiert zu werden. Die Host-Daten und die erzeugten ersten XOR-Paritätsdaten werden codiert und in den SLC 422 der Speichervorrichtung 420 entlang Strom 2 geschrieben. Der SLC 422 kann ein dedizierter Bereich der Speichervorrichtung 420 für den Schutz von Daten im Fall eines Leistungsausfallereignisses ist. Das Programmieren in den SLC 422 und das Programmieren in den MLC 424 ist entkoppelt, was eine erhöhte Planungsflexibilität und Leistung im Vergleich zu den in 2B beschriebenen Ausführungsformen ermöglicht. Die Host-Daten können weiterhin aus dem SLC 422 in mehrere Ströme oder Löschblöcke der MLC 424 sortiert werden.
  • An Strom 3 werden die Host-Daten am Decodierer 414 aus dem SLC 422 gelesen. Nachdem die Host-Daten am Decodierer 414 decodiert wurden, werden die Host-Daten entlang Strom 4 in den zweiten SRAM 416 des FM2 410 geschrieben, wobei weiterhin zweite XOR-Paritätsdaten für die Host-Daten an der zweiten XOR-Engine 432 des FM2 410 erzeugt werden. Die Host-Daten und die zweiten XOR-Paritätsdaten werden durch den Codierer 412 geleitet, um entlang Strom 5 codiert zu werden, und werden in den MLC 424 entlang Strom 6 foggy-geschrieben. Während des Foggy-Schreibens kann die Steuerung selektiv zu lesende Daten auswählen, um eine Datensortierung in den relevanten einen oder die relevanten mehreren Ströme zu ermöglichen.
  • Die Host-Daten und die erzeugten zweiten XOR-Paritätsdaten werden weiterhin entlang Strom 7 vom zweiten SRAM 416 zum DRAM 430 übertragen. In einer Ausführungsform treten Strom 5 und Strom 7 gleichzeitig auf. In einer anderen Ausführungsform erfolgt der Strom 5 vor dem Strom 7. Der DRAM 430 kann ein zusätzlicher flüchtiger Speicher der Speichervorrichtung sein, wie die Speichervorrichtung 104 von 1. Des Weiteren kann der DRAM 430 die Host-Daten und die zweiten XOR-Paritätsdaten zwischenlagern (z. B. in einem temporären Puffer), bis die relevante Wortleitung, die den Host-Daten zugeordnet ist, feingeschrieben werden kann. Die Host-Daten und die zweiten XOR-Paritätsdaten werden weiterhin vom DRAM 430 zum Codierer 412 übertragen, um entlang Strom 8 codiert zu werden. Nach dem Codieren werden die Host-Daten und die zweiten XOR-Paritätsdaten in den MLC 424 entlang Strom 9 feingeschrieben.
  • Die Gesamtzahl der TM-Busübertragungen oder der Übertragungen aus dem FM2 410 in die Speichervorrichtung 420 oder umgekehrt beträgt etwa vier. Die Gesamtzahl der DRAM-430-Busübertragungen beträgt etwa zwei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 430 oder dem FE-Modul 402 auf das FM2 410 oder umgekehrt beträgt etwa drei, wobei etwa drei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 430 oder dem FE-Modul 402 auf das FM2 410 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa drei betragen.
  • 4B ist eine schematische Veranschaulichung der Speicherbereinigung gemäß einer Ausführungsform. Gesichtspunkte der 2A und 2B können den Ausführungsformen, die den schematischen Veranschaulichungen der Speicherbereinigung von 4B entsprechen, ähnlich sein. Da die Host-Daten bereits an den NAND angelegt wurden (z. B. der MLC 424) während der in 4A beschriebenen Planung der Foggy-Feinprogrammierung müssen die Host-Daten nicht von dem SLC 422 geschrieben werden. Die Speicherbereinigung ist ein Prozess der Speicherverwaltung, wobei die Steuerung, wie die Steuerung 108 von 1, der Speichervorrichtung, wie die Speichervorrichtung 104 von 1, versucht, Speicherorte zu deaktivieren, die veraltete Daten aufweisen, um Speicherplatz wiederzugewinnen. Wenn die Speicherbereinigung auftritt, kann die Steuerung versuchen, alle relevanten Daten (z. B. nicht veraltete Daten) von einem relevanten Ort, wie einem ersten Löschblock eines ersten Stroms, an einen anderen Ort, wie einen zweiten Löschblock eines ersten Stroms, zu kopieren, um die an den ursprünglichen Ort, den ersten Löschblock, gebundenen Ressourcen zu befreien.
  • Die Host-Daten aus einem ersten MLC 424-Bereich (z. B. einem ersten Löschblock eines ersten Stroms) werden von dem MLC 424 an den Decodierer 414 des FM2 410 entlang Strom 1 kopiert. Die Host-Daten werden decodiert und an den zweiten SRAM 416 entlang Strom 2 übertragen. Gleichzeitig werden zweiten XOR-Paritätsdaten an der zweiten XOR-Engine 432 erzeugt. Die Host-Daten und die zweiten XOR-Paritätsdaten werden entlang Strom 3 an den Codierer 412 übertragen, wo die Host-Daten und die zweiten XOR-Paritätsdaten codiert werden. Nach dem Codieren der Host-Daten und der zweiten XOR-Paritätsdaten werden die Host-Daten und die zweiten XOR-Daten in den MLC 424 entlang Strom 4 foggy geschrieben.
  • Die Host-Daten und die erzeugten zweiten XOR-Paritätsdaten werden entlang Strom 5 vom zweiten SRAM 416 zum DRAM 430 übertragen. In einer Ausführungsform treten Strom 3 und Strom 5 gleichzeitig auf. In einer anderen Ausführungsform erfolgt der Strom 3 vor dem Strom 5. Nachdem die Host-Daten erfolgreich in den DRAM 430 geschrieben wurden, werden die Host-Daten und die zweiten XOR-Paritätsdaten weiterhin vom DRAM 430 an den Codierer 412 entlang des zu codierenden Stroms 6 übertragen. Die codierten Host-Daten und zweiten XOR-Paritätsdaten werden dann in den MLC 424 entlang Strom 7 feingeschrieben. Die Speicherbereinigung des ursprünglichen Standorts der Daten kann auftreten, nachdem jeder der Ströme 1-7 erfolgreich abgeschlossen wurde. Nach der Speicherbereinigung schließt der Bereich in dem MLC 424, wo die Host-Daten und die zweiten XOR-Paritätsdaten gespeichert werden, die relevanten Daten ein und kann weniger Speicherplatz im Vergleich zur Speicherplatzanforderung vor der Speicherbereinigung benötigen.
  • Die Gesamtzahl der TM-Busübertragungen oder der Übertragungen aus dem FM2 410 in die Speichervorrichtung 420 oder umgekehrt beträgt etwa drei. Die Gesamtzahl der DRAM-430-Busübertragungen beträgt etwa zwei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 430 oder dem FE-Modul 402 auf das FM2 410 oder umgekehrt beträgt etwa zwei, wobei etwa zwei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen von entweder dem DRAM 430 oder dem FE-Modul 402 auf das FM2 410 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa zwei betragen. Beim Vergleichen mit der in 2 beschriebenen Ausführungsform beträgt die Gesamtzahl der TM-Bus-Übertragungen aus dem FM2 210 in die Speichervorrichtung 220 oder umgekehrt etwa drei. Die Gesamtzahl der DRAM-230-Bus-Übertragungen beträgt etwa drei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt beträgt etwa drei, wobei etwa drei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa drei betragen.
  • 5 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform. Gesichtspunkte der 2A und 2B können den Ausführungsformen, die der schematischen Veranschaulichung der Planung einer Foggy-Feinprogrammierung von 5 entsprechen, ähnlich sein. Host-Daten werden von dem FE-Modul 502 empfangen, wobei erste XOR-Paritätsdaten durch die erste XOR-Engine 504 erzeugt werden. Die Host-Daten und die erzeugten ersten XOR-Paritätsdaten werden in den ersten SRAM 506 des FE-Moduls 502 geschrieben.
  • Die Host-Daten und die erzeugten ersten XOR-Paritätsdaten gelangen vom ersten SRAM 506 zum Codierer 512, um entlang Strom 1 codiert zu werden. Die codierten Host-Daten und die codierten ersten XOR-Paritätsdaten werden entlang Strom 2 in den SLC 522 geschrieben, wobei der SLC 522 einen Puffer einschließen kann, um die Daten, die vor der Foggy-Feinprogrammierung empfangen wurden, in eine Warteschlange zu setzen. Die Host-Daten werden von dem SLC 522 an den Decodierer 514 entlang Strom 3 übertragen, wobei der Decodierer 514 die empfangenen Host-Daten decodiert. Die decodierten Host-Daten werden entlang Strom 4 in den zweiten SRAM 516 des FM2 510 geschrieben. In einer Ausführungsform werden XOR-Paritätsdaten für die empfangenen decodierten Host-Daten an dem zweiten SRAM 516 erzeugt. Die Host-Daten werden zum Codieren entlang Strom 5 in den Codierer 512 kopiert, wobei die codierten Host-Daten entlang Strom 6 in den MLC 524 foggy geschrieben werden.
  • Die Host-Daten werden entlang Strom 7 von dem zweiten SRAM 516 auf den DRAM 530 übertragen. In einer Ausführungsform treten Strom 5 und Strom 7 gleichzeitig auf. In einer anderen Ausführungsform erfolgt der Strom 5 vor dem Strom 7. Nachdem die Host-Daten erfolgreich in den DRAM 530 geschrieben wurden, werden die Host-Daten und die zweiten XOR-Paritätsdaten von dem DRAM 530 an den Codierer 512 entlang des zu codierenden Stroms 8 übertragen. Die codierten Host-Daten und die zweiten XOR-Paritätsdaten werden dann entlang Strom 9 in den MLC 524 feingeschrieben.
  • Gemäß der in 5 genannten Ausführungsform können die SLC- und MLC-Programmierung entkoppelt sein. Der Foggy-Feinschreibprozess kann einen Mehrstrom mit Direktschreib-Heiß/Kalt-Sortierunterstützung sowie SLC-Burst-Unterstützung beinhalten. Darüber hinaus können offene Blöcke von dem SLC unterstützt werden, wobei offene DR- und RD-Blockprobleme adressiert werden. DRAM-Anforderungen können auch im Vergleich zu der vorherigen Ausführungsform, die in den 2A und 2B beschrieben ist, reduziert werden.
  • Die Gesamtzahl der TM-Busübertragungen oder der Übertragungen aus dem FM2 510 in die Speichervorrichtung 520 oder umgekehrt beträgt etwa vier. Die Gesamtzahl der DRAM-530-Busübertragungen beträgt etwa zwei. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 530 oder dem FE-Modul 502 auf das FM2 510 oder umgekehrt beträgt etwa drei, wobei etwa drei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 530 oder dem FE-Modul 502 auf das FM2 510 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa drei betragen. Beim Vergleichen mit der in 2 beschriebenen Ausführungsform beträgt die Gesamtzahl der TM-Bus-Übertragungen aus dem FM2 210 in die Speichervorrichtung 220 oder umgekehrt etwa drei. Die Gesamtzahl der DRAM-230-Bus-Übertragungen beträgt etwa drei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt beträgt etwa drei, wobei etwa drei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa drei betragen.
  • 6 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform. Gesichtspunkte der 2A und 2B können den Ausführungsformen, die der schematischen Veranschaulichung der Planung einer Foggy-Feinprogrammierung von 6 entsprechen, ähnlich sein. Host-Daten werden von dem FE-Modul 602 empfangen, wobei erste XOR-Paritätsdaten durch die erste XOR-Engine 604 erzeugt werden. Die Host-Daten und die erzeugten ersten XOR-Paritätsdaten werden in den ersten SRAM 606 des FE-Moduls 602 geschrieben.
  • Die Host-Daten und die erzeugten ersten XOR-Paritätsdaten gelangen vom ersten SRAM 606 zum Codierer 612, um entlang Strom 1 codiert zu werden. Die codierten Host-Daten und die codierten ersten XOR-Paritätsdaten werden in den SLC 622 entlang Strom 2 geschrieben, wobei der SLC 622 einen Puffer einschließen kann, um die Daten, die vor der Foggy-Feinprogrammierung empfangen wurden, in eine Warteschlange zu stellen. Die Host-Daten werden dann aus dem SLC 622 entlang Strom 3 in den MLC 624 geschrieben.
  • Am ersten SRAM 606 werden die Host-Daten und die ersten XOR-Paritätsdaten entlang Strom 4 in den DRAM 630 geschrieben. Das Schreiben in den DRAM 630 entlang Strom 4 kann gleichzeitig mit Strom 1 oder Strom 2 erfolgen. Die Host-Daten werden vom DRAM 630 in den Codierer 612 kopiert, um entlang Strom 5 codiert zu werden. Die codierten Host-Daten werden in den MLC 624 entlang Strom 6 feingeschrieben.
  • Die Gesamtzahl der TM-Busübertragungen oder der Übertragungen aus dem FM2 610 in die Speichervorrichtung 620 oder umgekehrt beträgt etwa zwei, was in einem geringeren TM-Bus-Leistungsverbrauch als in anderen zuvor beschriebenen Ausführungsformen resultiert. Die Gesamtzahl der Busübertragungen des DRAM 630 beträgt etwa zwei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 630 oder dem FE-Modul 602 auf das FM2 610 oder umgekehrt beträgt etwa zwei, wobei etwa zwei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen von entweder dem DRAM 630 oder dem FE-Modul 602 auf das FM2 610 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa zwei betragen. Beim Vergleichen mit der in 2 beschriebenen Ausführungsform beträgt die Gesamtzahl der TM-Bus-Übertragungen aus dem FM2 210 in die Speichervorrichtung 220 oder umgekehrt etwa drei. Die Gesamtzahl der DRAM-230-Bus-Übertragungen beträgt etwa drei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt beträgt etwa drei, wobei etwa drei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa drei betragen.
  • 7 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform. Gesichtspunkte der 2A und 2B können den Ausführungsformen, die den schematischen Veranschaulichungen der Planung einer Foggy-Feinprogrammierung von 7 entsprechen, ähnlich sein. Host-Daten werden am FE-Modul 702 empfangen, wobei die erste XOR-Engine 704 erste XOR-Paritätsdaten für die Host-Daten erzeugt und sowohl die Host-Daten als auch die ersten XOR-Paritätsdaten in den ersten SRAM 706 geschrieben werden. Die Host-Daten und die ersten XOR-Paritätsdaten werden aus dem SRAM 706 entlang Strom 1 zum Codierer 712 kopiert. Der Codierer 712 codiert die empfangenen Host-Daten und ersten XOR-Paritätsdaten und schreibt die codierten Daten entlang Strom 2 in den SLC 722.
  • Die Host-Daten werden von der SLC 722 an den Decodierer 714 entlang Strom 3 übertragen, wobei der Decodierer 714 die Host-Daten decodiert. Die decodierten Host-Daten werden entlang Strom 4 in den DRAM 730 geschrieben. Die Host-Daten werden an dem Codierer 712 entlang Strom 5 codiert und in den MLC 724 entlang Strom 6 foggy-geschrieben. Nach dem Foggy-Schreibvorgang in den MLC 724 werden die Host-Daten an dem Codierer 712 entlang Strom 7 erneut codiert, wobei die codierten Host-Daten entlang Strom 8 in den MLC 724 feingeschrieben werden. Der Foggy-Feinschreibvorgang in die MLC 724 schließt keine XOR-Paritätsdaten ein. Die XOR-Paritätsdaten können in dem SLC 722 gespeichert werden.
  • Die Gesamtzahl der TM-Busübertragungen oder der Übertragungen aus dem FM2 710 in die Speichervorrichtung 720 oder umgekehrt beträgt etwa vier. Die Gesamtzahl der DRAM-730-Busübertragungen beträgt etwa drei. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 730 oder dem FE-Modul 702 auf das FM2 710 oder umgekehrt beträgt etwa vier, wobei etwa vier Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen von entweder dem DRAM 730 oder dem FE-Modul 702 auf das FM2 710 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa vier betragen. Beim Vergleichen mit der in 2 beschriebenen Ausführungsform beträgt die Gesamtzahl der TM-Bus-Übertragungen aus dem FM2 210 in die Speichervorrichtung 220 oder umgekehrt etwa drei. Die Gesamtzahl der DRAM-230-Bus-Übertragungen beträgt etwa drei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt beträgt etwa drei, wobei etwa drei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa drei betragen.
  • 8 ist eine schematische Veranschaulichung der Planung einer Foggy-Feinprogrammierung gemäß einer weiteren Ausführungsform. Gesichtspunkte der 2A und 2B können den Ausführungsformen, die der schematischen Veranschaulichung der Planung einer Foggy-Feinprogrammierung von 8 entsprechen, ähnlich sein. Die Host-Daten werden von dem FE-Modul 802 empfangen und in den SRAM 806 geschrieben. Die erste XOR-Engine 804 erzeugt erste XOR-Paritätsdaten für die Host-Daten und schreibt die ersten XOR-Paritätsdaten in den SRAM 806. Die Host-Daten und die ersten XOR-Paritätsdaten werden entlang Strom 1 an den Codierer 812 übertragen, wobei der Codierer 812 die Host-Daten und die ersten XOR-Paritätsdaten codiert.
  • Die Host-Daten und die ersten XOR-Paritätsdaten werden entlang Strom 2 in den SLC 822 geschrieben. Die Host-Daten werden entlang Strom 3 aus dem SLC 822 in den Decodierer 814 kopiert, wo der Decodierer 814 die Host-Daten decodiert. Die decodierten Host-Daten werden in den zweiten SRAM 816 des FM2 810 entlang Strom 4 und in den dritten SRAM 832 des FE-Moduls 802 entlang Strom 5 kopiert. Die Host-Daten werden aus dem dritten SRAM 832 in den Codierer 812 entlang Strom 6 und aus dem zweiten SRAM 816 in den Codierer 812 entlang Strom 7 kopiert.
  • Die codierten Host-Daten werden von dem Codierer 812 entlang Strom 8 in den MLC 824 foggy-geschrieben. Die decodierten Host-Daten werden aus dem zweiten SRAM 816 in den DRAM 830 entlang Strom 9 und aus dem dritten SRAM 832 in den DRAM 830 entlang Strom 10 kopiert. Die Host-Daten werden aus dem DRAM 830 in den Codierer 812 entlang Strom 11 kopiert. Die codierten Host-Daten werden dann von dem Codierer 812 entlang Strom 12 in die MLC 824 feingeschrieben. Der Foggy-Feinschreibvorgang in dem MLC 824 schließt keine XOR-Paritätsdaten ein. Die XOR-Paritätsdaten können in dem SLC 822 gespeichert werden.
  • Die Gesamtzahl der TM-Busübertragungen oder der Übertragungen aus dem FM2 810 in die Speichervorrichtung 820 oder umgekehrt beträgt etwa vier. Die Gesamtzahl der DRAM-830-Busübertragungen beträgt etwa zwei. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 830 oder dem FE-Modul 802 auf das FM2 810 oder umgekehrt beträgt etwa 3,5, wobei etwa 3,5 Übertragungen für eine 50/50 SRAM-Pufferaufteilung ausmachen. Die Gesamtzahl der Übertragungen von entweder dem DRAM 830 oder dem FE-Modul 802 auf das FM2 810 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa 3,5 betragen. Beim Vergleichen mit der in 2 beschriebenen Ausführungsform beträgt die Gesamtzahl der TM-Bus-Übertragungen aus dem FM2 210 in die Speichervorrichtung 220 oder umgekehrt etwa drei. Die Gesamtzahl der DRAM-230-Bus-Übertragungen beträgt etwa drei. Die Gesamtzahl der Übertragungen von entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt beträgt etwa drei, wobei etwa drei Übertragungen für die Host-Datenübertragungen berücksichtigt werden. Die Gesamtzahl der Übertragungen aus entweder dem DRAM 230 oder dem FE-Modul 202 auf das FM2 210 oder umgekehrt kann je nach Anzahl der dem XOR-Paritätsdaten-Overhead zugeordneten Übertragungen mehr als etwa drei betragen.
  • In einer Ausführungsform weist eine Datenspeicherungsvorrichtung auf: eine oder mehrere Speichervorrichtungen, wobei die eine oder die mehreren Speichervorrichtungen den SLC-Speicher und den MLC-Speicher einschließen; und eine Steuerung, die mit der einen oder den mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung eingerichtet ist zum: Schreiben der Daten in den SLC-Speicher; Foggy-Schreibvorgang der Daten in den MLC-Speicher, wobei das Foggy-Schreiben der Daten in den MLC-Speicher einschließt: das Abrufen der Daten aus Auffangregistern in dem einen oder mehreren Speichervorrichtungen; Decodieren der aus den Auffangregistern abgerufenen Daten; Codieren der decodierten Daten, die aus den Auffangregistern abgerufen wurden; und Schreiben der codierten Daten in den MLC-Speicher; und Feinschreiben der Daten in den MLC-Speicher. Das Feinschreiben weist auf: Decodieren der aus den Auffangregistern abgerufenen Daten; Erzeugen von XOR-Daten für die decodierten Daten, die aus den Auffangregistern abgerufen wurden; Übertragen der decodierten Daten, die aus den Auffangregistern abgerufen wurden, und der erzeugten XOR-Daten auf DRAM; Codieren der übertragenen Daten; und Schreiben der codierten Daten in den MLC-Speicher. Das Decodieren der Daten, die aus Auffangregistern zum Feinschreiben abgerufen wurden, ist dasselbe Decodieren der Daten, die aus Auffangregistern für den Foggy-Schreibvorgang abgerufen wurden. Die Steuerung ist eingerichtet, um eine Speicherbereinigung durchzuführen, wobei die Speicherbereinigung aufweist: Lesen von Daten aus dem MLC-Speicher; Decodieren der Lesedaten; Erzeugen von XOR-Daten für die Lesedaten; Codieren der erzeugten XOR-Daten und Lesedaten; und Foggy-Schreiben der Daten in den MLC-Speicher. Die Speicherbereinigung weist weiterhin Feinschreibdaten in den MLC-Speicher auf, wobei das Feinschreiben aufweist: Decodieren der aus dem MLC gelesenen Daten; Erzeugen von XOR-Daten für die Lesedaten; Übertragen der gelesenen Daten und der erzeugten XOR-Daten auf DRAM; Codieren der übertragenen Daten; und Feinschreiben der codierten Daten in den MLC-Speicher. Das Decodieren der Daten, die aus Auffangregistern zum Feinschreiben abgerufen wurden, ist dasselbe Decodieren der Daten, die aus Auffangregistern für den Foggy-Schreibvorgang abgerufen wurden. Das Foggy-Schreiben weist weiterhin auf: Erzeugen von XOR-Daten für die decodierten Daten, die aus den Auffangregistern abgerufen wurden; und Übertragen der erzeugten XOR-Daten auf DRAM.
  • In einer anderen Ausführungsform weist eine Datenspeicherungsvorrichtung auf: eine oder mehrere Speichervorrichtungen, wobei die eine oder mehreren Speichervorrichtungen jeweils eine Vielzahl von Chips einschließen, wobei jeder Chip einen SLC-Speicher und einen MLC-Speicher einschließt; und eine Steuerung, die mit der einen oder den mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung eingerichtet ist zum: Schreiben von Daten in den SLC-Speicher; Lesen von Daten aus SLC-Speicher; Decodieren der Lesedaten; Übertragen der decodierten Daten auf DRAM; Codieren der Übertragungsdaten ein erstes Mal; und Schreiben der zum ersten Mal codierten Daten in den MLC-Speicher ein erstes Mal. Die Steuerung ist weiterhin eingerichtet, um die Übertragungsdaten ein zweites Mal zu codieren. Die Steuerung ist weiterhin eingerichtet, um die codierten Daten ein zweites Mal in den MLC-Speicher zu schreiben. Das Schreiben der zum ersten Mal codierten Daten in den MLC-Speicher ein erstes Mal ist ein Foggy-Schreibvorgang. Das Schreiben der zum zweiten Mal codierten Daten in den MLC-Speicher ein zweites Mal ist ein Feinschreibvorgang. Die Steuerung ist weiterhin eingerichtet, um die decodierten Daten in den SRAM zu übertragen, bevor die decodierten Daten in den DRAM übertragen werden. Die Steuerung ist weiterhin eingerichtet, um einige Daten zu codieren, die in den SRAM übertragen werden, ohne dass die in den SRAM übertragenen Daten in den DRAM übertragen werden.
  • In einer anderen Ausführungsform weist eine Datenspeicherungsvorrichtung auf: eine oder mehrere Speichervorrichtungen, wobei jede Speichervorrichtung eine Vielzahl von Dies hat, wobei die eine oder die mehreren Speichervorrichtungen jeweils SLC-Speicher und MLC-Speicher einschließen; eine Steuerung, die mit der einen oder den mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung eingerichtet ist zum: Schreiben der Daten in den SLC-Speicher; Lesen der Daten aus dem SLC-Speicher; Decodieren der Lesedaten; Zustellen der decodierten Daten an einen ersten SRAM, der sich in einem Frontend-Modul befindet; Zustellen der decodierten Daten an einen zweiten SRAM, der sich in einem Flash-Manager befindet; Schreiben von Daten, die in den ersten SRAM in dem MLC-Speicher zugestellt wurden; und Schreiben von Daten, die in den zweiten SRAM in dem MLC-Speicher zugestellt wurden. Die Steuerung ist weiterhin eingerichtet, um decodierte Daten an den DRAM zuzustellen. Die Steuerung ist weiterhin eingerichtet, um die decodierten Daten zu codieren, die an den DRAM zugestellt werden, und die codierten Daten in den MLC-Speicher zu schreiben. Die codierten Daten, die in den MLC-Speicher geschrieben werden, werden fein geschrieben. Die Daten, die aus dem ersten SRAM in den MLC-Speicher geschrieben werden, sind foggy-geschrieben. Die Daten, die aus dem zweiten SRAM in den MLC-Speicher geschrieben werden, sind foggy-geschrieben.
  • Durch Reduzieren von Datenübertragungen über einen NAND-Bus und einen DRAM-Bus tritt eine verbesserte Host-Schreibleistung und reduzierte Leistung auf. Die Übertragungen über den NAND-Bus können um 20 Prozent und die Übertragungen über den DRAM-Bus um 1/3 reduziert werden.
  • 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 16/899374 [0001]

Claims (20)

  1. Datenspeicherungsvorrichtung, aufweisend: eine oder mehrere Speichervorrichtungen, wobei die eine oder die mehreren Speichervorrichtungen den SLC-Speicher und den MLC-Speicher einschließen; und eine Steuerung, die mit einer oder mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung für Folgendes eingerichtet ist: Schreiben von Daten in den SLC-Speicher; Foggy-Schreibvorgang der Daten in den MLC-Speicher, wobei das Foggy-Schreiben der Daten in den MLC-Speicher einschließt: Abrufen der Daten aus Auffangregistern in der einen oder mehreren Speichervorrichtungen; Decodieren der aus den Auffangregistern abgerufenen Daten; Codieren der decodierten Daten, die aus den Auffangregistern abgerufen wurden; und Schreiben der codierten Daten in den MLC-Speicher; und Feinschreiben der Daten in den MLC Speicher.
  2. Datenspeicherungsvorrichtung nach Anspruch 1, wobei das Feinschreiben aufweist: Decodieren der aus den Auffangregistern abgerufenen Daten; Erzeugen von XOR-Daten für die decodierten Daten, die aus den Auffangregistern abgerufen wurden; Übertragen der decodierten Daten, die aus den Auffangregistern abgerufen wurden, und der erzeugten XOR-Daten auf DRAM; Codieren der übertragenen Daten; und Schreiben der codierten Daten in den MLC-Speicher.
  3. Datenspeicherungsvorrichtung nach Anspruch 2, wobei das Decodieren der Daten, die aus Auffangregistern zum Feinschreiben abgerufen werden, das gleiche Decodieren der Daten ist, die aus Auffangregistern für das Foggy-Schreiben abgerufen werden.
  4. Datenspeicherungsvorrichtung gemäß Anspruch 1, wobei die Steuerung eingerichtet ist, um eine Speicherbereinigung durchzuführen, wobei die Speicherbereinigung aufweist: Lesen von Daten aus dem MLC-Speicher; Decodieren der Lesedaten; Erzeugen von XOR-Daten für die Lesedaten; Codieren der erzeugten XOR-Daten und Lesedaten; und Foggy-Schreiben der codierten Daten in den MLC-Speicher.
  5. Datenspeicherungsvorrichtung nach Anspruch 4, wobei die Speicherbereinigung weiterhin Feinschreibdaten in den MLC-Speicher aufweist, wobei das Feinschreiben aufweist: Decodieren der aus dem MLC gelesenen Daten; Erzeugen von XOR-Daten für die Lesedaten; Übertragen der gelesenen Daten und der erzeugten XOR-Daten auf DRAM; Codieren der übertragenen Daten; und Feinschreiben der codierten Daten in den MLC-Speicher.
  6. Datenspeicherungsvorrichtung nach Anspruch 5, wobei das Decodieren der Daten, die aus Auffangregistern zum Feinschreiben abgerufen werden, das gleiche Decodieren der Daten ist, die aus Auffangregistern für das Foggy-Schreiben abgerufen werden.
  7. Datenspeicherungsvorrichtung nach Anspruch 1, wobei das Foggy-Schreiben weiterhin aufweist: Erzeugen von XOR-Daten für die decodierten Daten, die aus den Auffangregistern abgerufen wurden; und Übertragen der erzeugten XOR-Daten auf den DRAM.
  8. Datenspeicherungsvorrichtung, aufweisend: eine oder mehrere Speichervorrichtungen, wobei die eine oder die mehreren Speichervorrichtungen jeweils eine Vielzahl von Chips einschließen, wobei jeder Chip einen SLC-Speicher und einen MLC-Speicher einschließt; und eine Steuerung, die mit einer oder mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung für Folgendes eingerichtet ist: Schreiben von Daten in SLC-Speicher; Lesen von Daten aus SLC-Speicher; Decodieren der Lesedaten; Übertragen der decodierten Daten auf DRAM; Codieren der Übertragungsdaten ein erstes Mal; und Schreiben der zum ersten Mal codierten Daten in den MLC-Speicher ein erstes Mal.
  9. Datenspeicherungsvorrichtung nach Anspruch 8, wobei die Steuerung weiterhin eingerichtet ist, um die Übertragungsdaten ein zweites Mal zu codieren.
  10. Datenspeicherungsvorrichtung nach Anspruch 9, wobei die Steuerung weiterhin eingerichtet ist, um die codierten Daten ein zweites Mal in den MLC-Speicher zu schreiben.
  11. Datenspeicherungsvorrichtung nach Anspruch 10, wobei das Schreiben der zum ersten Mal codierten Daten in den MLC-Speicher ein erstes Mal ein Foggy-Schreibvorgang ist.
  12. Datenspeicherungsvorrichtung nach Anspruch 11, wobei das Schreiben der zum zweiten Mal codierten Daten in den MLC-Speicher ein Feinschreibvorgang ist.
  13. Datenspeicherungsvorrichtung nach Anspruch 8, wobei die Steuerung weiterhin eingerichtet ist, um die decodierten Daten in den SRAM zu übertragen, bevor die decodierten Daten in den DRAM übertragen werden.
  14. Datenspeicherungsvorrichtung nach Anspruch 13, wobei die Steuerung weiterhin eingerichtet ist, um einige Daten zu codieren, die in den SRAM übertragen werden, ohne dass die in den SRAM übertragenen Daten in den DRAM übertragen werden.
  15. Datenspeicherungsvorrichtung, aufweisend: eine oder mehrere Speichervorrichtungen, wobei die eine oder die mehreren Speichervorrichtungen jeweils den SLC-Speicher und den MLC-Speicher einschließen; eine Steuerung, die mit einer oder mehreren Speichervorrichtungen gekoppelt ist, wobei die Steuerung für Folgendes eingerichtet ist: Schreiben von Daten in den SLC-Speicher; Lesen der Daten aus dem SLC-Speicher; Decodieren der Lesedaten; Zustellen der decodierten Daten an einen ersten SRAM, der sich in einem Frontend-Modul befindet; Zustellen der decodierten Daten an einen zweiten SRAM, der sich in einem Flash-Manager befindet; Schreiben von Daten, die in den ersten SRAM in dem MLC-Speicher zugestellt wurden; und Schreiben von Daten, die in den zweiten SRAM in dem M LC-Speicher zugestellt werden.
  16. Datenspeicherungsvorrichtung nach Anspruch 15, wobei die Steuerung weiterhin eingerichtet ist, um decodierte Daten an den DRAM zuzustellen.
  17. Datenspeicherungsvorrichtung nach Anspruch 16, wobei die Steuerung weiterhin eingerichtet ist, um die an den DRAM zugestellten decodierten Daten zu codieren und die codierten Daten in den MLC-Speicher zu schreiben.
  18. Datenspeicherungsvorrichtung nach Anspruch 17, wobei die in den MLC-Speicher codierten Daten feingeschrieben sind.
  19. Datenspeicherungsvorrichtung nach Anspruch 15, wobei die Daten, die in den MLC-Speicher von dem ersten SRAM geschrieben werden, foggy-geschrieben sind.
  20. Datenspeicherungsvorrichtung nach Anspruch 15, wobei die Daten, die in den MLC-Speicher von dem zweiten SRAM geschrieben werden, foggy-geschrieben sind.
DE112020005001.7T 2020-06-11 2020-12-21 Qlc-programmierverfahren mit zurückspeichern von feindaten Pending DE112020005001T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/899,374 2020-06-11
US16/899,374 US11211119B1 (en) 2020-06-11 2020-06-11 QLC programming method with staging of fine data
PCT/US2020/066420 WO2021252016A1 (en) 2020-06-11 2020-12-21 Qlc programming method with staging of fine data

Publications (1)

Publication Number Publication Date
DE112020005001T5 true DE112020005001T5 (de) 2022-06-30

Family

ID=78826566

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005001.7T Pending DE112020005001T5 (de) 2020-06-11 2020-12-21 Qlc-programmierverfahren mit zurückspeichern von feindaten

Country Status (4)

Country Link
US (2) US11211119B1 (de)
CN (1) CN114730596A (de)
DE (1) DE112020005001T5 (de)
WO (1) WO2021252016A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11211119B1 (en) * 2020-06-11 2021-12-28 Western Digital Technologies, Inc. QLC programming method with staging of fine data
US11714562B2 (en) * 2020-12-15 2023-08-01 Micron Technology, Inc. Journal scheme for two-pass programming memory devices

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1279091B (de) 1963-10-26 1968-10-03 Standard Elektrik Lorenz Ag Anordnung zur Erhoehung der Funktionssicherheit von schnellaufenden Schrittschalteinrichtungen fuer bandfoermige Aufzeichnungstraeger
KR100822030B1 (ko) 2006-12-26 2008-04-15 삼성전자주식회사 고 부호화율 부호를 이용한 멀티 레벨 셀 메모리 장치
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
KR101666941B1 (ko) 2010-07-06 2016-10-17 삼성전자주식회사 비휘발성 메모리 장치와 이를 포함하는 반도체 시스템
US8898374B2 (en) * 2010-07-21 2014-11-25 Silicon Motion, Inc. Flash memory device and method for managing flash memory device
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US9135155B2 (en) * 2012-11-30 2015-09-15 Sandisk Technologies Inc. Storage and retrieval of shaped data
US9235469B2 (en) * 2013-05-22 2016-01-12 Seagate Technology Llc Systems and methods for inter-cell interference mitigation in a flash memory
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US9619321B1 (en) 2015-10-08 2017-04-11 Seagate Technology Llc Internal copy-back with read-verify
US9530491B1 (en) 2015-11-16 2016-12-27 Sandisk Technologies Llc System and method for direct write to MLC memory
US10025662B2 (en) 2016-04-27 2018-07-17 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10090044B2 (en) 2016-07-21 2018-10-02 Sandisk Technologies Llc System and method for burst programming directly to MLC memory
US10339000B2 (en) 2016-09-13 2019-07-02 Sandisk Technologies Llc Storage system and method for reducing XOR recovery time by excluding invalid data from XOR parity
US10101942B1 (en) 2017-04-17 2018-10-16 Sandisk Technologies Llc System and method for hybrid push-pull data management in a non-volatile memory
US10761929B2 (en) * 2017-05-25 2020-09-01 Western Digital Technologies, Inc. Data storage drive rebuild with parity generation offload using peer-to-peer data transfers
US10789126B2 (en) 2018-10-09 2020-09-29 Micron Technology, Inc. Multiple memory devices having parity protection
KR102583787B1 (ko) * 2018-11-13 2023-10-05 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US10748606B2 (en) 2018-12-14 2020-08-18 Western Digital Technologies, Inc. Multi-state programming for memory devices
US10769014B2 (en) 2018-12-28 2020-09-08 Micron Technology, Inc. Disposable parity
JP7471883B2 (ja) 2020-03-19 2024-04-22 キオクシア株式会社 メモリシステム
US11211119B1 (en) * 2020-06-11 2021-12-28 Western Digital Technologies, Inc. QLC programming method with staging of fine data

Also Published As

Publication number Publication date
US11211119B1 (en) 2021-12-28
US20210391002A1 (en) 2021-12-16
US20220108745A1 (en) 2022-04-07
CN114730596A (zh) 2022-07-08
US11631457B2 (en) 2023-04-18
WO2021252016A1 (en) 2021-12-16

Similar Documents

Publication Publication Date Title
DE102019124438B4 (de) Multi-state-programmierung für speichervorrichtungen
DE102015201384B4 (de) Vorrichtung und Verfahren zum Verbessern der Datenspeicherung durch Dateninvertierung
DE112010004863B4 (de) Datenverwaltung in Festkörperspeichersystemen
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE102019123709A1 (de) Verwendung verschachtelter schreibvorgänge zur trennung von die-ebenen
DE112016005869T5 (de) Vorausschauende Arbeitsspeicherinstandhaltung
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
DE102021115858A1 (de) Tlc-datenprogrammierung mit hybrid-parität
DE102019125059A1 (de) Abbildung für multi-state-programmierung von speichervorrichtungen
DE102013016147A1 (de) Skalierbare Reparaturblockfehlerkorrektur für mehrere sequenzielle Datenblöcke in einem magnetischen Datenspeichergerät
DE112014000311B4 (de) Absichern der Inhalte einer Speichereinheit
DE102015113414B4 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE102018123880A1 (de) Adaptive Verwaltung von Zwischenspeichern
DE112019000167T5 (de) Anpassbare Lesewiederholungsreihenfolge basierend auf einem Decodierungserfolgstrend
DE112020004922T5 (de) Speicherungsvorrichtung mit erhöhter beständigkeit
DE102017128999A1 (de) Lesebetrieb und weiches Dekodierungs-Timing
DE112020005001T5 (de) Qlc-programmierverfahren mit zurückspeichern von feindaten
DE102018123961A1 (de) Gruppen-leseaktualisierung
WO2006120001A1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE102017119065B4 (de) Aktualisieren eines Speichers
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird
DE112021000776T5 (de) Verwaltung von schreib-operationen in einer nichtflüchtigen speichervorrichtung unter verwendung eines variablen vor-lese-spannungspegels
DE112019005506T5 (de) Systeme und verfahren zum finden einer letzten guten seite in einem offenen nand-block
DE112016002305T5 (de) Reduktion der Schreibverstärkung in einem Objektspeicher
DE102020103846A1 (de) Verfahren zum Betreiben eines Speichersystems mit Gegenmaßnahme gegen Replay-Angriff und Speichersystem, das dasselbe durchführt

Legal Events

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

Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE

Representative=s name: MURGITROYD & COMPANY, DE

R081 Change of applicant/patentee

Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATE, US

Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CA, US