DE112008002553T5 - Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten - Google Patents

Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten Download PDF

Info

Publication number
DE112008002553T5
DE112008002553T5 DE112008002553T DE112008002553T DE112008002553T5 DE 112008002553 T5 DE112008002553 T5 DE 112008002553T5 DE 112008002553 T DE112008002553 T DE 112008002553T DE 112008002553 T DE112008002553 T DE 112008002553T DE 112008002553 T5 DE112008002553 T5 DE 112008002553T5
Authority
DE
Germany
Prior art keywords
cells
data
group
bit
dummy data
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.)
Withdrawn
Application number
DE112008002553T
Other languages
English (en)
Inventor
Menahem Lasser
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 Israel Ltd
Original Assignee
SanDisk IL Ltd
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 SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of DE112008002553T5 publication Critical patent/DE112008002553T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

Verfahren zum Speichern von Daten, umfassend:
in einem Speicherfeld, welches Zellen aufweist, welche zum Schreiben einer ersten Anzahl von Bits pro Zelle ausgestaltet sind, wird eine Gruppe der Zellen bestimmt, in welche in eine zweite Anzahl von Bits pro Zelle, welche kleiner als die erste Anzahl ist, Eingangsdaten zu schreiben sind;
Speichern von Dummy-Daten, welche unabhängig von den Eingangsdaten sind, in einen ersten Satz von einem oder von mehreren Bits der Zellen in der Gruppe; und
Schreiben der Eingangsdaten in einen zweiten Satz von mindestens einem anderen Bit der Zellen in der Gruppe.

