DE112017006698T5 - Erreichen einheitlicher lesezeiten in nicht flüchtigen mehrebenenspeichern - Google Patents

Erreichen einheitlicher lesezeiten in nicht flüchtigen mehrebenenspeichern Download PDF

Info

Publication number
DE112017006698T5
DE112017006698T5 DE112017006698.0T DE112017006698T DE112017006698T5 DE 112017006698 T5 DE112017006698 T5 DE 112017006698T5 DE 112017006698 T DE112017006698 T DE 112017006698T DE 112017006698 T5 DE112017006698 T5 DE 112017006698T5
Authority
DE
Germany
Prior art keywords
reading
page
read
level
read time
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
DE112017006698.0T
Other languages
English (en)
Inventor
Anand S. Ramalingam
Pranav Kalavade
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112017006698T5 publication Critical patent/DE112017006698T5/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)

Abstract

Systeme, Vorrichtungen und Verfahren können Technologie vorsehen, die eine untere Seite, eine oder mehreren Zwischenseiten und eine letzte Seite aus einem Satz von Zellen eines nicht flüchtigen Speichers (NVM) mit mehreren Ebenen liest, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht den Nutzen der nicht-provisorischen US-Patentanmeldung Nr. 15/395,062 , eingereicht am 30. Dezember 2016.
  • GEBIET DER ERFINDUNG
  • Ausführungsformen betreffen im Allgemeinen Speicherstrukturen.
  • STAND DER TECHNIK
  • Mehrebenen-Flash-Speicher der NAND-Art („NAND-Speicher“) können in mehreren Zellen organisiert sein, wobei jede Zelle mehrere Datenbits enthält. In einem derartigen Fall kann die Anzahl von Bits pro Zelle davon abhängen, wie viele einzelne Spannungspegel während Programmieroperationen erreicht werden können. Um zum Beispiel zwei Bits pro Zelle zu unterstützen, können vier Spannungspegel erforderlich sein, um zwischen den vier möglichen Kombinationen von Einsen und Nullen (11, 01, 00, 10) zu unterscheiden. Jedes Bit kann infolge der Anzahl von Spannungspegelvergleichen, die für das betreffende Bit ausgeführt werden, eine erheblich andere Lesezeit aufweisen. In dem vorstehenden Beispiel können zum Beispiel zwei Vergleiche für das erste (z. B. bedeutendste) Bit einbezogen sein, um das Bit zu lesen, wohingegen für das zweite (z. B. am wenigsten bedeutende) Bit nur ein Vergleich einbezogen sein kann. Dementsprechend kann das Lesen des zweiten Bit doppelt so lang dauern wie das Lesen des ersten Bit.
  • Diese Variabilität kann Herausforderungen hinsichtlich des Geräts (z. B. Festkörperlaufwerk/SSD) darstellen, das den Mehrebenen-NAND-Speicher enthält, sowie des Systems (z. B. Server, Host, Datencenter), welches das Gerät enthält. Das SSD kann einen Transferpuffer verwenden, um Daten zu speichern, die gemäß einer „Ausschussdaten-Sammel“-Strategie umgelagert werden. Das Gestalten des Transferpuffers für das Unterstützen der längsten Lesezeiten kann die Größe des Transferpuffers erhöhen, was wiederum einen nachteiligen Einfluss auf Leistung und Kosten haben kann. Desgleichen können Serverressourcen, wie beispielsweise Multithreading-Lesewarteschlange in dem Host-Prozessor dafür bemessen sein, die längsten Lesezeiten zu unterstützen, was die Leistung weiter verringern und die Kosten weiter steigern kann.
  • Figurenliste
  • Die verschiedenen Vorteile der Ausführungsformen werden sich Fachleuten durch die Lektüre der folgenden Beschreibung und der angefügten Ansprüche und durch Bezugnahme auf die folgenden Zeichnungen ersichtlich. Es zeigen:
    • 1 eine Veranschaulichung eines Beispiels für eine Drei-Ebenen-Zell-(TLC - Tri Level Cell)Architektur und eine Vier-Ebenen-Zell-(QLC - Quad- Level Cell)Architektur gemäß einer Ausführungsform;
    • 2 ein Ablaufdiagramm eines Beispiels für ein Verfahren zum Betreiben einer Chip-Steuerungsvorrichtung gemäß einer Ausführungsform;
    • 3 und 4 Veranschaulichungen von Beispielen für QLC-Codierschemata gemäß Ausführungsformen und
    • 5 einen Blockschaltplan eines Beispiels für ein Rechensystem gemäß einer Ausführungsform.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Ein nicht flüchtiger Mehrebenenspeicher (NVM), wie beispielsweise ein NAND-Speicher, kann in mehreren Zellen organisiert sein, wobei jede Zelle mehrere Datenbits enthält. Um zwischen den möglichen Bitkombinationen zu unterscheiden, können verschiedene Spannungspegel verwendet werden. Zum Beispiel können zwei Bits pro Zelle programmiert und gemäß der folgenden Tabelle I gelesen werden. Tabelle I
    Bit 1 Bit 2
    Ebene 1 (750 mV) 1 1
    Ebene 2 (500 mV) 0 1
    Ebene 3 (250 mV) 0 0
    Ebene 4 (0 mV) 1 0
  • In dem vorstehenden Beispiel kann das Lesen von Bit 1 das Bestimmen (z. B. über Spannungsvergleichsschaltungen) beinhalten, ob das entsprechende Gate in der Speicherzelle auf Ebene 3 (250 mV) leitet und ob das entsprechende Gate auf Ebene 1 (750 mV) leitet. Im Gegensatz dazu kann ein Lesen von Bit 2 nur das Bestimmen beinhalten, ob das entsprechende Gate in der Speicherzelle auf Ebene 2 (500 mV) leitet. Die im Vorliegenden bereitgestellten Werte sollen lediglich die Erläuterung unterstützen und können abhängig von den Umständen variieren. Infolge der mehreren Bestimmungen, die mit Bit 1 in Zusammenhang stehen, kann das Lesen von Bit 1 im Allgemeinen doppelt so lang dauern wie das Lesen von Bit 2. Da die Anzahl der Bits pro Zelle zunimmt (z. B. auf Drei-Ebenen-Zell-(TLC)Architekturen, Vier-Ebenen-Zell-(QLC)Architekturen usw.), kann die Uneinheitlichkeit der Lesezeiten hinsichtlich der Ausschussdatensammlung, der Multithreading-Operation und so weiter einer Anzahl von Herausforderungen darstellen. Wie detaillierter beschrieben werden wird, kann ein verbessertes Codierschema verwendet werden, um in Mehrebenen-VNM-Strukturen einheitliche Lesezeiten zu erreichen.
  • Bezugnehmend auf 1 sind nun Beispiele für eine TLC-Architektur 10 und eine QLC-Architektur 12 gezeigt. Die veranschaulichte TLC-Architektur 10 beinhaltet eine Gruppe von Mehrebenen-NVM-Zellen (Zelle0 , Zelle1 , ..., Zellen ), wobei jede Zelle drei Bits (Bit 1, Bit 2, Bit 3) beinhaltet. Die Zellen können programmiert (z. B. beschrieben) sein und auf einer Seite-für-Seite-Basis gelesen werden, wobei jede Seite einem bestimmten Bit entspricht. Insbesondere kann eine untere Seite (LP - Lower Page) Bit 3 entsprechen, kann eine obere Seite (UP - Upper Page - z. B. eine Zwischenseite) Bit 2 entsprechen und kann eine extra Seite (XP - Extra Page) Bit 1 entsprechen. Des Weiteren kann jedes Bit individuell auf einen bestimmten Spannungspegel programmiert sein, wobei es die Gesamtanzahl an Spannungspegeln (z. B. acht in diesem Fall) ermöglicht, alle möglichen Bitkombinationen voneinander zu unterscheiden.
  • Desgleichen beinhaltet die QLC-Architektur 12 eine Gruppe von Mehrebenen-NVM-Zellen (Zelle0 , Zelle1 , ..., Zellen ), wobei jede Zelle vier Bits (Bit 1, Bit 2, Bit 3, Bit 4) beinhaltet. Die Zellen können programmiert (z. B. beschrieben) sein und auf einer Seite-für-Seite-Basis gelesen werden, wobei jede Seite einem bestimmten Bit entspricht. Insbesondere kann eine untere Seite (LP) Bit 4 entsprechen, kann eine obere Seite (UP, z.B. eine Zwischenseite) Bit 3 entsprechen, kann eine extra Seite (EP) Bit 2 entsprechen und kann eine oberste Seite (TP - Top Page) Bit l entsprechen. Jedes Bit kann individuell auf einen bestimmten Spannungspegel programmiert sein, wobei es die Gesamtanzahl an Spannungspegeln (z. B. sechzehn in diesem Fall) ermöglicht, alle möglichen Bitkombinationen voneinander zu unterscheiden.
  • Die Mehrebenen-NVM-Zellen können für einen NAND-Flash-Speicher, für dreidimensionale (3D) NAND-Speicher-Array-Geräte oder andere Speichergeräte verwendet werden. Ein nicht flüchtiger Speicher ist ein Langzeitspeichermedium, das keine Energie benötigt, um den Zustand der durch das Medium gespeicherten Daten aufrechtzuerhalten. Nicht-einschränkende Beispiele für nicht flüchtige Speicher können eines der Folgenden oder eine Kombination daraus beinhalten: einen Festkörperspeicher (wie beispielsweise einen planaren oder 3D-NAND-Flash-Speicher oder NOR-Flash-Speicher), einen 3D-Crosspoint-Speicher, Langzeit-Speichergeräte, die Chalkogenid-Phasenübergangsmaterial (z. B. Chalkogenidglas) verwenden, einen byte-adressierbaren nicht flüchtigen Speicher, einen ferroelektrischen Speicher, einen Silizium-Oxid-Nitrid-Oxid-Silizium-(SONOS)Speicher, einen Polymerspeicher (z. B. ferroelektrischen Polymerspeicher) einen ferroelektrischen Transistorspeicher mit wahlfreiem Zugriff (Fe-TRAM), einen Ovonic-Speicher, einen Nanodraht-Speicher, einen EEPROM (Electrically Erasable Programmable Read-Only Memory), weitere verschiedene Arten nicht flüchtiger Speicher mit wahlfreiem Zugriff (RAMs) und Magnetspeicher. In einigen Ausführungsformen kann ein 3D-Crosspoint-Speicher eine transistorlose stapelbare Kreuzungspunktarchitektur umfassen, in der Speicherzellen an den Schnittstellen von Wortleitungen und Bitleitungen sitzen und einzeln ansprechbar sind und in der das Bitspeichern auf einer Veränderung des Bulk-Widerstandes basiert. In bestimmten Ausführungsformen kann ein Speichermodul mit einem nicht flüchtigen Speicher eine oder mehrere Normen erfüllen, die durch das Joint Electron Device Engineering Council (JEDEC) bekanntgegeben wurden, wie beispielsweise JESD218, JESD219, JESD220-1, JESD223B, JESD223-1 oder eine andere geeignete Norm (die hier angeführten JEDEC-Normen sind auf jedec.org verfügbar).
  • 2 zeigt ein Verfahren 14 zum Betreiben einer Chip-Steuerungsvorrichtung. Das Verfahren 14 kann in einem oder mehreren Modulen als ein Satz von Logikanweisungen umgesetzt werden, die in einem maschinen- oder computerlesbaren Speichermedium gespeichert sind, wie beispielsweise einem Speicher mit wahlfreiem Zugriff (RAM), einem Nur-Lese-Speicher (ROM), einem programmierbaren ROM (PROM), Firmware, Flash-Speicher usw., in konfigurierbarer Logik, wie beispielsweise programmierbaren Logik-Aarrays (PLAs), feld-programmierbaren Gate-Arrays (FPGAs), CPLDs (Complex Programmable Logic Devices), in Hardware-Logik mit fester Funktionalität, die Schaltungstechnik wie beispielsweise eine anwendungsspezifische integrierte Schaltung (ASIC), einen CMOS (Complementary Metal Oxide Semiconductor) oder eine Transistor-Transistor-Logik-(TTL)Technology verwendet, oder eine Kombination daraus.
  • Der veranschaulichte Verarbeitungsblock 16 sorgt dafür, dass aus einem Satz von Mehrebenen-NVM-Zellen eine untere Seite gelesen wird, wobei bei Block 18 eine oder mehrere Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen gelesen werden können. Block 18 kann das Lesen einer oberen Seite (z. B. in einer TLC- oder QLC-Architektur) oder das Lesen einer extra Seite (z. B. in einer QLC-Architektur) beinhalten. Des Weiteren kann Block 20 eine letzte Seite aus dem Satz von Mehrebenen-NVM-Zellen lesen, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht. Die im Wesentlichen gleichen Lesezeiten können im Allgemeinen durch Erhöhen der Lesezeit der unteren Seite und Vermindern der Lesezeit der letzten Seite, so dass sie näher beieinander liegen, erreicht werden. Das Zellencodierschema kann zum Beispiel derart modifiziert werden, dass das Lesen der unteren Seite das Durchführen mehrerer Vergleiche zwischen Leseebenen und das Bestimmen von Bitwerten der unteren Seite, basierend auf den mehreren Vergleichen, beinhaltet. Die Reihenfolge, in der die Blöcke 16, 18 und 20 ausgeführt werden, kann abhängig von den Umständen variieren (z. B., wenn sich angeforderte Daten in den NVM-Zellen befinden).
  • Insbesondere zeigt 3 ein Codierschema 22, bei dem die untere Seite (LP, z. B. Bit 4) bei drei Spannungspegeln gelesen wird - L2 (z.B. Leseebene zwei/rL2), L8 (z.B. Leseebene acht/rL8) und L14 (z. B. Leseebene vierzehn/rL14). Die obere Seite (UP, Zwischenseite, Bit 3) kann bei vier Spannungspegeln gelesen werden - L5 (z. B. Leseebene fünf/rL5), L10 (z. B. Leseebene zehn/rL 10), L12 (z. B. Leseebene zwölf/rL12) und L15 (z. B. Leseebene fünfzehn/rL15). Somit ist die untere Lesezeit im Wesentlichen insoweit gleich der Zwischenlesezeit, dass sie in dem veranschaulichten Beispiel einen Vergleich mit nur einem Spannungspegel weniger als die Zwischenlesezeit beinhaltet.
  • Desgleichen kann die extra Seite (XP, Zwischenseite, z. B. Bit 2) ebenfalls bei vier Spannungspegeln gelesen werden - L3 (z. B. Leseebene drei/rL3), L7 (z. B. Leseebene sieben/rL7), L9 (z. B. Leseebene neun/rL9) und L13 (z. B. Leseebene dreizehn/rL13). Das veranschaulichte Schema liest auch die oberste Seite (TP, z. B. Bit 1) bei vier Spannungspegeln - L1 (z. B. Leseebene eins/rL1), L4 (z. B. Leseebene vier/rL4), L6 (z. B. Leseebene sechs/rL6) und L11 (z. B. Leseebene elf/rLl 1).
  • Demgemäß kann das Schema 22 alle Seiten in nahezu dem gleichen Zeitumfang lesen. Eine derartige Lösung ermöglicht es, andere Systemkomponenten für ein weniger hartes Worst-Case-Szenario zu gestalten (z. B. vier Vergleiche statt acht, wenn die Lesezeit der letzten Seite nicht vermindert wäre, auf Kosten des Erhöhens der Lesezeit der unteren Seite).
  • 4 zeigt ein weiteres Codierschema, bei dem die untere Seite (LP z. B. Bit 4) bei vier Spannungspegeln gelesen wird - L1 (z. B. Leseebene eins/rL1), L7 (z. B. Leseebene sieben/rL7), L13 (z. B. Leseebene dreizehn/rL13) und L15 (z. B. Leseebene fünfzehn/rL15). Die obere Seite (UP, Zwischenseite, z. B. Bit 3) kann ebenfalls bei vier Spannungspegeln gelesen werden - L2 (z. B. Leseebene zwei/rL2), L6 (z. B. Leseebene sechs/rL6), L8 (z. B. Leseebene acht/rL8) und L12 (z. B. Leseebene zwölf/rL12). Somit ist die untere Lesezeit im Wesentlichen insoweit gleich der Zwischenlesezeit, dass sie beide die gleiche Anzahl an Spannungspegelvergleichen beinhalten (z. B. kann die einzige Zeitdifferenz der Physik der Vergleichsschaltung und/oder der Übertragungsleitung zuschreibbar sein).
  • Desgleichen kann die extra Seite (XP, Zwischenseite, z. B. Bit 2) ebenfalls bei vier Spannungspegeln gelesen werden - L4 (z. B. Leseebene vier/rL4), L9 (z. B. Leseebene neun/rL9), L11 (z.B. Leseebene elf/rL11) und L14 (z.B. Leseebene vierzehn/rL14). Das veranschaulichte Schema 22 liest die oberste Seite (TP, z. B. Bit 1) ebenfalls bei drei Spannungspegeln - L3 (z. B. Leseebene drei/rL3), L5 (z. B. Leseebene fünf/rL5) und L10 (z. B. Leseebene zehn/rL10).
  • Demgemäß kann das Schema 24 alle Seiten in nahezu dem gleichen Zeitumfang lesen. Eine derartige Lösung ermöglicht es, andere Systemkomponenten für ein weniger hartes Worst-Case-Szenario zu gestalten (z. B. vier Vergleiche statt acht, wenn die Lesezeit der letzten Seite nicht vermindert wäre, auf Kosten des Erhöhens der Lesezeit der unteren Seite).
  • Bezugnehmend auf 5 ist nun ein Rechensystem 26 mit verbesserter Einheitlichkeit gezeigt. In dem dargestellten Beispiel beinhaltet ein Festkörperlaufwerk (SSD) 28 eine Gerätesteuerungsvorrichtung 30 mit einem Transferpuffer 32, der verwendet wird, um während des Transfers der Daten zwischen verschiedenen Stellen in einem NAND 34 Ausschusssammeldaten zu speichern. Das veranschaulichte NAND 34 beinhaltet einen Satz von Mehrebenen-NVM-Zellen 36 und eine Chip-Steuerungsvorrichtung 38, die ein Substrat 40 (z. B. Silizium, Saphir, Galliumarsenid) und Logik 42 (z. B. ein Transistor-Array und andere integrierte Schaltungs/IC-Komponenten) beinhaltet, die an das Substrat 40 gekoppelt sind. Die Logik 42, die Hardware mit fester Funktionalität beinhalten kann, kann dafür konfiguriert sein, einen oder mehrere Aspekte des bereits erläuterten Verfahrens 14 (2) auszuführen.
  • Insbesondere kann die Logik 42 eine untere Seite, eine oder mehrere Zwischenseiten und/oder eine letzte Seite aus dem Satz von Mehrebenen-NVM-Zellen 36 lesen, wobei eine Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit sein soll, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht. Demgemäß erfordern die Ausschussdatensammelaktivitäten der Gerätesteuerungsvorrichtung 30 möglicherweise weniger Raum in dem Transferpuffer 32.
  • Die vorstehend erwähnten Ebenen können im Allgemeinen während des Programmierens der NAND-Zelle eingestellt werden. In einem Beispiel wird ein Bit zu einem Zeitpunkt programmiert, um das herkömmliche festplattenartige Verhalten für SSDs zu erhalten. Zusätzlich können je Programmoperation alle vier Informationsbits (für eine QLC) an das NAND 34 geleitet werden. In der Folge kann vor dem Ausgeben des Programmbefehls an das NAND 34 ein erhöhtes Puffern im Innern des SSD 28 beinhaltet sein. Ein Nebeneffekt des Feinprogrammierens jedes Spannungspegels in einer dichten Verteilung kann ebenfalls erhöhtes Puffern im Inneren des SSD 28 sein (infolge längerer Programmzeit/Tprog), die ohne Bezug zu dem/den im Vorliegenden beschriebenen Codierschema(ta) ist. Da die dichte Verteilung, die pro Ebene verwendet wird, das Puffern im Inneren des SSD 28 erhöhen kann, was zusätzlich zum Transferpuffer 32 zu DRAMbasiertem Datenpuffern führt, kann die im Vorliegenden beschriebene Technologie mit einer bescheidenen Zunahme der DRAM-Puffergröße auf das gleiche Schema „aufsatteln“. Kommerziell erhältliche, in SSDs verwendete DRAM können hunderte Megabytes aufweisen, wohingegen die erhöhte DRAM-Puffergröße in der Größenordnung von mehreren 10 MB liegt (d. h. kein Kostenfaktor für Datencenter-SSD-Konfigurationen, die ohnehin DRAM verwenden und oft über freie DRAM-Kapazität verfügen).
  • Das veranschaulichte System 26 beinhaltet außerdem ein System auf einem Chip (SoC) 44, das einen Hostprozessor 46 (z. B. eine zentrale Verarbeitungseinheit/CPU) und ein Eingabe/Ausgabe-(E/A)-Modul 48 aufweist. Der Hostprozessor 46 kann mehrere Kerne 50, eine Leseschlange 52 und eine integrierte Speichersteuerung (IMC - Integrated Memory Controller) 54, die mit dem Systemspeicher 56 kommuniziert, beinhalten. Das veranschaulichte E/A-Modul 48 ist mit dem SSD 28 sowie anderen Systemkomponenten gekoppelt, wie beispielsweise der Netzwerksteuerung 58. In einem Beispiel ist der Hostprozessor 46 agnostisch gegenüber dem Codierschema, das von der Chipsteuerungsvorrichtung 38 verwendet wird.
  • Wie bereits angemerkt, können die durchschnittlichen Lesezeiten bei allen Codierschemata gleich sein. Die Lesebandbreite variiert abhängig von der Dauer der Lesezeit (Tread). Software-Anwendungen, die auf dem Hostprozessor 46 laufen, können weniger Threads aufweisen - z. B. nicht mehr als die Anzahl verfügbarer Kerne 50 - um den Overhead von Thread-Kontext-Schaltern zu minimieren. Die im Vorliegenden beschriebene Technologie kann das Erreichen von Host-Schnittstellen-Bandbreitensättigung für Leseoperationen mit weniger Threads auf der Host-Ebene ermöglichen, was zu einer viel besseren Leistung auf der Anwendungsebene führt. Des Weiteren kann die im Vorliegenden beschriebene Technik die erforderlichen Host-Ressourcen reduzieren, da Tread im schlechtesten Fall die Hälfte des herkömmlichen Codierschemas beträgt, da Datencenteranwendungen Ressourcen für das langsamste Tread bemessen.
  • Zusätzliche Anmerkungen und Beispiele:
  • Beispiel 1 kann ein Festkörper-Laufwerk-System beinhalten, das eine Gerätesteuerungsvorrichtung umfasst, die einen Transferpuffer und einen nicht flüchtigen Speicher (NVM) beinhaltet, der kommunikationsfähig mit der Gerätesteuerungsvorrichtung gekoppelt ist, wobei der NVM einen Satz von Mehrebenen-NVM-Zellen und eine Chip-Steuerung beinhaltet, die ein Substrat und Logik beinhaltet, umgesetzt in Hardware mit fester Funktionalität und mit dem Substrat gekoppelt, wobei die Logik dafür vorgesehen ist, eine unter Seite aus dem Satz von Mehrebenen-NVM-Zellen zu lesen, eine oder mehrere Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen zu lesen und eine letzte Seite aus dem Satz von Mehrebenen-NVM-Zellen zu lesen, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.
  • Beispiel 2 kann das System von Beispiel 1 beinhalten, wobei die Logik dafür vorgesehen ist, mehrere Vergleiche zwischen Leseebenen durchzuführen und basierend auf den mehreren Vergleichen Bitwerte der unteren Seite zu bestimmen, um die untere Seite zu lesen.
  • Beispiel 3 kann das System von Beispiel 2 beinhalten, wobei die mehreren Vergleiche zwischen drei Leseebenen durchzuführen sind.
  • Beispiel 4 kann das System von Beispiel 2 beinhalten, wobei die mehreren Vergleiche zwischen vier Leseebenen durchzuführen sind.
  • Beispiel 5 kann das System von einem der Beispiele 1 bis 4 beinhalten, wobei die Logik dafür vorgesehen ist, eine obere Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der oberen Seite in Verbindung zu bringen ist.
  • Beispiel 6 kann das System von einem der Beispiele 1 bis 4 beinhalten, wobei die Logik dafür vorgesehen ist, eine extra Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der extra Seite in Verbindung zu bringen ist.
  • Beispiel 7 kann das System von Beispiel 1 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen eine Vier-Ebenen-Zell-Architektur beinhaltet.
  • Beispiel 8 kann das System von Beispiel 1 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen eine Drei-Ebenen-Zell-Architektur beinhaltet.
  • Beispiel 9 kann das System von Beispiel 1 beinhalten, wobei die Gerätesteuerung dafür vorgesehen ist, Ausschusssammeldaten von der unteren Seite, der einen oder den mehreren Zwischenseiten und der letzten Seite in den Transferpuffer zu speichern und die Ausschusssammeldaten an verschiedene Stellen in dem Satz von Mehrebenen-NVM-Zellen zu schreiben.
  • Beispiel 10 kann eine Chip-Steuerungsvorrichtung beinhalten, die ein Substrat und Logik umfasst, umgesetzt in Hardware mit fester Funktionalität und mit dem Substrat gekoppelt, wobei die Logik dafür vorgesehen ist, eine unter Seite aus einem Satz von Zellen eines nicht flüchtigen Speichers (NVM) mit mehreren Ebenen zu lesen, eine oder mehrere Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen zu lesen und eine letzte Seite aus dem Satz von Mehrebenen-NVM-Zellen zu lesen, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.
  • Beispiel 11 kann die Vorrichtung von Beispiel 10 beinhalten, wobei die Logik dafür vorgesehen ist, mehrere Vergleiche zwischen Leseebenen durchzuführen und basierend auf den mehreren Vergleichen Bitwerte der unteren Seite zu bestimmen, um die untere Seite zu lesen.
  • Beispiel 12 kann die Vorrichtung von Beispiel 11 beinhalten, wobei die mehreren Vergleiche zwischen drei Leseebenen durchzuführen sind.
  • Beispiel 13 kann die Vorrichtung von Beispiel 11 beinhalten, wobei die mehreren Vergleiche zwischen vier Leseebenen durchzuführen sind.
  • Beispiel 14 kann die Vorrichtung von einem der Beispiele 10 bis 13 beinhalten, wobei die Logik dafür vorgesehen ist, eine obere Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der oberen Seite in Verbindung zu bringen ist.
  • Beispiel 15 kann die Vorrichtung von einem der Beispiele 10 bis 13 beinhalten, wobei die Logik dafür vorgesehen ist, eine extra Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der extra Seite in Verbindung zu bringen ist.
  • Beispiel 16 kann die Vorrichtung von Beispiel 10 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen dafür vorgesehen ist, eine Vier-Ebenen-Zell-Architektur zu beinhalten.
  • Beispiel 17 kann die Vorrichtung von Beispiel 10 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen dafür vorgesehen ist, eine Drei-Ebenen-Zell-Architektur zu beinhalten.
  • Beispiel 18 kann ein Verfahren zum Betreiben einer Chip-Steuerungsvorrichtung beinhalten, welches das Lesen einer unteren Seite aus einem Satz von Zellen eines nicht flüchtigen Speichers (NVM) mit mehreren Ebenen, das Lesen einer oder mehrerer Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen und das Lesen einer letzten Seite aus dem Satz von Mehrebenen-NVM-Zellen umfasst, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.
  • Beispiel 19 kann das Verfahren von Beispiel 18 beinhalten, wobei das Lesen der unteren Seite das Durchführen mehrerer Vergleiche zwischen Leseebenen und das Bestimmen von Bitwerten der unteren Seite basierend auf den mehreren Vergleichen beinhaltet.
  • Beispiel 20 kann das Verfahren von Beispiel 19 beinhalten, wobei das Durchführen der mehreren Vergleiche das Durchführen von Vergleichen zwischen drei Leseebenen beinhaltet.
  • Beispiel 21 kann das Verfahren von Beispiel 19 beinhalten, wobei das Durchführen der mehreren Vergleiche das Durchführen von Vergleichen zwischen vier Leseebenen beinhaltet.
  • Beispiel 22 kann das Verfahren von einem der Beispiele 18 bis 21 beinhalten, wobei das Lesen der einen oder mehreren Zwischenseiten das Lesen einer oberen Seite beinhaltet, wobei die Zwischenlesezeit mit der oberen Seite in Verbindung gebracht wird.
  • Beispiel 23 kann das Verfahren von einem der Beispiele 18 bis 21 beinhalten, wobei das Lesen der einen oder mehreren Zwischenseiten das Lesen einer extra Seite beinhaltet, wobei die Zwischenlesezeit mit der extra Seite in Verbindung gebracht wird.
  • Beispiel 24 kann das Verfahren von Beispiel 18 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen eine Vier-Ebenen-Zell-Architektur beinhaltet.
  • Beispiel 25 kann das Verfahren von Beispiel 18 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen eine Drei-Ebenen-Zell-Architektur beinhaltet.
  • Beispiel 26 kann eine Chip-Steuerungsvorrichtung beinhalten, die Mittel zum Lesen einer unteren Seite aus einem Satz von Zellen eines nicht flüchtigen Speichers (NVM) mit mehreren Ebenen, Mittel zum Lesen einer oder mehrerer Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen und Mittel zum Lesen einer letzten Seite aus dem Satz von Mehrebenen-NVM-Zellen umfasst, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.
  • Beispiel 27 kann die Vorrichtung von Beispiel 26 beinhalten, wobei die Mittel zum Lesen der unteren Seite Mittel zum Durchführen mehrerer Vergleiche zwischen Leseebenen und Mittel zum Bestimmen von Bitwerten der unteren Seite, basierend auf den mehreren Vergleichen, beinhalten.
  • Beispiel 28 kann die Vorrichtung von Beispiel 27 beinhalten, wobei die Mittel zum Durchführen der mehreren Vergleiche Mittel zum Durchführen von Vergleichen zwischen drei Leseebenen beinhalten.
  • Beispiel 29 kann die Vorrichtung von Beispiel 27 beinhalten, wobei die Mittel zum Durchführen der mehreren Vergleiche Mittel zum Durchführen von Vergleichen zwischen vier Leseebenen beinhalten.
  • Beispiel 30 kann die Vorrichtung von einem der Beispiele 26 bis 29 beinhalten, wobei die Mittel zum Lesen der einen oder mehreren Zwischenseiten Mittel zum Lesen einer oberen Seite beinhalten, wobei die Zwischenlesezeit mit der oberen Seite in Verbindung zu bringen ist.
  • Beispiel 31 kann die Vorrichtung von einem der Beispiele 26 bis 29 beinhalten, wobei die Mittel zum Lesen der einen oder mehreren Zwischenseiten Mittel zum Lesen einer extra Seite beinhalten, wobei die Zwischenlesezeit mit der extra Seite in Verbindung zu bringen ist.
  • Beispiel 32 kann die Vorrichtung von Beispiel 26 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen dafür vorgesehen ist, eine Vier-Ebenen-Zell-Architektur zu beinhalten.
  • Beispiel 33 kann die Vorrichtung von Beispiel 26 beinhalten, wobei der Satz von Mehrebenen-NVM-Zellen dafür vorgesehen ist, eine Drei-Ebenen-Zell-Architektur zu beinhalten.
  • Die im Vorliegenden beschriebene Technologie kann somit Ziellesezeiten derart auf die Spannungspegel-Bins abbilden, die in Mehrfachbits pro Zelle zur Verfügung stehen, dass es ungefähr den gleichen Zeitumfang zum Lesen eines Bits in der Zelle in Anspruch nimmt, ungeachtet dessen, wie viele Bits pro Zelle vorhanden sind. Die Technologie kann außerdem Merkmale in einem NAND-Speicher erzeugen, die für eine SSD-Verwendung optimiert sind. Der NAND-Speicher kann zum Beispiel ein Codierschema aufweisen, das bessere Einheitlichkeit und Gleichartigkeit von EA-Operationen bietet. Des Weiteren kann das Verringern der Größe der Vergleichsschaltung infolge der Möglichkeit, die Vergleichsschaltung unter dem NAND-Zell-Array in einer dreidimensionalen (3D) Architektur (z. B. CMOS unter Array/CUA) zu positionieren, zu beträchtlichen Raumeinsparungen führen. Darüber hinaus kann die im Vorliegenden beschriebene Technologie eine bessere Gleichartigkeit beim Schreiben mit geringeren Kosten bieten, da die Gleichartigkeit von Schreib-EA-Operationen pro Sekunde (EAPS) durch die Rate dominiert werden kann, mit der das Sammeln von Ausschussdaten freien Raum in dem SSD zurückfordert. In der Tat können einheitliche Lesezeiten dabei helfen, Ressourcen in dem Betriebssystem-(OS - Operating System)Stapel zu bemessen, was besonders nützlich in Fällen der Verwendung in Datencentern/-unternehmen ist, in denen Datenaktualisierungen häufig und weniger vorhersagbar sind.
  • Ausführungsformen sind zur Verwendung mit allen Arten von Halbleiter-Chips mit integrierten Schaltungen (IC) einsetzbar. Beispiele für diese IC-Chips sind Prozessoren, Steuerungen, Chipsatz-Komponenten, programmierbare Logik-Arrays (PLAs), SpeicherChips, Netzwerk-Chips, Systeme auf einem Chip (SoCs), ASICs zur SSD/NAND-Steuerung und dergleichen, sind aber nicht darauf beschränkt. Des Weiteren sind in einigen der Zeichnungen Signalleiterleitungen durch Linien dargestellt. Einige können anders sein, um mehr Signalwegbestandteile anzuzeigen, weisen ein Zahlenzeichen auf, um eine Anzahl von Signalwegbestandteilen anzuzeigen, und/oder weisen an einem oder mehreren Enden Pfeile auf, um die primäre Richtung des Informationsflusses anzuzeigen. Dies sollte jedoch nicht in einer beschränkenden Weise ausgelegt werden. Stattdessen kann ein derartiges hinzugefügtes Detail in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um das Verständnis einer Schaltung zu erleichtern. Alle dargestellten Signalleitungen, weisen sie nun zusätzliche Informationen auf oder nicht, können tatsächlich ein oder mehrere Signale umfassen, die sich in mehreren Richtungen bewegen, und können mit einer beliebigen geeigneten Art von Signalschema umgesetzt sein, z. B. digitale oder analoge Leitungen, umgesetzt in unterschiedlichen Paaren, Glasfaserleitungen und/oder Single-Ended-Leitungen.
  • Beispielhafte Größen/Modelle/Werte/Bereiche können angegeben sein, obwohl Ausführungsformen nicht auf diese beschränkt sind. Da sich Herstellungstechniken (z. B. Fotolithografie) mit der Zeit weiterentwickeln, ist anzunehmen, dass Geräte von geringerer Größe hergestellt werden können. Des Weiteren können in den Figuren zwecks Einfachheit der Darstellung und Beschreibung allgemein bekannte Netz/Masse-Verbindungen zu IC-Chips und weiteren Komponenten gezeigt sein oder nicht, so dass bestimmte Aspekte der Ausführungsformen nicht verundeutlicht werden. Ferner können Anordnungen in Form eines Blockschaltplans gezeigt sein, um das Verundeutlichen von Ausführungsformen zu vermeiden und außerdem in Hinsicht auf die Tatsache, dass Einzelheiten in Bezug auf die Umsetzung derartiger Blockschaltplananordnungen stark von der Plattform abhängen, mit der die Ausführungsform umzusetzen ist, d. h. diese Einzelheiten sollten ohne Weiteres in der Kompetenz von Fachleuten liegen. Wenn spezielle Details (z. B. Schaltungen) dargelegt sind, um beispielhafte Ausführungsformen zu beschreiben, sollte für Fachleute ersichtlich sein, dass Ausführungsformen ohne diese speziellen Details oder mit Varianten davon umgesetzt werden können. Die Beschreibung soll somit als veranschaulichend und nicht als beschränkend betrachtet werden.
  • Der Begriff „gekoppelt“ kann im Vorliegenden verwendet sein, um eine beliebige Art des Verhältnisses, ob direkt oder indirekt, zwischen den betreffenden Komponenten zu bezeichnen, und kann für elektrische, mechanische, fluidische, optische, elektromagnetische, elektromechanische oder andere Verbindungen gelten. Des Weiteren können die Begriffe „erstes“, „zweites“ usw. im Vorliegenden nur dafür verwendet sein, die Erläuterung zu unterstützen, und haben keine temporale oder chronologische Bedeutung, es sei denn, anderes ist angegeben.
  • Fachleute werden aus der vorausgegangenen Beschreibung erkennen, dass die breiten Techniken der Ausführungsformen in einer Vielfalt von Formen umgesetzt werden können. Deshalb soll, obwohl die Ausführungsformen in Verbindung mit konkreten Beispielen davon beschreiben wurden, der wahre Geltungsbereich der Ausführungsformen nicht darauf beschränkt werden, da sich Fachleuten aus einem Studium der Zeichnungen, der Beschreibung und der folgenden Ansprüche weitere Modifizierungen erschließen werden.
  • 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 15395062 [0001]

