DE102013001420A1 - Implementierung von erweitertem Datenschreiben für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie - Google Patents

Implementierung von erweitertem Datenschreiben für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie Download PDF

Info

Publication number
DE102013001420A1
DE102013001420A1 DE102013001420A DE102013001420A DE102013001420A1 DE 102013001420 A1 DE102013001420 A1 DE 102013001420A1 DE 102013001420 A DE102013001420 A DE 102013001420A DE 102013001420 A DE102013001420 A DE 102013001420A DE 102013001420 A1 DE102013001420 A1 DE 102013001420A1
Authority
DE
Germany
Prior art keywords
data
baseline
drift
memory
voltage
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
DE102013001420A
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.)
Western Digital Technologies Inc
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 DE102013001420A1 publication Critical patent/DE102013001420A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K3/00Gate valves or sliding valves, i.e. cut-off apparatus with closing members having a sliding movement along the seat for opening and closing
    • F16K3/30Details
    • F16K3/32Means for additional adjustment of the rate of flow
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H23/00Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms
    • A61H23/04Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms with hydraulic or pneumatic drive
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H7/00Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for
    • A61H7/007Kneading
    • A61H7/008Suction kneading
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H9/00Pneumatic or hydraulic massage
    • A61H9/005Pneumatic massage
    • A61H9/0078Pneumatic massage with intermittent or alternately inflated bladders or cuffs
    • A61H9/0092Cuffs therefor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16KVALVES; TAPS; COCKS; ACTUATING-FLOATS; DEVICES FOR VENTING OR AERATING
    • F16K3/00Gate valves or sliding valves, i.e. cut-off apparatus with closing members having a sliding movement along the seat for opening and closing
    • F16K3/30Details
    • F16K3/314Forms or constructions of slides; Attachment of the slide to the spindle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • 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/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/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • 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/0069Writing or programming 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/146Write once memory, i.e. allowing changing of memory content by writing additional bits
    • 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/0069Writing or programming circuits or methods
    • G11C2013/0076Write operation performed depending on read result

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Veterinary Medicine (AREA)
  • Pain & Pain Management (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Rehabilitation Therapy (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Dermatology (AREA)
  • Read Only Memory (AREA)

Abstract

Es werden ein Verfahren und eine Vorrichtung zur Implementierung 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 eine Spannungsbasislinie eines Vorschreibens identifiziert und ein Datenschreiben verwendet die gegenüber Schwellenspannungsdrift oder Widerstandsdrift tolerante Speicherdatencodierung mit beweglicher Basislinie für Daten, die in den MLC-Speicher geschrieben werden, als Reaktion auf die identifizierte Spannungsbasislinie.

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 READ FOR MULTI-LEVEL CELL (MLC) MEMORY USING THRESHOLD VOLTAGE-DRIFT OR RESISTANCE DRIFT TOLERANT MOVING BASELINE MEMORY DATA ENCODING” (HSJ920110120US1); 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” (HSJ920110121US1).
  • 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öhen 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 eine Spannungsbasislinie eines Vorschreibens identifiziert und ein Datenschreiben verwendet die gegenüber Schwellenspannungsdrift oder Widerstandsdrift tolerante Speicherdatencodierung mit beweglicher Basislinie für Daten, die in den MLC-Speicher geschrieben werden, als Reaktion auf die identifizierte Spannungsbasislinie.
  • 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 geschriebenem 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 Datenschreiben für Mehrpegelzellen- bzw. MLC-Speicher, umfassend: Identifizieren einer Spannungsbasislinie eines Vorschreibens; und als Reaktion auf die identifizierte Spannungsbasislinie, Durchführen eines Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie für Daten, die in den MLC-Speicher geschrieben werden.
  2. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Identifizieren der Spannungsbasislinie des Vorschreibens das Lesen von MLC-Speicherzellen vor dem Durchführen des Datenschreibens umfasst.
  3. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Identifizieren der Spannungsbasislinie des Vorschreibens das Unterhalten von vordefinierten Parameterinformationen über MLC-Speicherzellen umfasst; die vordefinierten Parameterinfomationen umfassen die Spannungsbasislinie.
  4. Verfahren zur Implementierung von Datenschreiben nach Anspruch 3, das das Aktualisieren der Spannungsbasislinie nach jedem Schreiben in eine Zelle und nach jeder Zellenlöschung umfasst.
  5. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie die Verwendung eines lauflängenbegrenzten bzw. RLL-Codes umfasst.
  6. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das Speichern von Flags umfasst, um das Auftreten von illegalen Datenkombinationen anzuzeigen.
  7. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das periodische Schreiben von Referenzzellen mit spezifizierten Spannungspegeln umfasst, um Basislinienspannung im Auge zu behalten.
  8. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das Bereitstellen von einstellbarer Schwellenpegelauflösung der gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranten Speicherdatencodierung mit beweglicher Basislinie umfasst.
  9. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das Abstufen eines Zustandspegels der gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranten Speicherdatencodierung mit beweglicher Basislinie umfasst.
  10. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das Wechseln von einem 4-Zustands-Speicherdatencode mit beweglicher Basislinie zu einem 2-Zustands-Speicherdatencode mit beweglicher Basislinie umfasst.
  11. Verfahren zur Implementierung von Datenschreiben nach Anspruch 1, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie das Bereitstellen von einstellbarer Auflösung der gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranten Speicherdatencodierung mit beweglicher Basislinie unter Verwendung einer festgesetzten Anzahl von Schreibzyklen, bevor eine Teillöschung des MLC-Speichers durchgeführt wird, umfasst.
  12. Vorrichtung zur Implementierung von Datenschreiben für Mehrpegelzellen- bzw. MLC-Speicher, umfassend: einen Controller; wobei der Controller eine Spannungsbasislinie eines Vorschreibens identifiziert; und der Controller als Reaktion auf die identifizierte Spannungsbasislinie ein Datenschreiben unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie für Daten, die in den MLC-Speicher geschrieben werden, durchführt.
  13. Vorrichtung nach Anspruch 12, die auf einem computerlesbaren Medium gespeicherten Steuercode umfasst, und wobei der Controller den Steuercode zur Implementierung von Datenschreiben verwendet.
  14. Vorrichtung nach Anspruch 12, wobei das Identifizieren der Spannungsbasislinie des Vorschreibens durch den Controller umfasst, dass der Controller MLC-Speicherzellen vor dem Durchführen des Datenschreibens liest.
  15. Vorrichtung nach Anspruch 12, wobei das Identifizieren der Spannungsbasislinie des Vorschreibens durch den Controller umfasst, dass der Controller vordefinierte Parameterinformationen über MLC-Speicherzellen unterhält; die vordefinierten Parameterinformationen umfassen die Spannungsbasislinie.
  16. Vorrichtung nach Anspruch 12, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller einen lauflängenbegrenzten oder RLL-Code verwendet.
  17. Vorrichtung nach Anspruch 12, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller einstellbare Schwellenpegelauflösung der gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranten Speicherdatencodierung mit beweglicher Basislinie bereitstellt und der Controller eine einstellbare Anzahl von Schreibzyklen, bevor eine Teillöschung des MLC-Speichers durchgeführt wird, bereitstellt.
  18. Datenspeichereinrichtung, umfassend: einen Mehrpegelzellen-Speicher; einen Controller, der eine Speicherdatencodierungssteuerung mit beweglicher Basislinie zum Datenschreiben verwendet; wobei der Controller eine Spannungsbasislinie eines Vorschreibens identifiziert; und der Controller als Reaktion auf die identifizierte Spannungsbasislinie ein Datenschreiben unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierungssteuerung mit beweglicher Basislinie für Daten, die in den MLC-Speicher geschrieben werden, durchführt.
  19. Datenspeichereinrichtung nach Anspruch 18, wobei das Identifizieren der Spannungsbasislinie des Vorschreibens durch den Controller umfasst, dass der Controller vordefinierte Parameterinformationen, die die Spannungsbasislinie umfassen, unterhält.
  20. Datenspeichereinrichtung nach Anspruch 18, wobei das Durchführen des Datenschreibens unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie durch den Controller umfasst, dass der Controller einstellbare Schwellenpegelauflösung der gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranten Speicherdatencodierung mit beweglicher Basislinie bereitstellt.
DE102013001420A 2012-01-30 2013-01-28 Implementierung von erweitertem Datenschreiben für Mehrpegelzellen- bzw. MLC-Speicher unter Verwendung von gegenüber Schwellenspannungsdrift oder Widerstandsdrift toleranter Speicherdatencodierung mit beweglicher Basislinie Pending DE102013001420A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/361,905 US8699266B2 (en) 2012-01-30 2012-01-30 Implementing enhanced data write for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding
US13/361,905 2012-01-30

Publications (1)

Publication Number Publication Date
DE102013001420A1 true DE102013001420A1 (de) 2013-09-19

Family

ID=47890882

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013001420A Pending DE102013001420A1 (de) 2012-01-30 2013-01-28 Implementierung von erweitertem Datenschreiben 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) US8699266B2 (de)
KR (1) KR101573977B1 (de)
DE (1) DE102013001420A1 (de)
GB (1) GB2498873A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716266B (zh) * 2012-09-29 2017-09-12 华为技术有限公司 信号处理方法、装置及系统
US9754682B2 (en) * 2013-11-19 2017-09-05 Western Digital Technologies, Inc. Implementing enhanced performance with read before write to phase change memory
GB201320983D0 (en) * 2013-11-28 2014-01-15 Ibm Data encoding in solid-state storage apparatus
US9786386B2 (en) 2015-02-27 2017-10-10 Microsoft Technology Licensing, Llc Dynamic approximate storage for custom applications
US9690656B2 (en) 2015-02-27 2017-06-27 Microsoft Technology Licensing, Llc Data encoding on single-level and variable multi-level cell storage
US9646721B1 (en) * 2016-03-31 2017-05-09 EMC IP Holding Company LLC Solid state drive bad block management
US11170853B2 (en) 2020-03-04 2021-11-09 Micron Technology, Inc. Modified write voltage for memory devices
US11294819B2 (en) * 2020-03-31 2022-04-05 Western Digital Technologies, Inc. Command optimization through intelligent threshold detection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE602005012625D1 (de) * 2005-07-22 2009-03-19 Hynix Semiconductor Inc Verfahren zum Zugreifen auf eine nichtflüchtige Mehrpegelspeichervorrichtung vom Typ FLASH NAND
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US7639531B2 (en) 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US8245094B2 (en) 2007-11-20 2012-08-14 California Institute of Technology Texas A & M Rank modulation for flash memories
US8074013B2 (en) * 2009-09-21 2011-12-06 Skymedi Corporation Uniform coding system for a flash memory
US8578246B2 (en) * 2010-05-31 2013-11-05 International Business Machines Corporation Data encoding in solid-state storage devices
TWI438777B (zh) 2010-06-10 2014-05-21 Global Unichip Corp 一種快閃記憶體控制器之資料傳輸保護裝置
CN103140894B (zh) * 2010-08-17 2017-08-22 技术研究及发展基金公司 在非易失性存储器(nvm)单元中减轻单元间耦合效应

Also Published As

Publication number Publication date
KR101573977B1 (ko) 2015-12-02
KR20130088069A (ko) 2013-08-07
US20130194864A1 (en) 2013-08-01
GB2498873A (en) 2013-07-31
US8699266B2 (en) 2014-04-15
GB201301472D0 (en) 2013-03-13

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
DE102017001433B4 (de) Systeme und Verfahren für adaptive Lesepegelanpassung
DE112014004761B4 (de) Beeinflussung des Wear-Leveling in Speichersystemen
JP6027059B2 (ja) メモリ内のデータを管理するための方法および装置
DE602004011097T2 (de) Flash-speicherdatenkorrektur- und scrub-techniken
DE112008001151B4 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE602006001026T2 (de) Integriertes Schaltgerät, Flash-Speicherarray, nichtflüchtige Speichervorrichtung und Betriebsverfahren
DE69729502T2 (de) Mehrpegelspeicher-System
DE102018123805A1 (de) Vorgang für verteiltes Programmieren
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
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
DE112019000165T5 (de) Gleichzeitiges programmieren mehrerer zellen für nichtflüchtigespeichervorrichtungen
DE102010037290A1 (de) Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen
DE102017114078A1 (de) Fehlerabschwächung für 3d-nand-flash-speicher
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE102005049845A1 (de) Verfahren zum Testen einer Speicheranordnung, Speicheranordnung und Testeinheit zum Testen einer solchen
US20160078945A1 (en) Incremental step pulse programming
DE102018105988A1 (de) Physikalische sichere löschung von solid-state-laufwerken
DE102018123961A1 (de) Gruppen-leseaktualisierung

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