Description

  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen eine Technologie für nicht flüchtige Speicher.
  • Hintergrund der Erfindung
  • Nicht flüchtige Halbleiterspeichervorrichtungen werden weithin als Speicher in Computern und anderen elektronischen Vorrichtungen eingesetzt. Bei ”Single-Level Cell” (SLC)-Speichervorrichtungen ist ein eine Ladung haltendes Gate in jeder Speicherzelle der Vorrichtung derart entworfen, dass das Gate eine Ladung hält, so dass das Gate entweder in einem geladenen Zustand oder in einem gelöschten Zustand vorliegen kann. Jede Speicherzelle kann daher ein einzelnes Datenbit speichern, wobei ein Zustand einer logischen ”1” (was typischerweise mit dem gelöschten Zustand gleichgesetzt wird) und der andere Zustand einer logischen ”0” (was typischerweise mit dem geladenen Zustand gleichgesetzt wird) entspricht.
  • Bei einem ”Multi-Level Cell” (MLC)-Speicher kann das Gate in jeder Speicherzelle auf vier oder mehr verschiedene Spannungszustände oder Spannungsbereiche eingestellt werden, wodurch für eine Datendichte von zwei oder mehr Datenbits pro Zelle gesorgt wird. Ein MLC-Speicher ist beispielsweise in dem US-Patent 5,043,940 von Harari und in dem US-Patent 5,172,338 von Mehrotra und anderen beschrieben, welche durch Bezugnahme mit aufgenommen werden.
  • Je höher die Datendichte einer MLC-Vorrichtung ist, desto begrenzter bzw. kleiner werden notwendigerweise die Bereiche, welche die Spannungszustände definieren. Daher verringert sich die Toleranz bezüglich tatsächlichen und vorhandenen Verschiebungen bei Zellspannungen. Bei einem Flash-Speicher können aufgrund einer elektrischen Kopplung zwischen den Zellen wie auch aufgrund von Leckströmen durch das Oxid, welches das Gate der Zelle isoliert, bei langen Speicherzeiten tatsächlich Verschiebungen bzw. Veränderungen bei der Ladung auftreten, welche in einer Zelle gespeichert ist, wenn eine benachbarte Zelle gelesen, programmiert oder gelöscht wird. Veränderungen können auch aufgrund einer Kopp lung von Feldern zwischen den Zellen auftreten, ein Effekt, welcher in dem US-Patent 5,867,429 von Cheng und anderen und in dem US-Patent 5,930,167 von Lee und anderen, welche durch Bezugnahme mit aufgenommen werden, beschrieben worden ist. Das US-Patent 5,930,167 beschreibt darüber hinaus ein selektives Programmieren von Abschnitten eines Multi-State-Speichers als Cache-Speicher bei nur zwei Zuständen oder mit einer verringerten Spanne, um die Zeitspanne, welche notwendig ist, um die Daten anfänglich zu programmieren, zu verkürzen. Diese Daten werden später mit mehr als zwei Zuständen oder mit erweiterten Spannen in dem Speicher gelesen und erneut programmiert.
  • Bei bestimmten Typen eines MLC-Speichers werden gleichzeitig mehrere Bits in einer Zelle gespeichert, wohingegen bei anderen Typen Bits inkrementell gespeichert werden können. In dem letztgenannten Fall wird ein erstes Bit in das niederwertigste Bit (LSB (”Least Significant Bit”)) der Zelle geschrieben (oder programmiert), indem die Ladung der Zelle um eine erste Schrittgröße erhöht wird. Ein zweites Bit kann dann für das höchstwertigste Bit oder MSB (”Most Significant Bit”) in einer 2-Bit-Zelle gespeichert werden, indem die Ladung um eine weitere Schrittgröße erhöht wird. Die Offenlegungsschrift der US-Patentanmeldung 2007/0133249 von Roohparvar, welche durch Bezugnahme mit aufgenommen wird, beschreibt ein Speichern eines einzigen Bits in einer Zelle einer MLC-Vorrichtung. Die zu programmierenden Zellen werden anfänglich mit den erwünschten Daten entweder für das niederwertigste oder für das höchstwertigste Bit der Zelle programmiert. Ein zweiter Programmiervorgang programmiert verstärkende Daten, welche das Schwellenwertniveau der Zelle auf das angemessene Niveau für die angestrebten Daten einstellt.
  • Die Offenlegungsschrift der US-Patentanmeldung 2006/0171210 von Nagashima und anderen, welche durch Bezugnahme mit aufgenommen wird, beschreibt ein Speichern eines Flags für jeden Zellenblock einer MLC-Vorrichtung. Das Flag zeigt an, ob die Zellen des Blocks als SLC-Zellen oder als MLC-Zellen zu programmieren sind.
  • Das US-Patent 7,164,601 von Mitani und anderen, welches durch Bezugnahme mit aufgenommen wird, beschreibt ein Einstellen eines Bits einer Speicheradressenbezeichnung, um so zu entscheiden, ob die Daten durch einen SLC-Vorgang oder durch einen MLC-Vorgang gespeichert werden.
  • Zusammenfassung der Erfindung
  • Ausführungsformen der vorliegenden Erfindung stellen Vorrichtungen und Verfahren zum Speichern von Eingangsdaten in eine Gruppe von Zellen in einer MLC-Speichervorrichtung mit einer (Speicher-)Dichte bereit, welche geringer als die ausgewiesene Dichte der Vorrichtung ist. Dummy-Daten werden in ein oder in mehrere Bits von allen Zellen in der Gruppe gespeichert, um dadurch die Anzahl der Bits in jeder Zelle, in welche tatsächlich Eingangsdaten geschrieben werden können, zu verringern. Die Dummy-Daten sind von den Eingangsdaten unabhängig und weisen typischerweise den gleichen Bitwert auf, welcher derart gewählt wird, dass ein Unterschied zwischen Spannungszuständen, welche von den Zellen in der Gruppe angenommen werden, maximiert wird. Die vergrößerte Differenz zwischen Spannungszuständen kann die Zuverlässigkeit einer Datenspeicherung verbessern.
  • Daher wird entsprechend einer erfindungsgemäßen Ausführungsform ein Verfahren zum Speichern von Daten bereitgestellt, welches umfasst:
    In einem Speicherfeld, welches Zellen aufweist, die zum Schreiben einer ersten Anzahl von Bits pro Zelle ausgestaltet sind, wird eine Gruppe der Zellen bestimmt, in welche in eine zweite Anzahl von Bits pro Zelle, welche kleiner als die erste Anzahl ist, Eingangsdaten zu schreiben sind;
    Speichern von Dummy-Daten, welche unabhängig von den Eingangsdaten sind, in einen ersten Satz von einem oder von mehreren Bits der Zellen in der Gruppe; und
    Schreiben der Eingangsdaten in einen zweiten Satz von mindestens einem anderen Bit der Zellen in der Gruppe.
  • Bei den offenbarten Ausführungsformen umfassen die Dummy-Daten den gleichen Bit-Wert, welcher in mindestens einem der Bits in dem ersten Satz in allen Zellen in der Gruppe gespeichert wird. Typischerweise weisen die Zellen in dem Speicherfeld einen vorbestimmten Satz von Spannungszuständen auf, und die Dummy-Daten werden derart ausgewählt, dass ein Abstand zwischen den Spannungszuständen maximiert wird, welcher sich durch das Speichern der Dummy-Daten und das Schreiben der Eingangsdaten ergibt.
  • Gemäß einer Ausführungsform ist die erste Anzahl gleich Zwei und die zweite Anzahl gleich Eins. Bei einer anderen Ausführungsform ist die erste Anzahl größer als Zwei, während die zweite Anzahl größer als Eins sein kann.
  • Die Dummy-Daten können in das Speicherfeld geschrieben werden, bevor die Eingangsdaten geschrieben werden. Alternativ kann das Speichern der Dummy-Daten eine Weiterleitung eines Befehls von einer Steuerung zu einer Vorrichtung, welche das Speicherfeld umfasst, umfassen, wobei die Vorrichtung angewiesen wird, dass eine oder die mehreren Bits auf einen Dummy-Wert zu setzen, ohne dass die Dummy-Daten von der Steuerung an die Vorrichtung übertragen werden.
  • Darüber hinaus wird gemäß einer erfindungsgemäßen Ausführungsform ein Verfahren zum Speichern von Daten bereitgestellt, welches umfasst:
    In einem Speicherfeld, welches Zellen aufweist, die zum Schreiben einer ersten Anzahl von Bits pro Zelle ausgestaltet sind, welche einen vorbestimmten Satz von Multi-Bit-Codes darstellen, die zumindest ein erstes und ein zweites Bit umfassen und verschiedenen, entsprechenden Spannungszuständen der Zellen entsprechen, wird eine Gruppe der Zellen bestimmt, in welche in eine zweite Anzahl von Bits pro Zelle, welche kleiner als die erste Anzahl ist, die Daten zu schreiben sind;
    Speichern von Dummy-Daten in den Zellen in der Gruppe, wobei die Dummy-Daten einen gleichen Bitwert aufweisen, welcher als das erste Bit von allen Zellen in der Gruppe gespeichert wird und derart ausgewählt wird, dass ein Spannungsunterschied zwischen den Spannungszuständen maximiert wird, welche den Multi-Bit-Codes entsprechen, die den ausgewählten Bitwert als das erste Bit enthalten;
    Empfangen von Eingangsdaten zum Speichern in der bestimmten Gruppe der Zellen; und
    Schreiben der Eingangsdaten in das zweite Bit der Zellen in der Gruppe.
  • Darüber hinaus wird gemäß einer erfindungsgemäßen Ausführungsform eine Datenspeicher-Vorrichtung bereitgestellt, welche umfasst:
    ein Speicherfeld, welches Zellen umfasst, welche zum Schreiben einer ersten Anzahl von Bits pro Zelle ausgestaltet sind; und
    eine Speichersteuerung, welche derart ausgestaltet ist, dass sie Eingangsdaten in einer bestimmten Gruppe der Zellen in einer zweiten Anzahl von Bits pro Zelle speichert, welche kleiner als die erste Anzahl ist, indem Dummy-Daten, welche unabhängig von den Eingangsdaten sind, in einem ersten Satz von einem oder von mehreren Bits der Zellen in der Gruppe gespeichert werden und die Ein gangsdaten in einen zweiten Satz von mindestens einem Bit der Zellen in der Gruppe geschrieben werden.
  • Im Folgenden wird die vorliegende Erfindung anhand von Ausführungsformen mit Bezug zu den Figuren im Detail erläutert.
  • Kurze Beschreibung der Figuren
  • 1 ist ein Blockdiagramm, welches schematisch ein System gemäß einer erfindungsgemäßen Ausführungsform darstellt, um Daten in eine MLC-Speichervorrichtung mit einer geringeren Dichte als der ausgelegten Dichte der Vorrichtung zu schreiben;
  • 2A und 2B sind Graphen, welche schematisch Spannungszustände von Zellen einer MLC-Speichervorrichtung gemäß einer erfindungsgemäßen Ausführungsform darstellen; und
  • 3 ist ein Flussplan, welcher schematisch ein Verfahren gemäß einer erfindungsgemäßen Ausführungsform darstellt, um Daten in eine Gruppe von Speicherzellen einer MLC-Speichervorrichtung mit einer geringeren Dichte als der ausgelegten Dichte der Vorrichtung zu schreiben.
  • Detaillierte Beschreibung von Ausführungsformen
  • Im Folgenden wird Bezug auf die 1 genommen, welche ein Blockdiagramm ist, welches schematisch ein System 20 gemäß einer erfindungsgemäßen Ausführungsform darstellt, um Daten in einen Abschnitt eines Speicherzellenfelds 22 einer MLC-Speichervorrichtung 24 zu speichern. Erfindungsgemäße Ausführungsformen, welche im Folgenden beschrieben werden, beziehen sich auf einen nicht flüchtigen Speicher und insbesondere auf einen Flash-Speicher, aber die Prinzipien der vorliegenden Erfindung können auch entsprechend auf andere Typen eines MLC-Speichers angewendet werden.
  • Ein Speicherzellenfeld 22 umfasst Speicherzellen 26, welche derart entworfen sind, dass sie vier oder mehr verschiedene Spannungszustände aufweisen, so dass Daten mit zumindest zwei Bits in jeder Zelle gespeichert werden können. Bei der im Folgenden beschriebenen Ausführungsform weisen die Zellen 26 eine Dichte bzw. Speicherdichte von zwei Bits auf, so dass ein Bit jeder Zelle das niederwertigste Bit (LSB) und das andere Bit das höchstwertigste Bit (MSB) ist. Alternativ können die Prinzipien der vorliegenden Erfindung auf Speichervorrichtungen angewendet werden, welche derart entworfen sind, das sie drei oder mehr Bits pro Zelle speichern.
  • Signale zur Steuerung eines Lesens, eines Programmierens und eines Löschens von Zellen 26 werden durch eine Verwaltungsschaltung 28 erzeugt und über Steuerleitungen 30 innerhalb der Vorrichtung 24 zu dem Feld 22 übertragen. Wenn da 3 Speicherzellenfeld 22 eine NAND-Flash-Architektur aufweist, umfassen die Steuerleitungen 30 Wortleitungen und Bitauswahlleitungen. Diese Signale wie auch eine weitere Funktion, welche in der Verwaltungsschaltung enthalten sein kann, wie beispielsweise eine Lese-/Schreib-Schaltung, eine Adress-Dekodier-Schaltung und eine Spannungssteuerungsschaltung, sind im Detail in der US-Patentanmeldung 11/618,569 von Mokhlesi, eingereicht am 29. Dezember 2006, beschrieben, welche auf den Rechtsnachfolger der vorliegenden Anmeldung übertragen ist und welche durch Bezugnahme mit aufgenommen wird.
  • Bei dieser Ausführungsform stellt die MLC-Speichervorrichtung 24 einen Speicher für einen Host-Prozessor 32 bereit. Befehle zum Lesen und Schreiben von Daten werden von dem Host-Prozessor 32 an die MLC-Speichervorrichtung 24 über eine Steuerung 34, wie beispielsweise eine Zugriffssteuerung mit logischer Blockadressierung (LBA (”Logical Block Adressing”)), übertragen. Die Steuerung 34 ist typischerweise als eine getrennte integrierte Schaltungskomponente von der Vorrichtung 24 implementiert und dient als eine standardisierte Schnittstelle zwischen dem Host-Prozessor 32 und der MLC-Speichervorrichtung. Bei einigen Ausführungsformen können jedoch zumindest einige der Funktionen der Steuerung 34 innerhalb einer einzigen Halbleitervorrichtung vorhanden sein, welche ebenso die MLC-Speichervorrichtung umfasst. Alternativ oder darüber hinaus kann der Host-Prozessor 32 derart ausgestaltet sein, dass er einige oder alle der Funktionen der Steuerung ausführt.
  • Bei der vorliegenden Ausführungsform sei angenommen, dass die Steuerung 34 Eingangsdaten, welche in die MLC-Speichervorrichtung zu schreiben sind, von dem Host-Prozessor 32 empfängt. Die Steuerung 34 unterteilt die Eingangsdaten typischerweise in Segmente, welche als Seiten bezeichnet werden, und bestimmt entsprechende Seitenadressen in dem Speicherfeld 22, unter welchen die Daten zu schreiben sind. Eine typische Seitengröße beträgt 2.048 Byte.
  • Innerhalb des Speicherfeldes 22 werden die Seiten typischerweise als Bitschichten gespeichert, welche sich über mehrere Speicherzellen erstrecken. Zum Beispiel können die Bits einer Seite in dem niederwertigsten Bit (LSB) von allen Zellen in einer Gruppe von Zellen gespeichert werden, während die Bits einer zweiten Seite in einem anderen Bit von all diesen Zellen in derselben Gruppe der Zellen gespeichert werden. Die Anzahl der Bitschichten, welche einer Gruppe von Zellen zugeordnet werden, entspricht der Anzahl der Bits, welche in jeder Zelle gespeichert werden kann. Eine beispielhafte Gruppe von Zellen ist in 1 als Gruppe 36 gekennzeichnet. Wenn die Dichte der MLC-Speichervorrichtung zwei Bits pro Zelle beträgt, werden zwei Seiten in der Gruppe 36 gespeichert. Eine Seite, welche durch die Steuerung 34 als die ”untere Seite” bestimmt werden kann, wird in dem LSB von jeder Zelle in der Gruppe gespeichert, und die Bits der zweiten Seite, welche als die ”obere Seite” bezeichnet wird, werden in dem höchstwertigsten Bit (MSB) von jeder Zelle gespeichert.
  • Zusätzlich zu einer Unterteilung des Speicherzellenfeldes 22 in Gruppen von Zellen zur Seiten-Kodierung wird im Allgemeinen ebenfalls in Blöcke von Zellen unterteilt, was in 1 beispielhaft durch einen Block 38 dargestellt ist. Blocklöschsignale, welche durch die Verwaltungsschaltung 28 erzeugt werden, sorgen dafür, dass alle Zellen in einem gegebenen Block auf einen niedrigsten Ladungszustand gesetzt werden. Die Größe eines Blocks ist typischerweise viel größer als die Seitengröße. Implementierungen eines Blocklöschens und einer Seitenkodierung sind weiter in der oben erwähnten US-Patentanmeldung 11/618,569 beschrieben.
  • Obwohl die Steuerung 34 im Allgemeinen zwei Datenbits in jede Zelle in dem Feld 22 schreibt, kann die Steuerung in einigen Fällen entscheiden, dass bestimmte Daten nur mit einem Bit pro Zelle in eine Gruppe von Zellen in dem Feld geschrieben werden sollten. Die Entscheidung, Daten mit einer verringerten Dichte zu schreiben, kann von der Steuerung selbst getroffen werden oder es kann von außerhalb, beispielsweise durch den Host-Prozessor, veranlasst werden. In solchen Fällen kann die Steuerung veranlassen, das Dummy-Daten in einem der Bits in einer Gruppe der Zellen gespeichert werden und kann die tatsächlichen Daten in das andere Bit schreiben. Der Wert der Dummy-Daten ist unabhängig von den tatsächlichen Daten und wird derart gewählt, wie es im Folgenden erläutert wird, um die Zuverlässigkeit der Speicherung der Daten, welche mit nur einem Bit pro Zelle gespeichert sind, zu erhöhen.
  • 2A und 2B sind Graphen, welche Spannungszustände von Zellen einer MLC-Speichervorrichtung gemäß einer erfindungsgemäßen Ausführungsform darstellen. 2A ist ein Graph 200, welcher alle möglichen Spannungszustände von Zellen einer MLC-Speichervorrichtung darstellt, welche eine Dichte von zwei Bits pro Zelle aufweist. Vier Spannungszustände 202 sind dargestellt, welche mit E, A, B und C gekennzeichnet sind. Die Spannungszustände sind anhand der Spannungsschwellenwerte der Zelle entlang der x-Achse aufgetragen. Die y-Achse repräsentiert eine statistische Frequenz eines vorgegebenen Schwellenwerts für jede Zelle.
  • Der niedrigste Zustand E, welcher dem gelöschten Zustand einer Zelle entspricht, wird typischerweise durch den binären Zweibit-Code 11 dargestellt. Ein höherer Spannungszustand A kann durch den Binärcode 10 dargestellt werden, was bedeutet, dass 0 in dem LSB (dem zuerst geschriebenen Bit) und 1 in dem MSB gespeichert ist. Rechts neben dem Zustand A sind die Spannungszustände B bzw. C dargestellt, welche den Binärcodes 01 bzw. 00 entsprechen. Andere Binärcode Kombinationen können ebenfalls implementiert werden.
  • Wie durch den Graph 200 dargestellt ist, überdecken die Spannungszustände 202 im Allgemeinen einen Bereich von Spannungsschwellenwerten. Da sich diese Bereiche nicht überlappen, können diese Bereiche durch Referenzspannungen, welche durch Vra, Vrb und Vrc gekennzeichnet sind, unterschieden werden. Typische Werte für diese Referenzspannungen sind beispielsweise 0 V, 1,25 V und 2,5 V.
  • Wie vorab als Hintergrund der Erfindung beschrieben worden ist, können mit der Zeit Verschiebungen oder Veränderungen bei dem Spannungsniveau einer Zelle auftreten, was dazu führt, dass sich die Spannungsbereiche verlaufen bzw. verändern. Spannungszustände 204, welche durch gestrichelte Linien dargestellt sind, stellen ein mögliches Verlaufen der Spannungszustände 202 dar. Aufgrund dieses Verlaufens, Auseinander-Driftens oder Verschiebens können die Bereiche überlappen, was zu Lesefehlern führt.
  • Wenn die Steuerung 34 angewiesen wird, ein Bit pro Zelle in eine ausgewählte Gruppe von Zellen in dem Feld 22 zu schreiben, ohne dabei Dummy-Daten zu schreiben, werden die Daten in das LSB der entsprechenden Zellen geschrieben, während das nicht beschriebene MSB den Default-Wert 1 aufweist. In solch einem Fall befinden sich die Zellen abhängig von dem gespeicherten Datenwert entweder in dem Zustand E oder in dem Zustand A. Eine Spannungsverschiebung könnte daher zu Lesefehlern zwischen den Zuständen führen, während die weiter entfernt liegenden Zustände B und C unbenutzt bleiben.
  • 2B ist ein Graph 210, welcher gemäß einer erfindungsgemäßen Ausführungsform Spannungszustände 212 von Zellen darstellt, welche mit einem Bit der Eingangsdaten und mit einem Bit von Dummy-Daten programmiert werden. Ein Verfahren zur Kodierung bzw. Programmierung der Dummy-Daten bei der MLC-Speichervorrichtung wird im Folgenden mit Bezug auf 3 beschrieben. In diesem Fall wird das LSB von jeder Zelle auf einen Dummy-Wert von ”0” gesetzt. Nach der Programmierung oder Kodierung mit den eigentlichen Eingangsdaten nehmen die Zellen zwei mögliche Spannungszustände an: Zustand A, welcher dem Binärcode 10 entspricht, und Zustand C, welcher dem Binärcode 00 entspricht, wobei dies von dem Datenwert, welcher in die jeweilige Zelle zu schreiben ist, abhängt. Die Zellen sind effektiv auf eine Dichte von einem Bit pro Zelle eingestellt, obwohl sie für eine Dichte der MLC-Speichervorrichtung von zwei Bit pro Zelle entworfen sind, aber die möglichen Spannungszustände liegen nun weiter auseinander als in dem in 2A dargestellten Beispiel.
  • Gestrichelte Linien in der 2B geben eine mögliche Niveauverschiebung der Zustände 212 und 214 an. Man erkennt, dass sogar nach einem Auftreten einer Niveauverschiebung die Spannungsbereiche nicht überlappen und nicht erlaubte Zustände vorliegen, welche die erlaubten Zustände trennen und deutlicher unterscheiden.
  • Bei dem vorab beschriebenen Beispiel ist ein Dummy-Bitwert von 0 in der LSB-Position sinnvoll, um die Spannungszustände auseinanderzuschieben, wie es in 2B dargestellt ist, was an der Art und Weise liegt, in welcher die Zweibit-Datenwerte (11, 10, 01 und 00) den Spannungsbereichen in der Speichervorrichtung 24 zugeordnet werden. Bei anderen Vorrichtungen mit einer anderen Zuordnung kann es jedoch vorteilhaft sein, die Dummy-Daten in das MSB, und nicht in das LSB, zu schreiben. Bei einem MLC-Speicher mit einer Dichte von mehr als zwei Bits können dann Dummy-Daten in eine oder in mehrere Bits geschrieben werden, so dass die eigentlichen Daten in einem Bit pro Zelle oder in eine größere Anzahl von Bits pro Zelle, welche geringer als die vorgesehene Kapazität des Speichers ist, gespeichert werden. Die Dummy-Daten werden entsprechend gewählt, um die Spannungszustände, welche eingesetzt werden, um die eigentlichen Daten zu speichern, auseinander zu ziehen.
  • 3 ist ein Flussplan, welcher ein Verfahren 300 zur Programmierung einer Gruppe von Zellen eines MLC-Speicherfelds 22, wie beispielsweise der Gruppe von Zellen in dem Block 38, mit einer geringeren Datendichte als der vorgesehenen Dichte des Feldes darstellt. Die Gruppe 36 kann irgendeine Anzahl von Zellen in dem Feld 22 umfassen, wobei allerdings ein Flash-Speicher Reihen oder Seiten umfasst, welche fest vorgegeben sind.
  • In einem ersten Schritt 302 wird der Zellenblock 38 durch ein Blocklöschsignal, welches von der Verwaltungsschaltung 28 ausgegeben wird, initialisiert. Alle Zellen in dem Block 38 werden typischerweise auf einen gelöschten Zustand, welcher einem Binärcodewert von 11 entspricht, initialisiert.
  • Anschließend gibt der Host-Prozessor in einem Speicheranforderungs-Schritt 304 eine Anforderung aus, dass bestimmte Daten mit einer geringeren Datendichte zu speichern sind. Der Host kann eine solche Anforderung zum Beispiel ausgeben, wenn ein Programmcode gespeichert wird, da ein solcher Code sogar durch einen einzigen Datenfehler ernsthaft beeinflusst wird. Dagegen kann eine geringe Anzahl von Fehlern einen vernachlässigbaren Effekt bei anderen Datentypen, wie beispielsweise bei Daten, welche einen Audioinhalt oder einen visuellen Inhalt umfassen, aufweisen. Bei einem MLC-Speicher mit einer Dichte von mehr als zwei Bits kann der Host-Prozessor ein erwünschtes Dichteniveau spezifizieren.
  • Die Anforderung von dem Host wird von der Steuerung 34 empfangen. In einem Seitenbestimmungsschritt 306 bricht die Steuerung 34 die Eingangsdaten auf Seiten zur Speicherung in der MLC-Speichervorrichtung herunter. Um die Anforderung nach einer Speicherung mit einer geringeren Dichte zu implementieren, erzeugt die Steuerung 34 auch Seiten von Dummy-Daten. Zum Beispiel erzeugt die Steuerung 34 bei einer MLC-Speichervorrichtung mit einer ausgelegten Dichte von zwei Bits pro Zelle eine Seite von Dummy-Daten für jede Seite der Eingangsdaten, so dass die Dichte der Datenspeicherung effektiv auf ein Bit pro Zelle verringert wird, wie es vorab mit Bezug auf 2B beschrieben ist. Wie vorab beschrieben ist, sind die Dummy-Datenwerte unabhängig von den eigentlichen Da tenwerten, und daher besteht keine Notwendigkeit für die Steuerung 34 oder für die Verwaltungsschaltung 28, die eigentlichen Datenwerte zu verarbeiten, um die Dummy-Daten zu bestimmen, welche in jede Zelle zu schreiben sind. Folglich ist es für die Steuerung auch möglich, die Dummy-Daten in die entsprechenden Seiten der Speichervorrichtung zu schreiben, bevor die eigentlichen Daten, welche in diese Seiten zu schreiben sind, geschrieben werden (oder sogar empfangen werden).
  • Typischerweise schreibt die Steuerung Dummy-Datenseiten auf niedrige Seiten-Adressen, welche einem oder mehreren niedrigeren Bits der Zellen in der Gruppe (d. h. den niedrigeren Bitschichten) entsprechen und schreibt die eigentlichen Eingangsdaten auf obere Seitenadressen, welche einem oder mehreren der höheren Bits entsprechen. Im Allgemeinen wird die Seitenadressierung (d. h. die Auswahl der Bitschicht) wie auch der Wert der zu schreibenden Dummy-Daten entsprechend der Spezifikationen der MLC-Speichervorrichtung eingestellt, um den Abstand zwischen den Spannungszuständen der Zellen zu maximieren. Die Adressierung der Bitschichten und die Werte der Dummy-Daten hängen von dem Design der Speichervorrichtung selbst ab und sind nicht von den Werten der Eingangsdaten abhängig.
  • Typischerweise überträgt die Steuerung sowohl die Eingangsdatenseiten und die Dummy-Datenseiten zu der MLC-Speichervorrichtung. Wenn die Eingangsdaten nicht eine gesamte Seite füllen, kann die Steuerung einen Teil der Seite mit den Eingangsdaten füllen und einen entsprechenden Teil mit Dummy-Daten füllen. Bei einer alternativen Ausführungsform ist die Verwaltungsschaltung 28 derart ausgestaltet, dass sie eine Anweisung implementiert, welche alle Bits in einer Seite auf einen vorbestimmten Wert setzt. Die Steuerung kann dann derart ausgestaltet sein, dass sie diese Anweisung ausgibt, durch welche der einzustellende Dummy-Bitwert bezeichnet wird, anstatt dass die gesamten Seiten von Dummy-Daten gesendet werden.
  • In Schritten 308 und 310 empfängt die Verwaltungsschaltung 28 die Dummy-Daten- bzw. die Eingangsdaten-Seiten von der Steuerung und speichert beide Arten von Seiten auf den spezifizierten Seitenadressen. Jede Seite, unabhängig davon ob es eine Seite von Eingangsdaten oder von Dummy-Daten ist, wird unter Verwendung derselben Prozedur gespeichert, welche bei einem normalen Betrieb der Vorrichtung mit der ausgelegten Dichte eingesetzt würde. Da jedoch die Dum my-Daten eine oder mehrere Bitschichten in Gruppen von Zellen füllen, wie es vorab beschrieben ist, werden die Eingangsdaten effektiv mit einer geringeren Dichte gespeichert. Die Spannungszustände sind durch größere Abstände getrennt, wodurch die Datenzuverlässigkeit. verbessert wird. Diese Schritte können ohne Modifikation mit einer herkömmlichen MLC-Speichervorrichtung ausgeführt werden. Alternativ kann, wie es vorab angemerkt ist, die Verwaltungsschaltung eine spezielle Anweisung von der Steuerung implementieren, eine gesamte Seite auf einen bestimmten Dummy-Bitwert zu setzen.
  • In einem Leseschritt 312 empfängt die Steuerung 34 Daten, welche von dem Host-Prozessor angefordert sind. Typischerweise liest die Steuerung 34 nur die Eingangsdatenseiten, wobei die Dummy-Datenseiten, welche vorher in der MLC-Speichervorrichtung gespeichert worden sind, ignoriert werden. Alternativ kann die Steuerung auch Dummy-Datenseiten lesen, um dadurch die Datengültigkeit zu bestätigen. Wenn irgendein Bit einer Dummy-Seite nicht auf den richtigen Dummy-Bitwert gesetzt ist, ist ein Datenfehler erfasst worden. Bei einer weiteren Ausführungsform kann die Steuerung derart ausgestaltet sein, dass sie ein Bit der Eingangsdaten abhängig von einem in einem Dummy-Bit erfassten Fehler korrigiert.
  • Wie vorab angemerkt ist, können die Prinzipien der vorliegenden Erfindung in ähnlicher Weise bei einem MLC-Speicher angewendet werden, welcher derart entworfen ist, dass er drei oder mehr Bits pro Zelle speichert. Zum Beispiel kann ein Speicher mit einer Dichte von drei Bits pro Zelle eingesetzt werden, um zwei Bits pro Zelle zu speichern, wobei Dummy-Daten in dem dritten Bit jeder Zelle gespeichert werden. Alternativ könnte ein solcher Speicher eingesetzt werden, um nur ein Bit pro Zelle zu speichern, wobei Dummy-Daten in einem oder in beiden der restlichen Bits in jeder Zelle gespeichert werden. Die Dummy-Daten werden derart gewählt, wie es beispielhaft vorab in 2B dargestellt ist, so dass die Spannungszustände, welche zum Speichern der eigentlichen Daten vorhanden sind, auseinandergezogen sind, so dass die Speicherzuverlässigkeit erhöht wird. Andererseits sind die Dummy-Daten über der Gruppe der infrage kommenden Zellen gleich und unabhängig von den eigentlichen Daten, welche in dem anderen Bit oder in den anderen Bits gespeichert werden. Im Allgemeinen können Dummy-Daten auf diese Weise in jeder Situation eingesetzt werden, in welcher n-Bit-MLC-Zellen eingesetzt werden, um Daten mit m Bits pro Zelle zu speichern, wobei m < n gilt.
  • Als Beispiel sei angenommen, dass nur ein Bit pro Zelle in einem Speicher mit einer Dichte von drei Bits pro Zelle zu speichern ist, wobei die acht möglichen Zustände den Datenwerten {111, 101, 110, 010, 011, 100, 000, 001} entsprechen, welche von links nach rechts auf der Spannungsachse angeordnet sind, wie es in 2A dargestellt ist. Indem einfach zwei Bits in jeder Zelle übersprungen werden und die Daten nur in das dritte Bit geschrieben werden, wird für eine Trennung von mindestens vier Zuständen zwischen den Datenzuständen gesorgt. Wenn andererseits der Dummy-Datenwert 01 in die zwei niederwertigsten Bits von allen Zellen geschrieben wird und die Eingangsdaten nur in ein Bit hinzugefügt werden, ergeben sich die Zustände 101 und 001 für eine Speicherung mit einer Dichte von einem Bit pro Zelle. Diese Daten-Zustände sind durch ein Intervall von sechs Zuständen getrennt, während die Dummy-Bits festliegen und unabhängig von den Eingangsdaten sind.
  • Obwohl die vorab beschriebenen Ausführungsformen hauptsächlich bestimmte Typen eines Flash-Speichers betreffen, können die Prinzipien der vorliegenden Erfindung in ähnlicher Weise auch auf andere Typen eines MLC-Speichers angewendet werden. Die vorab beschriebenen Ausführungsformen sind daher als Beispiel anzusehen, und die vorliegende Erfindung ist nicht auf das beschränkt, was vorab dargestellt und beschrieben worden ist. Stattdessen umfasst der Umfang der vorliegenden Erfindung sowohl Kombinationen als auch Unterkombinationen der verschiedenen Merkmale, welche vorab beschrieben worden sind, wie auch Variationen und Modifikationen davon, welche dem Fachmann beim Lesen der vorab stehende Schreibung einfallen und welche nicht im Stand der Technik offenbart sind.
  • ZUSAMMENFASSUNG
  • EINSATZ EINES MLC-FLASH ALS SLC DURCH SCHREIBEN VON DUMMY-DATEN
  • Ein Verfahren zum Speichern von Daten umfasst in einem Speicherfeld (22), welches Zellen (26) umfasst, welche ausgestaltet sind, um eine erste Anzahl von Bits pro Zelle zu schreiben, ein Bestimmen einer Gruppe (36) der Zellen, in welche Eingangsdaten in eine zweite Anzahl von Bits pro Zelle zu schreiben sind, welche kleiner als die erste Anzahl ist. Dummy-Daten, welche unabhängig von den Eingangsdaten sind, werden in einen ersten Satz von einem oder von mehreren Bits der Zellen in der Gruppe geschrieben. Die Eingangsdaten werden in einen zweiten Satz des mindestens einen anderen Bits der Zellen in der Gruppe geschrieben.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - US 5043940 [0003]
    • - US 5172338 [0003]
    • - US 5867429 [0004]
    • - US 5930167 [0004, 0004]
    • - US 7164601 [0007]

