DE4416171A1 - EEPROM-Vorrichtung - Google Patents

EEPROM-Vorrichtung

Info

Publication number
DE4416171A1
DE4416171A1 DE4416171A DE4416171A DE4416171A1 DE 4416171 A1 DE4416171 A1 DE 4416171A1 DE 4416171 A DE4416171 A DE 4416171A DE 4416171 A DE4416171 A DE 4416171A DE 4416171 A1 DE4416171 A1 DE 4416171A1
Authority
DE
Germany
Prior art keywords
bit
eeprom
bits
exnor gate
data
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
DE4416171A
Other languages
English (en)
Other versions
DE4416171C2 (de
Inventor
Kazuo Asami
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 DE4416171A1 publication Critical patent/DE4416171A1/de
Application granted granted Critical
Publication of DE4416171C2 publication Critical patent/DE4416171C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • 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

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

Die vorliegende Erfindung betrifft eine EEPROM-Vorrichtung nach dem Oberbegriff des Anspruches 1, 2, oder 3. Die vorliegende Erfindung betrifft eine EEPROM-Vorrichtung, die aus einem EEPROM und einer beigefügten Vorrichtung besteht, und in der ein sogenannter Prüfmustertest ausgeführt wird, um die Zuverlässigkeit des EEPROM zu garantieren. Die Erfindung betrifft insbesondere eine EEPROM-Vorrichtung, die zum Beispiel in einem 1-Chip-Microcomputer eingebaut ist, der für eine IC- Karte verwendet wird.
Fig. 1 ist ein funktionales Blockschaltbild einer bekannten Konfiguration eines 1-Chip-Microcomputers, in den ein EEPROM eingebaut ist. Die Fig. zeigt genauer gesagt die Konfiguration einer IC-Karte mit fünf Anschlüssen.
In Fig. 1 bezeichnet das Bezugszeichen 1 eine CPU, die Daten entsprechend einem Benutzerprogramm verarbeitet. Das von dieser CPU 1 verarbeitete Benutzerprogramm ist in einem ROM 2 gespeichert. Unter den von der CPU 1 verarbeiteten Daten sind diejenigen, die zeitweise gespeichert werden müssen, in einem RAM 3 abgelegt. Die CPU 1, das ROM 2 und das RAM 3 sind miteinander über einen Bus 14 verbunden.
Das Bezugszeichen 4 bezeichnet eine Eingabe/Ausgabesteuerschaltung, die zwischen dem Bus 14 und einem I/O-Anschluß 13 unter den nächsten Verbindungsanschlüssen, die durch Bezugszeichen 9 bis 13 bezeichnet sind, verbunden. Die Eingabe/Ausgabesteuerschaltung 4 wandelt serielle Daten, die von außen eingegeben werden, in parallele Daten um, um die parallelen Daten auf den Bus 14 auszugeben, und sie wandelt parallele Daten, die vom Bus 14 übergeben werden, in serielle Daten um, um die seriellen Daten über den I/O-Anschluß nach außen abzugeben.
Das Bezugszeichen 5 bezeichnet eine EEPROM-Vorrichtung, die aus einem EEPROM als programmierbarem Datenspeicher, der durch das Bezugszeichen 15 bezeichnet wird, einem ECC (Fehlerprüf- und Korrektur-) Schaltung 6, einem EEPROM 7 für die ECC-Schaltung, einer Daten-Latch-Schaltung 8 etc. besteht.
Das EEPROM 50 speichert Daten, die stets gespeichert sein müssen, wie zum Beispiel Daten, die ein Verarbeitungsergebnis der CPU 1 darstelle.
Die ECC-Schaltung 6 erzeugt einen Fehlerkorrekturcode (ECC-Code) der Daten, die vom Bus 14 eingegeben und im EEPROM 50 gespeichert werden, und weist das EEPROM 7 für die ECC-Schaltung an, den ECC-Code zu speichern. Wenn die im EEPROM 50 gespeicherten Daten ausgelesen werden, gibt die ECC-Schaltung 6 den entsprechenden ECC-Code vom EEPROM 7 für die ECC-Schaltung auf den Bus 14 aus.
Das EEPROM 7 für die ECC-Schaltung speichert einen ECC-Code, der von der ECC-Schaltung 6 erzeugt worden ist, und gibt ihn auf den Bus 14 aus, wie dieser Fall fordert.
Die Daten-Latch-Schaltung 8 verriegelt Daten, die in das EEPROM 50 geschrieben werden sollen und einen ECC-Code, der von der ECC-Schaltung 6 erzeugt wird.
Ferner sind in der bekannten EEPROM-Vorrichtung nach Fig. 1 Speicherzellen im Zustand einer Matrix mit einer Breite von acht Bits im EEPROM 50 angeordnet, und es wird ein 8-Bit-Wert in der jeweiligen Zeile mit 8-Bit-Breite gespeichert. Demgegenüber sind im EEPROM 7 für die ECC-Schaltung die Speicherzellen im Zustand einer Matrix mit einer Breite von vier Bits angeordnet, und es wird ein ECC-Code in jeder Zeile mit 4-Bit-Breite gespeichert. Sowohl das EEPROM 50 als auch das EEPROM 7 sind Hardware-mäßig integriert. Es wird angenommen, daß Speicherzellen im Zustand einer Matrix mit n-Bit-Breite in einem EEPROM 50 angeordnet sind. Allgemein ausgedrückt, werden in Bits unter n Bits und die restlichen "n-m" Bits in jeder Zeile des EEPROM 500 vom EEPROM 50 und dem EEPROM 7 für die ECC-Schaltung geteilt.
Wenn Daten im EEPROM 50 gespeichert werden, wird entsprechend ein ECC-Code der Daten in der Zeile des EEPROM 7 für die ECC- Schaltung gespeichert, die dieselbe Zeile des EEPROM 50 darstellt, in der die Daten gespeichert werden. Mit anderen Worten wird ein Wert zu in Bits und der ECC-Code der Daten zu "n-m" Bits sequentiell in einer Zeile zu n Bits des EEPROM 500 gespeichert, das das EEPROM 50 und das EEPROM 7 für die ECC- Schaltung bildet.
Die Bezugszeichen 9 bis 13 bezeichnen die externen Verbindungsanschlüsse, wie oben erwähnt worden ist, und das Bezugszeichen 9 bezeichnet einen Versorgungs-(Vcc-)Anschluß, dem eine Versorgungsspannung zugeführt wird, Bezugszeichen 10 bezeichnet einen Masse-(GND-)Anschluß, mit dem das Massepotential verbunden ist, Bezugszeichen 11 bezeichnet einen Rückstell-(RST-)Anschluß, dem ein Rückstellsignal zugeführt wird, Bezugszeichen 12 bezeichnet einen Taktsignal-(CLK-) Anschluß, dem das Betriebstaktsignal dieses Microcomputer zugeführt wird, und das Bezugszeichen 13 bezeichnet den I/O- Anschluß, an den, wie oben beschrieben, serielle Daten eingegeben bzw. von dem serielle Daten ausgegeben werden.
Wenn der in Fig. 1 gezeigte 1-Chip-Microcomputer für eine IC- Karte in eine geeignete Vorrichtung eingesetzt wird, werden diese externen Verbindungsanschlüsse 9 bis 13 mit den Anschlüssen auf der Seite der Vorrichtung verbunden.
Fig. 2 zeigt ein Schaltbild der schematischen Schaltungskonfiguration der oben angeführten ECC-Schaltung 6. In Fig. 2 stellt ein Abschnitt, der durch das Bezugszeichen 15 bezeichnet wird, eine ECC-Codeerzeugungseinheit dar, in die 8- Bit-Schreibdaten DB0 bis DB7, die im EEPROM 50 gespeichert werden sollen, eingegeben werden, und die einen 4-Bit-ECC-Code erzeugt. Die 8-Bit-Schreibdaten DB0 bis DB7 sind ursprünglich die Daten, die vom Bus 14 über die Daten-Latch-Schaltung 8 in das EEPROM 50 eingeschrieben werden sollen. Dieselben Daten werden jedoch vom Bus 14 auch an die ECC-Schaltung 6 angelegt, und es wird ein ECC-Code von der ECC-Codeerzeugungseinheit 15 erzeugt.
Das Bezugszeichen 16 bezeichnet einen Umschalter, der selektiv entweder einen ECC-Code, der von der ECC-Codeerzeugungseinheit 15 erzeugt worden ist, oder Signale zu vier Bits D0 bis D3, die von der CPU 1 ausgegeben werden, über den Bus 14 nach außerhalb der EEPROM-Vorrichtung 5 ausgibt.
Der Umschalter 16 wird von einem Steuersignal WR 18 von der CPU 1 gesteuert. Wenn das Steuersignal WR 18 auf einem hohen Pegel liegt, gibt der Umschalter 16 die Signale zu vier Bits D0 bis D3, die von außen eingegeben werden, aus. Liegt das Steuersignal WR 18 auf einem niedrigen Pegel, gibt der Umschalter 16 einen ECC-Code aus, der von der ECC-Codeerzeugungseinheit 15 erzeugt wird. Die vom Umschalter 16 ausgegebenen Signale EB8 bis EB11 werden als ECC-Code 18 am das EEPROM 7 für die ECC-Schaltung über die Daten-Latch-Schaltung 8 ausgegeben und gespeichert.
Die ECC-Codeerzeugungseinheit 15 umfaßt vier Gruppen von ECC- Codeerzeugungsschaltungen 151 bis 154, um einen ECC-Code zu vier Bits zu erzeugen. Ferner besteht jede der ECC- Codeerzeugungsschaltungen 151 bis 154 aus vier 2-Eingangs-EXNOR- Gattern.
In der ersten ECC-Codeerzeugungsschaltung 151 werden in ein EXNOR-Gatter 151a das Bit DB0 und das Bit DB1, an ein EXNOR- Gatter 151b das Ausgabesignal des EXNOR-Gatters 151a und das Bit DB3, an ein EXNOR-Gatter 151c das Ausgabesignal des EXNOR- Gatters 151b und Bit DB4 sowie an ein EXNOR-Gatter 151d das Ausgabesignal des EXNOR-Gatters 151c und das Bit DB6 eingegeben.
An der zweiten ECC-Codeerzeugungsschaltung 152 werden an ein EXNOR-Gatter 152a das Bit DB0 und das Bit DB2, an ein EXNOR- Gatter 152b das Ausgabesignal des EXNOR-Gatters 152a und das Bit DB3, an ein EXNOR-Gatter 152c das Ausgabesignal des EXNOR- Gatters 152b und das Bit DB5 sowie an ein EXNOR-Gatter 152d das Ausgabesignal des EXNOR-Gatters 152c und das Bit DB6 eingegeben.
In der dritten ECC-Codeerzeugungsschaltung 153 werden an ein EXNOR-Gatter 153a das Bit DB1 und das Bit DB2, an ein EXNOR- Gatter 153b die Ausgabe des EXNOR-Gatters 153a und das Bit DB3, an ein EXNOR-Gatter 153c das Ausgangssignal des EXNOR-Gatters 153b und das Bit DB7 sowie an ein EXNOR-Gatter 153d das Ausgabesignal des EXNOR-Gatters 153c und das Bit DB0 eingegeben.
In der vierten ECC-Codeerzeugungsschaltung 154 werden an ein EXNOR-Gatter 154a das Bit DB4 und das Bit DB5, an ein EXNOR- Gatter 154b das Ausgabesignal des EXNOR-Gatters 154a und das Bit DB6, an ein EXNOR-Gatter 154c das Ausgabesignal des EXNOR- Gatters 154b und das Bit DB7 sowie an ein EXNOR-Gatter 154d das Ausgabesignal des EXNOR-Gatters 154c und das Bit DB0 eingegeben.
Fig. 3 ist ein Blockschaltbild für eine Konfiguration der Daten- Latch-Schaltung 8. Die Daten-Latch-Schaltung 8 weist eine 12- Bit-Konfiguration auf und verriegelt die oben angeführten EB8 bis EB11 des 4-Bit-ECC-Code und DB0 bis DB8 des 8-Bit-Werts. Die Schaltung für ein jeweiliges Bit besteht aus einer allgemeinen Latch-Schaltung, in der zwei Inverter antiparallel zueinander geschaltet sind, wie durch das Bezugszeichen 20 bezeichnet wird.
Im 1-Chip-Microcomputer, in den ein solches EEPROM 500, das aus dem EEPROM 50 und dem EEPROM 7 besteht, eingebaut ist, ist es erforderlich, einen Prüfmustertest für das EEPROM 500 auszuführen. Beim Prüfmustertest wird geprüft, ob die jeweilige Speicherzelle, die das EEPROM aufbaut, von der benachbarten Speicherzelle beeinflußt wird oder nicht. Genauer gesagt wird ein Wert ("1" oder "0") , der von der in orthogonaler Richtung der Matrix benachbarten vier Speicherzellen verschieden ist, in den jeweiligen Speicherzellen des EEPROM, die in der Form einer Matrix angeordnet sind, gespeichert, und dann ausgelesen. Dadurch wird geprüft, ob die jeweilige der Speicher von den in der Speicherzelle, die der jeweiligen der Speicherzellen benachbart ist, beeinflußt wird oder nicht.
Der tatsächliche Vorgang dieses Prüfmustertests wird zum Beispiel folgendermaßen ausgeführt.
Wenn beispielsweise "55(H)" ((H) stellt eine hexadezimale Zahl dar), das heißt "01010101(B)" ((B) stellt eine binäre Zahl dar) als Wert in das EEPROM 50 eingeschrieben wird, wird jeder der digitalen Werte "0", "1", "0", "1", "0", "1", "0", "1" in einer Zeile des EEPROM 50 mit einer Breite von acht Bits sequentiell als DB7, DB6, DB5, DB4, DB3, DB2, DB1, DB0 gespeichert.
Gleichzeitig wird durch die jeweilige der ECC- Codeerzeugungsschaltung 151 bis 154 der ECC- Codeerzeugungseinheit 15 der Wert "B(H)", das heißt "1011(B)" als ECC-Code 17 erzeugt, und die jeweiligen digitalen Werte davon "1", "0", "1", "1" werden in einer Zeile des EEPROM 7 mit einer Breite von vier Bits sequentiell als ECC-Code EB11, EB10, EB9, EB8 für die ECC-Schaltung gespeichert.
Wenn beispielsweise "AA(H)", das heißt "10101010(B)" als Wert in das EEPROM 50 geschrieben wird, werden die jeweiligen digitalen Werte davon "1", "0", "1", "0", "1", "0", "1", "0" in einer Zeile des EEPROM 50 mit einer Breite von acht Bits sequentiell als Daten DB7, DB6, DB5, DB5, DB4, DB3, DB2, DB1, DB0 gespeichert. Gleichzeitig wird von jeder der ECC- Codeerzeugungsschaltung 151 bis 154 der ECC- Codeerzeugungseinheit 15 "6(H)", das heißt "0110(B)" als ECC- Code 17 erzeugt. Die jeweiligen digitalen Werten davon "0", "1", "1", "0" werden sequentiell in einer Zeile des EEPROM 7 für die ECC-Schaltung mit einer Breite von vier Bits als ECC-Code EB11, EB10, EB9, EB8 gespeichert.
Wenn zwei solche Arten von Werten "55(H)" und "AA(H)" wie oben erwähnt, bei denen "1(B)" und "1(B)" abwechselnd angeordnet sind, abwechselnd geschrieben werden, weisen die in zueinander benachbarten Speicherzellen des EEPROM 50 gespeicherten Daten daher stets eine Kombination "1(B)" und "0(B)" auf. Im EEPROM 7 für die ECC-Schaltung werden andererseits die Daten des ECC- Code, in dem "1(B)" und "0(B)" nicht immer abwechselnd angeordnet sind, im Gegensatz zu oben gespeichert. Durch Anheben des Steuersignals WR 18 auf einen hohen Pegel, so daß Daten von außen in den Umschalter 16 eingegeben werden, werden daher die Daten durch die CPU 1 getrennt in das EEPROM 7 für die ECC- Schaltung geschrieben.
Als D0 bis D3 "5(H)", das heißt "0101(B)" und "A(H)", das heißt "1010(B)" werden abwechselnd in den Umschalter 16 eingegeben, so daß sie im EEPROM 7 für die ECC-Schaltung gespeichert werden. Dadurch weisen die Daten, die in einer Speicherzelle benachbart zum EEPROM 7 für die ECC-Schaltung gespeichert sind, stets eine Kombination "1(B)" und "0(B)" auf. Auch wenn das EEPROM 50 und das EEPROM 7 als eine zusammen gebildete Hardware EEPROM 500 betrachtet werden, weisen die in benachbarten Speicherzellen gespeicherten Daten stets eine Kombination "1(B)" und "0(B)" auf.
Wenn Daten in das oben angeführte EEPROM 50 und das EEPROM 7 für die ECC-Schaltung geschrieben werden, wird ferner jeder Wert in das EEPROM 50 oder das EEPROM 7 für die ECC-Schaltung geschrieben, nachdem er zeitweise in der Daten-Latch-Schaltung 8 verriegelt worden ist.
Wie oben beschrieben worden ist, müssen in einem EEPROM eines bekannten 1-Chip-Microcomputer Daten getrennt in das EEPROM 50 und das EEPROM 7 für die ECC-Schaltung des EEPROM 500 geschrieben werden, wenn ein Prüfmustertest ausgeführt wird. Daher ergibt sich das Problem, daß der Prüfmustertest kompliziert ist und eine lange Zeit benötigt.
Die vorliegende Erfindung ist im Hinblick auf solche Umstände vorgeschlagen worden. Aufgabe der Erfindung ist es, eine EEPROM- Richtung zu schaffen, die einen Prüfmustertest für ein eingebautes EEPROM einfach und in kurzer Zeit ausführen kann.
Die Aufgabe wird gelöst durch die in Anspruch 1, 2 oder 3 beschriebene Vorrichtung.
Eine erste erfindungsgemäße EEPROM-Vorrichtung weist eine ECC- Codeerzeugungseinheit zum Erzeugen von "5(H)" ((H) stellt eine hexadezimale Zahl dar), das heißt "0101(B)" ((B) stellt eine binäre Zahl dar) als einem ECC-Code, wenn ein Wert, bei dem die erste Ziffer gleich "1" ist und anschließend "0" und "1" in binärer Notation wiederholt werden, zum Beispiel "55(H)", das heißt "01010101(B)" als Wert geschrieben wird, der im EEPROM für die Datenspeicherung gespeichert werden soll, und zum Erzeugen von "A(H)", das heißt "1010(B)" als ECC-Code, wenn ein Wert, bei dem die erste Ziffer gleich "0" ist und anschließend "1" und "0" in binärer Notation wiederholt werden, wie zum Beispiel "AA(H)", das heißt "10101010(B)" als Wert geschrieben wird, der im EEPROM für die Datenspeicherung gespeichert werden soll, auf.
Eine zweite erfindungsgemäße Vorrichtung weist eine Latch- Schaltung zum zeitweisen Verriegeln der Daten, die im EEPROM für die Datenspeicherung und im EEPROM für die ECC-Schaltung gespeichert werden sollen, auf, das mit Latch-Elementen gebildet ist, die einzelne Bit ausschieben kann.
Die dritte erfindungsgeinäße Vorrichtung wiest die Eigenschaften der oben angeführten ersten und zweiten Vorrichtung zusammen auf.
Bei der ersten Vorrichtung wird "5(H)", das heißt "0101(B)" der ECC-Codeerzeugungseinheit als ECC-Code erzeugt, wenn ein Wert, bei dem die erste Ziffer gleich "1" ist und anschließend "0" und "1" in binärer Notation wiederholt werden, wie zum Beispiel bei "55(H)", das heißt "01010101(B)" als Wert geschrieben wird, der im EEPROM für die Datenspeicherung gespeichert werden soll, und es wird "A(H)", das heißt "1010(B)" als ECC-Code erzeugt, wenn ein Wert, dessen erste Ziffer gleich "0" ist und anschließend "1" und "0" in binärer Notation wiederholt werden, zum Beispiel "AA(H)", das heißt "10101010(B)" geschrieben wird.
Wenn bei der zweiten Vorrichtung ein Wert, in dem die erste Ziffer gleich "1" ist und anschließend "0" und "1" in binärer Notation wiederholt werden, zum Beispiel "55(H)", das heißt "010101010101(B)" geschrieben wird, oder Wert in dem die erste Ziffer gleich "0" ist und anschließend "1" und "0" wiederholt werden, zum Beispiel "AAA(H)", das heißt "101010101010(B)" geschrieben wird, wird zuerst in der Latch-Schaltung nur einmal ein Wert für den Prüfmustertest im EEPROM für die Datenspeicherung und für die ECC-Schaltung gespeichert indem nachfolgend Bits einzeln verschoben werden.
Bei der dritten erfindungsgemäßen Vorrichtung wird ein Wert, bei dem die erste Ziffer "1" ist und anschließend "0" und "1" wiederholt werden, beispielsweise "55(H)", das heißt "01010101(B)" zuerst einmal in das EEPROM zum Datenspeichern geschrieben, "5(H)", das heißt "0101(B)" als ECC-Code wird erzeugt, und "555(H)", das heißt "010101010101(B)" wird in der Latch-Schaltung verriegelt. Ein Wert, bei dem die erste Ziffer in binärer Notation gleich "0" ist und anschließend "1" und "0" wiederholt werden, zum Beispiel "AA(H)", das heißt "10101010(B)" wird geschrieben, "A(H)", das heißt "1010(B)" wird als ECC-Code erzeugt und "AAA(H)", das heißt "101010101010(B)" wird von der Latch-Schaltung verriegelt. Daten für den Prüfmustertest werden im EEPROM für die Datenspeicherung und die ECC-Schaltung durch bitweises Verschieben im folgenden gespeichert.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aus der Beschreibung von Ausführungsbeispielen anhand der Figuren. Von den Figuren zeigen
Fig. 1 ein Blockschaltbild einer bekannten, allgemeinen funktionalen Konfiguration eines 1-Chip- Microcomputers mit eingebauten EEPROM;
Fig. 2 ein Schaltbild der schematischen Konfiguration einer ECC-Schaltung in einer bekannten funktionalen Konfiguration eines 1-Chip-Microcomputers mit eingebautem EEPROM;
Fig. 3 ein Blockschaltbild der Konfiguration einer Daten-Latch-Schaltung davon;
Fig. 4 ein Schaltbild der schematischen Konfiguration einer ECC-Schaltung in Übereinstimmung mit einer erfindungsgemäßen EEPROM-Vorrichtung; und
Fig. 5 ein Blockschaltbild der Konfiguration einer Daten-Latch-Schaltung zur Erläuterung einer zweiten Ausführungsform der Erfindung.
Fig. 4 zeigt ein Schaltbild der schematischen Konfiguration der ECC-Schaltung 6 des EEPROM nach der vorliegenden Erfindung.
Wie in Fig. 4 beziehen sich dieselben Bezugszeichen wie die in Fig. 2 bezüglich der Erläuterung des oben angeführten bekannten Beispiels auf dieselben oder einander entsprechenden Teile.
In Fig. 4 bezeichnet das Bezugszeichen 19 eine ECC- Codeerzeugungseinheit, die 8-Bit-Schreibdaten DB0 bis DB7 übernimmt und einen 4-Bit-ECC-Code erzeugt. Bezugszeichen 16 bezeichnet einen Umschalter, der selektiv entweder den von der ECC-Codeerzeugungseinheit 19 erzeugten ECC-Code oder 4-Bit- Signale D0 bis D3, die zum Beispiel von der CPU oder einer ähnlichen Einheit von außen übergeben werden aus.
Der Umschalter 16 wird von einem Steuersignal gesteuert, das mit dem Bezugszeichen 18 bezeichnet ist, und es werden Signale EB8 bis EB11, die vom Umschalter 16 ausgegeben werden, im EEPROM 7 für die ECC-Schaltung als ECC-Code 17 gespeichert.
Die ECC-Codeerzeugungseinheit 19 besteht aus vier Sätzen von ECC-Codeerzeugungsschaltungen 191 bis 194, um einen 4-Bit-ECC- Code zu erzeugen. Ferner weist jeder der ECC- Codeerzeugungsschaltungen 191 bis 194 vier 2-Eingangs-EXNOR- Gatter auf.
Bei der ersten ECC-Codeerzeugungsschaltung 191 werden das Bit DB0 und das Bit DB3 an ein EXNOR-Gatter 191a, an ein EXNOR- Gatter 191b das Ausgangssignal des EXNOR-Gatters 191a und das Bit DB4, an ein EXNOR-Gatter 191c das Ausgangssignal des EXNOR- Gatters 191b und das Bit DB5, an ein EXNOR-Gatter 191d das Ausgangssignal des EXNOR-Gatters 191c und das Bit DB6 eingegeben.
Bei der zweiten ECC-Codeerzeugungsschaltung 192 werden an ein EXNOR-Gatter 192a das Bit DB0 und das Bit DB1, an ein EXNOR- Gatter 192b das Ausgangssignal des EXNOR-Gatters 192a und das Bit DB4, an ein EXNOR-Gatter 192c das Ausgangssignal des EXNOR- Gatters 192b und das Bit DB5, und an ein EXNOR-Gatter 192d das Ausgangssignal des EXNOR-Gatters 192c und das Bit DB7 eingegeben.
Bei der dritten ECC-Codeerzeugungsschaltung 193 werden an ein EXNOR-Gatter 193a das Bit DB1 und das Bit DB2, an ein EXNOR- Gatter 193b das Ausgangssignal des EXNOR-Gatters 193a und das Bit DB4, an ein EXNOR-Gatter 193c das Ausgangssignal des EXNOR- Gatters 193b und das Bit DB6, und an das EXNOR-Gatter 193d das Ausgangssignal des EXNOR-Gatters 193c und das Bit DB7 eingegeben.
Bei der vierten ECC-Codeerzeugungsschaltung 194 werden an ein EXNOR-Gatter I94a das Bit DB2 und das Bit DB3, an ein EXNOR- Gatter 194b das Ausgangssignal des EXNOR-Gatters 194a und das Bit DB5, an ein EXNOR-Gatter 194c das Ausgangssignal des EXNOR- Gatters 194b und das Bit DB6, und an das EXNOR-Gatter 194d das Ausgangssignal des EXNOR-Gatters 194c und das Bit DB7 eingegeben.
Bei einem erfindungsgemäßen 1-Chip-Microcomputer, in dem ein solches EEPROM 50 mit der ECC-Codeerzeugungsschaltung 19 eingebaut ist, wird der Prüfmustertest des EEPROM 500, das vom EEPROM 50 und dem EEPROM 7 für die ECC-Schaltung gebildet wird, folgendermaßen ausgeführt.
Wenn beispielsweise "55(H)" ((H) stellt eine hexadezimale Zahl dar), das heißt "01010101(B)" ((B) stellt eine binäre Zahl dar) als Wert in das EEPROM 50 geschrieben wird, wird jeder ihrer digitalen Werte "0", "1", "0", "1", "0", "1", "0", "1" sequentiell in einer Zeile zu acht Bits des EEPROM 50 als Daten DB7, DB6, DB5, DB4, DB3, DB2, DB1, DB0 geschrieben. Gleichzeitig wird durch jede der ECC-Erzeugungsschaltungen 191 bis 194 die ECC-Codeerzeugungseinheit 19 "5(H)", das heißt "0101(B)" als ECC-Code 17 erzeugt. Jeder dieser digitalen Werte "0", "1", "0", "1" wird sequentiell in einer Zeile zu vier Bits des EEPROM 7 für die ECC-Schaltung als ECC-Code EB11, EB10, EB9, EB8 gespeichert.
Wenn beispielsweise "AA(H)", das heißt "10101010(B)" als Wert in das EEPRON 50 geschrieben wird, wird jeder der digitalen Werte davon "1", "0", "1", "0", "1", "0", "1", "0" sequentiell in einer Zeile mit 8-Bit-Breite des EEPROM 50 als Daten DB7, DB6, DB5, DB4, DB3, DB2, DB1, DB0 gespeichert. Gleichzeitig werden durch die jeweiligen ECC-Codeerzeugungsschaltungen 191 bis 194 der ECC-Codeerzeugungseinheit 19 "A(H)", das heißt "1010(B)" als ECC-Code 17 erzeugt. Jeder der digitalen Werte davon "1", "0", "1", "0" wird sequentiell in einer Zeile mit 4-Bit-Breite des EEPROM 7 für die ECC-Schaltung als ECC-Code EB11, EB10, EB9, EB8 gespeichert.
Wenn zwei solche Arten von Daten "55(H)" und "AA(H)" wie oben angeführt, bei denen "1(B)" und "0(B)" abwechselnd angeordnet sind, abwechseln geschrieben werden, weist der in einer Speicherzelle, die dem EEPROM 50 benachbart ist, gespeicherter Wert stets eine Kombination von "1(B)" und "0(B)" auf, weil die digitalen Werte dafür unverändert in das EEPROM 50 geschrieben werden. Andererseits werden Werte, bei denen "1(B)" und "0(B)", die in den jeweiligen ECC-Codeerzeugungsschaltungen 191 bis 194 der ECC-Codeerzeugungseinheit 19 erzeugt werden, abwechselnd angeordnet, ebenfalls im EEPROM 7 für die ECC-Schaltung gespeichert. Auch wenn das EEPROM 50 und das EEPROM 7 für die ECC-Schaltung als einstöckig gebildete Hardware des EEPROM 500 betrachtet werden, weist der im benachbarten Speicherzellen gespeicherte Wert stets eine Kombination von "1(B)" und "0(B)" auf.
Dadurch weist der der einer Speicherzelle benachbart zum EEPROM 7 für die ECC-Schaltung gespeicherte Wert stets eine Kombination von "1(B)" und "0(3)" auf, ohne daß Vorgänge ausgeführt werden, wie zum Beispiel das Treiben des Steuersignals WR 18 auf einen hohen Pegel, Umschalten des Umschalters 16 und Eingeben von D0 bis D3 von der CPU oder einer ähnlichen Einheit außerhalb als ECC-Code 17, wie das im bekannten Fall erforderlich ist.
Ferner ist in einer erfindungsgemäßen EEPROM-Vorrichtung wie oben erwähnt der Umschalter 16 für den Prüfmustertest unnötig, der Umschalter jedoch zum Einstellen des ECC-Codes 17 durch die CPU für verschiedene andere Tests erforderlich. Wenn ein Prüfmustertest ausgeführt wird, wird mit anderen Worten bei der erfindungsgemäßen EEPROM-Vorrichtung nur durch die Tatsache, daß die zwei Arten von Daten "55(H)" und "AA(H)" abwechselnd in das EEPROM 50 geschrieben sind, automatisch Daten, die auch für das EEPROM 7 der ECC-Schaltung notwendig sind, automatisch geschrieben.
Für den Fall, daß eine andere Prüfung als der Prüfmustertest in der EEPROM-Vorrichtung niemals ausgeführt wird, ist der Umschalter 16 natürlich unnötig.
Fig. 5 zeigt ein Blockschaltbild der Konfiguration der Daten- Latch-Schaltung 8 zur Erläuterung einer Ausführungsform der vorliegenden Erfindung.
Im bekannten Beispiel besteht eine Schaltung für ein Bit der Daten-Latch-Schaltung 8, wie in Fig. 3 dargestellt, aus einem Latch (Verriegelungsschaltung), die in zwei Inverter antiparallel geschaltet sind. Nach der vorliegenden Erfindung besteht sie jedoch aus einem Flip-Flop als Verriegelungselement.
Bei der EEPROM-Vorrichtung nach der zweiten Ausführungsform der vorliegenden Erfindung werden die 8-Bit-Daten DB0 bis DB7, die in das EEPROM 50 eingegeben werden, und der 4-Bit-ICC-Code EB8 bis EB11, der in das EEPROM 7 für die ECC-Schaltung eingegeben wird, das heißt 12 Bits temporär in den Flip-Flops 800 bis 811 der Daten-Latch-Schaltung 8 eingegeben und jeweils verriegelt. Das Ausgangssignal der jeweiligen Flip-Flops 800 bis 810 werden zu den jeweiligen Flip-Flops 801 bis 811 verschoben und dort verriegelt, und das Ausgangssignal des Flip-Flops 811 wird zum Flip-Flop 800 verschoben und dort verriegelt. Mit anderen Worten bilden die Flip-Flops 800 bis 811 insgesamt eine Ringschiebeschaltung.
Bei der zweiten Ausführungsform der EEPROM-Vorrichtung in Übereinstimmung mit der Erfindung stimmen die anderen Konfigurationen außer der Daten-Latch-Schaltung 8 mit denen des bekannten Beispiels überein, das in Fig. 1 gezeigt ist.
In der EEPROM-Vorrichtung nach der zweiten Ausführungsform der Erfindung, die die wie oben beschrieben aufgebaute Daten-Latch- Schaltung 8 aufweist, wird die Daten-Latch-Schaltung 8 angewiesen, Daten zu verriegeln, so daß "55(H)", das heißt "01010101(B)" in das EEPROM 50 und "5(H)", das heißt "0101(B)" in das EEPROM 7 für die ECC-Schaltung als externe Eingabedaten geschrieben werden, nachdem das Steuersignal WR 18 auf den hohen Pegel angehoben worden ist, so daß der Umschalter 16 der ECC- Schaltung 6 so gesteuert wird, daß er die externen Eingabedaten D0 bis D3 auswählt. Wenn 12-Bit-Daten, die in der Daten-Latch- Schaltung 8 verriegelt sind, in eine erste Adresse des EEPROM 50 und das EEPROM 7 für die ECC-Schaltung geschrieben werden, wird "555(H)", das heißt "010101010101(B)" im EEPROM 50 und im EEPROM 7 für die ECC-Schaltung gespeichert.
Wenn die im jeweiligen der Flip-Flops 800 bis 811, die die Daten-Latch-Schaltung 8 bilden, gespeicherten Daten um ein Bit von der Seite niedrigerer Bits zur Seite höherer Bits beispielsweise durch ein (nicht gezeigtes) Steuersignal von der CPU verschoben werden, wie in Fig. 5 durch ein Pfeil dargestellt ist, wird die Daten-Latch-Schaltung 8 in einen Zustand versetzt, in den der 12-Bit-Wert "101010101010(B)", das heißt "AAA(H)" verriegelt ist. Wenn der in der Daten-Latch-Schaltung 8 verriegelte Wert "AAA(H)" in die zweite Adresse des EEPROM 50 und das EEPROM 7 für die ECC-Schaltung geschrieben wird, wird im EEPROM 50 und im EEPROM 7 für die ECC-Schaltung der Wert "AAA(H)", das heißt "101010101010(B)" gespeichert.
Weil die Flip-Flops 800 bis 811, die die Daten-Latch-Schaltung 8 bilden, als Ringschiebeschaltung konfiguriert sind, gilt ferner, daß von ihnen verriegelte Daten bitweise von der Seite höherer Bits zur Seite niedrigerer Bits verschoben werden, und beispielsweise nicht von der Seite niedrigerer Bits zur Seite höherer Bits, wie in Fig. 5 durch einen Pfeil dargestellt ist.
Durch Wiederholen des Vorgangs zum Verschieben der 12-Bit-Daten, die in den Flip-Flops 800 bis 811 der Daten-Latch-Schaltung 8 verriegelt sind, um ein Bit, nachdem die Dateneingabe in die Daten-Latch-Schaltung 8 gesperrt worden ist, und durch Schreiben der resultierenden Daten in die folgende Adresse des EEPROM 50 und des EEPROM 7 für die ECC-Schaltung weist der der einer Speicherzelle benachbart zum EEPROM 50 und dem EEPROM 7 für die ECC-Schaltung gespeicherte Wert der stets eine Kombination von "1(B)" und "0(B)" auf, in dem Daten nur einmal zu Beginn eingegeben werden.
Nun wird die dritte Ausführungsform der erfindungsgemäßen EEPROM-Vorrichtung beschrieben. Die dritte Ausführungsform weist die ECC-Schaltung 6 der oben beschriebenen ersten Ausführungsform und die Daten-Latch-Schaltung 8 der oben angeführten zweiten Aufführungsform auf.
Wenn ein Prüfmustertest ausgeführt wird, wird bei der dritten Ausführungsform zum Beispiel "55(H)", das heißt "01010101(B)" in das EEPROM 50 geschrieben, weil "5(H)", das heißt "0101(B)" automatisch von der ECC-Schaltung 6 erzeugt wird. "555(H)", das heißt "01010l010101(B)" wird in der Daten-Latch-Schaltung 8 verriegelt, ohne einen Vorgang auszuführen, der bisher notwendig war, und in dem das Steuersignal WR 18 auf einen hohen Pegel angehoben wird, so daß der Umschalter 16 so umgeschaltet wird, daß das D0 bis D3 von der CPU oder einen ähnlichen Vorrichtung von außerhalb als ECC-Code 7 eingegeben werden. Die folgenden Vorgänge sind die gleichen wie bei der oben angeführten zweiten Ausführungsform.
Ferner erfolgte die Erläuterung unter der Annahme, daß die im EEPROM 50 zu speichernden Daten acht Bits und der im EEPROM 7 zu speichernde ECC-Code vier Bits umfassen, um die Beschreibung der jeweiligen Ausführungsformen zu vereinfachen. Diese Bitanzahlen sind jedoch nur Beispiele, und es kann natürlich eine beliebige Bitanzahl auf die vorliegende Erfindung angewandt werden.
Wie oben beschrieben worden ist, wird entsprechend der ersten Ausführungsform der erfindungsgemäßen EEPROM-Vorrichtung durch das Speichern von "55(H)", das heißt "01010101(B)" in einer Zeile des EEPROM für die Datenspeicherung der Wert "5(H)", das heißt "0101(B)" automatisch auch in derselben Zeile des EEPROM für die ECC-Schaltung gespeichert, und durch Speichern von "AA(H)", das heißt "10101010(B)" in einer Zeile des EEPROM für die Datenspeicherung wird der Wert "A(H)", das heißt "1010(B)" automatisch auch in derselben Zeile des EEPROM für die ECC- Schaltung gespeichert. Entsprechend wird es unnötig, daß Daten zum Testen getrennt im EEPROM für ECC-Schaltung gespeichert werden. Dadurch wird der Prüfmustertest einfach und die Testzeit wird kurz.
Entsprechend der zweiten Ausführungsform wird es durch das Speichern von "55(H)", das heißt "01010101(B)" oder "AA(H)", das heißt "10101010(B)" im EEPROM für die Datenspeicherung und "5(H)", das heißt "0101(B)" oder "A(3)", das heißt "1010(B)" im EEPROM für die ECC-Schaltung einmal zu Beginn möglich, Testdaten durch bitweises Verschieben des jeweiligen Bits der Daten-Latch- Schaltung im folgenden zu speichern, weil "555(H)", das heißt "010101010101(B)" oder "AAA(H)", das heißt "101010101010(B)" von der Daten-Latch-Schaltung verriegelt wird.
Nach der dritten Ausführungsform wird es durch Speichern von "55(H)", das heißt "01010101(B)" oder "AA(H)", das heißt "10101010(B)" im EEPROM für die Daten einmal zu Beginn möglich, Testdaten durch bitweises Verschieben der jeweiligen Bits der Daten-Latch-Schaltung im folgenden zu speichern, weil "555(H)", das heißt "010101010101(B)" oder "AAA(H)", das heißt "101010101010(B)" von der Daten-Latch-Schaltung verriegelt wird.

Claims (5)

1. EEPROM-Vorrichtung, gekennzeichnet durch ein EEPROM (500) mit Speicherzellen, die in der Form einer Matrix angeordnet sind, wobei jede Zeile (oder Spalte) eine Breite von n Bits hat (n ist eine natürliche Zahl), und eine Fehlerkorrekturcode- Erzeugungseinheit (19) zum Erzeugen eines Fehlerkorrekturcodes mit "n-m" Bits, wenn ein Bit zu m Bits (m ist eine natürliche Zahl, m<n), der gespeichert werden soll, gegeben ist, und wobei die Vorrichtung die Daten in m Bits der höheren Seite (oder niedrigeren Seite) einer Zeile (oder Spalte) mit n-Bit- Breite des EEPROM (500) speichert, wenn die zu speichernden Daten zu m Bits gegeben sind, und den Fehlerkorrekturcode, der von der Fehlerkorrekturcode-Erzeugungseinheit (19) aus den Daten erzeugt wird, in den verbleibenden Bits derselben Zeile (oder derselben Spalte) mit n-Bit-Breite des EEPROM (500) speichert, wobei die Fehlerkorrekturcode-Erzeugungseinheit (19) für den Fall, daß der im EEPROM (500) zu speichernde Wert zu m Bits in binärer Notation aus "1" und "0", die sich abwechselnd wiederholen, zusammengesetzt ist, einen Fehlerkorrekturcode erzeugt, dessen höchstwertiges Bit (oder niederstwertiges Bit) einen Wert aufweist, der vom Wert des neiderstwertigen Bits (oder höchstwertigen Bits) der benachbarten Daten verschieden ist, und der aus sich abwechselnd wiederholenden "1" und "0" aufgebaut ist.
2. EEPROM-Vorrichtung, gekennzeichnet durch ein EEPROM (500) mit Speicherzellen, die in Form einer Matrix angeordnet sind, wobei jede Zeile (oder Spalte) eine n-Bit-Breite hat (n ist eine natürliche Zahl) und eine Fehlerkorrekturcode-Erzeugungseinheit (19) zum Erzeugen eines Fehlerkorrekturcodes mit "n-m" Bits, wenn ein zu speichernder Wert mit m Bits (m ist eine natürliche Zahl, m< gegeben sind, und
wobei die Vorrichtung für den Fall, daß der zu speichernde Wert zu m Bits gegeben ist, der Wert m Bits der höheren Seite (oder niedrigeren Seite) einer Zeile (oder Spalte) mit n-Bit-Breite des EEPROM (500) speichert, und den Fehlerkorrekturcode, der von der Fehlerkorrekturcode-Erzeugungseinheit (19) aus dem Wert erzeugt wird, in den verbleibenden Bits derselben Zeile (oder derselben Spalte) mit n-Bit-Breite des EEPROM (500) speichert,
wobei die Latch-Schaltung (8) aus Latch-Elementen besteht, die den Wert bitweise verschieben können.
3. EEPROM-Vorrichtung, gekennzeichnet durch ein EEPROM (500) mit Speicherzellen, die in Form einer Matrix angeordnet sind, wobei jede Zeile (oder Spalte) eine n-Bit-Breite hat (n ist eine natürliche Zahl), und eine Fehlerkorrekturcode-Erzeugungseinheit (19) zum Erzeugen eines Fehlerkorrekturcodes mit "n-m" Bits, wenn ein Wert zu m Bits (m ist eine natürliche Zahl, n<m), der gespeichert werden soll, gegeben ist, und
wobei die Vorrichtung für den Fall, daß der zu speichernde Wert zu m Bits gegeben ist, den Wert in m Bits der höheren Seite (oder niedrigeren Seite) einer Zeile (oder Spalte) mit n-Bit- Breite des EEPROM (500) speichert, und den Fehlerkorrekturcode, der von der Fehlerkorrekturcode-Erzeugungseinheit (19) aus dem Wert erzeugt wird, in den verbleibenden Bits derselben Zeile (oder derselben Spalte) mit n-Bit-Breite des EEPROM (500) speichert,
wobei die Fehlerkorrekturcode-Erzeugungseinheit (19), wenn der im EEPROM (500) zu speichernde Wert zu m Bits in binärer Notation aus sich abwechselnd wiederholenden "1" und "0" zusammengesetzt ist, den Fehlerkorrekturcode erzeugt, dessen höchstwertiges Bit (oder niederstwertiges Bits) einen Wert hat, der vom Wert des niederstwertigen Bits (oder höchstwertigen Bits) der benachbarten Daten verschieden ist, und der aus sich abwechselnd wiederholenden "1" und "0" zusammengesetzt ist, und die Latch-Schaltung (8) aus Latch-Elementen besteht, die Daten bitweise verschieben können.
4. EEPROM-Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das EEPROM (500) Daten zu acht (= m) Bits speichert, und die Fehlerkorrekturcode-Erzeugungseinheit (19) einen Fehlerkorrekturcode zu vier (= n-m, hier n = 12) Bits erzeugt.
5. EEPROM-Vorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Fehlerkorrekturcode-Erzeugungseinheit (19)
eine erste ECC-Codeerzeugungsschaltung (191) mit einem ersten EXNOR-Gatter (191a), an das ein erstes Bit (DB0) und ein viertes Bit (DB3) unter den acht Datenbits eingegeben werden, einem zweiten EXNOR-Gatter (191b), in das das Ausgangssignal des ersten EXNOR-Gatters (191a) und ein fünftes Bit (DB4) unter den acht Datenbits eingegeben werden, einem dritten EXNOR-Gatter (191c), in das das Ausgangssignal des zweiten EXNOR-Gatters (191b) und ein sechstes Bit (DB5) unter den acht Datenbits eingegeben werden, einem vierten EXNOR-Gatter (191d), in das das Ausgangssignal des dritten EXNOR-Gatters (191c) und ein siebtes Bit (DB6) unter den acht Datenbits eingegeben werden, wobei die Schaltung das Ausgangssignal des vierten EXNOR-Gatters (191d) als ein erstes Bit eines Fehlerkorrekturcodes zu vier Bits ausgibt,
eine zweite ECC-Codeerzeugungsschaltung (192) mit einem fünften EXNOR-Gatter (192a), in das ein erstes Bit (DB0) und ein zweites Bit (DB1) unter den acht Datenbits eingegeben werden, einem sechsten EXNOR-Gatter (192b), in das das Ausgangssignal des fünften EXNOR-Gatters (192a) und ein fünftes Bit (DB4) unter den acht Datenbits eingegeben werden, einem siebten EXNOR-Gatter (192c) in das das Ausgangssignal des sechsten EXNOR-Gatters (192b) und ein sechstes Bit (DB5) unter den acht Datenbits eingegeben werden, und einem achten EXNOR-Gatter (192d), in das das Ausgangssignal des siebten EXNOR-Gatters (192c) und ein achtes Bit (DB7) unter den acht Datenbits eingegeben werden, und die Schaltung das Ausgangssignals des achten EXNOR-Gatters (192d) als ein zweites Bit des Fehlerkorrekturcodes zu vier Bits ausgibt,
eine dritte ECC-Codeerzeugungsschaltung (193) mit einem neunten EXNOR-Gatter (193a), in das ein zweites Bit (DB1) und ein drittes Bit (DB2) unter den acht Datenbits eingegeben werden,
einem zehnten EXNOR-Gatter (193b), in das das Ausgangssignal des neunten EXNOR-Gatters (193a) und ein fünftes Bit (DB4) unter den acht Datenbits eingegeben werden, einem elften EXNOR-Gatter (193c), in das das Ausgangssignal des zehnten EXNOR-Gatters (193b) und ein siebtes Bit (DB6) unter den acht Datenbits eingegeben werden, und einem zwölften EXNOR-Gatter (193d), in das das Ausgangssignal des elften EXNOR-Gatters (193c) und ein achtes Bit (DB7) unter den acht Datenbits eingegeben werden, und die Schaltung des Ausgangssignals des zwölften EXNOR-Gatters (193d) als drittes Bit des Fehlerkorrekturcodes zu vier Bit ausgibt, und
eine vierte ECC-Codeerzeugungsschaltung (194) mit einem dreizehnten EXNOR-Gatter (194a), in das ein drittes Bit (DB2) und ein viertes Bit (DB3) unter den acht Datenbits eingeben werden, einem vierzehnten EXNOR-Gatter (194b), in das das Ausgangssignal des dreizehnten EXNOR-Gatters (194a) und ein sechstes Bits (DB5) unter den acht Datenbits eingegeben werden, einem fünfzehnten EXNOR-Gatter (194c), in das das Ausgangssignal des vierzehnten EXNOR-Gatters (194b) und ein siebtes Bit (DB6) unter den acht Datenbits eingegeben werden, und einem sechzehnten EXNOR-Gatter (194d), in das das Ausgangssignal des fünfzehnten EXNOR-Gatters (194c) und ein achtes Bit (DB7) unter den acht Datenbits eingegeben werden, und die Schaltung des Ausgangssignais des sechzehnten EXNOR-Gatters (194d) als viertes Bit des Fehlerkorrekturcodes zu vier Bits ausgibt, aufweist.
DE4416171A 1993-06-25 1994-05-06 EEPROM-Vorrichtung Expired - Fee Related DE4416171C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5154950A JPH0729395A (ja) 1993-06-25 1993-06-25 Eeprom装置

Publications (2)

Publication Number Publication Date
DE4416171A1 true DE4416171A1 (de) 1995-01-05
DE4416171C2 DE4416171C2 (de) 1996-05-15

Family

ID=15595464

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4416171A Expired - Fee Related DE4416171C2 (de) 1993-06-25 1994-05-06 EEPROM-Vorrichtung

Country Status (4)

Country Link
US (1) US5467357A (de)
JP (1) JPH0729395A (de)
DE (1) DE4416171C2 (de)
FR (1) FR2707034B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604214B1 (en) 1998-04-09 2003-08-05 Nec Electronics Corporation One-chip microcomputer capable of internally producing ECC data

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2570341B2 (ja) * 1987-04-06 1997-01-08 株式会社ブリヂストン 免震構造体
JPH09330273A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp メモリカードおよびメモリカードにおける誤り訂正方法
JP3596989B2 (ja) * 1996-10-03 2004-12-02 邦博 浅田 半導体記憶装置
EP0917059A1 (de) * 1997-11-14 1999-05-19 Nec Corporation Halbleiterspeicheranordnung mit einer Fehlerkorrekturkodeschaltung
DE19935497A1 (de) * 1999-07-28 2001-03-01 Infineon Technologies Ag Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern
US20030115538A1 (en) * 2001-12-13 2003-06-19 Micron Technology, Inc. Error correction in ROM embedded DRAM
US7773421B2 (en) * 2006-05-08 2010-08-10 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US7471562B2 (en) * 2006-05-08 2008-12-30 Macronix International Co., Ltd. Method and apparatus for accessing nonvolatile memory with read error by changing read reference
US8077516B2 (en) * 2006-05-08 2011-12-13 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
JP2008217857A (ja) * 2007-02-28 2008-09-18 Toshiba Corp メモリコントローラ及び半導体装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3903496A1 (de) * 1988-02-08 1989-08-17 Mitsubishi Electric Corp Speicherbaustein

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03162800A (ja) * 1989-08-29 1991-07-12 Mitsubishi Electric Corp 半導体メモリ装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3903496A1 (de) * 1988-02-08 1989-08-17 Mitsubishi Electric Corp Speicherbaustein

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE-Z: der elektroniker, Nr. 12/1988, S. 63-67 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604214B1 (en) 1998-04-09 2003-08-05 Nec Electronics Corporation One-chip microcomputer capable of internally producing ECC data

Also Published As

Publication number Publication date
FR2707034B1 (de) 1996-04-26
DE4416171C2 (de) 1996-05-15
US5467357A (en) 1995-11-14
FR2707034A1 (de) 1994-12-30
JPH0729395A (ja) 1995-01-31

Similar Documents

Publication Publication Date Title
DE2751097C2 (de) Schaltungsanordnung zum Erzeugen eines Kennsignals
DE2132565C3 (de) Umsetzer
DE2311034C2 (de) Verfahren zum Prüfen eines integrierte logische Verknüpfungs- und Speicherglieder enthaltenden Halbleiterchips
DE2828726C2 (de) Monolithische integrierte Schaltungsstruktur mit einer Speichervorrichtung
DE3906494C2 (de)
DE2614000A1 (de) Einrichtung zur diagnose von funktionseinheiten
DE2058698A1 (de) Datenspeichersystem
DE2224389A1 (de) Speichersystem
DE3832440A1 (de) Testschaltungseinrichtung
DE2115431A1 (de) Universalmodul zum Verbinden von Einheiten in Patenverarbeitungsanlagen
DE2607842C2 (de)
DE4416171C2 (de) EEPROM-Vorrichtung
EP0067301A2 (de) Einrichtung zur Erzeugung von Prüfbits zur Sicherung eines Datenwortes
DE2325151A1 (de) Anordnung zum erzeugen von zahlenfolgen fuer pruefzwecke bei integrierten schaltungen
DE102005037403B4 (de) Verfahren zum Überprüfen der Funktionsfähigkeit der Arithmetik-Logik-Einheit (ALU) eines Steuermoduls
EP0628832B1 (de) Integrierte Schaltung mit Registerstufen
DE3838940C2 (de)
DE4435765A1 (de) Analog/Digital-Konverter
DE3329023A1 (de) Einrichtung zum pruefen logischer schaltwerke
DE19651713C2 (de) Bauelement-Testgerät zum Testen elektronischer Bauelemente
DE10058464B4 (de) Mustererzeugungsverfahren, dieses verwendender Mustergenerator, und diesen Mustergenerator verwendendes Speichertestgerät
EP0031025A2 (de) Fehlererkennungs- und -korrektureinrichtung für eine logische Anordnung
DE2133729C3 (de) Anordnung mit einer Kaskadenschaltung einer Anzahl von Speicherelementen
DE2017879C3 (de) Speicheranordnung mit freiem Zugriff
DE2524129C3 (de) Zeitsteuereinheit für die Steuerung logischer Schaltungen

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
8339 Ceased/non-payment of the annual fee