Claims (25)

  1. Festkörper-Laufwerk-System, Folgendes umfassend: eine Gerätesteuerungsvorrichtung, die einen Transferpuffer beinhaltet, und einen nicht flüchtigen Speicher (NVM), der kommunikationsfähig mit der Gerätesteuerungsvorrichtung gekoppelt ist, wobei der NVM einen Satz von Mehrebenen-NVM-Zellen und eine Chip-Steuerungsvorrichtung beinhaltet, die ein Substrat und Logik beinhaltet, umgesetzt in Hardware mit fester Funktionalität und mit dem Substrat gekoppelt, wobei die Logik für Folgendes vorgesehen ist: Lesen einer unteren Seite aus dem Satz von Mehrebenen-NVM-Zellen, Lesen einer oder mehrerer Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen und Lesen einer letzten Seite aus dem Satz von Mehrebenen-NVM-Zellen, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.
  2. System nach Anspruch 1, wobei die Logik für Folgendes vorgesehen ist: Durchführen mehrerer Vergleiche zwischen Leseebenen und Bestimmen von Bitwerten der unteren Seite, basierend auf den mehreren Vergleichen, um die untere Seite zu lesen.
  3. System nach Anspruch 2, wobei die mehreren Vergleiche zwischen drei Leseebenen durchzuführen sind.
  4. System nach Anspruch 2, wobei die mehreren Vergleiche zwischen vier Leseebenen durchzuführen sind.
  5. System nach einem der Ansprüche 1 bis 4, wobei die Logik dafür vorgesehen ist, eine obere Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der oberen Seite in Verbindung zu bringen ist.
  6. System nach einem der Ansprüche 1 bis 4, wobei die Logik dafür vorgesehen ist, eine extra Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der extra Seite in Verbindung zu bringen ist.
  7. System nach Anspruch 1, wobei der Satz von Mehrebenen-NVM-Zellen eine Vier-Ebenen-Zell-Architektur beinhaltet.
  8. System nach Anspruch 1, wobei der Satz von Mehrebenen-NVM-Zellen eine Drei-Ebenen-Zell-Architektur beinhaltet.
  9. System nach Anspruch 1, wobei die Gerätesteuerung dafür vorgesehen ist, Ausschusssammeldaten von der unteren Seite, der einen oder den mehreren Zwischenseiten und der letzten Seite in den Transferpuffer zu speichern und die Ausschusssammeldaten an verschiedene Stellen in dem Satz von Mehrebenen-NVM-Zellen zu schreiben.
  10. Chip-Steuerungsvorrichtung, Folgendes umfassend: ein Substrat und Logik, die in Hardware mit fester Funktionalität umgesetzt und mit dem Substrat gekoppelt ist, wobei die Logik für Folgendes vorgesehen ist: Lesen einer unteren Seite aus einem Satz von Zellen eines nicht flüchtigen Speichers (NVM) mit mehreren Ebenen, Lesen einer oder mehrerer Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen und Lesen einer letzten Seite aus dem Satz von Mehrebenen-NVM-Zellen, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.
  11. Vorrichtung nach Anspruch 10, wobei die Logik für Folgendes vorgesehen ist: Durchführen mehrerer Vergleiche zwischen Leseebenen und Bestimmen von Bitwerten der unteren Seite, basierend auf den mehreren Vergleichen, um die untere Seite zu lesen.
  12. Vorrichtung nach Anspruch 11, wobei die mehreren Vergleiche zwischen drei Leseebenen durchzuführen sind.
  13. Vorrichtung nach Anspruch 11, wobei die mehreren Vergleiche zwischen vier Leseebenen durchzuführen sind.
  14. Vorrichtung nach einem der Ansprüche 10 bis 13, wobei die Logik dafür vorgesehen ist, eine obere Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der oberen Seite in Verbindung zu bringen ist.
  15. Vorrichtung nach einem der Ansprüche 10 bis 13, wobei die Logik dafür vorgesehen ist, eine extra Seite zu lesen, um die eine oder mehreren Zwischenseiten zu lesen, und wobei die Zwischenlesezeit mit der extra Seite in Verbindung zu bringen ist.
  16. Vorrichtung nach Anspruch 10, wobei der Satz von Mehrebenen-NVM-Zellen dafür vorgesehen ist, eine Vier-Ebenen-Zell-Architektur zu beinhalten.
  17. Vorrichtung nach Anspruch 10, wobei der Satz von Mehrebenen-NVM-Zellen dafür vorgesehen ist, eine Drei-Ebenen-Zell-Architektur zu beinhalten.
  18. Verfahren zum Betreiben einer Chip-Steuerungsvorrichtung, Folgendes umfassend: Lesen einer unteren Seite aus einem Satz von Zellen eines nicht flüchtigen Speichers (NVM) mit mehreren Ebenen, Lesen einer oder mehrerer Zwischenseiten aus dem Satz von Mehrebenen-NVM-Zellen und Lesen einer letzten Seite aus dem Satz von Mehrebenen-NVM-Zellen, wobei eine untere Lesezeit, die mit der unteren Seite in Verbindung steht, und/oder eine letzte Lesezeit, die mit der letzten Seite in Verbindung steht, im Wesentlichen gleich einer Zwischenlesezeit ist/sind, die mit der einen oder den mehreren Zwischenseiten in Verbindung steht.
  19. Verfahren nach Anspruch 18, wobei das Lesen der unteren Seite Folgendes beinhaltet: Durchführen mehrerer Vergleiche zwischen Leseebenen und Bestimmen von Bitwerten der unteren Seite, basierend auf den mehreren Vergleichen.
  20. Verfahren nach Anspruch 19, wobei das Durchführen der mehreren Vergleiche das Durchführen von Vergleichen zwischen drei Leseebenen beinhaltet.
  21. Verfahren nach Anspruch 19, wobei das Durchführen der mehreren Vergleiche das Durchführen von Vergleichen zwischen vier Leseebenen beinhaltet.
  22. Verfahren nach einem der Ansprüche 18 bis 21, wobei das Lesen der einen oder mehreren Zwischenseiten das Lesen einer oberen Seite beinhaltet, wobei die Zwischenlesezeit mit der oberen Seite in Verbindung gebracht wird.
  23. Verfahren nach einem der Ansprüche 18 bis 21, wobei das Lesen der einen oder mehreren Zwischenseiten das Lesen einer extra Seite beinhaltet, wobei die Zwischenlesezeit mit der extra Seite in Verbindung gebracht wird.
  24. Verfahren nach Anspruch 18, wobei der Satz von Mehrebenen-NVM-Zellen eine Vier-Ebenen-Zell-Architektur beinhaltet.
  25. Chip-Steuerungsvorrichtung, umfassend Mittel zum Durchführen des Verfahrens nach einem der Ansprüche 18 bis 21.