Claims (18)

  1. Verfahren zum Speichern von Daten, umfassend: in einem Speicherfeld, welches Zellen aufweist, welche zum Schreiben einer ersten Anzahl von Bits pro Zelle ausgestaltet sind, wird eine Gruppe der Zellen bestimmt, in welche in eine zweite Anzahl von Bits pro Zelle, welche kleiner als die erste Anzahl ist, Eingangsdaten zu schreiben sind; Speichern von Dummy-Daten, welche unabhängig von den Eingangsdaten sind, in einen ersten Satz von einem oder von mehreren Bits der Zellen in der Gruppe; und Schreiben der Eingangsdaten in einen zweiten Satz von mindestens einem anderen Bit der Zellen in der Gruppe.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Dummy-Daten denselben Bitwert aufweisen, welcher in zumindest einem der Bits in dem ersten Satz in allen Zellen in der Gruppe gespeichert wird.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zellen in dem Speicherfeld einen vorbestimmten Satz von Spannungszuständen aufweisen, und dass die Dummy-Daten derart ausgewählt werden, dass ein Abstand zwischen den Spannungszuständen, welcher sich durch ein Speichern der Dummy-Daten und durch ein Schreiben der Eingangsdaten ergibt, maximiert wird.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Anzahl Zwei entspricht, und dass die zweite Anzahl Eins entspricht.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Anzahl größer als Zwei ist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die zweite Anzahl größer als Eins ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das Speichern der Dummy-Daten ein Schreiben der Dummy-Daten in das Speicherfeld umfasst, bevor die Eingangsdaten geschrieben werden.
  8. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das Speichern der Dummy-Daten ein Durchführen einer Anweisung von einer Steuerung an eine Vorrichtung, welche das Speicherfeld umfasst, umfasst, wobei die Vorrichtung angewiesen wird, dass eine oder die mehreren Bits auf einen Dummy-Wert zu setzen, ohne dass die Dummy-Daten von der Steuerung an die Vorrichtung übertragen werden.
  9. Verfahren zum Speichern von Daten, umfassend: in einem Speicherfeld, welches Zellen aufweist, die zum Schreiben einer ersten Anzahl von Bits pro Zelle ausgestaltet sind, welche einen vorbestimmten Satz von Multi-Bit-Codes darstellen, die zumindest ein erstes und ein zweites Bit umfassen und verschiedenen, entsprechenden Spannungszuständen der Zellen entsprechen, wird eine Gruppe der Zellen bestimmt, in welche in eine zweite Anzahl von Bits pro Zelle, welche kleiner als die erste Anzahl ist, die Daten zu schreiben sind; Speichern von Dummy-Daten in den Zellen in der Gruppe, wobei die Dummy-Daten denselben Bitwert aufweisen, welcher als das erste Bit von allen Zellen in der Gruppe gespeichert wird und derart ausgewählt wird, dass ein Spannungsunterschied zwischen den Spannungszuständen maximiert wird, welche den Multi-Bit-Codes entsprechen, die den ausgewählten Bitwert als das erste Bit enthalten; Empfangen von Eingangsdaten zum Speichern in der bestimmten Gruppe der Zellen; und Schreiben der Eingangsdaten in das zweite Bit der Zellen in der Gruppe.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass das Speichern der Dummy-Daten ein Auswählen desselben Bitwerts unabhängig von den Eingangsdaten umfasst.
  11. Datenspeicher-Vorrichtung umfassend: ein Speicherfeld, welches Zellen umfasst, welche zum Schreiben einer ersten Anzahl von Bits pro Zelle ausgestaltet sind; und eine Speichersteuerung, welche derart ausgestaltet ist, dass sie Eingangsdaten in einer bestimmten Gruppe der Zellen in einer zweiten Anzahl von Bits pro Zelle speichert, welche kleiner als die erste Anzahl ist, indem sie Dummy-Daten, welche unabhängig von den Eingangsdaten sind, in einen ersten Satz von einem oder von mehreren Bits der Zellen in der Gruppe speichert und die Eingangsdaten in einen zweiten Satz von mindestens einem Bit der Zellen in der Gruppe schreibt.
  12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die Dummy-Daten denselben Bitwert umfassen, welcher in zumindest einem der Bits in dem ersten Satz in allen Zellen in der Gruppe gespeichert wird.
  13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass die Zellen in dem Speicherfeld einen vorbestimmten Satz von Spannungszuständen aufweisen, und dass die Dummy-Daten derart ausgewählt sind, dass ein Abstand zwischen den Spannungszuständen, welcher sich durch ein Speichern der Dummy-Daten und durch ein Schreiben der Eingangsdaten ergibt, maximiert ist.
  14. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die erste Anzahl Zwei ist und dass die zweite Anzahl Eins ist.
  15. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die erste Anzahl größer als Zwei ist.
  16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass die zweite Anzahl größer als Eins ist.
  17. Vorrichtung nach einem der Ansprüche 11 bis 16, dadurch gekennzeichnet, dass die Speichersteuerung derart ausgestaltet ist, dass die Dummy-Daten in das Speicherfeld geschrieben werden, bevor die Eingangsdaten geschrieben werden.
  18. Vorrichtung nach einem der Ansprüche 11 bis 16, dadurch gekennzeichnet, dass die Vorrichtung eine Speichervorrichtung umfasst, welche das Speicherfeld und eine Verwaltungsschaltung umfasst, dass die Speichersteuerung derart ausgestaltet ist, dass sie eine Anweisung an die Speichervorrichtung ausgibt, welche die Speichervorrichtung anweist, das eine oder die mehreren Bits auf einen Dummy-Wert zu setzen, ohne dass die Dummy-Daten von der Steuerung an die Speichervorrichtung übertragen werden, und dass die Verwaltungsschaltung derart ausgestaltet ist, dass sie das eine oder die mehreren Bits abhängig von der Anweisung auf den Dummy-Wert setzt.
