-
Die vorliegende Erfindung betrifft ein nichtflüchtiges Multibit-Speicherelement, ein System, das ein nichtflüchtiges Multibit-Speicherelement aufweist, und ein Verfahren zum Programmieren eines nichtflüchtigen Multibit-Speicherelements.
-
Die Nachfrage nach nichtflüchtigen Halbleiterspeicherelementen hat signifikant zugenommen, da in dem nichtflüchtigen Speicherelement gespeicherte Daten nicht gelöscht werden, wenn das Element nicht mit Energie versorgt ist. Flashspeicherelemente können als nichtflüchtige Speicherelemente verwendet werden. In diesen Elementen können Speicherzellen mittels eines einzelnen Transistors bereitgestellt werden. Auf diese Weise können Speicherelemente, die Flashspeicher enthalten, verglichen mit anderen Speicherelementen relativ klein sein. Aus diesem Grund können Flashspeicher beispielsweise an Stelle von Magnetplatten zum Speichern großer Datenmengen verwendet werden. Einzelheiten in Bezug auf herkömmliche nichtflüchtige Halbleiterspeicherelemente werden in dem
US-Patent 5,751,634 A diskutiert.
-
Insbesondere diskutiert das
US-Patent 5,751,634 A ein Flashspeicherelement mit Speicherzellen zum Speichern von Zwei-Bit-Daten, die mit einer Bitleitung verbunden sind. Wie dort erläutert, sind erste und zweite Flip-Flop-Schaltungen mit der Bitleitung gekoppelt. Die erste Flip-Flop-Schaltung speichert das untere Bit (auch als niederwertigstes Bit oder least significant bit (LSB) bezeichnet) von Zwei-Bit-Daten, die aus der Speicherzelle gelesen oder in die Speicherzelle geschrieben werden. In gleicher Weise speichert die zweite Flip-Flop-Schaltung das obere Bit (auch als höchstwertiges Bit oder most significant bit (MSB) bezeichnet) von Zwei-Bit-Daten, die aus der Speicherzelle gelesen oder in die Speicherzelle geschrieben werden. Somit wird während einer Datenleseoperation zunächst das MSB-Bit aus der Speicherzelle gelesen und anschließend wird das LSB aus der Speicherzelle gelesen. In gleicher Weise wird während einer Datenschreiboperation zunächst das MSB-Bit in die Speicherzelle geschrieben und anschließend wird das LSB in die Speicherzelle geschrieben.
-
Somit können die nichtflüchtigen Halbleiterspeicherelemente, die in dem
US-Patent 5,751,634 A beschrieben sind, ein Speicherelement mit einer großen Kapazität bereitstellen, das jedoch bei geringen Kosten hergestellt werden kann, ohne eine komplizierte Musterungstechnik zu verwenden oder ein neues Herstellungsverfahren zu entwickeln. Allerdings besteht weiterhin Bedarf an verbesserten Speicherelementen.
-
-
Der Erfindung liegt das technische Problem zugrunde, ein nichtflüchtiges Multibit-Speicherelement, ein System mit einem nichtflüchtigen Multibit-Speicherelement und ein Verfahren zum Programmieren eines Multibit-Speicherelements anzugeben, die ein kompakteres und besser integriertes Speicherelement bereitstellen.
-
Die Erfindung löst das Problem mittels eines nichtflüchtigen Multibit-Speicherelements mit den Merkmalen des Patentanspruchs 1, mittels eines Systems, das ein nichtflüchtiges Multibit-Speicherelement aufweist, mit den Merkmalen des Patentanspruchs 10 und mittels eines Verfahrens zum Programmieren eines nichtflüchtigen Multibit-Speicherelements mit den Merkmalen des Patentanspruchs 20.
-
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben, deren Wortlaut hiermit durch Bezugnahme in die Beschreibung aufgenommen wird, um unnötige Textwiderholungen zu vermeiden.
-
Obwohl Ausgestaltungen der vorliegenden Erfindung weiter oben primär im Hinblick auf Speicherelemente besprochen wurden, werden vorliegend auch Systeme, Speicherkarten und Verfahren bereitgestellt.
-
Vorteilhafte Ausgestaltungen der Erfindung, die nachfolgend detailliert beschrieben sind, sind in den Zeichnungen dargestellt. Es zeigt/zeigen:
-
1 ein Blockdiagramm eines Multibit-Flashspeichersystems gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
2 ein schematisches Diagramm eines Seitenpuffers gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
3 ein Flussdiagramm zur Darstellung von Operationen von Programmierverfahren gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
4 ein Flussdiagramm zur Darstellung von Operationen einer Least-Significant-Bit(LSB)-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
5 ein Flussdiagramm zur Darstellung von Operationen von Most-Significant-Bit(MSB)-Programmierungen gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
6 ein Diagramm zur Darstellung einer LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
7 ein Diagramm zur Darstellung von MSB-Programmierungen gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
8 ein schematisches Diagramm zur Darstellung von Operationen eines Seitenpuffers während einer LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
9 ein schematisches Diagramm zur Darstellung von Operationen eines Seitenpuffers während einer MSB-„00”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
10 ein schematisches Diagramm zur Darstellung von Operationen eines Seitenpuffers während einer MSB-„10”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
11 ein schematisches Diagramm zur Darstellung von Operationen eines Seitenpuffers während einer MSB-„01”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
12 ein Flussdiagramm zur Darstellung von Operationen von Programmierverfahren gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
13 ein Diagramm zur Darstellung einer LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
14 ein Diagramm zur Darstellung einer MSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
15 ein schematisches Diagramm zur Darstellung von Seitenpufferoperationen während einer LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
16 ein schematisches Diagramm zur Darstellung von Seitenpufferoperationen während einer MSB-„00”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
17 ein schematisches Diagramm zur Darstellung von Seitenpufferoperationen während einer MSB-„01”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
18 ein Blockdiagramm zur Darstellung eines Flashspeicherelementes gemäß einigen Ausgestaltungen der vorliegenden Erfindung; und
-
19 ein Blockdiagramm eines Multibit-Flash-Speichersystems gemäß einigen Ausgestaltungen der vorliegenden Erfindung.
-
In den Zeichnungen können die Größenverhältnisse oder Konfigurationen von Elementen aus Darstellungsgründen idealisiert oder übertrieben sein.
-
Es sei darauf hingewiesen, dass ein Element, welches als mit einem anderen Element „verbunden” oder „gekoppelt” bezeichnet ist, entweder direkt mit dem anderen Element verbunden oder gekoppelt sein kann oder dass Zwischenelemente vorhanden sein können. Im Gegensatz hierzu sind dann, wenn ein Element als mit einem anderen Element „direkt verbunden” oder „direkt gekoppelt” beschrieben ist, keine Zwischenelemente vorhanden.
-
Wie weiter unten unter Bezugnahme auf 1 bis 19 erläutert wird, schaffen einige Ausgestaltungen der vorliegenden Erfindung verbesserte nichtflüchtige Speicherelemente und entsprechende Systeme, Verfahren und Speicherkarten. Insbesondere schaffen einige Ausgestaltungen der vorliegenden Erfindung nichtflüchtige Multibit-Speicherelemente mit einem Seitenpuffer, der eine einzelne Zwischenspeicherstruktur aufweist, d. h. der Seitenpuffer enthält eine Mehrzahl einzelner Zwischenspeicher. Die Einzelzwischenspeicherstruktur ist dazu ausgebildet, ein erstes Bit von Multibit-Daten zu speichern, beispielsweise ein Least Significant Bit (LSB) von Multibit-Daten, und Zwischendaten während des Programmierungsvorgangs zu speichern. Speicherelemente gemäß einigen Ausgestaltungen der vorliegenden Erfindung umfassen außerdem einen Pufferspeicher mit wahlfreiem Zugriff (Puffer-RAM). Ein zweites Bit von Multibit-Daten, beispielsweise ein Most Significant Bit (MSB) der Multibit-Daten, wird in dem Puffer-RAM gespeichert. Die Kombination des Einzelzwischenspeicherseitenpuffers und des Puffer-RAM gemäß einigen Ausgestaltungen der vorliegenden Erfindung kann die Herstellung kleinerer Elemente ermöglichen, da die Kombinationsstruktur weniger Raum in dem Speicherelement einnimmt als die herkömmliche Doppelzwischenspeicherstruktur. Weiterhin können Speicherelemente gemäß einigen Ausgestaltungen der vorliegenden Erfindung auch eine verbesserte Leistungsfähigkeit bereitstellen, wie weiter unten unter Bezugnahme auf die 1 bis 19 erörtert wird.
-
Unter Bezugnahme auf 1 wird ein Multibit-Flashspeichersystem 100 gemäß einigen Ausgestaltungen der vorliegenden Erfindung beschrieben. Wie in 1 dargestellt, umfasst das System 100 ein Multibit-Flashspeicherelement 105, das mit einem externen Host 150 verbunden ist. In einigen Ausgestaltungen der vorliegenden Erfindung kann die Schnittstelle zwischen dem Flashspeicherelement 105 und dem externen Host 150 eine NOR-Schnittstelle sein. Es sei darauf hingewiesen, dass es sich bei dem Flashspeicherelement 105 um jedes Flashspeicherelement handeln kann, das in der Lage ist, so zu arbeiten, wie vorliegend beschrieben. Beispielsweise kann es sich gemäß einigen Ausgestaltungen der vorliegenden Erfindung bei dem Flashspeicherelement um ein NAND- oder ein NOR-Flashspeicherelement handeln, ohne den Kontext der vorliegenden Erfindung zu verlassen.
-
Wie in 1 weiterhin dargestellt, umfasst das Flashspeicherelement 105 ein Speicherzellenfeld 110, einen Seitenpuffer 120, einen Puffer-RAM 130 und Speicherlogik 140. Das Speicherzellenfeld 110 kann eine oder mehrere Speicherzellen 115 umfassen. In einigen Ausgestaltungen der vorliegenden Erfindung kann das Speicherzellenfeld 110 eine Strangzelle aus NAND-Flashspeichern umfassen. In einigen Ausgestaltungen der vorliegenden Erfindung kann es sich bei dem Flashspeicherelement 105 um ein OneNAND-Flashspeicherelement handeln. Das OneNAND-Flashspeicherelement umfasst ein NAND-Zellenfeld und eine NOR-Schnittstelle zwischen dem Flashspeicherelement 105 und dem Host 150.
-
Der Seitenpuffer 120 ist elektrisch mit dem Speicherzellenfeld 110 und dem Puffer-RAM 130 gekoppelt, wie in 1 gezeigt. Der Pufferspeicher 120 umfasst ein oder mehrere Einzelzwischenspeicher 125, die dazu ausgebildet sind, ein erstes Bit von Multibit-Daten zu speichern, die in eine der Speicherzellen 115 des Speicherzellenfelds 110 geschrieben oder daraus gelesen werden sollen. In einigen Ausgestaltungen der vorliegenden Erfindung kann das erste Bit von Multibit-Daten das Least Significant Bit (LSB) von Multibit-Daten sein. Der Seitenpuffer 120 ist weiterhin dazu ausgebildet, Zwischenprogrammierdaten während der Programmieroperation (Schreiboperation) zu speichern, wie weiter unten noch weiter ausgeführt wird. Auf diese Weise kann der Seitenpuffer 120 gemäß einigen Ausgestaltungen der vorliegenden Erfindung während einer Schreib-(Programmier-)Operation als ein Treiber und während einer Leseoperation als ein Leseverstärker fungieren.
-
Wie weiter in 1 dargestellt, ist der Puffer-RAM 130 elektrische mit dem Seitenpuffer 120 gekoppelt. Der Puffer-RAM 130 ist dazu ausgebildet, ein zweites Bit der Multibit-Daten zu speichern, die in eine der Speicherzellen 115 des Speicherzellenfelds 110 geschrieben oder daraus gelesen werden sollen. In einigen Ausgestaltungen der vorliegenden Erfindung ist das zweite Bit von Multibit-Daten das Most Significant Bit (MSB) von Multibit-Daten. Bei einigen Ausgestaltungen der vorliegenden Erfindung können die Programmierdaten MSB-Zwischenprogrammier-(Schreib-)Daten enthalten, wie weiter unten erläutert wird. In einigen Ausgestaltungen der vorliegenden Erfindung kann der Puffer-RAM 130 statisches RAM (SRAM) oder dynamisches RAM (DRAM) enthalten.
-
Wie oben erläutert, nimmt der Puffer-RAM signifikant weniger Raum ein als die Zwischenspeicher des Seitenpuffers. Daher können durch ausschließliches Vorsehen eines Seitenpuffers 120, der anstelle des herkömmlichen Doppelzwischenspeichers Einzelzwischenspeicher aufweist, einige Ausgestaltungen der vorliegenden Erfindung ein kompakteres und stärker integriertes Speicherelement zur Verfügung stellen. Auf diese Weise können Speicherelemente gemäß einigen Ausgestaltungen der vorliegenden Erfindung zur Verwendung in kleinen tragbaren Geräten geeignet sein, wie mobilen Endgeräten oder dergleichen.
-
Der Steuerlogikblock 140 enthält die Steuersignale, die dazu ausgebildet sind, eine Programmier-(Schreib-)Operation und/oder eine Leseoperation zu beginnen und zu beenden. Beispielsweise kann der Puffer-RAM 130 dazu ausgebildet sein, Daten von dem Speicherzellenfeld 110 durch den Seitenpuffer 120 in Abhängigkeit von einem Steuersignal, das von dem Steuerlogikblock 140 erzeugt wird, temporär zu speichern. Operationen von Steuerlogikblöcken sind dem Fachmann bekannt und werden vorliegend nicht weiter erläutert.
-
Obwohl Ausgestaltungen der vorliegenden Erfindung weiter oben unter Bezugnahme auf Zweibit-Multibit-Daten mit einem MSB und einem LSB und einem Seitenpuffer diskutiert wurden, der dazu ausgebildet ist, ein erstes Bit von Multibit-Daten (LSB) zu speichern, sind Ausgestaltungen der vorliegenden Erfindung nicht auf diese Konfiguration beschränkt. Der Seitenpuffer kann dazu ausgebildet sein, mehr als ein einzelnes Bit von Multibit-Daten zu speichern. Wie beispielsweise in 19 dargestellt, können einige Ausgestaltungen der vorliegenden Erfindung Vierbit-Multibit-Daten umfassen, wobei der Seitenpuffer 1920 dazu ausgebildet ist, die drei am wenigsten signifikanten Bits unter den Vierbit-Multibit-Daten zu speichern, und wobei das MSB der Vierbit-Multibit-Daten in dem Puffer-RAM 1930 gespeichert werden kann.
-
Unter Bezugnahme auf 2 wird ein schematisches Blockdiagramm eines Seitenpuffers gemäß einigen Ausgestaltungen der vorliegenden Erfindung erläutert. Wie in 2 dargestellt, umfasst ein Seitenpuffer 200 einen PMOS-Transistor M2, erste bis fünfte NMOS-Transistoren M1 und M3 bis M6 und drei Invertierer INV1 bis INV3, die gemäß 2 verbunden sind. Die Einzelzwischenspeicherstruktur 210 gemäß Ausgestaltungen der vorliegenden Erfindung umfasst erste und zweite Invertierer INV1 und INV2, die in der dargestellten Weise verbunden sind. Es sei darauf hingewiesen, dass 2 eine einzelne Seitenpufferzelle darstellt. Speicherelemente gemäß Ausgestaltungen der vorliegenden Erfindung können eine Mehrzahl derartiger Zellen umfassen, wie in dem Seitenpuffer 120 gemäß 1 dargestellt. Der Seitenpuffer arbeitet in Abhängigkeit von einem Vorladesignal PRE, von dem Speicherzellenfeld 110 (1) auf der Bitleitung (BL) empfangenen Daten, einem Bitleitungsauswahlsignal (BLSLT), einem Lesesignal RD, einem inversen Lesesignal (IRD) und einem Latchsignal (LCH). Schaltungen wie der Seitenpuffer gemäß 2 sind dem Fachmann bekannt, so dass Einzelheiten bezüglich ihres Betriebs vorliegend nicht weiter dargestellt sind.
-
Bezugnehmend auf 3 bis 7 werden Operationen gemäß einigen Ausgestaltungen der vorliegenden Erfindung beschrieben. Bezugnehmend auf 3 wird ein Flussdiagramm zur Darstellung von Operationen von Programmierverfahren (Schreibverfahren oder Schreiboperationen) gemäß einigen Ausgestaltungen der vorliegenden Erfindung erläutert. Verfahren zum Programmieren (Schreiboperationen) gemäß Ausgestaltungen der vorliegenden Erfindung werden in einem nichtflüchtigen Multibit-Speicherelement durchgeführt, das ein Speicherzellenfeld mit einer Mehrzahl von Speicherzellen, einen mit dem Speicherzellenfeld gekoppelten Seitenpuffer, der eine Mehrzahl von Zwischenspeichern enthält, und einen Puffer-RAM aufweist, der mit dem Seitenpuffer gekoppelt ist, wie weiter oben unter Bezugnahme auf die 1 und 2 erläutert.
-
Wie in 3 dargestellt, beginnen die Operationen im Block 300, indem festgestellt wird, ob ein MSB programmiert (geschrieben) wird. Wenn festgestellt wird, dass kein MSB programmiert wird (Block 300), wird die LSB-Programmierung ausgeführt (Block 310). Wenn andererseits festgestellt wird, dass das MSB programmiert wird (Block 300), wird die MSB-Programmierung durchgeführt (Block 320). Es sei darauf hingewiesen, dass beim Ausführen der MSB-Programmierung (Block 320) erneut die Daten von dem Puffer-RAM 130 (1) in den Seitenpuffer 120 (1) geladen werden können.
-
Operationen der LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung werden nun unter Bezugnahme auf die 4 und 6 beschrieben. Wie in 4 dargestellt, beginnen die Operationen in Block 400 durch Ausführen der LSB-Programmierung. Wie in 6 dargestellt, beginnt die Zellenschwellspannungsverteilung bei „11” 601 (der gelöschte Zustand oder Löschzustand). Ein Prüflesevorgang wird durchgeführt, wobei eine Lesewortleitungsspannung (VR1) verwendet wird, wie in 4 gezeigt (Block 410). Es wird festgestellt, ob die maximale Anzahl von Iterationen für die LSB-Programmierung erreicht worden ist (Block 430). Wenn festgestellt wird, dass die maximale Anzahl von Iterationen erreicht worden ist (Block 430), enden die Operationen der LSB-Programmierung. Wenn andererseits festgestellt wird, dass die maximale Anzahl von Iterationen noch nicht erreicht wurde (Block 430), wird festgestellt, ob die Zellschwellspannungsverteilung „10” ist (602 in 6) (Block 440). Wenn festgestellt wird, dass die Zellschwellspannungsverteilung „10” ist (Block 440), wurde die LSB-Programmierung erfolgreich abgeschlossen und Operationen der LSB-Programmierung werden beendet. Wenn andererseits festgestellt wird, dass die Zellschwellspannungsverteilung nicht „10” ist (Block 440), wird die Wortleitungsspannung stufenweise angehoben und Operationen der Blöcke 400 bis 440 werden wiederholt bis entweder die maximale Anzahl von Iterationen erreicht ist (Block 430) oder bis die Zellschwellspannungsverteilung „10” erreicht wurde (Block 440) (Block 420). In einigen Ausgestaltungen der vorliegenden Erfindung kann die schrittweise ansteigende Programmierung (Block 420) eine Incremental-Step-Pulse-Programmierung (ISPP) sein, wobei jedoch Ausgestaltungen der vorliegenden Erfindung nicht auf diese Konfiguration beschränkt sind.
-
Mit anderen Worten, bei einer LSB-Programmierung 600, wie in 6 dargestellt, beginnt die LSB-Programmierung mit einer Zellschwellspannungsverteilung „11” 601 (dem gelöschten Zustand) und endet mit einer Zellenschwellenspannungsverteilung von „10” 602. Wie in dem Flussdiagramm der 4 dargestellt ist, braucht dieser Übergang nicht während eines Programmierschritts zu erfolgen, sondern es kann mehrere Programmiterationen erfordern, bevor der endgültige Zustand „10” erreicht wird, d. h. bevor der erfolgreiche Abschluss (pass) (Block 440) erzeugt wird.
-
Operationen der MSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung werden nun unter Bezugnahme auf die 5 und 7 erläutert. Bezugnehmend auf 5 wird zunächst ein Flussdiagramm zur Darstellung von Operationen von Most-Significant-Bit(MSB)-Programmierungen gemäß einigen Ausgestaltungen der vorliegenden Erfindung beschrieben. Wie in 5 dargestellt, beginnen die Operationen im Block 500, indem festgestellt wird, ob das MSB programmiert wird. Wenn festgestellt wird, dass das MSB nicht programmiert wird (Block 500), werden Operationen der Blöcke 510 und 520 durchgeführt, die der LSB-Programmierung entsprechen, die weiter oben unter Bezugnahme auf 4 erläutert wurde. Wenn andererseits festgestellt wird, dass das MSB programmiert wird (in das Speicherzellenfeld geschrieben wird), werden die Operationen mit Block 540 fortgesetzt. Das Flussdiagramm in 5 ist in drei Abschnitte unterteilt. Die Blöcke 540–550 repräsentieren die Operationen der MSB-„00”-Programmierung (Block 530), die Blöcke 555–565 repräsentieren die Operationen der MSB-„10”-Programmierung (Block 585), und die Blöcke 570–580 repräsentieren die Operation der MSB-„01”-Programmierung (Block 590) gemäß einigen Ausgestaltungen der vorgehenden Erfindung.
-
Das Ausführen der MSB-„00”-Programmierung (Block 530) beinhaltet ein Vor-Lesen („pre-reading”) von Daten (Block 540) aus der Speicherzelle, ein Laden von Daten in den Seitenpuffer (Block 545) und ein Ausführen der „00”-Programmierung (Block 550). Dies ist weiter in 7 dargestellt. Wie in 7 gezeigt, wechselt während der MSB-„00”-Programmierung 720 die Zellenschwellspannungsverteilung von „10” 702 zu einer Zellschwellspannungsverteilung von „00” 703. Somit entsprechen Zellen 702 und 703 den geladenen Daten „0”.
-
Das Ausführen der „10”-Programmierung (Block
585) beinhaltet ein Vor-Lesen einer ersten Zeit (Block
555), ein Vor-Lesen einer zweiten Zeit (
560) und ein Ausführen einer „10”-Programmierung (
565). Dies ist weiter in
7 dargestellt. Wie in
7 gezeigt, wechselt während der MSB-„10”-Programmierung
730 die Zellenschwellspannungsverteilung von „10”
702 zu einer Zellenschwellspannungsverteilung von „10”
704. Diese besondere Programmierung kann auch als Schattenprogrammierung bezeichnet werden und ist in dem
US-Patent 5,751,634 erläutert. Wie weiterhin in
7 gezeigt, ist VR1 niedriger als Vth der ausgewählten Zellen, welche niedriger ist als VFY2.
-
Die Ergebnisse der MSB-„00”- und MSB-„10”-Programmierung erzeugen Zwischenprogrammierdaten. Diese Zwischendaten können in dem Seitenpuffer 120 (1) gespeichert werden, wie weiter oben unter Bezugnahme auf 1 erläutert.
-
Das Ausführen der MSB-„01”-Programmierung (Block 590) beinhaltet ein erneutes Laden von Daten durch den Seitenpuffer (Block 570), ein Ergebnis der MSB-„10”-Programmierung, ein Vor-Lesen von Daten (Block 575) und ein Ausführen der MSB-„01”-Programmierung (580). Dies ist weiter in 7 dargestellt. Wie in 7 gezeigt, wechselt während der MSB-„01”-Programmierung 740 die Zellenschwellspannungsverteilung „11” 701 zu einer Zellschwellspannungsverteilung von „01” 705. Die MSB-Daten können in dem Puffer-RAM 130 gespeichert werden, wie weiter oben unter Bezugnahme auf 1 erläutert.
-
Es wird nunmehr Bezug genommen auf die 8 bis 11, die schematisch Diagramme zur Darstellung von Operationen von Seitenpuffern während verschiedenen Programmierzuständen gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigen. Es sei darauf hingewiesen, dass die in den 8 bis 11 dargestellten Seitenpuffer dieselben Seitenpuffer bzw. derselbe Seitenpuffer sind, wie in 2 gezeigt, die bzw. der jedoch zusätzliche Informationen bezüglich der verschiedenen Programmierzustände aufweist bzw. aufweisen, wie vorliegend weiter erläutert wird. Es sei darauf hingewiesen, dass bei allen Seitenpuffern, die in den 8 bis 11 dargestellt sind, für einen hohen Logikzustand („1”) der Bitleitung (BL) die Programmierung der ausgewählten Speicherzelle unterbunden ist, d. h. dass kein Strom fließen darf. Wenn andererseits die Bitleitung (BL) in einem niedrigen Logikzustand („0”) ist, darf Strom in die Speicherzelle fließen und ermöglicht somit die Programmierung von Daten in die Speicherzelle, die der BL zugeordnet ist. Weiterhin ist das Lesesignal (RD) immer in einem niedrigen Logikzustand „0”.
-
Es wird zunächst Bezug genommen auf 8, die ein schematisches Diagramm zur Darstellung eines Seitenpuffers während einer LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigt. Wie in 8 dargestellt, entspricht der mit (1) bezeichnete Pfad einem Reset des Seitenpuffers 800. Die Teilschaltung 810, die in 8 dargestellt ist, zeigt die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Resetoperation.
-
Der mit (2) bezeichnete zweite Pfad des Seitenpuffers 800 entspricht dem Datenpfad. Wie anhand der Teilschaltungen 815 und 820 dargestellt, welche die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Programmieroperation zeigen, ist das inverse Lesesignal (IRD) auf einem hohen Logikpegel („1”), wenn die Programmierdaten „0” sind, und auf einem niedrigen Logikpegel („0” oder „L”), wenn die Programmierdaten „1” sind. Schließlich entspricht der mit (3) bezeichnete dritte Pfad des Seitenpuffers 800 dem Programmierpfad, der die Speicherzelle in dem Speicherzellenfeld programmiert.
-
Bezugnehmend auf 9 wird ein schematisches Blockdiagramm zur Darstellung von Operationen eines Seitenpuffers während einer MSB-„00”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung erläutert. Wie in 9 dargestellt, entspricht der mit (3) bezeichnete Pfad einem Reset des Seitenpuffers 800. Die Teilschaltung 910, die in 9 dargestellt ist, zeigt die Werte an den ersten bis dritten Invertierern IVN1 bis INV3 während einer Resetoperation.
-
Der mit (1) bezeichnete erste Pfad des Seitenpuffers 900 entspricht dem Vor-Lesen der Speicherzelle bevor die Daten geladen werden. Die Teilschaltungen 920 und 930 in 9 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Vor-Leseoperation.
-
Der mit (2) bezeichnete zweite Pfad des Seitenpuffers 900 entspricht dem Datenpfad. Wie mittels der Teilschaltungen 940, 950 und 955 dargestellt, welche die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Programmieroperation zeigen, befindet sich das inverse Lesesignal (IRD) auf einem hohen Logikpegel („1”), wenn die Programmierdaten „0” sind, und auf dem niedrigen Logikpegel („0” oder „L”), wenn die Programmierdaten „1” sind. Schließlich entspricht der mit (4) bezeichnete vierte Pfad des Seitenpuffers 900 dem Strompfad, der die Speicherzelle in dem Speicherzellenfeld programmiert.
-
Nunmehr bezugnehmend auf 10 wird ein schematisches Blockdiagramm erläutert, das Operationen eines Seitenpuffers während einer MSB-„10”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigt. Wie in 10 dargestellt, entspricht der mit (4) bezeichnete Pfad einem Reset des Seitenpuffers 1000. Die Teilschaltung 1010, die in 10 dargestellt ist, zeigt die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Reset-Operation.
-
Der mit (1) bezeichnete erste Pfad und der mit (2) bezeichnete zweite Pfad des Seitenpuffers 1000 entsprechen dem ersten Vor-Lesen der Speicherzellen. Die Teilschaltungen 1020 in 10 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während der ersten Vor-Leseoperation. Der mit (3) bezeichnete dritte Pfad und der mit (4) bezeichnete vierte Pfad des Seitenpuffers 1000 entsprechen dem zweiten Vor-Lesen der Speicherzelle. Die Teilschaltungen 1030 in 10 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während der ersten Vor-Leseoperation.
-
Die MSB-„10”-Programmierung beinhaltet kein Lesen von Daten, da die Daten schattenprogrammiert werden, wie oben erläutert. Schließlich entspricht der mit (5) bezeichnete fünfte Pfad des Seitenpuffers 1000 dem Strompfad, der die Speicherzelle in dem Speicherzellenfeld programmiert.
-
Bezugnehmend auf 11 wird ein schematisches Blockdiagramm erläutert, das Operationen eines Seitenpuffers während einer MSB-„01”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigt. Wie in 11 dargestellt, entspricht der mit (3) bezeichnete Pfad einem Reset des Seitenpuffers 1100. Die Teilschaltung 1110, die in 11 dargestellt ist, zeigt die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Resetoperation.
-
Der mit (1) bezeichnete erste Pfad zeigt das erneute Laden von Daten aus dem Puffer-RAM gemäß einigen Ausgestaltungen der vorliegenden Erfindung. Die Teilschaltungen 1120 in 11 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während der erneuten Datenladeoperation oder Daten-Reloadoperation. Der mit (2) bezeichnete zweite Pfad und der mit (3) bezeichnete dritte Pfad des Seitenpuffers 1100 entsprechen dem Vor-Lesen der Speicherzelle. Die Teilschaltungen 1130 in 11 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während der Vor-Leseoperation. Schließlich entspricht der mit (4) bezeichnete vierte Pfad des Seitenpuffers 1100 dem Strompfad, der die Speicherzelle in dem Speicherzellenfeld programmiert.
-
Operationen gemäß weiteren Ausgestaltungen der vorliegenden Erfindung werden nun unter Bezugnahme auf das Flussdiagramm in 12 und die Diagramme der 13 und 14 erläutert. 13 ist ein Diagramm zur Darstellung einer LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung und 14 ist ein Diagramm zur Darstellung einer MSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung.
-
Bezugnehmend auf 12 beginnen die Operationen in Block 1200, indem festgestellt wird, ob das MSB programmiert wird. Wenn festgestellt wird, dass das MSB nicht programmiert wird (Block 1200), werden die Operationen der Blöcke 1210 und 1220 durchgeführt, die der LSB-Programmierung entsprechen. Insbesondere werden Daten geladen (Block 1210) und die LSB(„10”)-Programmierung wird durchgeführt (Block 1220). Insbesondere wird bezugnehmend auf 13, wie in dem Diagramm zur Darstellung einer LSB-Programmierung 1300 gezeigt, die LSB-Programmierung mit einer Zellschwellenspannungsverteilung „11” 1301 (dem gelöschten Zustand) begonnen und endet mit einer Zellschwellenverteilung von „10” 1302.
-
Wenn andererseits festgestellt wird, dass das MSB programmiert wird (in das Speicherzellenfeld geschrieben wird) (Block 1200), werden die Operationen in Block 1250 fortgeführt. Das Flussdiagramm in 12 ist in zwei Abschnitte unterteilt. Die Blöcke 1250–1270 repräsentieren die Operationen der MSB-„00”-Programmierung (Block 1230), und die Blöcke 1275–1290 repräsentieren die Operationen der MSB-„01”-Programmierung (Block 1230) gemäß einigen Ausgestaltungen der vorliegenden Erfindung.
-
Das Ausführen der MSB-„00”-Programmierung (Block 1230) beinhaltet ein Vor-Lesen von Daten aus der Speicherzelle (Block 1250), ein Laden von Daten in den Seitenpuffer (Block 1260) und ein Ausführen der „00”-Programmierung (Block 1270). Dies ist weiterhin in 14 dargestellt. Wie in 14 gezeigt, wechselt während der MSB-„00”-Programmierung 1420 die Zellenschwellspannungsverteilung von „10” 1402 zu einer Zellenschwellspannungsverteilung von „00” 1403. Somit entsprechen die Zellen 1402 und 1403 den geladenen Daten „0”.
-
Das Ausführen der „MSB-„01”-Programmierung (Block 1240) beinhaltet ein erneutes Laden von Daten durch den Seitenpuffer (Block 1275), ein Vor-Lesen von Daten (Block 1280) und ein Ausführen der MSB-„01”-Programmierung (Block 580). Dies ist weiter in 14 dargestellt. Wie in 14 gezeigt, wechselt während der MSB-„01”-Programmierung 1430 die Zellschwellspannungsverteilung von „11” 1401 zu einer Zellschwellspannungsverteilung von „01” 1404. Die MSB-Daten können in dem Puffer-RAM 130 gespeichert werden, wie oben unter Bezugnahme auf 1 beschrieben.
-
Es wird nunmehr Bezug genommen auf die 15 und 17, die schematisch Diagramme zur Darstellung von Operationen von Seitenpuffern während verschiedener Programmierstufen oder -zustände zeigen. Es sei darauf hingewiesen, dass die in den 8 bis 11 dargestellten Seitenpuffer derselbe bzw. dieselben Seitenpuffer ist bzw. sind, wie in 2 gezeigt, der bzw. die jedoch zusätzliche Informationen bezüglich der unterschiedlichen Programmierzustände enthält bzw. enthalten, wie vorliegend weiter erläutert wird. Es sei darauf hingewiesen, dass hinsichtlich aller in 8 bis 11 dargestellten Seitenpuffer für einen hohen Logikzustand („1”) der Bitleitung (BL) eine Programmierung der ausgewählten Speicherzelle unterbunden ist, d. h. dass kein Strom fließen darf. Wenn andererseits die Bitleitung (BL) einen niedrigen Logikzustand („0”) aufweist, darf Strom in die Speicherzelle fließen und erlaubt somit das Programmieren von Daten in die Speicherzelle, die mit der BL verknüpft ist. Weiterhin ist das Lesesignal (RD) immer in einem niedrigen Logikzustand „0”.
-
Bezugnehmend auf die 15 wird ein schematisches Diagramm erläutert, das einen Seitenpuffer während einer LSB-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigt. Wie in 15 dargestellt, entspricht der mit (1) bezeichnete Pfad einem Reset des Seitenpuffers 1500. Die Teilschaltung 1510, die in 15 dargestellt ist, zeigt die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Resetoperation.
-
Der mit (2) bezeichnete Pfad des Seitenpuffers 1500 entspricht dem Datenpfad. Wie mittels der Teilschaltung 1520 gezeigt, welche die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Programmieroperation darstellt, ist das inverse Lesesignal (IRD) auf einem hohen Logikpegel („1”), wenn die Programmierdaten „0” sind, und auf einem niedrigen Logikpegel („0” oder „L”), wenn die Programmierdaten „1” sind. Schließlich entspricht der mit (3) bezeichnete dritte Pfad des Seitenpuffers 1500 dem Programmierpfad, der die Speicherzelle in dem Speicherzellenfeld programmiert.
-
Bezugnehmend auf 16 wird ein schematisches Blockdiagramm beschrieben, das Operationen eines Seitenpuffers während einer MSB-„00”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigt. Wie in 16 dargestellt, entspricht der mit (3) bezeichnete Pfad einem Reset des Seitenpuffers 1600. Die Teilschaltung 1610, die in 16 dargestellt ist, zeigt die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Resetoperation.
-
Der mit (1) bezeichnete erste Pfad und der mit (2) bezeichnete zweite Pfad des Seitenpuffers 1600 entsprechen dem Vor-Lesen der Speicherzelle, bevor die Daten geladen werden. Die Teilschaltungen 1620 in 16 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Vor-Leseoperation.
-
Der mit (3) bezeichnete dritte Pfad des Seitenpuffers 1600 entspricht dem Datenpfad. Wie mittels der Teilschaltungen 160 gezeigt, welche die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Programmieroperation darstellen, befindet sich das inverse Lesesignal (IRD) auf einem hohen Logikpegel („1”), wenn die Programmierdaten „0” sind, und auf einem niedrigen Logikpegel („0” oder „L”), wenn die Programmierdaten „1” sind. Schließlich entspricht der mit (4) bezeichnete vierte Pfad des Seitenpuffers 1600 dem Strompfad, der die Speicherzelle in dem Speicherzellenfeld programmiert.
-
Bezugnehmend auf 17 wird ein schematisches Blockdiagramm erläutert, das Operationen eines Seitenpuffers während einer MSB-„01”-Programmierung gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigt. Wie in 17 dargestellt, entspricht der mit (3) bezeichnete Pfad einem Reset des Seitenpuffers 1700. Die Teilschaltung 1710, die in 17 dargestellt ist, zeigt die Werte an den ersten bis dritten Invertierern INV1 bis INV3 während einer Resetoperation.
-
Der mit (1) bezeichnete erste Pfad zeigt das erneute Laden von Daten aus dem Puffer-RAM gemäß einigen Ausgestaltungen der vorliegenden Erfindung. Die Teilschaltungen 1720 in 17 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während der erneuten Daten-Ladeoperation. Der mit (2) bezeichnete zweite Pfad und der mit (4) bezeichnete vierte Pfad des Seitenpuffers 1700 entsprechen dem Vor-Lesen der Speicherzelle. Die Teilschaltungen 1730 in 17 zeigen die alternativen Werte an den ersten bis dritten Invertierern INV1 bis INV3 während der Vor-Leseoperation. Schließlich entspricht der mit (4) bezeichnete vierte Pfad des Seitenpuffers 1700 dem Strompfad, der die Speicherzelle in dem Speicherzellenfeld programmiert.
-
Bezugnehmend auf 18 wird ein Blockdiagramm beschrieben, das ein Flashspeicherelement gemäß einigen Ausgestaltungen der vorliegenden Erfindung zeigt. Insbesondere zeigt 18 eine Flashspeicherkarte 1800, die mit einem externen Host 1850 gekoppelt ist. Der Host 1850 ist über eine Schnittstelle mit der Speicherkarte 1800 verbunden. Der Host 1850 kann beispielsweise ein Computer, ein PDA, eine Kamera, ein PSP, PMP, Mobiltelefon oder dergleichen sein, ohne den Kontext der vorliegenden Erfindung zu verlassen.
-
Die Speicherkarte 1800 umfasst eine Steuereinheit 1840 und einen NAND-Flashspeicher 1830. Wie in 18 gezeigt, kann die Steuereinheit den Puffer-RAM 1860 gemäß Ausgestaltungen der vorliegenden Erfindung umfassen. Der NAND-Flashspeicher umfasst einen Einzelzwischenspeicherseitenpuffer 1820 gemäß einigen Ausgestaltungen der vorliegenden Erfindung. Die Einzelheiten des Seitenpuffers 1820 und des Puffer-RAM 1860 wurden bereits oben erläutert und brauchen daher hier nicht wiederholt zu werden.
-
Bezugnehmend auf 19 wird ein Multibit-Flashspeichersystem gemäß einigen Ausgestaltungen der vorliegenden Erfindung erläutert. Der Flashspeicher in 19 ist mit dem Flashspeicher in 1 vergleichbar mit der Ausnahme, dass der Seitenpuffer 1920 ein Drei-Bit-Seitenpuffer ist. Somit werden erste bis dritte Bits von Multibit-Daten in dem Seitenpuffer 1920 gespeichert, und das vierte Bit von Multibit-Daten wird in dem Puffer-RAM 1930 gespeichert.