[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE19935497A1 - Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern - Google Patents

Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern

Info

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
Application number
DE1999135497
Other languages
English (en)
Inventor
Thomas Kern
Andreas V Schwerin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE1999135497 priority Critical patent/DE19935497A1/de
Priority to PCT/DE2000/002381 priority patent/WO2001009902A1/de
Publication of DE19935497A1 publication Critical patent/DE19935497A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error 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.
Bezugszeichenliste
1
Speicher
2
Schreibpuffer
3
Lesepuffer
4
Steuerlogik
5
Speicherzelle
6
Bitleitung
7
Wortleitung
8
Kennzeichnungsbit
9
Speichereinheit
S101-S109 Verfahrensschritt

Claims (13)

1. Verfahren zum Korrigieren von Speicherfehlern, umfassend die Schritte
  • 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,
dadurch gekennzeichnet,
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'.
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.
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.
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'.
DE1999135497 1999-07-28 1999-07-28 Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern Withdrawn DE19935497A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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