DE112008002553T 2007-09-25 2008-07-17 Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten Withdrawn DE112008002553T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/861,140 US7545673B2 (en) 2007-09-25 2007-09-25 Using MLC flash as SLC by writing dummy data
US11/861,140 2007-09-25
PCT/IL2008/000993 WO2009040785A1 (en) 2007-09-25 2008-07-17 Using mlc flash as slc by writing dummy data

Publications (1)

Publication Number Publication Date
DE112008002553T5 true DE112008002553T5 (de) 2010-07-22

Family

ID=39798060

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008002553T Withdrawn DE112008002553T5 (de) 2007-09-25 2008-07-17 Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten

Country Status (5)

Country Link
US (1) US7545673B2 (de)
KR (1) KR20100068364A (de)
DE (1) DE112008002553T5 (de)
TW (1) TW200921677A (de)
WO (1) WO2009040785A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100885783B1 (ko) * 2007-01-23 2009-02-26 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
US8583857B2 (en) * 2007-08-20 2013-11-12 Marvell World Trade Ltd. Method and system for object-oriented data storage
US20090055605A1 (en) * 2007-08-20 2009-02-26 Zining Wu Method and system for object-oriented data storage
US7941592B2 (en) * 2008-08-14 2011-05-10 Bonella Randy M Method and apparatus for high reliability data storage and retrieval operations in multi-level flash cells
KR101548175B1 (ko) * 2008-11-05 2015-08-28 삼성전자주식회사 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법
KR101515098B1 (ko) 2008-11-20 2015-04-24 삼성전자주식회사 플래시 메모리 장치 및 이의 독출 방법
CN102109966B (zh) * 2009-12-24 2017-01-18 马维尔国际贸易有限公司 用于面向对象的数据存储的方法和系统
EP2339446A3 (de) * 2009-12-24 2012-09-19 Marvell World Trade Ltd. Verfahren und System für objektorientierte Datenspeicherung
KR101662827B1 (ko) 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
US9141756B1 (en) 2010-07-20 2015-09-22 University Of Southern California Multi-scale complex systems transdisciplinary analysis of response to therapy
KR101727707B1 (ko) 2010-07-26 2017-04-19 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법과, 상기 방법을 수행할 수 있는 장치들
WO2012020278A1 (en) 2010-08-13 2012-02-16 Sandisk Il Ltd. Data coding using divisions of memory cell states
US9424930B2 (en) * 2010-09-15 2016-08-23 Sandisk Technologies Llc Apparatus, system, and method for non-volatile storage element programming
US8711617B2 (en) * 2011-06-03 2014-04-29 Micron Technology, Inc. Data modulation for groups of memory cells
US9311969B2 (en) 2011-07-22 2016-04-12 Sandisk Technologies Inc. Systems and methods of storing data
US8995184B2 (en) 2012-12-06 2015-03-31 Sandisk Technologies Inc. Adaptive operation of multi level cell memory
US9575886B2 (en) 2013-01-29 2017-02-21 Marvell World Trade Ltd. Methods and apparatus for storing data to a solid state storage device based on data classification
CN105264610B (zh) * 2013-09-17 2018-05-22 桑迪士克科技有限责任公司 在多位存储元件处存储数据时使用虚数据的装置和方法
US9361220B2 (en) 2013-09-17 2016-06-07 Sandisk Technologies Inc. Apparatus and method of using dummy data while storing data at a multi-bit storage element
US9406385B2 (en) * 2013-09-17 2016-08-02 Sandisk Technologies Llc Apparatus and method of storing data at a multi-bit storage element
KR102102224B1 (ko) * 2013-10-01 2020-04-20 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
KR102117919B1 (ko) * 2013-10-24 2020-06-02 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
TWI498893B (zh) * 2013-10-31 2015-09-01 Innostor Technology Corp MLC memory write method in multiple environments
TWI533305B (zh) 2014-02-10 2016-05-11 慧榮科技股份有限公司 將資料寫入至快閃記憶體的方法及相關的記憶裝置與快閃記憶體
TWI545571B (zh) * 2014-02-18 2016-08-11 慧榮科技股份有限公司 存取快閃記憶體的方法及相關的控制器與記憶裝置
KR20160112135A (ko) * 2015-03-18 2016-09-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10096355B2 (en) * 2015-09-01 2018-10-09 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
KR102579824B1 (ko) * 2018-02-27 2023-09-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20200114482A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5172338A (en) 1989-04-13 1992-12-15 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
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
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US7164601B2 (en) 2003-09-12 2007-01-16 Renesas Technology Corp. Multi-level nonvolatile semiconductor memory device utilizing a nonvolatile semiconductor memory device for storing binary data

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0788113B1 (de) 1996-01-31 2005-08-24 STMicroelectronics S.r.l. Mehrstufige Speicherschaltungen und entsprechende Lese- und Schreibverfahren
KR100259972B1 (ko) * 1997-01-21 2000-06-15 윤종용 메모리 셀당 2개 이상의 저장 상태들을 갖는 불휘발성 반도체 메모리 장치
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
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6297988B1 (en) * 2000-02-25 2001-10-02 Advanced Micro Devices, Inc. Mode indicator for multi-level memory
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
ITMI20022569A1 (it) * 2002-12-05 2004-06-06 Simicroelectronics S R L Metodo di programmazione di una memoria a semiconduttore non-volatile programmabile elettronicamente
JP4270994B2 (ja) 2003-09-29 2009-06-03 株式会社東芝 不揮発性半導体記憶装置
US7180775B2 (en) * 2004-08-05 2007-02-20 Msystems Ltd. Different numbers of bits per cell in non-volatile memory devices
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7681109B2 (en) 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7366013B2 (en) 2005-12-09 2008-04-29 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
KR100753156B1 (ko) * 2006-09-13 2007-08-30 삼성전자주식회사 플래시 메모리 장치 및 그것의 메모리 셀 어레이
KR100885783B1 (ko) * 2007-01-23 2009-02-26 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5172338A (en) 1989-04-13 1992-12-15 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
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
US7164601B2 (en) 2003-09-12 2007-01-16 Renesas Technology Corp. Multi-level nonvolatile semiconductor memory device utilizing a nonvolatile semiconductor memory device for storing binary data

