DE19731954C2 - Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines Speichers - Google Patents
Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines SpeichersInfo
- Publication number
- DE19731954C2 DE19731954C2 DE19731954A DE19731954A DE19731954C2 DE 19731954 C2 DE19731954 C2 DE 19731954C2 DE 19731954 A DE19731954 A DE 19731954A DE 19731954 A DE19731954 A DE 19731954A DE 19731954 C2 DE19731954 C2 DE 19731954C2
- Authority
- DE
- Germany
- Prior art keywords
- sub
- block
- programmed
- memory cells
- programming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Description
Die vorliegende Erfindung betrifft ein Verfahren zur Erken
nung von fehlprogrammierten Speicherzellen eines Speichers,
und insbesondere zur Erkennung von überprogrammierten Spei
cherzellen eines Flash-Halbleiterspeichers, wobei der Spei
cher eine Vielzahl von Speicherzellen aufweist. Die Spei
cherzellen sind in eine Anzahl von als Einheit löschbaren
Blöcken unterteilbar. Die Blöcke sind in eine Gruppe von
als Einheit programmierbaren Unterblöcken (Pages) unter
teilbar. Die Fehlprogrammierung einer Speicherzelle eines
Unterblocks bewirkt, daß jeder Unterblock einer durch eine
Fehlprogrammierungs-Untergruppe der Gruppe darstellbaren
Anzahl von Unterblöcken eine entsprechende fehlprogrammier
te Speicherzelle aufweist.
Aus der DE 42 13 731 A1 sind ein nicht-flüchtiges Halblei
terspeicherbauelement in Form eines Flash-EEPROM und ein
Verfahren zur Erkennung von fehlprogrammierten Speicherzel
len und insbesondere überprogrammierten Speicherzellen be
kannt.
Obwohl prinzipiell auf sich kollektiv fortpflanzende Fehl
programmierungen beliebiger Speicher anwendbar, werden die
vorliegende Erfindung sowie die ihr zugrundeliegende Pro
blematik in bezug auf überprogrammierte Speicherzellen ei
nes Flash-Halbleiterspeichers erläutert.
Der Begriff "fehlprogrammiert" soll dabei also im allgemei
nen Sinne verstanden werden, nämlich in dem Sinne einer
Fehlprogrammierung einer Speicherzelle eines Unterblocks,
welche eine Fehlprogrammierung der entsprechenden Speicher
zellen in einer Untergruppe von Unterblöcken bewirkt.
Halbleiterspeicher lassen sich allgemein in Tabellenspei
cher und Funktionsspeicher einteilen. Die vorliegende Er
findung betrifft speziell die Tabellenspeicher, welche eine
Vielzahl von Speicherzellen aufweisen, denen jeweils eine
bestimmte Adresse zugeordnet ist. Bei den Tabellenspeichern
unterscheidet man Schreib-Lese-Speicher (RAMs) und Fest
wertspeicher (ROMS).
Besondere Festwertspeicher sind EPROMs und EEPROMs, die
sich vom Anwender nicht nur programmieren, sondern auch
wieder löschen lassen, und zwar die EPROMs hinsichtlich
Blöcken von Speicherzellen mittels ultraviolettem Licht und
die EEPROMs hinsichtlich ausgewählter Speicherzellen (z. B.
byteweise) mit einem elektrischen Spannungsimpuls.
Flash-Speicher (auch als Flash-EEPROMS oder als Flash-RAMs
bezeichnet) stellen ein Mittelding zwischen den EPROMs und
den EEPROMS dar. Sie sind zwar elektrisch löschbar, aber
nicht byteweise wie die EEPROMs, sondern blockweise ähnlich
wie die EPROMs. Allerdings ermöglichen jüngere Entwicklun
gen eine stetige Verkleinerung dieser löschbaren Blöcke bei
den Flash-EEPROMs.
Flash-Speicher lassen sich preisgünstiger herstellen als
EEPROMs, weisen eine höhere Datendichte auf. Daher sind sie
besonders bei Anwendungen gefragt, wo wenig Platz zur Ver
fügung steht, z. B. in Laptops, Notebooks oder High-
Performance-Mikrokontroller-Chips.
Dabei ist das Flash-Speicherarray zur besseren Ausnutzung
der Chipfläche in der Regel in Blöcke und Untergruppen der
Blöcke, sogenannte Pages, unterteilt.
Die der vorliegenden Erfindung zugrundeliegende Problematik
besteht allgemein darin, daß beim Löschen und Programmieren
von Teilen des Flash-Speichers Fehler auftreten können,
welche zu Datenverlusten oder Fehlprogrammierungen in ande
ren Teilen des Flash-Speichers führen können (kollektive
Fehlerfortpflanzung). Dabei ist es bei gewissen Fehlern,
wie z. B. der Überprogrammierung, sowohl schwierig, den Feh
ler überhaupt zu erkennen, als auch aufwendig, ihn zu be
seitigen.
Die Überprogrammierung wird anhand eines konkreten Bei
spiels eines Mikrokontrollers näher erläutert.
In diesen Mikrokontroller ist ein nicht-flüchtiger Spei
cherchip in Form eines Flash-Speicherarrays implementiert.
Dieses Flash-Speicherarray ist in 32 kB große löschbare
Blöcke unterteilt, und die Blöcke wiederum sind in jeweils
8 Worte (1 Wort = 32 Bit) große Pages unterteilt.
Das Löschen von gespeicherten Daten ist also nur in den 32
kB großen Blöcken möglich, wohingegen das Programmieren der
Daten in den 8 Wort großen Pages möglich ist.
Wird eine Speicherzelle (1 Bit) einer Page vom nicht-
programmierten (gelöschten) Zustand in den programmierten
Zustand überführt, dann kann es durch die Eigenschaften der
Speicherzelle, oder genauer gesagt durch die Eigenschaften
des entsprechenden Feldeffekt-Transistors, vorkommen, daß
diese Zelle einen Zustand erreicht, der als überprogram
miert bezeichnet wird. Dieser überprogrammierte Zustand
zeichnet sich dadurch aus, daß die Zelle ständig ihre ge
speicherte Information nach außen preisgibt, und zwar auch
ohne zusätzliche Aktivierung der Speicherzelle beim Ausle
sen der betreffenden Page.
Durch die besondere Struktur des Flash-Speicherarrays wer
den durch die überprogrammierte Speicherzelle auch Auslese
vorgänge auf den übrigen Pages gestört. Dadurch werden die
Daten, die sich in den übrigen Pages befinden, gestört und
daher eventuell falsch nach außen gegeben.
Eine überprogrammierte Speicherzelle kann in diesem Flash-
Speicherarrray wieder in den gelöschten Zustand überführt
werden, indem der gesamte 32 kB-Block, in dem sich die über
programmierte Speicherzelle befindet, gelöscht wird.
Welche Pages durch eine überprogrammierte Speicherzelle ge
stört werden, hängt von der Struktur des Speicherarrays ab.
Häufig werden nicht alle weiteren Pages gestört, sondern
nur die Speicherzellen der Pages, die sich in einer gemein
samen Spalte des Speicherarrays befinden. Der Fehler tritt
dann im periodischen Abstand der Page mit der überprogram
mierten Zelle im Flash-Speicherarray auf.
Ohne die Historie des Flash-Speicherarrays zu kennen, ist
die Erkennung solcher überprogrammierten Zellen nicht mög
lich.
Das erfindungsgemäße Verfahren zur Erkennung von fehlpro
grammierten Speicherzellen eines Halbleiterspeichers weist
den besonderen Vorteil auf, daß es eine einfache und siche
re Erkennungsmöglichkeit für fehlprogrammierte Zellen bie
tet, die sich die systemtische Art der Fehlerfortpflanzung
zu Nutze macht. Außerdem ermöglicht das erfindungsgemäße
Verfahren im Falle der Feststellung, daß die programmierten
Speicherzellen eines Nutzungs-Unterblocks oder eines pro
grammierten Referenz-Unterblocks mindestens eine fehlpro
grammierte Speicherzelle aufweisen, eine Reparatur zu einem
frühen Zeitpunkt. Es kann dann nämlich sofort ein Löschvor
gang stattfinden, ohne daß zunächst weitere Unterblöcke
oder Pages unnötigerweise programmiert werden.
Die der vorliegenden Erfindung zugrundeliegende Idee be
steht darin, daß ein Referenz-Unterblock bzw. eine Refe
renz-Page für einen oder mehrere Nutzungs-Unterblöcke bzw.
Nutzungs-Pages in jeder festgelegten ersten Fehlprogrammie
rungs-Untergruppe bestimmt wird. Durch Löschen der
Speicherzellen des Referenz-Unterblocks vor dem Programmie
ren der Speicherzellen eines jeweiligen Nutzungs-Unter
blocks mit Nutzungsdaten und Auslesen der gelöschten Speicherzellen
des Referenz-Unterblocks nach dem Programmieren kann fest
gestellt werden, ob die programmierten Speicherzellen des
jeweiligen Nutzungs-Unterblocks ein oder mehrere fehlpro
grammierte Speicherzellen aufweisen. Mit anderen Worten
liegt dann eine Fehlprogrammierung vor, wenn sich gleich
zeitig zur Speicherzelle im Nutzungs-Unterblock auch die
entsprechende Speicherzelle im Referenz-Unterblock von ge
löscht (z. B. logisch "0") auf programmiert (z. B. logisch
"1") ändert.
In den Unteransprüchen finden sich vorteilhafte Weiterbil
dungen und Verbesserungen des in Anspruch 1 angegebenen
Verfahrens.
Gemäß einer bevorzugten Weiterbildung werden die Schritte
des Programmierens der Speicherzellen eines ersten Nut
zungs-Unterblocks, des Auslesens der gelöschten
Speicherzellen des Referenz-Unterblocks und des Feststel
lens, ob die programmierten Speicherzellen des ersten Nut
zungs-Unterblocks ein oder mehrere fehlprogrammierte Spei
cherzellen aufweisen, basierend auf dem Ausleseresultat für
alle weiteren Nutzungs-Unterblöcke der festgelegten ersten
Fehlprogrammierungs-Untergruppe wiederholt.
Gemäß einer weiteren bevorzugten Weiterbildung wird der
Block im Falle der Feststellung, daß die programmierten
Speicherzellen irgendeines Nutzungs-Unterblocks mindestens
eine fehlprogrammierte Speicherzelle aufweisen, gelöscht
und neuprogrammiert.
Gemäß einer weiteren bevorzugten Weiterbildung wird be
stimmt, ob in den programmierten Nutzungs-Unterblöcken
nicht-programmierte Speicherzellen entsprechend einer je
weiligen Speicherzelle des Referenz-Unterblocks vorliegen;
und, falls ja, wird jeweils eine nicht-programmierte Spei
cherzelle für jede betreffende Speicherzelle des Referenz-
Unterblocks festgelegt. Dieses Vorgehen ermöglicht vorteil
hafterweise ein kontrolliertes Programmieren der Referenz-
Page mit Nutzungsdaten.
Gemäß einer weiteren bevorzugten Weiterbildung werden die
Speicherzellen des Referenz-Unterblocks mit Nutzungsdaten programmiert; wer
den die festgelegten nicht-programmierten Speicherzellen
ausgelesen; und wird basierend auf dem Ausleseresultat
festgestellt, ob die programmierten Speicherzellen des Re
ferenz-Unterblocks ein oder mehrere fehlprogrammierte Spei
cherzellen aufweisen.
Gemäß einer weiteren bevorzugten Weiterbildung wird der
Block im Falle der Feststellung, daß die programmierten
Speicherzellen des Referenz-Unterblocks mindestens eine
fehlprogrammierte Speicherzelle aufweisen, gelöscht und
neuprogrammiert.
Gemäß einer weiteren bevorzugten Weiterbildung werden alle
weiteren Fehlprogrammierungs-Untergruppen des Blocks und
die entsprechenden Referenz-Unterblöcke und Nutzungs-
Unterblöcke festgelegt, bis zumindest jeder Unterblock von
einer Fehlprogrammierungs-Untergruppe erfaßt ist; und wer
den die Unterblöcke der weiteren Fehlprogrammierungs-
Untergruppen entsprechend programmiert. Dieses Vorgehen
stellt sicher, daß aufgrund des Wissens über den Aufbau des
Speichers fehlprogrammierte Speicherzellen in jedem Fall
erkannt werden.
Gemäß einer weiteren bevorzugten Weiterbildung wird der
Gruppe eine Matrix zugeordnet und werden die Reihen und
Spalten der Matrix so zugeordnet, daß die zu einem jeweili
gen Unterblock gehörige Untergruppe eine Spalte der Matrix
ist. Dieses Vorgehen erleichtert die Datenverarbeitung bei
der Fehlprogrammierungserfassung.
Gemäß einer weiteren bevorzugten Weiterbildung werden in
der letzten Zeile der Matrix sämtliche für sie erforderli
chen Referenz-Unterblöcke festgelegt.
Gemäß einer weiteren bevorzugten Weiterbildung wird der ak
tuelle Inhalt eines Nutzungs-Unterblocks vor seiner Pro
grammierung in einem Hilfsspeicher oder in einem anderen
unbenutzten Unterblock desselben oder eines anderen Blocks
gesichert. Dies ermöglicht ein schrittweises Programmieren
der Pages.
Gemäß einer weiteren bevorzugten Weiterbildung wird minde
stens ein Programmierparameter, insbesondere Programmierim
pulsanzahl oder Programmierimpulshöhe, im Falle der Fest
stellung, daß die programmierten Speicherzellen eines Nut
zungs-Unterblocks oder eines programmierten Referenz-
Unterblocks mindestens eine fehlprogrammierte Speicherzelle
aufweisen, geändert. Dieses Vorgehen ermöglicht eine Opti
mierung der Programmierparameter.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung
dargestellt und in der nachfolgenden Beschreibung näher er
läutert.
Fig. 1 zeigt einen Flash-Speicher mit vier Blöcken und
n × k Pages, wobei n und k natürliche Zahlen
sind, an dem das erfindungsgemäße Verfahren prak
tizierbar ist.
In Fig. 1 bezeichnet 10 allgemein den Flash-Speicher, 20a
bis 20d einen ersten bis vierten Block und P11 bis Pnk eine
erste bis n × k-te Page (Unterblock), wobei n und k natür
liche Zahlen sind und beispielsweise n von 1 bis 128 läuft
und k von 1 bis 8 läuft. Die einzelnen Pages P11 bis Pnk
enthalten jeweils 8 Worte zu je 4 Byte, d. h. 32 Byte oder
256 Bit. Mit anderen Worten bilden die Pages P11 bis Pnk
eine Matrix mit 128 Zeilen und 8 Spalten, also sind 1024
Pages insgesamt in jedem Block 20a bis 20d des Flash-
Speichers 10 enthalten.
Die Blöcke 20a bis 20d bilden jeweils die kleinste löschba
re Einheit im Flash-Speicher 10, und die Pages P11 bis Pnk
jeweils die kleinste programmierbare Einheit.
Bei diesem Beispiel des Flash-Speichers 10 würde eine über
programmierte Speicherzelle in der Page P11 dazu führen,
daß jede Page P11, P21, P31, P41, . . ., P(n-3)1, P(n-2)1,
P(n-1)1, Pn1 eine entsprechende überprogrammierte Speicher
zelle aufweist. D. h. in allen diesen Pages P11-Pn1 oder in
der ersten Spalte der Matrix erscheint das betreffende Bit
als programmiert, obwohl es nur in der Page P11 tatsächlich
programmiert wurde. Dieser Fehler kann nur durch Löschen
des gesamten Blocks 20b rückgängig gemacht werden.
Doch zuerst muß das erfindungsgemäße Verfahren angewandt
werden, mit dem das Auftreten dieses Fehlers schnell und
sicher erkannt werden kann.
Das Verfahren macht sich zu Nutze, daß die überprogrammier
ten Zellen durch eine Fehlprogrammierungs-Untergruppe von
Pages darstellbar sind, nämlich durch die jeweiligen Spal
ten bzw. Spaltenvektoren der Matrix, wobei dies im voraus
durch den speziellen Aufbau des Flash-Speichers 10 vorgege
ben ist.
Zur Durchführung des Verfahrens wird für jede Spalte also
Fehlprogrammierungs-Untergruppe der Matrix eine Referenz-
Page festgelegt, und zwar beim vorliegenden Ausführungsbei
spiel jeweils die letzte Page Pn1, Pn2, Pn3, Pn4, . . .,
Pn(k-2), Pn(k-1), Pnk. Die weiteren Pages jeder Spalte der
Matrix sind Nutzungs-Pages, d. h. sie werden zur eigentli
chen Datenspeicherung verwendet.
Dann werden die Speicherzellen der Referenz-Pages Pn1, Pn2,
Pn3, Pn4, . . ., Pn(k-2), Pn(k-1), Pnk und der Nutzungs-Pages
allesamt durch eine Blocklöschoperation für den Block 20b
gelöscht.
Als nächstes erfolgt ein Programmieren der Speicherzellen
einer ersten Nutzungs-Page, also beispielsweise der Page
P11. Anschließend werden die vorprogrammierten (d. h. ge
löschten) Speicherzellen der Referenz-Page der ersten Spal
te, also der Page Pn1, ausgelesen.
Anhand des Ausleseresultats läßt sich feststellen, ob die
programmierten Speicherzellen der ersten Nutzungs-Page P11
ein oder mehrere überprogrammierte Speicherzellen aufwei
sen. Dies ist nämlich gerade dann der Fall, wenn eine oder
mehrere Speicherzellen der Referenz-Page Pn1 nicht mehr ge
löscht (logisch "0"), sondern programmiert (logisch "1")
sind. In solch einem Fall erfolgt ein sofortiges Löschen
und Neuprogrammieren des gesamten Blocks 20b.
Dann werden die vorherigen Schritte für alle weiteren Nut
zungs-Pages, d. h. P11 bis P1k, P21 bis P2k, . . . und P(n-1)1
bis P(n-1)k durchgeführt. Die Referenz-Pages bleiben bei
diesem Ausführungsbeispiel reserviert, d. h. werden nicht
zur eigentlichen Datenspeicherung benutzt.
Gemäß einem weiteren Ausführungsbeispiel des erfindungsge
mäßen Verfahrens werden auch die Referenz-Pages zur eigent
lichen Datenspeicherung benutzt, allerdings erfordert dies
zusätzliche Maßnahmen.
Es wird dabei davon ausgegangen, daß alle Nutzungs-Pages
P11 bis P1k, P21 bis P2k, . . . und P(n-1)1 bis P(n-1)k ord
nungsgemäß programmiert sind.
Vor der Programmierung der ersten Referenz-Page Pn1 wird
bestimmt, ob in den programmierten Nutzungs-Pages P11 bis
P(n-1)1 nicht-programmierte Speicherzellen entsprechend ei
ner jeweiligen Speicherzelle der ersten Referenz-Page Pn1
vorliegen.
Falls ja, wird jeweils eine solche nicht-programmierte
Speicherzelle für jede betreffende Speicherzelle der ersten
Referenz-Page Pn1 festgelegt.
Sollte für irgendeine Speicherzelle der zu programmierenden
ersten Referenz-Page Pn1 keine nicht-programmierte Spei
cherzelle in einer der programmierten Pages P11 bis P(n-1)1
auffindbar sein, so stört dies nicht, denn sogar eine Über
programmierung würde dann keinen Fehler bzw. Datenverlust
hervorrufen.
Dann erfolgt das Programmieren der Speicherzellen der er
sten Referenz-Page Pn1 und anschließend das Auslesen der
festgelegten nicht-programmierten Speicherzellen der pro
grammierten Nutzungs-Pages P11 bis P(n-1)1.
Das Feststellen, ob die programmierten Speicherzellen der
Referenz-Page ein oder mehrere fehlprogrammierte Speicher
zellen aufweisen, erfolgt analog wie bei der Programmierung
der Nutzungs-Pages.
Auch bei dieser zweiten Ausführungsform erfolgt ein Löschen
und Neuprogrammieren des Blocks 20b im Falle der Feststel
lung, daß die programmierten Speicherzellen der ersten Re
ferenz-Page Pn1 mindestens eine fehlprogrammierte Speicher
zelle aufweisen.
Das Programmieren der weiteren Referenz-Pages Pn2 bis Pnk
erfolgt in gleicher Weise.
Die obige Beschreibung der ersten und zweiten Ausführungs
form ging davon aus, daß die Daten für den zu programmie
renden Block 20b während der pageweisen Programmierung kom
plett zur Verfügung stehen. Ist dies nicht der Fall, muß
der aktuelle Inhalt einer Nutzungs-Page vor seiner Program
mierung in einem Hilfsspeicher, z. B. einem RAM, oder in ei
nem andern unbenutzten Unterblock desselben Blocks 20b oder
eines anderen Blocks 20a, 20c oder 20d gesichert werden.
Die Ursache für eine überprogrammierte Speicherzelle liegt
in zu vielen oder zu hohen Programmierimpulsen bei der Pro
grammierung. Deshalb sieht eine weitere Ausführungsform des
erfindungsgemäßen Verfahrens eine Änderung mindestens eines
solchen Programmierparameters, insbesondere der erwähnten
Programmierimpulsanzahl oder Programmierimpulshöhe, im Fal
le der Feststellung vor, daß die programmierten Speicher
zellen einer Nutzungs-Page oder einer programmierten Refe
renz-Page mindestens eine überprogrammierte Speicherzelle
aufweisen.
Obwohl die vorliegende Erfindung anhand eines bevorzugten
Ausführungsbeispiels vorstehend beschrieben wurde, ist sie
darauf nicht beschränkt, sondern auf vielfältige Weise mo
difizierbar.
Insbesondere müssen die Unterblöcke und die Fehlprogrammie
rungs-Untergruppe nicht in Matrix bzw. Vektorform vorlie
gen, sondern andere Darstellungen, wie z. B. tensorielle
oder analytische Darstellungen sind ebenfalls möglich.
Obwohl bei der beschriebenen ersten und zweiten Ausfüh
rungsform in der letzten Zeile der Matrix sämtliche für sie
erforderlichen Referenz-Pages festgelegt wurden, ist das
nicht notwendig, sondern können beliebige Pages der dafür
festgelegt werden, wobei im allgemeinen Fall dafür gesorgt
werden muß, daß für jede Nutzungs-Zelle mindestens eine Re
ferenz-Zelle vorhanden ist.
Schließlich ist die Erfindung nicht auf irgendeinen Spei
chertyp oder Programmierfehlertyp beschränkt, sondern kann
für beliebige sich kollektiv ausbreitende Programmierfehler
in beliebigen Speichern angewendet werden.
10
Flash-Speicher
20
a bis
20
d Blöcke
P11 bis Pnk Pages
n = 1, . . ., 128 Laufindex Zeilen
k = 1, . . ., 8 Laufindex Spalten
P11 bis Pnk Pages
n = 1, . . ., 128 Laufindex Zeilen
k = 1, . . ., 8 Laufindex Spalten
Claims (11)
1. Verfahren zur Erkennung von fehlprogrammierten Spei
cherzellen eines Speichers (10), und insbesondere zur Er
kennung von überprogrammierten Speicherzellen eines Flash-
Halbleiterspeichers, wobei der Speicher (10) eine Vielzahl
von Speicherzellen aufweist, welche in eine Anzahl von als
Einheit löschbaren Blöcken (20a-20d) unterteilbar sind, die
wiederum in eine Gruppe von als Einheit programmierbaren
Unterblöcken (P11-Pnk) unterteilbar sind, und wobei die
Fehlprogrammierung einer Speicherzelle eines Unterblocks
bewirkt, daß jeder Unterblock einer durch eine Fehlprogram
mierungs-Untergruppe der Gruppe darstellbaren Anzahl von
Unterblöcken eine entsprechende fehlprogrammierte Speicher
zelle aufweist; mit folgenden Schritten:
- a) Festlegen einer ersten Fehlprogrammierungs-Untergruppe (P11-Pn1) eines Blocks (20b);
- b) Festlegen eines Referenz-Unterblocks (Pn1) und eines oder mehrerer Nutzungs-Unterblöcke (P11-P(n-1)1) in der festgelegten ersten Fehlprogrammierungs-Untergruppe (P11- Pn1);
- c) Löschen der Speicherzellen des Referenz-Unterblocks (Pn1)
- d) Programmieren der Speicherzellen eines ersten Nut zungs-Unterblocks (P11) mit Nutzungsdaten;
- e) Auslesen der gelöschten Speicherzellen des Referenz- Unterblocks P(n1); und
- f) Feststellen, ob die programmierten Speicherzellen des ersten Nutzungs-Unterblocks (P11) ein oder mehrere fehlpro grammierte Speicherzellen aufweisen, basierend auf dem Aus leseresultat.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Schritte d), e) und f) für alle weiteren Nutzungs-
Unterblöcke (P21-P(n-1)1) der festgelegten ersten
Fehlprogrammierungs-Untergruppe (P11-Pn1) wiederholt wer
den.
3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch
die zusätzlichen Schritte:
- a) Löschen und Neuprogrammieren des Blocks (20b) im Falle der Feststellung in Schritt f), daß die programmierten Speicherzellen irgendeines Nutzungs-Unterblocks mindestens eine fehlprogrammierte Speicherzelle aufweisen.
4. Verfahren nach Anspruch 3, gekennzeichnet durch die
zusätzlichen Schritte:
- a) Bestimmen, ob in den programmierten Nutzungs- Unterblöcken (P11-P(n-1)1) nicht-programmierte Speicherzel len entsprechend einer jeweiligen Speicherzelle des Refe renz-Unterblocks (Pn1) vorliegen; und
- b) falls ja, Festlegen von jeweils einer nicht-program mierten Speicherzelle für jede betreffende Speicherzelle des Referenz-Unterblocks (Pn1).
5. Verfahren nach Anspruch 4, gekennzeichnet durch die
zusätzlichen Schritte:
- a) Programmieren der Speicherzellen des Referenz- Unterblocks (Pn1) mit Nutzungsdaten;
- b) Auslesen der festgelegten nicht-programmierten Spei cherzellen; und
- c) Feststellen, ob die programmierten Speicherzellen des Referenz-Unterblocks (Pn1) ein oder mehrere fehlprogram mierte Speicherzellen aufweisen, basierend auf dem Auslese resultat.
6. Verfahren nach Anspruch 5, gekennzeichnet durch die
zusätzlichen Schritte:
- a) Löschen und Neuprogrammieren des Blocks (20b) im Falle der Feststellung in Schritt 1), daß die programmierten Speicherzellen des Referenz-Unterblocks (Pn1) mindestens eine fehlprogrammierte Speicherzelle aufweisen.
7. Verfahren nach einem der vorhergehenden Ansprüche, ge
kennzeichnet durch die zusätzlichen Schritte:
- a) Festlegen aller weiteren Fehlprogrammierungs- Untergruppen (P12-Pn2, . . ., P1k-Pnk) des Blocks (20b) und der entsprechenden Referenz-Unterblöcke (Pn2, . . ., Pnk) und Nutzungs-Unterblöcke (P12-P(n-1)2, . . ., P1k-P(n-1)k), bis zumindest jeder Unterblock von einer Fehlprogrammierungs- Untergruppe erfaßt ist; und
- b) entsprechendes Programmieren der Unterblöcke der wei teren Fehlprogrammierungs-Untergruppen (P12-Pn2, . . ., P1k- Pnk) mit Nutzungsdaten.
8. Verfahren nach einem der vorherigen Ansprüche, dadurch
gekennzeichnet, daß der Gruppe eine Matrix (P11-Pnk) zuge
ordnet wird und daß die Reihen und Spalten der Matrix (P11-
Pnk) so zugeordnet werden, daß die zu einem jeweiligen Un
terblock gehörige Untergruppe eine Spalte der Matrix (P11-
Pnk) ist.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß
in der letzten Zeile der Matrix (P11-Pnk) sämtliche für sie
erforderlichen Referenz-Unterblöcke (Pn1-Pnk) festgelegt
werden.
10. Verfahren nach einem der vorhergehenden Ansprüche, da
durch gekennzeichnet, daß der aktuelle Inhalt eines Nut
zungs-Unterblocks vor seiner Programmierung in einem Hilfs
speicher oder in einem anderen unbenutzten Unterblock des
selben oder eines anderen Blocks gesichert wird.
11. Verfahren nach einem der vorhergehenden Ansprüche, ge
kennzeichnet durch den zusätzlichen Schritt:
- a) Ändern mindestens eines Programmierparameters, insbe sondere Programmierimpulsanzahl oder Programmierimpulshöhe, im Falle der Feststellung, daß die programmierten Speicher zellen eines Nutzungs-Unterblocks oder eines programmierten Referenz-Unterblocks mindestens eine fehlprogrammierte Speicherzelle aufweisen.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19731954A DE19731954C2 (de) | 1997-07-24 | 1997-07-24 | Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines Speichers |
GB9815642A GB2328536B (en) | 1997-07-24 | 1998-07-17 | Method of detecting incorrectly programmed memory cells of a memory |
JP20631898A JPH1186578A (ja) | 1997-07-24 | 1998-07-22 | エラープログラミングされたメモリセルの識別方法 |
US09/120,859 US5898620A (en) | 1997-07-24 | 1998-07-22 | Method for detecting erroneously programmed memory cells in a memory |
FR9809473A FR2767956B1 (fr) | 1997-07-24 | 1998-07-24 | Procede de detection de cellules de memoire a erreur de programme contenues dans une memoire |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19731954A DE19731954C2 (de) | 1997-07-24 | 1997-07-24 | Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines Speichers |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19731954A1 DE19731954A1 (de) | 1999-02-04 |
DE19731954C2 true DE19731954C2 (de) | 2000-08-24 |
Family
ID=7836822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19731954A Expired - Fee Related DE19731954C2 (de) | 1997-07-24 | 1997-07-24 | Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines Speichers |
Country Status (5)
Country | Link |
---|---|
US (1) | US5898620A (de) |
JP (1) | JPH1186578A (de) |
DE (1) | DE19731954C2 (de) |
FR (1) | FR2767956B1 (de) |
GB (1) | GB2328536B (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
CN1088218C (zh) | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
KR20120030818A (ko) * | 2010-09-20 | 2012-03-29 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 소거 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4213731A1 (de) * | 1992-02-21 | 1993-08-26 | Samsung Electronics Co Ltd | Nichtfluechtiges halbleiterspeicherbauelement und programmierverfahren hierfuer |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63175300A (ja) * | 1987-01-16 | 1988-07-19 | Hitachi Ltd | 半導体集積回路装置 |
JPH0528788A (ja) * | 1991-03-28 | 1993-02-05 | Nec Corp | 不揮発性メモリ装置 |
US5237535A (en) * | 1991-10-09 | 1993-08-17 | Intel Corporation | Method of repairing overerased cells in a flash memory |
US5606532A (en) * | 1995-03-17 | 1997-02-25 | Atmel Corporation | EEPROM array with flash-like core |
US5745410A (en) * | 1995-11-17 | 1998-04-28 | Macronix International Co., Ltd. | Method and system for soft programming algorithm |
US5822245A (en) * | 1997-03-26 | 1998-10-13 | Atmel Corporation | Dual buffer flash memory architecture with multiple operating modes |
-
1997
- 1997-07-24 DE DE19731954A patent/DE19731954C2/de not_active Expired - Fee Related
-
1998
- 1998-07-17 GB GB9815642A patent/GB2328536B/en not_active Expired - Fee Related
- 1998-07-22 JP JP20631898A patent/JPH1186578A/ja not_active Withdrawn
- 1998-07-22 US US09/120,859 patent/US5898620A/en not_active Expired - Fee Related
- 1998-07-24 FR FR9809473A patent/FR2767956B1/fr not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4213731A1 (de) * | 1992-02-21 | 1993-08-26 | Samsung Electronics Co Ltd | Nichtfluechtiges halbleiterspeicherbauelement und programmierverfahren hierfuer |
Also Published As
Publication number | Publication date |
---|---|
JPH1186578A (ja) | 1999-03-30 |
GB2328536B (en) | 1999-12-22 |
US5898620A (en) | 1999-04-27 |
GB2328536A (en) | 1999-02-24 |
FR2767956B1 (fr) | 2006-07-28 |
FR2767956A1 (fr) | 1999-03-05 |
GB9815642D0 (en) | 1998-09-16 |
DE19731954A1 (de) | 1999-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005001325B4 (de) | Lösch-Verfahren für einen Multilevel-Bit-Flash-Speicher | |
DE102005037287B3 (de) | Nicht-flüchtiger Halbleiterspeicher und Verfahren zum Bestimmen einer Lesespannung zum Auslesen von Daten aus derartigen Speichern | |
DE60213620T2 (de) | Nichtflüchtiger speicher mit blocklöschung | |
DE102005045031B4 (de) | Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement | |
DE102006028209B4 (de) | Verfahren zum Löschen von Speicherzellen einer Flash-Speichereinrichtung und Halbleiterspeichereinrichtung | |
DE102007031027B4 (de) | Leseverfahren einer Speichervorrichtung | |
DE60318714T2 (de) | System und verfahren zur steuerung einer löschspannung während des löschens mehrerer sektoren eines flash-speichers | |
DE102008003055A1 (de) | Flash-Speichervorrichtung und Verfahren zum Betreiben derselben | |
DE112005000866T5 (de) | Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen | |
DE102005057170B4 (de) | Speichervorrichtung und Verfahren zum Betreiben einer Speichervorrichtung | |
DE102005049845A1 (de) | Verfahren zum Testen einer Speicheranordnung, Speicheranordnung und Testeinheit zum Testen einer solchen | |
DE102005035077A1 (de) | Löschverfahren für ein Flashspeicherbauelement | |
DE10026993A1 (de) | Flash-Speicherbauelement mit einer neuen Redundanzansteuerschaltung | |
DE102004059411A1 (de) | Flash-Speichervorrichtung und Verfahren zur Steuerung derselben | |
DE112008001151T5 (de) | Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren | |
DE102010037064A1 (de) | Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung | |
DE112004000703T5 (de) | Verfahren zum Betrieb einer Doppelzellenspeichereinrichtung mit einer verbesserten Lesebereichsspanne über die Lebensdauer hinweg | |
DE69731255T2 (de) | Verfahren zum Löschen eines nichtflüchtigen Speichers | |
DE112004002851B4 (de) | Halbleitervorrichtung und Programmierverfahren | |
DE69627318T2 (de) | Mehrpegelige nichtflüchtige Speicheranordnung | |
EP0100772B1 (de) | Elektrisch programmierbare Speichermatrix | |
DE112019007183T5 (de) | ReRAM-Speicherzelle mit Doppelwortleitungssteuerung | |
DE102006044853B4 (de) | Speichereinrichtung und Verfahren, um Information in Speicherzellen zu verifizieren | |
DE102005052293B4 (de) | Speicherschaltung und Verfahren zum Schreiben in einen Zielspeicherbereich | |
DE19731954C2 (de) | Verfahren zur Erkennung von fehlprogrammierten Speicherzellen eines Speichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |