DE3833713A1 - Halbleiterspeichereinrichtung mit einer vorrichtung zum pruefen und korrigieren von fehlern - Google Patents

Halbleiterspeichereinrichtung mit einer vorrichtung zum pruefen und korrigieren von fehlern

Info

Publication number
DE3833713A1
DE3833713A1 DE3833713A DE3833713A DE3833713A1 DE 3833713 A1 DE3833713 A1 DE 3833713A1 DE 3833713 A DE3833713 A DE 3833713A DE 3833713 A DE3833713 A DE 3833713A DE 3833713 A1 DE3833713 A1 DE 3833713A1
Authority
DE
Germany
Prior art keywords
circuit
data
memory device
counting
output
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.)
Granted
Application number
DE3833713A
Other languages
English (en)
Other versions
DE3833713C2 (de
Inventor
Kenji Noguchi
Tsuyoshi Toyama
Shinichi Kobayashi
Nobuaki Andoh
Kenji Kohda
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE3833713A1 publication Critical patent/DE3833713A1/de
Application granted granted Critical
Publication of DE3833713C2 publication Critical patent/DE3833713C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

Diese Erfindung bezieht sich ganz allgemein auf eine Halbleiter­ speichereinrichtung, und im besonderen auf eine Halbleiterspeicher­ einrichtung mit einer Vorrichtung zum Prüfen und Korrigieren von Fehlern.
Seit neuerer Zeit entstand bei Halbleiterspeichereinrichtungen mit hoher Packungsdichte das Problem der Strahlungsschäden aufgrund induzierter Ladungsträger (sogenannte Soft Errors). Zusätzlich entstehen Fehlfunktionen, zum Beispiel aufgrund einer Zerstörung oder Abnutzung einer Zelle, die durch einen Zellaufbau verursacht wird, durch wiederholtes Schreiben und Löschen von Daten. Um die Probleme zu lösen, weist eine Halbleiterspeicher­ einrichtung eine Fehlerprüf- und Korrekturfunktion (im folgenden als ECC bezeichnet, ECC = error check and correcting) auf dem­ selben Halbleitersubstrat auf, wie zum Beispiel in "64K Bit EEPROM Containing ECC", Technical Report of Institute of Electronics and Communication Engineers of Japan, Vol. 86, Nr. 1 beschrieben.
Fig. 1 zeigt in einem Blockdiagramm ein Beispiel eines Aufbaues eines EEPROM's (elektrisch löschbarer und programmierbarer Nur- Lese-Speicher), der eine ECC-Schaltung aufweist.
Nach Fig. 1 umfaßt ein Speicherzellenfeld 1 ein Speicherzellenfeld 1 a zum Speichern von Hauptdaten und ein Speicherzellenfeld 1 b zum Speichern von Prüfdaten. In dem Speicherzellenfeld 1 sind eine Mehrzahl von Wortleitungen und eine Mehrzahl von Bitleitungen angeordnet, die sich gegenseitig überschneiden, wobei an den Schnittpunkten Speicherzellen vorgesehen sind. In Fig. 1 ist typischerweise lediglich eine einzelne Wortleitung WL, eine einzelne Bitleitung BL, und eine einzelne Speicherzelle 101, die bei deren Schnittpunkten vorgesehen ist, gezeigt.
Ein X-Adreßpuffer 2 weist nach, taktet und verstärkt Eingangssignale X 0 bis Xn, und legt diese an einen X-Dekoder 3 an. Der X-Dekoder 3 reagiert auf die von dem X-Adreßpuffer 2 angelegten Eingangssignale X 0 und Xn und wählt eine der Wort­ leitungen in dem Speicherzellenfeld 1 a zum Speichern von Hauptdaten aus. Auf der anderen Seite, ein Y-Adreßpuffer 4 weist nach, taktet und verstärkt Eingangssignale Y 0 bis Ym, und legt diese an einen Y-Dekoder 5 an. Der Y-Dekoder 5 reagiert auf die Eingangssignale Y 0 bis Ym, die von dem Y-Adreßpuffer 4 angelegt sind, und wählt eine der Bitleitungen in dem Speicherzellenfeld 1 a zum Speichern von Hauptdaten über eine Y-Gatterschaltung 6 aus. Daten D 0 bis D 7 werden zu und von einem Datenanschluß 7 eingegeben und ausgegeben. Beim Schreiben von Daten werden die an den Datenanschluß 7 angelegten Daten D 0 bis D 7 durch einen Eingangspuffer 8 nachgewiesen, getaktet und verstärkt. Die von dem Eingangspuffer 8 ausgegebenen Daten D 0 bis D 7 werden an die ausgewählten Bitleitungen des Speicherzellen­ feldes 1 a zum Speichern von Hauptdaten über die Y-Gatterschaltung 6 übertragen, und ferner in einem Spaltenverriegelungs- Hochspannungsschalter 18 verriegelt. Zusätzlich werden die von dem Eingangspuffer 8 ausgegebenen Daten D 0 bis D 7 ebenso an eine Prüfbiterzeugerschaltung 9 angelegt. Die Prüfbiterzeugerschaltung 9 prüft die Daten D 0 bis D 7 und erzeugt Prüfbitdaten P 1 bis P 4 von vier Bits. Die von der Prüfbiterzeugerschaltung 9 ausgegebenen Prüfbitdaten P 1 bis P 4 werden an die Bitleitungen in dem Speicherzellenfeld 1 b zum Speichern von Prüfdaten übertragen, und ferner in dem Spaltenverriegelungs-Hochspannungsschalter 18 verriegelt.
Beim Auslesen von Daten werden die Daten D 0 bis D 7 und die von dem Speicherzellenfeld 1 über die Y-Gatterschaltung 6 ausgelesenen Prüfbitdaten P 1 bis P 4 von einem Leseverstärker 10 nach­ gewiesen und verstärkt. Eine ECC-Schaltung 11 prüft die von dem Leseverstärker 10 ausgelesenen Daten D 0 bis D 7 als Reaktion auf die Prüfbitdaten P 1 bis P 4, zum automatischen Nachweisen und Korrigieren eines fehlerhaften Bits von einem Bit, wenn dieses erzeugt ist. Die von der ECC-Schaltung 11 ausgegebenen Daten D 0 bis D 7 werden von dem Datenanschluß 7 über einen Ausgangspuffer 12 nach außen ausgegeben.
Ein Steuersignalpuffer 13, eine Lesen/Schreiben-Steuerschaltung 14, eine Löschen/Programmier-Steuerschaltung 15, eine Hochspannungs­ erzeugerschaltung 16 und eine Lesesteuerschaltung 17 reagieren auf ein Chip-Freigabe-Signal , ein Ausgangs-Freigabe-Signal , ein Schreib-Freigabe-Signal und ähnliche, die von außen angelegt sind, zum Steuern des Lesens, Schreibens oder Ausgebens von Daten in dem Speicherzellenfeld 1 oder zum Versetzen eines Chips in den Betriebszustand oder den Haltezustand. Der Spalten­ verriegelungs-Hochspannungsschalter 18 verriegelt die Daten D 0 bis D 7 und die Prüfbitdaten P 1 bis P 4 wie eingegeben, und legt eine Hochspannung an die Bitleitung BL zum Zeitpunkt des Programmierens an, während beim Zeitpunkt des Löschens eine Hochspannung an eine Steuergatterleitung CGL angelegt wird. Ein Wortleitungs- Hochspannungsschalter 19 legt beim Zeitpunkt des Programmierens und Löschens eine Hochspannung an die Wortleitung WL an.
Fig. 2 zeigt eine Schnittansicht einer Speicherzelle 101, die in dem in Fig. 1 gezeigten EEPROM enthalten ist. Nach Fig. 2 weist die Speicherzelle 101 einen Auswahltransistor 102 und einen Speichertransistor 103 auf. Der Auswahltransistor 102 umfaßt eine n+-Schicht 104 und eine n+-Schicht 105, die in einem P-Typ Siliziumsubstrat 100 gebildet sind, und eine Gateelektrode 106. Der Speichertransistor 103 umfaßt die n+-Schicht 105 und eine in dem P-Typ Siliziumsubstrat 100 gebildete n+-Schicht 107, ein Floating-Gate 108 (ein sogenanntes "schwebendes Gate") und ein Steuergate 109. Wie oben beschrieben, weist ein Gate des Speicher­ transistors 103 einen zweilagigen Aufbau auf, der mit einer isolierenden Schicht bedeckt ist (nicht gezeigt). Die n+-Schicht 105 weist eine Source des Auswahltransistors 102 und ein Drain des Speichertransistors 103. In der Speicherzelle 101 sind binäre Daten "0" und "1" gespeichert, entsprechend der Änderung der Schwellspannung, die durch das Speichern von positiven oder negativen Ladungen in dem Floatinggate 108 verursacht wird. Ein Teil einer isolierenden Schicht zwischen dem Floatinggate 108 und der n+-Schicht 105 ist aus einem sehr dünnen Oxidfilm gebildet. Die n+-Schicht 104 in dem Auswahltransistor 102 ist mit einer Bitleitung BL verbunden, und dessen Gateelektrode 106 ist mit einer Wortleitung WL verbunden. Das Steuergate 109 in dem Speicher­ transistor 103 ist mit einer Steuergateleitung CGL verbunden.
Fig. 3 zeigt in einem Schaltdiagramm einen Aufbau der Prüfbit­ erzeugerschaltung 9, die in dem in Fig. 1 gezeigten EEPROM enthalten ist. Wie in Fig. 3 gezeigt, weist die Prüfbiterzeuger­ schaltung 9 vier logische Exklusiv-Summenschaltungen (im nachfolgenden als EXOR-Schaltungen bezeichnet) 91 bis 94 auf. Vier oder fünf der Daten D 0 bis D 7 sind an vier oder fünf Eingangs­ anschlüsse von jedem der EXOR-Schaltungen 91 bis 94 angelegt. Jede der EXOR-Schaltungen 91 bis 94 gibt "0" aus, wenn die Anzahl von eingegebenen Werten "1" eine gerade Anzahl ist, während eine "1" ausgegeben wird, wenn die Anzahl eine ungerade Anzahl ist. Die Prüfbitdaten P 1 bis P 4 werden jeweils von den vier EXOR-Schaltungen 91 bis 94 ausgegeben.
Fig. 4 zeigt in einem Schaltdiagramm einen Aufbau der ECC- Schaltung 11, die in dem in Fig. 1 gezeigten EEPROM enthalten ist. Wie in Fig. 4 gezeigt, weist die ECC-Schaltung 11 EXOR- Schaltungen 121 bis 124, Inverter 131 bis 134, logische Produkt- Schaltungen (im nachfolgenden als UND-Schaltungen bezeichnet) 140 bis 147 und EXOR-Schaltungen 150 bis 157 auf. Vier oder fünf der Daten D 0 bis D 7 und einer der Prüfbitwerte P 1 bis P 4 sind an fünf oder sechs Eingangsanschlüssen von jedem der EXOR-Schaltungen 121 bis 124 angelegt. Ausgänge M 1 bis M 4 werden jeweils von den vier EXOR-Schaltungen 121 bis 124 erhalten. Zusätzlich werden die Ausgänge M 1 bis M 4 jeweils von den Invertern 131 bis 134 invertiert, um die invertierten Ausgänge bis zu erhalten. Der Ausgang M 1 bzw. der invertierte Ausgang , der Ausgang M 2 bzw. der invertierte Ausgang , der Ausgang M 3 bzw. der invertierte Ausgang und der Ausgang M 4 bzw. der invertierte Ausgang werden jeweils an vier Eingangsanschlüsse von jedem der UND- Schaltungen 140 bis 147 angelegt. Ein Ausgang von jedem der UND- Schaltungen 140 bis 147 ist an einen Eingangsanschluß entsprechend einer der EXOR-Schaltungen 150 bis 157 angelegt. Die EXOR- Schaltungen 150 bis 157 weisen jeweils ihre anderen Eingangs­ anschlüsse zum Empfangen der Daten D 0 bis D 7 auf. Ausgänge D 0a bis D 7a werden jeweils durch die EXOR-Schaltungen 150 bis 157 erhalten.
Die EXOR-Schaltungen 121 bis 124 prüfen eingegebene Bits und Prüfbits. Zusätzlich korrigieren die EXOR-Schaltungen 150 bis 157 Bitfehler.
Im weiteren folgt die Beschreibung einer Betriebsweise des in Fig. 1 gezeigten EEPROM in der Reihenfolge (1) Lösch- und Programmierbetrieb der Speicherzelle, (2) ein Daten-Schreibbetrieb, und (3) ein Daten-Lesebetrieb.
(1) Lösch- und Programmierbetrieb in der Speicherzelle
In dem Löschbetrieb und dem Programmierbetrieb tunneln Elektronen über einen dünnen Oxidfilm zwischen dem Floatinggate 108 und der n+-Schicht 105 (Fig. 2).
Der Löschbetrieb bedeutet, daß eine Schwellspannung des Speicher­ transistors 103 durch Injizieren von Elektronen in das Floatinggate 108 nach oben verschoben ist, so daß Werte "1" in der Speicherzelle 101 gespeichert werden. Der Löschbetrieb wird durch Setzen der Bitleitung BL auf Massepotential und Anlegen einer Hochspannung an die Wortleitung WL und die Steuergateleitung CGL durchgeführt.
Der Programmierbetrieb bedeutet, daß eine Schwellspannung des Speichertransistors 103 durch emitieren von Elektronen von dem Floatinggate 108 nach unten verschoben ist, so daß in der Speicherzelle 101 Werte "0" gespeichert werden. Der Programmierbetrieb wird durch Setzen der Steuergateleitung auf das Massepotential und Anlegen einer Hochspannung an die Wortleitung WL und die Bitleitung BL durchgeführt.
(2) Daten-Schreibbetrieb
Wenn zuerst das Chip-Freigabesignal und das Schreib-Freigabesignal eingegeben sind, wird nach Fig. 1 eine Leitung aus dem Steuersignalpuffer 13, der Lesen/Schreiben-Steuerschaltung 14, der Löschen/Programmier-Steuerschaltung 15 und der Hochspannungs­ erzeugerschaltung 16 gebildet.
Eine Wortleitung WL wird ausgewählt als Antwort auf Signale, die über den X-Adreßpuffer 2 und den X-Dekoder 3 eingegeben wurden, während Bitleitungen BL ausgewählt werden als Antwort auf Signale, die über den Y-Adreßpuffer 4, den Y-Dekoder 5 und die Y- Gatterschaltung 6 eingegeben wurden. Wenn die Daten D 0 bis D 7 über den Datenanschluß 7 eingegeben sind, werden die Daten auf die ausgewählten Bitleitungen BL in dem Speicherzellenfeld 1 a zum Speichern von Hauptdaten über den Eingangspuffer 8 und die Y- Gatterschaltung 6 übertragen, und ferner in dem Spaltenverriegelungs- Hochspannungsschalter 18 verriegelt.
Auf der anderen Seite werden die von dem Eingangspuffer 8 ausgegebenen Daten D 0 bis D 7 ebenfalls in die Prüfbiterzeuger­ schaltung 9 eingegeben, wo die Prüfbitdaten P 1 bis P 4 von vier Bits erzeugt werden. Die Prüfbitdaten P 1 bis P 4 werden auf die Bitleitungen BL in dem Speicherzellenfeld 1 b zum Speichern von Prüfdaten über die Y-Gatterschaltung 6 übertragen, und ferner in dem Spaltenverriegelungs-Hochspannungsschalter 18 verriegelt.
Die Prüfbitdaten P 1 bis P 4 werden durch die EXOR-Schaltungen 91 bis 94, an die vier oder fünf von den Daten D 0 bis D 7 eingegeben sind, erzeugt (siehe Fig. 3). Wenn zum Beispiel die eingegebenen Daten D 0 bis D 7 (0, 1, 0, 1, 0, 1, 0, 1) in dieser Reihenfolge darstellen, sind die Prüfbitdaten P 1 bis P 4 (0, 1, 1, 1) in dieser Reihenfolge. Wenn die Verriegelung von Adressen und Daten vervollständigt ist, wird eine Hochspannung an den Spaltenverriegelungs- Hochspannungsschalter 18 und den Wortleitungs-Hochspannungsschalter 19 durch die Hochspannungserzeugerschaltung 16 angelegt, so daß das Speicherzellenfeld 1 aktiviert wird. Als Folge davon werden Daten in einen gewünschten Speichertransistor 103 als Reaktion auf den Lösch/Programmier-Betrieb in der oben beschriebenen Speicherzelle geschrieben.
(3) Daten-Lesebetrieb
Wenn zuerst das Chip-Freigabesignal und das Ausgangs-Freigabesignal eingegeben werden, wird eine Leitung des Steuersignalpuffers 13, der Lesen/Schreiben-Steuerschaltung 14 und der Lese­ steuerschaltung 17 gebildet, und der Leseverstärker 10 und der Ausgangspuffer 12 werden aktiviert.
Daran anschließend wird eine Wortleitung WL als Reaktion auf Signale, die über den X-Adreßpuffer 2 und den X-Dekoder 3 eingegeben wurden, ausgewählt. Folglich werden die Daten D 0 bis D 7 und die Prüfbitdaten P 1 bis P 4 in den Speicherzellen bei den Schnittpunkten der ausgewählten Wortleitung WL und der ausgewählten Bitleitungen BL über die Bitleitungen BL, die Y-Gatterschaltung 6 und den Leseverstärker 10 an die ECC-Schaltung 11 angelegt.
Im besonderen werden die Daten D 0 bis D 7 und die Prüfbitdaten P 1 bis P 4 zuerst in die EXOR-Schaltungen 121 bis 124, in der gleichen Kombination wie die in der Prüfbiterzeugerschaltung 9 beim Zeitpunkt des Schreibens ausgewählten, eingegeben (siehe Fig. 4). Die Prüfbitdaten P 1 bis P 4 werden im vorhergehenden so bestimmt, daß die Anzahl der "1" der entsprechenden Daten (zum Beispiel, D 0, D 1, D 2 und D 3 im Fall von P 1) eine gerade Anzahl wird. Wenn kein Fehler in dem Speichertransistor 103 auftritt, erhalten daher alle Ausgänge M 1 bis M 4 von den EXOR-Schaltungen 121 bis 124 einen "L"-Pegel, und alle invertierten Ausgänge bis der Inverter 131 bis 134 erhalten einen "H"-Pegel. Als Folge davon erhalten alle Ausgänge der UND-Schaltungen 140 bis 147 in der nächsten Stufe den "L"-Pegel. Gegebenenfalls entsprechen alle Eingangsdaten D 0 bis D 7 ohne irgendeine Veränderung jeweils den Ausgängen D 0a bis D 7a der EXOR-Schaltungen 150 bis 157 in der letzten Stufe.
Im folgenden wird ein Fall betrachtet, bei dem einer der Speicher­ transistoren 103 einen Fehler verursacht, so daß ein Bit, zum Beispiel der Wert D 3, der eigentlich "1" sein sollte, aber irrtümlich "0" wird, in die ECC-Schaltung 11 eingegeben wird.
In diesem Fall werden die in die EXOR-Schaltung 121 eingegebenen Daten (0, 1, 0, 0, 0) und die Daten, die in die EXOR-Schaltung 124 eingegeben sind, werden (1, 0, 0, 0, 1, 1), so daß alle Ausgänge M 1 und M 4 den "H"-Pegel erhalten und alle die invertierten Ausgänge und den "L"-Pegel erhalten. Sowohl die Ausgänge M 2 als auch M 3 erhalten den "L"-Pegel, da der Wert D 3 nicht eingegeben ist. Daher werden die aus den UND-Schaltungen 140 bis 147 in die UND-Schaltung 143 eingegebenen Daten in der nächsten Stufe (1, 1, 1, 1, 1). Folglich erhält ein Ausgang der UND-Schaltung 143 den "H"-Pegel, während die Ausgänge der anderen UND-Schaltungen 140 bis 142 und 144 bis 147 alle den "L"-Pegel erhalten. Wenn die Ausgänge der UND-Schalter 140 bis 147 auf dem "L"-Pegel sind, wird der Pegel in Phase mit dem anderen Eingangssignal, d. h. die Daten D 0 bis D 7 werden von den EXOR-Schaltungen 150 bis 157 in der nächsten Stufe ausgegeben.
Da die Ausgänge von allen UND-Schaltungen 140 bis 142 und 144 bis 147 bis auf die UND-Schaltung 143 auf dem "L"-Pegel sind, werden in diesem Fall die eingegebenen Daten D 0 bis D 2 und D 4 bis D 7 die Ausgänge D 0a bis D 2a und D 4a bis D 7a ohne irgendeine Veränderung. Da der Ausgang der UND-Schalter 143 auf dem "H"-Pegel ist, wird auf der anderen Seite der Ausgang D 3a ein Wert, der durch Invertieren des anderen Wertes D 3 erhalten wird, der in die EXOR- Schaltung 153 eingegeben ist.
Bei dem oben beschriebenen Vorgang wird der Wert D 3 in dem fehler­ haften Speichertransistor 103 in der ECC-Schaltung 11 geprüft und korrigiert. Folglich werden die gleichen Daten D 0 bis D 7 wie diejenigen, die eingegeben sind, von dem Datenanschluß 7 über die Ausgangspufferschaltung 12 ausgegeben.
Obwohl die Beschreibung eines Falles erfolgte, bei dem ein Bitfehler in einem der Werte D 0 bis D 7 von den 12-Bit-Daten (D 0 bis D 7 und P 1 bis P 4) auftritt, die gleichzeitig in das Speicher­ zellenfeld 1 geschrieben waren, kann ein Bitfehler in einem der Prüfbitwerte P 1 bis P 4 auftreten, wobei in diesem Fall die normalen Daten D 0 bis D 7 von der ECC-Schaltung 11 ausgegeben werden.
Das EEPROM weist den oben beschriebenen Aufbau auf. Falls ein Bitfehler in demselben Byte ein Bit oder weniger beträgt, wird daher der Bitfehler in der ECC-Schaltung 11 geprüft und korrigiert, und dadurch behoben. Das EEPROM kann jedoch nicht nachweisen, wie viele Bytes in einem Chip in der ECC-Schaltung berichtigt worden sind.
Im folgenden wird ein EEPROM mit einer Speicherkapazität von 64 Kilobits, d. h. 8192 Bytes betrachtet. Unter der Annahme, daß die oben beschriebene ECC-Schaltung in dem EEPROM enthalten ist, werden Bitfehler jeweils in einem Fall (1), bei dem die Anzahl der fehlerhaften Speichertransistoren 8192 beträgt, einem Fall (2), bei dem die Anzahl 10 beträgt und einem Fall (3), bei dem die Anzahl 0 beträgt, geprüft und korrigiert. Daher kann das EEPROM, bei dem die Bitfehler nachgewiesen und korrigiert werden, als "Normales" verwendet werden. Das EEPROM kann jedoch nicht nachweisen, wie viele Bytes in einem Chip von der ECC-Schaltung berichtigt werden.
In den oben beschriebenen Fällen ist das EEPROM offensichtlich "normal". In dem Fall (1) wird jedoch ein Fehler eines Speicher­ transistors danach nicht verboten. Auf der anderen Seite sind in dem Fall (2) bis zu 8182 fehlerhafte Speichertransistoren verboten. Zusätzlich sind in dem Fall (3) bis zu 8192 fehlerhafte Speichertransistoren verboten. In diesen Fällen tritt daher ein großer Unterschied in der Zuverlässigkeit des EEPROMs auf.
Schreiben/Löschen von Daten zu bzw. von dem Speichertransistor wird jedoch wiederholt, wodurch seine Zerstörung auftreten kann. Unter dieser Bedingung kann dieses bis zu einem gewissen Grad im Hinblick auf den Aufbau des Speichertransistors nicht verhindert werden. Wenn die Zuverlässigkeit des EEPROMs durch Verstehen der Zustände, wie zum Beispiel die oben beschriebenen Fälle (1) bis (3) verbessert werden kann, kann bestimmt werden, ob das EEPROM kontinuierlich verwendet werden kann oder nicht. Zusätzlich erhält man dabei wesentlich effektivere Informationen, so daß eine Verbesserung beim Entwurf oder beim Herstellungsverfahren durchgeführt werden kann.
Aufgabe dieser Erfindung ist es, eine Halbleiterspeichereinrichtung vorzusehen, bei der Informationen über Bitfehler erhalten werden, und bei der die Anzahl der von einer ECC-Schaltung korrigierten Bitfehler gezählt werden kann.
In einer Weiterführung der Erfindung ist ein EEPROM vorzusehen, bei dem die Anzahl der von einer ECC-Schaltung korrigierten Bitfehler gezählt wird, und die gezählte Information wie gewünscht leicht von außen ausgelesen wird.
Eine Halbleiterspeichereinrichtung entsprechend dieser Erfindung weist eine Funktion zum Prüfen und Korrigieren von Bitfehlern auf, und weist eine Speichereinrichtung zum Speichern von Information einer Mehrzahl von Bits und eine Fehlerprüf- und -Korrektureinrichtung zum Prüfen und Korrigieren von Bitfehlern von in der Speichereinrichtung gespeicherten Information auf. Die Fehlerprüf- und -Korrektureinrichtung erzeugt ein vorbestimmtes Zählsignal bei jedem Zeitpunkt, bei dem ein Bitfehler korrigiert wird. Die Halbleiterspeichereinrichtung weist ferner eine Zähl­ einrichtung zum Zählen des vorbestimmten Zählsignales, das von der Fehlerprüf- und -Korrektureinrichtung erzeugt ist, auf.
Entsprechend der Halbleiterspeichereinrichtung dieser Erfindung wird jedesmal, wenn ein Bitfehler von der Fehlerprüf- und Korrektureinrichtung korrigiert wird, die Anzahl der Korrekturen von der Zähleinrichtung gezählt. Daher kann die Anzahl von fehler­ haften Bits, die in der Speichereinrichtung in der Halbleiter­ speichereinrichtung gespeichert sind, nachgewiesen werden.
Wie im vorhergehenden beschrieben, kann entsprechend dieser Erfindung in der Halbleiterspeichereinrichtung mit der Fehlerprüf- und -Korrektureinrichtung effektive Information erhalten werden, wodurch die Zuverlässigkeit beurteilt werden kann und eine Verbesserung des Entwurfes oder des Herstellungsprozesses durchgeführt werden kann.
Diese und weitere Zweckmäßigkeiten und Merkmale der Erfindung ergeben sich aus der Beschreibung von Ausführungsbeispielen anhand der Figuren. Von den Figuren zeigt
Fig. 1 ein Blockdiagramm eines Beispieles eines Aufbaues eines EEPROMs mit einer ECC-Schaltung;
Fig. 2 eine Schnittansicht einer Speicherzelle, die in dem in Fig. 1 gezeigten EEPROM enthalten ist;
Fig. 3 ein logisches Schaltungsdiagramm eines Aufbaues einer Prüfbiterzeugerschaltung, die in dem in Fig. 1 gezeigten EEPROM enthalten ist;
Fig. 4 ein logisches Schaltungsdiagramm eines Aufbaues der ECC- Schaltung, die in dem in Fig. 1 gezeigten EEPROM enthalten ist;
Fig. 5 ein Blockdiagramm eines Aufbaues eines EEPROM entsprechend eines Ausführungsbeispieles dieser Erfindung;
Fig. 6 ein Diagramm eines Beispieles eines Aufbaues einer Zählschaltung, die in dem in Fig. 5 gezeigten EEPROM enthalten ist;
Fig. 7 ein Schaltungsdiagramm eines Aufbaues eines Zählaktivierungs­ blockes und ersten und zweiten Zählschaltungsblöcke, die in der in Fig. 6 gezeigten Zählschaltung enthalten sind;
Fig. 8 ein Diagramm eines Beispieles eines Aufbaues einer Schaltung zum Steuern des Lesens von Daten von der in Fig. 6 gezeigten Zählschaltung und des Lesens von Daten von einem Speichertransistor; und
Fig. 9 ein Zeitablaufplan zur Erläuterung eines Betriebes der in den Fig. 6 und 7 gezeigten Zählschaltung.
Unter Bezugnahme auf die Figuren wird im folgenden ein Ausführungs­ beispiel dieser Erfindung genauer beschrieben.
Fig. 5 zeigt in einem Blockdiagramm einen Aufbau eines EEPROMs entsprechend eines Ausführungsbeispieles dieser Erfindung.
Ein wie in Fig. 5 gezeigtes EEPROM stellt das gleiche wie das in Fig. 1 gezeigte EEPROM dar, bis auf die folgenden Ausnahmen. Das in Fig. 5 gezeigte EEPROM ist mit einer Zählerschaltung 20 ausgestattet. Ein Ausgang einer Lesesteuerschaltung 17 und ein Ausgang einer ECC-Schaltung 11 sind an die Zählerschaltung 20 angelegt. Ein Ausgang der Zählerschaltung 20 ist an einen Ausgangspuffer 12 angelegt.
Fig. 6 zeigt in einem Blockdiagramm einen Aufbau der Zählerschaltung 20.
Nach Fig. 6 weist die Zählerschaltung 20 eine Zähleraktivierungs­ schaltung 200, Zählerschaltungsblöcke 201 bis 208 in acht Stufen, und einen Übertragungsgatterblock 209 auf. Ausgänge M 1 bis M 4 der in Fig. 4 gezeigten ECC-Schaltung 11 sind an die Zähleraktivierungsschaltung 200 angelegt. Ausgänge U 0 und der Zähleraktivierungsschaltung 200 sind an den Zählerschaltungsblock 201 der ersten Stufe angelegt. Ausgänge U 1 und des Zähler­ schaltungsblockes 201 der ersten Stufe sind an den Zählerschaltungs­ block 202 der zweiten Stufe angelegt. In der gleichen Art und Weise sind Ausgänge der Zählerschaltungsblöcke der vorher­ gehenden Stufe jeweils an die Zählerschaltungsblöcke 202 bis 208 angelegt. Zusätzlich ist ein Rücksetzsignal an die Zähleraktivierungs­ schaltung 200 und die Zählerschaltungsblöcke 201 bis 208 von der Lesesteuerschaltung 17 angelegt (siehe Fig. 5). Die Ausgänge bis der Zählerschaltungsblöcke 201 bis 208 sind an den Übertragungsgatterblock 209 angelegt. Zusätzlich sind die Ausgänge D 0a bis D 7a der in Fig. 4 gezeigten ECC-Schaltung 11 an den Übertragungsgatterblock 209 angelegt, und Signale ECC und sind an diesen von der in Fig. 5 gezeigten Lesesteuerschaltung 17 angelegt.
Fig. 7 zeigt in einem Schaltungsdiagramm den Aufbau der in Fig. 6 gezeigten Zähleraktivierungsschaltung 200 und die Zählerschaltungs­ blöcke 201 und 202.
Die Zähleraktivierungsschaltung 200 weist eine NOR-Schaltung 211, eine NAND-Schaltung 212 und Inverter 213 und 214 auf. Die Ausgänge M 1 bis M 4 der in Fig. 4 gezeigten ECC-Schaltung 11 sind an die NOR-Schaltung 211 angelegt. Die NAND-Schaltung 212 weist einen Eingangsanschluß, der einen Ausgang der NOR-Schaltung 211 empfängt, und einen anderen Eingangsanschluß, der das Rücksetzsignal von der Lesesteuerschaltung 17 empfängt, auf. Ein Ausgang der NAND-Schaltung 212 ist durch den Inverter 213 invertiert und ferner durch den Inverter 214 invertiert. Ein Ausgang U 0 des Inverters 213 und ein Ausgang des Inverters 214 werden an den Zählerschaltungsblock 201 in der ersten Stufe angelegt.
Der Zählerschaltungsblock 201 weist Übertragungsgatter 221 bis 224, Inverter 225 und 226, und NAND-Schaltungen 227 und 228 auf. Jeder der Übertragungsgatter 221 bis 224 weist einen N-Kanal MOS- Transistor QN und einen P-Kanal MOS-Transistor QP auf. Die NAND- Schaltung 227 weist einen Eingangsanschluß, der einen Ausgang des Inverters 225 empfängt, und einen anderen Eingangsanschluß, der das Rücksetzsignal empfängt, auf. Ein Ausgang der NAND- Schaltung 227 ist an einen Eingangsanschluß des Inverters 225 über das Übertragungsgatter 222 angelegt. Die NAND-Schaltung 228 weist einen Eingangsanschluß, der den Ausgang des Inverters 225 über das Übertragungsgatter 223 empfängt, und einen anderen Eingangsanschluß, der das Rücksetzsignal empfängt, auf. Ein Ausgang der NAND-Schaltung 228 ist an einen Eingangsanschluß des Inverters 226 angelegt. Ein Ausgang des Inverters 226 ist an einen Eingangsanschluß der NAND-Schaltung 228 über das Über­ tragungsgatter 224 angelegt. Zusätzlich ist der Ausgang des Inverters 226 an den Eingangsanschluß des Inverters 225 über das Übertragungsgatter 221 angelegt.
Der Ausgang der Zähleraktivierungsschaltung 200 ist an ein Gate des Transistors QP in dem Übertragungsgatter 221, ein Gate des Transistors QN in dem Übertragungsgatter 222, ein Gate des Transistors QN in dem Übertragungsgatter 223, und ein Gate des Transistors QP in dem Übertragungsgatter 224 angelegt. Der Ausgang U 0 der Zähleraktivierungsschaltung 200 ist an ein Gate des Transistors QN in dem Übertragungsgatter 221, ein Gate des Transistors QP in dem Übertragungsgatter 222, ein Gate des Transistors QP in dem Übertragungsgatter 223, und ein Gate des Transistors QN in dem Übertragungsgatter 224 angelegt. Der Ausgang des Inverters 226 und der Ausgang U 1 der NAND- Schaltung 228 sind an den Zählerschaltungsblock 202 in der zweiten Stufe angelegt. Der Zählerschaltungsblock 202 in der zweiten Stufe weist Übertragungsgatter 221 bis 224, Inverter 225 und 226 und NAND-Schaltungen 227 und 228 auf, ähnlich dem Zählerschaltungsblock 201 in der ersten Stufe. Der Ausgang des Zählerschaltungsblockes 201 in der ersten Stufe ist an ein Gate des Transistors QN in dem Übertragungsgatter 221, ein Gate des Transistors QP in dem Übertragungsgatter 222, ein Gate des Transistors QP in dem Übertragungsgatter 223 und ein Gate des Transistors QN in dem Übertragungsgatter 224 angelegt. Der Ausgang U 1 des Zählerschaltungsblockes 201 in der ersten Stufe ist an ein Gate des Transistors QP in dem Übertragungsgatter 221, ein Gate des Transistors QN in dem Übertragungsgatter 222, ein Gate in dem Transistor QN in dem Übertragungsgatter 223, und ein Gate des Transistors QP in dem Übertragungsgatter 224 angelegt.
Ein Ausgang des Inverters 226 und ein Ausgang U 2 der NAND- Schaltung 228 in dem Zählerschaltungsblock 202 in der zweiten Stufe sind an einen Zählerschaltungsblock 203 (nicht gezeigt) in der dritten Stufe angelegt. Der Aufbau der Zählerschaltungsblöcke 203 bis 208 in der dritten bis achten Stufe ist der gleiche wie der Aufbau des Zählerschaltungsblockes 201 in der ersten Stufe oder des Zählerschaltungsblockes 202 in der zweiten Stufe.
Fig. 8 zeigt in einem Schaltungsdiagramm einen Aufbau des in Fig. 6 gezeigten Übertragungsgatterblockes 209.
Nach Fig. 8 weist der Übertragungsgatterblock 209 acht Übertragungs­ gatter 229 und acht Übertragungsgatter 230 auf. Jedes der Übertragungsgatter 229 und 230 weist einen N-Kanal MOS-Transistor QN und einen P-Kanal MOS-Transistor QP auf. Die Ausgänge D 0a bis D 7a der in Fig. 4 gezeigten ECC-Schaltung 11 werden jeweils an einen Ausgangspuffer 12 über die Übertragungsgatter 229 angelegt. Die Ausgänge bis der in Fig. 6 und 7 gezeigten Zählerschaltungs­ blöcke 201 bis 208 sind jeweils an den Ausgangspuffer 12 über die Übertragungsgatter 230 angelegt. Das ECC-Signal von der Lese-Steuerschaltung 17 ist an Gates der Transistoren QP in den Übertragungsgattern 229 und Gates der Transistoren QN in den Übertragungsgattern 230 angelegt. Das -Signal von der Lese- Steuerschaltung 17 ist an Gates der Transistoren QN in den Übertragungsgattern 229 und Gates der Transistoren QP in den Übertragungsgattern 230 angelegt.
Währenddessen ist der Aufbau der anderen in Fig. 5 gezeigten Schaltungen der gleiche wie der in Fig. 1 gezeigten. Insbesondere ist der Aufbau einer Speicherzelle 101, einer Prüfbiterzeuger­ schaltung 9 und einer ECC-Schaltung 11 der gleiche wie der jeweils in den Fig. 2, 3 und 5 gezeigte.
Die gleichen oder entsprechenden Abschnitte weisen die gleichen Bezugszahlen auf.
Unter Bezugnahme auf einen Zeitablaufplan nach Fig. 9 erfolgt nun die Beschreibung eines Betriebes, der auftritt, wenn die von der ECC-Schaltung 11 korrigierte Anzahl von Bitfehlern in dem EEPROM mit der oben beschriebenen Struktur ausgelesen wird. In dem Zeitablaufplan nach Fig. 9 sind Ausgänge bis gezeigt und Ausgänge bis vernachlässigt.
Das Rücksetzsignal erhält zuerst einen "L"-Pegel. Während das Rücksetzsignal auf dem "L"-Pegel ist, erhält der Ausgang der in Fig. 7 gezeigten Zähleraktivierungsschaltung 200 einen "H"-Pegel, und alle Ausgänge bis der Zählerschaltungsblöcke 201 bis 208 erhalten alle den "L"-Pegel, der einen Zustand anzeigt, bei dem die gezählte Anzahl Null beträgt. Wenn ein Chip- Freigabesignal und ein Ausgangs-Freigabesignal eingegeben sind, wird eine Folge aus einem Steuersignalpuffer 13, einer Lesen/Schreiben-Steuerschaltung 14 und einer Lesesteuerschaltung 17 gebildet, so daß ein Leseverstärker 10, ein Ausgangspuffer 12 und eine Zählerschaltung 20 aktiviert werden. Wenn die Zählerschaltung 20 in einem Modus des Zählens der Anzahl der berichtigten Bits gesetzt ist, steigt das Rücksetzsignal von dem "L"-Pegel auf den "H"-Pegel an. Der Modus zum Zählen der Anzahl von berichtigten Bits wird zum Beispiel durch Setzen des Chip-Freigabesignales auf einen höheren als einen gewöhnlichen Pegel gesetzt. Daran anschließend werden Signale X 0 bis Xn über einen X-Adreßpuffer 2 eingegeben und Signale Y 0 bis Ym über einen Y-Adreßpuffer 4 eingegeben, so daß Daten, die in allen Adressen in einem Speicherzellenfeld 1 gespeichert sind, sequentiell ausgelesen werden.
An dieser Stelle, wenn die von der Adresse ausgelesenen Daten von der ECC-Schaltung 11 geprüft und korrigiert sind und dann ausgegeben sind, da ein Speichertransistor in einer bestimmten Adresse ein fehlerhaftes Bit ergab, erhält zumindest einer der Ausgänge M 1 bis M 4 der in Fig. 4 gezeigten EXOR-Schaltungen 121 bis 124 gewiß den "H"-Pegel, wie oben beschrieben. Als Folge davon erhalten der Ausgang der NOR-Schaltung 211 und der Ausgang der NAND- Schaltung 212 in der in Fig. 7 gezeigten Zähleraktivierungsschaltung 200 jeweils den "L"-Pegel und den "H"-Pegel. Daher erhalten der Ausgang U 0 des Inverters 213 und der Ausgang des Inverters 214 jeweils den "L"-Pegel und den "H"-Pegel (entsprechend dem Lesezyklus (2) in dem in Fig. 9 gezeigten, zweiten Byte). Die Ausgänge U 0 und werden an das Gate des Transistors QP oder QN eingegeben, der jedes der Übertragungsgatter 221 bis 224 in dem Zählerschaltungsblock 201 in der ersten Stufe bildet. Wenn der Ausgang U 0 mit dem "L"-Pegel an den Transistor QP angelegt ist, und der Ausgang mit dem "H"-Pegel an den Transistor QN angelegt ist, wird das Übertragungsgatter leitend gemacht. Im besonderen werden die Übertragungsgatter 222 und 223 leitend gemacht, während die Übertragungsgatter 221 und 224 nichtleitend gemacht werden. Als Folge davon bleibt der Eingang des Inverters 225 auf dem "L"-Pegel, während der Ausgang desselben auf dem "H"-Pegel bleibt. Zusätzlich bleibt der Ausgang der NAND-Schaltung 227 auf dem "L"-Pegel. Das der Ausgang mit dem "H"-Pegel an einen Eingangsanschluß der NAND-Schaltung 228 angelegt ist und das Rücksetzsignal mit dem "H"-Pegel an deren anderen Eingangs­ anschluß angelegt ist, erhält daher der Ausgang U 1 den "L"-Pegel. Der Ausgang U 1 der NAND-Schaltung 228 ist durch den Inverter 226 invertiert, so daß der Ausgang den "H"-Pegel erhält (Zyklus (2) in Fig. 9).
Daher werden in dem zweiten Zählerschaltungsblock 202 die Über­ tragungsgatter 221 und 224 leitend gemacht, während die Übertragungs­ gatter 222 und 223 nichtleitend gemacht sind. Daher bleibt der Ausgang auf dem "L"-Pegel, während der Ausgang U 2 auf dem "H"-Pegel bleibt.
Wenn die Ausgänge M 1 bis M 4 der ECC-Schaltung 11 auf den "L"- Pegel zurückkehren und der Ausgang der NOR-Schaltung 211 in der in Fig. 7 gezeigten Zähleraktivierungsschaltung 200 den "H"-Pegel erhält, ist danach das Übertragungsgatter 221 und 224 in dem Zählerschaltungsblock 201 in der ersten Stufe leitend gemacht, während das Übertragungsgatter 221 und 223 darin nichtleitend gemacht ist. Folglich bleiben die Pegel der Ausgänge und erhalten (Zyklus (3) und (4) in Fig. 9).
Die Ausgänge der Zählerschaltungsblöcke werden sequentiell in die Übertragungsgatter der Zählerschaltungsblöcke der nachfolgenden Stufe eingegeben, so daß der gleiche Betrieb wie der des ersten Zählerschaltungsblockes 201 oder des zweiten Zählerschaltungs­ blockes 202 in jedem der Zählerschaltungsblöcke durchgeführt wird.
Wenn einer der Ausgänge M 1 bis M 4 der ECC-Schaltung den "H"- Pegel erhält, so daß der Ausgang der NOR-Schaltung 211 in der in Fig. 7 gezeigten Zähleraktivierungsschaltung 200 den "L"-Pegel erhält, dann werden die Übertragungsgatter 222 und 223 in dem Zählerschaltungsblock 201 in der ersten Stufe leitend gemacht, währenddessen die Übertragungsgatter 221 und 224 nichtleitend gemacht werden. Folglich erhält der Ausgang den "L"-Pegel, während der Ausgang U 1 den "H"-Pegel erhält (Zyklus (5) in Fig. 9).
Daher werden in dem zweiten Zählerschaltungsblock 202 die Über­ tragungsgatter 222 und 223 leitend gemacht, während die Übertragungs­ gatter 221 und 224 nichtleitend gemacht werden. Folglich erhält der Ausgang den "H"-Pegel, während der Ausgang U 2 den "L"-Pegel erhält.
Die Pegel der Ausgänge und werden gehalten, bis der Ausgang der NOR-Schaltung 211 in der Zähleraktivierungsschaltung 200 als nächstes den "L"-Pegel erhält (Zyklus (6) in Fig. 9).
Wenn der Ausgang der NOR-Schaltung 211 in der Zähleraktivierungs­ schaltung 200 den "L"-Pegel erhält, dann erhält der Ausgang des Zählerschaltungsblockes 201 in der ersten Stufe den "H"- Pegel, während der Ausgang des zweiten Zählerschaltungsblockes 202 den "H"-Pegel (Zyklus (7) in Fig. 9) erhält.
Daher erhält der Ausgang des Zählerschaltungsblockes 201 in der ersten Stufe wiederholt die "L"- und "H"-Pegel jedesmal, wenn der Ausgang der NOR-Schaltung 211 in der Zähler­ aktivierungsschaltung 200 von dem "H"-Pegel auf den "L"-Pegel abfällt. Zusätzlich erhält der Ausgang des Zählerschaltungs­ blockes 202 in der zweiten Stufe wiederholt die "H"- und "L"- Pegel jedesmal, wenn der Ausgang des Zählerschaltungs­ blockes 201 in der ersten Stufe von dem "H"-Pegel auf den "L"-Pegel abfällt. Analog erhalten die jeweiligen Ausgänge bis der Zählerschaltungsblöcke 203 bis 208 in der dritten bis achten Stufe wiederholt die "H"- und die "L"-Pegel jedesmal, wenn die Ausgänge der Zählerschaltungsblöcke der vorhergehenden Stufe jeweils von dem "H"-Pegel auf den "L"-Pegel abfallen. Im besonderen bilden die Zählerschaltungsblöcke 201 bis 208 in den ersten bis achten Stufen eine sogenannte Zählerschaltung.
Wenn Daten des ganzen Speicherzellenfeldes 1 ausgelesen werden, so daß der Ausgang der NOR-Schaltung 211 in der Zähleraktivierungs­ schaltung 200 viermal den "L"-Pegel erhält (Zyklus (A) in Fig. 9), erhalten in der oben beschriebenen Weise die Ausgänge , und den "H"-Pegel, den "L"-Pegel und den "L"-Pegel, d. h., "1", "0" und "0", so daß die Zählerschaltung 20 den Sachverhalt speichert, daß die Anzahl der Bits, die von der ECC- Schaltung 11 berichtigt sind, 4 beträgt.
Wenn in der Zählerschaltung 20 das von der Lese-Steuerschaltung 17 an den Übertragungsgatterblock 209 (siehe Fig. 8) angelegte ECC-Signal den "H"-Pegel erhält und ein durch Invertieren des ECC- Signales erhaltenes -Signal den "L"-Pegel erhält, ist daran anschließend das Übertragungsgatter 230 leitend gemacht, während das Übertragungsgatter 229 nichtleitend gemacht ist. Als ein Ergebnis werden die Ausgänge bis der Zählerschaltungsblöcke 201 bis 208 in den ersten bis achten Stufen jeweils als Zähldaten von einem Datenanschluß 7 über den Ausgangspuffer 12 nach außen ausgelesen. Die Ausgänge bis zeigen die Anzahl aller korrigierten Bits an.
Wenn das ECC-Signal auf dem "L"-Pegel und das -Signal auf dem "H"-Pegel ist, ist das Übertragungsgatter 229 leitend gemacht, während das Übertragungsgatter 230 nichtleitend gemacht ist. Folglich werden die Ausgänge D 0a bis D 7a der ECC-Schaltung 11 als korrigierte Daten von dem Datenanschluß 7 über den Ausgangspuffer 12 nach außen ausgelesen.
Obwohl in dem oben beschriebenen Ausführungsbeispiel die jeweiligen Ausgänge bis der Zählerschaltungsblöcke 201 bis 208 parallel ausgelesen werden, können die Ausgänge bis seriell ausgelesen werden.
Zusätzlich wird der Modus des Zählens der Anzahl der berichtigten Bits vom Hersteller im allgemeinen für den Entwurf oder die Prüfung verwendet. Obwohl in dem oben beschriebenen Ausführungs­ beispiel der Modus des Zählens der Anzahl der berichtigten Bits durch Anlegen eines Potentials, das höher als ein vom Anwender im allgemeinen verwendeter logischer Pegel ist, gesetzt ist, kann daher der Modus des Zählens der Anzahl der korrigierten Bits durch ein anderes Verfahren gesetzt sein.
Obwohl in der oben beschriebenen Ausführung das ECC-Signal den "H"-Pegel erhält, so daß Zähldaten ausgelesen werden, nachdem Daten von allen Adressen ausgelesen sind, kann ferner das ECC- Signal den "H"-Pegel erhalten, wenn ein Zählbetrieb gestartet wird.
Obwohl in dem oben beschriebenen Ausführungsbeispiel die Zähler­ schaltung 20 auf dem Chip gebildet ist, auf dem die anderen Schaltungen in dem EEPROM gebildet sind, kann die Zählerschaltung 20 außerdem getrennt von den anderen Schaltungen gebildet sein.
Obwohl in dem oben beschriebenen Ausführungsbeispiel die Beschreibung eines Falles erfolgte, bei dem das EEPROM mit einer Zählerschaltung vorgesehen ist, kann weiterhin die Erfindung ebenso bei einem EEPROM (löschbarer programmierbarer Nur-Lese- Speicher), einem OTP (One Time Programmable = einmal programmierbares) ROM, einem DRAM (dynamischer Speicher mit wahlfreiem Zugriff) und einem SRAM (statischer Speicher mit wahlfreiem Zugriff) verwendet werden, um den gleichen Effekt wie bei der oben beschriebenen Ausführung zu erhalten.
Wie im vorhergehenden beschrieben, kann entsprechend dieser Erfindung, da die Anzahl der von der Fehlerprüf- und -Korrektur­ einrichtung korrigierten Bitfehler in der Halbleiterspeichereinrichtung gezählt wird, die Zuverlässigkeit der Halbleiterspeichereinrichtung bewertet werden, so daß man wichtige Informationen erhält, die eine Verbesserung im Entwurf oder im Herstellungsprozeß ermöglicht.

Claims (11)

1. Halbleiterspeichereinrichtung mit einer Vorrichtung zum Prüfen und Korrigieren von Bitfehlern, gekennzeichnet durch eine Speichereinrichtung (1) zum Speichern von Information einer Mehrzahl von Bits,
eine Fehlerprüf- und -Korrektureinrichtung (11) zum Prüfen und Korrigieren von Bitfehlern der in der Speichereinrichtung (1) gespeicherten Information, wobei die Fehlerprüf- und -Korrektureinrichtung (11) jedesmal, wenn sie einen Bitfehler korrigiert, ein vorbestimmtes Zählsignal erzeugt, und
eine Zähleinrichtung (20) zum Zählen des vorbestimmten Zählsignales, das von der Fehlerprüf- und -Korrektureinrichtung (11) erzeugt wird.
2. Halbleiterspeichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Zähleinrichtung (20) auf ein von außen angelegtes Lesebefehlssignal reagiert, zum Ausgeben von Information, die die gezählte Anzahl anzeigt.
3. Halbleiterspeichereinrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Zähleinrichtung (20) auf ein von außen angelegtes Zählerstartsignal reagiert, zum Starten eines Zählbetriebes, nachdem die vorher gespeicherte Information, die die gezählte Anzahl anzeigt, gelöscht ist, und zum Ausgeben der Information, die die gezählte Anzahl anzeigt, nachdem die in der Speichereinrichtung (1) gespeicherte Information ausgelesen ist.
4. Halbleiterspeichereinrichtung nach Anspruch 3, dadurch gekennzeichnet, daß das Zählerstartsignal ein Potential eines höheren Pegels als eines gewöhnlichen logischen Pegels aufweist.
5. Halbleiterspeichereinrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Speichereinrichtung (1), die Fehlerprüf- und -Korrektureinrichtung (11) und die Zählereinrichtung (20) auf dem gleichen Halbleitersubstrat gebildet sind.
6. Halbleiterspeichereinrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Speichereinrichtung eine Mehrzahl von Speicherzellen aufweist, von denen jede Information speichert.
7. Halbleiterspeichereinrichtung mit einer Vorrichtung zum Prüfen und Korrigieren von Bitfehlern, gekennzeichnet durch
ein Speicherzellenfeld (1) mit einer Mehrzahl von Speicherzellen (101), die in einer Mehrzahl von Zeilen und Spalten angeordnet sind,
eine erste Auswahleinrichtung (2, 3) zum Auswählen irgendwelcher der Zeilen in dem Speicherzellenfeld (1),
eine zweite Auswahleinrichtung (4, 5, 6) zum Auswählen irgendwelcher der Spalten in dem Speicherzellenfeld (1),
eine Schreibeinrichtung zum Schreiben von Daten in die Speicherzelle (101), die durch die erste und zweite Auswahleinrichtung ausgewählt ist,
eine Leseeinrichtung (10) zum Auslesen von Daten, die in der Speicherzelle (101), die durch die erste und zweite Auswahleinrichtung ausgewählt ist, gespeichert sind,
eine Fehlerprüf- und -Korrektureinrichtung (11) zum Prüfen und Korrigieren von Bitfehlern, die in Daten enthalten sind, die in der Speicherzelle (101), die durch die erste und zweite Auswahl­ einrichtung ausgewählt ist, gespeichert sind, wobei die Fehlerprüf- und -Korrektureinrichtung (11) jedesmal, wenn sie einen Bitfehler korrigiert, ein vorbestimmtes Zählsignal erzeugt, und eine Zähleinrichtung (20) zum Zählen des vorbestimmten Zählsignales, das von der Fehlerprüf- und -Korrektureinrichtung (11) erzeugt wird.
8. Halbleiterspeichereinrichtung nach Anspruch 7, dadurch gekennzeichnet, daß
das Speicherzellenfeld (1) einen Datenbereich (1 a) zum Speichern von Datenbits und einen Prüfbitbereich (1 b) zum Speichern von Prüfbits aufweist,
die Fehlerprüf- und -Korrektureinrichtung (11) eine Prüfbiterzeuger­ einrichtung (9) zum Erzeugen von Prüfbits aufweist, die auf Datenbits basiert, die in dem Datenbitbereich (1 a) in dem Speicherzellenfeld (1) gespeichert sind, und die an den Prüfbitbereich (1 b) angelegt werden, und
die Prüf- und Korrektureinrichtung (11) auf die Prüfbits reagiert, die in dem Prüfbitbereich (1 b) des Speicherzellenfeldes (1) gespeichert sind, zum Prüfen und Korrigieren von Bitfehlern der entsprechenden Datenbits.
9. Halbleiterspeichereinrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß die Zähleinrichtung (20) auf ein von außen angelegtes Zählerstartsignal reagiert, zum Starten eines Zählbe­ triebes, nachdem die vorher gespeicherte Information, die die gezählte Anzahl anzeigt, gelöscht ist, und zum Ausgeben der Information, die die gezählte Anzahl anzeigt, nachdem die in der Speichereinrichtung (1) gespeicherte Information ausgelesen ist.
10. Halbleiterspeichereinrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß jede der Mehrzahl von Speicherzellen (101) einen elektrisch löschbaren und programmierbaren Nur- Lese-Speicher aufweist.
11. Verfahren zum Betreiben einer Halbleiterspeichereinrichtung mit einer Speichereinrichtung (1) zum Speichern von Information einer Mehrzahl von Bits, und einer Fehlerprüf- und -Korrektureinrichtung (11) zum Prüfen und Korrigieren von Bitfehlern der Information, die in der Speichereinrichtung (1) gespeichert ist, gekennzeichnet durch die Schritte:
Erzeugen eines vorbestimmten Zählsignales jedesmal dann, wenn ein Bitfehler von der Fehlerprüf- und -Korrektureinrichtung (11) nachgewiesen wird, und
Zählen des vorbestimmten Zählsignales.
DE3833713A 1987-10-05 1988-10-04 Halbleiterspeichereinrichtung mit einer vorrichtung zum pruefen und korrigieren von fehlern Granted DE3833713A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62251930A JPH0194599A (ja) 1987-10-05 1987-10-05 半導体記憶装置

Publications (2)

Publication Number Publication Date
DE3833713A1 true DE3833713A1 (de) 1989-04-20
DE3833713C2 DE3833713C2 (de) 1990-06-21

Family

ID=17230087

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3833713A Granted DE3833713A1 (de) 1987-10-05 1988-10-04 Halbleiterspeichereinrichtung mit einer vorrichtung zum pruefen und korrigieren von fehlern

Country Status (3)

Country Link
US (1) US4958352A (de)
JP (1) JPH0194599A (de)
DE (1) DE3833713A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4027050A1 (de) * 1989-08-29 1991-03-14 Mitsubishi Electric Corp Halbleiterspeichereinrichtung mit fehlererfassungs- und-korrekturschaltkreis und betriebsverfahren fuer diese
DE4025640A1 (de) * 1990-02-16 1991-08-29 Mitsubishi Electric Corp Halbleiterspeichereinrichtung mit ersatzspeicherzellen
EP0448970A2 (de) * 1990-02-26 1991-10-02 Nec Corporation Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung
US7484162B2 (en) 2003-02-07 2009-01-27 Robert Bosch Gmbh Method and apparatus for monitoring an electronic control system

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5262342A (en) * 1988-11-04 1993-11-16 Mitsubishi Denki Kabushiki Kaisha Method of making a semiconductor memory device having error checking/correcting functions
JPH02140700U (de) * 1989-04-20 1990-11-26
JPH0387000A (ja) * 1989-08-30 1991-04-11 Mitsubishi Electric Corp 半導体記憶装置
JP2745252B2 (ja) * 1991-06-24 1998-04-28 三菱電機株式会社 半導体記憶装置
US6781895B1 (en) * 1991-12-19 2004-08-24 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
US5361227A (en) * 1991-12-19 1994-11-01 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5289418A (en) * 1992-02-14 1994-02-22 Extended Systems, Inc. Memory apparatus with built-in parity generation
DE59310092D1 (de) * 1992-06-30 2000-10-05 Siemens Ag Verfahren zur Datensicherung bei Schreib-Lese-Speichern
WO1995009424A1 (en) * 1993-09-30 1995-04-06 Macronix International Co., Ltd. Automatic test circuitry with non-volatile status write
JP3919213B2 (ja) * 1993-09-30 2007-05-23 マクロニクス インターナショナル カンパニイ リミテッド 不揮発性状態書込みを備えた自動テスト回路
DE69423104T2 (de) * 1994-10-31 2000-07-20 Stmicroelectronics S.R.L., Agrate Brianza Fehlernachweis- und Korrekturverfahren in einem mehrstufigen Speicher und Speicher für dieses Verfahren
WO1996021229A1 (en) * 1995-01-05 1996-07-11 Macronix International Co., Ltd. Non-volatile memory device for fault tolerant data
US5954828A (en) * 1995-01-05 1999-09-21 Macronix International Co., Ltd. Non-volatile memory device for fault tolerant data
JPH08203278A (ja) * 1995-01-25 1996-08-09 Sony Corp 半導体メモリ
JPH0933615A (ja) * 1995-07-19 1997-02-07 Advantest Corp 半導体メモリ試験装置のメモリ不良解析装置
KR19980073924A (ko) * 1997-03-20 1998-11-05 문정환 에러 데이터 수정회로
KR100266748B1 (ko) * 1997-12-31 2000-10-02 윤종용 반도체 메모리 장치 및 그 장치의 에러 정정 방법
US6044479A (en) * 1998-01-29 2000-03-28 International Business Machines Corporation Human sensorially significant sequential error event notification for an ECC system
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6700827B2 (en) 2001-02-08 2004-03-02 Integrated Device Technology, Inc. Cam circuit with error correction
US7158058B1 (en) 2002-12-09 2007-01-02 Marvell International Ltd. Method and apparatus for generating a seed set in a data dependent seed selector
US6987684B1 (en) 2003-07-15 2006-01-17 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having multi-block error detection logic and entry selective error correction logic therein
US6870749B1 (en) 2003-07-15 2005-03-22 Integrated Device Technology, Inc. Content addressable memory (CAM) devices with dual-function check bit cells that support column redundancy and check bit cells with reduced susceptibility to soft errors
US7193876B1 (en) 2003-07-15 2007-03-20 Kee Park Content addressable memory (CAM) arrays having memory cells therein with different susceptibilities to soft errors
US7304875B1 (en) 2003-12-17 2007-12-04 Integrated Device Technology. Inc. Content addressable memory (CAM) devices that support background BIST and BISR operations and methods of operating same
JP2006179101A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd 半導体記憶装置
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US8122320B2 (en) * 2008-01-22 2012-02-21 Qimonda Ag Integrated circuit including an ECC error counter
US7937625B2 (en) * 2008-09-26 2011-05-03 Microsoft Corporation Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
US8462532B1 (en) 2010-08-31 2013-06-11 Netlogic Microsystems, Inc. Fast quaternary content addressable memory cell
US8625320B1 (en) 2010-08-31 2014-01-07 Netlogic Microsystems, Inc. Quaternary content addressable memory cell having one transistor pull-down stack
US8553441B1 (en) 2010-08-31 2013-10-08 Netlogic Microsystems, Inc. Ternary content addressable memory cell having two transistor pull-down stack
US8582338B1 (en) 2010-08-31 2013-11-12 Netlogic Microsystems, Inc. Ternary content addressable memory cell having single transistor pull-down stack
JP5263251B2 (ja) * 2010-09-27 2013-08-14 富士通セミコンダクター株式会社 半導体記憶装置
US8773880B2 (en) 2011-06-23 2014-07-08 Netlogic Microsystems, Inc. Content addressable memory array having virtual ground nodes
US8837188B1 (en) 2011-06-23 2014-09-16 Netlogic Microsystems, Inc. Content addressable memory row having virtual ground and charge sharing
KR101886670B1 (ko) * 2011-12-09 2018-08-10 에스케이하이닉스 주식회사 퓨즈회로
US10116336B2 (en) * 2014-06-13 2018-10-30 Sandisk Technologies Llc Error correcting code adjustment for a data storage device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2359776C2 (de) * 1972-12-01 1984-02-16 Honeywell Information Systems Inc., 02154 Waltham, Mass. Speichermodul
US4612640A (en) * 1984-02-21 1986-09-16 Seeq Technology, Inc. Error checking and correction circuitry for use with an electrically-programmable and electrically-erasable memory array

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4053751A (en) * 1976-04-28 1977-10-11 Bell Telephone Laboratories, Incorporated Adaptable exerciser for a memory system
US4584681A (en) * 1983-09-02 1986-04-22 International Business Machines Corporation Memory correction scheme using spare arrays
US4809276A (en) * 1987-02-27 1989-02-28 Hutton/Prc Technology Partners 1 Memory failure detection apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2359776C2 (de) * 1972-12-01 1984-02-16 Honeywell Information Systems Inc., 02154 Waltham, Mass. Speichermodul
US4612640A (en) * 1984-02-21 1986-09-16 Seeq Technology, Inc. Error checking and correction circuitry for use with an electrically-programmable and electrically-erasable memory array

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kawashima Hiromi et al, 64K Bit EEPROM with on-chip ECC, in: Technical Report of Institute of Electronics and communication Engineers of Japan, Vol. 86, Nr. 1, S. 51-56 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4027050A1 (de) * 1989-08-29 1991-03-14 Mitsubishi Electric Corp Halbleiterspeichereinrichtung mit fehlererfassungs- und-korrekturschaltkreis und betriebsverfahren fuer diese
US5172339A (en) * 1989-08-29 1992-12-15 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having error checking and correcting circuit and operating method therefor
DE4025640A1 (de) * 1990-02-16 1991-08-29 Mitsubishi Electric Corp Halbleiterspeichereinrichtung mit ersatzspeicherzellen
EP0448970A2 (de) * 1990-02-26 1991-10-02 Nec Corporation Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung
EP0448970A3 (en) * 1990-02-26 1992-09-30 Nec Corporation An information processing device having an error check and correction circuit
US7484162B2 (en) 2003-02-07 2009-01-27 Robert Bosch Gmbh Method and apparatus for monitoring an electronic control system

Also Published As

Publication number Publication date
JPH0194599A (ja) 1989-04-13
DE3833713C2 (de) 1990-06-21
US4958352A (en) 1990-09-18

Similar Documents

Publication Publication Date Title
DE3833713C2 (de)
DE4027050C2 (de)
DE3882898T2 (de) Nichtflüchtiger Halbleiterspeicher mit Belastungsprüfschaltung.
DE102004025977B4 (de) Flash-Speicherbaustein
DE4213731C2 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE69527741T2 (de) Halbleiterspeichergerät und Antriebsverfahren
DE69221809T2 (de) Elektrisch löschbare und programmierbare Festwertspeicherschaltung vom Typ NAND-Zell mit Redundanz
DE3227464C2 (de) Programmierbare Schaltung
DE69227413T2 (de) Zwischenspeicherschaltung für Daten mit einer nichtlöschbaren Speicherzelle
DE19513789C2 (de) Redundanter Blockdekoder für eine Halbleiterspeichervorrichtung
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE3877475T2 (de) Eeprom-system mit bitfehlererkennungsfunktion.
DE3587143T2 (de) Halbleiterspeichergeraet mit fehlererkennung/korrekturfunktion.
DE69417712T2 (de) Nichtflüchtige Halbleiter-Speichereinrichtung
DE19983565B4 (de) Interner Auffrisch-Modus für eine Flash-Speicherzellenmatrix
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE10043397A1 (de) Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür
DE2313917B2 (de) Speicher mit redundanten Speicherstellen
DE4040492C2 (de)
DE10002266A1 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE19937101A1 (de) Halbleiterspeicherbauelement mit Chipinterner Fehlerkorrekturschaltung und ein Verfahren zum Korrigieren eines Datenfehlers darin
DE60006177T2 (de) Block-löschbare Halbleiterspeicherschaltung mit Ersetzung defekter Speicherblöcke
DE3878370T2 (de) Nichtfluechtige halbleiterspeicheranordnung.
DE69321700T2 (de) Nicht-flüchtige Halbleiterspeicher
DE19615660A1 (de) Schaltung zur Aufbringung einer Belastungsspannung in eine Blockeinheit für die Verwendung in einer Halbleiterspeichervorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: PRUFER & PARTNER GBR, 81545 MUENCHEN

8339 Ceased/non-payment of the annual fee