-
Gegenstand der Erfindung
-
Die
vorliegende Erfindung betrifft im Allgemeinen Speichersysteme und
insbesondere Systeme und Verfahren für das präzise Lesen von Mehrbit-Flash-Speichereinrichtungen.
-
Hintergrund der Erfindung
-
Ein
Flash-Speicher ist eine Art elektronisches Speichermedium, das umgeschrieben
werden kann und den Inhalt ohne Energieverbrauch speichern kann.
Flash-Speichereinrichtungen
weisen im Allgemeinen eine Lebensdauer zwischen 100K und 300K Schreibzyklen
auf. Im Gegensatz zu dynamischen Speichereinrichtungen mit wahlfreiem
Zugriff (DRAM) und statischen Speichereinrichtungen mit wahlfreiem
Zugriff (SRAM), in denen ein einzelnes Byte gelöscht werden kann, werden Flash-Speichereinrichtungen üblicherweise
in Mehrbit-Blöcken
oder Mehrbit-Sektoren geschrieben und gelöscht. Die Flash-Speichertechnologie
entwickelte sich aus der Chiptechnologie elektrisch löschbarer
nur-Lese-Speicher, die lokal gelöscht
werden können.
Die Flash-Speichereinrichtungen sind kostengünstiger und deren Strukturen
im Vergleich zu vielen anderen Speichereinrichtungen dichter, womit
gemeint ist, dass Flash-Speichereinrichtungen eine größere Datenmenge
pro Flächeneinheit
speichern können.
Diese neue EEPROM-Gruppe bildet einen wichtigen nicht-flüchtigen
Speicher, der die Vorteile der löschbaren,
programmierbaren nur-Lese-Speicherdichte (EEPROM) mit der elektrischen
Löschbarkeit
der EEPROM kombiniert.
-
Herkömmliche
Flash-Speichereinrichtungen sind in Form einer Zellstruktur ausgebildet,
wobei ein einzelnes Informationsbit in jeder Zelle gespeichert ist.
Bei derartigen Einzelbit-Speicherarchitekturen umfasst jede Zelle üblicherweise
eine Metalloxidhalbleiterstruktur (MOS-Struktur), die ein Sourcegebiet,
ein Draingebiet und einen Kanal in einem Substrat oder einer P-Wanne,
sowie eine gestapelte Gatestruktur über einem Kanal umfasst. Das
gestapelte Gate kann des Weiteren eine dünne Gate-Dielektrikumsschicht (hin und wieder als
Schicht aus Tunneloxiden bezeichnet) umfassen, die auf der Oberfläche eines
Substrats oder P-Wanne gebildet ist. Das gestapelte Gate umfasst
des Weiteren ein Gate mit frei einstellbarem Potential (bzw. schwebendes
Gate) aus Polysilizium, das über
den Tunneloxiden liegt, und eine Interpoly-Dielektrikumsschicht über dem
schwebenden Gate. Das Interpoly-Dielektrikum ist häufig ein
Mehrschichtisolator, wie beispielsweise eine Oxid-Nitrid-Oxid Schicht
(ONO-Schicht), die zwei Oxidschichten mit einer dazwischen angeordneten
Nitridschicht umfasst. Schließlich
ist über
der interpoly-Dielektrikumsschicht ein Steuergate aus Polysilizium
angeordnet.
-
Das
Steuergate ist mit einer Wortleitung verbunden, der eine Reihe derartiger
Zellen zugeordnet ist, um in einer üblichen NOR-Konfiguration Sektoren
aus derartigen Zellen zu bilden. Zusätzlich sind die Draingebiete
der Zellen mittels einer leitenden Bitleitung miteinander verbunden.
Der Kanal der Zellen, der zwischen dem Sourcegebiet und dem Draingebiet
ausgebildet ist, leitet Strom zwischen dem Source und dem Drain
entsprechend eines elektrischen Feldes, das in dem Kanal durch eine
Spannung, die mittels einer an der gestapelten Gatestruktur befestigten
Wortleitung an die gestapelte Gatestruktur angelegt wird, gebildet
ist. Bei der NOR-Konfiguration ist jeder Drainanschluss des Transistors
innerhalb einer Spalte mit derselben Bitleitung verbunden. Zusätzlich ist
die gestapelte Gatestruktur jeder Flash-Zelle in einer Reihe mit
derselben Wortleitung verbunden. üblicherweise ist der Sourceanschluss
jeder Zelle an einen gemeinsamen Sourceanschluss angeschlossen.
In Betrieb werden einzelne Flash-Zellen über die
jeweilige Bitleitung und Wortleitung angesprochen, die einen peripheren
Decoder und eine Steuerschaltung zum Programmieren (Schreiben),
Lesen und Löschen
einer Zelle verwenden.
-
Die
Einzelbit-Flash-Speicherzelle mit gestapeltem Gate wird durch Anlegen
einer Programmierspannung an das Steuergate, Verbinden des Sourcegebiets
mit Masse und Verbinden des Draingebiets mit der Programmierspannung
programmiert. Das sich daraus ergebende und quer über den
Tunneloxiden liegende hohe elektrische Feld führt zu einem Phänomen, das
als „Fowler-Nordheim-Tunneleffekt" bekannt ist. Bei
dem Fowler-Nordheim-Tunneleffekts tunneln Elektronen in dem Kanalgebiet
durch das Gateoxid in das schwebende Gate und werden in dem schwebenden
Gate gefangen. Aufgrund der eingefangenen Elektronen erhöht sich die
Schwellspannung der Zelle. Diese Änderung in der Schwellspannung
VT (und auch des Kanalleitwertes) der Zelle, die durch die eingefangenen
Elektronen erzeugt wird, bewirkt eine Programmierung der Zelle.
-
Zur
Löschung
einer üblichen
Einzelbit-Flash-Speicherzelle mit gestapeltem Gate wird eine Spannung an
das Sourcegebiet angelegt, das Steuergate auf einem negativen Potential
gehalten, und das Draingebiet kann in einem Schwebezustand gehalten werden.
Unter diesen Voraussetzungen wird quer über den Tunneloxiden zwischen
dem schwebenden Gate und dem Sourcegebiet ein elektrisches Feld
erzeugt. Die in dem schwebenden Gate eingefangenen Elektronen strömen in die
Richtung eines Bereiches des schwebenden Gates, der über dem
Sourcegebiet liegt, und sammeln sich dort an. Die Elektronen werden
dann aus dem schwebenden Gate extrahiert und mithilfe des Fowler-Nordheim-Tunneleffekts
dem Sourcegebiet zugeführt, indem
sie durch die Tunneloxide tunneln. Die Zelle wird beim Entfernen
der Elektronen aus dem schwebenden Gate gelöscht.
-
In
herkömmlichen
Einzelbit-Flash-Speichereinrichtungen wird eine Überprüfung einer Löschung durchgeführt, um
zu bestimmen, ob jede Zelle in einem Block oder ein Zellensatz ordnungsgemäß gelöscht wurde.
Derzeitige Überprüfungsverfahren
für eine
Einzelbitlöschung
umfassen die Überprüfung einer
Bit- oder Zellenlöschung
und die Anwendung von zusätzlichen
Löschpulsen
auf einzelne Zellen, die der ersten Überprüfung nicht standhielten. Danach
wird der Löschungszustand
der Zelle erneut überprüft und der
Prozess solange wiederholt, bis die Zelle oder das Bit erfolgreich
gelöscht
wurde, oder die Zelle wird als unbrauchbar gekennzeichnet.
-
Unlängst wurden
Mehrbit-Flash-Speicherzellen eingeführt, die die Speicherung mehrerer
Informationsbits in einer einzigen Speicherzelle ermöglichen.
Derartige Speicherzellen sind beispielsweise in dem Dokument
US 6,344,994 B1 beschrieben.
Verfahren, die mit herkömmlichen
Einzelbit-Flash-Speichereinrichtungen entwickelt wurden, sind für die neuen
Mehrbit-Flash-Speicherzellen nicht besonders geeignet. So wurde beispielsweise
eine Doppelbit-Flash-Speicherstruktur eingeführt, die kein schwebendes Gate
verwendet, wie beispielsweise eine ONO-Flash-Speichereinrichtung,
die eine Polysiliziumschicht über
einer ONO-Schicht zur Ausbildung von Wortleitungsverbindungen aufweist.
In einer Doppelbit-Speichereinrichtung wird eine Seite einer Doppelbit-Speicherzelle
als ein komplementäres
Bit (CB) bezeichnet und die andere Seite der Doppelbit-Speicherzelle
als ein normales Bit (NB). Die Doppelbit-Speicherzelle verwendet eine Schicht
aus Nitrid in einem ONO-Stapel (Oxid-Nitrid-Oxid-Stapel), um eine Ladung zu speichern;
und da Nitrid kein Leiter ist, sollte sich die Ladung, die während der
Programmier- und Löschvorgänge hinzugefügt oder
entfernt wird, nicht auf andere Bereiche der Nitridschicht umverteilen.
Der Ladungsaufbau und die Leckbildung in einem Bit beeinträchtigt das
andere Bit, wodurch sich das Lese-, Programmier-, und Löschverhalten
der Zelle in darauf folgenden Zyklen ändert.
-
Schließlich verändert die
Ansammlung von Restladung oder Leckladung die effektive VT des CB
und des NB.
-
Ein
wesentliches Problem bei einem Doppelbitvorgang beruht auf einer
Verschiebung eines sich in einem leeren Zustand befindenden Lesestroms
des komplementären
Bits bei der Programmierung des normalen Bits und einer Verschiebung
des sich in einem leeren Zustand befindenden Lesestroms des normalen
Bits bei der Programmierung des komplementären Bits. Diese Verschiebung
der VT zusammen mit der Programmierung der anderen Seite wird als „CBD" oder Komplementärbitstörung bezeichnet.
Die CB- und NB-Bereiche befinden sich in der Nähe der Drain- und Sourceübergänge der
Zelle und werden während
der Programmier- und Löschvorgänge modifiziert.
Ein weiteres Problem tritt aufgrund des Ladungsverlustes nach dem
Durchlaufen eines Zyklus der Zelle auf. Eine wesentliche Herausforderung
bei Doppelbitvorgängen
liegt somit in der Kombination des Ladungsverlustes und der Komplementärbitstörung unter
den zwei Bedingungen: (1) CBD am BOL (zu Beginn eines Lebenszyklus)
und (2) Ladungsverlust nach dem Durchlaufen des Zyklus am EOL (am
Ende eines Lebenszyklus oder nach dem Ausbacken). Testdaten zeigen,
dass die CBD nahe des BOL höher
ist und die Schwellspannungsverteilungen (VT-Verteilungen) nach
dem Durchlaufen eines Zyklus und dem Ausbacken (EOL) die Programmierschwellspannung
(Programmier-VT) überlagern.
Die Überlagerung der
zwei Verteilungen verhindert ein einwandfreies Funktionieren normaler
Lese-Fühlersysteme
bei Doppelbitvorgängen.
Mit anderen Worten, kann nicht bestimmt werden, ob die Daten in
einem CB oder einem NB gleich Eins oder Null sind, da sich die VT-Verteilungen
annähern.
-
Das
Dokument
US 5,218,566 beschreibt
ein Einzelbit-Speichersystem, wobei sich eine erste Referenzzelle
in einem programmierten Zustand befindet und eine zweite Referenzzelle
in einem nicht programmierten Zustand, und wobei der Lesevorgang
auf einer Referenzspannung beruht, die durch Mitteln des programmierten
Bitwertes der ersten Referenzzelle und des nicht programmierten
Bitwertes der zweiten Referenzzelle, um einen gemittelten dynamischen
Referenzwerte zu erhalten, und durch Vergleichen des gemittelten
dynamischen Referenzwertes mit dem Lese-Bitwert einer ausgewählten Speicherzelle
erhalten wird, um zu bestimmen, ob sich die ausgewählte Speicherzelle
in einem programmierten oder nicht programmierten Zustand befindet.
-
Das
Dokument
US 6,344,994 offenbart
ein Speichersystem mit Mehrbit-Speicherzellen, die jeweils ein normales
Bit und ein komplementäres
Bit aufweisen.
-
Eine
Zusammenschau der Dokumente
US
5,218,566 und
US 6,344,994 führt zu einem
Speichersystem, bei dem die Referenzspannung durch komplementäres Programmieren
des normalen Bits und des komplementären Bits einer einzelnen Mehrbit-Referenzzelle
erhalten wird, und nicht durch Programmieren von nur einem Bit aus
der Reihe von Bits zweier Mehrbit-Referenzzellen.
-
Zusammenfassung der Erfindung
-
Gemäß einem
ersten Aspekt stellt die vorliegende Erfindung ein Mehrbit-Speichersystem
nach Anspruch 1 bereit.
-
Gemäß einem
zweiten Aspekt stellt die vorliegende Erfindung ein Verfahren zum
Auslesen von Bits in einem Array von Mehrbit-Flash-Speicherzellen
nach Anspruch 9 bereit.
-
Die
nachfolgende Beschreibung ist eine vereinfachte Zusammenfassung
zum besseren Verständnis einiger
Aspekte der Erfindung. Diese Zusammenfassung bietet keinen ausführlichen Überblick über die
Erfindung. Sie dient weder der Bestimmung von Schlüsselmerkmalen
oder wesentlichen Merkmalen der Erfindung noch soll sie den Umfang
der Erfindung einschränken.
Sie dient lediglich der Darstellung einiger Konzepte der Erfindung
in vereinfachter Form vor der eigentlichen ausführlichen Beschreibung, die
zu einem späteren
Zeitpunkt erfolgt.
-
Es
sind ein System und ein Verfahren zum richtigen Auslesen von Mehrbit-Speicherzellen in
einer Speichereinrichtung (zum Beispiel eine Flash-Speichereinrichtung) über die
Gesamtnutzungsdauer der Einrichtung bereitgestellt (zum Beispiel
100K bis 300K Programmier- und Löschzyklen).
Die vorliegende Erfindung verwendet eine erste Referenzzelle und
eine zweite Referenzzelle zur Bestimmung eines gemittelten dynamischen
Referenzwertes. Der gemittelte dynamische Referenzwert wird durch
Lesen eines programmierten Bits der ersten Referenzzelle und Lesen
eines nicht programmierten oder gelöschten Bits der zweiten Referenzzelle
bestimmt, um einen gemittelten dynamischen Referenzwert zu ermitteln.
Der gemittelte dynamische Referenzwert wird verwendet, um zu bestimmen,
ob sich Datenzellen in einem programmierten Zustand (beispielsweise
Logikwert 1) oder in einem nicht programmierten Zustand (beispielsweise
Logikwert 0) befinden. Die Leseströme der ersten Referenzzelle
und der zweiten Referenzzelle werden gemittelt, um einen gemittelten
dynamischen Referenzwert zu bestimmen. Der gemittelte dynamische
Referenzwert kann in eine Schwellspannung (VT) umgewandelt werden,
die mit einer VT eines Datenbits verglichen werden kann, um ein
programmiertes Bit von einem nicht programmierten Bit zu unterscheiden.
-
Programmier-
und Löschzyklen
werden an der Referenzzelle sowie an Datenzellen der Speichereinrichtung
durchgeführt
und in einem leeren Zustand belassen, bis die „Seite" oder das „Wort" programmiert ist. Das heißt, dass
die Referenzzellen gleich „alt" sind, da sie die
gleiche Anzahl von Zyklen aufweisen wie die Datenzellen, mit denen
die verglichen werden. Somit liefern die Referenzzellen dynamische
Referenzwerte, die den Ladungsverlust und die DBD der entsprechenden
Datenzellen rückverfolgen
können.
Der dynamische Referenzwert rückverfolgt
die Veränderung
in der Schwellspannung und die Auswirkungen, die eine Komplementärbitstörung auf
eine oder mehrere Datenzelle hat, die während eines normalen Zyklus
der Speichereinrichtung auftritt.
-
Gemäß einem
bestimmten Aspekt werden ein Bit einer ersten Referenzzelle und
ein Bit einer zweiten Referenzzelle vor dem normalen Arbeitsvorgang
programmiert. Ein programmiertes Bit der ersten Referenzzelle wird
ausgelesen, um den Ladungsverlust der Datenzellen rückzuverfolgen
und ein nicht programmiertes Bit wird aus der zweiten Referenzzelle
ausgelesen, um die CBD rückzuverfolgen,
die durch das programmierte Bit der zweiten Referenzzelle hervorgerufen
wurde.
-
Gemäß einem
weiteren Aspekt werden eine erste Referenzzelle und eine zweite
Referenzzelle mit einem Wort in einem Speicherarray verknüpft. Die
erste Referenzzelle und die zweite Referenzzelle können verwendet
werden, um festzustellen, ob die Bits in einem Wort programmiert
sind (d. h., Logikwert 1) oder nicht programmiert oder gelöscht sind
(d. h., Logikwert 0). Wahlweise können eine erste Referenzzelle
und eine zweite Referenzzelle mit Bits in einer Wortleitung verknüpft werden,
wobei eine Wortleitung mehrere Wörter umfassen
kann. Zusätzlich
können
eine erste Referenzzelle und eine zweite Referenzzelle mit einem
Sektor oder einer gesamten Speichereinrichtung in Verbindung gebracht
werden.
-
Gemäß einem
weiteren Aspekt durchlaufen Mehrbit-Flash-Speicherzellen und dazu
gehörige
Referenzarrays mit Mehrbit-Flash-Speicherzellen in dem Sektor einen
Zyklus, so dass alle Zellen in den Sektoren und dazu gehörigen Referenzarrays
gleich „alt" sind.
-
Die
dazu gehörigen
Referenzarrays umfassen ein erstes dynamisches Array und ein zweites
dynamisches Array. Eine Vergleichsschaltung vergleicht die aus einer
Zelle ausgelesenen Daten mit einem Mittelwert, der von dem ersten
dynamischen Array und dem zweiten dynamischen Array abgeleitet wurde,
um die Bits in dem Sektor nachzuweisen. Das Mehrbit-Flash-Speicherarray
lässt Mehrbitoperationen
der Flash-Speichereinrichtung
zu, indem Doppeldynamikreferenzen verwendet werden, die mit den
Mehrbit-Speicherzellen in dem Flash-Speicher einen Zyklus durchlaufen.
-
Die
nachfolgende Beschreibung und die beigefügten Zeichnungen legen bestimmte
erläuternde
Aspekte der Erfindung dar. Diese Aspekte sind bezeichnend für einige
der unterschiedlichen Möglichkeiten über die
Verwendung der Grundsätze
der Erfindung. Weitere Vorteile und neue Merkmale der Erfindung
werden angesichts der folgenden ausführlichen Beschreibung der Erfindung
in Verbindung mit den Zeichnungen offensichtlich.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt
eine Seitenquerschnittsansicht einer beispielhaften Doppelbit-Speicherzelle,
die unterschiedliche Aspekte der vorliegenden Erfindung aufweist.
-
2 zeigt
ein Blockdiagramm eines Systems, das zur Realisierung unterschiedlicher
Aspekte der Erfindung geeignet ist.
-
3 zeigt
ein schematisches Blockdiagramm einer Schaltung zur Bestimmung eines
gemittelten Schwellwertes unter Verwendung normaler Bits von zwei
Referenzzellen gemäß einem
Aspekt der vorliegenden Erfindung.
-
4 zeigt
ein schematisches Blockdiagramm einer Schaltung zur Bestimmung eines
gemittelten Schwellwertes unter Verwendung eines normalen Bits einer
ersten Referenzzelle und eines komplementären Bits einer zweiten Referenzzelle
gemäß einem
Aspekt der vorliegenden Erfindung.
-
5 zeigt
ein schematisches Blockdiagramm einer Vergleichsschaltung gemäß einem
Aspekt der vorliegenden Erfindung.
-
6 zeigt
eine Teilansicht eines 64K Sektors eines Arrays eines Doppelbit-Flashspeichers von
oben gemäß einem
Aspekt der vorliegenden Erfindung.
-
7 zeigt
eine schematische Ansicht eines Bereiches einer Reihe einer Doppelbit-Speicherzelle gemäß einem
Aspekt der vorliegenden Erfindung.
-
8 zeigt
ein schematisches Blockdiagramm eines Systems zum Lesen eines Bereiches
eines Sektors, wobei ein Referenzzellenpaar mit Wortleitungen gemäß einem
Aspekt der vorliegenden Erfindung verknüpft ist.
-
9 zeigt
ein schematisches Blockdiagramm eines Systems zum Lesen eines Bereiches
eines Sektors, wobei ein Referenzzellenpaar mit Wörtern gemäß einem
Aspekt der vorliegenden Erfindung verknüpft ist.
-
10 zeigt
ein Blockdiagramm einer Architektur eines Bereiches eines Speicherarrays
gemäß einem Aspekt
der vorliegenden Erfindung.
-
11 zeigt
ein Flussdiagramm eines Verfahrens zum Durchführen eines Lesevorgangs gemäß einem
Aspekt der vorliegenden Erfindung.
-
Ausführliche Beschreibung der Erfindung
-
Die
vorliegende Erfindung betrifft das richtige Auslesen von Mehrbit-Speicherzellen über die
Gesamtlebensdauer einer Speichereinrichtung. Die vorliegende Erfindung
verwendet eine erste Referenzzelle zur Rückverfolgung von Ladungsverlusten,
die mit Datenbits in einer Mehrbit-Speichereinrichtung in Verbindung gebracht
werden, und eine zweite Referenzzelle zur Bestimmung der Auswirkungen
einer CBD auf Datenbits in der Mehrbit-Speichereinrichtung. Programmier-
und Löschzyklen
werden an den Referenzzellen und den Speicherzellen durchgeführt, so
dass die Datenzellen und Referenzzellen gleich „alt" sind. Ein gemittelter dynamischer Referenzwert
wird bestimmt und zur Bestimmung programmierter und nicht programmierter
Datenbits verwendet. Obwohl die im Nachfolgenden beschriebene Erfindung
im Zusammenhang mit einer ONO-Doppelbit-Speicherzellenarchitektur
beschrieben ist, wobei beide Bits jeder Zelle zur Datenspeicherung verwendet
werden, sollte gewürdigt
werden, dass die Erfindung auf beide Architekturtypen und weitere
Mehrbitarchitektur-Verwendungssysteme anwendbar ist.
-
Die 1 zeigt
eine beispielhafte Doppelbitspeicherzelle 10, in der ein
oder mehrere Aspekte der Erfindung realisiert sind. Die Speicherzelle 10 umfasst
eine Siliziumnitridschicht 16, die zwischen einer oberen Siliziumdioxidschicht 14 und
einer unteren Siliziumdioxidschicht 18 angeordnet ist,
um eine ONO-Schicht 30 zu bilden. Eine Polysiliziumschicht 12 liegt über der
ONO-Schicht 30 und ist mit einer Wortleitungsverbindung zu
der Speicherzelle 10 versehen. Eine erste Bitleitung 32 verläuft unterhalb
der ONO-Schicht 30 unter einem ersten Bereich 4 und
eine zweite Bitleitung 34 verläuft unterhalb der ONO-Schicht 30 unter
einem zweiten Bereich 6. Die Bitleitungen 32 und 34 sind
aus einem leitenden Bereich 24 und einem optionalen Oxidbereich 22 gebildet.
Borkernimplantationen 20 sind an beiden Enden jeder Bitleitung 32 und 34,
an denen die Bitleitungen die untere Siliziumdioxidschicht 18 berühren, oder
entlang des gesamten Transistors ausgebildet. Die Borkernimplantationen
sind stärker
dotiert als das p-Typ Substrat und unterstützen die Steuerung der VT der
Speicherzelle 10. Die Zelle 10 befindet sich auf
einem p-Typ Substrat 9, wobei die leitenden Bereiche 24 der
Bitleitungen 32 und 34 durch N+-Arsenimplantationen
gebildet sind, so dass ein Kanal 8 zwischen den Bitleitungen 32 und 34 und
quer über
das p-Typ Substrat gebildet wird. Die Speicherzelle 10 umfasst
einen einzelnen Transistor mit auswechselbarem Source- und Drainkomponenten,
die aus den N+-Arsenimplantationsbereichen 24 gebildet
sind, die sich auf dem p-Typ Substratbereich 9 befinden,
wobei ein Gate als Teil einer Wortleitung 12 aus Polysilizium
gebildet ist.
-
Obwohl
hinsichtlich eines leitenden Bereiches 24 und eines optionalen
Oxidbereiches 22 die erste und die zweite Bitleitung 32 und 34 gezeigt
sind, sollte gewürdigt
werden, dass die Bitleitungen nur aus einem leitenden Bereich gebildet
sein können.
Obwohl des Weiteren die Siliziumnitridschicht 16 in der
Zeichnung der 1 Lücken aufweist, sollte gewürdigt werden,
dass die Siliziumnitridschicht 16 auch als einzelner Streifen oder
Schicht ohne Lücken
herstellbar ist.
-
Die
Siliziumnitridschicht 16 bilden eine Ladungsfangschicht.
Das Programmieren der Zelle erfolgt durch Anlegen von Spannungen
an das Draingebiet und das Gate, und durch Verbinden des Soucregebietes mit
Masse. Die Spannungen erzeugen elektrische Felder entlang des Kanals,
wodurch die Elektronen beschleunigt werden und von der Substratschicht 9 in
das Nitrid wandern, ein Vorgang der auch Hot-Electron-Injection
bzw. Einprägen
energiereicher Elektronen genannt wird. Da die Elektronen in dem
Draingebiet die höchste
Energie erlangen, werden diese Elektronen eingefangen und in der
Nitridschicht in der Nähe
des Draingebiets gespeichert. Die Zelle 10 ist im Allgemeinen
gleichförmig
ausgebildet und die Source- und Drainkomponenten sind auswechselbar.
Da das Siliziumnitrid nicht leitend ist, wird eine erste Ladung 26 in
das Nitrid 16 in der Nähe
eines ersten Endes des Mittelbereiches 5 eingeprägt und eine
zweite Ladung 28 in das Nitrid 16 in der Nähe eines
zweiten Endes des Mittelbereiches 5 eingeprägt. Wenn
sich die Ladung nicht bewegt, können
somit zwei Bits pro Zelle anstelle von einem Bit vorhanden sein.
-
Wie
zuvor erwähnt,
kann eine erste Ladung
26 in der Nitridschicht
16 an
dem ersten Ende des Mittelbereiches
5 und die zweite Ladung
28 an
dem zweiten Ende des Mittelbereiches
5 gespeichert werden,
so dass zwei Bits pro Speicherzelle
10 vorhanden sind.
Die Doppelbit-Speicherzelle
10 ist im Allgemeinen symmetrisch
ausgebildet, so dass die Source- und Drainkomponenten auswechselbar
sind. Somit kann bei der Programmierung des linken Bits C0 die erste
Bitleitung
32 als Drainanschluss dienen und die zweite
Bitleitung
34 als Sourceanschluss. In ähnlicher Weise kann bei der
Programmierung des rechten Bits C1 die zweite Bitleitung
34 als
Drainanschluss dienen und die erste Bitleitung
32 als Sourceanschluss.
Die Tabelle 1 zeigt einen bestimmten Spannungsparametersatz zum
Durchführen
eines Lese-, Programmier-, und einseitigen Löschvorgangs der Doppelbit-Speicherzelle
10 mit
dem ersten Bit C0 und dem zweiten Bit C1. Tabelle 1
Vorgang | Zelle | Gate | Bitleitung
0 | Bitleitung
1 | Bemerkung |
Lesen | C0 | Vcc | 0v | 1,2v | Komplementäre Spalte |
Lesen | C1 | Vcc | 1,2v | 0v | Normale
Spalte |
Programmieren | C0 | Vpp | 5–6v | 0v | energiereiches Elektron |
Programmieren | C1 | Vpp | 0v | 5–6v | energiereiches Elektron |
Einseitiges
Löschen | C0 | –3 bis –6v | 5–6v | Schwebezustand | Einprägen energiereicher Löcher |
Einseitiges
Löschen | C1 | –3 bis –6v | Schwebezustand | 5–6v | Einprägen energiereicher Löcher |
-
Es
können
unterschiedliche Ausführungsformen
einer Doppelbit-Speicherzellenarchitektur
gemäß einem
oder mehreren Aspekten der vorliegenden Erfindung ausgebildet werden.
Insbesondere ist die Erfindung auf Speichereinrichtungen anwendbar,
die beide Bits in einer Doppelbitzelle zur Speicherung von Daten
oder Information verwenden. Die Erfinder der vorliegenden Erfindung
erkannten, dass die Programmierung und Löschung eines Bits (zum Beispiel
Bit C0) in einer derartigen Zelle den Lese-, Programmier-, und Löschvorgang des
anderen zugehörigen
Bits (zum Beispiel Bit C1) beeinflusst. Beispielsweise kann die
wiederholte Programmierung des Bits C1 der Zelle 10 eine
Ansammlung von Ladung in dem Bit C0 bewirken und umgekehrt. Auch kann
die wiederholte Anwendung von Löschspannungspulsen
auf das Bit C1 eine starke Löschung
des Bits C0 bewirken. Dieses Phänomen
in dem anderen zugehörigen
Bit C0 kann wiederum zu einer Verschlechterung der Arbeitsweise
der Bits während
eines normalen Vorgangs führen
(zum Beispiel das effektive Auslesen, Schreiben/Programmieren, und/oder
Löschen
eines oder beider Bits).
-
Für die Erfinder
liegt die wesentliche Herausforderung bei Doppelbitvorgängen in
der Kombination des Ladungsverlustes und der Komplementärbitstörung unter
den zwei Bedingungen: (1) CBD am BOL (zu Beginn eines Lebenszyklus)
und (2) Ladungsverlust nach dem Durchlaufen des Zyklus am EOL (am
Ende eines Lebenszyklus oder nach dem Ausbacken). Testdaten zeigen,
dass die CBD nahe des BOL höher
ist und die VT-Verteilungen
nach dem Durchlaufen eines Zyklus und dem Ausbacken (EOL) die Programmier-VT überlagern.
Die Überlagerung
der zwei Verteilungen verhindert ein einwandfreies Funktionieren
normaler Lese-Fühlersysteme
bei Doppelbitvorgängen.
Mit anderen Worten, kann nicht bestimmt werden, ob die Daten in
einem CB oder einem NB gleich Eins oder Null sind.
-
Viele
Flashspeicher sind mit Befehlslogiksteuerungen und eingebetteten
Zustandsmaschinen ausgestattet, die automatisch komplexe Programmier-
und Löschvorgänge durchführen. Eine
statische Speichereinrichtungsmodulkomponente mit wahlfreiem Zugriff
(SRAM-Modulkomponente) kann Programme aufweisen, die zum Steuern
von Befehlslogiksteuerungsvorgängen
und eines Speichersystems mittels einer Mikrosteuerung eingebaut
sind. Diese Programme werden üblicherweise
beim Starten eines Systems in einen SRAM geladen. Zum Senden von
Steuerbefehlen von einem Prozessor zu der Befehlslogiksteuerung
und zum Austauschen der Daten, die aus einer Flash-Speichereinrichtung
gelesen oder in diese geschrieben werden, mit der Befehlslogiksteuerung
und einem Hostprozessor, kann ein Bus verwendet werden. Die eingebetteten
Zustandsmaschinen der Flasheinrichtungen erzeugen die Befehlslogiksteuerung
für detaillierte
Arbeitsvorgänge, wie
beispielsweise die unterschiedlichen einzelnen Schritte, die zum
Durchführen
der Programmier-, Lese-, und Löschvorgänge notwendig
sind. Somit soll die Zustandsmaschine den Mehraufwand (Overhead)
verringern, der für
einen Prozessor (nicht gezeigt) benötigt wird, der üblicherweise
in Verbindung mit einem den Flashspeicher enthaltenden Mikrochip
verwendet wird.
-
Die 2 zeigt
ein System 40, das zur ordnungsgemäßen Durchführung von Programmier-, Lese-, und
Löschvorgängen eines
Speicherarrays 62 verwendet wird, das die Doppelbit-Speicherzellen
der vorliegenden Erfindung aufweist. In dem vorliegenden Beispiel
umfasst das Speicherarray 62 mehrere 64K Sektoren 64.
Ein Sektor des Flash-Speicherarrays 64 umfasst
einen Speicherarraybereich 62, der all jene Speicherzellen
aufweist, die über
Wortleitungen zusammengefasst sind, die sich die gleiche Sektoradresse
teilen. Die Sektoradresse ist üblicherweise
der n-te Adressbit (z. B., 6) mit dem höchsten Stellenwert der Adressbitsignale, die
zum Adressieren einer oder mehrerer Zellen in der Speichereinrichtung
verwendet werden, wobei n ganzzahlig ist. Beipielsweise kann ein
64K Sektor 64 acht Eingaben/Ausgaben bzw. I/Os umfassen,
wobei ein I/O aus einer Reihe aus 4 Zellen oder 4 Doppelbit-Speicherzellen
mit 4 normalen Bits und 4 komplementären Bits besteht. Es sollte
gewürdigt
werden, dass das Speicherarray 62 eine beliebige Anzahl
unterschiedlicher Konfigurationen aufweisen kann, wie beispielsweise
128K Sektoren, die 8 normale Bits und 8 komplementäre Bits auf
8 Zellen umfassen. Zusätzlich
kann die Anzahl der Sektoren beliebig hoch sein, die nur durch die
Größe der Anwendung
und die Größe der Einrichtung,
die das Flash-Speicherarray 62 verwendet,
begrenzt ist.
-
Ein
erstes dynamisches Referenzarray 66 und ein zweites dynamisches
Referenzarray 68 sind mit jedem 64K Sektor 64 verknüpft. Das
erste dynamische Referenzarray 66 rückverfolgt den Ladungsverlust
von Datenbits, der mit dem Durchlaufen eines Zyklus des Sektors 64 in
Verbindung gebracht wird, und das zweite dynamische Referenzarray 68 rückverfolgt
die Auswirkungen einer CBD auf die Datenbits, die mit dem Durchlaufen
eines Zyklus des Sektors 64 in Verbindung gebracht wird.
Das erste dynamische Referenzarray 66 und das zweite dynamische
Referenzarray 68 durchlaufen mit den Datenbits eines entsprechenden
Sektors 64 einen Zyklus, so dass die Referenzarrays mit
dem entsprechenden Sektor 64 gemeinsam altem. Die Referenzarrays 66 und 68 umfassen
Referenzzellen, die mit Wörtern,
Wortleitungen oder Sektoren verknüpft sind.
-
Das
System 40 umfasst einen Adressdecoder 42, der
mit dem Flash-Speicherarray 62 zum Dekodieren von I/Os
während
unterschiedlicher Arbeitsvorgänge
verbunden ist, die auf dem Array 62 durchgeführt werden
(zum Beispiel Programmieren, Lesen, Überprüfen und Löschen). Der Adressdecoder 42 empfängt eine Adressbusinformation
von einer Systemsteuerung (nicht gezeigt) oder Ähnliches.
-
Eine
Befehlslogiksteuerungskomponente 44 umfasst eine Referenzlogikkomponente 46,
eine Referenzvergleichskomponente 48 und eine interne Zustandsmaschine 50.
Die Referenzlogikkomponente 46 ist mit dem Adressspeicherarray 62 verbunden.
Die Befehlslogiksteuerung und die Zustandsmaschine 50 empfangen
Befehle oder Instruktionen von einem Datenbus, der mit einer Systemsteuerung
oder Ähnliches
verbunden ist. Die Befehle oder Instruktionen rufen Algorithmen
auf, die in der Befehlslogiksteuerung 44 und der Zustandsmaschine 50 eingebettet
sind. Die Algorithmen führen
verschiedene Programmier-, Lese-, und Löschvorgänge, sowie Programmierungen
mit geringer Spannung (ein weiches Programmieren) und Überprüfungsverfahren
aus, die im Nachfolgenden beschrieben werden. Eine Spannungserzeugerkomponente 60 ist ebenfalls
mit dem Speicherarray 62, dem Logikbaustein 44 und
dem Zustandautomaten 50 verbunden. Die Spannungserzeugungskomponente 60 wird
von der Befehlslogiksteuerung 44 und der Zustandsmaschine 50 gesteuert.
Die Spannungserzeugungskomponente 60 dient der Erzeugung
der zum Programmieren, Lesen, Löschen,
weichen Programmieren und Überprüfen der
Speicherzellen des Speicherarrays 62 notwendigen Spannungen.
-
Während eines
Programmier- und Löschzyklus
eines Sektors, programmieren die Befehlslogiksteuerung 44 und
die Zustandsmaschine 50 die Datenbits in dem Sektor und
die Referenzbits in dem ersten Referenzarray 66 und dem
zweiten Referenzarray 68. Die Befehlslogiksteuerung 44 und
die Zustandsmaschine 50 löschen daraufhin die Datenbits
in dem Sektor und die Referenzbits in dem ersten Referenzarray 66 und
dem zweiten Referenzarray 68. Die Befehlslogiksteuerung 44 und
die Zustandsmaschine 50 programmieren daraufhin ein Bit
der Referenzzellen in dem ersten Referenzarray 66 und ein
Bit der Referenzzellen in dem zweiten Referenzarray 68.
Während
eines Lesevorgangs wird ein Datenbit beispielsweise durch Lesen
eines oder mehrerer Wörter
in einem Sektor gelesen. Die Befehlslogiksteuerung 44 und
die Zustandsmaschine 50 lesen ein programmiertes Bit aus
einer Zelle in dem ersten Referenzarray 66 und lesen ein
gelöschtes
Bit aus einer Zelle in dem zweiten Referenzarray 68. Die
Lesewerte werden der Referenzlogikkomponente 46 zur Verfügung gestellt,
die einen gemittelten Referenzwert (zum Beispiel VTAVG)
bestimmt. Der gemittelte Referenzwert wird einer Referenzvergleichskomponente 48 zur
Verfügung
gestellt. Die Referenzvergleichskomponente 48 vergleicht
den Referenzwert mit den Lesedatenbits, um zu ermitteln, ob sich
die Bits in einem programmierten Zustand oder einem nicht programmierten
Zustand befinden.
-
Die 3 zeigt
eine Schaltung 76 zur Bestimmung einer gemittelten Schwellwertspannung
(VTAVG) von zwei Doppelbit-Referenzzellen
gemäß einem
Aspekt der vorliegenden Erfindung. Eine erste Referenzzelle 70 (REF
A) umfasst ein komplementäres
Bit (CB) und ein normales Bit (NB). Das NB ist programmiert (P)
und das CB ist nicht programmiert (NP). Eine zweite Referenzzelle 72 (REF
B) umfasst ein CB und ein NB. Das CB ist programmiert (P) und das
NB ist nicht programmiert (NP). Während eines Lesevorgangs addiert
ein Addierer 76 die Leseströme des programmierten CB der
ersten Referenzzelle 70 und des nicht programmierten NB
der zweiten Referenzzelle 72. Der Addierer 76 wandelt
die Ströme
in eine Spannung um und stellt die Spannung einer gemittelten Komponente 78 zur
Verfügung.
Die gemittelte Komponente 78 kann beispielsweise ein einfacher
Spannungsteiler sein. Die gemittelte Komponente 78 stellt
dann die gemittelte Referenzschwellwertspannung VTAVG bereit.
Die VTAVG wird verwendet, um zu bestimmen,
ob ein Datenbit ein programmiertes Bit oder ein nicht programmiertes
Bit ist. Es sollte gewürdigt
werden, dass die VTAVG durch Addieren des
nicht programmierten CB der ersten Referenzzelle 70 und
des programmierten CB der zweiten Referenzzelle 72 bestimmbar
ist.
-
Die 4 zeigt
eine Schaltung 86 zur Bestimmung einer gemittelten Schwellwertspannung
(VTAVG) von zwei Doppelbit-Referenzzellen
gemäß einem
Aspekt der vorliegenden Erfindung. Eine erste Referenzzelle 80 (REF
C) umfasst ein CB und ein NB. Das NB ist programmiert (P) und das
CB ist nicht programmiert (NP). Eine zweite Referenzzelle 82 (REF
D) umfasst ein CB und ein NB. Das CB ist nicht programmiert (NP)
und das NB ist programmiert (P). Während eines Lesevorgangs addiert
ein Addierer 86 die Leseströme des programmierten NB der
ersten Referenzzelle 80 und des nicht programmierten CB
der zweiten Referenzzelle 82. Der Addierer 86 wandelt
die Ströme
in eine Spannung um und stellt die Spannung einer gemittelten Komponente 88 zur
Verfügung.
Die gemittelte Komponente 88 stellt dann die gemittelte Referenzschwellwertspannung
VTAVG bereit. Die VTAVG wird
verwendet, um zu bestimmen, ob ein Datenbit ein programmiertes Bit
oder ein nicht programmiertes Bit ist. Es sollte gewürdigt werden,
dass die VTAVG durch Addieren des nicht
programmierten CB der ersten Referenzzelle 80 und des programmierten
NB der zweiten Referenzzelle 82 bestimmbar ist. Die 3 und 4 zeigen,
dass jede geeignete Kombination eines programmierten Bits einer
Referenz mit einem nicht programmierten Bit einer anderen Referenz
zur Bestimmung der VTAVG verwendbar ist.
-
Die 5 zeigt
eine schematische Ansicht, die eine Vergleichsschaltung 90 mit
einer Datenzelle 92, einer ersten Referenzzelle 94 von
einer dynamischen Referenz A, und eine zweite Referenzzelle 96 von
einer dynamischen Referenz B darstellt. Die Datenzelle 92 weist
ein CB und ein NB auf. Die Referenzzellen 94 und 96 weisen
ebenfalls ein CB und ein NB auf. Zugehörige Durchgangsgatter 98 sind
an die CB- und NB-Seiten der Zellen 92, 94 und 96 angeschlossen.
In dem in der 5 gezeigten Beispiel werden
die Daten von der NB-Seite der Zelle 92 mit den gemittelten
Daten der NB-Seiten der dynamischen Referenzzellen 94 und 96 verglichen.
In diesem Beispiel wäre
die NB der einen Referenzzelle programmiert, während die NB der anderen Zelle
nicht programmiert wäre.
-
Wenn
die Daten der CB-Seite der Zelle 92 verglichen werden,
ist zu bedenken, dass die CB-Seite der Zellen 94 und 96 gemittelt
werden kann. Lesevorgänge
sind einfacher, wenn die CBs der Referenzzellen zum Lesen der CBs
von Datenzellen und die NBs der Referenzzellen zum Lesen der NBs
von Datenzellen verwendet werden. Die Ausgabewerte der Durchgangsgatter 98 werden
in jeweilige Kaskodenverstärker 100 eingegeben.
Der Ausgabewert des Kaskodenverstärkers 100, der dem
NB der ersten Referenzzelle 94 und dem NB der zweiten Referenzzelle
entspricht, wird einem Gerät
zur Ermittelung von Mittelwerten 102 zur Verfügung gestellt.
Das Gerät
zur Ermittelung von Mittelwerten 102 bildet einen Mittelwert,
der einem Mittel eines programmierten Bits und eines nicht programmierten
Bits entspricht. Der Ausgabewert des Geräts zur Ermittelung von Mittelwerten 102 wird
einem Differenzfühlerverstärker 104 zur
Verfügung
gestellt, der mit dem Ausgabewert der Kaskode, die dem NB der Datenzelle 92 entspricht,
verglichen wird. Der Differenzfühlerverstärker 104 bildet
einen Ausgabewert je nachdem, ob sich das NB der Datenzelle 92 in
einem programmierten Zustand oder einem nicht programmierten Zustand
befindet.
-
Die 6 zeigt
einen Teil einer Speicherzelle von oben bzw. eine Draufsicht eines
Beispiels eines 64K Blocks 120. Das vorliegende Beispiel
ist mit Bezug auf einen 64K Block einer 16 Bit I/O beschrieben.
Es sollte gewürdigt
werden, dass die Blöcke
8 Bit, 32 Bit, 64 Bit oder mehr I/Os aufweisen können und nicht auf 64K Blöcke (zum
Beispiel 128K, 256K) beschränkt
sind. Der 64K Block 120 kann ein Sektor oder ein Bereich
eines Sektors sein. Beispielsweise können ein oder mehrere Blöcke, deren
Kontakte gemeinsame Metallbitleitungen verbinden, einen Sektor bilden.
Ein gestapelter ONO-Steifen
oder eine gestapelte ONO-Schicht 122 erstreckt sich über eine
Länge des
Speicherarrays und umfasst den Block 120. Der Block 120 umfasst
16 I/Os oder Spaltengruppen 126. Jedes „Wort" oder I/O-Gruppe umfasst acht Transistoren
oder acht normale Bits und acht komplementäre Bits. Jeder I/O umfasst
eine Wortleitung aus Polysilizium 124 zum Adressieren der
Zellenreihen. Mehrere Bitleitungen erstrecken sich unterhalb der
gestapelten ONO-Streifenschicht 122, um ein Lesen, Schreiben
und Löschen
einzelner Bits der Speicherzellen zu ermöglichen. Jede Bitleitung ist
mit einem ersten Kontakt 128 und Metallbitleitungen (nicht
gezeigt) an einem Ende einer Gruppe aus 16 Reihen und mit einem zweiten
Kontakt 130 an dem anderen Ende der Gruppe verbunden. In
dem Beispiel der 6 sind fünf Bitleitungen gezeigt, so
dass eine Bitleitung mit einem Ende eines jeden zweiten Transistors
in einer Spalte gekoppelt ist, und es werden zwei ausgewählte Transistoren
verwendet, um zwischen vier Bits von zwei Transistoren zum Lesen,
Schreiben und Löschen
zu wählen.
-
Die
7 zeigt
ein schematisches Diagramm zum Adressieren der ersten vier Doppelbit-Speicherzellen in
einer Reihe unter Verwendung von Auswahltransistoren und drei Bitleitungen
zum Lesen, Schreiben und Löschen
von Bits. Eine erste Doppelbit-Speicherzelle
142 umfasst
ein erstes Bit C0 und ein zweites Bit C1, eine zweite Doppelbit-Speicherzelle
144 umfasst
ein erstes Bit C2 und ein zweites Bit C3, eine dritte Doppelbit-Speicherzelle
146 umfasst
ein erstes Bit C4 und ein zweites Bit C5 und eine vierte Doppelbit-Speicherzelle
148 umfasst
ein erstes Bit C6 und ein zweites Bit C7. Die vier Doppelbit-Speicherzellen
können
ein 8 Bit-Wort bilden. Ein Auswahlgate
150 (Sel0) und ein
Auswahlgate
152 (Sel1) sind bereitgestellt, um ein Lesen,
Schreiben und Löschen
der Bits C0, C1 der Doppelbit-Speicherzelle
142 und der
Bits C2, C3 der Doppelbit-Speicherzelle
144 zu ermöglichen.
Ein Auswahlgate
154 (Sel2) und ein Auswahlgate
156 (Sel3)
sind bereitgestellt, um ein Lesen, Schreiben und Löschen der
Bits C4, C5 der Doppelbit-Speicherzelle
146 und der Bits
C6, C7 der Doppelbit-Speicherzelle
148 zu
ermöglichen.
Ein erster Schalter
158 ist mit einer ersten Bitleitung
BL0 verbunden, ein zweiter Schalter
160 ist mit einer zweiten
Bitleitung BL1 verbunden und ein dritter Schalter
162 ist
mit einer dritten Bitleitung BL2 verbunden. Der erste, der zweite
und der dritte Schalter koppeln die entsprechenden Bitleitungen
zwischen der Versorgungsspannung (VDD) und Masse (GND). Jedes Bit
der Doppelbit-Speicherzellen kann, wie in der nachfolgenden Tabelle
2 gezeigt, durch Bereitstellen unterschiedlicher Spannungskonfigurationen
gelesen werden. In dem Beispiel der
7 wird eine
Zelle C0 der Doppelbit-Speicherzelle
142 gelesen. Tabelle 2
Zelle | WL | A | B | C | Sel0 | Sel1 | Sel2 | Sel3 | BL0 | BL1 | BL2 |
C0 | Vgate | H | L | X | L | H | L | L | GND | VD | X |
C1 | Vgate | L | H | X | L | H | L | L | VD | GND | X |
C2 | Vgate | H | L | X | H | L | L | L | GND | VD | X |
C3 | Vgate | L | H | X | H | L | L | L | VD | GND | X |
C4 | Vgate | X | H | L | L | L | L | H | X | GND | VD |
C5 | Vgate | X | L | H | L | L | L | H | X | VD | GND |
C6 | Vgate | X | H | L | L | L | H | L | X | GND | VD |
C7 | Vgate | X | L | H | L | L | H | L | X | VD | GND |
-
Die 8 zeigt
ein System 170 zum Lesen eines Bereichs eines Sektors einer
Zelle 172 gemäß einem Aspekt
der vorliegenden Erfindung. Der Sektor 172 ist ein Array
aus Doppelbitzellen, wie beispielsweise Zelle 180. Das
System 170 umfasst eine Bitleitungssteuerung 174 und
eine Wortleitungssteuerung 176, die die I/Os während unterschiedlicher
Vorgänge,
die auf dem Sektor 172 durchgeführt werden (zum Beispiel Programmieren,
Lesen, Überprüfen, Löschen),
decodieren. Die Bitleitungssteuerung 174 und Wortleitungssteuerung 176 empfangen
eine Adressbusinformation von einer Systemsteuerung (nicht gezeigt)
oder Ähnliches.
Doppelbit-Speicherzellen, wie beispielsweise Zellen 180,
sind in Form von M-Reihen und N-Spalten ausgebildet. Eine gemeinsame
Wortleitung ist an das Gate jeder Zelle in einer Reihe angeordnet,
wie beispielsweise Wortleitungen WL0, WL1, WL2 bis WLM. Eine gemeinsame
Bitleitung ist an das Gate jeder Spalte angeordnet, wie beispielsweise
Bitleitungen BL0, BL1 bis BIN. Eine erste dynamische Referenzspeicherzelle 182 (REF
A) und eine zweite dynamische Referenzspeicherzelle 184 (REF
B) sind mit jeder Wortleitung verknüpft. Eine Wortleitung kann
zum Beispiel 1000 Bits umfassen, die Mehrfachwörter bilden, und ein Sektor
kann zum Beispiel 512 Wortleitungen umfassen, um einen 512K Bitspeicher
zu bilden. Die erste dynamische Referenzspeicherzelle 182 und
die zweite dynamische Referenzspeicherzelle 184, die mit
einer Wortleitung in Verbindung gebracht werden, werden während dem
Lesen der Bits verwendet, die in den Wörtern oder Mehrfachwörtern einer
entsprechenden Wortleitung enthalten sind. Dies ermöglicht Änderungen
im Prozessablauf, die mit Datenzellen in einer Wortleitung verknüpft sind,
die sich in den entsprechenden Referenzzellen zeigen.
-
Die 9 zeigt
ein System 190 zum Lesen eines Zellensektors 191 gemäß einem
Aspekt der vorliegenden Erfindung. Der Zellensektor 191 umfasst
einen Datensektorbereich 192, einen dynamischen A-Referenzbereich 194,
und einen dynamischen B-Referenzbereich 196, wobei der
dynamische A-Referenzbereich 194 und der dynamische B-Referenzbereich 196 ein
Referenzarray bilden. Der dynamische A-Referenzbereich 194 und
der dynamische B-Referenzbereich 196 bilden einzelne Referenzen,
die mit Wörtern
in einer Wortleitung in Verbindung gebracht werden, so dass jedes
Wort mit entsprechenden Referenzen versehen ist. Obwohl die Referenzarrays
als getrennte Strukturen dargestellt sind, können die Referenzzellen innerhalb
des Datensektorbereiches 192 miteinander verflochten sein.
-
Der
Sektor 192 umfasst N-Zellen. Es sollte gewürdigt werden,
dass die Sektoren in einem Speicherarray eine sehr unterschiedliche
Anzahl von Zellen aufweisen. Der dynamische A-Referenzbereich 194 und der
dynamische B-Referenzbereich 196 weisen jeweils P-Zellen
auf. Der Sektor 192 umfasst mehrere Doppelbit-Datenzellen 200,
wobei der dynamische A-Referenzbereich 194 mehrere Doppelbit-Datenzellen 202 und der
dynamische B-Referenzbereich 196 mehrere Doppelbit-Datenzellen 204 umfasst.
Die Datenzellen 200 und die entsprechenden Referenzzellen 203 und 204 in
einem Array sind mit gemeinsamen Wortleitungen verbunden, wie beispielsweise
WL0, WL1 bis WLM in einer Reihe, und mit gemeinsamen Bitleitungen
BL0 bis BIN in dem Sektor 192, BL0 bis BLP in dem dynamischen
A-Referenzbereich 194 und BL0 bis BLP in dem dynamischen
B-Referenzbereich 196. Es sollte beachtet werden, dass
sowohl die Doppelbitzellen in den Sektoren 192 als auch
die Referenzarrays 194 und 196 gemeinsame Wortleitungen
aufweisen. Eine Steuerung/Ein Decoder 206 steuert die Spannungen
der einzelnen Bitleitungen und eine Wortleitungssteuerung 200 steuert
die Spannungen der einzelnen Wortleitungen. Die Bitleitungen in
dem Sektor 1 mündet
in eine I/O 202. Daten aus der I/O 202 und der
dynamischen Referenzbereiche A und B werden mithilfe einer Reihe
Durchgangsgatter 204 gesteuert.
-
Die 10 zeigt
eine Übersicht
einer Architektur eines Bereiches eines Speicherarrays 210,
das gemäß der vorliegenden
Erfindung gefertigt wurde, und zeigt einen ersten Sektor 212 mit
einem zugehörigen
Referenzarray 214, einen zweiten Sektor 216 mit
einem zugehörigen
Referenzarray 218, bis zu einem Sektor R220 mit einem zugehörigen Referenzarray 222.
Es sollte gewürdigt
werden, dass sich die Reihenfolge der Sektoren mit dem Speicherarray 210 ändern kann,
das Sektoren mit einer vertikalen Struktur sowie einer horizontalen
Struktur aufweist. In dem Bereich des Speicherarrays 210 kann
ein Referenzarray eine erste Referenz und eine zweite Referenz aufweisen,
die mit einem Wort, einer Wortleitung oder einem gesamten Sektor verknüpft sind.
Ein programmiertes Bit der ersten Referenz und ein nicht programmiertes
Bit der zweiten Referenz werden zur Bestimmung eines Mittelschwellwertes
verwendet, der wiederum zum Lesen von Datenbits in dem zugehörigen Sektor
verwendet wird.
-
Angesichts
der zuvor beschriebenen strukturellen und funktionellen Merkmale,
wird ein Verfahren gemäß unterschiedlicher
Aspekte der vorliegenden Erfindung mit Bezug auf die 11 dem
besseren Verständnis
halber beschrieben. Während
der Einfachheit halber das Verfahren der 11 gezeigt
ist und in Form aufeinander folgender Arbeitsschritte beschrieben
wird, ist die vorliegende Erfindung selbstverständlich nicht auf die gezeigte
Reihenfolge beschränkt,
da einige Aspekte gemäß der vorliegenden
Erfindung in unterschiedlicher Reihenfolge und/oder gleichzeitig
mit weiteren Aspekten als den hierin gezeigten und beschriebenen durchführbar sind.
Außerdem
sind nicht alle gezeigten Merkmale notwendig, um ein Verfahren gemäß einem Aspekt
der vorliegenden Erfindung zu realisieren.
-
Die 11 zeigt
ein bestimmtes Verfahren zur Durchführung eines Lesevorgangs eines
oder mehrerer Datenbits einer Mehrbit-Speicherzellenstruktur gemäß einem
Aspekt der vorliegenden Erfindung. Das Verfahren beginnt bei dem
Schritt 300, bei dem eine Programmier- und Löschroutine
ausgeführt
wird. Die Programmier- und Löschroutine
programmiert die Datenbits und Referenzbits in einem Speicherbereich.
Der Speicherbereich kann einen Sektor, einen Block oder eine gesamte
Speichereinrichtung umfassen. Die Programmier- und Löschroutine
löscht
dann die Datenbits und Referenzbits. Das Verfahren führt dann
zu Schritt 310. Bei dem Verfahrensschritt 310 wird
ein erstes Bit der Referenzzellen eines Referenzzellenpaares programmiert. Die
Referenzzellen umfassen eine erste Referenzzelle und eine zweite
Referenzzelle, die einem Wort, einer Wortleitung oder einem gesamten
Sektor entsprechen. Die erste Referenzzelle rückverfolgt den Ladungsverlust
eines programmierten Bits aufgrund von Programmier- und Löschzyklen
einer Mehrbit-Speicherzellenstruktur mit der Zeit. Die zweite Referenzzelle
rückverfolgt
die Auswirkungen einer CBD auf ein nicht programmiertes oder eine
gelöschtes
Bit einer Speicherzelle der Mehrbit-Speicherzellenstruktur mit der Zeit.
Das Verfahren fährt
dann mit dem Schritt 320 zum Starten eines normalen Arbeitsablaufs
fort.
-
Während des
normalen Betriebs werden Schreibevorgänge durchgeführt, um
die Datenbits der Speicherzellen der Mehrbit-Speicherzellenstruktur
in einen programmierten Zustand oder einen nicht programmierten
Zustand zu versetzen. Beispielsweise können Schreibevorgänge durchgeführt werden,
um einen gesamten Sektor, einen Block oder eine Struktur zur Durchführung bestimmter
Programmfunktionen zu programmieren. Zusätzlich können einige Bereich während des
Betriebs der Einrichtung, die die Mehrbit-Speicherzellenstruktur
enthält,
programmiert werden, so dass zusätzlich
zu den Programmroutinen Daten in der Speicherstruktur gespeichert
werden können.
Das Verfahren fährt
dann mit dem Schritt 330 fort, um zu bestimmen, ob eine
Leseabfrage aufgerufen wurde.
-
Wenn
keine Leseabfrage aufgerufen wurde (NEIN), kehrt das Verfahren zu
dem Schritt 320 zurück, um
den normalen Betrieb fortzusetzen. Wurde eine Leseabfrage aufgerufen
(JA), fährt
das Verfahren mit dem Schritt 340 fort. In dem Schritt 340 werden
Leseströme
aus einem programmierten Bit einer ersten Referenzzelle und einem
gelöschten
oder nicht programmierten Bit einer zweiten Referenzzelle gelesen.
Wie zuvor beschrieben, rückverfolgt
das programmierte Bit den Ladungsverlust der Mehrbit-Speicherzellenstruktur
mit der Zeit und das nicht programmierte Bit rückverfolgt die Auswirkungen
einer CBD auf ein nicht programmiertes Bit der Mehrbit-Speicherzellenstruktur
mit der Zeit. Bei dem Schritt 350 wird ein gemittelter
Schwellwert bestimmt, der die Leseströme des programmierten Bits
der ersten Referenzzelle und des nicht programmierten Bits der zweiten
Referenzzelle verwendet. Der gemittelte Schwellwert kann ein gemittelter
Lesestrom sein oder in eine gemittelte Schwellwertspannung umgewandelt
werden.
-
Bei
dem Schritt 360 werden ein oder mehrere Bits aus der Mehrbit-Speicherzellenstruktur
gelesen. Beispielsweise können
ein Wort, mehrere Wörter
oder ein Sektor gelesen werden. Bei dem Schritt 370 wird ein
Bit einer Datenzelle mit dem gemittelten Schwellwert verglichen.
Das Verfahren fährt
dann mit dem Schritt 380 fort, um zu bestimmen, ob das
Bit programmiert oder nicht programmiert ist. Ein Bit, das beispielsweise einen
Lesewert aufweist, der über
dem gemittelten Schwellwert liegt, wird als programmiertes Bit angesehen, während ein
Bit, das einen Lesewert aufweist, der unter dem gemittelten Schwellwert
liegt, als nicht programmiertes Bit angesehen wird. Das Verfahren
wiederholt den Vergleichsschritt 370 und den Bestimmungsschritt 380 für die verbleibenden
Bits, die gelesen werden. Wahlweise können der Vergleichsschritt 370 und
der Bestimmungsschritt 380 gleichzeitig für Bits in
einem Wort, einer Wortleitung oder einem Sektor durchgeführt werden.
-
Die
zuvor beschriebene Beschreibung umfasst Beispiele der vorliegenden
Erfindung. Es ist selbstverständlich
nicht möglich,
jede erdenkliche Kombination oder jedes erdenkliche Verfahren zu
Beschreibungszwecken der vorliegenden Erfindung zu erwähnen, wobei
es jedoch für
einen Fachmann offensichtlich ist, dass viele weitere Kombinationen
und Abänderungen
der vorliegenden Erfindung möglich
sind. Dem gemäß versucht
die vorliegende Erfindung alle Änderungen,
Modifikationen und Variationen abzudecken, die in den Bereich der
beigefügten
Ansprüche
fallen. Des Weiteren wird die in der ausführlichen Beschreibung oder
den Ansprüchen
verwendete Bezeichnung "beinhalten" in ähnlicher
Weise wie die Bezeichnung „umfassen" verwendet, in gleicher
Weise wie „umfassen" zu interpretieren
ist, wenn es als verbindender Begriff in einem Anspruch verwendet
wird.