DE112017004919T5 - Bestimmung der Abgrenzungsspannung zur Handhabung von Drift in nichtflüchtigen Speichergeräten - Google Patents

Bestimmung der Abgrenzungsspannung zur Handhabung von Drift in nichtflüchtigen Speichergeräten Download PDF

Info

Publication number
DE112017004919T5
DE112017004919T5 DE112017004919.9T DE112017004919T DE112017004919T5 DE 112017004919 T5 DE112017004919 T5 DE 112017004919T5 DE 112017004919 T DE112017004919 T DE 112017004919T DE 112017004919 T5 DE112017004919 T5 DE 112017004919T5
Authority
DE
Germany
Prior art keywords
nonvolatile memory
voltage
memory device
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
DE112017004919.9T
Other languages
English (en)
Inventor
Bruce Querbach
Zion S. Kwok
Christopher F. Connor
Philip Hillier
Jeffrey W. Ryden
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix NAND Product Solutions 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 DE112017004919T5 publication Critical patent/DE112017004919T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • 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/30Power supply circuits

Landscapes

  • Read Only Memory (AREA)

Abstract

Ein vorgegebenes Bitmuster wird in eine nichtflüchtige Speichervorrichtung geschrieben, bevor die nichtflüchtige Speichervorrichtung heruntergefahren wird. Eine Vielzahl von Spannungen werden an die nichtflüchtige Speichervorrichtung angelegt, um zu bestimmen, welche Spannung der Vielzahl von Spannungen ein Lesen des vorbestimmten Bitmusters mit einer minimalen Fehlerquote ermöglicht. Die ermittelte Spannung wird als Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung festgelegt.

