WO2001009902A1 - Verfahren und schaltungsanordnung zum korrigieren von speicherfehlern - Google Patents

Verfahren und schaltungsanordnung zum korrigieren von speicherfehlern Download PDF

Info

Publication number
WO2001009902A1
WO2001009902A1 PCT/DE2000/002381 DE0002381W WO0109902A1 WO 2001009902 A1 WO2001009902 A1 WO 2001009902A1 DE 0002381 W DE0002381 W DE 0002381W WO 0109902 A1 WO0109902 A1 WO 0109902A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
information
write information
write
memory unit
Prior art date
Application number
PCT/DE2000/002381
Other languages
English (en)
French (fr)
Other versions
WO2001009902A8 (de
Inventor
Thomas Kern
Andreas Graf Von Schwerin
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
Publication of WO2001009902A1 publication Critical patent/WO2001009902A1/de
Publication of WO2001009902A8 publication Critical patent/WO2001009902A8/de

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

Beschreibung
Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern
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 nichtfluchtige FLASH-Speicher eingesetzt, die in Form eines externen Chips oder mit einer integrierten Logik infolge lh- rer Losch- 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 Loschvorgange 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 überprüft werden könne, welche reproduzierbar sind. Bei verschiedenen Speicherarten, insbesondere bei FLASH-Speichern, kann es aber zum stochastischen Auftreten bestimmter Defekte kommen. Derartige Defekte beruhen insbesondere auf Speicherzel- len, die auf eine gleiche elektrische Belastung (Stress) unterschiedlich reagieren, so daß es zum fehlerhaften Speichern von ungewunschten 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 m 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 intelligenten 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 matrixartig verschalteten Speicherzellen 5 dargestellt ist. Jede Speicherzelle 5 ist durch einen Feldeffekttransistor realisiert, 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 ausgegangen, 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 Speicherzelle 5 (b) ) , sehen damit notwendigerweise ebenfalls die Steuer- oder Programmierspannung, mit der der Gateanschluß der gewünschten Speicherzelle 5(a) adressiert wird. Diese Programmierspannung führt bei solchen Speicherzellen 6, die ei- gentlich ihren gelöschten Zustand beibehalten sollen, zu einem Programmierstress und im schlimmsten Fall zu einer ungewollten Programmierung. Dieser Stress wird als Wortleitungsoder Gate-Disturb bezeichnet. Entsprechendes gilt für diejenigen 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. Adressierung 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 Schwankungen 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 beispielsweise durch Vergleichen der Schreibinformation mit der in den einzelnen Speicherzellen 5 tatsächlich gespeicherten Information 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 'Erratic 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 erneuter Programmierung, sondern es können unter Umständen sehr viele (sogar mehrere hundert oder tausend) derartige Löschvorgä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 Bitleitung, die nicht von den einzelnen Lösch- und Programmiervorgänge erfaßt werden, unter Umständen einem sehr hohen kumulativen 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 insbesondere '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 Schaltungsanordnung 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 bestimmten Speicherfeld die ursprüngliche Schreibinformation dieser Speichereinheit zu invertieren und die Speichereinheit erneut mit der invertierten Schreibinformation zu beschreiben. Die Tatsache der Invertierung wird in diesem Fall ver- merkt, was insbesondere in einem entsprechenden Bit des jeweiligen Speicherfeldes erfolgen kann.
Vorteilhafterweise wird auch nach der Neubeschreibung der jeweiligen Speichereinheit mit der invertieren Schreibinforma- tion die in der Speichereinheit tatsächlich gespeicherte Information erneut verifiziert. Wird auch nach der erneuten Programmierung ein 'Erratic Bit' in der entsprechenden Speichereinheit 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 werden 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 diejenigen 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 daher mit einer Schreibinformation begonnen werden, die eine minimale Anzahl von Nullen aufweist, d.h. besitzt die eigent- lieh gewünschte Schreibinformation mehr Nullen als Einsen, sollte bereits vor dem ersten Schreibvorgang die Schreibinformation invertiert und dem zuvor beschriebenen Verfahren zugrundegelegt werden.
Die vorliegende Erfindung kann grundsätzlich auf alle Arten von programmierbaren Speichern angewendet werden, wobei jedoch insbesondere ein Einsatz bei der Programmierung von nichtfluchtigen FLASH-Speiehern vorteilhaft ist. Ebenso kon- nen sogenannte Stuck-At-Fehler gut kaschiert oder unterdruckt werden. Des weiteren kann die Erfindung durch einen einfachen Algorithmus sowie einem vertretbaren Flachenaufwand im Speicher und m der entsprechenden Steuerlogik realisiert werden. Zudem gewährleistet die vorliegende Erfindung eine Reduktion auf vertretbare Fehlerraten, wobei des weiteren bei der Korrektur von Speicherfehlern Ruckwirkungen auf andere Speicherzellen minimiert werden können.
Die Erfindung wird nachfolgend anhand bevorzugter Ausfuh- rungsbeispiele unter Bezugnahme auf die beigef gte Zeichnung naher erläutert.
Fig. 1 zeigt eine Darstellung zur Erläuterung des der vorliegenden Erfindung zugrundeliegenden Prinzips,
Fig. 2 zeigt ein Flußdiagramm eines Verfahrens gemäß einem bevorzugten Ausfuhrungsbeispiel der vorliegenden Erfindung,
Fig. 3 zeigt ein vereinfachtes Blockschaltbild einer Schal- tungsanordnung gemäß einem bevorzugten Ausfuhrungsbeispiel 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 Erfm- düng anhand eines bevorzugten Ausführungsbeispiels dargestellt, wobei den dargestellten Abschnitten zudem Schritte S100-S106 zugeordnet sind, welche nachfolgend noch näher unter 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'. Anschließ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 Verifizierung der in der Speichereinheit 9 tatsächlich gespeicherten Werte ergibt, daß beispielsweise das vorletzte gespeicherte Bit einem 'Erratic Bit' (EB) entspricht, d.h. an- stelle des Werts '0' ist fehlerhafterweise der Wert '1' gespeichert. Derartige Speicherfehler können relativ einfach dadurch erkannt werden, daß die ursprüngliche Schreibinformation mit der tatsächlich gespeicherten Information verglichen wird, wobei Fehler z.B. durch eine logische XOR-Verknüpfung der Schreibinformation und der gespeicherten Information ermittelt werden können. Dabei ist nicht erforderlich, das 'Erratic 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 erfolgt eine erneute Verifizierung des geschriebenen invertierten Schreibcodes. Wie in Fig. 1 gezeigt ist, wird die Invertierung 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 Wortleitungen) , während bei Datenspeichern die pro Programmiervorgang 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 Ausfuhrungsbeispiel in Form eines ausführlichen Flußdiagramms dargestellt.
Mit dem Start des Verfahrens bzw. Programms werden zwei Variablen i und INV auf den Wert 0 gesetzt (Schritt Ξ100) . 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 bezeichnet die Tatsache, ob eine Invertierung des Schreibcodes vorliegt oder nicht. Anschließend wird die gewünschte Schreibinformation 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 Schreibinformation und der tatsächlich gespeicherten Information, vorliegt (S103), wird der entsprechende Speicherblock i gelöscht (S104), der Schreibcode bzw. die Schreibinformation invertiert (S105) , die Invertierung in Form des in Fig. 1 gezeigten Bits 8 vermerkt, d.h. INV = 1 gesetzt (S106) , und der Speicherblock i erneut mit der invertierten Schreibinformation 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 1 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 wieder ein 'Erratic Bit' erkannt, müssen weitere Programmier- und Loschzyklen zur Beseitigung bzw. Korrektur des entsprechenden Speicherfehlers durchgeführt werden. Dieser Fall ist jedoch sehr unwahrscheinlich. Bei einem lMegabit-FLASH- Programmspeicher liegt die 'Erratic Bit ' -Fehlerrate pro Programmierzyklus bei ca. 0,1%. Da nach dem physikalischen Modell grundsätzlich alle Speicherzellen des Speichers ein 'Erratic 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 Auftretens (oder nach einer Invertierung des Wiederauftretens) eines 'Erratic Bits' in diesem Cluster eine Fehlerrate von 0,512xl0"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 abhangig zu machen, welche der beiden Versionen der Schreibinformation eine minimale 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 Schreibcodes eine geringere Anzahl an Nullen auf als die nichtmver- tierte Version, sollte demzufolge bereits im ersten Schreibvorgang des entsprechenden Speicherblocks die mver- tierte Version zum Programmieren des Speicherblocks verwendet werden. Auch in diesem Fall ist die Invertierung in dem entsprechenden Bit des jeweiligen Speicherblocks zu vermerken.
In Fig. 3 ist ein vereinfachtes Blockschaltbild einer Schal- tungsanordnung zur Realisierung des zuvor beschriebenen Verfahrens dargestellt.
Ein zu programmierender Speicher 1, beispielsweise ein nicht- fluchtiger 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- aschme zur Steuerung des zuvor beschriebenen Verfahrensablaufs umfaßt. In dem Schreibpuffer 2 ist der jeweils unmittelbar zuvor verwendete Schreibcode zwischengespeichert, so daß die Steuerlogik 4 Speichertehler 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), loscht 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 zwischengespeichert. Allgemein sollte das Auslesen des Speicherin- halts des zu programmierenden Speicherblocks mit einem entsprechenden Vorhalt für gelöschte Speicherzellen durchgeführt werden.

