-
Die
Erfindung betrifft ein Arbeitsverfahren für eine integrierte Schaltung
umfassend einen Speicher aufweisend einen ersten Schwellwert, der
einen ersten Programmierzustand verkörpert, und einen zweiten Schwellwert,
der einen zweiten Programmierzustand verkörpert.
-
Die
Erfindung betrifft des Weiteren eine integrierte Schaltung, die
zur Durchführung
des Verfahrens eingerichtet ist, sowie ein Verfahren zum Bestimmen
eines Arbeitspunktes einer solchen integrierten Schaltung.
-
Herkömmliche
integrierte Schaltungen mit einem Speicher weisen eine Vielzahl
nicht-flüchtiger Speicherzellen
auf, wobei eine darin gespeicherte Ladung einen Programmierzustand
verkörpert.
-
Eine
Herausforderung beim Betrieb integrierter Schaltungen mit einem
Speicher mit einer Mehrzahl von Schwellwerten ist das effiziente
Programmieren und Auslesen der einzelnen Programmierzustände. Einzelne
Programmier- und Leseoperationen sollen möglichst effizient durchgeführt werden,
um zum Einen den Stromverbrauch der integrierten Schaltung zu vermindern
und zum Anderen ihre Arbeitsgeschwindigkeit zu erhöhen. Darüber hinaus sollen
sie einen fehlerfreien Betrieb der integrierten Schaltung sicherstellen.
-
Die
vorliegende Erfindung betrifft die oben genannten Herausforderungen.
Insbesondere beschreibt sie integrierte Schal tungen und Arbeitsverfahren
für integrierte
Schaltungen, die einen sicheren und effizienten Betrieb einer integrierten
Schaltung mit einer Mehrzahl von Schwellwerten gestattet.
-
Weitere
Einzelheiten und Vorteile der vorliegenden Erfindung werden unter
Bezugnahme auf die im Folgenden beschriebenen Ausführungsbeispiele näher erläutert. Die
Ausführungsbeispiele
werden anhand von Figuren verdeutlicht.
-
1 zeigt
eine schematische Darstellung einer integrierten Schaltung gemäß einer
ersten Ausgestaltung.
-
2A zeigt
eine schematische Darstellung von Spannungen, die während einer
ersten Folge von Arbeitsschritten bereitgestellt werden.
-
2B zeigt
eine schematische Darstellung von Spannungen, die während einer
zweiten Folge von Arbeitsschritten bereitgestellt werden.
-
2C zeigt
eine schematische Darstellung eines ersten Schwellwertes und eines
zweiten Schwellwertes einer ersten Speicherzelle.
-
2D zeigt
eine schematische Darstellung eines ersten Schwellwertes und eines
zweiten Schwellwertes einer zweiten Speicherzelle.
-
2E zeigt
das Verhältnis
zwischen dem ersten Schwellwert und dem zweiten Schwellwert der ersten
und der zweiten Speicherzelle gemäß der 2C und 2D.
-
3 zeigt
ein Ablaufdiagramm einer Ausgestaltung eines ersten Arbeitsverfahrens
für eine
integrierte Schaltung.
-
4 zeigt
eine integrierte Schaltung mit einer Matrix von Speicherzellen gemäß einer
weiteren Ausgestaltung.
-
5 zeigt
eine integrierte Schaltung mit einer Speicherzelle gemäß einer
weiteren Ausgestaltung.
-
6 zeigt
ein Ablaufdiagramm einer Ausgestaltung eines Arbeitsverfahrens für eine integrierte
Schaltung.
-
7 zeigt
ein Ablaufdiagramm einer Ausgestaltung eines Verfahrens zum Bestimmen
eines Arbeitspunktes einer integrierten Schaltung.
-
1 zeigt
eine schematische Darstellung einer integrierten Schaltung 100.
Die integrierte Schaltung 100 beinhaltet eine Steuerschaltung 110 und
einen Speicher 120. Die Steuerschaltung 110 steuert
den Speicher 120 mittels drei Programmierleitungen 160, 162 und 164 an.
Die Steuerschaltung 110 ist dazu eingerichtet, verschiedene
Aspekte des Betriebs des Speichers 120 mittels des Anlegens
von verschiedenen Spannungen an die Programmierleitungen 160, 162 und 164 zu
steuern.
-
Der
Speicher 120 beinhaltet wenigstens eine Speicherzelle 130.
Bei der Speicherzelle 130 kann es sich beispielsweise um
eine so genannte Nitrid-Nur-Lese-Speicherzelle (NROM) handeln, also eine
Art nicht-flüchtige
Speicherzelle. Alternativ kann es sich bei der Speicherzelle 130 auch
um eine andere Art von flüchtigen
oder nicht-flüchtigen
Speicher, beispielsweise so genannten SONOS-Speicher (Semiconductor-Oxide-Nitride-Oxide-Semiconductor), EFRAM
(Ferro-electric), MRAM (Magneto-resistive RAM), PCM (Phase Change
Memory) oder jede andere bekannte Art von Speicherzelle handeln,
deren Programmierzustand mittels eines Schwellwertes bestimmt wird.
-
In
der in der 1 dargestellten Ausgestaltung
ist nur eine einzelne Speicherzelle 130 dargestellt. Andere
Ausgestaltungen und Implementierungen können jedoch eine Vielzahl von
Speicherzellen und zugehöriger
Auswahlschaltungen enthalten. Insbesondere kann der Speicher 120 Tausende,
Millionen oder Milliarden von Speicherzellen beinhalten, die in
einer regelmäßigen Struktur
angeordnet und mittels einer eindeutigen Adresse adressierbar sind.
-
In
der 1 enthält
die Speicherzelle 130 ein so genanntes P-Typ-Halbleitersubstrat 132.
Das Halbleitersubstrat 132 enthält einen N+-Typ Sourcebereich 134 und
einen N+-Typ Drainbereich 136. Der Sourcebereich 134 ist
in einen linken Teil des in der 1 dargestellten
Halbleitersubstrates 132 eingebettet, während der Drainbereich 132 in
einen rechten Teil des Halbleitersubstrates 132 eingebettet
ist. Der Sourcebereich 134 und der Drainbereich 136 können durch
Dotieren des Halbleitersubstrates 132 mit einem geeigneten
Dotiermaterial im linken und rechten Bereich hergestellt werden.
-
Sofern
gleiche Dotierungsmittel im Sourcebereich 134 und im Drainbereich 136 verwendet
werden, wie dies in der 1 dargestellt ist, werden vergleichbare
PN-Übergänge zwischen
dem Halbleitersubstrat 132 und dem Sourcebereich 134 beziehungsweise
dem Drainbereich 136 in der Speicherzelle 130 hergestellt.
-
Es
sollte beachtet werden, dass durch die Verwendung einer gleichen
Konzentration und eines gleichen Typs eines Dotierungsmittels in
dem Sourcebereich 134 und in dem Drainbereich 136 eine symmetrische
Struktur in dem Halbleitersubstrat 132 hergestellt wird.
Infolgedessen können
die Begriffe „SOURCE" und „DRAIN", die in der 1 dargestellt sind,
willkürlich
dem linken und dem rechten Teil des Halbleitersubstrats 132 zugeordnet
werden. Im Rahmen dieser Anmeldung werden diese Begriffe ausschließlich dazu
verwendet, eine Unterscheidung der Bereiche 134 und 136 zu
erleichtern. Nichtsdestotrotz bedeuten sie nicht eine bestimmte
Richtung eines Stromflusses durch die Speicherzelle 130.
Im Allgemeinen können
andere Speicherzellen symmetrische oder asymmetrische Halbleiterstrukturen
enthalten, deren Zugriff von deren jeweiligen spezifischen Struktur
abhängt.
-
Die
in der 1 dargestellte Speicherzelle 130 beinhaltet
des Weiteren eine erste Isolierschicht 140, die auf dem
Halbleitersubstrat 132 angeordnet ist. Beispielsweise kann
die erste Isolierschicht 140 eine Oxidschicht wie beispielsweise
Siliziumdioxid enthalten. Auf der ersten Isolierschicht 140 ist
eine Ladungsfallenschicht 142 angeordnet. Die Ladungsfallenschicht 142 enthält beispielsweise
eine Nitridschicht. Auf der Ladungsfallenschicht 142 ist
eine zweite Isolierschicht 144 angeordnet. Die zweite Isolierschicht 144 kann ähnlich wie
die erste Isolierschicht 140 ausgestaltet sein. Zum Beispiel
kann die zweite Isolierschicht 144 eine Oxidschicht wie
beispielsweise eine Siliziumdioxidschicht enthalten. Auf der zweiten
Isolierschicht 144 ist ein Steuergatter 146 angeordnet.
Das Steuergatter 146 kann eine elektrisch leitende Schicht
umfassen. Beispielsweise kann eine metallische oder ein polykristalline
Schicht auf der zweiten Isolierschicht 144 gebildet werden.
-
In
der in 1 dargestellten Ausgestaltung ist der Sourcebereich 134 mittels
der ersten Programmierleitung 160 mit der Steuerschaltung 110 verbunden.
Das Steuergatter 146 ist mittels der zweiten Programmierleitung 162 mit
der Steuerschaltung 110 verbunden. Der Drainbereich 146 ist
mittels der dritten Programmierleitung 164 mit der Steuerschaltung 110 verbunden.
-
Die
Steuerschaltung 110 kann dazu verwendet werden, ein elektrisches
Potenzial mittels der zweiten Programmierleitung 162 an
das Steuergatter 146 anzulegen. Beispielsweise kann die
Dichte von negativen Ladungsträgern,
das heißt
Elektronen, im oberen Bereich des Substrates 132 erhöht werden, wenn
ein positives Spannungsniveau an das Steuergatter 146 angelegt
wird. Infolgedessen kann ein teilweise leitfähiger Kanal 138 in
dem Halbleitersubstrat 132 zwischen dem Sourcebereich 134 und
dem Drainbereich 136 ausgebildet werden. In diesem Zustand
hängt ein
Stromfluss von dem Sourcebereich 134 zu dem Drainbereich 136 im
Wesentlichen von der Leitfähigkeit
des ersten PN-Übergangs
zwischen dem Sourcebereich 134 und dem teilweise leitfähigen Kanal 136 und
dem zweiten PN-Übergang
zwischen dem teilweise elektrisch leitfähigen Kanal 138 und
dem Drainbereich 136 ab.
-
Um
die in der 1 dargestellte Speicherzelle 130 dazu
zu verwenden, einen Programmierzustand zu speichern, der ein oder
mehrere Bits digitaler Daten verkörpert, kann elektrische Ladung
in einem linken Bereich 148 oder in einem rechten Bereich 150 der
Ladungsfallenschicht 142 eingefangen werden. Falls beispielsweise
eine negative Ladung in dem linken Bereich 148 der Speicherzelle 130 eingefangen
wird, wird ein elektrisches Feld, das durch eine positive elektrische
Ladung auf dem Steuergatter 146 erzeugt wird, in einem
Bereich in der Nähe des
linken PN-Übergangs
bei dem Sourcebereich 134 abgeschirmt. Falls eine negative
Ladung in dem rechten Bereich 150 der Ladungsfallenschicht 142 gespeichert
ist, wird das elektrische Feld im Bereich des rechten PN-Übergangs
in der Nähe
des Drainbereiches 136 beeinflusst. Mit anderen Worten
kann ein erster und ein zweiter Schwellwert der Speicherzelle 130 durch
das Speichern einer elektrischen Ladung in dem linken Bereich 148 und
dem rechten Bereich 150 der Nitridschicht 142 verändert werden.
-
Die
Auswirkung der lokalisierten Speicherung von Ladung in der Ladungsfallenschicht 142 wird
dazu verwendet, zwei logische Werte in der Speicherzelle 130 zu
speichern. Zur Vereinfachung der nachfolgenden Erklärungen werden
diese im Folgenden als „linkes
Bit" beziehungsweise „rechtes
Bit" bezeichnet.
In dem beschriebenen Beispiel wird nur jeweils ein Datenbit in dem
Bereich 148 und dem Bereich 150 gespeichert.
-
Weitere
Ausgestaltungen können
auch dazu eingerichtet sein, mehr als ein Bit an Informationen in jedem
Bereich einer Ladungsfallen- oder Ladungsspeicherschicht zu speichern.
Zum Beispiel können zwei
Bits Informationen in jeweils dem linken Bereich 148 und
dem rechten Bereich 150 gespeichert werden. Vier unterschiedliche
Schwellwerte können
mittels unterschiedlicher Mengen von in dem linken Bereich 148 beziehungsweise
dem rechten Bereich 150 gespeicherten Ladung unterschieden
werden. In diesem Fall kann die Speicherzelle 130 bis zu
vier Bits von Daten insgesamt speichern.
-
Programmier-
und Ausleseoperationen für eine
so genannte Twinbit-Speicherzelle werden im Folgenden unter Bezugnahme
auf die 2A näher erläutert. Innerhalb der nachfolgenden Beschreibung wird
der Ausdruck „Twinbit-Speicherzelle" verwendet, um eine
Speicherzelle zu bezeichnen, in der wenigstens zwei unterschiedliche
Schwellwerte, von denen jeder Schwellwert einen Programmierzustand mit
einem oder mehreren Bits Daten verkörpert, mit unterschiedlichen
Betriebsarten der Speicherzelle verbunden ist. Das unter Bezugnahme
auf die 2A beschriebene Beispiel beinhaltet
das Messen eines Vorwärts-
und eines Rückwärtsstroms durch
den teilweise leitfähigen
Kanal 138 unter der Nitridschicht einer NROM- oder SONOS-Zelle.
Andere Betriebsarten können
beispielsweise ein Anlegen unterschiedlicher Schwellspannungen oder
Ladungsniveau an eines oder mehrere Anschlüsse der Speicherzelle, ein
Messen von Schwellwertströmen oder
Spannungen in unterschiedlichen Bereichen oder an unterschiedlichen
Anschlüssen
der Speicherzelle oder weitere Mittel zum Unterscheiden unterschiedlicher
Schwellwerte einer einzelnen Speicherzellenstruktur beinhalten.
Selbstverständlich können auch
mehr als zwei unterschiedliche Schwellwerte unterschieden werden,
falls die Speicherzelle mehr als zwei Betriebsarten aufweist. Beispielsweise
können
bei einer Speicherzelle die vier Anschlussbereiche auf vier verschiedenen
Seiten einer im Wesentlichen planaren Struktur vier unterschiedliche
Schwellwerte von links nach rechts, rechts nach links, von vorne
nach hinten und von hinten nach vorne gemessen werden.
-
2A zeigt
eine Sourcespannung VS und eine Drainspannung
VD, die an die erste Programmierleitung 160 beziehungsweise
die dritte Programmierleitung 164 angelegt werden. Die
in der 2A dargestellten Spannungen
werden während
drei aufeinander folgenden, durch die Steuerschaltung 110 kontrollierte
Phasen bereitgestellt.
-
In
einer ersten Phase 210 wird das rechte Bit der Speicherzelle 130 dadurch
programmiert, dass ein ihm zugeordneter erster Schwellwert verändert wird.
In der ersten Phase 210 werden Ladungsträger in dem
rechten Bereich 150 der Ladungsfallenschicht 142 injiziert.
In einer zweiten Phase 212 wird der erste Schwellwert der
Speicherzelle 130 detektiert. In einer dritten Phase 240 wird
der erste Schwellwert erneut verändert,
in einer ähnlichen
Art und Weise wie in der ersten Phase 210.
-
Die
drei Phasen 210, 212, 214, die in der 2A dargestellt
sind, können
unterschiedliche Operationen der Speicherzelle 130 darstellen,
die unabhängig
voneinander sind. Beispielsweise könnten sie eine erste Programmieroperation,
gefolgt von einer ersten Leseoperation und einer zweiten Programmieroperation
darstellen.
-
Sie
können
ebenso eine Folge von Operationen während einer komplexeren Operationsfolge
der Speicherzelle 130 darstellen. Beispielsweise kann in der
ersten Phase 210 ein erster Programmierimpuls an die Speicherzelle 130 bereitgestellt
werden. Dann wird in der zweiten Phase 212 der Effekt des
ersten Programmierimpulses auf die Speicherzelle 130 überprüft. Beispielsweise
kann ein dem rechten Bereich 150 zugeordneter Schwellwert,
der durch Anlegen des ersten Programmierimpulses erreicht wurde, in
der zweiten Phase 121 bestimmt werden. Dann wird in der
dritten Phase 214 ein weiterer Programmierimpuls an die
Speicherzelle 130 bereitgestellt. Der weitere Programmierimpuls
kann bereitgestellt werden, um den dem rechten Bereich 150 der
Ladungsfallenschicht 142 zugeordneten Schwellwert zu erhöhen.
-
Das
Verändern
des dem Programmierzustand des rechten Bits zugeordneten Schwellwertes kann
wie folgt durchgeführt
werden. Falls Ladungsträger,
beispielsweise Elektronen oder Löcher,
in den rechten Bereich 150 der Ladungsfallenschicht 142 eingebracht
werden sollen, wird ein erstes Spannungspotenzial zwischen dem Sourcebereich 134 und
dem Drainbereich 136 angelegt. 2A zeigt dass
in der ersten Phase 210 eine Sourcespannung von 0 V und
eine Drainspannung von 6 V an die erste beziehungsweise dritte Programmierleitung 160 beziehungsweise 164 angelegt
sind. Daher wird ein Spannungspotenzial von 6 V zwischen der ersten Programmierleitung 160 und
der dritten Programmierleitung 164 mittels der Steuerschaltung 110 erzeugt.
Gleichzeitig wird ein zweites Spannungspotenzial zwischen dem Steuergatter 146 und
dem Halbleitersubstrat 132 angelegt. Beispielsweise kann eine
Spannung von 9 V an das Steuergatter 146 mittels der zweiten
Programmierleitung 162 angelegt werden.
-
Durch
die sowohl in horizontaler als auch vertikaler Richtung erzeugten
elektrischen Felder werden in der in 1 dargestellten
Ausgestaltung Elektronen, die in dem Sourcebereich 134 zur
Verfügung
gestellt werden, entlang des teilweise leitfähigen Kanals 138 in
Richtung des Drainbereiches 136 beschleunigt. Sobald die
Ladungsträger,
die entlang des teilweise leitfähigen
Kanals 138 beschleunigt werden, ausreichend kinetische
Energie aufgenommen haben, um die elektrische Barriere, die durch
die Isolierschicht 140 gebildet wird, zu überwinden,
können
die Ladungsträger
die erste Isolierschicht 140 queren und werden in der Ladungsfallenschicht 142 eingefangen.
Dieser Vorgang ist auch als so genannte „Hot Electron Injection" bekannt. Andere
Verfahren, wie beispielsweise die so genannte "Hot Hole Injection" oder Fowler-Nordheim Tunneln können ebenso
verwendet werden, um positive oder negative Ladungsträger in den
rechten Bereich 150 der Ladungsfallenschicht 142 einzubringen.
Im Allgemeinen kann jeder physikalische, chemische oder sonstige
Effekt, der dazu geeignet ist, wenigstens einen Schwellwert einer
Speicherzelle zu verändern,
während
der Programmierung Verwendung finden.
-
Eine
Erkennung eines für
den Programmierzustand des rechten Bits repräsentativen Schwellwertes, der
dem rechten Bereich 150 zugeordnet ist, kann wie folgt
durchgeführt
werden. Eine Drainspannung VD wird mittels
der Programmierleitung 164 an dem Drainbereich 136 angelegt.
Beispielsweise kann die Programmierleitung 164 mit einem
elektrischen Massepotenzial, das heißt 0 V, verbunden werden. Gleichzeitig
wird der Sourcebereich 134 mit einer Sourcespannung, die
größer als
die Drainspannung VD ist, beispielsweise
2 V, gekoppelt. Auf diese Weise wird ein Spannungspotenzial von
2 V zwischen dem Drainbereich 136 und dem Sourcebereich 134 erzeugt.
Infolgedessen werden Ladungsträger
von dem Drainbereich 136 in Richtung des Sourcebereiches 134 angezogen.
-
Gleichzeitig
wird ein zweites Spannungspotenzial an das Steuergatter 146 angelegt.
Beispielsweise kann eine Spannung von 3 V mittels der zweiten Programmierleitung 162 an
das Steuergatter 146 angelegt werden. Falls keine Ladungsträger in dem rechten
Bereich 150 vorhanden sind, wird die an das Steuergatter 146 angelegte
Spannung Ladungsträger
aus dem Halbleitersubstrat 132 in den Bereich des teilweise
leitfähigen
Kanals 138 anziehen. Unter Bezugnahme auf die in der 1 dargestellte
Ausgestaltung wird in dem Bereich des PN-Übergangs zwischen dem Drainbereich 136 und
dem Halbleitersubstrat 132 eine relativ große Dichte
von Ladungsträgern
zur Verfügung
gestellt, die diesen Übergang
leitfähig
macht.
-
Infolgedessen
fließt
ein Strom von dem Drainbereich 136 in den Sourcebereich 134.
Falls jedoch eine nennenswerte Menge von Ladung in dem rechten Bereich 150 der
Ladungsfallenschicht 142 zugegen ist, wird der teilweise
leitfähige
Kanal 830 in einem Bereich nahe des Drainbereiches 136 von
Ladungsträgern
verarmt. Infolgedessen fließt
in diesem Fall kein oder ein wesentlich kleinerer elektrischer Strom
von dem Drainbereich 136 zu dem Sourcebereich 134.
-
Ein ähnlicher
Effekt tritt auch in der Nähe
des Sourcebereiches 134 auf. Jedoch hat dies einen viel geringeren
Effekt auf einen Kanalstrom von dem Drainbereich 136 in
den Sourcebereich 134, selbst wenn der teilweise leitfähige Kanal 138 in
der Nähe des
Sourcebereiches 134 von Ladungsträgern verarmt ist. Die Elektronen
werden entlang ihres Weges in dem teilweise leitfähigen Kanals 138 durch
das zwischen dem Sourcebereich und dem Drainbereich 134 erzeugten
elektrischen Feld beschleunigt und können wegen ihrer kinetischen
Energie durch eine mögliche
Verarmungszone in der Nähe
des Sourcebereiches 134 hindurchtunneln. Obwohl die oben
beschriebenen Effekte spezifisch für die in der 1 dargestellte
Ausgestaltung sind, treten ähnliche
und andere Effekte in vielen anderen Arten von Speicherzellen auf.
Insbesondere in Speicherzellen mit einer Mehrzahl von Schwellwerten
und/oder einem Schwellwert, der einem Programmierzustand für eine Mehrzahl
von Datenbits entspricht, treten üblicherweise einige Wechselwirkungen
oder ein Übersprechen
zwischen diesen Schwellwerten oder den Datenbits auf, so dass das
hier vorgestellte Konzept für viele
andere Speichertypen anwendbar ist.
-
Gemäß einer
Ausgestaltung bestimmt die Steuerschaltung 110 den Strom,
der von dem Drainbereich 136 in den Sourcebereich 134 für eine vorgegebene
Steuerspannung VG fließt, um einen ersten Schwellwert
zu bestimmen, der der Menge einer in dem rechten Bereich 150 gespeicherten
Ladung und damit dem Programmierzustand des rechten Bits entspricht.
Gemäß einer
alternativen Ausgestaltung verändert
die Steuerschaltung 140 die Steuerspannung VG,
die an das Steuergatter 146 angelegt wird, und bestimmt
die Steuerspannung VG, die zum Erreichen
eines festen Referenzstroms IDS von dem
Drainbereich 136 in den Sourcebereich 134 erforderlich
ist. Gemäß einer
weiteren Ausgestaltung ist die Steuerschaltung 110 dazu
eingerichtet, eine Schwellspannung oder einen Schwellwert der Speicherzelle 130 mit
einer Referenzspannung oder einen Referenzstrom einer Referenz-Speicherzelle
(nicht dargestellt) in einem bekannten Programmierzustand zu vergleichen.
-
Unabhängig von
dem tatsächlichen
Ausleseverfahren für
den Programmierzustand des dem rechten Bereich 150 zugeordneten
rechten Bits, ist ein durch den teilweise leitfähigen Kanal 138 fließender Strom
während
der Erkennung des ersten Schwellwertes, das heißt dem Auslesen des rechten Bits,
in die entgegen gesetzte Richtung gerichtet als ein Kanalstrom,
der zur Veränderung
des ersten Schwellwertes, das heißt dem Programmieren des rechten
Bits, verwendet wird. Diese Tatsache wird ebenso durch die zwei
oberen Pfeile, die in der 1 mit den
Worten „program" und „read" beschriftet sind.
-
Unter
erneuter Bezugnahme auf die 2A, ist
die Spannungsdifferenz ΔVD der Drainspannung VD zwischen
der ersten Phase 210 und der zweiten Phase 212 und,
ebenso, zwischen der zweiten Phase 212 und der dritten
Phase 240 relativ groß.
Beispielsweise wird die dritte Programmierleitung 146 während der
ersten und der dritten Phase 210 und 214 auf ein
Spannungsniveau von 6 V geladen, während sie in der dazwischen
liegenden zweiten Phase auf ein Massepotenzial gelegt wird.
-
Das
Aufladen und Entladen der Programmierleitung 146 benötigt elektrische
Energie und Zeit. Aus diesem Grunde kann in zwei Übergangsphasen 216 und 218 keine
sinnvolle Operation in der Speicherzelle 130 ausgeführt werden.
-
2A zeigt
die Spannungsdifferenz ΔVS der Sourcespannung VS zwischen
der ersten Phase 210 und der zweiten Phase 212 und,
ebenso, zwischen der zweiten Phase 212 und der dritten
Phase 214. Beispielsweise beträgt die Spannungsdifferenz ΔVS zwischen der ersten Phase 210 und
der zweiten Phase 212 zwei Volt. Durch das Laden und Entladen der
ersten Programmierleitung 160 wird weitere elektrische
Energie verschwendet.
-
Ein
Programmieren und Auslesen des linken Datenbits, das dem linken
Bereich 148 der Speicherzelle 130 zugeordnet ist,
wird im Wesentlichen auf dieselbe Art und Weise ausgeführt wie
oben beschrieben. Um jedoch den zweiten Schwellwert während des
Programmierens durch Aufbringen von Ladungsträger in den linken Bereich 148 der
Ladungsfallenschicht 142 zu verändern, muss ein Strom von dem
Drainbereich 136 in den Sourcebereich 134 fließen. Andererseits
erfordert ein Erkennen des zweiten Schwellwertes während des
Lesens, dass ein Strom von dem Sourcebereich 134 in den
Drainbereich 136 fließt.
Das bedeutet, dass ein Programmieren und Auslesen des linken Bits
durch das Vertauschen der elektrischen Potenziale, die an die erste Programmierleitung 160 und
die dritte Programmierleitung 164 angelegt werden, bezüglich der äquivalenten
Operationen des rechten Bits durchgeführt werden. Diese Tatsache
wird ebenfalls durch die entsprechenden Pfeile in der 1 dargestellt.
-
2B zeigt
eine Drainspannung VD und eine Sourcespannung
VS die gemäß einer alternativen Folge
von drei Phasen 220, 222 und 224 zur
Verfügung
gestellt werden. In der in der 2B dargestellten
Folge wird die Sourcespannung VS auf einem konstanten
Spannungsniveau gehalten. In dem in der 2B dargestellten
Beispiel wird die Sourcespannung auf einem Spannungspotenzial von
0 V gehalten. Beispielsweise kann die erste Programmierleitung 160 mit
einem elektrischen Massepotenzial verbunden werden. Die Drainspannung
VD, die über
die dritte Programmierleitung 134 zur Verfügung gestellt
wird, wechselt zwischen einem ersten Spannungspotenzial und einem
zweiten Spannungspotenzial. Zum Beispiel wird eine Spannung von
6 V während
der ersten und der dritten Phase 220 beziehungsweise 224 an
die dritte Programmierleitung 134 angelegt. In der zweiten
Phase 222 kann eine Spannung von 2 V an die dritte Programmierleitung 164 angelegt
werden.
-
Wie
aus der 2B ersichtlich ist, ist die Spannungsdifferenz
zwischen dem ersten Spannungspotenzial und dem zweiten Spannungspotenzial,
die in der 2B als ΔVD bezeichnet
ist, kleiner als die Spannungsdifferenz ΔVD gemäß der 2A. Zum
Beispiel beträgt
die Differenz der Drainspannung ΔVD in der 2B dargestellten
Folge 4V und in der Folge gemäß 2A 6 V.
Gleichzeitig wird die Sourcespannung VS,
die über
die erste Programmierleitung 160 bereitgestellt wird, auf
einem konstanten Potenzial gehalten. Das heißt, dass es keinen Unterschied
in der Sourcespannung gemäß der zweiten Folge
gibt, also ΔVS = 0 V.
-
Der
Betrieb der integrierten Schaltung 100 unter Verwendung
der Sourcespannung VS und der Drainspannung
VD , wie sie in der 2B dargestellt sind,
erfordert weniger elektrische Energie wie der Betrieb unter Verwendung
des Spannungsschema gemäß 2A.
Unter Bezugnahme auf die oben beschriebene integrierte Schaltung 100 entspricht
die Folge von Phasen 220, 222 und 224 einer Änderung des
ersten Schwellwertes, zum Beispiel während einer Programmieroperation
des rechten Bits, gefolgt von einer Bestimmung des zweiten Schwellwertes
in der zweiten Phase 222, beispielsweise eines Schwellwerts,
der dem linken Bereich 148 zugeordnet ist. In der dritten
Phase 224 wird eine weitere Veränderung des ersten Schwellwertes
ausgeführt.
-
2C zeigt
eine schematische Darstellung der Schwellwerte VTH1 und
VTH2, die dem rechten beziehungsweise linken
Bit der Speicherzelle 130 zugeordnet sind. Die Schwellwerte
VTH1 und VTH2, die
in der 2C dargestellt sind, entsprechen
einer ersten Schwellwertspannung des rechten Bereichs 150 beziehungsweise
dem linken Bereich 148 während einer Programmieroperation
des linken Bits.
-
Wie
aus der 2C ersichtlich wird, nimmt der
erste Schwellwert VTH1 während der Programmierung des
rechten Bits, also so lange wie eine Programmierspannung an den
Programmierleitungen 160 und 164 anliegt, zu.
Gleichzeitig nimmt auch der zweite Schwellwert VTH2,
der dem linken Bit zugeordnet ist, zu. Jedoch ist die Änderungsrate
des zweiten Schwellwertes VTH2 sehr viel
kleiner als die Änderungsrate
des ersten Schwellwertes VTH1 während einer
ersten Periode T1. Während des Zeitraums T1 vergrößert sich
die Lücke
VGAP zwischen dem ersten Schwellwert VTH1 und dem zweiten Schwellwert VTH2.
-
Wird
die Programmierspannung jedoch über einen
längeren
Zeitraum mittels der Programmierleitungen 160 und 164 angelegt,
beginnt der zweite Schwellwert VTH2 dem
ersten VTH1 mit einer im Wesentlichen gleichen
Steigung zu folgen. Dies ist zumindest teilweise dadurch bedingt,
dass eine Verbreiterung des rechten Bereichs 150 der Ladungsfallenschicht 142 auftritt.
Falls zuviel Ladung im rechten Bereich 150 der Ladungsfallenschicht 142 gespeichert
wird, breitet sich der rechte Bereich 150 von rechts nach
links aus und vereint sich letztendlich mit dem linken Bereich 148.
Infolgedessen wird der zweite Schwellwert VTH2,
der dem linken Bereich 148 zugeordnet ist, durch die Programmieroperation
beeinflusst, wenn die Programmierung fortgesetzt wird, nachdem der
Zeitraum T1 abgelaufen ist.
-
Die
Zunahme des ersten Schwellwertes VTH1 kann
jenseits eines bestimmten Punktes sogar abnehmen. Beispielsweise
kann der linke Bereich 150 mit Ladungsträgern gesättigt werden.
Das bedeutet, dass in einem Zeitraum T2,
der in der 2C dargestellt ist, der Abstand
zwischen dem ersten Schwellwert VTH1 und
dem zweiten Schwellwert VTH2 konstant bleibt
oder sich verringert.
-
Die
Maximierung des Abstands zwischen dem ersten Schwellwert VTH1 und dem zweiten Schwellwert VTH2 hilft bei der Unterscheidung und somit
der Erkennung des Programmierzustandes des linken beziehungsweise
des rechten Bits. Aus diesem Grund sollte das Programmieren des
ersten Bits, beispielsweise des rechten Bits, an dem in der 2C dargestellten
Punkt 230 angehalten werden. An dem Punkt 230 beginnt
der zweite Schwellwert VTH2 in dem ersten
Schwellwert VTH1 im Wesentlichen mit derselben
Steigung zu folgen. Gleichzeitig kann eine Änderung des Gradienten oder
ein Knick in der zweiten Schwellwertkurve VTH2 in
der Nähe
des Punktes 230 erkannt werden.
-
Gemäß einer
Ausgestaltung der Erfindung wird in einer ersten Phase 220 ein
erster Schwellwert VTH1, der einem ersten
Pro grammierzustand einer Speicherzelle 130 zugeordnet ist,
geändert.
Nachfolgend wird in einer zweiten Phase 222 ein zweiter Schwellwert
VTH2, der einem zweiten Programmierzustand
zugeordnet ist, bestimmt. In Abhängigkeit
eines Niveaus eines erkannten zweiten Schwellwertes VTH2 wird
das Programmieren des ersten Schwellwertes fortgesetzt oder beendet.
Das bedeutet, dass gemäß der Ausgestaltung
einer Folge von Phasen wie sie in der 2B dargestellt
ist zur Programmierung des rechten Bits der Speicherzelle 130 Verwendung findet.
-
Während der
ersten Phase 220 und der dritten Phase 224 wird
der dem rechten Bit zugeordnete erste Schwellwert VTH1 verändert. In
der zweiten Phase 222 wird der dem linken Bit zugeordnete
zweite Schwellwert VTH2 bestimmt. Das Programmierschema,
das unter Bezugnahme auf die 2B beschrieben
wurde, erfordert während
der Programmierung des rechten Bits weniger elektrische Energie
als das Schema, das unter Bezugnahme auf die 2A beschrieben
wurde. Gleichzeitig kann die Programmierung schneller durchgeführt werden,
weil die Übergangsphasen 226 und 228,
gemäß der 2B typischerweise
kürzer
sind.
-
Gemäß einer
weiteren Ausgestaltung wird die Änderungsrate
des zweiten Schwellwertes VTH2 in der zweiten
Phase 222 bestimmt. Beispielsweise kann die Steuerschaltung 110 eine
Folge von aufeinander folgenden Programmierimpulsen zur Veränderung
des ersten Schwellwertes VTH1 bereitstellen. Zwischen
der Bereitstellung der aufeinander folgenden Programmierimpulse
kann der zweite Schwellwert VTH2 bestimmt
werden. Die bestimmten Schwellwerte VTH2 werden
dann miteinander verglichen. Falls ein plötzlicher oder bedeutsamer Anstieg
zwischen zwei aufeinander folgenden Bestimmungen vorliegt, ist die
Programmieroperation abgeschlossen. Andere Ausgestaltungen können den
zweiten Schwellwert VTH2, der während der
zweiten Phase 242 bestimmt wird, auch mit einem festen
Referenzschwellwert vergleichen, der den Punkt 230 kennzeichnet.
-
2D zeigt
ein ähnliches
Diagramm wie die 2C. Jedoch tritt ein Punkt 240,
an dem der zweite Schwellwert VTH2 dem ersten
Schwellwert VTH1 mit im Wesentlichen derselben
Steigung zu folgen beginnt, in der 2D früher auf
als in der in der 2C dargestellten Situation.
Die Schwellwertspannungen VTH1 und VTH2, die in der 2D dargestellt
sind, sind beispielsweise repräsentativ
für eine Speicherzelle 130 mit
einer kürzeren
Zellenlänge
als die Speicherzelle 130, die verwendet wurde, um die in
der 2C dargestellten Schwellwertspannungen zu ermitteln.
In der Speicherzelle 130 gemäß 2D bleibt
der Abstand der Schwellwertspannungen VGAP jenseits
des Punktes 240 gleich.
-
2E zeigt
ein charakteristisches Verhalten von Speicherzellen, die in den 2C und 2D erläutert wurden.
In der 2E wird ein Schwellwert VTH2, der einer in dem linken Bereich 148 der
Ladungsfallenschicht 142 gespeicherten Ladung zugeordnet
ist, über
einen Schwellwert VTH1 eines rechten Bereichs 150 der
Ladungsfallenschicht 142 aufgetragen. In dem in der 2E dargestellten
Beispiel ist die rechte Kurve repräsentativ für ein Speicherzelle 130 die
als „lange
Speicherzelle" bezeichnet
wird, während
die linke Kurve repräsentativ
für eine
Speicherzelle 130 ist, die als „kurze Speicherzelle" bezeichnet wird.
Die Begriffe „lang" und „kurz" bezieht sich hier
auf die physikalische Länge
des teilweise leitfähigen
Kanals 138 innerhalb des Halbleitersubstrats 132.
-
Wie
aus der 2E ersichtlich ist, unterscheidet
sich das Verhalten der kurzen und der längeren Speicherzelle 130 voneinander.
Insbesondere folgt der erste Schwellwert VTH1 dem
zweiten Schwellwert VTH2 in der längeren Speicherzelle
später
als in der kürzeren
Speicherzelle. Nichtsdestotrotz sind die charakteristischen Kurven
der kurzen Speicherzelle und der langen Speicherzelle ähnlich insofern,
als sie beide einen charakteristischen Punkt 230 beziehungsweise 240 aufweisen,
an dem ein scharfer Knick auftritt. Bis zu dem charakteristischen Punkt 230 beziehungsweise 240 folgt
der zweite Schwellwert VTH2 dem ersten Schwellwert
VTH1 nur sehr langsam. Nachdem der charakteristische
Punkt 230 beziehungsweise 240 erreicht wurde,
folgt der zweite Schwellwert VTH2 dem ersten
Schwellwert VTH1 schneller. Wie unter Bezugnahme
auf die 2A bis 2D gezeigt
und erläutert
wurde, sollte die Speicherzelle 130 an dem oder in der
Nähe des
charakteristischen Punktes 230 beziehungsweise 240 betrieben
werden.
-
3 zeigt
ein Ablaufdiagramm eines Verfahrens 300 zum Betreiben einer
integrierten Schaltung mit zwei Schwellwerten VTH1 und
VTH2. Insbesondere zeigt die 3 Verfahrensschritte 310, 320, 330 und 340 eines
Arbeitsverfahrens. Das Verfahren 300 kann zum Betrieb der
integrierten Schaltung 100, die oben beschrieben wurde,
verwendet werden. Zusätzlich
kann das Verfahren 300 auch mit den unter Bezugnahme auf
die 4 und 5 unten beschriebene Ausgestaltungen
oder mit jedem anderen integrierten Schaltkreis, der einen Speicher
zum Speichern von wenigstens zwei unterschiedlichen Schwellwerten
besitzt, verwendet werden.
-
Gemäß 3 beinhaltet
das Verfahren 300 einen Schritt 310, in dem ein
erster Schwellwert VTH1, der einem ersten
Programmierzustand einer Speicherzelle entspricht, verändert wird.
Der Programmierzustand kann einer einzelnen physikalischen Speicherzelle,
beispielsweise einer so genannten Floating- Gate-Speicherzelle, oder einem Ladungsfallenbereich
oder Ladungsspeicherbereich innerhalb einer Multibit-Speicherzelle, wie
das rechte Bit der in der 1 dargestellten
Twin-Bit-Speicherzelle 130, die und oben beschrieben wurde,
zugeordnet sein. Zum Zweck der Beschreibung dieses Beispiels wird das
dem rechten Bereich 150 der Speicherzelle 130 gemäß 1 zugeordnete
rechte Bit als erster Programmierzustand bezeichnet.
-
Um
den ersten Schwellwert VTH1 zu verändern, der
dem rechten Bit entspricht, wird ein Kanalstrom an die Speicherzelle 130 in
einer ersten Richtung angelegt. Beispielsweise kann ein Massepotenzial
mit dem Sourcebereich 134 mittels der ersten Programmierleitung 160 angelegt
werden, während ein
erstes elektrisches Potenzial, beispielsweise 9 V, mittels der dritten
Programmierleitung 164 an den Drainbereich 136 angelegt
wird. Das bedeutet, dass ein Kanalstrom von dem Sourcebereich 134 in
den Drainbereich 136 fließt, also von links nach rechts. Die
Richtung, Amplitude, Dauer und Hüllkurve
des Kanalstroms können
durch die Steuerschaltung 110 gesteuert werden.
-
Wenn
der in der 3 als Schritt 310 dargestelltr
erster Programmierzyklus abgeschlossen ist, beispielsweise nach
einer vorbestimmten Zeit oder nach dem zur Verfügung stellen einer vorbestimmten Anzahl
von Programmierimpulsen, wird der zweite Schwellwert VTH2,
der einem zweiten Programmierzustand zugeordnet ist, im Schritt 320 bestimmt.
In dem beschriebenen Beispiel wird der dem linken Bereich 148 der
Speicherzelle 130 zugeordnet zweite Schwellwert VTH2 bestimmt. Die Bestimmung des zweiten
Schwellwertes VTH2 wird durch das Anlegen eines
Kanalstroms an die Speicherzelle 130 durchgeführt. Der Kanalstrom
fließt
aus dem Sourcebereich 134 in den Drainbereich 136.
-
Beispielsweise
kann der zweite Schwellwert VTH2, der dem
linken Bereich 138 zugeordnet ist, durch Verbinden des
Sourcebereiches 134 mit dem elektrischen Massepotenzial
mittels der ersten Programmierleitung 160 und Verbinden
des Drainbereichs 136 mittels der dritten Bitleitung 164 an
ein mittleres Spannungsniveau, beispielsweise 2 V, bewirkt werden.
Gleichzeitig wird ein Spannungspotenzial mittels der zweiten Programmierleitung 162 von der
Steuerschaltung 110 an das Steuergatter 146 angelegt.
Beispielsweise kann ein Spannungspotenzial von 3 V an das Steuergatter 146 angelegt
werden.
-
Weil
die in der 1 offenbarte Speicherzelle in
dieser Konfiguration empfindlicher auf eine eingefangene elektrische
Ladung in dem linken Bereich 138 in der Nähe der Sourceregion 134 als
auf eine eingefangene elektrische Ladung in dem auf der gegenüberliegenden
Seite des Sourcebereiches 134 rechten Bereich 150 reagiert,
wie oben beschrieben wurde, wird der zweite Schwellwert VTH2, der dem linken Bit zugeordnet ist, auf
diese Weise bestimmt.
-
In
einer Ausgestaltung kann die Größe des Kanalstroms,
der durch den teilweise leitfähigen
Kanal 138 fließt,
durch die Steuerschaltung 110 bestimmt werden. In einer
alternativen Ausführung
vergleicht die Steuerschaltung 110 den Kanalstrom durch
die Speicherzelle 130 mit einem festen Referenzstrom, während die
an das Steuergatter 146 zur Verfügung gestellte Spannung hochgefahren
wird. Auf diese Weise kann eine Schwellwertspannung UTH,
bei der ein vorbestimmter Kanalstrom durch die Speicherzelle 130 fließt, bestimmt
werden.
-
In
einem dritten Schritt 330 bestimmt die Steuerschaltung 110 wegen
der Veränderung
des ersten Schwellwertes VTH1 eine Veränderung
des dem zweiten Programmierzustand zugeordneten zweiten Schwellwerts
VTH2, beispielsweise eine Verschiebung oder
einen Sprung. Zum Beispiel können dem
linken Bereich 148 zugeordnete zweite Schwellwerte VTH2 vor oder nach dem Anlegen eines Programmierimpulses
an die Speicherzelle 130 im Schritt 310 bestimmt
und miteinander verglichen werden.
-
Falls
die Änderung
des zweiten Schwellwertes VTH2 bezogen auf
seinen gegenwärtigen
absoluten Schwellwert oder einen Referenzschwellwert, der zur Unterscheidung
unterschiedlicher Programmierzustände verwendet wird, vergleichsweise
gering ist, wird das Verfahren 300 im Schritt 310 fortgesetzt,
in dem ein oder mehrere weitere Programmierimpulse an die Speicherzelle 130 geschickt
werden, um die Programmierung des ersten Programmierzustandes fortzusetzen.
Dies trägt
der Tatsache Rechnung, dass der Punkt 230 beziehungsweise 240,
der den Arbeitspunkt der Speicherzelle 130 kennzeichnet, noch
nicht erreicht wurde. Falls jedoch im Gegensatz dazu eine größere Änderung
des Schwellwerts VTH2 im Schritt 330 erkannt
wird, endet die Programmieroperation 300. Eine größere Veränderung
kann eine Verschiebung oder Erhöhung
sein, die einen vorbestimmten Schwellwert überschreitet, oder, alternativ, die
einen oder mehrere zuvor beobachtete Verschiebungen des Schwellwertes übertreffen.
Falls im Schritt 330 eine größere Verschiebung in dem Schwellwert
VTH2 beobachtet wird, wurde der Punkt 230 beziehungsweise 240 des
optimalen oder beinahe optimalen Betriebs erreicht oder gerade passiert, so
dass eine weitere Programmierung nicht mehr in einer Vergrößerung des
Arbeitsfensters der Speicherzelle 130 resultieren würde.
-
Es
sollte beachtet werden, dass die Richtung des elektrischen Feldes
oder des an das Halbleitersubstrat 132 angelegten elektrischen
Potenziales und damit die Richtung des Stromflusses durch die Speicherzelle 130 während der
Folge von Schritten 310, 320 und 330 zum Ändern des
ersten Schwellwertniveaus VTH1 und zum Bestimmen
des zweiten Schwellwertniveaus VTH2 gleich
bleibt. Das bedeutet, dass Programmier- und Verifizieroperationen
für den ersten
Programmierzustand in einer ersten Richtung ausgeführt werden,
also mit einem von links nach rechts fließenden Kanalstrom, während Programmier-
und Verifizieroperationen für
den zweiten Programmierzustand in einer zweiten Richtung ausgeführt werden,
also von rechts nach links. Dies ist dadurch bedingt, dass der erstes
Schwellwert, der dem rechten Bit zugeordnet ist, mit einem Kanalstrom
in einer ersten Richtung geändert
wird und mit einem Kanalstrom, der in einer zweiten Richtung fließt, detektiert
wird. Der zweite Schwellwert, der mit dem linken Bit assoziiert
ist, wird mit einem Kanalstrom, der in der zweiten Richtung fließt, modifiziert
und mit einem Kanalstrom detektiert, der in der ersten Richtung fließt.
-
Als
eine Folge des beschriebenen Betriebsschemas kann die erste Programmierleitung 160 während der
Verfahrensschritte 310 und 320 mit dem Massepotenzial
verbunden bleiben. Daher findet während der Programmierung des
rechten Bits kein zusätzliches
Laden und Entladen der ersten Programmierleitung 160 statt.
Die dritte Programmierleitung 164 wird während dieses
Zeitraums auf ein positives Spannungspotenzial geladen. Obwohl dessen Spannungspotenzial
zwischen der Drainspannung VD, die dem Schritt 310 zum Ändern des
ersten Schwellwerts verwendet wird, und der Drainspannung VD, die im Schritt 320 zum Erkennen
des zweiten Schwellwertniveaus VTH2 verwendet
wird, abwechselt, ist der Spannungsunterschied ΔVD kleiner als
bei dem in der 2A dargestellten Schema, so dass
das Laden und Entladen der dritten Programmierleitung 164 ebenfalls
auf ein Minimum begrenzt wird. Dasselbe trifft auch auf die zweite
Programmierleitung 162 zu, die ebenfalls während beiden
Schritten 310 und 320 an positive Spannungsniveaus
angeschlossen ist.
-
In
bekannten Verfahren zum Programmieren von Twin-Bit-Speicherzellen wird
die Richtung eines Kanalstroms, der während der Programmierung und Verifizierung
eines Programmierzustandes verwendet wird, häufig umgekehrt. Daraus resultiert
eine Vergeudung von Energie und ein Verlust von Zeit wegen der kapazitiven
und induktiven Effekte der ersten und dritten Programmierleitungen 160 und 164.
Daher verbessert ein Programmieren des ersten Programmierzustands
gemäß der dargestellten
Ausgestaltung sowohl die Energieeffizienz als auch die Arbeitsgeschwindigkeit
der Programmierung der Speicherzelle 130.
-
Zuvor
wurde die Programmierung eines Bits, insbesondere des rechten Bits,
einer Zweibit-Speicherzelle 130 beschrieben. Während der
Programmierung des zweiten Bits, also dem linken Bit, muss der Programmierzustand
des bereits programmierten ersten Bits in Betracht gezogen werden.
-
Gemäß der unter
Bezugnahme auf die 3 beschriebene Ausgestaltung
wird während
der Programmierung des zweiten Bits auf eine Verifizierung, beispielsweise
durch Bestimmung eines zugeordneten Schwellwertes, verzichtet. Dies
ist insbesondere in einer symmetrischen Speicherzelle 130,
wie sie in der 1 dargestellt ist, sinnvoll.
In einer symmetrischen Speicherzelle 130 ist die Länge des
Kanals 138 in sowohl der ersten als auch der zweiten Richtung
eines Kanalstroms iden tisch, was zu ähnlichen Charakteristiken während der
Programmierung des rechten und linken Bits führt.
-
In
einem optionalen Schritt 340 können die während der Programmierung des
rechten Bits ermittelten Parameter zur Programmierung des linken
Bits verwendet werden. Während
der Programmierung des linken Bits wird ein Kanalstrom in einer
zweiten Richtung, das heißt
von dem Drainbereich 136 in den Sourcebereich 134 zur
Verfügung
gestellt. Danach endet das Verfahren 300. In der beschriebenen
Ausgestaltung wird der zweite Schwellwert VTH2,
der dem linken Bit zugeordnet ist, geändert ohne dass der Bedarf
für eine
weitere Verifizierung durch Erkennung entweder des ersten oder des
zweiten Schwellwertes VTH1 oder VTH2 erwächst.
Infolgedessen kann eine weitere Ersparnis an Energie und Betriebszeit
erreicht werden.
-
In
dem Fall, dass das rechte Bit zuvor nicht programmiert wurde, das
heißt
in dem Fall, in dem das rechte Bit sich noch in einem logischen "1" oder "High" Zustand
befindet, wurden solche Parameter noch nicht bestimmt. Daher werden
in einer anderen Ausgestaltung Parameter verwendet, die bei der
Programmierung von benachbarten Speicherzellen erfasst wurden, wobei
die benachbarten Speicherzellen wahrscheinlich eine oder mehrere
physikalische Eigenschaften der anderen Speicherzelle teilen, beispielsweise
die Kanallänge
der zu programmierenden Speicherzelle 130.
-
Gemäß einer
weiteren Ausgestaltung können
die Verfahrensschritte 310 und 320, die oben beschrieben
wurden, ebenfalls während
der Programmierung des linken Bits Verwendung finden. Das bedeutet
dass während
der Programmierung des linken Bits, das eine Änderung des zweiten Schwellwerts VTH2 umfasst, der erste Schwellwert VTH1, der dem rechten Bit zugeordnet ist, bestimmt
und analysiert wird. Obwohl der absolute Wert des ersten Schwellwerts
VTH1 des rechten Bits durch seinen Programmierzustand
beeinflusst wird, wird sein Schwellwert VTH1 immer
noch einer ähnlichen
Kurve wie der in den 2C bis 2E dargestellten
Kurve folgen, mit einer Verschiebung um einen festen Betrag. Daher kann
ein Arbeitspunkt für
die Programmierung des linken Bits auf eine ähnliche Art und Weise bestimmt werden,
wie dies oben unter Bezugnahme auf die 3 beschrieben
wurde.
-
Weitere
Alternativen, die auf einer Charakterisierung nur einer oder einiger
weniger Speicherzellen einer repräsentativen Auswahl von Speicherzellen
basieren, werden unter Bezugnahme auf die 6 und 7 später beschrieben.
Nichtsdestotrotz können
solche Verfahren auch während
des normalen Betriebs der integrierten Schaltung 100 verwendet
werden.
-
4 zeigt
die schematische Darstellung einer integrierten Schaltung 400 mit
einer Matrix 402 von Speicherzellen 404 gemäß einer
weiteren Ausgestaltung. Die Matrix 402, die in der 4 dargestellt
ist, enthält
drei Zeilen und drei Spalten. Jedoch können andere Matrizen Hunderte,
Tausende oder Zehntausende von Zeilen und Spalten oder mehr enthalten.
-
In
dem in der 4 dargestellten Ausführungsbeispiel
können
die Speicherzellen 404 nicht-flüchtige EEPROM Floating-Gate
Speicherzellen, SONOS-Zellen, FRAM, MRAM oder andere Typen von Speicherzellen
mit wenigstens einem Schwellwert enthalten. Die Speicherzellen 404 sind in
einer so genannten NOR-Architektur angeordnet, bei der jede Speicherzelle 404 mit
zwei benachbarten Bitleitungen 406 verbunden ist, einer
linken Bitleitung und einer rechten Bitleitung. Mehrere Speicherzellen 404 in
derselben Spalte der Matrix 402 sind mit derselben linken
und rechten Bitleitung 406 verbunden. Zusätzlich sind
Speicherzellen 404, die in derselben Zeile der Matrix 402 angeordnet
sind, mit einer gemeinsamen Wortleitung 408 verbunden.
Um die Bitleitungen 406 und die Wortleitungen 408 der
Matrix 402 besser zu unterscheiden, wurden sie durch die Anhänge A, B
und C an die Bezugszeichen 406 beziehungsweise 408 gekennzeichnet.
-
Zusätzlich zu
den Zeilen und Spalten, die in der 4 dargestellt
sind, können
andere Mittel zur Strukturierung der Matrix 400 verwendet
werden. Gemäß einer
anderen Ausgestaltung enthält
eine Matrix eine Mehrzahl von Löschblöcken. Jeder
Löschblock enthält eine
Mehrzahl von Speicherzellen, die individuell beim Lesen und Programmieren
adressiert werden können,
die jedoch gemeinsam gelöscht
werden.
-
Jede
der Bitleitungen 406 kann mit einem elektrischen Massepotenzial 412,
einem Programmierschaltkreis 414 oder einem Leseverstärker 416 verbunden
werden. Zu diesem Zweck können
eine oder mehrere Bitleitungen 406 mittels eines Auswahlschaltkreises 410 ausgewählt werden.
Der Auswahlschaltkreis 410 wird durch einen Steuerschaltkreis 418 gesteuert,
basierend auf einer Zieladresse einer zu programmierenden Speicherzelle 404.
Die Wortleitungen 408 können
durch eine Wortleitungsauswahlschaltung 420 ausgewählt und
mit einer einstellbaren Spannungsversorgung 422 verbunden werden.
Der Betrieb der Wortleitungsauswahlschaltung 420, des Leseverstärkers 416 und
der Programmierschaltung 414 kann ebenso durch die Steuerschaltung 420 gesteuert
werden.
-
Im
Gegensatz zu der vorherigen Ausgestaltung können die Speicherzellen 404,
die in der 4 dargestellt sind, nicht mehrere
Schwellwerte speichern. Stattdessen ist jeder Speicherzelle 404 der Matrix 402 ein
einzelner Schwellwert zugeordnet. Die Schwellwerte können einen
oder eine Mehrzahl logischer Werte verkörpern. Beispielsweise können zwei Bits
binäre
Daten in jeder der Speicherzellen 404 gespeichert werden,
falls vier unterschiedliche Schwellwerte unterschieden werden können.
-
Die
Speicherzellen 404, die in einer gemeinsamen Spalte oder
Zeile angeordnet sind, sind wegen der gemeinsamen elektrischen Verbindungen durch
die Wortleitungen 408 und die Bitleitungen 406 nicht
elektrisch unabhängig
voneinander. Insbesondere kann das Zurverfügungstellen eines Programmierimpulses
an die Speicherzelle 404 in der ersten Spalte und der ersten
Zeile der Matrix 402 ebenso den Schwellwert einer Speicherzelle 404,
die in derselben Spalte oder Zeile der Matrix 402 angeordnet ist,
beeinflussen, weil sie an dieselbe Wortleitung 408A bzw.
dieselben Bitleitungen 406A und 406B angeschlossen
ist.
-
Infolgedessen
kann eine Beobachtung eines zweiten Schwellwerts VTH2,
der einer zweiten Speicherzelle 404 zugeordnet ist, benutzt
werden, um einen negativen Einfluss der Programmieroperation der
benachbarten oder anderweitig elektrisch oder räumlich verwandten ersten Speicherzelle 404 zu
erkennen und einen negativen Einfluss zu begrenzen. Zum Beispiel
kann während
der Änderung
eines ersten Schwellwerts VTH1 der Speicherzelle 404 in
der ersten Spalte und der ersten Zeile der Matrix 402,
ein zweiter Schwellwert VTH2 der Speicherzelle 404 in
der zweiten Spalte und der ersten Reihe der Matrix 402 beobachtet
werden. Daher kann das Verfahren 300 zum Programmieren
einer Speicherzelle, das oben unter Bezugnahme auf die Twinbit-Speicherzelle 130 der
integrierten Schaltung 100 beschrieben wurde, auch während der
Programmierung der Spei cherzellen 404 in der integrierten
Schaltung 400 mit nur einem einzelnen Schwellwert Verwendung
finden.
-
Gemäß einer
weiteren Ausgestaltung enthält ein
integrierter Schaltkreis eine Matrix von Speicherzellen. Jede Speicherzelle
enthält
eine Mehrzahl von lokalisierten Ladungsfallen- oder Ladungsspeicherbereichen, wobei
jeder Bereich einem gesonderten Schwellwert zugeordnet ist. Ein
Beispiel einer solchen Struktur ist ein so genannter NAND-Speicher,
in dem eine Mehrzahl von Floating-Gates und korrespondierenden Steuergattern
in eine gemeinsame Halbleiterstruktur eingebettet sind, um mehrere
Bits von Daten zu speichern.
-
5 zeigt
eine schematische Darstellung einer anderen integrierten Schaltung 500 die
eine Speicherzelle 510 gemäß einer anderen Ausgestaltung
beinhaltet. Die dargestellte Ausgestaltung umfasst nur eine einzelne
Speicherzelle 510. In der Praxis können jedoch auch eine Mehrzahl
von Speicherzellen 510 in der integrierten Schaltung 500 enthalten sein.
-
Die
Speicherzelle 510 gemäß 5 ist
eine nicht-flüchtige
Speicherzelle. Sie beinhaltet einen abgewandelten Metalloxidfeldeffekttransistor
(Metal Oxide Substrate Field Effect Transistor – MOSFET). Insbesondere umfasst
sie ein Substrat 512 aus einem Halbleitermaterial, beispielsweise
einem P-Typ-Siliziumsubstrat,
in das zwei Anschlussbereiche, ein Sourcebereich 514 und
ein Drainbereich 516 eingebettet sind. Sowohl der Sourcebereich 514 als auch
der Drainbereich 516 sind mit einem geeigneten Dotierungsmittel
dotiert, beispielsweise einem N+-Dotierungsmittel. Entsprechende
PN-Übergänge sind
in dem Substrat 512 ausgeformt, jeweils einer in der Nähe eines
jeden Anschlussbereiches der Speicherzelle 510.
-
Über dem
Substrat 512 ist eine Isolationsschicht 518 angeordnet. Über der
ersten Isolationsschicht 518 sind zwei getrennte leitfähige Ladungsspeicherbereiche 522 und 524 in
einer Ladungsspeicherschicht 520 in der Nähe des Sourcebereiches 514 und
des Drainbereiches 516 angeordnet. Insbesondere enthält die Speicherzelle 510 zwei
oder mehr eingebettete Polysiliziuminseln, die als linker und rechter
Ladungsspeicherbereich 522 beziehungsweise 524 dienen. Über der
Ladungsspeicherschicht 520 ist eine zweite Isolierschicht 526 und
ein leitfähiges
Steuergatter 528 angeordnet. Das Steuergatter 528 kann
polykristallines Material oder dotiertes Polysilizium enthalten.
-
Die
oben beschriebene Struktur kann ebenfalls zum Speichern von zwei
Programmierzuständen verwendet
werden, die im Weiteren auch als Datenbits bezeichnet werden. Jeder
Programmierzustand kann sich entweder in einem gelöschten Zustand oder
in einem programmierten Zustand befinden, die bisweilen auch als "High" oder "1" Zustand bzw. "Low" oder "0" Zustand bezeichnet werden. In der in der 5 dargestellten
Anordnung ist ein linkes Bit unter Verwendung eines Schwellwertes,
der dem linken Ladungsspeicherbereich 522 in der Nähe der Sourcebereich 514 zugeordnet
ist, und ein rechtes Bit unter Verwendung eines Schwellwertes, der
dem rechten Ladungsspeicherbereich 524 in der Nähe des Drainbereichs 516 zugeordnet
ist, gespeichert.
-
Unter
weiterer Bezugnahme auf die 5 ist das
Steuergatter 528 mit einer Wortleitung 552 verbunden.
Der Sourcebereich 514 und der Drainbereich 516 sind
mit einer ersten Bitleitung 530 beziehungsweise einer zweiten
Bitleitung 534 verbunden. In der dargestellten Ausgestaltung
ist die erste Bitleitung 530 mit einem Massepotenzial 532 verbunden. Die zweite
Bitleitung 534 ist mittels eines Auswahltransistors 536 mit
einer Programmierschaltung 538 und einem Leseverstärker 540 verbunden.
-
Gemäß einer
anderen, in den Figuren nicht dargestellten Ausgestaltung ist die
erste Bitleitung 530 und die zweite Bitleitung 532 selektiv
mit dem Massepotenzial 532, dem Leseverstärker 560 und der
Programmierschaltung 538 verbindbar. Zusätzlich können eine
Mehrzahl von Auswahltransistoren 536 verwendet werden,
um eine einer Vielzahl von Bitleitungen mit einem oder mehreren
Leseverstärkern 540 und/oder
Programmierschaltkreisen 538 zu verbinden. Die in der 1 dargestellten
Vereinfachungen dienen der Vereinfachung der Darstellung und dem
Verständnis,
nicht jedoch dazu, den Umfang der vorliegenden Offenbarung zu beschränken.
-
Unter
erneuter Bezugnahme auf die 5, sind
die Programmierschaltung 538 und der Leseverstärker 540 mit
einer Steuerschaltung 560 verbunden. Die Steuerschaltung 560 kann
ein Steuernetzwerk bestehend nur aus Hardware oder einer Kombination
von Hardware und Software umfassen. Zum Beispiel kann sie einen
programmierbaren Mikrocontroller enthalten, der zur Ausführung eines
Computerprogramms mit Programmanweisungen zum Betrieb der integrierten
Schaltung 500 geeignet ist.
-
Zusätzlich umfasst
die integrierte Schaltung 500 eine Wortleitungsauswahlschaltung 550,
die ebenfalls mit der Steuerschaltung 560 verbunden ist. Die
Anordnung beinhaltet des Weiteren einen Arbeitsspeicher 570 mit
einem Register 572. In der dargestellten Ausgestaltung
gemäß 5 ist
der Arbeitsspeicher 570 sowohl mit der Steuerschaltung 560 als
auch mit dem Leserverstärker 540 verbunden.
-
Gemäß Alternativen
zu den in den 1, 4 und 5 gezeigten
Ausgestaltungen beinhaltet jede der entsprechenden integrierten
Schaltungen eine oder mehrere Multi-Level-Zellen (MLC). In einer
Multi-Level-Zelle speichert jeder Speicherbereich zwei oder mehr
Bits Daten. Zum Beispiel können
in der integrierten Schaltung gemäß 5 zwei Daten
in jeweils dem linken Ladungsspeicherbereich 522 und dem
rechten Ladungsspeicherbereich 524 gespeichert werden.
Im Allgemeinen ist jeder Speicherbereich einer Multilevelzelle dazu
eingerichtet, einen Schwellwert entsprechend einem von wenigstens
vier Programmierzuständen
zu speichern, beispielsweise entsprechend den Programmierzuständen "00", "01", "10" oder "11". Die Unterscheidung
zwischen vier und gegebenenfalls mehr unterschiedlichen Schwellwerten
vermindert den Bereich zulässiger
Schwellwerte, die einem jeden der verschiedenen Programmierzustände entsprechen,
so dass Auswirkungen, die durch das Programmieren benachbarter Ladungsspeicherbereiche
oder Speicherzellen verursacht werden, von besonderem Interesse
sind. Das Beobachten eines Schwellwertes einer Speicherzelle oder
eines Ladungsspeicherbereiches während
der Programmierung einer benachbarten Speicherzelle oder Ladungsspeicherbereiches
ist daher besonders beim Betrieb von Multi-Level-Zellen von Vorteil.
-
6 zeigt
ein Ablaufdiagramm einer Ausgestaltung eines Verfahrens 600 zum
Betrieb der integrierten Schaltung 500. Im Folgenden wird
der Betrieb der integrierten Schaltung 500 während der
Programmierung eines rechten Bits, das dem Ladungsspeicherbereich 524 zugeordnet
ist, näher
erläutert. Ähnliche
Verfahrensschritte können
während
der Programmierung des linken Bits, das dem linken Ladungsspeicherbereich 522 zugeordnet
ist, oder mit jeder anderen hierin beschriebenen Ausgestaltung verwendet
werden.
-
In
einem ersten Schritt 605 wird ein Ursprungswert eines zweiten
Schwellwerts VTH2, der dem zweiten Programmierzustand
zugeordnet ist, in dem in der 6 dargestellten
Beispiel dem linken Bit, das dem linken Ladungsspeicherbereich 522 zugeordnet
ist, bestimmt. Der Schwellwert VTH2 der
dem linken Bit zugeordnet ist, kann dadurch bestimmt werden, dass
der Drainbereich 516 mittels der zweiten Bitleitung 532 und
des Auswahltransistors 536 mit dem Leseverstärker 560 an
ein mittleres Spannungsniveau gekoppelt wird, beispielsweise 2 V. Gleichzeitig
wird ein Spannungspotenzial an das Steuergatter 528 mittels
der Wortleitung 552 und der Wortleitungsauswahlschaltung 550 angelegt.
Zum Beispiel kann ein Spannungspotenzial von 3 V an das Steuergatter 528 angelegt
werden.
-
Die
in der 5 dargestellte Speicherzelle 510 reagiert
empfindlicher auf einen Programmierzustand des Ladungsspeicherbereiches 522 in
der Nähe
des Sourcebereiches 560, der mit der elektrischen Masse 522 verbunden
ist, als auf einen Programmierzustand des Ladungsspeicherbereiches 524 in
der Nähe
des Drainbereiches 516 falls ein Kanalstrom von dem Sourcebereich 514 in
den Drainbereich 516, also von links nach rechts, fließt. Infolgedessen
kann der zweite Schwellwert VTH2 in dieser Konfiguration
mittels des Leseverstärkers 540 bestimmt
werden. Zum Beispiel kann ein Strom, der durch die Speicherzelle 510 fließt, durch
den Leseverstärker 540 ermittelt
werden. Alternativ kann der Leseverstärker 540 einen Strom
durch die Speicherzelle 510 mit einem festen Referenzstrom
vergleichen, während
die Spannung, die an das Steuergatter 528 angeschlossen
wird, hochgefahren wird. Auf diese Weise kann die Spannung UTH, bei der ein vorbestimmter Kanalstrom
ITH durch die Speicherzelle 510 fließt, bestimmt
werden.
-
In
einem Schritt 610 wird ein erster Schwellwert VTH1, der einem Programmierzustand des rechten
Bits der Speicherzelle 510 entspricht, geändert. Um
das rechte Bit, das dem rechten Ladungsspeicherbereich 524 zugeordnet
ist, zu Programmieren, wird einer oder eine Mehrzahl von Programmierimpulsen
an die Speicherzelle 510 angelegt. Im Schritt 610 wird
ein erstes elektrisches Potenzial, beispielsweise 9 V, mittels der
zweiten Bitleitung 534, des Auswahltransistors 536 und
der Programmierschaltung 538 an den Drainbereich 516 angelegt.
Die Amplitude, Dauer und Form des einen oder der mehreren Programmierimpulse
kann durch die Steuerschaltung 560 gesteuert werden. Gleichzeitig
wird die Speicherzelle 510 mittels der Wortauswahlschaltung 550 und
der Wortleitung 552, die an das Steuergatter 528 der
Speicherzelle 510 angeschlossen ist, ausgewählt. Beispielsweise
kann eine Programmierspannung von 10 V an das Steuergatter 528 angelegt
werden.
-
Nach
dem der erste, im Schritt 610 in der 6 dargestellte
Programmiervorgang abgeschlossen ist, beispielsweise nach einem
vorbestimmten Zeitraum oder dem Bereitstellen einer vorbestimmten Anzahl
von Programmierimpulsen, wird der zweite Schwellwert VTH2,
der dem linken Bit zugeordnet ist, in einem Schritt 620 bestimmt.
Die Bestimmung des zweiten Schwellwerts VTH2 kann
wie unter Bezugnahme auf den Schritt 605 beschrieben durchgeführt werden.
-
In
einem weiteren Schritt 630 wird der Unterschied in Schwellwerten ΔVTH2 zwischen dem zweiten Schwellwert VTH2, der im Schritt 620 ermittelt
wurde, und dem zweiten Schwellwert VTH2,
der in dem Schritt 605 ermittelt wurde, berechnet. Zum
Beispiel kann ein Schwellwert VTH2, der
durch den Leseverstärker 540 während der
ersten Ausführung
des Schritts 620 ermit telt wurde, in dem Register 572 des Arbeitsspeichers 570 gespeichert
werden. Danach, nach dem Zurverfügungstellen
weiterer Programmierimpulse an die Speicherzelle 510, wird
der Schritt 620 erneut durchgeführt. Der Schwellwert VTH2, der während der zweiten Ausführung des
Schritts 620 bestimmt wurde, wird von dem Leseverstärker 540 erkannt
und mit dem im Register 572 gespeicherten Wert verglichen.
-
In
einem weiteren optionalen Schritt 640 wird die Änderung
des Gradienten ∂ zwischen
den Unterschieden in Schwellwerten ΔVTH2 analysiert.
Zum Beispiel kann eine Veränderung
des Gradienten ∂ der Kurve
bestimmt werden, indem der Unterschied ΔVTH2 zwischen
dem ersten und dem zweiten bestimmten Schwellwert VTH2 in
einem zweiten Register (nicht dargestellt) gespeichert wird und
dieser Unterschied mit einem Unterschied ΔVTH2 zwischen
einer zweiten und einer dritten Bestimmung des zweiten Schwellwerts
VTH2 verglichen wird. Ein scharfer Knick in
der Kurve, die den zweiten Schwellwert VTH2 der Speicherzelle 510 während der
Programmieroperation darstellt, kann auf diese Art und Weise bestimmt werden.
-
In
einem Schritt 650 erkennt die Steuerschaltung 560 eine
Veränderung
des zweiten Schwellwertes VTH2 aufgrund
einer Änderung
des ersten Schwellwertes VTH1, beispielsweise
eine Verschiebung oder einen Sprung des zweiten Schwellwerts VTH2, der dem zweiten Programmierzustand zugeordnet
ist. Gemäß der in
der 6 dargestellten Ausgestaltung wird die Änderungsrate ΔVTH2 des Schwellwertes mit einem Bezugsniveau
verglichen. Beispielsweise kann die Änderungsphase des Schwellwertes ΔVTH2 nach dem Bereitstellen eines ersten beziehungsweise
eines zweiten Programmierimpulses verglichen werden.
-
Falls
der Unterschied zwischen den einzelnen Änderungsraten ΔVTH2 verhältnismäßig gering ist,
wird das Verfahren 600 im Schritt 610 fortgesetzt, in
dem eine oder mehrere weitere Programmierimpulse an die Speicherzelle 510 bereitgestellt
werden. Im anderen Fall endet die Programmieroperation 600.
-
Wie
oben beschrieben fließt
ein Strom durch die Speicherzelle 510 während der erste Schwellwert geändert wird
und der zweite Schwellwert erkannt wird in derselben Richtung, insbesondere
von dem Sourcebereich 514 in den Drainbereich 516.
Infolgedessen kann die erste Bitleitung 514 während dem gesamten
Verfahren 600 mit dem Massepotenzial 532 verbunden
bleiben.
-
Das
Betriebsverfahren für
die Speicherzelle 510, das unter Bezugnahme auf die 6 erläutert und
hierin offenbart wurde, erlaubt die Erkennung eines beinahe optimalen
Arbeitspunktes während
der Programmierung selbst. Wie jedoch unter Bezugnahme auf die 7 beschrieben
wird, kann der Arbeitspunkt auch während der Charakterisierung,
Qualifizierung oder Initialisierung einer integrierten Schaltung
bestimmt werden.
-
7 zeigt
ein Verfahren 700 zum Bestimmen eines Arbeitspunktes einer
integrierten Schaltung mit einem Speicher. Sie wird unter Bezugnahme der
integrierten Schaltung gemäß 4 beschrieben.
Jedoch kann das beschriebene Verfahren auch in Verbindung mit den
integrierten Schaltungen 100 oder 500, die in
den 1 beziehungsweise 5 dargestellt
sind, verwendet werden. Das Verfahren 700 kann auch in
vielen anderen Arten von Schaltkreisen mit wenigstens zwei unterschiedlichen Schwellwerten
Verwendung finden.
-
Das
Verfahren 700 kann während
der Initialisierung, zum Beispiel während einer Qualifizierung oder
dem Starten der integrierten Schaltung 400, verwendet werden.
Das bedeutet dass das Verfahren 700 nur einmal, beispielsweise
als Teil eines Herstellungsprozesses, oder zu regelmäßigen Zeiten,
zum Beispiel bei jeder Verbindung der integrierten Schaltung 400 mit
einem Hostsystem oder einer Stromquelle, durchgeführt werden
kann.
-
In
einem Schritt 710 wird ein Zähler C initialisiert. Zum Beispiel
kann ein vorbestimmter Wert von 0 oder 1 in dem Zähler C gespeichert
werden. Der Zähler
C kann in einem weiteren Register (nicht dargestellt) des Arbeitsspeichers 570 gespeichert
werden.
-
In
einem Schritt 720 wird eine Speicherzelle, beispielsweise
die Speicherzelle 404, einen oder einer Mehrzahl von Programmierimpulsen
zum Ändern eines
ersten Schwellwertes VTH1 ausgesetzt. Ein
Programmieren kann in einer ähnlichen
Weise durchgeführt
werden, wie in einem der oben beschriebenen Ausgestaltungen, oder
gemäß einem
beliebigen anderen Verfahren zum Programmieren einer Speicherzelle 404.
-
In
einem Schritt 730 wird ein zweiter Schwellwert VTH2, der einem zweiten Programmierzustand zugeordnet
ist, bestimmt. Zum Beispiel kann der Schwellwert einer benachbarten
Speicherzelle 404 bestimmt werden. Gemäß einer alternativen Ausgestaltung
wird ein Schwellenstrom ITH anstelle einer Schwellspannung
UTH bestimmt.
-
In
einem Schritt 740 wird eine Verschiebung des Schwellwertes
VTH2 erkannt. Zum Beispiel kann eine Verschiebung
der Schwell spannung oder des Schwellstroms, wie unter Bezugnahme
auf die 3 und 6 oben beschrieben,
erkannt werden.
-
Falls
im Schritt 740 keine signifikante Verschiebung des zweiten
Schwellwertes VTH2 erkannt wird, wird der
Zähler
C in einem nachfolgenden Schritt 750 erhöht. Danach
wird das Verfahren mit dem Schritt 720 durch Bereitstellen
weiterer Programmierimpulse an die Speicherzelle 404 zum
weiteren Ändern
des ersten Schwellwerts VTH1 fortgesetzt.
-
Falls
jedoch eine signifikante Verschiebung des zweiten Schwellwerts VTH2 im Schritt 740 erkannt wird,
wird der gegenwärtige
Wert des Zählers
C in einem Schritt 740 gespeichert. Zum Beispiel kann der Zählerwert
C in einem weiteren Register (nicht dargestellt) des Arbeitsspeicher 570 oder
in einer Speicherzelle 404 der Matrix 402, die
für eine
Systemnutzung bestimmt ist, gespeichert werden.
-
Sobald
der Zählerwert
C bestimmt und gespeichert ist, endet das Verfahren 700 zum
Bestimmen eines Arbeitspunktes. Der gespeicherte Zählerwert
C entspricht der Anzahl von Programmierimpulsen, die zur Änderung
des ersten Schwellwerts VTH1, der einem
ersten Programmierzustand entspricht, verwendet werden, bevor der
zweite Schwellwert VTH2, der einem zweiten
Programmierzustand entspricht, auf eine negative Weise beeinflusst
wird.
-
Anstatt
den Zählerwert
selbst zu speichern, kann jeder andere Parameter gespeichert werden, der
geeignet ist, ein optimales oder beinahe optimales Arbeitsfenster
zu bestimmen, beispielsweise ein Parameter der die Gesamtladung
oder einen gesamten Strom kennzeichnet, der während einer Programmierung
des ersten Programmierzustands verwendet wird.
-
Das
Verfahren 700 kann auf jede Speicherzelle 404 einer
Matrix 402 während
der Qualifizierung angewendet werden. Alternativ kann auch nur ein
Arbeitspunkt einer Auswahl von Speicherzellen 404 bestimmt
werden. Insbesondere kann das Verfahren 700 nur einmal
oder ein paar Mal für
jede Matrix 402, jeden Löschblock, jede Spalte, jede
Zeile, jede Speicherseite oder jede andere Struktur, die durch die Konfiguration
der integrierten Schaltung 400 festgelegt ist, ausgeführt werden.
Zusätzlich
oder alternativ können
statistische Verfahren wie Mittelwertbildung, Stichprobenentnahme,
Interpolation oder Extrapolation auf die durchgeführten Messungen
oder bestimmten Parameter angewandt werden, um einen optimalen oder
wenigstens verbesserten Betriebsparameter für die integrierte Schaltung
zu bestimmen.
-
Obwohl
in den 3, 6 und 7 mit den
Ablaufdiagrammen der Verfahren 300, 600 und 700 einzelne
Verfahrensschritte in einer bestimmten Reihenfolge dargestellt wurden,
können
viele der Verfahrensschritte in einer anderen von der beschriebenen
Ordnung ausgeführt
werden ohne von der hierin offenbarten Lehre abzuweichen. Gleichfalls können einige
der Verfahrensschritte parallel zueinander ausgeführt werden,
um die Verarbeitungsgeschwindigkeit zu erhöhen. Daher soll jede andere
Abfolge, die ein ähnliches
Ziel durch Ausführen ähnlicher
Schritte erreicht, unter den Schutzbereich fallen, der in den nachfolgenden
Patentansprüchen
bestimmt wird.
-
Desgleichen
können
alle Merkmale, die unter Bezugnahme auf eine bestimmte Ausgestaltung hierin
offenbart wurden, auch in Kombination mit jeder anderen hierin offenbarten
Ausgestaltung verwendet werden, entweder allein oder in Kombination mit
weiteren Merkmalen.
-
Unterschiedliche
Ausgestaltungen von integrierten Schaltkreisen können einzelne Speicherzellen,
große
Matrizen von Speicherzellen allein oder aufwändige Schaltungen mit eingebetteten
Speichern eines größeren Systemchips
enthalten. Im Allgemeinen können
eine oder mehrere Speicherzellen, die hierin beschrieben wurden,
in einer integrierten Schaltung gemäß anderweitig bekannten Verfahrenstechniken
hergestellt werden. Solche integrierte Schaltungen können beispielsweise
zusätzliche
Logikschaltungen, Prozessoren, ASICs und so weiter enthalten.
-
Des
Weiteren kann jede andere bekannte oder zukünftiger Typ von flüchtigen
oder nicht-flüchtigen
Speicher Verwendung finden, obwohl die Ausgestaltungen unter Bezugnahme
auf die häufig
verwendeten NROM oder Floating-Gate EEPROM-Speicher beschrieben
wurden. Insbesondere können
Multi-Level-Zellen (MLC), statischer RAM (SRAM), dynamischer RAM
(DRAM), ferroelektrischer RAM (FRAM, FeRAM), magneto-resistiver
RAM (MRAM), Phase Change Memory (PCM), Phase Change RAM (OCRAM)
Chalcogenide RAM (C-RAM), Ovonic Unified Memory (OUM), Programmable
Metallization Cells (PMC), Organic RAM (ORAM), Conductive Bridge
RAM (CBRAM) oder Nanutube RAM (NRAM) in Verbindung mit den hierin
beschriebenen neuartigen Konzepten Verwendung finden.