DE112017006698.0T 2016-12-30 2017-11-16 Erreichen einheitlicher lesezeiten in nicht flüchtigen mehrebenenspeichern Pending DE112017006698T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/395,062 2016-12-30
US15/395,062 US9811269B1 (en) 2016-12-30 2016-12-30 Achieving consistent read times in multi-level non-volatile memory
PCT/US2017/061996 WO2018125418A1 (en) 2016-12-30 2017-11-16 Achieving consistent read times in multi-level non-volatile memory

Publications (1)

Publication Number Publication Date
DE112017006698T5 true DE112017006698T5 (de) 2019-09-05

Family

ID=60189481

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017006698.0T Pending DE112017006698T5 (de) 2016-12-30 2017-11-16 Erreichen einheitlicher lesezeiten in nicht flüchtigen mehrebenenspeichern

Country Status (4)

Country Link
US (3) US9811269B1 (de)
CN (1) CN110023895B (de)
DE (1) DE112017006698T5 (de)
WO (1) WO2018125418A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811269B1 (en) * 2016-12-30 2017-11-07 Intel Corporation Achieving consistent read times in multi-level non-volatile memory
US10229735B1 (en) 2017-12-22 2019-03-12 Intel Corporation Block management for dynamic single-level cell buffers in storage devices
US10909040B2 (en) 2018-04-19 2021-02-02 Intel Corporation Adaptive calibration of nonvolatile memory channel based on platform power management state
KR20210024269A (ko) 2019-08-21 2021-03-05 삼성전자주식회사 빠른 읽기 페이지를 포함하는 불휘발성 메모리 장치 및 이를 포함하는 스토리지 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7966550B2 (en) 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US8254167B2 (en) * 2010-05-17 2012-08-28 Seagate Technologies Llc Joint encoding of logical pages in multi-page memory architecture
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US9588883B2 (en) * 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
EP2780912B1 (de) 2011-11-18 2016-10-26 SanDisk Technologies LLC Nichtflüchtiger speicher mit datenwiederherstellung
US8887011B2 (en) * 2012-09-13 2014-11-11 Sandisk Technologies Inc. Erased page confirmation in multilevel memory
US10468096B2 (en) * 2012-10-15 2019-11-05 Seagate Technology Llc Accelerated soft read for multi-level cell nonvolatile memories
US9063879B2 (en) 2012-12-13 2015-06-23 Sandisk Technologies Inc. Inspection of non-volatile memory for disturb effects
US20140169102A1 (en) * 2012-12-19 2014-06-19 Western Digital Technologies, Inc. Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
US9093170B2 (en) * 2013-03-01 2015-07-28 Intel Corporation Multi-level cell (MLC) non-volatile memory data reading method and apparatus
US9454474B2 (en) * 2013-03-05 2016-09-27 Western Digital Technologies, Inc. Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
KR102174030B1 (ko) * 2014-05-13 2020-11-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법
US9529668B2 (en) * 2014-09-26 2016-12-27 Intel Corporation Method and system for using NAND page buffers to improve the transfer buffer utilization of a solid state drive
US20160098197A1 (en) 2014-10-06 2016-04-07 SanDisk Technologies, Inc. Nonvolatile memory and method with state encoding and page-by-page programming yielding invariant read points
US9811269B1 (en) * 2016-12-30 2017-11-07 Intel Corporation Achieving consistent read times in multi-level non-volatile memory