Description

  • HINTERGRUND
  • Ein flüchtiger Speicher ist eine Art Computerspeicher, dessen Inhalte gelöscht werden, wenn die Stromversorgung des flüchtigen Speichers ausgeschaltet oder unterbrochen wird. Zum Beispiel ist ein dynamischer Direktzugriffsspeicher (DRAM) eine Variante eines flüchtigen Speichers. Eine nichtflüchtige Speichervorrichtung ist eine Art Computerspeicher, der gespeicherte Informationen aufbewahren kann, auch nachdem der Stromkreis unterbrochen wurde (d. H. ausgeschaltet und wieder eingeschaltet wurde). Mit anderen Worten, der nichtflüchtige Speicher kann Daten dauerhaft speichern. Beispiele für nichtflüchtige Speicher stellen Nur-Lese-Speicher (ROM), Flash-Speicher usw.dar.
  • Ein Dual-In-Line-Speichermodul (DIMM) ist eine Speichervorrichtung, die eine Reihe von integrierten SpeicherSchaltkreisen umfasst. Solche Module können auf einer Schaltkreissplatine montiert sein und zur Verwendung in Computergeräten ausgelegt sein. Eine zentrale Verarbeitungseinheit (CPU) in einem Computergerät kann auf das DIMM zugreifen, um Lese- oder Schreibvorgänge auszuführen. DIMMs können flüchtigen oder nichtflüchtigen integrierten SpeicherSchaltkreisen umfassen.
  • Ein Solid State Drive (SSD) ist eine Speichervorrichtung, die integrierte Schaltungsanordnungen als Speicher verwendet, um Daten dauerhaft zu speichern. Viele Arten von SSDs verwenden einen NAND-basierten Flash-Speicher, bei dem der NANDbasierte Flash-Speicher Daten nach dem Stromausfall speichern kann.
  • Figurenliste
  • Unter Bezugnahme auf die Zeichnungen, in denen gleichartige Referenznummern durchgängig entsprechende Teile darstellen:
    • 1 zeigt ein Blockdiagramm einer Computerumgebung, in der ein Host mit einer nichtflüchtigen Speichervorrichtung gekoppelt ist, die nichtflüchtigen Speichern umfassen, gemäß bestimmten Ausführungsformen;
    • 2 zeigt ein Blockdiagramm, das zeigt, wie eine Abgrenzungsspannung angelegt wird, um Daten aus einer nichtflüchtigen Speicherzelle zu lesen, gemäß bestimmten Ausführungsformen;
    • 3 zeigt ein Blockschaltbild, das zeigt, wie eine Abgrenzungsspannung für eine nichtflüchtige Speicherzelle mit der Zeit ansteigt, gemäß bestimmten Ausführungsformen;
    • 4 zeigt ein Blockdiagramm, das den Driftseffekt der Abgrenzungsspannung zeigt, gemäß bestimmten Ausführungsformen
    • 5 zeigt ein Flussdiagramm, das erste Operationen zum Einstellen einer Abgrenzungsspannung zeigt, gemäß bestimmten Ausführungsformen;
    • 6 zeigt ein Flussdiagramm, das zweite Operationen zum Einstellen einer Abgrenzungsspannung zeigt, gemäß bestimmten Ausführungsformen;
    • 7 zeigt ein Flussdiagramm, das dritte Operationen zum Einstellen einer Abgrenzungsspannung zeigt, gemäß bestimmten Ausführungsformen;
    • 8 zeigt ein Blockdiagramm, das einen Mechanismus zum Verbessern der Latenz bei der Bestimmung der Abgrenzungsspannung zeigt, in Übereinstimmung mit bestimmten Ausführungsformen;
    • 9 zeigt ein Blockschaltbild eines Dual-Inline-Speichermoduls (DFMM), in dem die Abgrenzungsspannung bestimmt wird, gemäß bestimmten Ausführungsformen
    • 10 zeigt ein Blockdiagramm eines Systems, das eine Steuereinheit, einen Host, eine nichtflüchtige Speichervorrichtung, ein DFMM, eine SSD oder eine Computervorrichtung umfasst, gemäß bestimmten Ausführungsformen
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und die mehrere Ausführungsformen zeigen. Es versteht sich, dass andere Ausführungsformen verwendet werden können und strukturelle und operative Änderungen vorgenommen werden können.
  • Sobald Daten in eine nichtflüchtige Speichervorrichtung geschrieben sind, kann die Spannung, die an die nichtflüchtige Speichervorrichtung angelegt werden muss, um die Daten korrekt zu lesen, mit der Zeit ansteigen. Wenn anstelle der näherungsweisen Bestimmung der richtigen Spannung, die zum korrekten Lesen der Daten angelegt werden muss, eine statische Spannung verwendet wird, werden wahrscheinlich falsche Daten gelesen. Wenn das nichtflüchtige Speichergerät ausgeschaltet und anschließend wieder eingeschaltet wird, muss die richtige Spannung angelegt werden, um die Daten korrekt zu lesen.
  • In bestimmten Ausführungsformen wird ein vorbestimmtes Bitmuster in die nichtflüchtige Speichervorrichtung geschrieben, bevor die nichtflüchtige Speichervorrichtung abgeschaltet wird. Eine Vielzahl von Spannungen wird an die nichtflüchtige Speichervorrichtung angelegt, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen das vorbestimmte Bitmuster mit der de geringsten Fehlermenge lesen lässt. Die Spannung, die bestimmt wird, wird als Abgrenzungsspannung (d. H. eine Lesereferenzspannung) bezeichnet, die zum korrekten Lesen von Daten aus der nichtflüchtigen Speichervorrichtung verwendet wird.
  • 1 zeigt ein Blockdiagramm einer Datenverarbeitungsumgebung 100, in der ein Host 102 Daten in eine nichtflüchtige Speichervorrichtung 104 schreibt, gemäß bestimmten Ausführungsformen. Die nichtflüchtige Speichervorrichtung 104 kann eine Steuerung 106 und einen nichtflüchtigen Speicherkomplex 108 umfassen, wobei in bestimmten Ausführungsformen der nichtflüchtige Speicherkomplex 108 eine Vielzahl von nichtflüchtigen Speicherdies 110, 112 aufweisen kann, wobei jeder der nichtflüchtigen Speicherdies 110, 112 eine Vielzahl nichtflüchtiger Speicherzellen 114, 116 umfassen kann.
  • In bestimmten Ausführungsformen kann die Steuerung 106 über einen anwendungsspezifischen integrierten Schaltkreis (ASIC) implementiert werden. In bestimmten Ausführungsformen kann die Steuerung 106 eine Abgrenzungsspannungsbestimmungsanwendung 118 enthalten, die in Hardware, Software, Firmware oder einer Kombination davon implementiert ist. Die Abgrenzungsspannungsbestimmungsanwendung 118 bestimmt die an die nichtflüchtigen Speicherchips 110, 112 anzulegende Spannung, um die in die nichtflüchtigen Speicherzellen 114, 116 geschriebenen Daten korrekt zu lesen.
  • In bestimmten Ausführungsformen kann die nichtflüchtige Speichervorrichtung 104 ein nichtflüchtiger Speicher-DIMM sein, der in bestimmten Ausführungsformen nichtflüchtige integrierte Speicherschaltkreise umfassen kann, wobei eine nichtflüchtige Speichervorrichtung ein Speichermedium ist, das zur Bewahrung der gespeicherten Daten des Speichermediums keine Energie benötigt. In bestimmten Ausführungsformen kann der nichtflüchtige Speicher-DIMM aus einem Triple Level Cell (TLC) -NAND oder einem beliebigen anderen NAND-Typ (z. B. Single Level Cell (SLC), Multi Level Cell (MLC), Quad Level Cell (QLC)). usw.] oder aus einer anderen Art von nichtflüchtigem Speicher aufweisen kann. In anderen Ausführungsformen kann der nichtflüchtige Speicher-DIMM aus bestimmten anderen Arten von nichtflüchtigen Speichern wie beispielsweise einem NOR-Speicher oder einem anderen geeigneten nichtflüchtigen Speicher umfassen. Nicht einschränkende Beispiele eines nichtflüchtigen Speichers können ein beliebiger oder eine Kombination aus folgendem umfassen: Festkörperspeicher [wie z. B. planarer oder dreidimensionaler (3D) NAND-Flash-Speicher oder NOR Flash Speicher]; Speichervorrichtungen, die Chalkogenid-Phasenwechselmaterial (z. B. Chalkogenidglas) verwenden, byteadressierbare nichtflüchtige Speichervorrichtungen, ferroelektrischer Speicher, Siliziumoxid-Nitridoxid-Silizium-Speicher (SONOS), Polymerspeicher (z. B. ferroelektrischer Polymerspeicher) ), dreidimensionaler (3D) Crosspoint-Speicher, ferroelektrischer Direktzugriffsspeicher (Fe-TRAM), ovonischer Speicher, Nanodrahtspeicher, elektrisch löschbarer programmierbarer Nur-Lese-Speicher. (EEPROM), andere Arten von nichtflüchtigen Direktzugriffsspeichern (RAMs) und magnetischen Speichern. In einigen Ausführungsformen kann der 3D-Crosspoint-Speicher eine transistorlose stapelbare Crosspoint-Architektur umfassen, in der Speicherzellen an der Kreuzung von Wortleitungen und Bitleitungen sitzen und individuell adressierbar sind und in der die Bitspeicherung auf einer Änderung des Volumenwiderstands basiert. In bestimmten Ausführungsformen kann ein DIMM mit einem nichtflüchtigen Speicher einem oder mehreren Standards entsprechen, die vom Joint Electron Device Engineering Council (JEDEC), wie JESD218, JESD219, JESD220-1, JESD223B, JESD223-1 oder einem anderen geeigneten Standard, veröffentlicht wurden (Die hier zitierten JEDEC-Standards sind unter www.jedec.org verfügbar). In bestimmten Ausführungsformen kann die nichtflüchtige Speichervorrichtung 104 aus einem Solid-State-Laufwerk oder einer anderen Art von Vorrichtung umfassen, die einen nichtflüchtigen Speicher enthält. Es sei angemerkt, dass ein DIMM oder ein Solid-State-Laufwerk Beispiele für die nichtflüchtige Speichervorrichtung 104 sind und die nichtflüchtige Speichervorrichtung 104 aus einem beliebigen Typ eines nichtflüchtigen Speichers umfassen kann.
  • In bestimmten Ausführungsformen kann der Host 102 aus einer beliebigen geeigneten Rechnervorrichtung umfassen, beispielsweise einem Personal Computer, einem Großrechner, einer Telefonievorrichtung, einem Smartphone, einem Speichercontroller, einem Blade-Computer, einem Prozessor mit Speicher usw.. 1 zeigt, dass die nichtflüchtige Speichervorrichtung 104 außerhalb des Hosts 102 angeordnet ist. In bestimmten Ausführungsformen kann die nichtflüchtige Speichervorrichtung 104 in dem Host enthalten sein. In bestimmten Ausführungsformen kann der Host 102 mit der nichtflüchtigen Speichervorrichtung 104 über einen Bus (wie etwa einen Peripheral Component Interconnect (PCle), eine seriell erweiterte Technologieanbindung (SATA), eine seriell angeschlossene kleine Computersystemschnittstelle (SAS)) oder ein Netzwerk wie das Internet, ein Storage Area Network (SAN), ein Local Area Network (LAN) usw. kommunizieren.
  • 2 zeigt ein Blockdiagramm 200, das zeigt, wie eine Abgrenzungsspannung angelegt wird, um Daten aus einer nichtflüchtigen Speicherzelle zu lesen, gemäß bestimmten Ausführungsformen. Die Abgrenzungsspannung ist so definiert, dass sie jede Art von Lesereferenzspannung umfasst, die angelegt wird, um Daten aus einer beliebigen Art von nichtflüchtiger Speicherzelle zu lesen.
  • In 2 ist Vt202 eine Abgrenzungsspannung, die die minimale Spannung bezeichnet, bei der Strom durch eine nichtflüchtige Speicherzelle fließt (wie durch das Bezugszeichen 204 gezeigt). Abgrenzungsspannung (VDM) 206 bezeichnet die Abgrenzungsspannung, die während eines Lesevorgangs, bei dem Daten aus der nichtflüchtigen Speicherzelle gelesen werden, an eine nichtflüchtige Speicherzelle erforderlich ist (wie durch das Bezugszeichen 208 gezeigt).
  • Block 210 zeigt den Zustand, in dem die an eine nichtflüchtige Speicherzelle angelegte Abgrenzungsspannung geringer ist als die erforderliche Abgrenzungsspannung (d. H. VDM <Vt). In einem solchen Zustand fließt kein Strom durch die Speicherzelle, und die nichtflüchtige Speicherzelle wird als Null gelesen (wie durch die Bezugszeichen 212, 214 gezeigt).
  • Block 216 zeigt den Zustand, in dem die an eine nichtflüchtige Speicherzelle angelegte Abgrenzungsspannung größer oder gleich der erforderlichen Abgrenzungsspannung ist (d. H. VDM> = Vt). In einem solchen Zustand fließt Strom durch die Speicherzelle, und die nichtflüchtige Speicherzelle wird durchgängig gelesen (wie durch die Bezugszeichen 218, 220 gezeigt).
  • Wenn in alternativen Ausführungsformen Strom durch eine nichtflüchtige Speicherzelle fließt, wird die nichtflüchtige Speicherzelle als Null gelesen, und wenn kein Strom durch eine nichtflüchtige Speicherzelle fließt, wird die nichtflüchtige Speicherzelle als eine Einheit gelesen , wobei Null und Eins zwei verschiedene Zustände der nichtflüchtigen Speicherzelle bezeichnen.
  • 3 zeigt ein Blockdiagramm 300, das zeigt, wie eine Abgrenzungsspannung für eine nichtflüchtige Speicherzelle mit der Zeit ansteigt, gemäß bestimmten Ausführungsformen. Der zeitliche Anstieg der Abgrenzungsspannung wird als Drift der Abgrenzungsspannung bezeichnet.
  • Block 302 zeigt mehrere Speicherzellen, deren Abgrenzungsspannung Vt ist, und Daten (d. H. Null oder eins) werden in jede der mehreren nichtflüchtigen Speicherzellen geschrieben (bei Block 304). Nachdem Daten in jede der Vielzahl von nichtflüchtigen Speicherzellen geschrieben sind, steigt die Abgrenzungsspannung Vt im Laufe der Zeit an (wie durch das Bezugszeichen 306 gezeigt), wobei die Zunahme der Abgrenzungsspannung für verschiedene nichtflüchtige Speicherzellen unterschiedlich sein kann. Wenn die Abgrenzungsspannung Vt ansteigt, kann ein Bruchteil der „1“ -Bits in einer Vielzahl von nichtflüchtigen Speicherzellen ein Vt haben, das größer als die Abgrenzungsspannung VDM ist, und dieser Bruchteil der „1“ -Bits wird falsch gelesen als Null, wenn die Abgrenzungsspannung VDM an die Vielzahl von nichtflüchtigen Speicherzellen angelegt wird.
  • 4 zeigt ein Blockdiagramm 400, das einen Graph 402 zeigt, der die Auswirkung auf den Drift der Abgrenzungsspannung zeigt, gemäß bestimmten Ausführungsformen.
  • In 4 gibt die X-Achse die Abgrenzungsspannung Vt an (Bezugszeichen 404), und die Y-Achse kennzeichnet den Prozentsatz der Bits aus einer Vielzahl nichtflüchtiger Speicherzellen mit geringeren oder gleichen erforderlichen Abgrenzungsspannungswerten Vt Im Vergleich zu den jeweiligen X-Achsen Werten (Bezugszeichen 406).
  • Die mit 1, 2, 3, 4, 5, 6, 7, 8 bezeichneten Linien (dargestellt mit den Bezugszeichen 408, 410, 412, 414, 416, 418, 420, 422), die in dem Graphen 402 gezeigt sind, sind in der in 42 gezeigten Legende 424 beschrieben. 4
  • Die Linie 1 (Bezugszeichen 408) bezeichnet den Prozentsatz nichtflüchtiger Speicherzellen mit Speicherwert „1“ unmittelbar nach dem Schreiben in die nichtflüchtigen Speicherzellen. Die Linie 2 (Bezugszeichen 410) bezeichnet den Prozentsatz nichtflüchtiger Speicherzellen mit Speicherwert „1“, nachdem eine kurze Zeitspanne nach dem Schreiben in die nichtflüchtigen Speicherzellen vergangen ist. Die Linie 3 (Bezugszeichen 412) bezeichnet den Prozentsatz nichtflüchtiger Speicherzellen mit Speicherwert „1“, nachdem eine lange Zeitspanne nach dem Schreiben in die nichtflüchtigen Speicherzellen vergangen ist. Die Linie 4 (Bezugszeichen 414) bezeichnet den Prozentsatz nichtflüchtiger Speicherzellen mit Speicherwert „0“, unmittelbar nach dem Schreiben in die nichtflüchtigen Speicherzellen. Die Linie 5 (Bezugszeichen 416) bezeichnet den Prozentsatz nichtflüchtiger Speicherzellen mit Speicherwert „0“, nachdem eine kurze Zeitspanne nach dem Schreiben in die nichtflüchtigen Speicherzellen vergangen ist. Die Linie 6 (Bezugszeichen 418) bezeichnet den Prozentsatz nichtflüchtiger Speicherzellen mit Speicherwert „0“, nachdem eine lange Zeitspanne nach dem Schreiben in die nichtflüchtigen Speicherzellen vergangen ist.
  • In dem Diagramm 402 kennzeichnet die Linie 7 (Bezugszeichen 420) eine sichere Abgrenzungsspannung VDM1, die verwendet werden sollte, nachdem eine kurze Zeitspanne nach dem Schreiben in die Vielzahl von Speicherzellen verstrichen ist, während Linie 7 (durch das Bezugszeichen 420 gezeigt) die Linien 2 (Bezugszeichen 410) und Linie 5 (Bezugszeichen 416) trennt. Wenn die Steuerung 106 im Anschluß an die „kurze Zeitspanne“ nach dem Schreiben die sichere Abgrenzungsspannung VDM1 an die Vielzahl der nichtflüchtigen Speicherzellen 114, 116 anlegt, werden die Daten korrekt aus der Vielzahl der nichtflüchtigen Speicherzellen 114, 116 gelesen.
  • In dem Diagramm 402 kennzeichnet die Linie 8 (Bezugszeichen 422) eine sichere Abgrenzungsspannung VDM2 an, die verwendet werden sollte, nachdem eine lange Zeitspanne nach dem Schreiben in die Vielzahl von Speicherzellen verstrichen ist, während die Linie 8 (durch das Bezugszeichen 422 gezeigt) die Linie 3 (Bezugszeichen 412) und Linie 6 (Bezugszeichen 418) trennt. Wenn die Steuerung 106 im Anschluß an die „lange Zeitspanne“ nach dem Schreiben die sichere Abgrenzungsspannung VDM2 an die Vielzahl der nichtflüchtigen Speicherzellen 114, 116 anlegt, werden Daten korrekt aus den mehreren nichtflüchtigen Speicherzellen 114, 116 gelesen.
  • Daher zeigt 4, dass die Abgrenzungsspannung VDM2, die im Anschluß an eine lange Zeitspanne nach dem Schreiben in nichtflüchtige Speicherzellen verwendet wird, größer ist als die Abgrenzungsspannung VDM1, die im Anschluß an eine kurze Zeitspanne nach dem Schreiben in nichtflüchtige Speicherzellen verwendet wird. In bestimmten Ausführungsformen können VDM1 und VDM2 experimentell oder durch Modellieren und Simulation einer nichtflüchtigen Speichervorrichtung bestimmt werden und können zum Zeitpunkt der Herstellung der nichtflüchtigen Speichervorrichtung in einem nichtflüchtigen Speicher gespeichert werden.
  • 5 zeigt ein Flussdiagramm 500, das erste Operationen zum Bestimmen einer Abgrenzungsspannung zeigt, gemäß verschiedenen Ausführungsformen. Die in 5 kann durch die Abgrenzungsspannungsbestimmungsanwendung 118 ausgeführt werden, die in der Steuerung 106 der nichtflüchtigen Speichervorrichtung 104 durchgeführt wird.
  • Die Steuerung beginnt bei Block 502, in dem die Abgrenzungsspannungsbestimmungsanwendung 118 ein vorbestimmtes Bitmuster (z. B. „1010110“ oder ein anderes Muster mit fester Länge) schreibt, während ein Speichersystem, wie beispielsweise die nichtflüchtige Speichervorrichtung 104, oder ein nichtflüchtiger Speicherchip (z. B. 110, 112) heruntergefahren wird. Nach dem Schreiben des vorbestimmten Bitmusters wird das Speichersystem ausgeschaltet und dann wieder eingeschaltet. Während oder unmittelbar nach dem Einschalten des Speichersystems liest die Abgrenzungsspannungsbestimmungsanwendung 118 die nichtflüchtigen Speicherzellen durch Anlegen der beiden Abgrenzungsspannungen VDM1 und VDM2 (beschrieben in 4), um zu bestimmen, durch welches die zuvor geschriebene vorbestimmte Bitstruktur richtig gelesen wird (bei Block 504). Die Steuerung fährt mit Block 506 fort, in dem die Abgrenzungsspannungsbestimmungsanwendung 118 die ermittelte Spannung (VDM1 oder VDM2) als Abgrenzungsspannung festgelegt. Daher ist in 5 die Abgrenzungsspannung entweder als VDM1 oder VDM2, jedoch nicht als beides bestimmt.
  • 6 zeigt ein Flussdiagramm 600, das zweite Operationen zum Bestimmen einer Abgrenzungsspannung zeigt, gemäß bestimmten Ausführungsformen. Die in 6 gezeigten Operationen können durch die Abgrenzungsspannungsbestimmungsanwendung 118 ausgeführt werden, die in der Steuerung 106 der nichtflüchtigen Speichervorrichtung 104 durchgeführt wird.
  • Die Steuerung beginnt bei Block 602, in dem die Abgrenzungsspannungsbestimmungsanwendung 118 ein vorbestimmtes Bitmuster (z. B. „1010110“ oder ein anderes Muster mit fester Länge) schreibt, während ein Speichersystem, beispielsweise die nichtflüchtige Speichervorrichtung 104, oder ein nichtflüchtiger Speicherchip (z. B. 110, 112) heruntergefahren wird. Nach dem Schreiben des vorbestimmten Bitmusters wird das Speichersystem ausgeschaltet und dann wieder eingeschaltet. Während oder unmittelbar nach dem Einschalten des Speichersystems liest die Abgrenzungsspannungsbestimmungsanwendung 118 die nichtflüchtigen Speicherzellen durch Anlegen einer Vielzahl von Spannungen, um zu bestimmen, welche Spannung bewirkt, dass das zuvor geschriebene vorbestimmte Bitmuster mit der geringsten Anzahl von Fehlern gelesen wird (bei Block 604). Die Steuerung geht weiter zu Block 606, in dem die Abgrenzungsspannungsbestimmungsanwendung 118 die ermittelte Spannung als Abgrenzungsspannung festlegt. Daher ist in 5 die Abgrenzungsspannung die angelegte Spannung, die das vorbestimmte Muster mit der geringsten Anzahl von Fehlern liest. Es sei darauf hingewiesen, dass die Bestimmung der Abgrenzungsspannung umso effektiver abläuft, je größer die Anzahl der angelegten Spannungen ist. Das Anlegen vieler Spannungen zum Bestimmen der Abgrenzungsspannung kann jedoch zeitaufwendiger sein als das Anlegen weniger Spannungen.
  • 7 zeigt ein Flussdiagramm 700, das dritte Operationen zum Einstellen einer Abgrenzungsspannung zeigt, gemäß bestimmten Ausführungsformen. Die in 7 gezeigten Operationen können durch die Abgrenzungsspannungsbestimmungsanwendung 118 ausgeführt werden, die in der Steuerung 106 der nichtflüchtigen Speichervorrichtung 104 durchgeführt wird.
  • Die Steuerung beginnt bei Block 702, in dem ein vorbestimmtes Bitmuster in eine nichtflüchtige Speichervorrichtung geschrieben wird, bevor die nichtflüchtige Speichervorrichtung abgeschaltet wird. Eine Vielzahl von Spannungen wird (bei Block 704) an die nichtflüchtige Speichervorrichtung angelegt, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen ein Lesen des vorbestimmten Bitmusters mit der geringsten Fehlermenge ermöglicht. Die ermittelte Spannung (bei Block 708), wird als Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung festgelegt.
  • 8 zeigt ein Blockdiagramm 800, das Ausführungsformen zeigt, die eine verbesserte Latenz zum Bestimmen der Abgrenzungsspannung bereitstellen, gemäß bestimmten Ausführungsformen. Die Abgrenzungsspannungsbestimmungsanwendung 118 kann einen Lernmechanismus 802 enthalten, der die Abgrenzungsspannungsbestimmungsanwendung 118 erweitert. Der Lernmechanismus 802 kann die Parameter 804 verwenden, beispielsweise den Zeitpunkt der Herstellung 806 einer nichtflüchtigen Speichervorrichtung, und die Temperatur 808, bei welcher die nichtflüchtige Speichervorrichtung arbeitet, die Laufzeit 810 der nichtflüchtigen Speichervorrichtung und die Auszeit der nichtflüchtigen Speichervorrichtung, um die verschiedenen anzulegenden Spannungen zu bestimmen, die zur Festlegung der Abgrenzungsspannung verwendet werden sollen.
  • 9 zeigt ein Blockdiagramm 900 eines DIMM 902, in dem die Abgrenzungsspannung bestimmt wird, gemäß bestimmten Ausführungsformen. Das DIMM kann der in 1 gezeigten nichtflüchtigen Speichervorrichtung 104 entsprechen. 1.
  • Der DFMM 902 kann einen Mikrocontroller 904 enthalten, der dem in 1 gezeigten Controller 106 entspricht. Der DFMM 902 kann auch eine Vielzahl von Chips mit nichtflüchtigem Speicher 906, 908, 910, 912, 914, 916 enthalten. Der DIMM 902 enthält auch eine Energieverwaltungssteuerung 920 und Datenpuffer, wie etwa den Datenpuffer 922. Den Chips mit nichtflüchtigem Speicher 906, 908, 910, 912, 914, 916 können die Vielzahl von Chips mit nichtflüchtigem Speicher 110, 112 entsprechen, die in der in 1 gezeigten nichtflüchtigen Speichervorrichtung 104 enthalten sind. und die Abgrenzungsspannung kann durch den Mikrocontroller 904 des DIMM 902 bestimmt werden.
  • Daher zeigen die 1-9 bestimmte Ausführungsformen zum Bestimmen der Abgrenzungsspannung zum korrekten Lesen von Daten aus dem nichtflüchtigen Speicher, wenn sich die Abgrenzungsspannung zum Lesen der Nullen und der Is nach einiger Zeit nach dem Schreiben in den nichtflüchtigen Speicher ändern. Lernmechanismen können verwendet werden, um zu bestimmen, welche Spannungen anzulegen sind, um die Abgrenzungsspannung zu bestimmen.
  • Die beschriebenen Operationen können als Verfahren, Vorrichtungen oder Computerprogramme unter Verwendung von Standardprogrammierungs- und/oder Engineeringtechniken implementiert werden, um Software, Firmware, Hardware oder eine Kombination davon zu erzeugen. Die beschriebenen Operationen können als Code implementiert werden, der in einem „computerlesbaren Speichermedium“ gehalten wird, wobei ein Prozessor den Code von dem computerlesbaren Medium lesen und ausführen kann. Das computerlesbare Speichermedium umfasst mindestens einen elektronischen Schaltkreis, Speichermaterialien, anorganische Materialien, organische Materialien, biologische Materialien, eine Ummantelung, ein Gehäuse, eine Beschichtung und Hardware. Ein computerlesbares Speichermedium kann ein magnetisches Speichermedium (z. B. Festplattenlaufwerke, Disketten, Band usw.), einen optischen Speicher (CD-ROMs, DVDs, optische Platten usw.), flüchtige und nichtflüchtige Speichervorrichtungen (z. B. EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash-Speicher, Firmware, programmierbare Logik usw.), Solid State Devices (SSD) usw. umfassen, ist jedoch nicht darauf beschränkt. Der Code, der die beschriebenen Operationen implementiert kann ferner in einer HardwareSchaltkreis oder in einer Hardwarevorrichtung (z. B. einem integrierten Schaltkreisschip, einem programmierbaren Gate-Array (PGA), einen anwendungsspezifischen integrierten Schaltkreis (ASIC) usw.) implementiert sein. Weiterhin kann der Code, der die beschriebenen Operationen implementiert, in „Übertragungssignalen“ enthalten sein, wobei diese Übertragungssignale sich durch den Raum oder durch ein Übertragungsmedium ausbreiten können, wie etwa durch eine optische Faser, Kupferdraht usw. Die Übertragungssignale, in welchen der Code oder der Schaltkreis verschlüsselt ist können ferner durch ein drahtloses Signal, eine Satellitenübertragung, Funkwellen, Infrarotsignale, Bluetooth usw. gesendet werden. Der auf einem computerlesbaren Speichermedium eingebettete Programmcode kann als Übertragungssignal von einer Sendestation oder einem Computer zu einer Empfangsstation oder anderen Computer gesendet werden. Ein computerlesbares Speichermedium besteht nicht nur aus Übertragungssignalen. Der Fachmann wird erkennen, dass an dieser Konfiguration viele Modifikationen vorgenommen werden können und dass der Herstellungsartikel ein geeignetes informationstragendes Medium sein kann, das im Stand der Technik bekannt ist.
  • Computerprogrammcodes zum Ausführen von Operationen für Aspekte der verschiedenen Ausführungsformen können in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben sein. Blöcke von Fließdiagrammen und Blockdiagramme können durch Computerprogrammanweisungen implementiert warden.
  • 10 zeigt ein Blockdiagramm eines Systems 1000, das der Steuereinheit 106, dem Host 102, der nichtflüchtigen Speichervorrichtung 104, einem DIMM, einer SSD oder einer Rechenvorrichtung entspricht, gemäß bestimmten Ausführungsformen. Zum Beispiel kann das System 1000 in bestimmten Ausführungsformen ein Computer sein (z. B. ein Laptop-Computer, ein Desktop-Computer, ein Tablet, ein Handy oder eine andere geeignete Rechenvorrichtung), der den Host 102 und die nichtflüchtige Speichervorrichtung 104 aufweist welche beide in dem System 1000 enthalten sind. Zum Beispiel kann das System 1000 in bestimmten Ausführungsformen ein Laptop-Computer sein, der die nichtflüchtige Speichervorrichtung 104 enthält.
  • Das System 1000 kann einen Schaltkreis 1002 enthalten, die in bestimmten Ausführungsformen mindestens einen Prozessor 1004 enthalten kann. Das System 1000 kann auch einen Speicher 1006 (z. B. eine flüchtige Speichervorrichtung) und einen Speicher 1008 enthalten. Der Speicher 1008 kann die flüchtige Speichervorrichtung 104 oder andere Laufwerke oder Vorrichtungen einschließlich einer nichtflüchtigen Speichervorrichtung (z. B. EEPROM, ROM, PROM, Flash, Firmware, programmierbare Logik usw.) enthalten. Der Speicher 1008 kann auch ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk usw. umfassen. Der Speicher 1008 kann eine interne Speichervorrichtung, eine angeschlossene Speichervorrichtung und/oder eine über ein Netzwerk zugreifbare Speichervorrichtung umfassen. Das System 1000 kann eine Programmlogik 1010 enthalten, die den Code 1012 enthält, der in den Speicher 1006 geladen und von dem Prozessor 1004 oder der Schaltkreis 1002 ausgeführt werden kann. In bestimmten Ausführungsformen kann die Programmlogik 1010 mit dem Code 1012 im Speicher 1008 gespeichert werden In bestimmten anderen Ausführungsformen kann die Programmlogik 1010 in der Schaltkreis 1002 implementiert sein. Während hier 10 die Programmlogik 1010 getrennt von den anderen Elementen zeigt, kann die Programmlogik 1010 im Speicher 1006 und/oder der Schaltkreis 1002 implementiert sein. Das System 1000 kann auch eine Anzeige 1014 (z. B. eine Flüssigkristallanzeige (LCD)), eine Leuchtdiode (LED), eine Kathodenstrahlröhre (CRT), ein Touchscreen-Display oder ein anderes geeignetes Display). enthalten Das System 1000 kann auch eine oder mehrere Eingabegeräte 1016 umfassen, beispielsweise eine Tastatur, eine Maus, einen Joystick, ein Trackpad oder beliebige andere geeignete Eingabegeräte. Abseits der in 10 gezeigten können auch andere Komponenten oder Vorrichtungen in dem System 1000 gefunden werden.
  • Bestimmte Ausführungsformen können sich auf ein Verfahren zum Bereitstellen von Berechnungsbefehlen durch eine Person oder eine automatisierte Verarbeitung beziehen, das einen computerlesbaren Code in ein Computersystem integriert, wobei der Code in Kombination mit dem Computersystem die Operationen der beschriebenen Ausführungsformen ausführen kann.
  • Die Phrasen „eine Ausführungsform“, „Ausführungsform“, „Ausführungsformen“, „die Ausführungsform“, „die Ausführungsformen“, „eine oder mehrere Ausführungsformen“, „einige Ausführungsformen“ und „eine Ausführungsform“ bedeuten „eine oder mehrere“ (aber nicht alle) Ausführungsformen, sofern nicht ausdrücklich anders angegeben.
  • Die Ausdrücke „einschließlich“, „umfassend“, „haben“ und Variationen davon bedeuten „einschließlich, aber nicht beschränkt auf“, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • Die aufgezählte Liste der Elemente bedeutet nicht, dass sich einzelne oder alle Elemente gegenseitig ausschließen, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • Die Ausdrücke „ein“, „einer“ und „der“ bedeuten „ein oder mehrere“, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • Geräte, die miteinander kommunizieren, müssen nicht ständig miteinander kommunizieren, sofern dies nicht ausdrücklich anders angegeben ist. Darüber hinaus können Geräte, die miteinander kommunizieren, direkt oder indirekt über einen oder mehrere Intermediäre kommunizieren
  • Eine Beschreibung einer Ausführungsform mit mehreren Komponenten, die miteinander kommunizieren, bedeutet nicht, dass alle diese Komponenten erforderlich sind. Im Gegenteil werden verschiedene optionale Komponenten beschrieben, um die große Vielfalt möglicher Ausführungsformen zu veranschaulichen.
  • Obwohl Prozessschritte, Verfahrensschritte, Algorithmen oder dergleichen in einer sequentiellen Reihenfolge beschrieben werden können, können solche Prozesse, Verfahren und Algorithmen so konfiguriert sein, dass sie in alternativer Reihenfolge arbeiten. Mit anderen Worten, jede Reihenfolge oder Abfolge von Schritten, die eventuell beschrieben werden können, zeigen nicht notwendigerweise eine Anforderung an, dass die Schritte in dieser Reihenfolge ausgeführt werden müssen. Die hier beschriebenen Verfahrensschritte können in beliebiger praktischer Reihenfolge durchgeführt werden. Ferner können einige Schritte gleichzeitig ausgeführt werden.
  • Wenn eine einzelne Vorrichtung oder ein einzelner Gegenstand hier beschrieben wird, ist es leicht ersichtlich, dass mehr als eine Vorrichtung/Gegenstand (unabhängig davon, ob sie zusammenarbeiten oder nicht) anstelle einer einzelnen Vorrichtung/Gegenstand verwendet werden kann. Wenn hier mehr als eine Vorrichtung oder mehr als ein Gegenstand beschrieben werden (unabhängig davon, ob sie zusammenarbeiten oder nicht), ist es leicht ersichtlich, dass eine einzelne Vorrichtung / ein einzelner Gegenstand anstelle der mehr als einen Vorrichtung/Gegenstand oder einer anderen Anzahl von Vorrichtungen oder Gegenständen verwendet werden kann anstelle der angezeigten Anzahl von Vorrichtungen oder Programmen. Die Funktionalität und/oder die Merkmale einer Vorrichtung können alternativ durch ein oder mehrere andere Geräte verkörpert sein, die nicht ausdrücklich als solche Funktionalität/Merkmale beschrieben werden. Somit müssen andere Ausführungsformen die Vorrichtung selbst nicht enthalten.
  • Zumindest bestimmte Operationen, die möglicherweise in den Figuren dargestellt wurden, zeigen bestimmte Ereignisse, die in einer bestimmten Reihenfolge auftreten. In alternativen Ausführungsformen können bestimmte Operationen in einer anderen Reihenfolge ausgeführt, modifiziert oder entfernt werden. Darüber hinaus können Schritte zu der oben beschriebenen Logik hinzugefügt werden und dennoch den beschriebenen Ausführungsformen entsprechen. Ferner können hierin beschriebene Operationen sequentiell erfolgen oder bestimmte Operationen können parallel verarbeitet werden. Des Weiteren können Operationen von einer einzelnen Verarbeitungseinheit oder von verteilten Verarbeitungseinheiten ausgeführt werden.
  • Die vorstehende Beschreibung verschiedener Ausführungsformen wurde zum Zwecke der Veranschaulichung und Beschreibung vorgelegt. Sie soll nicht erschöpfend sein oder auf die spezifisch offenbarten Formen beschränkt sein. In Anbetracht der obigen Darlegungen sind viele Modifikationen und Variationen möglich.
  • Beispiele
  • Die folgenden Beispiele betreffen weitere Ausführungsformen.
  • Beispiel 1 ist ein Verfahren zur Driftsteuerung, wobei das Verfahren das Schreiben eines vorbestimmten Bitmusters in eine nichtflüchtige Speichervorrichtung vor dem Abschalten der nichtflüchtigen Speichervorrichtung; das Anlegen einer Vielzahl von Spannungenen an die nichtflüchtige Speichervorrichtung, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen ein Lesen des vorbestimmten Bitmusters mit einer geringsten Fehlermenge ermöglicht; und das Einstellen der bestimmten Spannung als eine Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung umfasst.
  • In Beispiel 2 kann der Gegenstand von Beispiel 1 beinhalten, dass die nichtflüchtige Speichervorrichtung aus einer Vielzahl von nichtflüchtigen Speicherzellen aufweist, wobei, wenn Strom durch eine nichtflüchtige Speicherzelle fließt, beim Anlegen der Abgrenzungsspannung ein erster Status aus der nichtflüchtigen Speicherzelle ausgelesen wird, und wenn beim Anlegen der Abgrenzungsspannung kein Strom durch die nichtflüchtige Speicherzelle fließt, ein zweiter Status aus der nichtflüchtigen Speicherzelle ausgelesen wird.
  • In Beispiel 3 kann der Gegenstand von Beispiel 2 beinhalten, dass der erste Status, der ausgelesen wird, eins entspricht und der zweite Status, der ausgelesen wird, Null entspricht, wobei das vorbestimmte Bitmuster in die nichtflüchtige Speichervorrichtung in Reaktion auf das Initiieren eines Prozesses zum Herunterfahren der nichtflüchtigen Speichervorrichtung geschrieben wird.
  • In Beispiel 4 kann der Gegenstand von Beispiel 3 beinhalten, dass die nichtflüchtige Speichervorrichtung nach dem Abschalten der nichtflüchtigen Speichervorrichtung eingeschaltet wird.
  • In Beispiel 5 kann der Gegenstand von Beispiel 1 beinhalten, dass die Vielzahl von angelegten Spannungen eine erste Spannung und eine zweite Spannung umfassen und die zweite Spannung größer als die erste Spannung ist, wobei die erste Spannung als Abgrenzungsspannung bestimmt wird, wenn eine Zeitdauer zwischen einem Abschalten und einem Einschalten der nichtflüchtigen Speichervorrichtung relativ klein ist, und wobei die zweite Spannung als eine Abgrenzungsspannung bestimmt wird, wenn eine Zeitdauer, die zwischen dem Abschalten und dem Einschalten der nichtflüchtigen Speichervorrichtung liegt, relativ groß ist.
  • In Beispiel 6 kann der Gegenstand von Beispiel 1 beinhalten, dass die zum korrekten Lesen eines zuvor geschriebenen Bits anzulegende Spannung mit der Zeit ansteigt.
  • In Beispiel 7 kann der Gegenstand von Beispiel 1 beinhalten, dass zumindest eines zum Zeitpunkt der Herstellung, einer Temperatur, einer Einschaltzeit und einer Ausschaltzeit ebenfalls zum Bestimmen der Abgrenzungsspannung verwendet werden
  • In Beispiel 8 kann der Gegenstand von Beispiel 1 beinhalten, dass die Abgrenzungsspannung eine Lesereferenzspannung ist, wobei die nichtflüchtige Speichervorrichtung eine Vielzahl von nichtflüchtigen Speicherzellen aufweist.
  • Beispiel 9 ist eine nichtflüchtige Speichervorrichtung zur Driftsteuerimg, wobei die nichtflüchtige Speichervorrichtung einen nichtflüchtigen Speicher; und eine Steuerung, die mit dem nichtflüchtigen Speicher gekoppelt ist, wobei die Steuerung bedienbar ist, um: ein vorbestimmtes Bitmuster in die nichtflüchtige Speichervorrichtung zu schreiben, bevor die nichtflüchtige Speichervorrichtung heruntergefahren wird, das Anlegen einer Vielzahl von Spannungenen an die nichtflüchtige Speichervorrichtung, um zu bestimmen, welche Spannung der Vielzahl von Spannungen ein Lesen des vorbestimmten Bitmusters mit einer geringsten Fehlermenge ermöglicht und das Bestimmen der Spannung als eine Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung umfasst.
  • In Beispiel 10 kann der Gegenstand von Beispiel 9 beinhalten, dass der nichtflüchtige Speicher aus einer Vielzahl von nichtflüchtigen Speicherzellen aufweist, wobei, wenn der Strom durch eine nichtflüchtige Speicherzelle fließt, beim Anlegen der Abgrenzungsspannung ein erster Status vorliegt, die aus der nichtflüchtigen Speicherzelle ausgelesen wird, und wenn beim Anlegen der Abgrenzungsspannung kein Strom durch die nichtflüchtige Speicherzelle fließt, der zweite Status aus der nichtflüchtigen Speicherzelle ausgelesen wird.
  • In Beispiel 11 kann der Gegenstand von Beispiel 10 beinhalten, dass der erste Status, der gelesen wird, eins entspricht, und der zweite Status, der gelesen wird, Null entspricht, wobei das vorbestimmte Bitmuster in Reaktion auf das Initiieren eines Prozesses zum Herunterfahren der nichtflüchtigen Speichervorrichtung. in die nichtflüchtige Speichervorrichtung geschrieben wird.
  • In Beispiel 12 kann der Gegenstand von Beispiel 11 beinhalten, dass die nichtflüchtige Speichervorrichtung nach dem Abschalten der nichtflüchtigen Speichervorrichtung eingeschaltet wird.
  • In Beispiel 13 kann der Gegenstand von Beispiel 9 beinhalten, dass die Vielzahl von angelegten Spannungen eine erste Spannung und eine zweite Spannung umfassen, wobei die zweite Spannung größer als die erste Spannung ist und die erste Spannung als eine Abgrenzungsspannung bestimmt wird wenn eine Zeitdauer zwischen einem Abschalten und einem Einschalten der nichtflüchtigen Speichervorrichtung relativ klein ist, und die zweite Spannung als eine Abgrenzungsspannung bestimmt wird, wenn eine Zeitdauer, die zwischen dem Abschalten und dem Einschalten der nichtflüchtigen Speichervorrichtung liegt relativ groß ist.
  • In Beispiel 14 kann der Gegenstand von Beispiel 9 beinhalten, dass die zum korrekten Lesen eines zuvor geschriebenen Bits anzulegende Spannung mit der Zeit ansteigt.
  • In Beispiel 15 kann der Gegenstand von Beispiel 9 beinhalten, dass zumindest eines zum Zeitpunkt der Herstellung, einer Temperatur, einer Einschaltzeit und einer Ausschaltzeit ebenfalls zum Bestimmen der Grenzspannung verwendet wird.
  • In Beispiel 16 kann der Gegenstand von Beispiel 9 beinhalten, dass die Abgrenzungsspannung eine Lesereferenzspannung ist wobei die nichtflüchtige Speichervorrichtung ein Dual-Inline-Speichermodul (DIMM) und/oder ein Solid-State-Laufwerk (SSD) umfasst.
  • Beispiel 17 ist ein System zum Handhaben des Drifts, wobei das System eine Anzeige, eine nichtflüchtige Speichervorrichtung, die einen nichtflüchtigen Speicher und eine Steuerung, die mit dem nichtflüchtigen Speicher gekoppelt ist umfasst, wobei die Steuerung bedienbar ist, um ein vorbestimmtes Bitmuster in die nichtflüchtige Speichervorrichtung zu schreiben, bevor die nichtflüchtige Speichervorrichtung heruntergefahren wird, das Anlegen einer Vielzahl von Spannungenen an die nichtflüchtige Speichervorrichtung, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen ein Lesen des vorbestimmten Bitmusters mit einer geringsten Fehlermenge ermöglicht und das Bestimmen der ermittelten Spannung als eine Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung umfasst.
  • In Beispiel 18 kann der Gegenstand von Beispiel 18 beinhalten, dass der nichtflüchtige Speicher aus einer Vielzahl von nichtflüchtigen Speicherzellen aufweist und wenn ein Strom durch eine nichtflüchtige Speicherzelle fließt, beim Anlegen der Abgrenzungsspannung eine erste Status vorliegt, die aus der nichtflüchtigen Speicherzelle ausgelesen wird, und wenn beim Anlegen der Schwellensspannung kein Strom durch die nichtflüchtige Speicherzelle fließt, der zweite Status aus der nichtflüchtigen Speicherzelle gelesen wird.
  • In Beispiel 19 kann der Gegenstand von Beispiel 18 beinhalten, dass der erste Status, der gelesen wird, eins entspricht, und der zweite Status, der gelesen wird, Null entspricht, wobei das vorbestimmte Bitmuster in Reaktion auf das Initiieren eines Prozesses zum Herunterfahren der nichtflüchtigen Speichervorrichtung in die nicht-flüchtige Speichervorrichtung geschrieben wird.
  • In Beispiel 20 kann der Gegenstand von Beispiel 19 beinhalten, dass die nichtflüchtige Speichervorrichtung nach dem Abschalten der nichtflüchtigen Speichervorrichtung eingeschaltet wird
  • In Beispiel 21 kann der Gegenstand von Beispiel 17 beinhalten, dass die Vielzahl von angelegten Spannungen eine erste Spannung und eine zweite Spannung umfassen, wobei die zweite Spannung größer als die erste Spannung ist, und die erste Spannung als eine Abgrenzungsspannung bestimmt wird, wenn eine Zeitdauer zwischen einem Abschalten und einem Einschalten der nichtflüchtigen Speichervorrichtung relativ klein ist, und die zweite Spannung als eine Abgrenzungsspannung bestimmt wird, wenn die Zeitdauer zwischen dem Abschalten und dem Einschalten der der nichtflüchtigen Speichervorrichtung relativ groß ist.
  • In Beispiel 22 kann der Gegenstand von Beispiel 17 beinhalten, dass die zum korrekten Lesen eines zuvor geschriebenen Bits anzulegende Spannung mit der Zeit ansteigt.
  • In Beispiel 23 kann der Gegenstand von Beispiel 17 beinhalten, dass zumindest eines zum Zeitpunkt der Herstellung, einer Temperatur, einer Einschaltzeit und einer Ausschaltzeit ebenfalls zum Bestimmen der Abgrenzungsspannung verwendet wird.
  • In Beispiel 24 kann der Gegenstand von Beispiel 17 beinhalten, dass die Abgrenzungsspannung eine Lesereferenzspannung ist, wobei die nichtflüchtige Speichervorrichtung ein Dual-Inline-Speichermodul (DIMM) und/oder ein Solid-State-Laufwerk (SSD) umfasst.
  • Beispiel 25 ist ein System zum Handhaben des Drifts, wobei das System Mittel zum Schreiben eines vorbestimmten Bitmusters in eine nichtflüchtige Speichervorrichtung vor dem Abschalten der nichtflüchtigen Speichervorrichtung, Mittel zum Anlegen einer Vielzahl von Spannungen an die nichtflüchtige Speichervorrichtung, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen das vorbestimmte Bitmuster mit einer geringsten Fehlermenge lesen lässt und Mittel zum Einstellen der bestimmten Spannung als eine Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung umfasst.

Claims (25)

  1. Ein Verfahren zum Handhaben eines Drifts, das Verfahren umfassend: ein Schreiben eines vorbestimmten Bitmusters in eine nichtflüchtige Speichervorrichtung vor dem Abschalten der nichtflüchtigen Speichervorrichtung; ein Anlegen einer Mehrzahl von Spannungen an die nichtflüchtige Speichervorrichtung, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen ein Lesen des vorbestimmten Bitmusters mit der geringsten Fehlermenge ermöglicht; und ein Festlegen einer bestimmten Spannung als Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung.
  2. Das Verfahren nach Anspruch 1, wobei die nichtflüchtige Speichervorrichtung eine Vielzahl von nichtflüchtigen Speicherzellen aufweist, und wobei wenn beim Anlegen der Abgrenzungsspannung Strom durch eine nichtflüchtige Speicherzelle fließt, ein erster Status aus der nichtflüchtigen Speicherzelle ausgelesen wird, und wenn beim Anlegen der Abgrenzungsspannung kein Strom durch die nichtflüchtige Speicherzelle fließt, ein zweiter Status aus der nichtflüchtigen Speicherzelle ausgelesen wird.
  3. Das Verfahren nach Anspruch 2, wobei der erste Status, der gelesen wird, eins entspricht, und der zweite Status, der gelesen wird, Null entspricht, und wobei das vorbestimmte Bitmusterin Reaktion auf das Initiieren eines Prozesses zum Herunterfahren des nichtflüchtigen Speichers in die nichtflüchtige Speichervorrichtung geschrieben wird
  4. Das Verfahren nach Anspruch 3, wobei die nichtflüchtige Speichervorrichtung nach dem Herunterfahren der nichtflüchtigen Speichervorrichtung eingeschaltet wird.
  5. Das Verfahren nach Anspruch 1, wobei die Vielzahl von angelegten Spannungen eine erste Spannung und eine zweite Spannung umfasst, wobei die zweite Spannung größer als die erste Spannung ist, wobei festgelegt wird, dass die erste Spannung als die Abgrenzungsspannung bestimmt wird, wenn eine Zeitdauer zwischen einem Abschalten und einem Einschalten der nichtflüchtigen Speichervorrichtung relativ klein ist, und wobei die zweite Spannung als die Abgrenzungsspannung bestimmt wird, wenn die Zeitdauer, die zwischen dem Abschalten und dem Einschalten der nichtflüchtigen Speichervorrichtung liegt relativ groß ist.
  6. Das Verfahren nach Anspruch 1, wobei die zum korrekten Lesen eines zuvor geschriebenen Bits anzulegende Spannung mit der Zeit ansteigt.
  7. Das Verfahren nach Anspruch 1, wobei zum Bestimmen der Abgrenzungsspannung auch zumindesten eines von einer Zeit der Herstellung, einer Temperatur, einer Einschaltzeit und einer Ausschaltzeit verwendet wird.
  8. Das Verfahren nach Anspruch 1, wobei die Abgrenzungsspannung eine Lesereferenzspannung ist, und wobei die nichtflüchtige Speichervorrichtung eine Vielzahl von nichtflüchtigen Speicherzellen aufweist.
  9. Eine nichtflüchtige Speichervorrichtung zum Handhaben von Drift, wobei die nichtflüchtige Speichervorrichtung umfasst: einen nichtflüchtigen Speicher; und einen Controller, der mit dem nichtflüchtigen Speicher gekoppelt ist, wobei der Controller betreibbar ist, um: ein vorbestimmtes Bitmuster in die nichtflüchtige Speichervorrichtung zu schreiben, bevor die nichtflüchtige Speichervorrichtung heruntergefahren wird; eine Vielzahl von Spannungen an die nicht-flüchtige Speichervorrichtung anzulegen, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen das vorbestimmte Bitmuster mit einer geringsten Fehlermenge lesen kann; und die bestimmte Spannung als Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung festzulegen.
  10. Eine nichtflüchtige Speichervorrichtung nach Anspruch 9, wobei der nichtflüchtige Speicher eine Vielzahl von nichtflüchtigen Speicherzellen aufweist, und wobei wenn Strom durch eine nichtflüchtige Speicherzelle fließt, beim Anlegen der Abgrenzungsspannung ein erster Status aus der nichtflüchtigen Speicherzelle ausgelesen wird, und wenn beim Anlegen der Abgrenzungsspannung kein Strom durch die nichtflüchtige Speicherzelle fließt, der zweite Status aus der nichtflüchtigen Speicherzelle gelesen wird.
  11. Eine nichtflüchtige Speichervorrichtung nach Anspruch 10, wobei der erste Status, der gelesen wird, eins entspricht und der zweite Status, der gelesen wird, Null entspricht, und das vorbestimmte Bitmuster inin Reaktion auf das Initiieren eines Prozesses zum Herunterfahren der nichtflüchtigen Speichervorrichtung in die nichtflüchtige Speichervorrichtung geschrieben wird.
  12. Eine nichtflüchtige Speichervorrichtung nach Anspruch 11, wobei die nichtflüchtige Speichervorrichtung nach dem Herunterfahren der nichtflüchtigen Speichervorrichtung eingeschaltet wird.
  13. Eine nichtflüchtige Speichervorrichtung nach Anspruch 9, wobei die Vielzahl von angelegten Spannungen eine erste Spannung und eine zweite Spannung umfasst, wobei die zweite Spannung größer als die erste Spannung ist, wobei die erste Spannung als Abgrenzungsspannung bestimmt wird, wenn eine Zeitdauer zwischen einem Abschalten und einem Einschalten der nichtflüchtigen Speichervorrichtung relativ klein ist, und wobei die zweite Spannung als Abgrenzungsspannung bestimmt wird, wenn die Zeitdauer zwischen dem Abschalten und dem Einschalten der nichtflüchtigen Speichervorrichtung relativ groß ist.
  14. Eine nichtflüchtige Speichervorrichtung nach Anspruch 9, wobei die zum korrekten Lesen eines zuvor geschriebenen Bits anzulegende Spannung mit der Zeit ansteigt.
  15. Eine nichtflüchtige Speichervorrichtung nach Anspruch 9, wobei zum Bestimmen der Abgrenzungsspannung zumindest eines von einem Zeitpunkt der Herstellung, einer Temperatur, einer Einschaltzeit und einer Ausschaltzeit verwendet wird.
  16. Eine nichtflüchtige Speichervorrichtung nach Anspruch 9, wobei die Abgrenzungsspannung eine Lesereferenzspannung ist, und wobei die nichtflüchtige Speichervorrichtung zumindest eines von einem Dual-Inline-Speichermodul (DIMM) und einem Solid-State-Laufwerk (SSD) umfasst.
  17. Ein System zur Handhabung von Drift, wobei das System umfasst: einen Bildschirm; eine nichtflüchtige Speichervorrichtung, die einen nichtflüchtigen Speicher umfasst; und eine Steuerung, die mit dem nichtflüchtigen Speicher gekoppelt ist, wobei die Steuerung betriebbar ist, um ein vorbestimmtes Bitmuster in die nichtflüchtige Speichervorrichtung vor dem Abschalten der nichtflüchtigen Speichervorrichtung zu schreiben; eine Vielzahl von Spannungen an die nichtflüchtige Speichervorrichtung anzulegen, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen ein Lesen des vorbestimmten Bitmusters mit der geringsten Fehlermenge ermöglich; und die ermittelte Spannung auf eine Abgrenzungsspannung zum Lesen aus dem nichtflüchtigen Speicher festzulegen.
  18. Das System nach Anspruch 17, wobei der nichtflüchtige Speicher eine Vielzahl von nichtflüchtigen Speicherzellen aufweist, und wobei wenn beim Anlegen der Abgrenzungsspannung Strom durch eine nichtflüchtige Speicherzelle fließt, ein erster Status aus der nichtflüchtigen Speicherzelle ausgelesen wird, und wenn beim Anlegen der Abgrenzungsspannung kein Strom durch die nichtflüchtige Speicherzelle fließt, der zweite Status aus der nichtflüchtigen Speicherzelle ausgelesen wird.
  19. Das System nach Anspruch 18, wobei der erste Status, der gelesen wird, eins entspricht, und der zweite Zustand, der gelesen wird, Null entspricht, und wobei das vorbestimmte Bitmuster in Reaktion auf das Initiieren eines Prozesses zum Herunterfahren des nichtflüchtigen Speichers in die nichtflüchtige Speichervorrichtung geschrieben wird.
  20. Das System nach Anspruch 19, wobei die nichtflüchtige Speichervorrichtung nach dem Herunterfahren der nichtflüchtigen Speichervorrichtung eingeschaltet wird.
  21. Das System nach Anspruch 17, wobei die Vielzahl von Spannungen, die angelegt werden, eine erste Spannung und eine zweite Spannung umfassen, wobei die zweite Spannung größer als die erste Spannung ist, wobei die erste Spannung als Abgrenzungsspannung bestimmt wird, wenn die Dauer zwischen einem Abschalten und einem Einschalten der nichtflüchtigen Speichervorrichtung relativ klein ist, und wobei die zweite Spannung als Abgrenzungsspannung bestimmt wird, wenn die Zeitdauer zwischen dem Abschalten und dem Einschalten des nichtflüchtigen Speichers liegt Gerät relativ groß ist.
  22. Das System nach Anspruch 17, wobei die zum korrekten Lesen eines zuvor geschriebenen Bits anzulegende Spannung mit der Zeit ansteigt.
  23. Das System nach Anspruch 17, wobei zumindest eines von einem Zeitpunkt der Herstellung, einer Temperatur, einer Einschaltzeit und einer Ausschaltzeit zum Bestimmen der Schwellenspannung verwendet wird.
  24. Die nichtflüchtige Speichervorrichtung nach Anspruch 17, wobei die Abgrenzungsspannung eine Lesereferenzspannung ist, und wobei die nichtflüchtige Speichervorrichtung zumindest eines von einem Dual-Inline-Speichermodul (DIMM) und einem Solid-State-Laufwerk (SSD) umfasst.
  25. Ein System zur Handhabung von Drift, das System umfassend: Mittel zum Schreiben eines vorbestimmten Bitmusters in eine nichtflüchtige Speichervorrichtung vor einem Abschalten der nichtflüchtigen Speichervorrichtung; Mittel zum Anlegen einer Vielzahl von Spannungen an die nichtflüchtige Speichervorrichtung, um zu bestimmen, welche Spannung aus der Vielzahl von Spannungen das vorbestimmte Bitmuster mit einer geringsten Fehlermenge lesen lässt; und Mittel zum Einstellen der ermittelten Spannung als Abgrenzungsspannung zum Lesen aus der nichtflüchtigen Speichervorrichtung.