Also Published As

Publication number Publication date
US7545673B2 (en) 2009-06-09
US20090080247A1 (en) 2009-03-26
WO2009040785A1 (en) 2009-04-02
KR20100068364A (ko) 2010-06-23
TW200921677A (en) 2009-05-16

Similar Documents

Publication Publication Date Title
DE112008002553T5 (de) Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten
DE102011085988B4 (de) Verfahren und Vorrichtungen zum Beeinflussen eines Betriebszustands eines Mehrfachpegelzelle-Speichers
DE102011055714B4 (de) Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
DE102008003944B4 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE60303895T2 (de) Hybridimplementierung von Fehlerkorrekturkoden eines nichtflüchtigen Speichersystems
DE112008001151B4 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
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
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102007031027A1 (de) Leseverfahren einer Speichervorrichtung
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
DE102019133129A1 (de) Mehrphasenprogrammierung mit symmetrischer gray-codierung
DE10046022A1 (de) Nichtflüchtige Halbleiterspeichervorrichtung mit einer Konstruktion zum Speichern mehrwertiger Daten und Datenablagesystem, das diese nichtflüchtige Halbleiterspeichervorrichtung enthält
DE102013108456B4 (de) Nichtflüchtige Speichervorrichtung und Programmierverfahren
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102008009235A1 (de) Speichersystem
DE112020004922T5 (de) Speicherungsvorrichtung mit erhöhter beständigkeit
DE102008032235A1 (de) Nichtflüchtiges Speicherbauelement, Löschverfahren und Löschtestverfahren
DE102019116097A1 (de) Vorprogramm-lesevorgang zur behebung von wortleitungsfehlern
DE102018123961A1 (de) Gruppen-leseaktualisierung
DE102015209502A1 (de) Markierungsprogrammierung in nichtflüchtigen Speichern
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination