DE102013001401A1 - Implementierung von erweitertem Datenlesen für Mehrpegelzellen - bzw. MLC - Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie - Google Patents
Implementierung von erweitertem Datenlesen für Mehrpegelzellen - bzw. MLC - Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie Download PDFInfo
- Publication number
- DE102013001401A1 DE102013001401A1 DE102013001401A DE102013001401A DE102013001401A1 DE 102013001401 A1 DE102013001401 A1 DE 102013001401A1 DE 102013001401 A DE102013001401 A DE 102013001401A DE 102013001401 A DE102013001401 A DE 102013001401A DE 102013001401 A1 DE102013001401 A1 DE 102013001401A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- mlc
- baseline
- drift
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 6
- 230000000737 periodic effect Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 description 15
- 230000037430 deletion Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 6
- 230000032683 aging Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 238000013403 standard screening design Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000035882 stress Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010791 quenching Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010583 slow cooling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0035—Evaluating degradation, retention or wearout, e.g. by counting writing cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5678—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0033—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0064—Verifying circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N70/00—Solid-state devices having no potential barriers, and specially adapted for rectifying, amplifying, oscillating or switching
- H10N70/20—Multistable switching devices, e.g. memristors
- H10N70/231—Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0054—Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
- Verwandte Anmeldungen
- Verwandte Anmeldungen der vorliegenden Erfinder und des vorliegenden Halters werden am selben Tag hiermit eingereicht, nämlich:
Laufende Nr. ..., mit dem Titel ”IMPLEMENTING ENHANCED DATA WRITE FOR MULTI-LEVEL CELL (MLC) MEMORY USING THRESHOLD VOLTAGE-DRIFT OR RESISTANCE DRIFT TOLERANT MOVING BASELINE MEMORY DATA ENCODING” (HSJ920110119US1); und
Laufende Nr. ..., mit dem Titel ”IMPLEMENTING ENHANCED DATA PARTIAL-ERASE FOR MULTI-LEVEL CELL (MLC) MEMORY USING THRESHOLD VOLTAGE-DRIFT OR RESISTANCE DRIFT TOLERANT MOVING BASELINE MEMORY DATA ENCODING” (HSJ920110120US1). - Technisches Gebiet
- Die vorliegende Erfindung betrifft allgemein das Gebiet der Datenspeicherung und insbesondere ein Verfahren und eine Vorrichtung zum Implementieren von erweiterter Leistungsfähigkeit, umfassend erweitertes Datenschreiben, erweitertes Datenlesen und erweitertes Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher (Multi-Level Cell) unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie im Interesse des Erhöhens der Dauerfestigkeit von nichtflüchtigen Speichern durch Mindern von Beschädigung beim Ausführen dieser erweiterten Operationen.
- Stand der Technik
- In der folgenden Beschreibung und in den Ansprüchen sind die folgenden Ausdrücke folgendermaßen zu verstehen:
Mehrpegelzellen- bzw. MLC-Speicher sollte allgemein so aufgefasst werden, dass er sowohl NAND-Flash-Speicher als auch Phasenänderungsspeicher bzw. PCM (Phase-Change-Memory) umfasst. - Schwellenspannungsdrift in NAND-Flash ergibt sich aus Verlust von Ladungen im Floating-Gate mit der Wirkung einer Abnahme der Gesamtladung, und Widerstandsdrift in PCM ergibt sich aus Änderungen des Widerstands des Speicherelements, wobei der Widerstand im Allgemeinen aufgrund einer strukturellen Relaxation der amorphen Phase zunimmt, und daher die Drift. Außerdem ist es möglich, dass der amorphe Zustand sich zu dem stabileren und geringeren Widerstand aufweisenden kristallinen Zustand ändert, was aber ein katastrophales und schnelles Phänomen wäre, das die Zelle vollständig löschen würde. Spannungs- oder Widerstandsdrift sollte deshalb allgemein so aufgefasst werden, dass sie eine zeitliche Änderung von einer ursprünglichen Schreibzeit umfasst, und nicht unbedingt eine Drift nach unten oder Drift nach oben.
- Gegenüber Schwellenspannungsdrift oder Widerstandsdrift tolerante Speicherdatencodierung mit beweglicher Basislinie bzw. MB (Moving Baseline) sollte allgemein so aufgefasst werden, dass sie ein ausgewähltes von verschiedenen Mehrzustands-Ebenendaten in einem selbstreferenzierten Verfahren umfasst, das die Bestimmung von Inhalt jeder Speicherzelle in Bezug auf den Inhalt benachbarter Speicherzellen erlaubt.
- Es besteht eine Notwendigkeit, einen effektiven und effizienten Mechanismus zum Implementieren von MLC-Speicherdatenschreiben, -Datenlesen und -Datenteillöschen zum Beispiel für Halbleiterlaufwerke bzw. SSD (Solid State Drives) bereitzustellen, im Interesse des Minderns einer Beschädigung oder Alterung, die bei den Speicherzellen bei jeder Schreib- oder Löschoperation auftritt.
- Kurzfassung der Erfindung
- Aspekte der vorliegenden Erfindung sind die Bereitstellung eines Verfahrens und einer Vorrichtung zum Implementieren von erweiterter Leistungsfähigkeit für Mehrpegelzellen- bzw. MLC-Speicher, zum Beispiel für Halbleiterlaufwerke bzw. SSD. Andere wichtige Aspekte der vorliegenden Erfindung sind die Bereitstellung eines solchen Verfahrens und einer solchen Vorrichtung im Wesentlichen ohne negative Auswirkung und zur Überwindung einiger der Nachteile vorbekannter Anordnungen.
- Kurz gefasst werden ein Verfahren und eine Vorrichtung zum Implementieren von erweiterter Leistungsfähigkeit für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie bereitgestellt. Es wird ein Datenrücklesen für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durchgeführt, es werden höhere und niedrigere Spannungspegel verglichen und entsprechende Datenwerte werden als Reaktion auf die verglichenen höheren und niedrigeren Spannungspegel identifiziert.
- Kurze Beschreibung der Zeichnungen
- Die vorliegende Erfindung wird zusammen mit den obigen und anderen Aufgaben und Vorteilen am besten aus der folgenden ausführlichen Beschreibung der in den Zeichnungen dargestellten bevorzugten Ausführungsformen der Erfindung verständlich. Es zeigen:
-
1 eine Blockdiagrammdarstellung eines Systems zum Implementieren von Verfahren mit erweiterter Leistungsfähigkeit für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie für Halbleiterlaufwerke bzw. SSD gemäß einer Ausführungsform der Erfindung; -
2A und2B ,2C und2D und2E jeweilige Flussdiagramme beispielhafter Operationen des Systems von1 zum Implementieren von erweiterter Leistungsfähigkeit, umfassend erweitertes Datenschreiben, erweitertes Datenlesen und erweitertes Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie zum Beispiel für Halbleiterlaufwerke bzw. SSD gemäß Ausführungsformen der Erfindung; -
3A ,3B und3C jeweils einen Startzustand, bei dem alle Zellen vollständig gelöscht sind, für 2-Bit-NAND-Zellen, 3-Bit-NAND-Zellen und 4-Bit-NAND-Zellen gemäß Ausführungsformen der Erfindung; -
4A jeweils 2-Zustands-Zyklen des Schreibens mit beweglicher Basislinie bzw. MBW (Moving Baseline Write) für 2-Bit-NAND-Zellen, 3-Bit-NAND-Zellen und 4-Bit-NAND-Zellen gemäß Ausführungsformen der Erfindung; -
5A ,5B ,5C und5D jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des Starts mit allen Zellen vollständig gelöscht, des ersten Schreibens, zweiten Schreibens und dritten Schreibens für ein 2-Zustands-2-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
6A ,6B und6C jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens, zweiten Schreibens und siebten Schreibens für ein 2-Zustands-3-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
7A ,7B und7C jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens, zweiten Schreibens und dritten Schreibens für ein 3-Zustands-3-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
8A ,8B und8C jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens, zweiten Schreibens und siebten Schreibens für ein 3-Zustands-4-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
9A und9B jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens und fünften Schreibens für ein 4-Zustands-4-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
10A und10B jeweils eine beispielhafte Spannungsdrift mit Operationen von geschriebenen Daten und gelesenen Daten für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
11A ,11B und11C jeweils eine beispielhafte Teillöschung mit Operationen des dritten Datenschreibens, schnellen Teillöschens und Datenneuschreibens für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
12A und12B jeweils eine beispielhafte Änderung einer Schwellenauflösung mit einer nichtbeeinträchtigen Zelle und verschlechterten Zelle für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
13A und13B ,13C und13D jeweils eine beispielhafte Änderung der Schwellenauflösung mit einer nichtverschlechterten Zelle und verschlechterten Zelle für ein 3-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung; -
14 ein Diagramm von beispielhaften Parameterdaten für MLC-Zellenbeispiele gemäß Ausführungsformen der Erfindung; -
15A und15B eine beispielhafte Spannungsleckangabe mit Operationen von geschriebenen Daten und gelesenen Daten für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung; und -
16 ein Blockdiagramm eines Computerprogrammprodukts gemäß Ausführungsformen der Erfindung. - Ausführliche Beschreibung der bevorzugten Ausführungsformen
- In der folgenden ausführlichen Beschreibung von Ausführungsformen der Erfindung wird auf die beigefügten Zeichnungen Bezug genommen, die beispielhafte Ausführungsformen zeigen, durch die die Erfindung ausgeübt werden kann. Es versteht sich, dass andere Ausführungsformen benutzt und strukturelle Änderungen vorgenommen werden können, ohne von dem Schutzumfang der Erfindung abzuweichen.
- Gemäß Merkmalen der Erfindung werden ein Verfahren und eine Vorrichtung zum Implementieren von erweiterter Leistungsfähigkeit bereitgestellt, umfassend erweitertes Datenschreiben, Datenlesen und Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher zum Beispiel für Halbleiterlaufwerke bzw. SSD. Das erweiterte Datenschreiben, Datenlesen und Datenteillöschen für MLC-Speicher wird unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie bzw. MB der Erfindung implementiert.
- Gemäß Merkmalen der Erfindung wird eine bewegliche Basislinie oder Grundlinie verwendet, im Vergleich zu der Lesespannungen verglichen werden, sodass Datenintegrität weniger anfällig gegenüber Schwellenspannungsdrift oder Widerstandsdrift ist. Mehrpegelzellen- bzw. MLC-Phasenänderungsspeicher bzw. PCM und MLC-NAND-Flash-Speicher weisen beide mit der Zeit signifikante Widerstandsdrift bzw. Schwellenspannungsdrift auf, die durch typische Schreib- und Löschzyklen verschlimmert wird. Die Schwellenspannungsdrift für Zellen nahezu identischer Ladungen, die sich physisch in dem MLC-NAND-Chip nahe beieinander befinden, ist nahezu kongruent, während dies für Zellen extrem verschiedener Spannungen, die in dem Chip physisch voneinander entfernt platziert sind, nicht der Fall ist. Die große Ladungsdifferenz entsteht, wenn während Datenzellenschreibvorgängen volle MLC-Bitschreibfähigkeit verwendet wird. Ähnlich ist die Widerstandswertdrift für Zellen mit nahezu identischem Grad des amorphen/kristallinen Zustands, die in dem MLC-PCM-Chip physisch nahe beieinander platziert sind, nahezu kongruent, während dies erwartungsgemäß für Zellen mit extrem verschiedenen amorphen/kristallinen Zuständen, die in dem Chip physisch weit auseinander platziert sind, nicht der Fall sein wird. Die große Differenz beim amorphen/kristallinen Zustand tritt auf, wenn während Datenzellenschreibvorgängen die volle MLC-Bit-Schreibfähigkeit verwendet wird. Da Schwellenspannungs- oder Widerstandsdrift zwischen Speicherzellen ähnlichen Zustands in dichter physischer Nähe in dem Chip im Allgemeinen kongruent ist, können unter Verwendung von gegenüber Spannungsdrift oder Widerstandsdrift toleranter MB-Datencodierung der Erfindung Daten selbst mit einer gelegentlichen signifikanten Drift einer Speicherzelle genauer wiederhergestellt werden.
- Gemäß Merkmalen der Erfindung werden weniger Volllöschungen von Zellen bereitgestellt, wodurch eine längere Lebensdauer für die Speichereinrichtung ermöglicht wird. Volle Löschung von Zellen verursacht signifikante Verschlechterung der Zelle; in 25-nm-MLC-NAND-Flash- Speicher sind etwa 5 k maximale Volllöschungs-/Schreibzyklen typisch. Herkömmliche höhere Spannungen und längere Zeitdauern von Spannungsereignissen während der Volllöschung verursachen anhaltende hohe elektrische Felder in der Nähe von Floating-Gates von NAND-Zellen mit mehr Beschädigung. Die vorliegende Erfindung verwendet kleinere Ladungstransfers zum Umschreiben neuer Daten auf alte Daten; wodurch die Änderung am Ladungsinhalt des Floating-Gate minimiert wird. Die aufgeschobene Löschoperation kommt nach mehreren aufeinanderfolgenden Schreiboperationen (und nicht nach jeder Schreiboperation), und wenn sie kommt, wird eine Teillöschung verwendet, statt einer Volllöschung.
- Löschzyklen von Phasenänderungsspeicher bzw. PCM sind langsam und erfordern Erwärmung des Speicherelements und dann langsame Abkühlung des Elements. Zum Beispiel besteht eine Vorteilzeit zum schnelleren Schreiben ohne jegliches anfängliches volles Löschen. Wenn als Alternative die PCM-Zellen zum Beispiel in ihren höchsten Widerstand versetzt werden (amorpher Zustand), kann der Widerstand dieser PCM-Zellen durch einen zusätzlichen Stromimpuls oder Impulse an die Zellen verkleinert werden, wodurch sie schrittweise in Richtung des stabileren und geringeren Widerstand aufweisenden kristallinen Zustands gerückt werden. Somit kann der MLC-PCM-Zellenwiderstand ohne Volllöschung geändert werden, indem die Zelle mit Spannung/Strom gepulst wird. Ähnlich kann Ladungsinhalt in dem Floating-Gate der MLC-NAND-Zellen ohne volle Löschung vergrößert werden.
- Die Speicherdatencodierung mit beweglicher Basislinie bzw. MB der Erfindung wird nun unter Verwendung von beispielhaften MLC-NAND-Flash-Fällen beschrieben. Es versteht sich, dass für Fachleute erkennbar ist, dass die MB-Speicherdatencodierung der Erfindung vorteilhafterweise auf Mehrpegel-PCM-Speicher erweitert wird, ohne von dem Gedanken und Schutzumfang der Erfindung abzuweichen.
- Gemäß Merkmalen der Erfindung wird eine Gesamtzunahme der Anzahl von Byte-Schreibvorgängen in die Speichereinrichtungen ermöglicht. Zum Beispiel kann eine 3-Bit-MLC-Speicherzelle unter Verwendung eines 2-Zustands-MB-Codes vor einer Volllöschung mindestens sieben Mal beschrieben werden, wodurch die Lebensdauer von Zellen etwa um das Siebenfache vergrößert wird, und der Verlust voller Datenkapazität für jeden Schreibvorgang in eine Zelle beträgt nur ein Drittel oder ein Bit, statt drei Bit, sodass eine Gesamtzunahme der Lebensdauer der Speichereinrichtung, gemessen jeweils pro geschriebenem Byte, vorliegt. Die 2-Zustands-MB-Codierung produziert eine 1-Bit-Zahl in jeder Zelle ungeachtet der Anzahl der Schreibpegel dergestalt, dass 3, 4, 5, 6, 7, 8, 9 oder 10 Schreibpegel alle eine 1-Bit-Zahl produzieren.
- Eine 4-Bit-MLC-Speicherzelle kann vor einer Volllöschung unter Verwendung von 2-Zustands-MB-Code mindestens fünfzehn Mal beschrieben werden, wodurch die Lebensdauer der Zelle etwa um das Fünfzehnfache vergrößert wird, und der Verlust der vollen Datenkapazität für jeden Schreibvorgang in eine Zelle beträgt nur ein Viertel oder nur ein Bit, anstatt vier Bit, sodass eine Gesamtzunahme der Lebensdauer der Speichereinrichtung, gemessen jeweils pro geschriebenem Byte, vorliegt. Tatsächlich ist, je größer die Anzahl der Pegel ist, der Nutzen in Bezug auf Lebensdauer, gemessen jeweils pro geschriebenen Byte, den MB ansammeln kann, umso größer. Man beachte, dass diese Berechnungen ungefähr sind, da Belastung während des Schreibzyklus vorliegt; diese Belastung ist jedoch signifikant geringer als die Effekte von Volllöschungsbelastungen. Darüber hinaus müssen bestimmte Schreibvorgänge die Basislinie nicht unbedingt nach oben bewegen, sodass eine größere Anzahl von Schreibvorgängen als Schwellenspannungspegel in der MLC-Zelle ermöglicht werden kann.
- Gemäß Merkmalen der Erfindung liegen mit MB-Datencodierung Floating-Gate-Ladungen zwischen angrenzenden NAND-Flash-Zellen zum Beispiel in einem ähnlichen Bereich, was zunehmend durch Schrumpfung von Speicherzellenabmessungen favorisiert wird. Fortgesetztes Schrumpfen von NAND-Speichergrößen erweitert die Kapazitätskopplung zwischen angrenzenden Zellen, wodurch das laterale Randfeld, das NAND-Operationen stört, signifikant vergrößert wird. Zum Beispiel zeigen Simulationen, dass die durch angrenzende Zelle auf derselben Bitleitung bzw. BL und Wortleitung bzw. WL verursachte Schwellenspannungsverschiebung (ΔVT) mit Technologieskalierung exponentiell zunimmt.
- Gemäß Merkmalen der Erfindung ist das für die MB-Datencodierung benötigte Overhead minimal. Illegale Datenkombinationen für eine Gruppe von Speicherzellen sind nur wenig wahrscheinliche Ereignisse, die mit Flag versehen werden können, während sie in Parameterdatenbereichen auftreten. Da MB selbst referenziert ist, kann es, wenn alle Zellen dieselbe Schwellenspannung aufweisen, sowohl sein, dass alle Zellen 0en sind, als auch, dass alle Zellen 1en sind. Dieser Fall kann vermieden oder mit dem in einem spezifizierten Bit gespeicherten Flag mit Flag versehen werden. Da die MB-Datencodierung Mengen von Speicherzellen selbst referenziert hält, wobei allen diesen Zellen erlaubt ist, nur einen von zwei möglichen Schwellenwerten aufzuweisen, ist es, wenn einige wenige der Zellen von der Menge wegdriften, möglich, ihre Inhalte zu korrigieren. Dies könnte die Anzahl der Byte des ECC-Schutzes, die zum Schützen von Daten notwendig ist, verringern.
- Nunmehr mit Bezug auf die Zeichnungen ist in
1 ein beispielhaftes System zum Implementieren von Verfahren des erweiterten Datenschreibens, Datenlesens und Datenteillöschens für Mehrpegelzellen- bzw. MLC-Speicher zum Beispiel für Halbleiterlaufwerke bzw. SSD mit der allgemeinen Bezeichnung durch das Bezugszeichen100 gemäß einer Ausführungsform der Erfindung gezeigt. Das System100 umfasst ein Halbleiterlaufwerk102 und einen Hostcomputer104 . Das SSD102 umfasst einen Controller106 , der mit einem Hauptspeicher oder dynamischen Direktzugriffsspeicher bzw. DRAM108 gekoppelt ist, eine MLC-Speicherverwaltungsinformation und -steuerung110 und eine Speicherdatencodierungssteuerung112 mit beweglicher Basislinie bzw. MB. - Das SSD
102 umfasst eine Vielzahl von Mehrpegelzellen- bzw. MLC-Speichereinrichtungen114 , die mit dem Speicherdatencodierungs-Steuerblock112 mit beweglicher Basislinie bzw. MB gekoppelt sind, der mit dem Controller106 gekoppelt ist, wie etwa NAND-Flash-Chips114 oder Phasenänderungsspeicher- bzw. PCM-Chips114 oder eine Kombination von NAND-Flash-Chips und PCM-Chips. Das SSD102 umfasst eine Hostschnittstelle116 , die zwischen den Hostcomputer104 und den Controller106 und den Speicherdatencodierungs-Steuerblock112 mit beweglicher Basislinie bzw. MB gekoppelt ist. - Obwohl die beispielhafte Ausführungsform des Systems
100 im Kontext des Halbleiterlaufwerks102 beschrieben wird, versteht sich, dass Prinzipien der vorliegenden Erfindung vorteilhafterweise auf andere Arten von Datenspeichereinrichtungen angewandt werden. - Das System
100 ist in vereinfachter Form gezeigt, die zum Verständnis der vorliegenden Erfindung ausreicht. Zum Beispiel kann der Controller106 auf einem oder mehreren integrierten Schaltungschips hergestellt werden und wird geeigneterweise programmiert, um Verfahren gemäß Ausführungsformen der Erfindung zu implementieren. - Das SSD
102 implementiert erweitertes Datenschreiben, Datenlesen und Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie für robustes MLC-Speicherdatenschreiben, für robustes MLC-Speicherdatenlesen und für robustes MLC-Speicherdatenteillöschen gemäß Ausführungsformen der Erfindung. Der Controller106 des SSD102 umfasst Firmware, der direkter Zugriff auf den Speicherdatencodierungs-Steuerblock112 mit beweglicher Basislinie bzw. MB gegeben wird. Die Firmware des Controllers106 des SSD102 erhält Informationen mit Bezug auf den Speicherdatencodierungs-Steuerblock112 mit beweglicher Basislinie bzw. MB zum Beispiel von dem MLC-Speicherverwaltungsinformations- und -steuerblock110 . - Es versteht sich, dass die Prinzipien der vorliegenden Erfindung nicht auf das dargestellte System
100 und das SSD102 beschränkt sind. Zum Beispiel könnten der MLC-Speicherverwaltungsinformations- und -steuerblock110 und der MB-Speicherdatencodierungs-Steuerblock112 durch den Hostcomputer104 oder in den MLC-Speichereinrichtungen114 implementiert werden, statt dass die MB-Speicherdatencodierung durch das SSD102 durchgeführt wird. - Nunmehr mit Bezug auf
2A und2B ,2C und2D und2E sind jeweilige Flussdiagramme beispielhafter Operationen des Systems von1 zur Implementierung von erweiterter Leistungsfähigkeit gezeigt, umfassend erweitertes Datenschreiben, erweitertes Datenlesen und erweitertes Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie zum Beispiel für Halbleiterlaufwerke (SSD) gemäß Ausführungsformen der Erfindung. - Gemäß Merkmalen der Erfindung verwendet die gegenüber Spannungsdrift tolerante Speicherdatencodierung mit beweglicher Basislinie für robustes MLC-Speicherdatenschreiben eine bewegliche Basislinie, die eine Grundlinie oder ein minimaler Spannungspegel für jedes neue Schreiben in eine Speicherzelle ist. Der Mehrpegelzellen-Speicher umfasst optional PCM- und NAND-Flash-Speicher. Es besteht eine Notwendigkeit, die Basislinie vom Vorschreiben vor einem Datenschreiben zu kennen, und diese Informationen können durch Lesen der Zellen vor dem Schreiben bestimmt werden oder durch Halten von Parameterinformationen über Zellen mit dem letzten bekannten Basislinienpegel, wobei eine Gruppe von Speicherzellen dieselbe Basislinie aufweisen kann.
- Gemäß Merkmalen der Erfindung werden zum Beispiel mindestens zwei oder mehr Schreibzyklen vor vollem Löschen freigegeben, wobei die Hälfte oder weniger des vollen MLC-Bitbereichs benutzt wird. Illegale Datenkombinationen für eine Gruppe von Speicherzellen werden durch Codierung vermieden oder es werden separate Flags verwendet, zum Beispiel sind durchweg 0en nicht gestattet oder durchweg 1en nicht gestattet; oder ein Flag wird gesetzt, um anzuzeigen, ob eine Menge von Zellen mit derselben Schwellenspannung oder demselben Widerstandswert Daten von durchweg 0en oder durchweg 1en repräsentiert.
-
2A und2B ,2C und2D und2E geben jeweilige Flussdiagramme von beispielhaften Operationen des Systems100 zum Implementieren von erweiterter Leistungsfähigkeit, umfassend erweitertes Datenschreiben, erweitertes Datenlesen und erweitertes Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von Speicherdatencodierung mit beweglicher Basislinie zum Beispiel für Halbleiterlaufwerke bzw. SSD gemäß Ausführungsformen der Erfindung. In2A und2B ,2C und2D und2E versteht sich, dass die dargestellten beispielhaften Operationen oder Schritte bestimmte sequentielle Operationen oder Schritte umfassen und auch optionale Operationen oder Schritte, alternative Operationen oder Schritte und kombinierte Operationen oder Schritte optionaler Ausführungsformen der Erfindung umfassen. - Nunmehr mit Bezug auf
2A und2B beginnen beispielhafte Operationen für robustes MLC-Speicherdatenschreiben wie in einem Block200 angegeben. Die bewegliche Basislinie ist eine neue Grundlinie oder ein neuer minimaler Spannungspegel für jedes neue Schreiben in eine Speicherzelle. Die Basislinie für das vorherige Schreiben wird vor dem Schreiben erhalten, indem zum Beispiel Zellen vor dem Schreiben gelesen werden oder indem Parameterinformationen von Zellen mit dem letzten bekannten Basislinienpegel gehalten werden. - Das robuste MLC-Speicherdatenschreiben verwendet optional Substitutionscode zur Vermeidung von illegalen Datenkombinationen. Zum Beispiel wird ein lauflängenbegrenzter bzw. RLL-Code als Substitutionscode verwendet, wie in einem Block
202 angegeben. Es werden separate Flags verwendet, um das Auftreten von illegalen Kombinationen anzuzeigen, zum Beispiel wird eine Liste jedes Auftretens von Flags in einem separaten Datenbereich gespeichert, wie in einem Block204 angegeben. Die separaten Flags im Block204 werden optional zusammen mit dem Substitutionscode im Block202 verwendet oder können als Alternative zu dem Substitutionscode verwendet werden. Periodisch werden optional Referenzzellen mit spezifizierten Spannungspegeln beschrieben, um Basislinienspannungs- und Spannungspegel verfügbarer Datenwerte in der Gruppe von Zellen zum Beispiel für Spannungspegel, die einer 1 oder 0 äquivalent sind, im Auge zu behalten, wie in einem Block206 angegeben. - Wie in einem Block
208 angegeben sind bei einem 2-Zustands-MB-Code einer optionalen Ausführungsform verfügbare Datenwerte für jede Zelle entweder eine 1 oder eine 0. Siehe zum Beispiel5A –5D und6A –6C . Zellen wirken wie eine Einzelpegelzelle bzw. SLC (Single-Level Cell) mit Basis-2-Binärbitdaten. Wie in einem Block210 angegeben wären bei einem 3-Zustands-MB-Code bei einer optionalen Ausführungsform verfügbare Datenwerte für jede Zelle zum Beispiel eine 2 oder eine 1 oder eine 0. Siehe zum Beispiel7A –7C und8A –8C . Zellendaten sind zur Basis 3 mit separater Datencodierung zum Umwandeln eines Blocks von Zellen in Binärdaten zur Basis 2. Wie in einem Block212 angegeben wären bei einem 4-Zustands-MB-Code verfügbare Datenwerte für jede Zelle bei einer optionalen Ausführungsform zum Beispiel eine 3 oder eine 2 oder eine 1 oder eine 0. Siehe zum Beispiel9A –9B . Zellendaten sind wieder binär mit 2 Bit pro Zelle. - Wie in einem Block
214 angegeben, wird optional eine einstellbare Bitauflösung verwendet, wie etwa durch Abstufung des Zustandspegels von MB-Code. Man schreibt zum Beispiel Daten in einem 3-Zustands-MB-Code, statt in einem 4-Zustands-MB-Code oder wie in einem Block216 angegeben Daten in einem 3-Zustands-MB-Code, statt in einem 3-Zustands- oder 4-Zustands-MB-Code. - Mit Bezug auf
2B ist im Block218 die Verwendung optionaler Einstellung der Auflösung zum Auffrischen von Daten zu beachten, und diese Einstellung kann in unterschiedlichem Umfang erfolgen, zum Beispiel an einzelnen Seiten, einzelnen Leitungen, einzelnen Chips oder einzelnen Wörtern. Wie in einem Block220 angegeben kann die Verwendung optionaler einstellbarer Auflösung über weniger Schreibzyklen vor vollem Löschen bereitgestellt werden. - Im Block
222 können Einstellungen der Auflösung bei einer optionalen Ausführungsform durch die Speichereinrichtung selbst als Reaktion auf Fehlerkorrekturinformationen vorgenommen werden. Wie in einem Block224 angegeben, können Einstellungen der Auflösung durch die Speichereinrichtung selbst als Reaktion auf statistische Spannungsdriftinformationen vorgenommen werden, die durch die Speichereinrichtung während der Verwendung gesammelt werden, die die Verschlechterung der Zellen aufgrund von Zeitalterung, Schreibzyklusalterung und/oder Volllöschzyklusalterung misst, zum Beispiel triggern warnende Anzeichen von bevorstehendem Datenverlust die Speichereinrichtung dazu, die Auflösung herabzustufen. Wie in einem Block226 angegeben, kann die Einstellung oder Auswahl der Auflösung auch oder als Alternative durch den Benutzer vorgenommen werden, wie etwa auf der Basis der Bedürfnisse des Hostcomputers oder einer anderen zugeordneten Einrichtung oder sich ändernder Gerätekosten oder Datenspeicherbedürfnisse, oder die Einstellung oder Auswahl der Auflösung kann auch durch den Hersteller der Speichereinrichtung während des anfänglichen Prüfens oder Binning vorgenommen werden. Zum Beispiel wird das Binning von Chips oder Subblöcken von Chips durch Einstellung und Auswahl der Auflösung abgeschlossen, wie etwa Abstufung des Zustandspegels von MB-Code oder Verringerung der Anzahl der Schreibzyklen vor vollem Löschen. - Wie in einem Block
228 angegeben, kann die Basislinienspannung optional als Parameter gehalten werden, um zum Beispiel zu wissen, welche neue Spannung für jeden Schreibvorgang zu schreiben ist, ohne vor dem Schreiben ein Datenlesen durchführen zu müssen und Basislinienspannungsparameter nach jedem Schreiben in eine Zelle und nach jedem Zellenlöschen aktualisieren zu müssen. Wie in einem Block230 angegeben, wird andernfalls die Basislinienspannung optional nicht als Parameter gehalten, wobei zum Beispiel bei einer optionalen Ausführungsform vor dem Schreiben ein Datenlesen einer oder mehrerer Probezellen durchgeführt wird, um die neuste Basislinienspannung zu bestimmen. - Im Block
232 ist zu beachten, dass automatisches Zellenlöschen bei Verwendung von MB-Speicherdatencodierung gesperrt werden muss; ein Hauptvorteil der MB-Speicherdatencodierung ist die Vermeidung solcher Volllöschzyklen. Optional werden Zellen vor einem neuen Datenschreiben im Voraus auf die neue Basislinie geschrieben. - Gemäß Merkmalen der Erfindung ermöglicht gegenüber Schwellenspannungsdrift oder Widerstandsdrift tolerante Speicherdatencodierung mit beweglicher Basislinie für robustes MLC-Speicherdatenlesen ein Rücklesen und Fehlererholungseskalation zum Lesen von im MLC mit beweglicher Basislinie geschriebenen Daten.
- Nunmehr mit Bezug auf
2C und2D beginnen Operationen für robustes MLC-Speicherdatenlesen wie in einem Block234 angegeben. Das anfängliche Datenlesen ist optional blind, wobei zum Beispiel Vergleich von hohen Spannungen mit niedrigeren Spannungen verwendet wird. Siehe10A und10B für ein Spannungsdriftbeispiel. Zum Beispiel ist bei 2-Zustands-MB-Code die höhere Spannung eine 1 und die niedrigere Spannung eine 0, und es ist nicht notwendig, die Basislinienspannung als Parameterdaten im Auge zu behalten. - Wie in einem Block
236 angegeben verwendet das Datenrücklesen optional separate Daten zur Bestimmung der neuesten Basislinie, zum Beispiel helfen separate Daten dabei, Spannungspegel zu vergleichen; und zum Beispiel müssen separate Daten bei jedem Datenschreiben und vollem Löschen aktualisiert werden. Wie in einem Block238 angegeben, werden optional separate Daten als Parameterdaten gehalten, zum Beispiel kann für jedes Schreiben in eine Seite ein Zähler gehalten und bei jedem vollen Löschen rückgesetzt werden. Zum Beispiel können Flag-Informationen oder numerische Daten für eine Gruppe von Zellen gehalten werden. Wie in einem Block240 angegeben, sind als Alternative separate Daten tatsächliche Referenzzellenspannungspegel aus periodischen Referenzzellenschreibvorgängen, wie etwa ein analoger Spannungspegel aus tatsächlichen Schreibvorgängen und Rücklesen. Referenzzellen können ein gewisser kleiner Prozentsatz einer Leitung, einer Seite oder eines Blocks sein. - Wie in einem Block
242 angegeben, betrachtet die Fehlererholungssubroutine optional die separaten Daten, die gespeichert sind, um den neuesten Basislinienpegel zu bestimmen. Zum Beispiel versucht das Lesen zuerst ein blindes Rücklesen, und wenn dies versagt, gewährleistet Schauen auf Separates Hilfe beim Bestimmen des Werts geschriebener Daten. Spannungsdrift ähnlicher Referenzzellen und/oder statistische Informationen aus vorherigen Schreibvorgängen und Rücklesevorgängen können zur Hilfe beim Wiederherstellen von Daten verwendet werden. - Im Block
244 kann die Fehlererholungsubroutine auch oder als Alternative andere ähnlich beschriebene Datenzellen lesen. Zum Beispiel befinden sich zur Basislinienbestimmung gelesene Zellen in derselben Leitung oder Seite oder in demselben Block wie die Zelle mit Fehlern und weisen denselben Basislinienwert auf. Der Basislinienwert wird aus diesen anderen integren Zellen bestimmt. - Mit Bezug auf
2D wird wie in einem Block246 angegeben optional Lesedatenaktualisierung bereitgestellt, wobei Referenzzellen-Spannungsreferenzinformationen und/oder ähnliche Zellen im Hinblick auf die Anzahl der Schreib-/Lesezyklen und die Anzahl der Löschzyklen verwendet werden, um Spannungsdrift zu bestimmen. Wie in einem Block248 angegeben, werden zum Beispiel Referenzzellen beschrieben und später zurückgelesen. Zu einem Zeitpunkt des Schreibens in die Referenzzelle werden die Schreibereignisbedingungen, wie etwa Spannungspegel, Zeit/Datum des Schreibens und Gesamt-Schreib- und -Löschzyklen an der Zelle, separat gespeichert. Zum Beispiel werden diese Referenzzellen periodisch rückgelesen und die Spannungspegeldrift bestimmt; und es werden Statistiken bezüglich Spannungsdrift für zukünftige Einstellung/Vorhersage geführt. - Im Block
250 erfolgt Schreiben von Datenzellen, Imaugebehalten des Basislinien-Spannungspegels und späteres Rücklesen. Zu einem Zeitpunkt des Schreibens in die Referenzzelle werden die Schreibereignisbedingungen, wie etwa Spannungspegel, Zeit/Datum des Schreibens und Gesamt-Schreib- und -Löschzyklen an der Zelle, separat gespeichert. Zum Zeitpunkt des Datenrücklesens oder der Datenintegritätsprüfung werden diese Datenzellen rückgelesen und die Spannungspegeldrift bestimmt. - Gemäß Merkmalen der Erfindung wird gegenüber Schwellenspannungsdrift oder Widerstandsdrift tolerante Speicherdatencodierung mit beweglicher Basislinie für robustes MLC-Speicherdaten-Teillöschen vor dem Neuschreiben der Daten immer dann bereitgestellt, wenn eine Löschung notwendig ist, weil die Basislinie sich nicht weiter bewegen kann, um die zu schreibenden Daten unterzubringen. Zum Beispiel wird Teillöschung verwendet und volle Löschung wird nicht verwendet, weil volle Löschung langsam ist und volle Löschung auch mehr Zellenverschlechterung/-belastung als Teillöschung mit weniger Strom während des Löschens bei NAND-Flash und weniger Erwärmung bei PCM verursacht. Zum Beispiel hat Teillöschung eine ähnliche Auswirkung wie Zellenspannungsdrift, wobei alle Zellen in einer Gruppe im Wesentlichen zusammen ihre Basislinienwerte ändern.
- Nunmehr mit Bezug auf
2E beginnen Operationen für robustes MLC-Speicherdaten-Teillöschen wie in einem Block252 angegeben. Das MLC-Speicherdaten-Teillöschen der Erfindung funktioniert, wenn Daten mit MB neu geschrieben werden, wobei die genaue Basislinienspannung nicht unbedingt erforderlich ist, solange alle Zellen dieselbe Basislinie aufweisen; Ungenauigkeit während des Löschens ist annehmbar und kann in bestimmten Fällen bei NAND-Flash etwa um das Zehnfache schneller als normales volles Löschen sein. Siehe11A ,11B ,11C für ein Beispiel für Teillöschung. - Wie in einem Block
254 angegeben, ist optional das Datenneuschreiben nach Teillöschung blind. Zum Beispiel wird angenommen, dass Teillöschung die Zellenspannung auf einen ausreichenden Pegel verringert und alle Zellen auf der neuen Spannung neu geschrieben werden. Wie in einem Block256 angegeben, ist als Alternative das Datenneuschreiben nach Teillöschung nicht blind. Zum Beispiel wird die Zellenspannung vor dem Neuschreiben der Zellen gelesen. Das Lesen kann für alle Zellen oder eine statistische Stichprobe der Zellen erfolgen. - Wie in einem Block
258 angegeben erfolgt Datenneuschreiben sowohl nach Teillöschung als auch Vorschreiben von Zellen auf eine neue Basislinienspannung. Zum Beispiel werden in einer Konzeptbeschreibung vor neuem Datenschreiben Zellen auf eine neue Basislinie vorgeschrieben. Zum Beispiel werden Zellen auf eine nächste gerade Basislinie vorgeschrieben. Bei der tatsächlichen Implementierung wird die Endladung, auf die jede Zelle programmiert wird, in einem einzigen Programmierbefehl erreicht. - Wie in einem Block
260 angegeben, ist die Dauer und/oder Spannung für Datenteillöschen auf Alterung/Verschlechterung von Zellen ausgelegt. Zum Beispiel werden statistische Stichproben von Zellen für wahrscheinliche notwendige Teillöschungsdauer verwendet. Zum Beispiel können für eine Anzahl von Löschzyklen, Schreibzyklen und Alterung des Chips gehaltene Daten bei der Bestimmung von Dauer und/oder Spannung der Teillöschung helfen. -
3A ,3B und3C zeigen jeweils eine Startoperation, wobei alle Zellen voll gelöscht sind, für 2-Bit-NAND-Zellen, 3-Bit-NAND-Zellen bzw. 4-Bit-NAND-Zellen mit der allgemeinen Bezeichnung durch das Bezugszeichen300 ,310 ,320 gemäß Ausführungsformen der Erfindung. In3A umfasst die jeweilige Startoperation300 ,310 ,320 , wobei alle Zellen voll gelöscht sind, ein V-read von weniger als dem dargestellten Vth-1 oder V-read < Vth-1 jeweils für 2-Bit-NAND-Zellen, 3-Bit-NAND-Zellen und 4-Bit-NAND-Zellen. -
4A zeigt jeweils 2-Zustands-Schreibzyklen mit beweglicher Basislinie bzw. MBW für 2-Bit-NAND-Zellen, 3-Bit-NAND-Zellen und 4-Bit-NAND-Zellen jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen400 ,410 ,420 gemäß Ausführungsformen der Erfindung. -
5A ,5B ,5C und5D zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des Starts, wobei alle Zellen voll gelöscht sind, mit erstem Schreiben, zweitem Schreiben und drittem Schreiben für ein 2-Zustands-2-Bit-MLC-Zellenbeispiel jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen500 ,510 ,520 ,530 gemäß Ausführungsformen der Erfindung. In5A gilt, wobei im Startzustand500 alle Zellen voll gelöscht sind, V-read < Vth-1. - Gemäß Merkmalen einer bevorzugten Ausführungsformen der Erfindung ermöglicht die Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie für robusten MLC-Speicher
114 dem Rücklese-Decoder, alle Datenzellenbit zu lesen, und der Decoder erwartet, dass sich alle Zellen auf nur zwei verschiedenen Pegeln befinden, und vergibt eine 0 für die Zellen mit der niedrigeren Schwelle und eine 1 an die Zellen mit der höheren Schwelle, gleichgültig, was diese Pegel genau sind. Der Rücklese-Decoder muss nicht a priori wissen, welcher Schwellenpegel für die Entscheidung zu verwenden ist. Der Rücklese-Decoder liest die Datenzellen und bündelt die Rücklesewerte in zwei Gruppen, eine Gruppe der höheren Schwelle und eine Gruppe der niedrigeren Schwelle (threshold), wobei 1en und 0en entsprechend vergeben werden. Wenn alle Zellen dieselbe Schwelle aufweisen, wird entweder durch Vorcodierung oder Setzen eines Flag der Rücklese-Decoder informiert, eine 1 oder eine 0 zu vergeben. - Wie in
5B dargestellt, gilt nach der ersten Schreiboperation510 Vth-1 als THRESHOLD-1 gezeigt, und im Fall V-read ≥ Vth-1 gilt V-read = 1, andernfalls V-read = 0. - Wie in
5C dargestellt gilt nach einer zweiten Schreiboperation520 Vth-2 als THRESHOLD-1 gezeigt, und Vth-1 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-2 gilt V-read = 1, andernfalls V-read = 0. Ladungsnivellierung ist nur eine Konzeptbeschreibung, um die Grundarbeit der beweglichen Basislinie klarzustellen. Mit dem Schreibbefehl wird den NAND-Flash-Zellen114 befohlen, einen Endzielschwellenpegel zu programmieren, den jede Zelle beschaffen muss. - Wie in
5D dargestellt, gilt nach einer dritten Schreiboperation530 Vth-3 als THRESHOLD-1 gezeigt und Vth-2 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-3 gilt V-read = 1, andernfalls V-read = 0. -
6A ,6B und6C zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie eines ersten Schreibens, zweiten Schreibens und siebten Schreibens für ein 2-Zustands-3-Bit-MLC-Zellenbeispiel jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen600 ,610 ,620 gemäß Ausführungsformen der Erfindung. - Wie in
6A dargestellt, gilt nach einer ersten Schreiboperation600 Vth-1 als THRESHOLD-1 gezeigt und 0 VOLT = BASISLINIE im Fall V-read ≥ Vth-1 gilt V-read = 1, andernfalls V-read = 0. - Wie in
6B dargestellt, gilt nach einer zweiten Schreiboperation610 Vth-2 als THRESHOLD-1 gezeigt und Vth-1 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-2 gilt V-read = 1, andernfalls V-read = 0. - Wie in
6C dargestellt gilt nach einer siebten Schreiboperation620 Vth-6 als THRESHOLD-1 gezeigt und Vth-6 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-7 gilt V-read = 1, andernfalls V-read = 0. - Gemäß Merkmalen anderer Ausführungsformen der Erfindung kann die gegenüber Schwellenspannungsdrift oder Widerstandsdrift tolerante Speicherdatencodierung mit beweglicher Basislinie für robusten MLC-Speicher
114 einen ausgewählten Mehrzustandspegel umfassen, wie etwa andere 3-Zustands- oder 4-Zustands-MB-Speicherdaten als die 2-Zustands-MB-Speicherdaten, die für jede Zelle in einer Gruppe von Zellen verfügbare Datenwerte eine 1 oder eine 0 aufweisen. Zum Beispiel umfassen die 3-Zustands-MB-Speicherdaten, wie zum Beispiel in7A –7C und8A –8C dargestellt, verfügbare Datenwerte einer 2, einer 1 oder einer 0 für jede Zelle. Bei einem anderen Beispiel umfassen die 4-Zustands-MB-Speicherdaten, wie etwa in9A –9B dargestellt, verfügbare Datenwerte einer 3, einer 2, einer 1 oder einer 0 für jede Zelle. -
7A ,7B und7C zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens, zweiten Schreibens und dritten Schreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen700 ,710 ,720 für ein 3-Zustands-3-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
7A dargestellt, gilt nach einer ersten Schreiboperation700 Vth-1 als THRESHOLD-1 gezeigt, Vth-2 als THRESHOLD-2 gezeigt, und 0 VOLT = BASISLINIE und im Fall V-read ≥ Vth-2 gilt V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-1 dann V-read = 1, andernfalls V-read = 0. - Wie in
7B dargestellt gilt nach einer zweiten Schreiboperation710 Vth-3 als THRESHOLD-1 gezeigt, Vth-4 als THRESHOLD-2 gezeigt und Vth-2 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-4 gilt V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-3 dann V-read = 1, andernfalls V-read = 0. - Wie in
7C dargestellt gilt nach einer siebten Schreiboperation720 Vth-5 als THRESHOLD-1 gezeigt, Vth-6 als THRESHOLD-2 gezeigt und Vth-4 = BASISLINIE (LADUNGEN NIVELLIERT) und V-read ≥ Vth-6 gilt V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-5 dann V-read = 1, andernfalls V-read = 0. -
8A ,8B und8C zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens, zweiten Schreibens und siebten Schreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen800 ,810 ,820 für ein 3-Zustands-4-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
8A dargestellt gilt nach einer ersten Schreiboperation800 Vth-1 als THRESHOLD-1 gezeigt, Vth-2 als THRESHOLD-2 gezeigt und 0 VOLT = BASISLINIE und im Fall V-read ≥ Vth-2 gilt V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-1 dann V-read = 1, andernfalls V-read = 0. - Wie in
8B dargestellt gilt nach einer zweiten Schreiboperation810 Vth-3 als THRESHOLD-1 gezeigt, Vth-4 als THRESHOLD-2 gezeigt und Vth-2 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-4 gilt V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-3 dann V-read = 1, andernfalls V-read = 0. - Wie in
8C dargestellt gilt nach einer siebten Schreiboperation820 Vth-13 als THRESHOLD-1 gezeigt, Vth-14 als THRESHOLD-2 gezeigt und Vth-12 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-14 gilt V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-13 dann V-read = 1, andernfalls V-read = 0. -
9A und9B zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens und fünften Schreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen900 ,910 für ein 4-Zustands-4-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
9A dargestellt gilt nach der ersten Schreiboperation900 Vth-1 als THRESHOLD-1 gezeigt, Vth-2 als THRESHOLD-2 gezeigt, Vth-3 als THRESHOLD-3 gezeigt und 0 VOLT = BASISLINIE und im Fall V-read ≥ Vth-3 gilt V-read = 3, andernfalls gilt im Fall V-read ≥ Vth-2 dann V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-1 dann V-read = 1, andernfalls V-read = 0. - Wie in
9B dargestellt gilt nach einer fünften Schreiboperation910 Vth-12 als THRESHOLD-1 gezeigt, Vth-13 als THRESHOLD-2 gezeigt, Vth-14 als THRESHOLD-3 gezeigt und Vth-11 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-14 gilt V-read = 2, andernfalls gilt im Fall V-read ≥ Vth-13 dann V-read = 1, andernfalls V-read = 0. -
10A und10B zeigen jeweils beispielhafte Spannungsdrift mit den Operationen geschriebener Daten bzw. gelesener Daten mit der allgemeinen Bezeichnung durch das Bezugszeichen1000 ,1010 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
10A dargestellt, gilt nach der Daten-geschrieben-Operation1000 Vth-4 als THRESHOLD gezeigt und Vth-3 = BASISLINIE und im Fall V-read ≥ Vth-4 gilt V-read = 1, andernfalls V-read = 0. - Wie in
10B dargestellt gilt nach der Datenleseoperation1010 einschließlich beispielhafter Spannungsdrift Vth-2 als Vth-2' als THRESHOLD gezeigt und Vth-1' = BASISLINIE und im Fall V-read ≥ Vth-2' gilt V-read = 1, andernfalls V-read = 0. Daten sind wiederherstellbar, wenn die Spannungsdrift im Wesentlichen zwischen den Zellen dieselbe ist, mit der Möglichkeit, Schwellenspannungen für gelesene Daten einzustellen, die je nach Bedarf verwendet werden. -
11A ,11B und11C zeigen jeweils beispielhafte Teillöschung mit Operationen des dritten Datenschreibens, schnellen Teillöschens und Datenneuschreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen1100 ,1110 ,1120 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
11A dargestellt gilt mit einer dritten Datenschreiboperation1100 , Vth-3 als THRESHOLD gezeigt und Vth-2 = BASISLINIE und im Fall V-read ≥ Vth-3 gilt V-read = 1, andernfalls V-read = 0. - Wie in
11B dargestellt, ist die Daten-Teillöschoperation1110 gezeigt, wobei potentiell ungleichmäßige Löschung zwischen Zellen besteht. - Wie in
11C dargestellt ist die Datenneuschreiboperation1120 nach der Teillöschoperation1110 gezeigt. Für die Datenneuschreiboperation1120 gilt Vth-3 als THRESHOLD gezeigt und Vth-2 = BASISLINIE (LADUNGEN NIVELLIERT) und im Fall V-read ≥ Vth-3 gilt V-read = 1, andernfalls V-read = 0. -
12A und12B zeigen jeweils beispielhafte Änderung der Schwellenauflösung mit unverschlechterter Zelle und verschlechterter Zelle jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen1200 ,1210 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
12A dargestellt gibt es bei dem Beispiel1200 der unverschlechterten Zelle drei Schwellenpegel Vth-1, Vth-2 und Vth-3 für drei Schreibvorgänge mit beweglicher Basislinie. In12B gibt es bei dem Beispiel1210 der verschlechterten Zelle zwei Schwellenpegel Vth-1' und Vth-2' für zwei Schreibvorgänge mit beweglicher Basislinie. -
13A und13B ,13C und13D zeigen jeweils beispielhafte Änderung der Schwellenauflösung mit unverschlechterter Zelle und verschlechterter Zelle jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen1300 ,1310 ,1320 und1330 für ein 3-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
13A dargestellt gibt es bei dem Beispiel1300 der unverschlechterten Zelle fünf Schwellenpegel Vth-1, Vth-2, Vth-3, Vth-4 und Vth-5 für fünf Schreibvorgänge mit beweglicher Basislinie. Wie in13B dargestellt gibt es bei dem Beispiel1310 der verschlechterten Zelle vier Schwellenpegel Vth-1', Vth-2', Vth-3' und Vth-4' für vier Schreibvorgänge mit beweglicher Basislinie. Wie in13C dargestellt gibt es bei dem Beispiel1320 der verschlechterten Zelle drei Schwellenpegel Vth-1', Vth-2' und Vth-3' für drei Schreibvorgänge mit beweglicher Basislinie. In13D gibt es bei dem Beispiel1330 der verschlechterten Zelle zwei Schwellenpegel Vth-1' und Vth-2' für zwei Schreibvorgänge mit beweglicher Basislinie. - Mit Bezug auf
14 ist ein Diagramm von beispielhaften Parameterdaten für beispielhafte MLC-Zellenbeispiele mit der allgemeinen Bezeichnung durch das Bezugszeichen1400 gemäß Ausführungsformen der Erfindung gezeigt. Die beispielhaften Parameterdaten für beispielhafte MLC-Zellenbeispiele1400 umfassen jeweilige beispielhafte Pegel pro Zelle1402 , eine numerische Basis1404 , eine Anzahl von Schwellenpegeln1406 , bei verfügbaren Schreibvorgängen mit beweglicher Basislinie sind Zellen nach voller Löschung1408 nicht verschlechtert, und bei einem Bereich verfügbarer Schreibvorgänge mit beweglicher Basislinie sind Zellen nach voller Löschung1410 verschlechtert. -
15A und15B zeigen beispielhafte Spannungsleckangabe mit Operationen geschriebener Daten und rückgelesener Daten jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen1500 ,1510 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung. - Wie in
15A dargestellt gilt nach der ersten Schreiboperation1500 , Vth-3 als THRESHOLD-1 gezeigt und Vth-2 = BASISLINIE im Fall V-read ≥ Vth-3 gilt V-read = 1, andernfalls V-read = 0. - Wie in
15B dargestellt kann mit der Spannungsleckangabe die Datenrückleseoperation1510 , Vth-3 als THRESHOLD-1 gezeigt und Vth-2 = BASISLINIE im Fall V-read < Vth-2 ein Fehler resultieren, der durch ? angegeben wird, wobei Spannungslecken aufgetreten ist. Der Decoder mit beweglicher Basislinie kann das Leck entweder mit einem Flag als einen Fehler kennzeichnen oder an die leckende Zelle eine „0” oder „1” mit verschiedenen Wahrscheinlichkeiten vergeben und dies zur Endentscheidung bezüglich des korrekten Zelleninhalts zu einem Soft-Decoder/Fehlerkorrektursystem leiten. Diese Leckereignisse können auch von einem Verwaltungssystem verwendet werden, um für den Teil gemäß der Häufigkeit, mit der diese leckbehafteten Bit auftreten, ein Alter zuzuweisen, das bei einer vordefinierten Schwelle liegen könnte, die für die Ersetzung des gesamten Speicherteils empfohlen ist. - Obwohl die Speicherdatencodierung mit beweglicher Basislinie bzw. MB der Erfindung im Allgemeinen mit Bezug auf beispielhafte MLC-NAND-Flash-Fälle beschrieben wurde, ist für Fachleute erkennbar, dass die MB-Speicherdatencodierung der Erfindung auch vorteilhafterweise mit Mehrpegel-PCM-Speicher verwendet wird, ohne von dem Gedanken oder Schutzumfang der Erfindung abzuweichen.
- Nunmehr mit Bezug auf
16 ist ein Herstellungsartikel oder Computerprogrammprodukt1600 der Erfindung dargestellt. Das Computerprogrammprodukt1600 umfasst ein computerlesbares Aufzeichnungsmedium1602 , wie etwa eine Diskette, einen Nurlesespeicher hoher Kapazität in Form einer optisch gelesenen Kompaktdisk oder CD-ROM, ein Band oder ein anderes ähnliches Computerprogrammprodukt. Das computerlesbare Aufzeichnungsmedium1602 speichert Programmmittel oder Steuercode1604 ,1606 ,1608 ,1610 auf dem Medium1602 zum Ausführen der Verfahren zur Implementierung von erweitertem Datenschreiben, erweitertem Datenlesen und erweitertem Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie der Ausführungsformen der Erfindung in dem System100 von1 . - Eine durch die aufgezeichneten Programmmittel oder den Steuercode
1604 ,1606 ,1608 ,1610 definierte Sequenz von Programmanweisungen oder logische Baugruppe eines oder mehrerer miteinander zusammenhängender Module leitet den SSD-Controller106 des Systems100 an, um erweitertes Datenschreiben, erweitertes Datenlesen und erweitertes Datenteillöschen für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie der Ausführungsformen der Erfindung zu implementieren. - Obwohl die vorliegende Erfindung mit Bezug auf die Details der in der Zeichnung gezeigten Ausführungsformen der Erfindung beschrieben wurde, sollen diese Details den Schutzumfang der Erfindung, der in den angefügten Ansprüchen beansprucht wird, nicht beschränken.
Claims (20)
- Verfahren zur Implementierung von Datenlesen für Mehrpegelzellen- bzw. MLC-Speicher, umfassend: Durchführen eines Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie; Vergleichen von höheren und niedrigeren Spannungspegeln; und Identifizieren von entsprechenden Datenwerten als Reaktion auf die verglichenen höheren und niedrigeren Spannungspegel.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 1, wobei das Durchführen des Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie die Verwendung von separaten Daten, die eine aktuelle Spannungsbasislinie identifizieren, umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 2, wobei das Identifizieren der aktuellen Spannungsbasislinie das Identifizieren von tatsächlichen Referenzspannungspegeln durch Rücklesen aus periodischen Referenzzellenschreibvorgängen auf vordefinierten MLC-Referenzspeicherzellen umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 2, wobei das Identifizieren der aktuellen Spannungsbasislinie das Unterhalten von vordefinierten Parameterinformationen über MLC-Speicherzellen umfasst; die vordefinierten Parameterinformationen umfassen die aktuelle Spannungsbasislinie.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 4, das das Aktualisieren der aktuellen Spannungsbasislinie nach jedem Schreiben in eine Zelle und nach jedem Zellenlöschen umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 2, wobei das Durchführen von Datenlesen unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das Durchführen einer Fehlererholungssubroutine unter Verwendung von separaten Daten, die die aktuelle Spannungsbasislinie identifizieren, umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 6, das das Identifizieren der aktuellen Spannungsbasislinie aus periodischem Rücklesen von Referenzspannungspegeln von vordefinierten MLC-Referenzspeicherzellen umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 1, wobei das Durchführen des Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das Bereitstellen von Lesekriterienaktualisierung unter Verwendung von Referenzspeicherzelleninformationen für vordefinierte MLC-Referenzspeicherzellen umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 8, wobei das Bereitstellen von Lesekriterienaktualisierung die Verwendung einer Anzahl von Schreibzyklen und einer Anzahl von Löschzyklen zur Bestimmung von Spannungsdrift umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 8, wobei das Bereitstellen von Lesekriterienaktualisierung Schreiben der vordefinierten MLC-Referenzspeicherzellen und separates Speichern von Schreibereignisbedingungen; und Durchführen von periodischem Rücklesen der vordefinierten MLC-Referenzspeicherzellen zur Bestimmung von Spannungsdrift umfasst.
- Verfahren zur Implementierung von Datenlesen nach Anspruch 8, wobei das Bereitstellen von Lesekriterienaktualisierung das Durchführen von periodischem Rücklesen der vordefinierten MLC-Referenzspeicherzellen und Verwendung von separat gespeicherten Schreibereignisbedingungen einschließlich Basislinien-Spannungspegel zur Bestimmung von Spannungsdrift umfasst.
- Vorrichtung zur Implementierung von Datenlesen für Mehrpegelzellen- bzw. MLC-Speicher, umfassend: einen Controller; wobei der Controller ein Datenrücklesen für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durchführt; wobei der Controller höhere und niedrigere Spannungspegel vergleicht; und wobei der Controller entsprechende Datenwerte als Reaktion auf die verglichenen höheren und niedrigeren Spannungspegel identifiziert.
- Vorrichtung nach Anspruch 12, die auf einem computerlesbaren Medium gespeicherten Steuercode umfasst, und wobei der Controller den Steuercode zur Implementierung von Datenrücklesen verwendet.
- Vorrichtung nach Anspruch 12, wobei das Durchführen des Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller separate Daten, die eine aktuelle Spannungsbasislinie identifizieren, verwendet.
- Vorrichtung nach Anspruch 14, die umfasst, dass der Controller vordefinierte Parameterinformationen über MLC-Speicherzellen unterhält; die vordefinierten Parameterinformationen umfassen die aktuelle Spannungsbasislinie.
- Vorrichtung nach Anspruch 14, wobei das Durchführen des Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller eine Fehlererholungssubroutine unter Verwendung der separaten Daten, die die aktuelle Spannungsbasislinie identifizieren, durchführt.
- Vorrichtung nach Anspruch 12, wobei das Durchführen des Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller Lesekriterienaktualisierung unter Verwendung von Referenzspeicherzelleninformationen für vordefinierte MLC-Referenzspeicherzellen bereitstellt.
- Datenspeichereinrichtung, umfassend: einen Mehrpegelzellen-Speicher; einen Controller, der eine Speicherdatencodierungssteuerung mit beweglicher Basislinie zur Implementierung von Datenlesen verwendet; wobei der Controller ein Datenrücklesen für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durchführt; wobei der Controller höhere und niedrigere Spannungspegel vergleicht; und wobei der Controller entsprechende Datenwerte als Reaktion auf die verglichenen höheren und niedrigeren Spannungspegel identifiziert.
- Datenspeichereinrichtung nach Anspruch 18, wobei das Durchführen eines Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller vordefinierte Parameterinformationen, die eine Spannungsbasislinie umfassen, unterhält.
- Datenspeichereinrichtung nach Anspruch 18, wobei das Durchführen des Datenrücklesens für in den MLC-Speicher geschriebene Daten unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller eine Fehlererholungssubroutine unter Verwendung der separaten Daten, die die aktuelle Spannungsbasislinie identifizieren, durchführt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/361,918 | 2012-01-30 | ||
US13/361,918 US9208871B2 (en) | 2012-01-30 | 2012-01-30 | Implementing enhanced data read for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102013001401A1 true DE102013001401A1 (de) | 2013-09-26 |
Family
ID=47890884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102013001401A Pending DE102013001401A1 (de) | 2012-01-30 | 2013-01-28 | Implementierung von erweitertem Datenlesen für Mehrpegelzellen - bzw. MLC - Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie |
Country Status (4)
Country | Link |
---|---|
US (1) | US9208871B2 (de) |
KR (1) | KR20130088061A (de) |
DE (1) | DE102013001401A1 (de) |
GB (1) | GB2498875A (de) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978516B2 (en) | 2007-12-27 | 2011-07-12 | Pliant Technology, Inc. | Flash memory controller having reduced pinout |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
KR101545512B1 (ko) * | 2012-12-26 | 2015-08-24 | 성균관대학교산학협력단 | 반도체 메모리 장치, 검증 독출 방법 및 시스템 |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9235509B1 (en) * | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
GB201320983D0 (en) * | 2013-11-28 | 2014-01-15 | Ibm | Data encoding in solid-state storage apparatus |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
GB201322075D0 (en) | 2013-12-13 | 2014-01-29 | Ibm | Device for selecting a level for at least one read voltage |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9251909B1 (en) | 2014-09-29 | 2016-02-02 | International Business Machines Corporation | Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory |
US10365859B2 (en) | 2014-10-21 | 2019-07-30 | International Business Machines Corporation | Storage array management employing a merged background management process |
US9563373B2 (en) | 2014-10-21 | 2017-02-07 | International Business Machines Corporation | Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management |
KR20160057182A (ko) | 2014-11-13 | 2016-05-23 | 에스케이하이닉스 주식회사 | 저항변화 메모리 장치, 이를 위한 읽기 회로부 및 동작 방법 |
KR102245129B1 (ko) | 2014-11-24 | 2021-04-28 | 삼성전자 주식회사 | 멀티레벨 셀을 포함하는 크로스 포인트 메모리 장치 및 크로스 포인트 메모리 장치의 동작방법 |
US9990279B2 (en) | 2014-12-23 | 2018-06-05 | International Business Machines Corporation | Page-level health equalization |
US10339048B2 (en) | 2014-12-23 | 2019-07-02 | International Business Machines Corporation | Endurance enhancement scheme using memory re-evaluation |
US9652350B2 (en) | 2015-01-22 | 2017-05-16 | International Business Machines Corporation | Evaluation of complex SAN environments |
US9558823B1 (en) * | 2015-09-04 | 2017-01-31 | Macronix International Co., Ltd. | Resistance drift recovery method for MLC PCM |
US9646721B1 (en) * | 2016-03-31 | 2017-05-09 | EMC IP Holding Company LLC | Solid state drive bad block management |
US10452312B2 (en) | 2016-12-30 | 2019-10-22 | Intel Corporation | Apparatus, system, and method to determine a demarcation voltage to use to read a non-volatile memory |
TWI623878B (zh) * | 2017-07-07 | 2018-05-11 | 大心電子(英屬維京群島)股份有限公司 | 資料讀取方法以及儲存控制器 |
TWI627532B (zh) * | 2017-07-25 | 2018-06-21 | 旺宏電子股份有限公司 | 記憶體裝置的資料管理方法與系統 |
US10170195B1 (en) | 2017-12-06 | 2019-01-01 | International Business Machines Corporation | Threshold voltage shifting at a lower bit error rate by intelligently performing dummy configuration reads |
US10629247B2 (en) | 2017-12-21 | 2020-04-21 | Western Digital Technologies, Inc. | Read threshold adjustment using reference data |
CN109884550B (zh) * | 2019-04-01 | 2020-01-17 | 北京理工大学 | 一种动力电池系统在线参数辨识与回溯方法 |
CN111276176A (zh) * | 2020-02-11 | 2020-06-12 | 上海威固信息技术股份有限公司 | 一种三维堆叠闪存单元阈值电压分布模型构建方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867429A (en) * | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US7333364B2 (en) | 2000-01-06 | 2008-02-19 | Super Talent Electronics, Inc. | Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory |
JP2005285197A (ja) * | 2004-03-29 | 2005-10-13 | Renesas Technology Corp | 半導体記憶装置 |
US7957189B2 (en) | 2004-07-26 | 2011-06-07 | Sandisk Il Ltd. | Drift compensation in a flash memory |
DE602005012625D1 (de) | 2005-07-22 | 2009-03-19 | Hynix Semiconductor Inc | Verfahren zum Zugreifen auf eine nichtflüchtige Mehrpegelspeichervorrichtung vom Typ FLASH NAND |
US8645793B2 (en) | 2008-06-03 | 2014-02-04 | Marvell International Ltd. | Statistical tracking for flash memory |
US7697326B2 (en) | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
US7639531B2 (en) | 2006-05-15 | 2009-12-29 | Apple Inc. | Dynamic cell bit resolution |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
WO2009067633A1 (en) | 2007-11-20 | 2009-05-28 | California Institute Of Technology | Rank modulation for memory devices |
US8806144B2 (en) * | 2009-05-12 | 2014-08-12 | Stec, Inc. | Flash storage device with read cache |
US7848152B1 (en) | 2009-05-12 | 2010-12-07 | Skymedi Corporation | Method and system for adaptively finding reference voltages for reading data from a MLC flash memory |
US8074013B2 (en) | 2009-09-21 | 2011-12-06 | Skymedi Corporation | Uniform coding system for a flash memory |
TWI438777B (zh) | 2010-06-10 | 2014-05-21 | Global Unichip Corp | 一種快閃記憶體控制器之資料傳輸保護裝置 |
US8898374B2 (en) * | 2010-07-21 | 2014-11-25 | Silicon Motion, Inc. | Flash memory device and method for managing flash memory device |
US9229804B2 (en) | 2010-08-17 | 2016-01-05 | Technion Research And Development Foundation Ltd. | Mitigating inter-cell coupling effects in non volatile memory (NVM) cells |
KR20120030281A (ko) * | 2010-09-20 | 2012-03-28 | 삼성전자주식회사 | 플래시 메모리 장치, 및 그의 프로그램 검증 방법 |
US8510636B2 (en) * | 2011-04-01 | 2013-08-13 | Intel Corporation | Dynamic read channel calibration for non-volatile memory devices |
US8792272B2 (en) * | 2012-01-30 | 2014-07-29 | HGST Netherlands B.V. | Implementing enhanced data partial-erase for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
-
2012
- 2012-01-30 US US13/361,918 patent/US9208871B2/en active Active
-
2013
- 2013-01-23 KR KR1020130007448A patent/KR20130088061A/ko not_active Application Discontinuation
- 2013-01-28 GB GB1301474.1A patent/GB2498875A/en not_active Withdrawn
- 2013-01-28 DE DE102013001401A patent/DE102013001401A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US9208871B2 (en) | 2015-12-08 |
GB201301474D0 (en) | 2013-03-13 |
KR20130088061A (ko) | 2013-08-07 |
US20130194865A1 (en) | 2013-08-01 |
GB2498875A (en) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102013001401A1 (de) | Implementierung von erweitertem Datenlesen für Mehrpegelzellen - bzw. MLC - Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie | |
DE102013001421A1 (de) | Implementierung von erweiterter Daten-Teillöschung für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie | |
DE102013001420A1 (de) | Implementierung von erweitertem Datenschreiben für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie | |
DE112014004778B4 (de) | Vorrichtung und Verfahren zum Verwalten von Chipgruppen | |
DE112014004761B4 (de) | Beeinflussung des Wear-Leveling in Speichersystemen | |
DE602004011097T2 (de) | Flash-speicherdatenkorrektur- und scrub-techniken | |
DE112008001151B4 (de) | Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren | |
DE102018123805A1 (de) | Vorgang für verteiltes Programmieren | |
DE102005037037B4 (de) | Speicheranordnung und Verfahren zum Betreiben der Speicheranordnung | |
DE102007031027B4 (de) | Leseverfahren einer Speichervorrichtung | |
DE69729502T2 (de) | Mehrpegelspeicher-System | |
DE102019123709A1 (de) | Verwendung verschachtelter schreibvorgänge zur trennung von die-ebenen | |
DE112009001620T5 (de) | Nichtflüchtige Speichervorrichtung mit mehreren Bits Pro Zelle (MBC) und System mit Polaritätssteuerung sowie Verfahren zum Programmieren derselbigen | |
DE112019000165T5 (de) | Gleichzeitiges programmieren mehrerer zellen für nichtflüchtigespeichervorrichtungen | |
DE102008009847A1 (de) | Verfahren zum Treiben eines nichtflüchtigen Speicherelements und nichtflüchtiges Speicherelement | |
DE112014002632T5 (de) | Lesespannungsberechnung bei Solid-State-Speichervorrichtungen | |
DE102017104283A1 (de) | Löschgeschwindigkeitsbasierte wortleitungssteuerung | |
JP2015022788A (ja) | メモリ内のデータを管理するための方法および装置 | |
DE102015011991A1 (de) | Codierungsschema für vertikale 3D-Flash-Speicher | |
DE102017114078A1 (de) | Fehlerabschwächung für 3d-nand-flash-speicher | |
DE102010037290A1 (de) | Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen | |
DE102005049845A1 (de) | Verfahren zum Testen einer Speicheranordnung, Speicheranordnung und Testeinheit zum Testen einer solchen | |
US20160078945A1 (en) | Incremental step pulse programming | |
DE102010037064A1 (de) | Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung | |
DE102018105988A1 (de) | Physikalische sichere löschung von solid-state-laufwerken |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R082 | Change of representative |
Representative=s name: MEWBURN ELLIS LLP, DE |
|
R081 | Change of applicant/patentee |
Owner name: WESTERN DIGITAL TECHNOLOGIES, INC. (N.D.GES.D., US Free format text: FORMER OWNER: HGST NETHERLANDS B.V., AMSTERDAM, NL |
|
R082 | Change of representative |
Representative=s name: MEWBURN ELLIS LLP, DE |
|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE |
|
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC. (N.D.GES.D.STAATES DELAWARE), SAN JOSE, CA, US Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATE, US Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC. (N.D.GES.D.STAATES DELAWARE), SAN JOSE, CA, US |
|
R081 | Change of applicant/patentee |
Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US Free format text: FORMER OWNER: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATES DELAWARE), MILPITAS, CA, US |