DE112017004919.9T 2016-09-29 2017-08-29 Bestimmung der Abgrenzungsspannung zur Handhabung von Drift in nichtflüchtigen Speichergeräten Pending DE112017004919T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/280,669 2016-09-29
US15/280,669 US9691492B1 (en) 2016-09-29 2016-09-29 Determination of demarcation voltage for managing drift in non-volatile memory devices
PCT/US2017/049203 WO2018063681A1 (en) 2016-09-29 2017-08-29 Determination of demarcation voltage for managing drift in non-volatile memory devices

Publications (1)

Publication Number Publication Date
DE112017004919T5 true DE112017004919T5 (de) 2019-06-13

Family

ID=59070196

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017004919.9T Pending DE112017004919T5 (de) 2016-09-29 2017-08-29 Bestimmung der Abgrenzungsspannung zur Handhabung von Drift in nichtflüchtigen Speichergeräten

Country Status (4)

Country Link
US (1) US9691492B1 (de)
CN (1) CN109643576B (de)
DE (1) DE112017004919T5 (de)
WO (1) WO2018063681A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10481974B2 (en) 2017-06-28 2019-11-19 Intel Corporation Apparatus, non-volatile memory storage device and method for detecting drift in non-volatile memory
US11264094B2 (en) 2018-03-05 2022-03-01 Intel Corporation Memory cell including multi-level sensing
US10395728B2 (en) 2018-06-26 2019-08-27 Intel Corporation Demarcation voltage determination via write and read temperature stamps
US11842786B1 (en) * 2022-06-29 2023-12-12 Apple Inc. Tracking of read voltages while reading memory cells

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3798476B2 (ja) * 1996-08-30 2006-07-19 株式会社東芝 コンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーダウン制御方法
US7181611B2 (en) * 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
WO2008078314A1 (en) * 2006-12-24 2008-07-03 Sandisk Il Ltd Flash memory device, system and method with randomizing for suppressing error
US7957187B2 (en) * 2008-05-09 2011-06-07 Sandisk Corporation Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
US8458536B2 (en) * 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
KR20110092090A (ko) * 2010-02-08 2011-08-17 삼성전자주식회사 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
CN102237139B (zh) * 2010-04-27 2015-01-21 群联电子股份有限公司 计算补偿电压与调整阀值电压方法及存储器装置与控制器
US8531888B2 (en) * 2010-07-07 2013-09-10 Marvell World Trade Ltd. Determining optimal reference voltages for progressive reads in flash memory systems
US9645177B2 (en) * 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
US9367391B2 (en) * 2013-03-15 2016-06-14 Micron Technology, Inc. Error correction operations in a memory device
US9478292B2 (en) * 2013-10-27 2016-10-25 Sandisk Technologies Llc Read operation for a non-volatile memory
KR102285994B1 (ko) * 2014-05-13 2021-08-06 삼성전자주식회사 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법