Claims

Patentansprüche
1. Verfahren zum Korrigieren von Speicherfehlern, umfassend die Schritte a) Beschreiben einer bestimmten Speichereinheit (9) eines Speichers (1) mit einer bestimmten binären Schreibinformation, b) Überprüfen der in der Speichereinheit (9) infolge des Schritts a) gespeicherten Information, um einen Speicherfeh- 1er festzustellen, und c) Korrigieren des Speicherfehlers, falls im Schritt b) ein Speicherfehler festgestellt worden ist, d a d u r c h g e k e n n z e i c h n e t, daß im Schritt c) der Speicherfehler dadurch korrigiert wird, daß die im Schritt a) verwendete Schreibinformation invertiert, die Invertierung vermerkt und die Speichereinheit (9) erneut mit der invertierten Schreibinformation beschrieben wird.
2. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, daß im Schritt b) die gespeicherte Information dadurch überprü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, d a d u r c h g e k e n n z e i c h n e t, 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 Schreibinformation gebildet und auf das Vorliegen eines Speicherfehlers geschlossen wird, falls mindestens ein Bit des Ver- knüpfungsergebnisses eine Abweichung zwischen der Schreibinformation und der gespeicherten Information anzeigt.
4. Verfahren nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, 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, d a d u r c h g e k e n n z e i c h n e t, daß die zu verwendende Schreibinformation hinsichtlich der darin enthaltenen Anzahl an Bits mit dem binaren Wert '1' bzw. dem binaren 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ß m der zu verwendenden
Schreibinformation die Anzahl an Bits mit dem Wert '0' großer ist als die Anzahl an Bits mit dem Wert '1'.
6. Verfahren nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, daß nach der Invertierung der Schreibinformation im Schritt c) die Schritte b) und c) m Bezug auf die in die Speichereinheit (9) geschriebene invertierte Schreibinformation wiederholt werden.
7. Verfahren nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, daß die Schritte a) bis c) wiederholt werden bis eine gewünschte Anzahl von Speichereinheiten (9) des Speichers (1) ohne Feststellen eines Speicherfehlers im Schritt b) beschrieben 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 binaren Schreibinformation, und mit einer Steuereinrichtung (4) zum Überprüfen der durch die Schreibeinrichtung (2) in der Speichereinheit (9) gespeicherten Information, um einen Speicherfehler festzustellen, d a d u r c h g e k e n n z e i c h n e t, daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie bei Feststellen eines Speicherfehlers diesen dadurch korrigiert, daß sie die von der Schreibeinrichtung (2) verwendete 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, d a d u r c h g e k e n n z e i c h n e t, daß der Speicher (1) ein nichtflüchtiger FLASH-Speicher ist.
10. Schaltungsanordnung nach Anspruch 8 oder 9, d a d u r c h g e k e n n z e i c h n e t, daß eine Ausleseeinrichtung (3) zum Auslesen der in der Spei- chereinheit (9) gespeicherte Information vorgesehen ist, und daß die Steuereinrichtung (4) zum Feststellen eines Speicherfehlers 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, d a d u r c h g e k e n n z e i c h n e t, daß die Steuereinrichtung (4) zum Feststellen eines Speicher- fehlers logische Verknüpfungsmittel aufweist, welche die von der Ausleseeinrichtung (3) aus der Speichereinheit (9) ausgelesene binäre Information und die von der Schreibeinrichtung (2) verwendete binäre Schreibinformation einer logischen Ver- knüfpung unterziehen, wobei die Steuereinrichtung (4) auf das Vorliegen eines Speicherfehlers schließt, falls mindestens ein Bit des von den logischen Verknüpfungsmitteln gelieferten Verknupfungsergebnisses eine Abweichung zwischen der Schrei- bmformation und der gespeicherten Information anzeigt.
12. Schaltungsanordnung nach einem der Ansprüche 8-11, d a d u r c h g e k e n n z e i c h n e t, 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, d a d u r c h g e k e n n z e i c h n e t, daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie die zu verwendende Schreibinformation hinsichtlich der darin enthaltenen Anzahl an Bits mit dem binaren Wert '1' bzw. dem binaren Wert '0' analysiert, und daß die Steuereinrichtung (4) derart ausgestaltet ist, daß sie die zu verwendende Schreibinformation invertiert, die Invertierung vermerkt und die invertierte Schreibinformation der Schreibeinrichtung (2) zum Beschreiben der Speicherem- heit (9) des Speichers (1) zufuhrt, falls die Analyse ergeben hat, daß in der zu verwendenden Schreibinformation die Anzahl an Bits mit dem Wert '0' großer ist als die Anzahl an Bits
Figure imgf000015_0001
PCT/DE2000/002381 1999-07-28 2000-07-20 Verfahren und schaltungsanordnung zum korrigieren von speicherfehlern WO2001009902A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19935497.9 1999-07-28
DE1999135497 DE19935497A1 (de) 1999-07-28 1999-07-28 Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern

Publications (2)

Publication Number Publication Date
WO2001009902A1 true WO2001009902A1 (de) 2001-02-08
WO2001009902A8 WO2001009902A8 (de) 2001-04-19

Family

ID=7916387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/002381 WO2001009902A1 (de) 1999-07-28 2000-07-20 Verfahren und schaltungsanordnung zum korrigieren von speicherfehlern

Country Status (2)

Country Link
DE (1) DE19935497A1 (de)
WO (1) WO2001009902A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377098A (zh) * 2012-04-24 2013-10-30 索尼公司 存储控制设备、存储器系统、信息处理系统和存储控制方法
US9582354B2 (en) 2014-01-28 2017-02-28 Infineon Technologies Ag Apparatus and method for improving data storage by data inversion
CN112673427A (zh) * 2018-09-11 2021-04-16 美光科技公司 数据状态同步

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5267204A (en) * 1991-10-18 1993-11-30 Texas Instruments Incorporated Method and circuitry for masking data in a memory device
US5396468A (en) * 1991-03-15 1995-03-07 Sundisk Corporation Streamlined write operation for EEPROM system
DE19610838A1 (de) * 1996-03-19 1997-02-27 Siemens Ag Verfahren zum Speichern eines Datensatzes in einem Speicher
US5873112A (en) * 1996-02-23 1999-02-16 Micron Technology, Inc. System and method for encoding data to reduce power and time required to write the encoded data to a flash memory

Family Cites Families (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
JPH02166700A (ja) * 1988-12-15 1990-06-27 Samsung Electron Co Ltd エラー検査及び訂正装置を内蔵した不揮発性半導体メモリ装置
JPH0729395A (ja) * 1993-06-25 1995-01-31 Mitsubishi Electric Corp Eeprom装置

Patent Citations (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
US5873112A (en) * 1996-02-23 1999-02-16 Micron Technology, Inc. System and method for encoding data to reduce power and time required to write the encoded data to a flash memory
DE19610838A1 (de) * 1996-03-19 1997-02-27 Siemens Ag Verfahren zum Speichern eines Datensatzes in einem Speicher

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377098A (zh) * 2012-04-24 2013-10-30 索尼公司 存储控制设备、存储器系统、信息处理系统和存储控制方法
US9582354B2 (en) 2014-01-28 2017-02-28 Infineon Technologies Ag Apparatus and method for improving data storage by data inversion
CN112673427A (zh) * 2018-09-11 2021-04-16 美光科技公司 数据状态同步
CN112673427B (zh) * 2018-09-11 2022-02-01 美光科技公司 数据状态同步

Also Published As

Publication number Publication date
DE19935497A1 (de) 2001-03-01
WO2001009902A8 (de) 2001-04-19

Similar Documents

Publication Publication Date Title
DE60213620T2 (de) Nichtflüchtiger speicher mit blocklöschung
DE102005045031B4 (de) Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement
DE10301458B4 (de) Speicherbaustein und zugehöriges Lösch-, Programmier- und Rückkopierverfahren
DE102008002083B4 (de) Flash-Speichervorrichtung und entsprechende Programmierverfahren
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
DE4309814C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE102007031027B4 (de) Leseverfahren einer Speichervorrichtung
DE102004059411B4 (de) Flash-Speichervorrichtung und Verfahren zur Steuerung derselben
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102008003944A1 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102005043295A1 (de) Fehlerdetektionsverfahren, Rückkopierprogrammierverfahren und NAND-Flashspeicherbauelement
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE69731255T2 (de) Verfahren zum Löschen eines nichtflüchtigen Speichers
DE102006009214B4 (de) Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers
DE60212332T2 (de) Selbstreparatur-Methode für nicht flüchtige Speicher mit einer Architektur zur Fehlervermeidung sowie nicht flüchtiger Speicher
DE19724471C2 (de) Vorrichtung und Verfahren zum Einschreiben von Daten in einen nichtflüchtigen Speicher
DE69627595T2 (de) Halbleiterspeicher und Verfahren zum Ersetzen einer redundanten Speicherzelle
WO2001009902A1 (de) Verfahren und schaltungsanordnung zum korrigieren von speicherfehlern
DE19952357A1 (de) Schreibvorrichtung für eine nicht-flüchtige Halbleiter-Speichervorrichtung
DE112019007385T5 (de) Verbesserte sicherheit und korrektheit beim lesen und programmieren von daten in einem nichtflüchtigen speichergerät
DE102010000458A1 (de) Vorrichtung und Verfahren zum Korrigieren von Über-Gelöschten-Flash-Speicherzellen
DE10030990B4 (de) Verfahren zum Beschreiben und Löschen eines nichtflüchtigen Speicherbereichs
DE10322723B3 (de) Vorrichtung und Verfahren zum Behandeln eines Zustands eines Speichers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: C1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

CFP Corrected version of a pamphlet front page
CR1 Correction of entry in section i

Free format text: PAT. BUL. 06/2001 UNDER (51) AFTER "G11C 16/10" ADD "G06F 11/00"

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP