-
TECHNISCHES GEBIET
-
Eine oder mehrere Ausführungsformen beziehen sich auf eine Halbleiterspeichervorrichtung und insbesondere auf ein Wiederherstellungsverfahren für eine Speicherseite eines niedrigstwertigen Bits (LSB) zur Verwendung in einer Multi-Level-Cell(MLC)-Flashspeichervorrichtung, wobei das Verfahren das Festlegen von LSB-Speicherseitengruppen sowie das Erzeugen einer LSB-Parität für die LSB-Speicherseitengruppen beinhaltet, so dass die LSB-Speicherseite leicht wiederhergestellt wird, selbst wenn die Leistungsversorgung während des Programmierens einer Speicherseite eines höchstwertigen Bits (MSB) unterbrochen wird.
-
TECHNOLOGISCHER HINTERGRUND
-
Bei einem Multi-Level-Cell(MLC)-Flashspeicher werden zwei oder mehr Bits in einer Zelle programmiert. Und von den Bits wird ein unteres Bit als das niedrigstwertige Bit (LSB) und ein oberes Bit als das höchstwertige Bit (MSB) bezeichnet.
-
BESCHREIBUNG DER ZEICHNUNGEN
-
1 veranschaulicht Zellenschwellwertspannungs-Verteilungen in einem 2-Bit-Multi-Level-Cell(MLC)-Flashspeicher;
-
2A und 2B veranschaulichen Programmiervorgänge in dem 2-Bit-MLC-Flashspeicher aus 1;
-
3 stellt schematisch eine „Gepaarte Speicherseite” mit einer Speicherseite eines niedrigstwertigen Bits (LSB) und einer Speicherseite eines höchstwertigen Bits (MSB) in dem 2-Bit-MLC-Flashspeicher aus 1 dar;
-
4 ist ein Beispiel der „Gepaarten Speicherseite” aus 3;
-
5 veranschaulicht Speicherstellen von LSB-Paritätsspeicherseiten bei der „Gepaarten Speicherseite” aus 4;
-
6 stellt ein weiteres Beispiel der „Gepaarten Speicherseite” aus 3 dar;
-
7 stellt Speicherstellen von LSB-Paritätsspeicherseiten bei der „Gepaarten Speicherseite” aus 6 dar;
-
8 stellt LSB-Paritätsspeicherseiten und LSB-Speicherseiten dar, die in verschiedenen Blöcken angeordnet sind;
-
9 stellt LSB-Paritätsspeicherseiten und LSB-Speicherseiten dar, die in verschiedenen Speichern angeordnet sind;
-
10 stellt „Gepaarte Speicherseiten” mit LSB-Speicherseiten und MSB-Speicherseiten in einem 3-Bit-MLC-Flashspeicher dar; und
-
11 stellt Speicherstellen von LSB-Paritätsspeicherseiten bei den „Gepaarten Speicherseiten” aus 10 dar.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG TECHNISCHES PROBLEM
-
Eine oder mehrere Ausführungsformen enthalten ein Wiederherstellungsverfahren für eine Speicherseite eines niedrigstwertigen Bits (LSB) zur Verwendung in einer Multi-Level-Cell-Flashspeichervorrichtung, so dass die LSB-Speicherseite leicht wiederhergestellt wird, selbst wenn die Leistungsversorgung unterbrochen wird während eines Programms für eine Speicherseite für ein höchstwertiges Bit (MSB).
-
VORTEILHAFTE EFFEKTE
-
Wie oben beschrieben kann gemäß der einen oder mehreren obigen Ausführungsformen die LSB-Speicherseite leicht wiederhergestellt werden, selbst wenn die Leistungsversorgung während des Programmierens der MSB-Speicherseiten unterbrochen wird.
-
TECHNISCHE LÖSUNG
-
Gemäß einem Gesichtspunkt der Erfindung wird ein Wiederherstellungsverfahren für eine Speicherseite eines niedrigstwertigen Bits (LSB), das in einem Multi-Level-Cell(MLC)-Flashspeicher verwendet wird und bei dem LSB-Speicherseiten und Speicherseiten für ein höchstwertiges Bit (MSB) miteinander gepaart werden in einer gepaarten Speicherseitenstruktur und programmiert oder gelesen werden, wobei das Verfahren enthält: Festlegen einer ersten bis n-ten LSB-Speicherseitengruppe (n ist eine natürliche Zahl, die größer ist als 2) mit zumindest 2 LSB-Speicherseiten von den in dem MLC-Flashspeicher enthaltenen LSB-Speicherseiten; Programmieren der ersten bis x-ten LSB-Speicherseite (x ist eine natürliche Zahl, die größer ist als 2), die in einer i-ten LSB-Speicherseitengruppe (i ist eine natürliche Zahl, die kleiner ist als n) enthalten ist; Erzeugen und Speichern einer i-ten LSB-Paritätsspeicherseite für die erste bis x-te LSB-Speicherseite; Programmieren der ersten bis x-ten MSB-Speicherseiten, die einer LSB-Speicherseite von der ersten bis x-ten LSB-Speicherseite entsprechen; und Wiederherstellen einer j-ten LSB-Speicherseite, die gepaart ist mit einer j-ten MSB-Speicherseite, unter Verwendung der i-ten LSB-Paritätsspeicherseite, die der i-ten LSB-Speicherseitengruppe entspricht, wenn die Leistungsversorgung für den MLC-Flashspeicher unterbrochen wird während des Programmierens der j-ten MSB-Speicherseite (j ist eine natürliche Zahl, die kleiner ist als x).
-
Die i-te LSB-Paritätsspeicherseite und die i-te LSB-Speicherseitengruppe können sich in dem gleichen Block von den Blöcken des MLC-Flashspeichers befinden. Ebenso können die i-te LSB-Paritätsspeicherseite und die i-te LSB-Speicherseitengruppe sich in verschiedenen Blöcken von den Blöcken des MLC-Flashspeichers befinden.
-
Die i-te LSB-Paritätsspeicherseite kann sich in einem Speicher befinden, der verschieden ist von dem MLC-Flashspeicher. Hierbei kann der Speicher, in dem die i-te LSB-Paritätsspeicherseite angeordnet ist, ein nichtflüchtiger Speicher sein.
-
Wenn die LSB-Speicherseitengruppe, die nahe der i-ten LSB-Speicherseitengruppe angeordnet ist, eine (i + 1)-te Speicherseitengruppe ist, kann die (i + 1)-te Speicherseitengruppe eine (x + 1)-te bis (2x + 1)-te LSB-Speicherseite enthalten, wobei sich die (x + 1)-te LSB-Speicherseite am nächsten zu der i-ten Speicherseitengruppe befinden und eine (x + 2)-te bis (2x + 1)-te LSB-Speicherseite sich zwischen der (x + 1)-ten LSB-Speicherseite und einer (x + 1)-ten MSB-Speicherseite befinden, die der (x + 1)-ten LSB-Speicherseite entspricht.
-
Wenn das Programmieren der ersten bis x-ten MSB-Speicherseite abgeschlossen ist, kann das Verfahren weiter enthalten: Programmieren der (x + 1)-ten bis (2x + 1)-ten LSB-Speicherseite, die in der (i + 1)-ten LSB-Speicherseitengruppe enthalten sind, und Erzeugen einer (i + 1)-ten LSB-Paritätssspeicherseite für die (x + 1)-te bis (2x + 1)-te LSB-Speicherseite; und Wiederherstellen der entsprechenden LSB-Speicherseite unter Verwendung der (i + 1)-ten LSB-Paritätsspeicherseite, wenn die Leistungsversorgung an den MLC-Flashspeicher unterbrochen wird während des Programmierens der (x + 1)-ten bis (2x + 1)-ten MSB-Speicherseite, die der (x + 1)-ten bis (2x + 1)-ten LSB-Speicherseite entsprechen.
-
Bei der gepaarten Speicherseitenstruktur in dem MLC-Flashspeicher kann eine beliebige LSB-Speicherseite mit einer MSB-Speicherseite gepaart sein, die von der beliebigen LSB-Speicherseite um vier Speicherseiten beabstandet ist. Außerdem können bei der paarweisen Speicherseitenstruktur in dem MLC-Flashspeicher beliebige LSB-Speicherseiten mit MSB-Speicherseiten gepaart sein, die von den beliebigen LSB-Speicherseiten um vier Speicherseiten beabstandet sind, wenn die beliebigen LSB-Speicherseiten die ersten zwei LSB-Speicherseiten und die letzten zwei LSB-Speicherseiten von den LSB-Speicherseiten sind, und die beliebigen LSB-Speicherseiten sind mit den MSB-Speicherseiten gepaart, die von den beliebigen LSB-Speicherseiten um sechs Speicherseiten beabstandet sind, wenn die beliebigen LSB-Speicherseiten nicht die ersten zwei LSB-Speicherseiten und die letzten zwei LSB-Speicherseiten von den LSB-Speicherseiten sind.
-
Der MLC-Flashspeicher kann ein 2-Bit-MLC-Flashspeicher sein. Hierbei kann die i-te LSB-Paritätsspeicherseite erzeugt werden durch Durchführen einer EXKLUSIV-ODER(XOR)-Verknüpfung an der ersten bis x-ten LSB-Speicherseite. Außerdem kann bei der Wiederherstellung der j-ten LSB-Speicherseite eine XOR-Verknüpfung durchgeführt werden an der i-ten LSB-Paritätsspeicherseite und den LSB-Speicherseiten außer der j-ten LSB-Speicherseite von der ersten bis x-ten LSB-Speicherseite.
-
Der MLC-Flashspeicher kann ein n-Bit-MLC-Flashspeicher sein (n ist eine natürliche Zahl von 3 oder mehr). Hierbei kann die i-te LSB-Speicherseitengruppe LSB-Unterspeicherseitengruppen mit zumindest zwei LSB-Speicherseiten von der ersten bis x-ten LSB-Speicherseite enthalten, wobei die Zahl der LSB-Unterspeicherseitengruppen n entspricht. Zusätzlich kann die i-te LSB-Paritätsspeicherseite für jede LSB-Unterspeicherseitengruppe erzeugt werden.
-
Die i-te LSB-Paritätsspeicherseite kann erzeugt werden durch Durchführen einer XOR-Verknüpfung an den LSB-Speicherseiten, die entsprechend zu den LSB-Unterspeicherseitengruppen enthalten sind. Beim Wiederherstellen der j-ten LSB-Speicherseite kann eine XOR-Verknüpfung durchgeführt werden an der entsprechenden i-ten LSB-Paritätsspeicherseite und den LSB-Speicherseiten, wobei die i-te LSB-Paritätsspeicherseite den LSB-Unterspeicherseitengruppen mit der j-ten LSB-Speicherseite und den LSB-Speicherseiten außer der j-ten LSB-Speicherseite von den LSB-Speicherseiten in der LSB-Unterspeicherseitengruppe, die die j-te LSB-Speicherseite aufweist, enthält.
-
Der MLC-Flashspeicher kann ein NAND-Flashspeicher sein.
-
BESTE AUSFÜHRUNGSFORM
-
Bezug wird genommen werden auf Ausführungsformen, von denen Beispiele in den begleitenden Zeichnungen dargestellt sind, wobei sich Bezugszeichen durchgehend auf gleiche Elemente beziehen.
-
Bei einem Multi-Level-Cell(MLC)-Flashspeicher werden zwei (oder mehr als zwei) Bits in einer Zelle programmiert. Von den Bits wird ein unteres Bit als das niedrigstwertige Bit (LSB) und ein oberes Bit als das höchstwertige Bit (MSB) bezeichnet. Sowohl das LSB als auch das MSB sind in den gleichen Zellen enthalten in einer gleichen Wortleitung auf einem Zellenarray. Da jedoch das LSB und das MSB zwei verschiedene Speicherseiten bilden, wird das LSB und das MSB jeweils mit ihren jeweiligen Speicherseitenadressen programmiert.
-
Eine LSB-Speicherseite ist zum Aufzeichnen oder Lesen eines unteren Bits und eine MSB-Speicherseite ist zum Aufzeichnen oder Lesen eines oberen Bits. Die vorliegende Ausführungsform kann angewendet werden auf den MLC-Flashspeicher, der eine mit zwei oder mehreren Bits programmierte Zelle enthält. Jedoch wird im Folgenden zum Zwecke der Einfachheit der Beschreibung ein Fall beschrieben werden, bei dem eine Zelle in einem MLC-Flashspeicher zwei Bitwerte wiedergibt. Zusätzlich kann der unten beschriebene Flashspeicher ein NAND-Flashspeicher sein.
-
1 stellt Zellenschwellwertspannungs-Verteilungen in einem 2-Bit-MLC-Flashspeicher dar.
-
Bezugnehmend auf 1 gibt jede Speicherzelle des 2-Bit-MLC-Flashspeichers gemäß der Intensität einer Zellenschwellwertspannung irgendeinen Wert von „11”, „10”, „00” und „01” wieder. Wenn daher der 2-Bit-MLC-Flashspeicher zwei Bits wiedergibt, werden zumindest zwei Programmierprozesse benötigt.
-
2A und 2B stellen Programmierprozesse in dem 2-Bit-MLC-Flashspeicher dar.
-
Bezugnehmend auf
2A wird das LSB „1” einer auf „11” initialisierten Speicherzelle
auf „0” programmiert
und somit besitzt die programmierte Speicherzelle einen Wert von „10”. Dann wird wie in
2B das MSB einer auf „11” initialisierten Speicherzelle
auf „0” programmiert
und dann besitzt die programmierte Speicherzelle einen Wert von „01”. Außerdem wird das MSB einer auf „10” programmierten Speicherzelle
auf „0” programmiert, und dann besitzt die programmierte Speicherzelle einen Wert von „00”.
-
Von daher können das LSB und das MSB, die auf verschiedenen Speicherseiten programmiert werden, durch eine „Gepaarte Speicherseite”, wie in 3, miteinander verbunden sein.
-
3 zeigt schematisch die „Gepaarte Speicherseite” mit der LSB-Speicherseite und der MSB-Speicherseite in dem 2-Bit-MLC-Flashspeicher.
-
4 ist ein Beispiel der „Gepaarten Speicherseite” aus 3.
-
Bezugnehmend auf die 3 und 4 können bei der „Gepaarten Speicherseite” aus 3 die ersten zwei LSB-Speicherseiten 0 und 1 sowie die letzten zwei LSB-Speicherseiten (nicht dargestellt) mit den MSB-Speicherseiten ein Paar bilden, die von den LSB-Speicherseiten um vier Speicherseiten beabstandet sind. Der Rest der LSB-Speicherseiten 2, 3, 6, 7 ... kann mit den MSB-Speicherseiten ein Paar bilden, die von den LSB-Speicherseiten um sechs Speicherseiten beabstandet sind. Zum Beispiel kann die LSB-Speicherseite „0” mit der MSB-Speicherseite „4” ein Paar bilden und kann die LSB-Speicherseite „2” mit der MSB-Speicherseite „8” ein Paar bilden.
-
5 stellt Speicherstellen von LSB-Paritätsspeicherseiten bei der „Gepaarten Speicherseite” aus 4 dar.
-
Bezugnehmend auf 5 wird angenommen, dass beliebige Nummern der LSB-Speicherseiten, die benachbart zueinander sind, als eine LSB-Speicherseitengruppe bezeichnet werden. Hierbei wird eine zweite LSB-Speicherseitengruppe LPG2 aus der sich am nächsten zu einer ersten LSB-Speicherseitengruppe LPG1 angeordneten LSB-Speicherseite „F” und den LSB-Speicherseiten „G” und „J” gebildet, die zwischen der LSB-Speicherseite „F” und der MSB-Speicherseite „K” vorhanden sind, die mit der LSB-Speicherseite „F” ein Paar bildet.
-
Die LSB-Paritätsspeicherseiten existieren für die in jeder LSB-Speicherseitengruppe enthaltenen LSB-Speicherseiten. Zum Beispiel existiert die LSB-Paritätsspeicherseite „PAR1” für die drei LSB-Speicherseiten „A”, „B” und „C”, die in der ersten LSB-Speicherseitengruppe LPG1 enthalten sind. Hierbei kann die LSB-Paritätsspeicherseite „PAR1” realisiert werden unter Verwendung von Informationserzeugungsverfahren, die bei einem Verfahren zum Erzeugen einer Parität (einem Verfahren redundanter Anordnung unabhängiger/kostengünstiger Festplatten (RAID)), verwendet wird, wobei die Parität für die drei LSB-Speicherseiten „A”, „B” und „C” erzeugt wird.
-
Im Folgenden wird zum Zwecke der Einfachheit der Beschreibung nur ein Fall beschrieben, bei dem die LSB-Paritätsspeicherseite „PAR1” eine EXKLUSIV-ODER(XOR)-Verknüpfung durchführt und die drei LSB-Speicherseiten „A”, „B” und „C” erzeugt. Zum Beispiel führt die LSB-Paritätsspeicherseite „PAR1” nacheinander eine XOR-Verknüpfung für „0”, „1” und „1” mit Bezug auf die LSB-Speicherseiten „A”, „B” und „C” durch, die entsprechend auf „0”, „1” und „1” programmiert sind, und kann einen Wert von „0” besitzen.
-
In 5 wird die Leistungsversorgung plötzlich unterbrochen während des Programmierens der MSB-Speicherseite „D”. In diesem Fall ist ein programmierter Zustand der LSB-Speicherseite „A”, die der MSB-Speicherseite „D” entspricht, möglicherweise nicht sichergestellt. In dem 2-Bit-MLC-Flashspeicher teilen die LSB-Speicherseiten und die MSB-Speicherseiten, die miteinander verknüpft sind, miteinander die gleiche Wortleitung, so dass, wenn das Programmieren einer MSB-Speicherseite nicht richtig abgeschlossen wird aufgrund eines plötzlichen Abschaltens, ein programmierter Zustand einer LSB-Speicherseite nicht sichergestellt ist.
-
Wenn zum Beispiel die Leistungsversorgung unterbrochen wird, während das LSB „1” derart programmiert wird, dass es „01” ist, und dann das MSB „0” programmiert wird, kann das Zellpotential der LSB-Speicherseite, die auf „1” programmiert wurde, geändert werden. In diesem Fall kann das LSB als „0” anstelle von „1” erkannt werden.
-
In dem 2-Bit-MLC-Flashspeicher gemäß der vorliegenden Ausführungsform wird Bezug genommen auf die LSB-Paritätsspeicherseite und wird die LSB-Speicherseite wiederhergestellt. Wenn die Leistungsversorgung unterbrochen wird während des Programmierens der MSB-Speicherseite „D”, wird eine XOR-Verknüpfung nacheinander durchgeführt an der LSB-Paritätsspeicherseite „PAR1” und den LSB-Speicherseiten „C” und „B”, und dann kann die LSB-Speicherseite „A” wiederhergestellt werden. Zum Beispiel kann die LSB-Speicherseite „A” wiederhergestellt werden, wobei „1” verwendet wird, das durch Durchführen einer XOR-Verknüpfung an der LSB-Paritätsspeicherseite „PAR1” mit einem Wert von „0” und der LSB-Speicherseite „C” mit einem Wert von „1” erhalten wird, und wobei der Wert von „0” verwendet wird, der durch Durchführen einer XOR-Verknüpfung an der LSB-Speicherseite „B” mit einem Wert von „1” erhalten wird.
-
Selbst wenn die Leistungsversorgung unterbrochen wird während des Programmierens der MSB-Speicherseite kann die 2-Bit-MLC-Flashspeichervorrichtung gemäß der vorliegenden Ausführungsform von daher leicht die LSB-Speicherseite wiederherstellen.
-
6 zeigt ein weiteres Beispiel der „Gepaarten Speicherseite” aus 3.
-
Bezugnehmend auf die 3 und 6 können anders als bei 4 alle LSB-Speicherseiten mit den MSB-Speicherseiten gepaart werden, die von den LSB-Speicherseiten um vier Speicherseiten beabstandet sind, in 6. Zum Beispiel kann die LSB-Speicherseite „0” mit der MSB-Speicherseite „4” als Paar verknüpft werden, und kann die LSB-Speicherseite „2” mit der MSB-Speicherseite „6” als Paar verknüpft werden.
-
7 veranschaulicht Speicherstellen der LSB-Paritätsspeicherseiten bei einer „Gepaarten Speicherseite” aus 6.
-
Bezugnehmend auf 7 gibt es eine LSB-Paritätsspeicherseite „PAR1” für LSB-Speicherseiten „A”, „B” und „C”, die in einer ersten LSB-Speicherseitengruppe LPG1 enthalten sind, und gibt es eine LSB-Paritätsspeicherseite PAR2 für in einer zweiten LSB-Speicherseitengruppe LPG2 enthaltene LSB-Speicherseiten „H”, „I” und „J”. Die Konfiguration aus 7 ist die gleiche wie die aus 5 außer der Konfiguration einer LSB-Speicherseitengruppe, und somit wird deren detaillierte Beschreibung ausgelassen.
-
Bei dem mit Bezug auf die 5 und 7 beschriebenen 2-Bit-MLC-Flashspeicher befindet sich eine LSB-Paritätsspeicherseite in dem gleichen Block mit LSB-Speicherseiten. Jedoch ist die vorliegende Ausführungsform nicht darauf beschränkt und die LSB-Paritätsspeicherseiten PAR1, PAR2, PAR3, usw. können sich in einem Block BLKj befinden, der verschieden ist von einem Block BLKi, in dem sich die LSB-Speicherseiten A, B, C, usw. befinden, wie in 8, wobei i und j natürliche Zahlen sind.
-
Zusätzlich kann sich wie in 9 dargestellt eine LSB-Paritätsspeicherseite PARx in einem Speicher NVRAM befinden, der verschieden ist von einem Speicher FM, in dem sich LSB-Speicherseiten A, B, C, usw. befinden, wobei x eine natürliche Zahl ist. Da LSB-Paritätsspeicherseiten in einem nichtflüchtigen Speicher gespeichert werden, kann insbesondere die von den LSB-Paritätsspeicherseiten verbrauchte Speicherkapazität verringert werden.
-
Wenn das Programmieren für die MSB-Speicherseiten, die einer beliebigen LSB-Speicherseitengruppe entsprechen, nicht richtig abgeschlossen wird, ist die LSB-Paritätsspeicherseite für die entsprechende LSB-Speicherseitengruppe nicht funktionsfähig.
-
Jedoch wird bei einem nichtflüchtigen Speicher eine in-place-Aktualisierungsfunktion bereitgestellt, so dass eine neue LSB-Paritätsspeicherseite wiederhergestellt werden kann an der Speicherstelle, an der die LSB-Paritätsspeicherseite gespeichert wird.
-
Wie oben beschrieben wurde ein bei einem 2-Bit-MLC-Flashspeicher verwendetes LSB-Speicherseiten-Wiederherstellungsverfahren beschrieben. Im Folgenden wird ein bei einem 3-Bit-MLC-Flashspeicher verwendetes LSB-Speicherseiten-Wiederherstellungsverfahren beschrieben werden.
-
10 stellt eine „Gepaarte Speicherseite” mit LSB-Speicherseiten und MSB-Speicherseiten bei dem 3-Bit-MLC-Flashspeicher dar.
-
Bezugnehmend auf 10 werden LSB-Speicherseiten „0” und „4” gepaart mit der MSB-Speicherseite „8” und die LSB-Speicherseiten „1” und „5” werden gepaart mit der MSB-Speicherseite „9”. Der Rest der LSB-Speicherseiten wird gepaart mit dem Rest der MSB-Speicherseiten in der gleichen Art und Weise, wodurch ein Zellenwert von 3 Bit angegeben wird.
-
11 stellt Speicherstellen von den LSB-Paritätsspeicherseiten bei den „Gepaarten Speicherseiten” aus 10 dar.
-
Bezugnehmend auf 11 gibt es eine LSB-Paritätsspeicherseite für eine LSB-Speicherseitengruppe wie in 5. Jedoch ist bei dem 3-Bit-MLC-Flashspeicher ein LSB gleich 2 Bit, sodass die LSB-Speicherseitengruppen, die jedem Bit entsprechen, benötigt werden. Wie zum Beispiel in 11 dargestellt, gibt es eine elfte LSB-Speicherseitengruppe LPG11 und eine zwölfte LSB-Speicherseitengruppe LPG12 für eines von den Bits des LSB.
-
Hierbei gibt es die LSB-Paritätsspeicherseite für jedes Bit von dem LSB. Eine elfte LSB-Paritätsspeicherseite PAR11 für die elfte LSB-Speicherseitengruppe LPG11 und eine zwölfte LSB-Paritätsspeicherseite PAR12 für die zwölfte LSB-Speicherseitengruppe LPG12 kann vorhanden sein.
-
Wenn das Programmieren für die LSB-Speicherseiten „A”, „B” und „C”, die in der elften LSB-Speicherseitengruppe LPG11 enthalten sind, abgeschlossen ist und wenn die Leistungsversorgung an dem 3-Bit-MLC-Flashspeicher unterbrochen wird während des Programmierens der in der zwölften LSB-Paritätsgruppe LPG12 enthaltenen LSB-Speicherseite „D”, kann die LSB-Speicherseite „A” wiederhergestellt werden durch das, wie mit Bezug auf 5 beschriebene Verfahren. Das bedeutet, dass eine XOR-Verknüpfung nacheinander durchgeführt wird an der elften LSB-Paritätsspeicherseite PAR11 und den LSB-Speicherseiten „C” und „B”, und somit die LSB-Speicherseite „A” wiederhergestellt werden kann.
-
Genauso, wenn das Programmieren der in der zwölften LSB-Paritätsgruppe LPG12 enthaltenen LSB-Speicherseiten „D”, „E” und „F” abgeschlossen ist und wenn die Leistungsversorgung unterbrochen wird während des Programmierens der MSB-Speicherseite „G”, wird die LSB-Speicherseite „A” wiederhergestellt durch das oben beschriebene Verfahren, und wird eine XOR-Verknüpfung nacheinander durchgeführt für die zwölfte LSB-Paritätsspeicherseite PAR12 und die LSB-Speicherseiten „F” und „E”, wodurch die LSB-Speicherseite „D” wiederhergestellt wird.
-
Wie oben beschrieben kann das LSB-Wiederherstellungsverfahren gemäß der vorliegenden Ausführungsform auch angewendet werden auf den MLC-Flashspeicher, der eine mit 3 Bit oder mehr als 3 Bit programmierte Zelle enthält.
-
Es ist selbstverständlich, dass hier beschriebene beispielhafte Ausführungsformen nur in einem beschreibenden Sinn und nicht zum Zwecke von einer Beschränkung gedacht sind. Beschreibungen von Merkmalen oder Gesichtspunkten innerhalb jeder Ausführungsform sollten typischerweise betrachtet werden als anwendbar auf andere ähnliche Merkmale oder Gesichtspunkte bei anderen Ausführungsformen.
-
Zusammenfassung
-
Ein Verfahren zum Wiederherstellen einer Speicherseite eines niedrigstwertigen Bits (LSB), welches bei einer Multi-Level-Cell(MLC)-Flashspeichervorrichtung verwendet wird, wird bereitgestellt. Das Verfahren enthält: Festlegen einer ersten bis n-ten LSB-Speicherseitengruppe (n ist eine natürliche Zahl, die größer als 2 ist), die zumindest zwei LSB-Speicherseiten von den in dem MLC-Flashspeicher enthaltenen LSB-Speicherseiten enthalten; Programmieren der ersten bis x-ten LSB-Speicherseite (x ist eine natürliche Zahl, die größer als 2 ist), die in einer i-ten LSB-Speicherseitengruppe enthalten sind (i ist eine natürliche Zahl, die kleiner als n ist); Erzeugen und Speichern einer i-ten LSB-Paritätsspeicherseite für die erste bis x-te LSB-Speicherseite; Programmieren der ersten bis x-ten MSB-Speicherseite, die einer LSB-Speicherseite von der ersten bis x-ten LSB-Speicherseite entsprechen; und Wiederherstellen einer j-ten LSB-Speicherseite, die mit einer j-ten MSB-Speicherseite gepaart ist, unter Verwendung der i-ten LSB-Paritätsspeicherseite, die der i-ten LSB-Speicherseitengruppe entspricht, wenn die Leistungsversorgung an den MLC-Flashspeicher unterbrochen wird während des Programmierens der j-ten MSB-Speicherseite (j ist eine natürliche Zahl, die kleiner als x ist).