-
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
-