Also Published As

Publication number Publication date
WO2018063681A1 (en) 2018-04-05
CN109643576A (zh) 2019-04-16
US9691492B1 (en) 2017-06-27
CN109643576B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
DE112017004919T5 (de) Bestimmung der Abgrenzungsspannung zur Handhabung von Drift in nichtflüchtigen Speichergeräten
DE102017128939A1 (de) System und Verfahren zum dynamischen und adaptiven Zusammenführen von Interrupts
DE112018004251T5 (de) Adaptive vorrichtungsdienstqualität durch host-speicherpufferbereich
DE112018000834T5 (de) System und verfahren zur adaptiven befehlsabruf-aggregation
DE102013100596B4 (de) Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren
DE102017104283A1 (de) Löschgeschwindigkeitsbasierte wortleitungssteuerung
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE102011055714A1 (de) Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
DE112019000161T5 (de) Speicher-cache-verwaltung
DE102013108491A1 (de) Nichtflüchtige Speichervorrichtung und Betriebsverfahren mit variablen Speicherzellenzustandsdefinitionen
DE112020001937T5 (de) Vorausschauender datenvorabruf in einer datenspeicher-vorrichtung
DE112020006215T5 (de) Blockfamilien-basierte Fehlervermeidung für Speichervorrichtungen
DE102018209207A1 (de) Selektive body-reset-operation für dreidimensionalen (3d ) nand-speicher
DE102021118940A1 (de) Speichersteuerung und speichereinrichtung mit derselben
DE102018123961A1 (de) Gruppen-leseaktualisierung
DE102018123494A1 (de) Speichervorrichtung, die zum aktualisieren einesfeldprogrammierbaren gate-arrays ausgestaltetist, und betriebsverfahren dafür
DE102018204864A1 (de) Technologie zum Ermöglichen eines schnellen Bootens mit einem schnellen und langsamen nichtflüchtigen Speicher
DE102020107504A1 (de) Nichtflüchtiges speicher-array, das zur leistungsverbesserung von beiden seiten angesteuert wird
DE112019007657T5 (de) Temperaturbasierte speicherverwaltung
DE112015003569T5 (de) Verfahren und System zum Verwenden von NAND-Seitenpuffern, um die Übertragungspuffernutzung eines Festkörperlaufwerks zu verbessern
DE112018006392T5 (de) Leistungspegeleinstellungen in arbeitsspeichervorrichtungen
DE112020005395T5 (de) Kapazitätserweiterung für speicher-untersysteme
DE112020000159T5 (de) Systeme und verfahren zum definieren von speicher-unterblöcken
DE102018116544A1 (de) Speichervorrichtung, die eine interne operation vorübergehend aussetzt, um eine kurze lesereaktionszeit auf leseforderungen von einem host zu ermöglichen

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (N.D.GES, US

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US