-
Die
Erfindung betrifft Verfahren zum Programmieren einer Speicherzelle
und Speicherzellenanordnungen.
-
Beim
Programmieren von Speicherzellen, beispielsweise von nicht-flüchtigen
Speicherzellen, sollte es gewährleistet
sein, dass die zu programmierenden Daten zuverlässig in die Speicherzellen
programmiert werden. Andere Merkmale von nicht-flüchtigen
Speicherzellen sind die so genannte Haltezeit einer Speicherzelle,
d.h. die Zeitdauer, für
die die Speicherzelle ein in sie geschriebenes Datum ausreichend
zuverlässig
speichert, und die so genannte Zykelhaltbarkeit (Endurance), d.h.
die Anzahl von Programmierzyklen, während der die Speicherzelle
in einer ausreichend zuverlässigen
Weise betrieben werden kann.
-
Gemäß einem
Ausführungsbeispiel
der Erfindung wird ein Verfahren zum Programmieren einer Speicherzelle
bereitgestellt, bei dem ermittelt wird, ob die Speicherzelle gemäß einem
vordefinierten Programmier-Neutralisierung-Kriterium neutralisiert wurde. Wenn
die Speicherzelle nicht gemäß dem vordefinierten
Programmier-Neutralisierung-Kriterium
neutralisiert wurde, dann wird die Speicherzelle gemäß einem
ausgewählten
Programmier-Neutralisierung-Prozess neutralisiert. Ferner weist
das Verfahren ein Programmieren der Speicherzelle auf.
-
Gemäß einem
anderen Ausführungsbeispiel der
Erfindung wird ein Verfahren zum Programmieren einer Speicherzelle
bereitgestellt, bei dem bestimmt wird, ob die Speicherzelle gemäß einem
vordefinierten Programmier-Neutralisierung-Prozess neutralisiert wurde. Wenn die
Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde, dann wird
die Speicherzelle programmiert. Wenn die Speicherzelle nicht gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde, dann wird eine
andere Speicherzelle ausgewählt
und es wird bestimmt, ob die weitere Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde. Wenn die
weitere Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde, dann wird
die weitere Speicherzelle programmiert.
-
Bei
einer Speicherzellenanordnung ist eine Mehrzahl von Speicherzellen
vorgesehen. Ferner weist die Speicherzellenanordnung eine Ermittlungseinheit
auf, die eingerichtet ist zum Ermitteln, ob eine zu programmierende
Speicherzelle gemäß einem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert
wurde. Ferner ist eine Steuereinheit vorgesehen, die eingerichtet
ist zum Steuern des Programmierens und Neutralisierens der Speicherzellen,
wobei die Steuereinheit ferner eingerichtet ist zum Neutralisieren
der Speicherzelle gemäß einem ausgewählten Programmier-Neutralisierung-Prozess,
wenn die Speicherzelle nicht gemäß einem
vordefinierten Programmier-Neutralisierung-Prozess neutralisiert wurde.
-
Gemäß einem
anderen Ausführungsbeispiel der
Erfindung ist eine Speicherzellenanordnung vorgesehen, die eine
Mehrzahl von Speicherzellen aufweist sowie eine Ermittlungseinheit,
die eingerichtet ist zum Ermitteln, ob eine zu programmierende Speicherzelle
gemäß einem
vordefinierten Programmier-Neutralisierung-Prozess neutralisiert
wurde. Ferner ist eine Steuereinheit vorgesehen, die eingerichtet
ist zum Steuern des Programmierens und Neutralisierens der Speicherzellen,
wobei die Steuereinheit ferner eingerichtet ist zum Programmieren
der Speicherzelle, wenn die Speicherzelle gemäß dem vordefinierten Programmier-Neutralisierung-Prozess neutralisiert
wurde. Ferner ist die Steuereinheit eingerichtet zum Auswählen einer
weiteren Speicherzelle, wenn die Speicherzelle nicht gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde und zum
Bestimmen, ob die weitere Speicherzelle gemäß dem vordefinierten Programmier-Neutralisierung-Prozess
neutralisiert wurde, sowie zum Veranlassen des Programmierens der
weiteren Speicherzelle, wenn die weitere Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde.
-
Gemäß einem
anderen Ausführungsbeispiel der
Erfindung ist eine Speicherzellenanordnung vorgesehen, die eine
Mehrzahl von Speicherzellen sowie eine Ermittlungseinheit, die eingerichtet
ist zum Ermitteln, ob eine zu programmierende Speicherzelle gemäß einem
vordefinierten Programmier-Neutralisierung-Prozess
neutralisiert wurde, aufweist. Weiterhin ist eine Steuereinheit
vorgesehen, die eingerichtet ist zum Steuern des Programmierens
und Neutralisierens der Speicherzellen. Weiterhin weist die Speicherzellenanordnung
einen Neutralisierung-Schaltkreis auf, der eingerichtet ist zum
Neutralisieren der Speicherzelle gemäß einem ausgewählten Programmier-Neutralisierung-Prozess,
wenn die Speicherzelle nicht gemäß einem
vordefinierten Programmier-Neutralisierung-Prozess neutralisiert wurde.
-
Bei
einem Verfahren zum Programmieren einer Speicherzelle wird ermittelt,
ob die Speicherzelle gemäß einem
vordefinierten Programmier-Neutralisierung-Kriterium neutralisiert
wurde. Wenn die Speicherzelle nicht gemäß dem vordefinierten Programmier-Neutralisierung-Kriterium
neutralisiert wurde, dann wird die Speicherzelle gemäß einem
ausgewählten
Programmier-Neutralisierung-Prozess neutralisiert. Ferner weist
das Verfahren ein Programmieren der Speicherzelle auf.
-
Gemäß einem
anderen Verfahren zum Programmieren einer Speicherzelle wird ermittelt,
ob die Speicherzelle gemäß einem
vordefinierten Programmier-Neutralisierung-Kriterium neutralisiert
wurde. Wenn die Speicherzelle gemäß dem vordefinierten Programmier-Neutralisierung-Kriterium
neutralisiert wurde, dann wird die Speicherzelle programmiert. Wenn
die Speicherzelle nicht gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde, dann wird
eine weitere Speicherzelle ausgewählt und es wird ermittelt,
ob die weitere Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Kriterium
neutralisiert wurde. Wenn die weitere Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Kriterium
programmiert wurde, dann wird die weitere Speicherzelle programmiert.
-
Eine
andere Speicherzellenanordnung weist eine Mehrzahl von Speicherzellen
auf sowie eine Ermittlungseinheit, die eingerichtet ist zum Ermitteln,
ob eine zu programmierende Speicherzelle gemäß einem vordefinierten Programmier-Neutralisierung-Kriterium
neutralisiert wurde. Ferner weist die Speicherzellenanordnung eine
Steuereinheit auf, die eingerichtet ist zum Steuern des Programmierens
und Neutralisierens der Speicherzellen, wobei die Steuereinheit
ferner eingerichtet ist zum Neutralisieren der Speicherzelle gemäß einem
ausgewählten
Programmier-Neutralisierung-Prozess, wenn die Speicherzelle nicht
gemäß dem vordefinierten
Programmier-Neutralisierung-Kriterium neutralisiert wurde, und zum
Programmieren der Speicherzelle.
-
Eine
andere Speicherzellenanordnung weist eine Mehrzahl von Speicherzellen
auf sowie eine Ermittlungseinheit, die eingerichtet ist zum Ermitteln,
ob eine zu programmierende Speicherzelle gemäß einem vordefinierten Programmier-Neutralisierung-Kriterium
neutralisiert wurde. Weiterhin ist eine Steuereinheit vorgesehen,
die eingerichtet ist zum Steuern des Programmierens und Neutralisierens
der Speicherzellen. Die Steuereinheit ist ferner eingerichtet zum
Programmieren der Speicherzelle, wenn die Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Kriterium neutralisiert wurde. Weiterhin
ist die Steuereinheit eingerichtet zum Auswählen einer weiteren Speicherzelle,
wenn die Speicherzelle nicht gemäß dem vordefinierten
Programmier-Neutralisierung-Kriterium
neutralisiert wurde.
-
Beispielhafte
Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
-
Gemäß einer
Ausgestaltung der Erfindung ist es vorgesehen, dass beim Ermitteln,
ob die Speicherzelle gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde, ermittelt
wird, ob Speicherzellen eines Speicherzellensektors, welcher die
Speicherzellen enthält,
gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurden.
-
Gemäß einer
anderen Weiterbildung der Erfindung wird beim Ermitteln, ob die
ausgewählte Speicherzelle
gemäß einem
vordefinierten Programmier-Neutralisierung-Prozess, neutralisiert
wurde, eine Speicherzellensektor-Programmier-Neutralisierung-Zustandsinformation
aus einer Programmier-Neutralisierung-Zustandstabelle
ausgelesen, welche die Information enthält, zugeordnet einem jeden
Speicherzellensektor einer Mehrzahl von Speicherzellensektoren,
mit welchem Programmier-Neutralisierung-Prozess
die Speicherzellen des jeweiligen Speicherzellensektors neutralisiert
wurden. Ferner wird ermittelt, ob der Programmier-Neutralisierung-Prozess,
der von der Speicherzellensektor-Programmier-Neutralisierung-Zustandsinformation
für den
ausgewählten
Speicherzellensektor identifiziert wird, mit einem vordefinierten
Programmier-Neutralisierung-Prozess übereinstimmt.
-
Gemäß einem
anderen Ausführungsbeispiel der
Erfindung ist es vorgesehen, dass bei dem Ermitteln, ob die Speicherzellen
des Speicherzellensektors gemäß dem vordefinierten
Programmier- Neutralisierung-Prozess
neutralisiert wurden, eine Speicherzellensektor-Programmier-Neutralisierung-Zustandsinformation
aus einer Programmier-Neutralisierung-Zustandstabelle ausgelesen wird, welche
die Information enthält,
zugeordnet zu jedem Speicherzellensektor der Mehrzahl von Speicherzellensektoren,
mit welchem Programmier-Neutralisierung-Prozess
die Speicherzellen des jeweiligen Speicherzellensektors neutralisiert
wurden. Ferner ist es gemäß diesem
Ausführungsbeispiel
der Erfindung vorgesehen zu ermitteln, ob der von der Speicherzellensektor-Programmier-Neutralisierung-Zustandsinformation
identifizierte Programmier-Neutralisierung-Prozess für den ausgewählten Speicherzellensektor
mit einem vorbestimmten Programmier-Neutralisierung-Prozess übereinstimmt.
-
Gemäß einer
anderen Ausgestaltung der Erfindung ist es vorgesehen, dass die
Speicherzelle eine nicht-flüchtige
Speicherzelle aufweist oder ist. Weiterhin kann die Speicherzelle
eine Floating Gate Speicherzelle aufweisen oder sein, beispielsweise eine
Multi-Bit-Floating Gate-Speicherzelle
oder eine Multi-Level-Floating Gate-Speicherzelle aufweisen oder sein.
-
Die
Speicherzelle kann ferner eine Ladungsfänger-Speicherzelle aufweisen oder sein, beispielsweise
eine Multi-Bit-Ladungsfänger-Speicherzelle oder
eine Multi-Level-Ladungsfänger-Speicherzelle.
-
Der
Programmier-Neutralisierung-Prozess kann einen Trap-Neutralisierung-Prozess
aufweisen.
-
Gemäß einer
anderen Ausgestaltung der Erfindung ist es vorgesehen, dass, wenn
die Speicherzelle nicht neutralisiert wurde, ein Programmier-Neutralisierung-Prozess
aus einer Mehrzahl von Programmier-Neutralisierung-Prozessen ausgewählt wird
und die Speicherzelle gemäß dem ausgewählten Programmier-Neutralisierung-Prozess
neutralisiert wird.
-
Weiterhin
kann es vorgesehen sein, dass jeder Speicherzellensektor in mindestens
ein Qualitätsklassensegment
einer Mehrzahl von Qualitätsklassensegmenten
von mindestens einer Qualitätsklasse
klassifiziert wird. Der vordefinierte Löschprozess oder Programmier-Neutralisierung-Prozess kann
in dieser Ausgestaltung der Erfindung abhängig sein von dem Qualitätssegment,
in das der Speicherzellensektor klassifiziert wurde.
-
Weiterhin
kann jede Qualitätsklasse
der Mehrzahl von Qualitätsklassen
eine Qualitätsklasse sein,
die ausgewählt
wird aus der Gruppe von Qualitätsklassen
bestehend aus einer Datenspeicher-Geschwindigkeit-Klasse, einer
Datenspeicher-Zuverlässigkeit-Klasse
und einer Datenspeicher-Multi-Level-Fähigkeit-Klasse.
-
Bei
einer Ausgestaltung einer Speicherzellenanordnung kann ein Programmier-Neutralisierung-Prozess-Speicher
vorgesehen sein zum Speichern einer Mehrzahl von Programmier-Neutralisierung-Prozessen.
-
Die
Speicherzellen können
nicht-flüchtige Speicherzellen
aufweisen oder als solche ausgebildet sein, wobei die Speicherzellen
beispielsweise Floating Gate Speicherzellen aufweisen können oder als
solche ausgebildet sein können.
Die Speicherzellen können
ferner Multi-Bit-Floating Gate-Speicherzellen
oder Multi-Level-Floating Gate-Speicherzellen sein oder solche aufweisen.
-
Weiterhin
können
die Speicherzellen Ladungsfänger-Speicherzellen aufweisen
oder als solche ausgebildet sein. Beispielsweise können die Speicherzellen
Multi-Bit-Ladungsfänger-Speicherzellen
oder Multi-Level-Ladungsfänger-Speicherzellen sein
oder als solche ausgebildet sein.
-
Es
ist gemäß einer
Ausgestaltung der Erfindung vorgesehen, dass jeder Programmier-Neutralisierung-Prozess
einen Trap-Neutralisierung-Prozess aufweist.
-
Ferner
kann das vordefinierte Programmier-Neutralisierung-Kriterium ein vordefinierter
Programmier-Neutralisierung-Pegel
sein.
-
Ausführungsbeispiele
der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert.
-
Es
zeigen
-
1 ein
Blockdiagramm eines Speichers gemäß einem Ausführungsbeispiel
der Erfindung;
-
2 ein
Ablaufdiagramm der Schritte eines Verfahrens zum Erhöhen der
Zykelhaltbarkeit eines nicht-flüchtigen
Speichers gemäß einem
Ausführungsbeispiel
der Erfindung;
-
3 ein
Ablaufdiagramm eines Verfahrens zum Programmieren eines nicht-flüchtigen
Speichers gemäß einem
Ausführungsbeispiel
der Erfindung; und
-
4 ein
Ablaufdiagramm eines Ausführungsbeispiels
eines Programmier-Neutralisierung-Prozesses.
-
Im
Rahmen dieser Beschreibung werden die Ausdrücke "verbunden" und "gekoppelt" verwendet zum Bezeichnen sowohl einer
direkten als auch einer indirekten "Verbindung" bzw. "Kopplung".
-
Im
Rahmen dieser Beschreibung wird unter dem Ausdruck "Programmier-Neutralisierung" beispielsweise jede
Art eines Prozesses verstanden, der verwendet wird zum Neutralisieren der
Effekte einer Programmier-Operation, in anderen Worten, einer Operation
zum Programmieren einer Speicherzelle.
-
In
einem Ausführungsbeispiel
der Erfindung bezeichnet der Ausdruck "Programmier-Neutralisierung" beispielsweise einen
Lösch-Prozess,
bei dem der logische Zustand einer Speicherzelle oder einer Mehrzahl
von Speicherzellen verändert
wird, beispielsweise gelöscht
wird. Ferner bezeichnet der Ausdruck "Programmier-Neutralisierung" beispielsweise jede
Art eines Neutralisierung-Prozesses, der eingesetzt werden kann
zum Neutralisieren der Effekte einer Programmier-Operation, ohne
dass der logische Zustand verändert
wird (beispielsweise logisch "0" oder logisch "1", in dem Fall einer Ein-Level-Zelle;
oder beispielsweise logisch "00" oder logisch "01", logisch "10", logisch "11", in dem Fall einer Multi-Level-Zelle;
etc.). In einem Ausführungsbeispiel der
Erfindung ist unter dem Ausdruck "Programmier-Neutralisierung" jede Art eines Prozesses
zu verstehen, der verwendet wird beispielsweise zum Neutralisieren
der Effekte einer Programmier-Operation, angewendet auf eine oder
mehrere dielektrische Schichten einer Floating Gate-Speicherzelle
oder einer Mehrzahl von Floating Gate-Speicherzellen oder beispielsweise
von Effekten einer Programmier-Operation, angewendet auf eine oder
mehrere dielektrische Schichten einer Ladungsfänger-Speicherzelle oder einer
Mehrzahl von Ladungsfänger-Speicherzellen,
beispielsweise angewendet auf die jeweilige(n) Ladungsfänger-Schicht(en).
-
Im
Rahmen dieser Beschreibung wird unter dem Ausdruck "Multi-Bit"-Speicherzelle(n)
beispielsweise eine oder mehrere Speicherzellen verstanden, welche
eingerichtet ist/sind zum Speichern einer Mehrzahl von Bits mittels
räumlich
separater Elektrische-Ladung-Speicherbereiche, womit eine Mehrzahl
von logischen Zuständen
repräsentiert
wird.
-
Im
Rahmen dieser Beschreibung wird unter dem Ausdruck "Multi-Level"-Speicherzelle(n)
beispielsweise eine oder mehrere Speicherzellen verstanden, welche
eingerichtet ist/sind zum Speichern einer Mehrzahl von Bits mittels
unterscheidbarer Schwellenspannungen, die abhängig sind von der Menge elektrischer
Ladung, die in der/den Speicherzelle(n) gespeichert ist, womit eine
Mehrzahl von logischen Zuständen
repräsentiert
wird.
-
Im
Rahmen dieser Beschreibung kann eine "flüchtige
Speicherzelle" verstanden
werden als eine Speicherzelle, die Daten speichert, wobei die Daten aufgefrischt
(refreshed) werden während
eine Energieversorgungs-Spannung des Speichersystems aktiv ist,
in anderen Worten, in einem Zustand des Speichersystems, in dem
das Speichersystem mit Energieversorgungs-Spannung versorgt wird.
-
Im
Gegensatz dazu kann im Rahmen dieser Beschreibung eine "nicht-flüchtige Speicherzelle" verstanden werden
als eine Speicherzelle, die eingerichtet ist zum Speichern von Daten,
wobei die gespeicherten Daten nicht aufgefrischt ("refreshed") werden, während die
Energieversorgungs-Spannung des Speichersystems aktiv ist. Jedoch
umfasst eine "nicht-flüchtige Speicherzelle" im Rahmen dieser
Beschreibung eine Speicherzelle, deren gespeicherte Daten nach einer
Unterbrechung der externen Energieversorgung aufgefrischt werden
können.
Beispielsweise können
die gespeicherten Daten während
eines Hochfahr-Prozesses (Boot-Prozesses) des Speichersystems aufgefrischt
werden, nachdem das Speichersystem ausgeschaltet worden ist oder
in einen Energie-Deaktivierungsmodus zum Energiesparen überführt worden
ist, wobei in diesem Modus mindestens einige oder die meisten Komponenten des
Speichersystems deaktiviert sind. Ferner können die gespeicherten Daten
gemäß einer
regulären
Zeitbasis, anders ausgedrückt
in regulären
zeitlichen Abständen,
aufgefrischt werden, aber nicht, wie bei einer "flüchtigen
Speicherzelle" alle
wenigen Pikosekunden oder Nanosekunden oder Millisekunden, sondern
eher in einem Bereich von Stunden, Tagen, Wochen oder Monaten.
-
1 zeigt
ein Blockdiagramm eines Ausführungsbeispiels
einer nicht-flüchtigen
Speicherzellenanordnung 100.
-
Obwohl
die folgenden Ausführungsbeispiele nicht-flüchtige Speicherzellenanordnungen
beschreiben ist, die Erfindung ebenso anwendbar auf flüchtige Speicherzellenanordnungen.
Ferner ist die Erfindung auch anwendbar auf Floating Gate-Speicherzellenanordnungen
wie auch auf Ladungsfänger-Speicherzellenanordnungen.
-
In
einem Ausführungsbeispiel
der Erfindung weist die Ladungsfänger-Speicherzelle
eine Ladungsfänger-Schichtstruktur auf.
Die Ladungsfänger-Schichtstruktur
enthält
einen dielektrischen Schichtstapel mit mindestens zwei dielektrischen Schichten,
die aufeinander oder übereinander
angeordnet sind, wobei Ladungsträger
in mindestens einer dielektrischen Schicht der mindestens zwei dielektrischen
Schichten eingefangen (getrapped) werden können. Beispielsweise kann die
Ladungsfänger-Schichtstruktur
eine Ladungsfänger-Schicht
enthalten, welche ein Material oder mehrere Materialien aufweisen
kann oder aus diesen bestehen kann, wobei das Material oder die
Materialien ausgewählt ist/sind
aus einer Gruppe von Materialien bestehend aus: Aluminiumoxid (Al2O3), Yttriumoxid
(Y2O3), Hafniumoxid
(HfO2), Lanthanoxid (LaO2),
Zirkoniumoxid (ZrO2), amorphes Silizium
(a-Si), Tantaloxid (Ta2O5), Titanoxid
(TiO2) und/oder einem Aluminat. Ein Beispiel
für ein
Aluminat ist eine Legierung der Komponenten Aluminium, Zirkonium
und Sauerstoff (AlZrO). In einem Ausführungsbeispiel der Erfindung
enthält die
Ladungsfänger-Schichtstruktur
einen dielektrischen Schichtstapel mit drei dielektrischen Schichten,
die aufeinander ausgebildet sind, beispielsweise eine erste Oxidschicht
(beispielsweise Siliziumoxid), eine Nitridschicht als Ladungsfänger-Schicht
(beispielsweise Siliziumnitrid) auf der ersten Oxidschicht und eine
zweite Oxidschicht (beispielsweise Siliziumoxid oder Aluminiumoxid)
auf der Nitridschicht. Diese Art eines dielektrischen Schichtstapels
wird auch als ONO-Schichtstapel bezeichnet. In einer alternativen Ausführungsform
der Erfindung enthält
die Ladungsfänger-Schichtstruktur
zwei, drei, vier oder sogar mehr dielektrische Schichten, die aufeinander
oder übereinander
ausgebildet sind. In der strukturierten Ladungsspeicher-Schichtstruktur
ist eine Steuergate-Schicht vorgesehen, beispielsweise hergestellt aus
Polysilizium oder einem Metall wie beispielsweise Kupfer oder Aluminium.
-
Die
nicht-flüchtige
Speicherzellenanordnung 100 weist eine oder mehrere nicht-flüchtige Speicher 102 auf
mit einer Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114.
Jeder Speicherzellensektor 104, 106, 108, 110, 112 und 114 weist eine
Mehrzahl von nicht-flüchtigen
Speicherzellen auf, wobei jede Speicherzelle eingerichtet ist zum Speichern
von einem Datum oder einer Mehrzahl von Daten, beispielsweise einem
Bit oder einer Mehrzahl von Bits.
-
In 1 sind
aus Gründen
der besseren Übersichtlichkeit
lediglich sechs Speicherzellensektoren 104, 106, 108, 110, 112 und 114 dargestellt.
Die nicht-flüchtige
Speicherzellenanordnung 100 kann eine beliebige Anzahl
von Speicherzellensektoren enthalten und jeder Speicherzellensektor
kann eine beliebige Anzahl von Speicherzellen enthalten. In einem
Ausführungsbeispiel
der Erfindung enthält
ein Speicherzellensektor 104, 106, 108, 110, 112 und 114 eine
Anzahl von Speicherzellen, die gleichzeitig gelöscht werden (auch bezeichnet
als Lösch-Sektoren). Jedoch
kann jede andere Art einer Gruppierung der Speicherzellen zu Gruppen
in einer alternativen Ausführungsform
der Erfindung vorgesehen sein. Die nicht-flüchtige
Speicherzellenanordnung 100 weist ferner einen Lösch-Schaltkreis 118 auf,
der eingerichtet ist zum Implementieren eines Default-Löschverfahrens
zum Löschen
der Speicherzellen der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 in
herkömmlicher
Weise. Nachdem ein Speicherzellensektor 104, 106, 108, 110, 112 und 114 eine
bestimmte Anzahl von Malen gelöscht
worden ist, degradieren die Haltezeit und die Zuverlässigkeit
der Speicherzellen des Speicherzellensektors 104, 106, 108, 110, 112 und 114 auf
einen nicht mehr akzeptablen Grad.
-
Die
nicht-flüchtige
Speicherzellenanordnung 100 weist ferner einen Zykelhaltbarkeit-Erhöhung-Schaltkreis 116 auf,
der eingerichtet ist zum Erhöhen
der Zykelhaltbarkeit (Endurance) der Speicherzelle des Speichers 102 mittels
Anlegens einer Mehrzahl von unterschiedlichen Arten von Trap-Neutralisierung-Verfahren
an die Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 des Speichers 102.
Das Anlegen der unterschiedlichen Arten von Trap-Neutralisierung-Verfahren
an die Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 wird
im Folgenden unter Bezugnahme auf die 2 und die 3 näher erläutert.
-
Es
wird beispielsweise ein NROM (Nitrided Read Only Memory) als ein
Beispiel einer Ladungsfänger-Speicherzellenanordnung
angenommen mit einer Mehrzahl von Speicherzellensektoren, die in unterschiedlichen
Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegmenten
enthalten sind.
-
Es
werden Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegmente von Speicherzellen angenommen
mit einer Datenspeicher-Fähigkeit
von 1 Bit/Zelle, 2 Bit/Zelle, 4 Bit/Zelle und 6 Bit/Zelle.
-
Ein
Trap-Neutralisierung-Prozess, der verwendet wird für die Speicherzellensektoren
in dem 1 Bit/Zelle-Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegment
könnte
ein Löschen
sein mit einem kurzen einzelnen Puls HH (Hot Hole) sein, auch bezeichnet
als kurzer einzelner Heißes-Loch-Puls.
-
Ferner
könnte
dann ein so genanntes "Programmieren
nach Löschen" (Program After Erase, PAE)
auf diese Speicherzellensektoren durchgeführt werden.
-
Ein
Trap-Neutralisierung-Prozess, der für die Speicherzellensektoren
in dem 2 Bit/Zelle-Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegment
verwendet werden kann, könnte
ein Löschen mit
zwei Pulsen HH (Hot Hole), anders ausgedrückt mit zwei Heißes-Loch-Pulsen,
mit vereinzeltem "Programmieren
vor Löschen"-Verfahren (Program
Before Erase, PBE). Ein Programmieren-nach-Löschen (Program After Erase,
PAE) könnte
dann auf diese Speicherzellensektoren ausgeführt werden.
-
Ein
Trap-Neutralisierung-Prozess, der für die Speicherzellensektoren
in dem 4 Bit/Zelle-Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegment
verwendet werden kann, könnte
ein elektrisches Programmier-Neutralisierung-Verfahren
sein, das im Weiteren unter Bezugnahme auf 4 näher erläutert wird.
-
Eine
Programmier-Neutralisierung-Sektortabelle 120 speichert
die Information darüber,
welche Art der Mehrzahl von Trap-Neutralisierung-Verfahren,
die im Folgenden näher
erläutert
werden, auf einen jeweiligen Speicherzellensektor der Mehrzahl von
Speicherzellensektoren 104, 106, 108, 110, 112 und 114 angewendet
wird. Beispielsweise wird für den
Fall, dass ein Löschen
mit einem schnellen einzelnen Puls HH (Hot Hole) auf einen ersten
Speicherzellensektor 104 angewendet wird, kann ein entsprechend
zugeordnetes Flag in der Programmier-Neutralisierung-Sektortabelle 120 gesetzt
werden, mit welchem angezeigt wird, dass diese Art eines Trap-Neutralisierung-Verfahrens
auf den ersten Speicherzellensektor 104 angewendet worden
ist. Die Programmier-Neutralisierung-Sektortabelle 120 kann
in dem Speicher 102 als ein separater Speicherbereich implementiert
sein oder in einem separaten nicht-flüchtigen Speicher.
-
Eine
Steuereinheit (Controller) 122 kann eingerichtet sein zum Überprüfen der
Programmier-Neutralisierung-Sektortabelle 120 zum Gewährleisten,
dass eine akzeptable Art eines Trap-Neutralisierung-Verfahrens der Mehrzahl
von Trap-Neutralisierung-Verfahren
auf einen bestimmten Speicherzellensektor der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 angewendet wurde,
bevor der bestimmte Speicherzellensektor der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 programmiert
wird.
-
Es
wird beispielsweise angenommen, dass die Traps in den Speicherzellen
des ersten Speicherzellensektors 104 neutralisiert werden
können
mittels Durchführens
eines Löschens
mit einem kurzen einzelnen Hot Hole-Puls oder mittels Durchführens eines
anderen Trap-Neutralisierung-Verfahrens
der Mehrzahl von Arten von Trap-Neutralisierung-Verfahren. Bevor der erste Speicherzellensektor 104 programmiert
wird kann die Steuereinheit 122 die Programmier-Neutralisierung-Sektortabelle 120 überprüfen zum
Ermitteln, ob das Löschen
mit einem kurzen einzelnen Hot Hole-Puls oder einem anderen Trap-Neutralisierung-Verfahren
auf den ersten Speicherzellensektor 104 durchgeführt wurde.
Wenn ein Trap-Neutralisierung-Verfahren
auf den ersten Speicherzellensektor 104 mit akzeptablem
Erfolg durchgeführt
wurde (was repräsentiert
werden kann mittels der Information darüber, welches Trap-Neutralisierung-Verfahren
(im Allgemeinen, welches Programmier-Neutralisierung-Verfahren)
auf die Speicherzellen des ersten Speicherzellensektors 104 ausgeführt wurde),
dann kann die Steuereinheit 122 die Speicherzelle oder
die Speicherzellen des ersten Speicherzellensektors 104 programmieren,
da die Zykelhaltbarkeit der Speicherzellen des ersten Speicherzellensektors
in geeigneter Weise mittels des akzeptablen Trap-Neutralisierung-Verfahrens
erhöht
wurde.
-
Zusätzlich oder
alternativ kann die Steuereinheit 122 eingerichtet sein
zum Durchsuchen der Lösch-Sektortabelle 120 zum
Finden eines Speicherzellensektors der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114,
die Speicherzellen aufweisen, auf welche ein akzeptabler Typ eines Trap-Neutralisierung-Verfahrens
der Mehrzahl von Trap-Neutralisierung-Verfahren
angewendet wurde. Sobald ein Speicherzellensektor 104, 106, 108, 110, 112 und 114,
der eine ausreichende Qualität
aufweist, gefunden wurde, deren Speicherzellen einen akzeptablen
Typ von Trap-Neutralisierung-Verfahren der
Mehrzahl von Trap-Neutralisierung-Verfahren
unterzogen wurden, können
die Speicherzellensektoren 104, 106, 108, 110, 112 und 114 programmiert werden,
da die Zykelhaltbarkeit des Speicherzellensektors 104, 106, 108, 110, 112 und 114 mittels
des akzeptablen Trap-Neutralisierung-Verfahrens geeignet erhöht worden
ist. Die Steuereinheit 122 erhält Befehlssignale mittels einer
Befehlsschnittstelle CMD und Adresssignale mittels einer Adressschnittstelle
ADD zum Steuern des Speichers 102. Ein Multiplexer 124 ist
vorgesehen zum selektiven Ausgeben von Signalen von dem Speicher 102 oder
der Steuereinheit 122 an den Eingabe/Ausgabe-Port IO der nicht-flüchtigen
Speicherzellenanordnung 100.
-
In
einer alternativen Ausführungsform
der Erfindung kann die Funktionalität des Lösch-Schaltkreises 118 und
des Zykelhaltbarkeit-Erhöhung-Schaltkreises 116 in
die Steuereinheit 122 mittels eines entsprechenden Computerprogramms
integriert sein.
-
2 zeigt
ein Ablaufdiagramm eines Ausführungsbeispiels
eines Verfahrens 200 zum Programmieren eines nicht-flüchtigen
Speichers, welches eine erhöhte
Zykelhaltbarkeit zeigt verglichen mit dem herkömmlichen Verfahren.
-
In
Schritt 202 wird ein Default-Lösch-Prozess verwendet zum Löschen der
Speicherzellensektoren 104, 106, 108, 110, 112 und 114.
Dieser Default-Lösch-Prozess
kann ein herkömmlicher Lösch-Prozess
sein ausgewählt
abhängig
von dem bestimmten Typ von Speicherzellen, die in der nicht-flüchtigen
Speicherzellenanordnung 100 enthalten sind. Nach einer
bestimmten Anzahl von Zyklen von wiederholtem Löschen und Programmieren der
Speicherzellen der Speicherzellensektoren 104, 106, 108, 110, 112 und 114 der
nicht-flüchtigen
Speicherzellenanordnung 100 verschlechtern sich die Speicherzellen
hinsichtlich ihrer Zuverlässigkeit
und ihrer Datenhaltezeit.
-
Ein
Grund für
die begrenzte Zykelhaltbarkeit ist in den Ladungen, die in den Speicherzellen
eingefangen sind, zu sehen. Die Zykelhaltbarkeit der Speicherzellen
der nicht-flüchtigen
Speicherzellenanordnung 100 kann erhöht werden, indem ein geeignetes Trap-Neutralisierung-Verfahren
oder ein geeigneter Trap-Neutralisierung-Prozess auf die Speicherzellen der
nicht-flüchtigen
Speicherzellenanordnung 100 ausgeführt wird. Mittels Anlegens
geeigneter Spannungen können
die Ladungen in den Traps der Speicherzellen neutralisiert werden.
Beispielsweise kann die Ladungs-Verteilung
in der Ladungsfänger-Schicht
einer Ladungsfänger-Speicherzelle auf einen
Default-Zustand zurückgesetzt
werden mittels Anlegens von Spannungen, die erforderlich sind zum Erhalten
einer negativen Gate-Spannung-Belastung.
-
Da
die Größe eines
nicht-flüchtigen
Speichers immer weiter erhöht
wird können
unterschiedliche Speicherzellensektoren 104, 106, 108, 110, 112 und 114 der
nicht-flüchtigen
Speicherzellenanordnung 100 für unterschiedliche Zwecke eingesetzt werden
abhängig
von einer Qualitätsklasse
eines bestimmten Speicherzellensektors 104, 106, 108, 110, 112 und 114.
-
Der
Ausdruck "Qualitätsklasse" wird verwendet zum
Klassifizieren der Zwecke, für
die die Speicherzellen eines jeweiligen Speicherzellensektors 104, 106, 108, 110, 112 und 114 eingesetzt
werden können.
-
Die
Qualitätsklassen
können
beispielsweise sein eine Datenspeicher-Zuverlässigkeit-Klasse, eine Datenspeicher-Geschwindigkeit-Klasse
und eine Datenspeicher-Multi-Level-Fähigkeit-Klasse.
In anderen Worten sind mindestens einigen der Speicherzellensektoren 104, 106, 108, 110, 112 und 114 oder
allen Speicherzellensektoren 104, 106, 108, 110, 112 und 114 ein
Qualitätsklassensegment
oder mehrere Qualitätsklassensegmenten
zugeordnet, womit die Speicherzellen charakterisiert werden, die in
dem jeweiligen Speicherzellensektor 104, 106, 108, 110, 112 und 114 enthalten
sind, beispielsweise hinsichtlich ihrer Datenspeicher-Geschwindigkeit-Fähigkeit
(beispielsweise repräsentiert
mittels einer Datenspeicher-Geschwindigkeit-Klasse), beispielsweise wie schnell
Daten in die Speicherzellen des Speicherzellensektors geschrieben
werden können
oder wie schnell Daten aus den Speicherzellen des Speicherzellensektors
gelesen werden können,
beispielsweise hinsichtlich der Datenspeicher-Zuverlässigkeit (beispielsweise
repräsentiert
mittels einer Datenspeicher-Zuverlässigkeit-Klasse),
beispielsweise wie zuverlässig
die Daten in den Speicherzellen des Speicherzellensektors gespeichert
werden können
und voneinander unterschieden werden können oder beispielsweise im
Hinblick auf eine Datenspeicher-Multi-Level-Fähigkeit (beispielsweise repräsentiert
mittels einer Datenspeicher-Multi-Level-Fähigkeit-Klasse),
beispielsweise, ob eine Mehrzahl von Bits (beispielsweise 2, 3,
4, etc.) in jeder Speicherzelle der Speicherzellen des Speicherzellensektors 104, 106, 108, 110, 112 und 114 gespeichert
werden können.
In anderen Worten bezieht sich im Rahmen dieser Beschreibung der
Ausdruck "Datenspeicher-Multi-Level-Fähigkeit-Klasse" auf eine Multi-Level-Datenspeicher-Fähigkeit.
Speicherzellensektoren 104, 106, 108, 110, 112 und 114,
für die
ermittelt wird, dass sie Mitglieder eines Datenspeicher-Multi-Level-Fähigkeit- Klassensegments sind,
gemäß dem ein Multi-Level-Speichern
ermöglicht
ist, können
als Multi-Level-Speicherzellen verwendet werden.
-
Speicherzellensektoren 104, 106, 108, 110, 112 und 114,
für die
ermittelt wird, dass sie Mitglieder eines Datenspeicher-Zuverlässigkeit-Klassensegments
sind mit einer akzeptabel hohen Zuverlässigkeit, können verwendet zum Archivieren
von Daten, anders ausgedrückt
für Archivierungszwecke.
-
Speicherzellensektoren 104, 106, 108, 110, 112 und 114,
für die
ermittelt wird, dass sie Mitglieder eines Datenspeicher-Geschwindigkeit-Klassensegments
sind mit einer akzeptabel hohen Geschwindigkeit, können verwendet
für einen
Cache-Speicher.
-
Speicherzellensektoren 104, 106, 108, 110, 112 und 114,
für die
ermittelt wird, dass sie Mitglieder sind von mehr als einer Qualitätsklasse
der Mehrzahl von Qualitätsklassen,
können
ebenfalls für
bestimmte Zwecke eingesetzt werden.
-
Beispielsweise
kann für
Speicherzellensektoren 104, 106, 108, 110, 112 und 114 ermittelt
werden, dass sie Mitglieder eines bestimmten Datenspeicher-Geschwindigkeit-Klassensegments
und eines bestimmten Datenspeicher-Zuverlässigkeit-Klassensegments sind. Speicherzellensektoren 104, 106, 108, 110, 112 und 114,
die nicht in einem der Datenspeicher-Zuverlässigkeit-Klassensegmente der höchsten Zuverlässigkeitsstufe
sind oder nicht in einem Datenspeicher-Geschwindigkeit-Qualitätsklassensegment
der schnelleren Datenspeicher-Geschwindigkeit-Qualitätsklassensegmente
können zum
Speichern von Nutzerdaten verwendet werden.
-
Jeder
Trap-Neutralisierung-Prozess der Mehrzahl von Trap-Neutralisierung-Prozessen
kann eingerichtet sein abhängig
von der Qualitätsklasse bzw.
des oder der Qualitätsklassensegmente
des oder der Speicherzellensektor(en) 104, 106, 108, 110, 112 und 114,
auf den oder auf die der Trap-Neutralisierung-Prozess angewendet
wird. Beispielsweise kann jeder Trap-Neutralisierung-Prozess der Mehrzahl
von Trap-Neutralisierung-Prozesse eingerichtet sein abhängig von
dem Datenspeicher-Multi-Level-Fähigkeit-Klassensegment oder
der Anzahl von Bits pro Speicherzelle, die in dem oder den Speicherzellensektor(en) 104, 106, 108, 110, 112 und 114 gespeichert
werden, auf die der Trap-Neutralisierung-Prozess
angewendet wird.
-
In
Schritt 204 wählt
die Steuereinheit 122 einen Speicherzellensektor 104, 106, 108, 110, 112 und 114 aus
einer Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 aus,
nachdem eine oder mehrere Programmier-Anweisung(en), beispielsweise mittels
der Befehlsschnittstelle CMD und der Adressschnittstelle ADD empfangen
wurde.
-
Dann
ermittelt die Steuereinheit 122 in Schritt 206,
ob die Speicherzellen des ausgewählten Speicherzellensektors 104, 106, 108, 110, 112 und 114 gemäß einem
vordefinierten Programmier-Neutralisierung-Prozess neutralisiert
wurde.
-
Wenn
die Speicherzellen des ausgewählten Speicherzellensektors 104, 106, 108, 110, 112 und 114 gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurden, wird/werden eine
Speicherzelle oder mehrere Speicherzellen des ausgewählten Speicherzellensektors 104, 106, 108, 110, 112 und 114 programmiert
(anders ausgedrückt, es
werden Daten in die Speicherzelle(n) geschrieben) gemäß der/den
empfangenen Programmier-Anweisung(en).
-
Wenn
die Speicherzellen des ausgewählten Speicherzellensektors 104, 106, 108, 110, 112 und 114 nicht
gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurden, werden
die Speicherzellen des ausgewählten
Speicherzellensektors 104, 106, 108, 110, 112 und 114 in Schritt 210 gemäß einem
ausgewählten
Programmier-Neutralisierung-Prozess
neutralisiert.
-
Dann
wird/werden in Schritt 212 eine Speicherzelle oder mehrere
Speicherzellen des ausgewählten
und neutralisierten Speicherzellensektors 104, 106, 108, 110, 112 und 114 programmiert
(anders ausgedrückt,
es werden Daten in die Speicherzelle(n) geschrieben) gemäß der/den
empfangenen Programmier-Anweisung(en).
-
3 zeigt
ein Ablaufdiagramm eines anderen Ausführungsbeispiels eines Verfahrens 300 zum Programmieren
eines nicht-flüchtigen
Speichers, welches eine erhöhte
Zykelhaltbarkeit zeigt verglichen mit dem herkömmlichen Verfahren.
-
Die
Prozesse 202 bis 208 sind identisch mit den Prozessen
gemäß den in 2 dargestellten Ausführungsbeispielen
und werden aus diesem Grund nicht erneut erläutert.
-
Jedoch
wird gemäß diesem
Ausführungsbeispiel
der Erfindung in dem Fall, dass die Speicherzellen des ausgewählten Speicherzellensektors 104, 106, 108, 110, 112 und 114 nicht
gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurden, in Schritt 302 ein
weiterer Speicherzellensektor der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 ausgewählt.
-
In
Schritt 304 ermittelt die Steuereinheit 122, ob
die Speicherzellen des ausgewählten
weiteren Speicherzellensektors 104, 106, 108, 110, 112 und 114 gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurde.
-
Wenn
die Speicherzellen des ausgewählten weiteren
Speicherzellensektors 104, 106, 108, 110, 112 und 114 gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurden, wird/werden
in Schritt 306 eine Speicherzelle oder mehrere Speicherzellen
des ausgewählten
weiteren Speicherzellensektors 104, 106, 108, 110, 112 und 114 programmiert
(in anderen Worten, es wird ein Datum in die Speicherzelle(n) geschrieben)
gemäß der/den
empfangenen Programmier-Anweisung(en).
-
Wenn
die Speicherzellen des ausgewählten weiteren
Speicherzellensektors 104, 106, 108, 110, 112 und 114 nicht
gemäß dem vordefinierten
Programmier-Neutralisierung-Prozess neutralisiert wurden, so wird
der Prozess in Schritt 302 fortgeführt, in welchem noch ein weiterer
Speicherzellensektor der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 ausgewählt wird.
-
Dieser
Prozess wird fortgeführt
so lange, bis entweder ein geeigneter Speicherzellensektor 104, 106, 108, 110, 112 und 114 bestimmt
werden konnte oder bis alle verfügbaren
Speicherzellensektoren 104, 106, 108, 110, 112 und 114 überprüft wurden.
-
In
dem Fall, dass kein Speicherzellensektor 104, 106, 108, 110, 112 und 114 ermittelt
werden konnte, dessen Speicherzellen gemäß dem vordefinierten Programmier-Neutralisierung-Prozess
neutralisiert wurden, wird entweder ein Speicherzellensektor oder
werden eine Mehrzahl der Speicherzellensektoren 104, 106, 108, 110, 112 und 114 gemäß einem
ausgewählten
Programmier-Neutralisierung-Prozess neutralisiert (gefolgt von einem
Programmieren der geeignet neutralisierten Speicherzellen) oder
es wird eine Fehlernachricht erzeugt, mit der angezeigt wird, dass
es nicht möglich
war, den Programmier-Prozess durchzuführen (nicht gezeigt in 3).
-
In
allen Ausführungsformen
der Erfindungen wird die Zykelhaltbarkeit der Speicherzellen erhöht, indem
ein Trap- Neutralisierung-Prozess
einer Mehrzahl von unterschiedlichen Arten von Trap-Neutralisierung-Prozessen
auf die Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 der nicht-flüchtigen
Speicherzellenanordnung 100 ausgeführt wird.
-
In
einem Ausführungsbeispiel
der Erfindung ist jeder Trap-Neutralisierung-Prozess
der Mehrzahl von Trap-Neutralisierung-Prozessen
abhängig
von einer Qualitätsklasse
einer jeweiligen Gruppe der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114 und
neutralisiert eine Mehrzahl von Ladungen aus der Mehrzahl von Traps
in den Speicherzellen der Mehrzahl von Speicherzellensektoren 104, 106, 108, 110, 112 und 114.
Die Mehrzahl von Ladungen können
neutralisiert werden, indem sie aus der Mehrzahl von Traps befreit
werden. Die Trap-Neutralisierung-Verfahren
können
eingerichtet sein zum inhärenten
Löschen
des Speicherzellensektors 104, 106, 108, 110, 112 und 114,
auf den der Trap-Neutralisierung-Prozess angewendet wird oder es
könnte
ein Programmier-Neutralisierung-Prozess zusätzlich durchgeführt werden
entweder vor oder nach dem Trap-Neutralisierung-Prozess, so dass
der Sektor/die Sektoren bereit sind, um programmiert zu werden.
-
Es
wird beispielsweise ein NROM (Nitrided Read Only Memory) angenommen
als ein Beispiel einer Ladungsfänger-Speicherzellenanordnung,
die eine Mehrzahl von Speicherzellensektoren aufweist, die in unterschiedlichen
Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassen
enthalten sind.
-
Es
seien beispielsweise Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegmente von Speicherzellen
angenommen mit einer Datenspeicher-Fähigkeit von 1 Bit/Zelle, 2
Bit/Zelle, 4 Bit/Zelle und 6 Bit/Zelle.
-
Der
für die
Speicherzellensektoren in dem 1 Bit/Zelle-Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegment
verwendete Trap-Neutralisierung-Prozess könnte ein kurzer-Einzelpuls-Heißes-Loch(Hot
Hole, HH)-Löschen
sein. Ferner könnte
dann ein "Programmieren-nach-Löschen" (Program After Erase,
PAE) auf diese Speicherzellensektoren ausgeführt werden.
-
Der
für die
Speicherzellensektoren in dem 2 Bit/Zelle-Multi-Level-Datenspeicher-Fähigkeit-Qualitätsklassensegment
verwendete Trap-Neutralisierung-Prozess kann ein zwei-Puls-Heißes-Loch-Löschen sein
mit vereinzeltem "Programmieren-vor-Löschen" (Program Before Erase, PBE). Ein "Programmieren-nach-Löschen" (Program After Erase,
PAE) kann dann auf diese Speicherzellensektoren ausgeführt werden.
-
Der
für die
Speicherzellensektoren in dem 4 Bit/Zelle-Multi-Level-Datenspeicher-Fähigkeit-Qualtiätsklassensegment
verwendete Trap-Neutralisierung-Prozess kann ein elektrisches Auffrischverfahren
sein, das im Folgenden unter Bezugnahme auf 4 näher erläutert wird.
-
Das
Trap-Neutralisierung-Verfahren, das für die Speicherzellensektoren
in dem 6 Bit/Zelle-Multi-Level-Datenspeicher-Fähigkeit-Qualtiätsklassensegment
eingesetzt wird, kann eine ultraschmale Schwellenspannung-Verteilung
(Vt-Verteilung) in der Ladungsfänger-Schicht
erzeugen.
-
Die
Erfindung sollte nicht einschränkend
wirken hinsichtlich einer Verwendung bei einem Speicher, der Speicherzellen
aufweist, die als NROM-Speicherzellen eingerichtet sind, da dieser Beschreibungsabschnitt
lediglich als ein Beispiel erläutert
wurde.
-
Wie
in einem Ablaufdiagramm 400 in 4 gezeigt,
wird in Schritt 402 ein Neutralisierungspuls an die Speicherzellen
des zu neutralisierenden Speicherzellensektors mit einer vorbestimmten
Löschspannung
beispielsweise von 1,5 V, 3 V, 5 V angelegt. Im Allgemeinen wird
der Neutralisierungspuls an die Speicherzellen des zu neutralisierenden
Speicherzellensektors gemäß einem
ausgewählten Trap-Neutralisierung-Verfahren
angelegt (im Allgemeinen gemäß dem ausgewählten Programmier-Neutralisierung-Verfahren).
-
Ferner
wird in Schritt 404 ermittelt, ob die Neutralisierung schon
erfolgreich war. Dieses Ermitteln kann durchgeführt werden, indem die Schwellenspannung
der Speicherzellen des zu neutralisierenden Speicherzellensektors
gemessen wird und die Schwellenspannung mit einer vorbestimmten
Neutralisierung-Schwellenspannung
verglichen wird, die eine minimale Schwellenspannung repräsentiert,
die eine Speicherzelle aufweisen muss, um als eine neutralisierte
Speicherzelle klassifiziert zu werden.
-
Wenn
in Schritt 404 ermittelt wurde, dass das Neutralisieren
noch nicht erfolgreich war ("Nein" in Schritt 404),
dann wird in Schritt 406 ermittelt, ob die maximal erlaubte
Neutralisierungsspannung in dem vorangegangenen Neutralisierungspuls
in Schritt 402 angelegt wurde.
-
Wenn
die maximal erlaubte Neutralisierungsspannung in dem vorangegangenen
Neutralisierungspuls in Schritt 402 angelegt wurde ("Ja" in Schritt 406),
so werden in Schritt 408 die Speicherzellen aufgefrischt
(beispielsweise basiert das Verfahren zum Auffrischen der Speicherschicht
auf einem Anlegen einer negativen Spannung an das Gate (große negative
Spannungen, beispielsweise ≥ 10V), einer
moderaten negativen Spannung an das Bulk und einer wenig positiven
Spannung an Source und Drain) und ein anderer Neutralisierungspuls
wird an die Speicherzellen des zu neutralisierenden Speicherzellensektors
angelegt bei einer vorbestimmten Neutralisierungsspannung, in anderen
Worten, das Verfahren wird in Schritt 402 fortgeführt.
-
Wenn
die maximal erlaubte Neutralisierungsspannung in dem vorangegangenen
Neutralisierungspuls in Schritt 402 nicht angelegt wurde
("Nein" in Schritt 406),
so wird in Schritt 410 die Neutralisierungsspannung um
eine vorbestimmte Menge erhöht (beispielsweise
schrittweise, in jedem Schritt (Iteration) um eine vorbestimmte
Menge, beispielsweise um 100 mV) und ein anderer Neutralisierungspuls
wird an die Speicherzellen des zu neutralisierenden Speicherzellensektors
mit der erhöhten
Neutralisierungsspannung angelegt, in anderen Worten, das Verfahren
wird in Schritt 402 mit der erhöhten Neutralisierungsspannung
fortgeführt.
-
Wenn
in Schritt 402 ermittelt wurde, dass das Neutralisieren
erfolgreich war ("Ja" in Schritt 404),
so wird eine vorbestimmte Anzahl von Dummy-Progammier/Neutralisier-Zyklen
durchgeführt
(beispielsweise 100, 200, 300, 500, 1000, etc.). Dann ist der Neutralisierung-Prozess
vollständig
abgeschlossen.
-
Die
Speicherzellen-Sektortabelle 120 wird verwendet zum Speichern
der Information darüber, welche
Art von Trap-Neutralisierung-Prozess
auf jeden Speicherzellensektor der Mehrzahl von Speicherzellensektoren
durchgeführt
wurde, wie zuvor beschrieben.
-
Bevor
ein Speicherzellensektor programmiert wird, wird die Speicherzellen-Sektortabelle 120 überprüft um zu
ermitteln, ob ein Trap-Neutralisierung-Verfahren auf den Speicherzellensektor
mit akzeptablem Erfolg durchgeführt
wurde (was repräsentiert
werden kann mittels der Information darüber, welches Trap-Neutralisierung-Verfahren
(im Allgemeinen, welches Programmier-Neutralisierung-Verfahren)
auf die Speicherzellen des Speicherzellensektors ausgeführt wurde).
Soll beispielsweise eine Mehrzahl von Bits pro Zelle in den Speicherzellen
eines Speicherzellensektors gespeichert werden, dann wird ermittelt,
ob das Trap-Neutralisierung-Verfahren, das
auf den Speicherzellensektor ausgeführt wurde (angezeigt in der
Speicherzellen-Sektortabelle 120) von einem Typ ist, der
ausreichend ist zum Neutralisieren der Ladungen in den Traps der
Speicherzellen dieses spezifischen Speicherzellensektors.
-
Es
sei der Fall eines NROM als spezifischeres Beispiel angenommen,
bei dem für
den Fall, dass 1 Bit/Zelle in dem Speicherzellensektor gespeichert werden
soll, ermittelt wird, ob ein kurzer-Einzelpuls-Heißes-Loch(Hot
Hole, HH)-Löschen
zuvor auf den Speicherzellensektor ausgeführt wurde oder ob ein anderer
Typ eines Trap-Neutralisierung-Verfahrens zuvor auf den Speicherzellensektor
ausgeführt wurde.
Wenn ein akzeptabler Typ eines Trap-Neutralisierung-Verfahrens auf
die Speicherzellen des Speicherzellensektors ausgeführt wurde,
so kann der Speicherzellensektor programmiert werden (siehe beispielsweise
Schritt 208 in 2 und 3).
-
Wenn
ein Trap-Neutralisierung-Verfahren nicht mit akzeptablem Erfolg
auf den Speicherzellensektor ausgeführt wurde, dann werden, wie
oben beschrieben, zusätzliche
Schritte vorgesehen zum Gewährleisten,
dass die Speicherzellen des zu programmierenden Speicherzellensektors
einem Trap-Neutralisierung-Prozess
mit akzeptablem Erfolg unterzogen wurde, bevor sie programmiert
werden.
-
Wie
oben beschrieben wurde, wird in einem Ausführungsbeispiel der Erfindung
ein Trap-Neutralisierung-Prozess mit akzeptablem Erfolg auf die
Speicherzellen des Speicherzellensektors durchgeführt, so
dass die Speicherzellen des Speicherzellensektors nachfolgend programmiert
werden können,
wie in Schritt 212 in 2 dargestellt
ist.
-
In
einem anderen Ausführungsbeispiel
der Erfindung wird ein gelöschter
Speicherzellensektor gesucht, der einem Trap-Neutralisierung-Prozess mit ausreichendem
Erfolg unterzogen wurde. Der bei dem Suchen gefundene Speicherzellensektor
kann nachfolgend programmiert werden, wie in Schritt 306 in 3 dargestellt.
-
Gemäß einem
Ausführungsbeispiel
der Erfindung wird zu Beginn des Verfahrens die Art der zu speichernden
Daten ermittelt und unter Verwendung einer Tabelle, in der für eine Mehrzahl
von unterschiedlichen Datentypen (beispielsweise Computerprogrammcode
oder Nutzerdaten (beispielsweise Inhalt wie beispielsweise Videodaten,
Audiodaten, etc.)) diese zugeordnete Programmier-Neutralisierung-Verfahren
gespeichert sind, welchen ein Speicherzellensektor unterzogen werden
sollte bevor der jeweilige Datentyp in die jeweilige Speicherzelle
oder den jeweiligen Speicherzellensektor gespeichert werden darf,
und es wird/werden ferner ein geeigneter Speicherzellensektor oder
eine Mehrzahl geeigneter Speicherzellensektoren gemäß einem
oben beschriebenen Verfahren ermittelt.
-
In
einem Ausführungsbeispiel
der Erfindung wird eine Speicherzellenanordnung bereitgestellt, welche
die Zykelhaltbarkeit und die Datenhaltezeit voneinander entkoppelt
mittels eines speziellen Lösch-Prozesses
gemäß dem die
Akkumulation von Ladungen in dem Nitrid und der Schaden in dem unteren
Oxid aufgefrischt wird.