DE19935497A1 - Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern - Google Patents
Verfahren und Schaltungsanordnung zum Korrigieren von SpeicherfehlernInfo
- Publication number
- DE19935497A1 DE19935497A1 DE1999135497 DE19935497A DE19935497A1 DE 19935497 A1 DE19935497 A1 DE 19935497A1 DE 1999135497 DE1999135497 DE 1999135497 DE 19935497 A DE19935497 A DE 19935497A DE 19935497 A1 DE19935497 A1 DE 19935497A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- write information
- information
- write
- inverted
- 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.)
- Withdrawn
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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Zum Korrigieren von Speicherfehlern, die beim Programmieren oder Beschreiben eines Speichers (1) auftreten können, werden die infolge eines Schreibvorgangs in einer Speichereinheit (9) gespeicherten Informationen mit den beim Schreibvorgang verwendeten Schreibinformationen verglichen und bei Feststellen einer Abweichung die zuvor verwendete Schreibinformation invertiert, die Invertierung vermerkt und die Speichereinheit (9) erneut mit der invertierten Schreibinformation beschrieben.
Description
Die vorliegende Erfindung betrifft ein Verfahren nach dem
Oberbegriff des Anspruches 1 und eine Schaltungsanordnung
nach dem Oberbegriff des Anspruches 8 zum Korrigieren von
Speicherfehlern, die beim Beschreiben oder Programmieren ei
nes Speichers auftreten.
Als Programm- oder Datenspeicher werden heute vorwiegend
nichtflüchtige FLASH-Speicher eingesetzt, die in Form eines
externen Chips oder mit einer integrierten Logik infolge ih
rer Lösch- und Programmierbarkeit eine maximale Flexibilität
bei remanenter Speicherung der Information ohne elektrische
Hilfsquellen bieten. Damit verbunden ist die Forderung nach
einer möglichst hohen Stabilität (Endurance) bezüglich der
Anzahl der möglichen Schreib- und Löschvorgänge und einer
möglichst langen Datenhaltung (< 10 Jahre).
Um die oben beschriebenen Forderungen überprüfen zu können,
werden zur Sicherung der Qualität und der Spezifikation der
Speicher entsprechende Testsysteme bzw. Testprogramme einge
setzt, mit deren Hilfe jedoch lediglich solche Defekte über
prüft werden könne, welche reproduzierbar sind. Bei verschie
denen Speicherarten, insbesondere bei FLASH-Speichern, kann
es aber zum stochastischen Auftreten bestimmter Defekte kom
men. Derartige Defekte beruhen insbesondere auf Speicherzel
len, die auf eine gleiche elektrische Belastung (Stress) un
terschiedlich reagieren, so daß es zum fehlerhaften Speichern
von ungewünschten Informationen kommen kann. Derartige Fehler
werden als 'Erratic Bits' bezeichnet und können durch die in
herkömmlichen Testprogrammen eingebauten 'Filter' nicht oder
nur zufällig erfaßt werden. Zudem sind die technologischen
Möglichkeiten in der Regel begrenzt oder reichen nicht aus,
um derartige Fehler auf eine akzeptable Fehlerrate abzusen
ken, so daß grundsätzlich das Bedürfnis nach einem intelli
genten Verfahren zum Erkennen und Korrigieren von 'Erratic
Bits' besteht.
Das Auftreten von 'Erratic Bits' soll nachfolgend kurz anhand
Fig. 4 erläutert werden, wobei ein Speicher 1 mit vier ma
trixartig verschalteten Speicherzellen 5 dargestellt ist. Je
de Speicherzelle 5 ist durch einen Feldeffekttransistor rea
lisiert, wobei die einzelnen Speicherzellen 5 über Wortlei
tungen 6 und Bitleitungen 7 adressiert werden können. Zum
Programmieren bzw. Beschreiben einer Speicherzelle 5 wird der
Gateanschluß der gewünschten Speicherzelle 5 durch Anlegen
einer Steuerspannung an eine der Wortleitungen 6 angesteuert,
während der Source- oder Drainanschluß der gewünschten Spei
cherzelle 5 durch Anlegen einer Steuerspannung an eine der
Bitleitungen 7 angesteuert wird. Nachfolgend wird davon aus
gegangen, daß durch Anlegen entsprechender Steuerspannungen
die in Fig. 4 gezeigte Speicherzelle 5(a) ausgewählt werden
soll. Die Speicherzellen, die an der in diesem Fall selek
tierten Wortleitung 6 anliegen (vgl. in Fig. 4 die Speicher
zelle 5(b)), sehen damit notwendigerweise ebenfalls die Steu
er- oder Programmierspannung, mit der der Gateanschluß der
gewünschten Speicherzelle 5(a) adressiert wird. Diese Pro
grammierspannung führt bei solchen Speicherzellen 6, die ei
gentlich ihren gelöschten Zustand beibehalten sollen, zu ei
nem Programmierstress und im schlimmsten Fall zu einer unge
wollten Programmierung. Dieser Stress wird als Wortleitungs-
oder Gate-Disturb bezeichnet. Entsprechendes gilt für dieje
nigen Speicherzellen, welche an der selektierten Bitleitung
liegen (vgl. in Fig. 4 die Speicherzelle 5(c)) und mit der
entsprechenden Programmierspannung von dem Drainanschluß her
beaufschlagt werden. In diesem Fall spricht man von einem
Bitleitungs- oder Drain-Disturb. Bei der Auswahl bzw. Adres
sierung der Speicherzelle 5(a) in Fig. 4 können somit durch
die Speicherzellen 5(b) und 5(c) 'Erratic Bits' hervorgerufen
werden. Lediglich die Speicherzelle 5(d) ist in diesem Fall
vor solch einem Fehler sicher.
'Erratic Bits' zeigen nicht reproduzierbare, massive Schwan
kungen in der Sensitivität auf diesen beispielsweise bei
FLASH-Speichern unvermeidbaren Stress. Die einzelnen Spei
cherzellen 5 des Speichers 1 müssen daher auf das Auftreten
von 'Erratic Bits' hin überwacht werden. Dies kann beispiels
weise durch Vergleichen der Schreibinformation mit der in den
einzelnen Speicherzellen 5 tatsächlich gespeicherten Informa
tion geschehen. Bekannterweise wird bei Feststellen eines
'Erratic Bits' dieses bzw. die entsprechende Speicherzelle 5
gelöscht und erneut mit der gewünschten Schreibinformation
beschrieben bzw. programmiert. Dabei wird das Löschen sinn
vollerweise auf einen minimalen Speicherbereich um das 'Erra
tic Bit' beschränkt, um den Aufwand des erneuten Programmie
rens möglichst gering zu halten.
In der Regel verschwinden jedoch derartige 'Erratic Bits'
nicht bereits nach einem Löschvorgang mit anschließender er
neuter Programmierung, sondern es können unter Umständen sehr
viele (sogar mehrere hundert oder tausend) derartige Lösch
vorgänge mit anschließenden Neuprogrammierungen erforderlich
sein. Dieses Verfahren des Löschens und Neuprogrammierens ist
somit einerseits sehr zeitaufwendig und birgt andererseits
zudem die Gefahr, daß aufgrund der dauerhaften Belastung
durch die wiederholten Lösch- und Programmiervorgänge auch
unprogrammierte Zellen auf der selektierten Wort- und Bitlei
tung, die nicht von den einzelnen Lösch- und Programmiervor
gänge erfaßt werden, unter Umständen einem sehr hohen kumula
tiven Disturb ausgesetzt sind, der im schlimmsten Fall zu ei
ner Umprogrammierung dieser Speicherzellen führen kann.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde,
ein Verfahren und eine entsprechende Schaltungsanorndung zum
Korrigieren von Speicherfehlern vorzuschlagen, womit die zu
vor beschriebenen Probleme beseitigt werden können und insbe
sondere 'Erratic Bits' zuverlässig ohne Beeinflussung anderer
Speicherzellen beseitigt werden können.
Diese Aufgabe wird gemäß der vorliegenden Erfindung durch ein
Verfahren mit den Merkmalen des Anspruches 1 bzw. eine Schal
tungsanordnung mit den Merkmalen des Anspruches 8 gelöst. Die
Unteransprüche definieren jeweils bevorzugte und vorteilhafte
Ausführungsformen der vorliegenden Erfindung.
Die Grundidee der vorliegenden Erfindung beruht darauf, bei
Auftreten eines Speicherfehlers, insbesondere eines 'Erratic
Bits', in einer bestimmten Speichereinheit oder einem be
stimmten Speicherfeld die ursprüngliche Schreibinformation
dieser Speichereinheit zu invertieren und die Speichereinheit
erneut mit der invertierten Schreibinformation zu beschrei
ben. Die Tatsache der Invertierung wird in diesem Fall ver
merkt, was insbesondere in einem entsprechenden Bit des je
weiligen Speicherfeldes erfolgen kann.
Vorteilhafterweise wird auch nach der Neubeschreibung der je
weiligen Speichereinheit mit der invertieren Schreibinforma
tion die in der Speichereinheit tatsächlich gespeicherte In
formation erneut verifiziert. Wird auch nach der erneuten
Programmierung ein 'Erratic Bit' in der entsprechenden Spei
chereinheit erkannt, werden gegebenenfalls mehrere derartige
Lösch-/Programmierzyklen zur Beseitigung des Fehlers verwen
det. Dieser Fall ist jedoch sehr unwahrscheinlich, was durch
empirisch ermittelte 'Erratic Bit'-Fehlerraten bestätigt wer
den kann.
Besonders vorteilhaft ist es, wenn bereits vor dem ersten
Programmiervorgang die Programmier- oder Schreibinformation
auf das Auftreten von Einsen oder Nullen hin überwacht wird,
da für das Auftreten von 'Erratic Bits' insbesondere diejeni
gen Speicherzellen kritisch sind, in welche eine binäre '0'
geschrieben werden soll, da diese gegebenenfalls fehlerhaft
in eine binäre '1' umprogrammiert werden kann. Es sollte da
her mit einer Schreibinformation begonnen werden, die eine
minimale Anzahl von Nullen aufweist, d. h. besitzt die eigent
lich gewünschte Schreibinformation mehr Nullen als Einsen,
sollte bereits vor dem ersten Schreibvorgang die Schreibin
formation invertiert und dem zuvor beschriebenen Verfahren
zugrundegelegt werden.
Die vorliegende Erfindung kann grundsätzlich auf alle Arten
von programmierbaren Speichern angewendet werden, wobei je
doch insbesondere ein Einsatz bei der Programmierung von
nichtflüchtigen FLASH-Speichern vorteilhaft ist. Ebenso kön
nen sogenannte Stuck-At-Fehler gut kaschiert oder unterdrückt
werden. Des weiteren kann die Erfindung durch einen einfachen
Algorithmus sowie einem vertretbaren Flächenaufwand im Spei
cher und in der entsprechenden Steuerlogik realisiert werden.
Zudem gewährleistet die vorliegende Erfindung eine Reduktion
auf vertretbare Fehlerraten, wobei des weiteren bei der Kor
rektur von Speicherfehlern Rückwirkungen auf andere Speicher
zellen minimiert werden können.
Die Erfindung wird nachfolgend anhand bevorzugter Ausfüh
rungsbeispiele unter Bezugnahme auf die beigefügte Zeichnung
näher erläutert.
Fig. 1 zeigt eine Darstellung zur Erläuterung des der vorlie
genden Erfindung zugrundeliegenden Prinzips,
Fig. 2 zeigt ein Flußdiagramm eines Verfahrens gemäß einem
bevorzugten Ausführungsbeispiel der vorliegenden Erfindung,
Fig. 3 zeigt ein vereinfachtes Blockschaltbild einer Schal
tungsanordnung gemäß einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung, und
Fig. 4 zeigt eine Darstellung zur Erläuterung des Auftretens
von sogenannten 'Erratic Bits'.
In Fig. 1 ist beispielhaft der der Ablauf des Verfahrens zur
Korrektur von Speicherfehlern gemäß der vorliegenden Erfin
dung anhand eines bevorzugten Ausführungsbeispiels darge
stellt, wobei den dargestellten Abschnitten zudem Schritte
S100-S106 zugeordnet sind, welche nachfolgend noch näher un
ter Bezugnahme auf Fig. 2 erläutert werden.
Zunächst wird davon ausgegangen, daß die zu beschreibende
Speichereinheit 9 gelöscht ist, d. h. sämtliche Speicherzellen
dieser Speichereinheit 9 speichern den binären Wert '0'. An
schließend wird eine gewünschte Schreibinformation oder ein
gewünschter Code, im vorliegenden Fall der Code '10110100',
in die Speichereinheit 9 geschrieben. Die anschließende Veri
fizierung der in der Speichereinheit 9 tatsächlich gespei
cherten Werte ergibt, daß beispielsweise das vorletzte ge
speicherte Bit einem 'Erratic Bit' (EB) entspricht, d. h. an
stelle des Werts '0' ist fehlerhafterweise der Wert '1' ge
speichert. Derartige Speicherfehler können relativ einfach
dadurch erkannt werden, daß die ursprüngliche Schreibinforma
tion mit der tatsächlich gespeicherten Information verglichen
wird, wobei Fehler z. B. durch eine logische XOR-Verknüpfung
der Schreibinformation und der gespeicherten Information er
mittelt werden können. Dabei ist nicht erforderlich, das 'Er
ratic Bit' zu lokalisieren, sondern es genügt eine integrale
Feststellung eines Speicherfehlers. Wurde auf diese Weise ein
Fehler festgestellt, wird die entsprechende Speichereinheit 9
wieder gelöscht, der ursprüngliche Schreibcode invertiert und
erneut in die Speichereinheit 9 geschrieben. Anschließend er
folgt eine erneute Verifizierung des geschriebenen invertier
ten Schreibcodes. Wie in Fig. 1 gezeigt ist, wird die Inver
tierung des Schreibcodes vermerkt, damit stets bekannt ist,
ob in der Speichereinheit 9 der ursprüngliche Schreibcode
oder die invertierte Version davon gespeichert ist. Dabei
empfiehlt es sich insbesondere, hierzu ein zusätzliches Bit 8
der Speichereinheit bzw. des Speicherfelds 9 zu verwenden,
welches im ursprünglichen Zustand den binären Wert '0' be
sitzt und bei der Invertierung ebenfalls invertiert wird.
Der zusätzliche Flächenbedarf im Speicher richtet sich dabei
nach der kleinsten zu programmierenden Speichereinheit. Je
größer diese Speichereinheit ist, desto kleiner ist der zu
addierende Flächenaufwand. Bei Programmspeicher-Anwendungen
sind die Einheiten im allgemeinen Bursts (ganze/halbe Wort
leitungen), während bei Datenspeichern die pro Programmier
vorgang zu programmierenden Speichereinheiten oder Blöcke je
nach Anforderung kleiner sind und beispielsweise ein Byte
oder ein Wort umfassen.
In Fig. 2 ist nochmals das erfindungsgemäße Verfahren gemäß
einem bevorzugten Ausführungsbeispiel in Form eines ausführ
lichen Flußdiagramms dargestellt.
Mit dem Start des Verfahrens bzw. Programms werden zwei Va
riablen i und INV auf den Wert 0 gesetzt (Schritt S100). Die
Variable i entspricht einer Laufvariable, welche die Nummer
des zu beschreibenden Speicherblocks des Speichers 1 angibt
und Werte zwischen 1 und N annehmen kann. Die Variable INV
kann hingegen lediglich die Werte 1 und 0 annehmen und be
zeichnet die Tatsache, ob eine Invertierung des Schreibcodes
vorliegt oder nicht. Anschließend wird die gewünschte Schrei
binformation in den Speicherblock i geschrieben (S101) und
dieser durch Auslesen der in dem Block i gespeicherten Infor
mation verifiziert (S102). Wurde festgestellt, daß mindestens
ein 'Erratic Bit', d. h. eine Abweichung zwischen der Schrei
binformation und der tatsächlich gespeicherten Information,
vorliegt (S103), wird der entsprechende Speicherblock i ge
löscht (S104), der Schreibcode bzw. die Schreibinformation
invertiert (S105), die Invertierung in Form des in Fig. 1 ge
zeigten Bits 8 vermerkt, d. h. INV = 1 gesetzt (S106), und der
Speicherblock i erneut mit der invertierten Schreibinformati
on beschrieben (S101). Es schließt sich eine Wiederholung der
Schritte S102 und S103 sowie gegebenenfalls der Schritte
S104-S106 und S101 an. Wurde im Schritt S103 kein 'Erratic
Bit' in dem zu beschreibenden Speicherblock festgestellt,
wird überrpüft, ob bereits sämtliche Speicherblöcke des Spei
chers abgearbeitet worden sind (S107) und gegebenenfalls das
Verfahren beendet (S109). Ist dies nicht der Fall, wird die
Variable i auf den nächsten Speicherblock und die Variable
INV auf den Wert '0' gesetzt (S108), und der nächste Spei
cherblock wird mit einer entsprechenden Schreibinformation
beschrieben (S101) und den zuvor beschriebenen Verfahrens
schritten unterzogen.
Wird nach der Invertierung einer Schreibinformation und dem
erneuten Programmieren des entsprechenden Speicherblocks wie
der ein 'Erratic Bit' erkannt, müssen weitere Programmier-
und Löschzyklen zur Beseitigung bzw. Korrektur des entspre
chenden Speicherfehlers durchgeführt werden. Dieser Fall ist
jedoch sehr unwahrscheinlich. Bei einem 1Megabit-FLASH-
Programmspeicher liegt die 'Erratic Bit'-Fehlerrate pro Pro
grammierzyklus bei ca. 0,1%. Da nach dem physikalischen Mo
dell grundsätzlich alle Speicherzellen des Speichers ein 'Er
ratic Bit' aufweisen können, ergibt sich damit aus der Chip-
Ausfallrate von 0,1% und unter der Annahme von lediglich ei
nen 'Erratic Bit' pro Chipausfall eine Bit-Ausfallrate von
10-9. Dabei werden pro Programmiervorgang 512 Speicherzellen
beschrieben, so daß sich für die Wahrscheinlichkeit des Auf
tretens (oder nach einer Invertierung des Wiederauftretens)
eines 'Erratic Bits' in diesem Cluster eine Fehlerrate von
0,512 × 10-6 ergibt.
In der Regel wird im Schritt S101 mit dem Schreiben einer
nichtinvertierten Schreibinformation begonnen. Um jedoch die
Fehlerrate von vornherein absenken zu können, empfiehlt es
sich, die zu Beginn zu verwendenden Schreibinformation
(nichtinvertiert oder invertiert) davon abhängig zu machen,
welche der beiden Versionen der Schreibinformation eine mini
male Anzahl von Nullen aufweist. Die Nullen sind die für das
Auftreten von 'Erratic Bits' kritischen Werte, da die ent
sprechenden Speicherzellen leicht durch das Anlegen von
Schreibspannungen zum Speichern des Werts '1' an benachbarte
Speicherzellen umprogrammiert werden können. Weist die inver
tierte Version des im Schritt S101 zu verwendenden Schreib
codes eine geringere Anzahl an Nullen auf als die nichtinver
tierte Version, sollte demzufolge bereits im ersten
Schreibvorgang des entsprechenden Speicherblocks die inver
tierte Version zum Programmieren des Speicherblocks verwendet
werden. Auch in diesem Fall ist die Invertierung in dem ent
sprechenden Bit des jeweiligen Speicherblocks zu vermerken.
In Fig. 3 ist ein vereinfachtes Blockschaltbild einer Schal
tungsanordnung zur Realisierung des zuvor beschriebenen Ver
fahrens dargestellt.
Ein zu programmierender Speicher 1, beispielsweise ein nicht
flüchtiger FLASH-Speicher, wird über einen Schreib- oder Ein
gabepuffer 2 und einen Lese- oder Ausgabepuffer 3 von einer
Steuerlogik 4 angesteuert, welche insbesondere eine Zustands
maschine zur Steuerung des zuvor beschriebenen Verfahrensab
laufs umfaßt. In dem Schreibpuffer 2 ist der jeweils unmit
telbar zuvor verwendete Schreibcode zwischengespeichert, so
daß die Steuerlogik 4 Speicherfehler durch einen UND-
Vergleich des über den Lesepuffer 3 ausgelesenen Speicherin
halts des zuvor beschriebenen Speicherblocks mit dem in dem
Schreibpuffer 2 gespeicherten Schreibcode feststellen kann.
Bei Feststellen einer Abweichung invertiert die Steuerlogik 4
den zuvor verwendeten Schreibcode, vermerkt die Invertierung
in dem Inversionsbit (vgl. das Bit 8 in Fig. 1), löscht den
zuvor beschriebenen Speicherblock und beschreibt über den
Schreibpuffer 2 diesen Speicherblock mit dem invertierten
Schreibcode. Der invertierte Schreibcode wird wiederum in dem
Schreibpuffer 2 für die nachfolgende Verifizierung zwischen
gespeichert. Allgemein sollte das Auslesen des Speicherin
halts des zu programmierenden Speicherblocks mit einem ent
sprechenden Vorhalt für gelöschte Speicherzellen durchgeführt
werden.
1
Speicher
2
Schreibpuffer
3
Lesepuffer
4
Steuerlogik
5
Speicherzelle
6
Bitleitung
7
Wortleitung
8
Kennzeichnungsbit
9
Speichereinheit
S101-S109 Verfahrensschritt
S101-S109 Verfahrensschritt
Claims (13)
1. Verfahren zum Korrigieren von Speicherfehlern,
umfassend die Schritte
daß im Schritt c) der Speicherfehler dadurch korrigiert wird,
daß die im Schritt a) verwendete Schreibinformation inver tiert, die Invertierung vermerkt und die Speichereinheit (9) erneut mit der invertierten Schreibinformation beschrieben wird.
- a) Beschreiben einer bestimmten Speichereinheit (9) eines Speichers (1) mit einer bestimmten binären Schreibinformati on,
- b) Überprüfen der in der Speichereinheit (9) infolge des Schritts a) gespeicherten Information, um einen Speicherfeh ler festzustellen, und
- c) Korrigieren des Speicherfehlers, falls im Schritt b) ein Speicherfehler festgestellt worden ist,
daß im Schritt c) der Speicherfehler dadurch korrigiert wird,
daß die im Schritt a) verwendete Schreibinformation inver tiert, die Invertierung vermerkt und die Speichereinheit (9) erneut mit der invertierten Schreibinformation beschrieben wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß im Schritt b) die gespeicherte Information dadurch über
prüft wird, daß sie aus der Speichereinheit (9) ausgelesen
und mit der im Schritt a) verwendeten Schreibinformation ver
glichen wird.
3. Verfahren nach Anspruch 2,
dadurch gekennzeichnet,
daß im Schritt b) ein Speicherfehler dadurch festgestellt
wird, daß eine logische Verknüpfung zwischen der aus der
Speichereinheit (9) ausgelesenen und gespeicherten binären
Information und der im Schritt a) verwendeten binären Schrei
binformation gebildet und auf das Vorliegen eines Speicher
fehlers geschlossen wird, falls mindestens ein Bit des Ver
knüpfungsergebnisses eine Abweichung zwischen der Schreibin
formation und der gespeicherten Information anzeigt.
4. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß im Schritt c) die Invertierung der Schreibinformation in
einem bestimmten Bit in der zu beschreibenden Speichereinheit
(9) vermerkt wird.
5. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die zu verwendende Schreibinformation hinsichtlich der darin enthaltenen Anzahl an Bits mit dem binären Wert '1' bzw. dem binären Wert '0' analysiert wird, und
daß die zu verwendende Schreibinformation vor dem Schritt a) invertiert, die Invertierung vermerkt und die invertierte Schreibinformation den Schritten a) bis c) unterzogen wird, falls die Analyse ergeben hat, daß in der zu verwendenden Schreibinformation die Anzahl an Bits mit dem Wert '0' größer ist als die Anzahl an Bits mit dem Wert '1'.
daß die zu verwendende Schreibinformation hinsichtlich der darin enthaltenen Anzahl an Bits mit dem binären Wert '1' bzw. dem binären Wert '0' analysiert wird, und
daß die zu verwendende Schreibinformation vor dem Schritt a) invertiert, die Invertierung vermerkt und die invertierte Schreibinformation den Schritten a) bis c) unterzogen wird, falls die Analyse ergeben hat, daß in der zu verwendenden Schreibinformation die Anzahl an Bits mit dem Wert '0' größer ist als die Anzahl an Bits mit dem Wert '1'.
6. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß nach der Invertierung der Schreibinformation im Schritt
c) die Schritte b) und c) in Bezug auf die in die Spei
chereinheit (9) geschriebene invertierte Schreibinformation
wiederholt werden.
7. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Schritte a) bis c) wiederholt werden bis eine ge
wünschte Anzahl von Speichereinheiten (9) des Speichers (1)
ohne Feststellen eines Speicherfehlers im Schritt b) be
schrieben worden sind.
8. Schaltungsanordnung zum Korrigieren von Speicherfehlern,
mit einer Schreibeinrichtung (2) zum Beschreiben einer be stimmten Speichereinheit (9) eines Speichers (1) mit einer bestimmten binären Schreibinformation, und
mit einer Steuereinrichtung (4) zum Überprüfen der durch die Schreibeinrichtung (2) in der Speichereinheit (9) gespeicher ten Information, um einen Speicherfehler festzustellen,
dadurch gekennzeichnet,
daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie bei Feststellen eines Speicherfehlers diesen dadurch kor rigiert, daß sie die von der Schreibeinrichtung (2) verwende te Schreibinformation invertiert, die Invertierung vermerkt
und der Schreibeinrichtung (2) die invertierte Schreibinfor mation zum erneuten Beschreiben der Speichereinheit (9) mit der invertierten Schreibinformation zuführt.
mit einer Schreibeinrichtung (2) zum Beschreiben einer be stimmten Speichereinheit (9) eines Speichers (1) mit einer bestimmten binären Schreibinformation, und
mit einer Steuereinrichtung (4) zum Überprüfen der durch die Schreibeinrichtung (2) in der Speichereinheit (9) gespeicher ten Information, um einen Speicherfehler festzustellen,
dadurch gekennzeichnet,
daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie bei Feststellen eines Speicherfehlers diesen dadurch kor rigiert, daß sie die von der Schreibeinrichtung (2) verwende te Schreibinformation invertiert, die Invertierung vermerkt
und der Schreibeinrichtung (2) die invertierte Schreibinfor mation zum erneuten Beschreiben der Speichereinheit (9) mit der invertierten Schreibinformation zuführt.
9. Schaltungsanordnung nach Anspruch 8,
dadurch gekennzeichnet,
daß der Speicher (1) ein nichtflüchtiger FLASH-Speicher ist.
10. Schaltungsanordnung nach Anspruch 8 oder 9,
dadurch gekennzeichnet,
daß eine Ausleseeinrichtung (3) zum Auslesen der in der Spei chereinheit (9) gespeicherte Information vorgesehen ist, und
daß die Steuereinrichtung (4) zum Feststellen eines Speicher fehlers die von der Ausleseeinrichtung (3) ausgelesene und in der Speichereinheit (9) gespeicherte Information mit der von der Schreibeinrichtung (2) verwendeten Schreibinformation vergleicht.
daß eine Ausleseeinrichtung (3) zum Auslesen der in der Spei chereinheit (9) gespeicherte Information vorgesehen ist, und
daß die Steuereinrichtung (4) zum Feststellen eines Speicher fehlers die von der Ausleseeinrichtung (3) ausgelesene und in der Speichereinheit (9) gespeicherte Information mit der von der Schreibeinrichtung (2) verwendeten Schreibinformation vergleicht.
11. Schaltungsanordnung nach Anspruch 10,
dadurch gekennzeichnet,
daß die Steuereinrichtung (4) zum Feststellen eines Speicher
fehlers logische Verknüpfungsmittel aufweist, welche die von
der Ausleseeinrichtung (3) aus der Speichereinheit (9) ausge
lesene binäre Information und die von der Schreibeinrichtung
(2) verwendete binäre Schreibinformation einer logischen Ver
knüpfung unterziehen, wobei die Steuereinrichtung (4) auf das
Vorliegen eines Speicherfehlers schließt, falls mindestens
ein Bit des von den logischen Verknüpfungsmitteln gelieferten
Verknüpfungsergebnisses eine Abweichung zwischen der Schrei
binformation und der gespeicherten Information anzeigt.
12. Schaltungsanordnung nach einem der Ansprüche 8-11,
dadurch gekennzeichnet,
daß die Schreibeinrichtung (2) nach Invertieren der Schrei
binformation diese Invertierung in einem bestimmten Bit in
der zu beschreibenden Speichereinheit (9) vermerkt.
13. Schaltungsanordnung nach einem der Ansprüche 8-12,
dadurch gekennzeichnet,
daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie die zu verwendende Schreibinformation hinsichtlich der darin enthaltenen Anzahl an Bits mit dem binären Wert '1' bzw. dem binären Wert '0' analysiert, und
daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie die zu verwendende Schreibinformation invertiert, die In vertierung vermerkt und die invertierte Schreibinformation der Schreibeinrichtung (2) zum Beschreiben der Speicherein heit (9) des Speichers (1) zuführt, falls die Analyse ergeben hat, daß in der zu verwendenden Schreibinformation die Anzahl an Bits mit dem Wert '0' größer ist als die Anzahl an Bits mit dem Wert '1'.
daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie die zu verwendende Schreibinformation hinsichtlich der darin enthaltenen Anzahl an Bits mit dem binären Wert '1' bzw. dem binären Wert '0' analysiert, und
daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie die zu verwendende Schreibinformation invertiert, die In vertierung vermerkt und die invertierte Schreibinformation der Schreibeinrichtung (2) zum Beschreiben der Speicherein heit (9) des Speichers (1) zuführt, falls die Analyse ergeben hat, daß in der zu verwendenden Schreibinformation die Anzahl an Bits mit dem Wert '0' größer ist als die Anzahl an Bits mit dem Wert '1'.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999135497 DE19935497A1 (de) | 1999-07-28 | 1999-07-28 | Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern |
PCT/DE2000/002381 WO2001009902A1 (de) | 1999-07-28 | 2000-07-20 | Verfahren und schaltungsanordnung zum korrigieren von speicherfehlern |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999135497 DE19935497A1 (de) | 1999-07-28 | 1999-07-28 | Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19935497A1 true DE19935497A1 (de) | 2001-03-01 |
Family
ID=7916387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999135497 Withdrawn DE19935497A1 (de) | 1999-07-28 | 1999-07-28 | Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE19935497A1 (de) |
WO (1) | WO2001009902A1 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5867264B2 (ja) * | 2012-04-24 | 2016-02-24 | ソニー株式会社 | 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法 |
US9582354B2 (en) | 2014-01-28 | 2017-02-28 | Infineon Technologies Ag | Apparatus and method for improving data storage by data inversion |
US10916324B2 (en) * | 2018-09-11 | 2021-02-09 | Micron Technology, Inc. | Data state synchronization involving memory cells having an inverted data state written thereto |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE6912605U (de) * | 1969-03-28 | 1969-10-02 | Steinhaus Gmbh | Lochsiebboden aus gummielastischem vollmaterial |
DE3906494C2 (de) * | 1988-12-15 | 1990-12-06 | Samsung Electronics Co., Ltd., Suwon, Kr | |
DE4416171C2 (de) * | 1993-06-25 | 1996-05-15 | Mitsubishi Electric Corp | EEPROM-Vorrichtung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396468A (en) * | 1991-03-15 | 1995-03-07 | Sundisk Corporation | Streamlined write operation for EEPROM system |
US5267204A (en) * | 1991-10-18 | 1993-11-30 | Texas Instruments Incorporated | Method and circuitry for masking data in a memory device |
US5673224A (en) * | 1996-02-23 | 1997-09-30 | Micron Quantum Devices, Inc. | Segmented non-volatile memory array with multiple sources with improved word line control circuitry |
DE19610838A1 (de) * | 1996-03-19 | 1997-02-27 | Siemens Ag | Verfahren zum Speichern eines Datensatzes in einem Speicher |
-
1999
- 1999-07-28 DE DE1999135497 patent/DE19935497A1/de not_active Withdrawn
-
2000
- 2000-07-20 WO PCT/DE2000/002381 patent/WO2001009902A1/de active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE6912605U (de) * | 1969-03-28 | 1969-10-02 | Steinhaus Gmbh | Lochsiebboden aus gummielastischem vollmaterial |
DE3906494C2 (de) * | 1988-12-15 | 1990-12-06 | Samsung Electronics Co., Ltd., Suwon, Kr | |
DE4416171C2 (de) * | 1993-06-25 | 1996-05-15 | Mitsubishi Electric Corp | EEPROM-Vorrichtung |
Also Published As
Publication number | Publication date |
---|---|
WO2001009902A1 (de) | 2001-02-08 |
WO2001009902A8 (de) | 2001-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102008002083B4 (de) | Flash-Speichervorrichtung und entsprechende Programmierverfahren | |
DE69502169T2 (de) | Verfahren zum Einschreiben von Daten in einen Speicher und entsprechender elektrisch-programmierbarer Speicher | |
DE4309814C2 (de) | Nichtflüchtige Halbleiterspeichervorrichtung | |
DE60213620T2 (de) | Nichtflüchtiger speicher mit blocklöschung | |
DE19531683C2 (de) | Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers | |
DE602004005211T2 (de) | Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen | |
DE60132830T2 (de) | Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher | |
DE3875658T2 (de) | Programmierbarer nur-lese-speicher mit mitteln zur entladung der bitleitung vor dem nachpruefen der programmierung. | |
DE10301458B4 (de) | Speicherbaustein und zugehöriges Lösch-, Programmier- und Rückkopierverfahren | |
DE69615538T2 (de) | Integrierte speicherredundanzschaltung für programmierbare festwertspeicher und progammierungsverfahren | |
DE10159901B4 (de) | Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher | |
DE69615568T2 (de) | Verfahren und vorrichtung zur verifikation einer speicherzelle von einer nichtflüssigen speicherschaltung | |
DE102008003944A1 (de) | Speichersystem und Programmierverfahren für ein Speichersystem | |
DE19937101A1 (de) | Halbleiterspeicherbauelement mit Chipinterner Fehlerkorrekturschaltung und ein Verfahren zum Korrigieren eines Datenfehlers darin | |
DE3833713A1 (de) | Halbleiterspeichereinrichtung mit einer vorrichtung zum pruefen und korrigieren von fehlern | |
DE69321700T2 (de) | Nicht-flüchtige Halbleiterspeicher | |
DE19839680B4 (de) | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten | |
DE102004059411A1 (de) | Flash-Speichervorrichtung und Verfahren zur Steuerung derselben | |
DE102006009214B4 (de) | Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers | |
DE102006044853B4 (de) | Speichereinrichtung und Verfahren, um Information in Speicherzellen zu verifizieren | |
DE60212332T2 (de) | Selbstreparatur-Methode für nicht flüchtige Speicher mit einer Architektur zur Fehlervermeidung sowie nicht flüchtiger Speicher | |
DE69627595T2 (de) | Halbleiterspeicher und Verfahren zum Ersetzen einer redundanten Speicherzelle | |
DE19935497A1 (de) | Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern | |
EP1169677B1 (de) | Programmierbarer festwertspeicher und verfahren zum betreiben des festwertspeichers | |
DE10322723B3 (de) | Vorrichtung und Verfahren zum Behandeln eines Zustands eines Speichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |