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 PDF

Info

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
Application number
DE102013001401A
Other languages
English (en)
Inventor
Zvonimir Z. Bandic
Luiz M. Franca-Neto
Cyril Guyot
Robert Eugeniu Mateescu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sandisk Technologies Inc NDGesD Staates Us
Original Assignee
HGST Netherlands BV
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 HGST Netherlands BV filed Critical HGST Netherlands BV
Publication of DE102013001401A1 publication Critical patent/DE102013001401A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5678Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0004Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code 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
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N70/00Solid-state devices having no potential barriers, and specially adapted for rectifying, amplifying, oscillating or switching
    • H10N70/20Multistable switching devices, e.g. memristors
    • H10N70/231Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0054Read 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

Es werden ein Verfahren und eine Vorrichtung zur Implementierung von erweitertem Datenlesen 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.

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 und 2B, 2C und 2D und 2E jeweilige Flussdiagramme beispielhafter Operationen des Systems von 1 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 und 3C 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 und 5D 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 und 6C 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 und 7C 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 und 8C 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 und 9B 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 und 10B 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 und 11C 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 und 12B 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 und 13B, 13C und 13D 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 und 15B 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 Bezugszeichen 100 gemäß einer Ausführungsform der Erfindung gezeigt. Das System 100 umfasst ein Halbleiterlaufwerk 102 und einen Hostcomputer 104. Das SSD 102 umfasst einen Controller 106, der mit einem Hauptspeicher oder dynamischen Direktzugriffsspeicher bzw. DRAM 108 gekoppelt ist, eine MLC-Speicherverwaltungsinformation und -steuerung 110 und eine Speicherdatencodierungssteuerung 112 mit beweglicher Basislinie bzw. MB.
  • Das SSD 102 umfasst eine Vielzahl von Mehrpegelzellen- bzw. MLC-Speichereinrichtungen 114, die mit dem Speicherdatencodierungs-Steuerblock 112 mit beweglicher Basislinie bzw. MB gekoppelt sind, der mit dem Controller 106 gekoppelt ist, wie etwa NAND-Flash-Chips 114 oder Phasenänderungsspeicher- bzw. PCM-Chips 114 oder eine Kombination von NAND-Flash-Chips und PCM-Chips. Das SSD 102 umfasst eine Hostschnittstelle 116, die zwischen den Hostcomputer 104 und den Controller 106 und den Speicherdatencodierungs-Steuerblock 112 mit beweglicher Basislinie bzw. MB gekoppelt ist.
  • Obwohl die beispielhafte Ausführungsform des Systems 100 im Kontext des Halbleiterlaufwerks 102 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 Controller 106 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 Controller 106 des SSD 102 umfasst Firmware, der direkter Zugriff auf den Speicherdatencodierungs-Steuerblock 112 mit beweglicher Basislinie bzw. MB gegeben wird. Die Firmware des Controllers 106 des SSD 102 erhält Informationen mit Bezug auf den Speicherdatencodierungs-Steuerblock 112 mit beweglicher Basislinie bzw. MB zum Beispiel von dem MLC-Speicherverwaltungsinformations- und -steuerblock 110.
  • Es versteht sich, dass die Prinzipien der vorliegenden Erfindung nicht auf das dargestellte System 100 und das SSD 102 beschränkt sind. Zum Beispiel könnten der MLC-Speicherverwaltungsinformations- und -steuerblock 110 und der MB-Speicherdatencodierungs-Steuerblock 112 durch den Hostcomputer 104 oder in den MLC-Speichereinrichtungen 114 implementiert werden, statt dass die MB-Speicherdatencodierung durch das SSD 102 durchgeführt wird.
  • Nunmehr mit Bezug auf 2A und 2B, 2C und 2D und 2E sind jeweilige Flussdiagramme beispielhafter Operationen des Systems von 1 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 und 2B, 2C und 2D und 2E geben jeweilige Flussdiagramme von beispielhaften Operationen des Systems 100 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. In 2A und 2B, 2C und 2D und 2E 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 und 2B beginnen beispielhafte Operationen für robustes MLC-Speicherdatenschreiben wie in einem Block 200 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 Block 204 angegeben. Die separaten Flags im Block 204 werden optional zusammen mit dem Substitutionscode im Block 202 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 Block 206 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 Beispiel 5A5D und 6A6C. Zellen wirken wie eine Einzelpegelzelle bzw. SLC (Single-Level Cell) mit Basis-2-Binärbitdaten. Wie in einem Block 210 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 Beispiel 7A7C und 8A8C. Zellendaten sind zur Basis 3 mit separater Datencodierung zum Umwandeln eines Blocks von Zellen in Binärdaten zur Basis 2. Wie in einem Block 212 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 Beispiel 9A9B. 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 Block 216 angegeben Daten in einem 3-Zustands-MB-Code, statt in einem 3-Zustands- oder 4-Zustands-MB-Code.
  • Mit Bezug auf 2B ist im Block 218 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 Block 220 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 Block 224 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 Block 226 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 Block 230 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 und 2D beginnen Operationen für robustes MLC-Speicherdatenlesen wie in einem Block 234 angegeben. Das anfängliche Datenlesen ist optional blind, wobei zum Beispiel Vergleich von hohen Spannungen mit niedrigeren Spannungen verwendet wird. Siehe 10A und 10B 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 Block 238 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 Block 240 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 Block 246 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 Block 248 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 Block 252 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. Siehe 11A, 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 Block 256 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 und 3C 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 Bezugszeichen 300, 310, 320 gemäß Ausführungsformen der Erfindung. In 3A umfasst die jeweilige Startoperation 300, 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 Bezugszeichen 400, 410, 420 gemäß Ausführungsformen der Erfindung.
  • 5A, 5B, 5C und 5D 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 Bezugszeichen 500, 510, 520, 530 gemäß Ausführungsformen der Erfindung. In 5A gilt, wobei im Startzustand 500 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 Schreiboperation 510 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 Schreiboperation 520 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-Zellen 114 befohlen, einen Endzielschwellenpegel zu programmieren, den jede Zelle beschaffen muss.
  • Wie in 5D dargestellt, gilt nach einer dritten Schreiboperation 530 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 und 6C 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 Bezugszeichen 600, 610, 620 gemäß Ausführungsformen der Erfindung.
  • Wie in 6A dargestellt, gilt nach einer ersten Schreiboperation 600 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 Schreiboperation 610 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 Schreiboperation 620 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 in 7A7C und 8A8C 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 in 9A9B dargestellt, verfügbare Datenwerte einer 3, einer 2, einer 1 oder einer 0 für jede Zelle.
  • 7A, 7B und 7C zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens, zweiten Schreibens und dritten Schreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen 700, 710, 720 für ein 3-Zustands-3-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 7A dargestellt, gilt nach einer ersten Schreiboperation 700 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 Schreiboperation 710 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 Schreiboperation 720 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 und 8C zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens, zweiten Schreibens und siebten Schreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen 800, 810, 820 für ein 3-Zustands-4-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 8A dargestellt gilt nach einer ersten Schreiboperation 800 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 Schreiboperation 810 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 Schreiboperation 820 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 und 9B zeigen jeweils beispielhafte Codierungsoperationen mit beweglicher Basislinie des ersten Schreibens und fünften Schreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen 900, 910 für ein 4-Zustands-4-Bit-MLC-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 9A dargestellt gilt nach der ersten Schreiboperation 900 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 Schreiboperation 910 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 und 10B zeigen jeweils beispielhafte Spannungsdrift mit den Operationen geschriebener Daten bzw. gelesener Daten mit der allgemeinen Bezeichnung durch das Bezugszeichen 1000, 1010 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 10A dargestellt, gilt nach der Daten-geschrieben-Operation 1000 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 Datenleseoperation 1010 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 und 11C zeigen jeweils beispielhafte Teillöschung mit Operationen des dritten Datenschreibens, schnellen Teillöschens und Datenneuschreibens jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen 1100, 1110, 1120 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 11A dargestellt gilt mit einer dritten Datenschreiboperation 1100, 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öschoperation 1110 gezeigt, wobei potentiell ungleichmäßige Löschung zwischen Zellen besteht.
  • Wie in 11C dargestellt ist die Datenneuschreiboperation 1120 nach der Teillöschoperation 1110 gezeigt. Für die Datenneuschreiboperation 1120 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 und 12B zeigen jeweils beispielhafte Änderung der Schwellenauflösung mit unverschlechterter Zelle und verschlechterter Zelle jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen 1200, 1210 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 12A dargestellt gibt es bei dem Beispiel 1200 der unverschlechterten Zelle drei Schwellenpegel Vth-1, Vth-2 und Vth-3 für drei Schreibvorgänge mit beweglicher Basislinie. In 12B gibt es bei dem Beispiel 1210 der verschlechterten Zelle zwei Schwellenpegel Vth-1' und Vth-2' für zwei Schreibvorgänge mit beweglicher Basislinie.
  • 13A und 13B, 13C und 13D zeigen jeweils beispielhafte Änderung der Schwellenauflösung mit unverschlechterter Zelle und verschlechterter Zelle jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen 1300, 1310, 1320 und 1330 für ein 3-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 13A dargestellt gibt es bei dem Beispiel 1300 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 in 13B dargestellt gibt es bei dem Beispiel 1310 der verschlechterten Zelle vier Schwellenpegel Vth-1', Vth-2', Vth-3' und Vth-4' für vier Schreibvorgänge mit beweglicher Basislinie. Wie in 13C dargestellt gibt es bei dem Beispiel 1320 der verschlechterten Zelle drei Schwellenpegel Vth-1', Vth-2' und Vth-3' für drei Schreibvorgänge mit beweglicher Basislinie. In 13D gibt es bei dem Beispiel 1330 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 Bezugszeichen 1400 gemäß Ausführungsformen der Erfindung gezeigt. Die beispielhaften Parameterdaten für beispielhafte MLC-Zellenbeispiele 1400 umfassen jeweilige beispielhafte Pegel pro Zelle 1402, eine numerische Basis 1404, eine Anzahl von Schwellenpegeln 1406, bei verfügbaren Schreibvorgängen mit beweglicher Basislinie sind Zellen nach voller Löschung 1408 nicht verschlechtert, und bei einem Bereich verfügbarer Schreibvorgänge mit beweglicher Basislinie sind Zellen nach voller Löschung 1410 verschlechtert.
  • 15A und 15B zeigen beispielhafte Spannungsleckangabe mit Operationen geschriebener Daten und rückgelesener Daten jeweils mit der allgemeinen Bezeichnung durch das Bezugszeichen 1500, 1510 für ein 2-Bit-MLC-NAND-Zellenbeispiel gemäß Ausführungsformen der Erfindung.
  • Wie in 15A dargestellt gilt nach der ersten Schreiboperation 1500, 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ückleseoperation 1510, 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 Computerprogrammprodukt 1600 der Erfindung dargestellt. Das Computerprogrammprodukt 1600 umfasst ein computerlesbares Aufzeichnungsmedium 1602, 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 Aufzeichnungsmedium 1602 speichert Programmmittel oder Steuercode 1604, 1606, 1608, 1610 auf dem Medium 1602 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 System 100 von 1.
  • 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-Controller 106 des Systems 100 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. Vorrichtung nach Anspruch 12, die auf einem computerlesbaren Medium gespeicherten Steuercode umfasst, und wobei der Controller den Steuercode zur Implementierung von Datenrücklesen verwendet.
  14. 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.
  15. Vorrichtung nach Anspruch 14, die umfasst, dass der Controller vordefinierte Parameterinformationen über MLC-Speicherzellen unterhält; die vordefinierten Parameterinformationen umfassen die aktuelle Spannungsbasislinie.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
DE102013001401A 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 Pending DE102013001401A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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