Also Published As

Publication number Publication date
US20190332277A1 (en) 2019-10-31
CN110023895A (zh) 2019-07-16
US10254977B2 (en) 2019-04-09
US9811269B1 (en) 2017-11-07
WO2018125418A1 (en) 2018-07-05
US20180188978A1 (en) 2018-07-05
US10871903B2 (en) 2020-12-22
CN110023895B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
DE112014004778B4 (de) Vorrichtung und Verfahren zum Verwalten von Chipgruppen
DE112011102160B4 (de) Wear-levelling bei Zellen/Seiten/Teilseiten/Blöcken eines Speichers
DE102011055714B4 (de) Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
DE112018004251T5 (de) Adaptive vorrichtungsdienstqualität durch host-speicherpufferbereich
DE102008005338B4 (de) Integrierter Schaltkreis mit einer Speicherzellenanordnung und Verfahren zum Lesen eines Speicherzellenzustands unter Verwendung einer Mehrzahl von Teil-Leseoperationen
DE112016004760T5 (de) System und Verfahren für direktes Schreiben auf einen MLC-Speicher
DE112017006698T5 (de) Erreichen einheitlicher lesezeiten in nicht flüchtigen mehrebenenspeichern
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102019133129A1 (de) Mehrphasenprogrammierung mit symmetrischer gray-codierung
DE112019000139T5 (de) Nichtflüchtiges speichersystem mit dynamischer zuweisung von anwendungen zu einem speicher basierend auf nutzungsüberwachung
DE102007031027A1 (de) Leseverfahren einer Speichervorrichtung
DE112008002553T5 (de) Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE3128729A1 (de) Halbleiter-speichersystem
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE112019000161T5 (de) Speicher-cache-verwaltung
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102019134294A1 (de) Nichtflüchtiges speichersystem mit schneller wiederherstellung nach nicht ordnungsgemässem herunterfahren
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird
DE112017005197T5 (de) Hybrid-Komprimierungsschema zur effizienten Speicherung synaptischer Gewichte in neuromorphen Hardware-Kernen
DE112019005506T5 (de) Systeme und verfahren zum finden einer letzten guten seite in einem offenen nand-block
DE102022004129A1 (de) Zurückkopier-lösch-befehl zur durchführung einer scan- und leseoperation in einer speichervorrichtung
DE102021116033A1 (de) Vereinfachte verwaltung von chips und blöcken mit hoher kapazität