DE2942998A1 - Fehler-korrektur- und -erkennungs- anordnung - Google Patents

Fehler-korrektur- und -erkennungs- anordnung

Info

Publication number
DE2942998A1
DE2942998A1 DE19792942998 DE2942998A DE2942998A1 DE 2942998 A1 DE2942998 A1 DE 2942998A1 DE 19792942998 DE19792942998 DE 19792942998 DE 2942998 A DE2942998 A DE 2942998A DE 2942998 A1 DE2942998 A1 DE 2942998A1
Authority
DE
Germany
Prior art keywords
data
error
bit error
bits
sec
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
DE19792942998
Other languages
English (en)
Other versions
DE2942998C2 (de
Inventor
Sakou Ishikawa
Katsuro Wakai
Yutaka Watanabe
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE2942998A1 publication Critical patent/DE2942998A1/de
Application granted granted Critical
Publication of DE2942998C2 publication Critical patent/DE2942998C2/de
Expired 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
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1024Identification of the type of error
    • 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/14Error detection or correction of the data by redundancy in operation

Description

Die Erfindung betrifft eine Fehler-Korrektur- und -Erkennungs-Anordnung für einen in einem Elektronenrechner od. dgl. verwendeten Speicher und insbesondere eine Vorrichtung zum Erkennen einer Fehlkorrektur in der Fehler-Korrektur- und -Erkennungs-Anordnung.
Als ein Versuch zur Steigerung der Zuverlässigkeit von Speichern wurde in der Praxis eine Fehler-Korrektur- und -Erkennungs-Anordnung entwickelt, in der sogenannte Hamming-Codes angewandt werden, um einen Einbit-Fehler erkennen und korrigieren und einen Zweibit-Fehler erkennen zu können. Ein derartiger Code wird im folgenden genannt SEC-DED-Code (Abkürzung von Single bit Error Correction Double bit Error Detection = Einbit-Fehler-Korrektur/Zwei-
81-(A 4O41-O2)-E
030033/0521
bit-Fehler-Erkennung), obwohl der gleiche Code gelegentlich einfach als ECC-Code (Abkürzung von Error Check and Correction = Fehler-Prüfung- und -Korrektur) bezeichnet wird. Das Prinzip der SEC-DED-Codes wurde bereits beschrieben (vgl. R.W. Hamming: "Error Detecting and Error Correcting Codes" in "The Bell System Technical Journal", Vol. XXVI, No. 2, Seiten 147 - 160, April 1950, und US-Re-PS 23601).
Das Prinzip des SEC-DED-Code wird im folgenden kurz erläutert. Wenn der SEC-DED-Code aus η inhärenten Informations- (Daten-) Bits zusammen mit k1 redundanten Bits für eine Fehler-Korrektur zusammengesetzt ist, müssen die folgenden Bedingungen erfüllt sein, um die Stellung, bei der die Korrektur benötigt wird (eine von η + k1 Stellungen), zu bezeichnen und das Vorliegen oder Nichtvorliegen eines Fehlers zu erkennen. Insbesondere gilt:
2k" - (n + k1 + 1) > 0 (1).
Wenn ein zusätzliches redundantes Bit verwendet wird, um den Zweibit-Fehler zu erkennen, hat die Gesamtzahl k der redundanten Bits den Wert k1 + 1. Entsprechend kann der Ausdruck (1) umgeschrieben werden in:
2k~1 - (n + k) > 0 (2).
Daraus folgt, daß die Gesamtzahl k der redundanten Bits bis zu 8 Bits für die Daten von 64 Bits (n = 64) beträgt.
030033/0521
In einer praktischen Anordnung, die aufgrund des obigen Prinzips arbeitet, wird ein Einschreib-Datenwert von η Bits zu einem SEC-DED-Code-Generator gespeist, bei dem zum Einschreib-Datenwert k redundante Bits addiert werden, wodurch ein Einschreib-SEC-DED-Code erzeugt wird. Die Anzahl der Bits von diesem Code beträgt, so η + k. Die den Einschreib-Datenwert enthaltende codierte Information kann dann in einen Speicher geschrieben werden. Für die Ausleseoperation ist die aus dem Speicher ausgelesene Information ein Auslese-SEC-DED-Code, der den Datenwert enthält. Der ausgelesene Informations-Code wird zu einem SEC-DED-Glied geführt, in dem eine Korrektur eines Einbit-Fehlers sowie eine Erkennung eines Zweibit-Fehlers erfolgen. Wenn ein Einbit-Fehler innerhalb des Speichers erzeugt wurde, erkennt das SEC-DED-Glied einen derartigen Einbit-Fehler, um dadurch eine Einbit-Fehler-Erkennungsleitung zum Melden eines Warnsignales an einen Bediener einzuschalten und gleichzeitig das Fehler-Bit in einen richtigen Wert zu korrigieren. Wenn ein Mehrbit-Fehler größer als ein Zweibit-Fehler einschließlich erzeugt wurde, erfolgt die Erkennung des Fehlers in ähnlicher Weise, und eine zugeordnete Mehrbit-Fehler-Erkennungsleitung wird eingeschaltet, um eine Warnung zu melden. Auf diese Weise kann das n-Bit-Ausgangssignal vom SEC-DED-Glied als ein richtiger Datenwert verwendet werden, wenn kein Fehler innerhalb des Speichers erzeugt wird oder der Fehler ein Einbit ist.
Wenn dagegen ein Zwei- oder Mehrbit-Fehler erzeugt wurde, stellt ein Auslese-Datenwert-Ausgangssignal vom SEC-DED-Glied eine falsche Information dar. Für einen Fehler von zwei Bits kann eine Warnung mit einer Wahrscheinlichkeit von 1OO % erzeugt werden. Für einen Fehler von mehr als drei Bits kann eine Warnung mit einem bestimmten Zuverlässigkeitsgrad erzeugt
030033/0521
werden. D. h., obwohl die Erzeugung eines Zweibit-Fehlers ohne Ausfall erkannt werden kann, ist eine vollständige Erkennung für einen Mehrbit-Fehler, der drei oder mehr Bits enthält, nicht zu erwarten. Auf diese Situation wurde bereits hingewiesen (vgl.: Y. Hsiao: "A Class of Optimal Minimum Odd-weight-column SEC-DEC Codes" in "IBM J. RES. DEVELOP", Juli 1970, Seiten 395 - 401, insbesondere Seite 398, rechte Spalte, Zeilen 35 bis 42) . In einem derartigen Fall wird der Dreibit-Fehler bestimmt, wie wenn ein Einbit-Fehler erzeugt wurde, wodurch eine Fehlkorrektur durchgeführt wird. Die Wahrscheinlichkeit des Mißverstehens des Dreibit-Fehlers für einen Einbit-Fehler wird im allgemeinen in der Größenordnung von 50 bis 75 % eingeschätzt. D. h., mehr als eine Hälfte der Fehlkorrekturen werden als Korrekturen verarbeitet. Dies ist selbstverständlich für einen Rechner unverträglich, der sehr zuverlässig und genau sein soll.
Um diese Schwierigkeit zu überwinden, hat M.Y. Hsiao (a.a.O.) ein Codierverfahren erläutert, nach dem die Wahrscheinlichkeit einer Fehlkorrektur des Dreibit-Fehlers auf ein vernünftigeres Ausmaß verringerbar ist.
Zur Herabsetzung der Wahrscheinlichkeit des Auftretens eines Dreibit-Fehlers wurde auch ein Verfahren entwickelt, bei dem die einzelnen Bits, die Wörter bilden, in verschiedene Gruppen zusammengeführt sind (vgl. US-PS 3 436 734).
Weiterhin gibt es Anordnungen (vgl. US-PS 3 582 878, 3 656 107 und 3 893 071), bei denen die Anzahl k der gewöhnlich in SEC-DED-Gliedern verwendeten redundanten Bits erhöht ist (z. B. 9 oder mehr redundante Bits für 64 Daten-Bits), um dadurch zu ermöglichen, daß der Zwei- oder Mehrbit-Fehler
030033/0521
nicht nur erkannt, sondern auch korrigiert wird.
Obwohl diese herkömmlichen Methoden von großer Bedeutung zur Steigerung der Zuverlässigkeit sind, ist es bisher unmöglich, die Fehlkorrekturen vollständig auszuschliessen.
Um eine Lösung des oben aufgezeigten Problems zu versuchen, hat einer der Erfinder eine Anordnung entwickelt (vgl. US-Patentanmeldung 863 089 vom 22. Dezember 1977), die mit hoher Sicherheit erkennen kann, daß ein Dreibit-Fehler als ein Einbit-Fehler fehlkorrigiert wurde. Als weiterer Versuch hat der gleiche Erfinder eine Anordnung beschrieben (vgl. JP-OS 81 035/1978), die die Tatsache erkennen kann, daß ein Dreibit-Fehler als ein Einbit-Fehler fehlkorrigiert wurde. Wenn - um die zuletzt erwähnte Entwicklung kurz anzudeuten ein Einbit-Fehler erkannt und in einem SEC-DED-Glied korrigiert wird, ist die Polarität aller Daten-Bits nach der Korrektur umgekehrt. Anschließend werden redundante Bits aus den korrigierten Daten-Bits des umgekehrten Zustandes erzeugt und wieder in einen Speicher geschrieben. Dann werden die Daten-Bits zusammen mit den redundanten Bits ausgelesen, um in das SEC-DED-Glied gespeist zu werden, wodurch das wiederholte Erkennen eines Fehlers als das Vorliegen eines Dreibit-Fehlers gewertet wird. Die entwickelte Fehler-Korrektur- und -Erkennungs-Anordnung (vgl. die obige JP-OS) ist vollständig frei von einem derartigen Problem, daß der Dreibit-Fehler verarbeitet wird, wie wenn er ein Einbit-Fehler wäre, und somit liegt bei dieser Anordnung keine Verwirrung in den folgenden arithmetischen Verarbeitungen vor.
Jedoch hat die oben kurz beschriebene Anordnung den Nachteil, daß ein in den redundanten Bits erzeugter Einbit-Fehler möglicherweise fehlerhaft als der Dreibit-Fehler erkannt wird.
030033/0521
29Λ2998
Dies kann durch die Tatsache erklärt werden, daß die redundanten Bits, die zu den Daten-Bits der umgekehrten Polarität nach einer Wiederschreib-Operation addiert sind, erneut durch einen SEC-DED-Code-Generator vorbereitet werden, wodurch nach dem Auftreten des Einbit-Fehlers in den redundanten Bits der letztere vorbereitet und in einem Speicher mit einer derartigen Polarität gespeichert werden kann, daß die aus dem Speicher ausgelesenen redundanten Bits den Fehler enthalten, der als der Einbit-Fehler durch das SEC-DED-Glied erkannt ist. In diesem Fall wird der Fehler in Ausdrücken oder Termen eines Dreibit-Fehlers verarbeitet.
Wenn k redundante Bits zu η Daten-Bits addiert werden, ist die Wahrscheinlichkeit, daß die redundanten Bits als der Einbit-Fehler verarbeitet werden, gegeben durch k/(n + k). Weiterhin kann die Wahrscheinlichkeit, daß der Einbit-Fehler in den redundanten Bits auftritt, die im Speicher mit fehlerhafter Polarität nach einer Wiederschreib-Operation vorbereitet sind, gegeben sein durch ■=· · —ijt· Z. B. beträgt für η = 64 Bits und k = 8 Bits die obige Wahrscheinlichkeit -~ ·
8 1
- fg· D. h., ungeachtet der Tatsache, daß der Einbit-
Fehler erkannt und normal korrigiert wurde, wird das Melden eines Dreibit-Fehlers mit der Wahrscheinlichkeit von 1/18 erzeugt, was bedeutet, daß die übermittelte Einbit-Fehler-Korrekturfunktion bedeutungslos gemacht wird. Dieses Problem wird in der herkömmlichen Anordnung ernster, die mit der Einrichtung zur Steigerung der Zuverlässigkeit ausgestattet ist (vgl. oben), da eine fehlerhafte Fehlerbit-Erkennung weiter die Einbit-Fehler-Korrekturfähigkeit herabsetzt, was einen großen Nachteil bedeutet.
Es ist daher Aufgabe der Erfindung, eine Fehler-Korrektur- und -Erkennungs-Anordnung anzugeben, in der ein Hamming-
090033/0521
Code einschließlich Daten-Bits und redundanten Bits verwendet wird, und die fehlerfrei die Tatsache erkennen kann, daß ein im Hamming-Code erkannter und einer Korrektur unterworfener Fehler fehlerhaft korrigiert wurde; diese Anordnung soll weiterhin gegenüber einem derartigen Problem unempfindlich sein, daß ein Einbit-Fehler, der in den redundanten Bits des Hamming-Code auftritt, in unerwünschter Weise verarbeitet wird, wie wenn ein Dreibit-Fehler erzeugt wurde.
Erfindungsgemäß ist ein SEC-DED-Code-Generator vorgesehen, der einen SEC-DED-Code einschließlich η Daten-Bits erzeugen kann, zu denen k redundante Bits addiert sind. Die Erzeugung des SEC-DED-Code wird entsprechend dem Hamming-Prinzip verwirklicht, indem die k redundanten Bits eines Mindestwertes so addiert werden, daß der obige Ausdruck (2) erfüllt werden kann. Der durch die η Daten-Bits und die k redundanten Bits gebildete SEC-DED-Code wird in einen Speicher geschrieben. Der aus dem Speicher gelesene SEC-DED-Code wird durch eine Fehler-Korrektur- und -Erkennungs-Einrichtung geprüft. Diese Prüfung erfolgt auch entsprechend dem Hanuning-Konzept. D. h., wenn ein Fehler als ein Einbit-Fehler erkannt wird, wird das betreffende Bit korrigiert. In dem Fall, in dem ein Zweibit- oder ein Mehrbit-Fehler erkannt wird, wird eine Nachricht zu dem Zweck erzeugt, daß der betreffende Fehler ein Mehrbit-Fehler ist. In diesem Zusammenhang sei jedoch darauf hingewiesen, daß eine Fehlkorrektur bewirkt werden kann, wenn ein in Wirklichkeit auftretender Dreibit-Fehler fehlerhaft als ein Einbit-Fehler erkannt und eine Korrektur beim zugeordneten Bit durchgeführt wird, wie dies oben erläutert wurde. Um einen derartigen Nachteil zu vermeiden, sieht die Erfindung vor, daß ein Wiederprüfprozeß abhängig von der Erkennung des Einbit-Fehlers in der oben erwähnten Fehler-Korrektur- und -Erkennungs-Einrichtung durch-
030033/0521
geführt wird. Hierzu ist eine invertierende Einrichtung vorgesehen, um das Ausgangssignal mit den korrigierten Daten-Bits von der Fehler-Korrektur- und -Erkennungs-Einrichtung umzukehren. Die invertierende Einrichtung kann in Hardware als ein Inverter ausgeführt werden. Jedoch kann die Umkehrung alternativ mit Hilfe der Verwendung eines Programmes erfolgen. In jedem Fall werden die invertierten oder umgekehrten Daten-Bits zum oben erwähnten SEC-DED-Code-Generator gespeist und wieder zu k redundanten Bits addiert, um einen SEC-DED-Code zu bilden, der dann in einen Speicher geschrieben wird. Der SEC-DED-Code wird anschließend aus dem Speicher gelesen und in die oben erwähnte Fehler-Korrektur- und -Erkennungs-Einrichtung gespeist. Auf diese Weise ist die Fehler-Korrektur- und -Erkennungs-Einrichtung wirksam, um einen Einbit-Fehler zu erkennen und zu korrigieren, der in dem SEC-DED-Code enthalten ist, der durch die invertierten Daten-Bits gebildet ist, zu denen die redundanten Bits addiert sind, und um zusätzlich den Zweibit- oder Mehrbit-Fehler zu erkennen. Sofern in dieser Stufe kein Fehler erkannt wird, wird angenommen, daß die vorhergehende Erkennung und Korrektur des Einbit-Fehlers richtig ausgeführt wurde. Da jedoch die zu den Daten-Bits zu addierenden redundanten Bits erneut erzeugt sind, ist eine Möglichkeit eingeschlossen, daß z. B. ein Fehler in den redundanten Bits des SEC-DED-Code vorliegen kann.
Erfindungsgemäß ist ein Vergleicher vorgesehen, um zunächst das Ausgangssignal mit den korrigierten Daten-Bits von der obigen Fehler-Korrektur- und -Erkennungs-Einrichtung mit dem Ausgangssignal mit den korrigierten Daten-Bits für die zweite Zeit (d. h. nach einer Wiederprüfung) hiervon zu vergleichen. Auf diese Weise werden die durch die Korrektur- und -Erkennungs-Einrichtung korrigierten und vor und nach der Wiederprüfung verfügbaren Daten-Bits miteinander durch den Ver-
030033/0521
gleicher verglichen. Die Arten eines Daten-Bit-Vergleiches umfassen einen gegenseitigen Vergleich der Daten-Bits, die bezüglich der ursprünglichen Daten-Bits invertiert sind, einen gegenseitigen Vergleich der nichtinvertierten Daten-Bits, einen Vergleich der invertierten Daten-Bits mit den nichtinvertierten Daten-Bits usw. Für den Vergleicher kann ein einfaches exklusives ODER-Gatter verwendet werden. Im Fall der ersten beiden obigen Vergleiche, in dem die Daten-Bits des gleichen Zustandes miteinander verglichen werden, bedeutet eine durch den Vergleich ermittelte Übereinstimmung zwischen den beiden Daten-Bits, daß diese Daten-Bits genau unabhängig von jeder möglichen Erkennung eines Einbit-Fehlers in den redundanten Bits korrigiert wurden. Wenn dagegen eine Korrektur entsprechend aufgrund der falschen Entscheidung erfolgt, daß ein Einbit-Fehler in den Daten-Bits vorliegt, obwohl in Wirklichkeit die anderen drei Bits fehlerhaft sind, wird der Zustand lediglich des Einbits invertiert oder umgekehrt. Wenn entsprechend die Zustände aller Daten-Bits anschließend invertiert sind, werden die drei tatsächlich fehlerhaften Daten-Bits wieder in den Speicher mit dem Zustand geschrieben, der leicht einen Fehler enthält. Damit entsteht keine Übereinstimmung aus dem Vergleich zwischen den Daten-Bits, die von der Fehler-Korrektur- und -Erkennungs-Einrichtung erhalten sind, und den Daten-Bits des invertierten Zustandes, die vor dem Einschreiben in den Speicher verfügbar sind. Eine derartige, durch den Vergleich erfaßte Abweichung erlaubt, daß die vorhergehende Korrektur als eine fehlerhafte Korrektur, nämlich eine Fehlkorrektur, erkannt wird.
Wenn im Fall des zuletzt erwähnten Vergleiches die Daten-Bits von entgegengesetzten Zuständen gegenseitig verglichen werden, erfolgt die Verarbeitung der Vergleichsergebnisse in der entgegengesetzten Weise.
000033/0521
In jedem Fall wird die Fehlkorrektur aufgrund der Ergebnisse erkannt, die aus dem Vergleich durch den Vergleicher erhalten sind.
Damit kann erfindungsgemäß nicht nur die Fehlkorrektur erkannt werden, daß der Dreibit-Fehler, der tatsächlich in den Daten-Bits auftritt, verarbeitet wurde, wie wenn er ein Einbit-Fehler wäre, sondern auch das Problem in befriedigender Weise gelöst werden, daß ein Einbit-Fehler, der in den redundanten Bits selbst auftritt, fehlerhaft als ein Dreibit-Fehler erkannt wird.
Die Erfindung ist keinesfalls auf die Anordnung beschränkt, in der ein SEC-DED-Code verwendet wird und in der ein Einbit-Fehler erkannt und korrigiert wird, wobei ein Zwei- oder Mehrbit-Fehler allein erkannt wird. Die Erfindung ist vielmehr allgemein auf Anordnungen anwendbar, in denen ein Hamming-Code verwendet und ein Fehler, der in weniger als m Bits einschließlich auftritt, erkannt und korrigiert wird, während mehr als (m + 1) Bits einschließlich, die einem Fehler unterworfen sind, erkannt werden. In diesem Fall ist der oben erwähnte SEC-DED-Code-Generator durch den Hamming-Code-Generator vorgesehen. Hierzu wird ein Hamming-Code durch η ursprüngliche Informations-(oder Daten-)Bits gebildet, zu denen k1 redundante Bits für eine Fehler-Korrektur addiert sind, wobei - um die Fehler-Erkennungs- und -Korrektur-Funktion für die Bits in einer Anzahl kleiner als m einschließlich
k'
zu erzielen - 2 Kombinationen von Cod«
von k1 Bits ermöglicht sind, größer als
k'
zu erzielen - 2 Kombinationen von Codes, die durch Addieren
E k'+nCm
m-l
sein müssen, worauf bereits hingewiesen wurde. Mathematisch
030033/0521
müssen die folgenden Bedingungen erfüllt sein:
m=l
Um die Fehler-Erkennungsfähigkeit für die Bits in einer Anzahl nicht kleiner als (m + 1) zusätzlich zur gerade oben beschriebenen Fehler-Erkennungs- und -Korrektur-Funktion zu erzielen, ist zusätzlich ein Ein-Redundanz-Bit erforderlich. Wenn die Anzahl aller redundanten Bits durch k ausgedrückt wird, liegt k = k1 + 1 vor. Damit kann der obige Ausdruck (3) umgeschrieben werden in:
Nebenbei sei darauf hingewiesen, daß die obigen Ausdrücke (1) und (2) abgeleitet werden können, indem 1 für m in den Ausdruck (4) eingesetzt wird, da der SEC-DED-Code ein Hamming-Code ist, der einen Einbit-Fehler korrigieren und einen Zweibit-Fehler erkennen kann, wie dies oben erläutert wurde.
Erfindungsgemäß ist weiterhin eine Anordnung vorgesehen, die Hamming-Codes verwendet und Fehler-Bits in einer Anzahl nicht größer als m erkennen und korrigieren und Fehler-Bits in einer Anzahl nicht kleiner als (m + 1) erkennen kann, wobei eine Fehlkorrektur durch eine fehlerhafte Erkennung eines kleineren als eines m-Bit-Fehlers für einen größeren als
030033/0521
einen (m + 1)-Bit-Fehler mit erhöhter Zuverlässigkeit erkannt werden kann.
In einer Anordnung, die SEC-DED-Codes verwendet, die durch Daten-Bits gebildet sind, zu denen redundante Bits addiert sind, und die einen Einbit-Fehler erkennen und korrigieren und einen Zwei- oder Mehrbit-Fehler erkennen kann, erfolgt eine Erkennung über eine Fehlkorrektur, die einem Dreibit-Fehler zuschreibbar ist. Wenn der Einbit-Fehler durch ein Fehler-Erkennungs- und -Korrektur-Glied in dem aus einem Speicher ausgelesenen SEC-DED-Code erkannt wird, werden alle korrigierten Daten-Bits im Zustand invertiert und in den Speicher wieder eingeschrieben, nachdem sie zu frischen redundanten Bits addiert wurden. Anschließend werden die Daten-Bits zusammen mit den redundanten Bits aus dem Speicher gelesen und in das Fehler-Erkennungs- und -Korrektur-Glied gespeist. Die vom Fehler-Erkennungs- und -Korrektur-Glied erhaltenen Daten-Bits werden mit den korrigierten und invertierten Daten-Bits verglichen, die vor dem Einschreiben in den Speicher verfügbar sind, um dadurch das Vorliegen eines mehr als (m + 1) Bits umfassenden Fehlers aufgrund des Vergleichsergebnisses zu bestimmen.
Anhand der Zeichnung wird die Erfindung nachfolgend beispielsweise näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild mit dem allgemeinen
Aufbau der Fehler-Erkennungs- und -Korrektur-Anordnung zum Korrigieren eines Einbit-Fehlers und Erkennen eines Zweibit-Fehlers entsprechend einem Ausführungsbeispiel der Erfindung, und
030033/0521
Fig. 2 ein Blockschaltbild mit einer teilweisen Abwandlung der in Fig. 1 gezeigten Anordnung.
In Fig. 1, die die erfindungsgemäße Fehler-Erkennungsund -Korrektur-Anordnung zeigt, die einen Hamming-Code verwendet und zur Korrektur eines Einbit-Fehlers geeignet ist, während ein Zweibit- oder Mehrbit-Fehler erfaßt wird, ist ein SEC-DED-Code-Generator 2 wirksam, um k redundante Bits zu η Daten-Bits eines Eingangs-Datenwertes zu addieren, um dadurch einen SEC-DED-Code zu erzeugen. Die Erzeugung eines derartigen SEC-DED-Code kann in üblicher Weise entsprechend dem Hamming-Prinzip erfolgen, so daß die Addition der redundanten Bits die durch den obigen Ausdruck (2) festgelegten Bedingungen erfüllen kann. Wenn z. B. die Daten 64 Bits (n = 64) sind, dann werden 8 redundante Bits (k = 8) benötigt.
Ein durch η Daten-Bits und k redundante Bits gebildeter SEC-DED-Code 3 wird in einen Speicher 4 geschrieben. Die Einschreib-Operation des SEC-DED-Code 3 sowie die Auslese-Operation eines entsprechenden SEC-DED-Code 5 in den bzw. aus dem Speicher 4 erfolgt über eine Einschreib/Auslese-Ansteuerleitung 16, die unter der Steuerung eines Speicher-Steuergliedes 15 betätigt ist. Der aus dem Speicher 4 ausgelesene SEC-DED-Code 5 wird in ein SEC-DED-Glied 6 gespeist, das als die Fehler-Korrektur- und -Erkennungs-Einrichtung dient und den SEC-DED-Code entsprechend dem Hamming-Prinzip prüft. Wenn ein Einbit-Fehler erkannt wird, wird eine Einbit-Fehler-Erkennungsleitung 81 erregt, wodurch der SEC-DED-Code 5 als ein Auslese-Datenwert abgegeben wird, nachdem das betreffende Bit korrigiert wurde. Wenn ein Fehler für mehr als zwei Bits einschließlich durch das SEC-DED-Glied 6 erkannt wird, ist eine Mehrbit-Fehler-Erkennungsleitung 82 erregt, wodurch die Erkennung des Mehrbit-Fehlers nach außen gemeldet
030033/0521
wird.
Es sei daran erinnert, daß die Erfindung die Verarbeitung für die Erkennung des Einbit-Fehlers betrifft. D. h. , da die Möglichkeit besteht, daß ein tatsächlich auftretender Dreibit-Fehler fehlerhaft als ein Einbit-Fehler genommen und eine Korrektur aufgrund dieser falschen Annahme durchgeführt wurde, soll durch die Erfindung eine derartige Fehlkorrektur erkannt oder gekennzeichnet werden.
Ein Wiederprüf-Steuerglied 13 wird durch das auf der Einbit-Erkennungsleitung 81 auftretende Einbit-Fehlersignal betätigt und so eingestellt, daß es Stufen oder Schritte des Invertierens der η Daten-Bits steuert, die durch das SEC-DED-Glied 6 korrigiert sind, und daß es die invertierten Bit-Daten, die mit anderen redundanten Bits im Speicher 4 addiert sind, als Wiedereinschreib-Daten für eine wiederholte Prüfung schreibt. Während der Wiederprüf-Verarbeitung werden eine Speicher-Steuerleitung 14, eine Fehlkorrektur-Erkennungsglied-Steuerleitung 17, eine Vergleich-Steuerleitung 12 und eine Inverter-Steuerleitung 19 angesteuert.
Wenn das Wiederprüf-Steuerglied 13 durch die Einbit-Fehler-Erkennungsleitung 81 angesteuert ist, wird die Inverter-Steuerleitung 19 gleichzeitig eingeschaltet, wodurch die korrigierten η Daten-Bits zum Inverter 9 gespeist sind. Die vom Inverter 9 abgegebenen invertierten Daten-Bits werden in ein Daten-Register 11 gesetzt. Die vom Daten-Register 11 erzeugten η invertierten Daten-Bits werden als ein Wiederschreib-Datenwert 12 in den SEC-DED-Code-Generator 2 gespeist, bei dem die η invertierten Daten-Bits wieder mit k redundanten Bits addiert werden, um einen SEC-DED-Code 3 zu bilden, der seinerseits wieder in den Speicher 4 geschrieben wird. Die Einschreib- und Auslese-Operationen des SEC-DED-Code aus dem
030033/0521
- wr-
und in den Speicher 4 erfolgen zu dieser Zeit unter der Steuerung des Speicher-Steuergliedes 15, das durch die Speicher-Steuerleitung 14 betrieben wird, die unter der Steuerung des Wiederprüf-Steuergliedes 13 angesteuert ist. Der wieder aus dem Speicher 4 ausgelesene SEC-DED-Code 5 wird erneut durch das SEC-DED-Glied 6 geprüft. Das Prüfen erfolgt für die η invertierten Daten-Bits und die k redundanten Bits. Wenn als das Ergebnis der Prüfung erkannt wird, daß der Fehler ein Einbit-Fehler ist, wird das zugeordnete Bit korrigiert und als der Auslese-Datenwert 7 abgegeben. In diesem Fall wird die angesteuerte Einbit-Erkennungsleitung 81 durch das Wiederprüf-Steuerglied 13 ungültig gemacht. Wenn dagegen ein Zweibit-Fehler durch die obige Prüfung erkannt wird, ist die Mehrbit-Fehler-Erkennungsleitung 82 angesteuert. In diesem Zusammenhang sei darauf hingewiesen, daß der Datenwert einschließlich mehr als ein Zweibit-Fehler als der Auslese-Datenwert 7 ohne Korrektur abgegeben wird. Im nunmehr beschriebenen Wiederprüf-Prozeß wird der Auslese-Datenwert 7 zu einem Vergleicher 23 unabhängig davon gespeist, ob ein Einbit-Fehler oder ein Zwei- oder Mehrbit-Fehler erkannt wurde. Dagegen werden die in das Daten-Register 11 vor dem Wiederprüf-Prozeß eingegebenen Daten-Bits auch zum Vergleicher 23 gespeist, bei dem die Auslese-Daten 7 sowie die Daten vom Register 11 miteinander Bit für Bit bzw. auf einer bitweisen Basis verglichen werden. In der Wiederprüf-Verarbeitung wird die vom Wiederprüf-Steuerglied 13 ausgehende Vergleich-Steuerleitung 18 betätigt. Damit bewirkt eine Abweichung in den Bits zwischen beiden Eingangs-Daten, daß eine Daten-Abweichungs-Erkennungsleitung 82 betätigt wird. Diese Abweichungsleitung 82 führt zu einem Fehlkorrektur-Erkennungsglied 20 parallel zur Fehlkorrektur-Erkennungs-Steuerleitung 17 (vgl. oben). Da ein Signal auf der Steuerleitung für den Wiederprüf-Prozeß erzeugt wird, führt
030033/0521
23- 29Λ2998
eine Abweichung in dem oben beschriebenen Vergleich dazu, daß die Fehlkorrektur-Erkennungsleitung 21 eingeschaltet ist, um nach außen die Tatsache einer Fehlkorrektur zu melden. Dagegen wird eine in den Ergebnissen des obigen Vergleiches ermittelte Übereinstimmung für die Wirkung gewertet, daß ein einem Einbit-Fehler zuschreibbarer Fehler richtig korrigiert wurde, wodurch die zugeordneten Daten vor dem Vergleichen verschiedenen nachfolgenden Verarbeitungsstufen unterworfen werden können.
Im folgenden werden konkrete Operationen der obigen Anordnung anhand der anschließenden Tabelle ι aufgrund der Annahme erläutert, daß der Datenwert 64 Daten-Bits (A: 60 Bits, B: 3 Bits und C: 1 Bit) enthält und die redundanten Bits gleich 8 Bits (D: 7 Bits und E: 1 Bit) sind.
030033/0521
Tabelle I
O O CJ
"""" ~~^____^^ Fehlertypen in einem Einschreib-Daten Fall 1 Fall 2 Fall 3
"- ^^____^ Speicher (4)
Position " " -—^_^_^
Einschreib-SEC-DED-Code C= Fest-Ein-Daten-
wert-Bit-Fehler
E= Fest-Ein-Redun-
danz-Bit-Fehler
B= Fest-Drei-Daten
wert-Bit-Fehler
Auslese-SEC-DED-Code A+B+C A+B+C A+B+C
Einbit-Fehler-Erkennungs
leitung
A+B+C+D+E A+B+C+D+E A+B+C+D+E
Fehler-Bit-Stellungs-Anzeige-
Information
A+B+C+D+E A+B+C+D+E A+B+C+D+E
Erste
Zeit
Auslese-Daten nach Korrektur EIN EIN EIN
Einschreib-Daten C-Stellung E-Stellung C-Stellung
Wiedergeschriebener SEC-DED-Code A+B+C (Normale
Korrektur)
A+B+C (Datenwert
ist korrigiert)
A+B+C (Fehlkorrek
tur)
Auslese-SEC-DED-Code Ä+B+C Ä+B+C Ä+B+C
Einheit-Fehler-Erkennungs
leitung
Ä+B+C+D'+E' Ä+B+C+D'+E Ä+B+C+D"+E"
Fehler-Bit-Stellungs-Anzeige-
Information
Daten-Übereinstimmungs-Erken-
nungsleitung
Ä+B+C+D'+E' Ä+B+C+D+E Ä+B+C+D+E
Auslese-Daten nach Verbindung AUS EIN EIN
Zwei
te
Zeit
nichts
EIN
E-Stellung
EIN
C-Stellung
AUS ςχ
Ä+B+C Ä+B+C A+B+C IV
- Fortsetzung -
Bemerkungen
IO
A: Daten von 60
Bits
B: Daten von 3
Bits
C: 1 Bit-Daten eingeschrieben C in
Speicher und_aus
gelesen als C
D,D1: 7 redundante Bits
E,E1: 1 redundantes Bit
A: Daten von 60
Bits
B: Daten von 3
Bits
C: Daten von 1 Bit
D,D': 7 redundante Bits
A: Daten von Bits
B: 3 Bit-Daten eingeschrieben B in Speicher und_ausgelesen als B
C: Daten von 1 Bit
1 redundantes Bit eingeschrie ben E in Spei-E eher und ausgelesen als E
,D": 7 redundante Bits
,E": 1 redundantes Bit
(D CD OO
Fall 1:
Wie aus der Tabelle I zu ersehen ist, beruht der beispielsweise Fall 1 auf der Annahme, daß - obwohl 8 redundante Bits normal im Speicher 4 sind - ein Datenwert einschließlich 64 Daten-Bits einem Einbit-Fehler in der Hinsicht unterworfen ist, daß ein Einbit C der 64 Daten-Bits, die in den Speicher mit einem Bit C geschrieben sind, mit dem umgekehrten Bit C ausgelesen wird. Unter diesem Umstand erkennt das SEC-DED-Glied 6 einen Einbit-Fehler mit der Hilfe von den 8 redundanten Bits (D+E), die beim SEC-DED-Code-Generator 2 addiert sind, um dadurch die Einbit-Fehler-Erkennungsleitung 81 einzuschalten. Weiterhin ist die Fehler-Bit-Stellung ausgerichtet, und das betreffende Bit C wird in den normalen Wert C invertiert.
Wie oben im Zusammenhang mit der Fig. 1 näher erläutert wurde, wird das Wiederprüf-Steuerglied 13 danach durch die Einbit-Fehler-Erkennungsleitung 81 betätigt. Gleichzeitig wird der der Korrektur unterworfene Auslese-Datenwert 7 in den Inverter 9 eingegeben, der durch die Inverter-Steuerleitung 19 betätigt wird, die aus dem Wiederprüf-Steuerglied 13 führt. Folglich wird der Auslese-Datenwert 7, der der Korrektur beim SEC-DED-Glied 6 unterworfen war, in das Daten-Register 11 nach der Inversion oder Umkehrung eingegeben und anschließend wieder zum SEC-DED-Code-Generator 2 als ein Wiedereinschreib-Datenwert 12 gespeist, der durch Ä+B+C dargestellt ist, wie dies aus der Tabelle I zu ersehen ist. Beim SEC-DED-Code-Generator 2 wird dieser Datenwert mit entsprechenden redundanten Bits (D'+E1) addiert, um einen Einschreib-SEC-DED-Code 3 von A+B+ C+D'+E' zu bilden, der vom Generator 2 abgegeben wird. Unter der Steuerung der vom Wiederprüf-steuerglied 13 wegführenden Speicher-^Steuerleitung 14 wird das Speicher-Steuerglied 15 so angesteuert, daß der obige SEC-DED-Code 3 in den Speicher 4 über
930033/0521
die Einschreib/Auslese-Leitung 16 nunmehr mit dem invertierten Zustand C des Fehler-Bits eingeschrieben wird. Da keines der Bits A, B, D1 und E1 mit Ausnahme des Bits C Veranlassung zu einem Fehler in der Speicherung mit jedem Zustand gibt, wird nunmehr der in den Speicher 4 geschriebene SEC-DED-Code von A+B+C+D'+E1 ohne Begleitung durch jeden Fehler ausgelesen und in den Eingang des SEC-DED-Gliedes 6 als der SEC-DED-Code 5 gespeist. Da kein Fehler zu dieser Zeit durch das SEC-DED-Glied 6 erkannt wird, bleiben die Einbit-Fehler-Erkennungsleitung 81 und die Mehrbit-Fehler-Erkennungsleitung 82 beide im Aus-Zustand, während die die Fehler-Bit-Stellung bestimmende Information keine Bestimmung der Bit-Stellung gibt. Daraus folgt, daß eine derartige Information intern innerhalb des SEC-DED-Gliedes 6 erzeugt wird, obwohl sie nicht außerhalb erzeugt sein darf. Folglich ist das Ausgangssignal vom SEC-DED-Glied 6 der Auslese-Datenwert 7, der nunmehr durch A+B+C dargestellt ist, das dann mit den Inhalten A+B+C verglichen wird, die im Daten-Register 11 eingegeben sind, das die Wiedereinschreib-Daten 12 über den Vergleicher 23 hält, der durch die Vergleicher-Steuerleitung 18 betätigt ist, die vom Wiederprüf-Steuerglied 13 wegführt. Als Folge wird die die Abweichung des Vergleiches anzeigende Abweichungs-Erkennungsleitung 22 ausgeschaltet.
Wenn lediglich ein Einbit-Fehler in Wirklichkeit vorliegt, so folgt aus den obigen Erläuterungen, daß der Vergleich des Datenteiles über den Vergleicher 23, der nach der Wiederprüf-Verarbeitung mit dem invertierten Datenzustand ausgeführt wird, zu der Übereinstimmung ohne Fehler oder Ausfall führt, wodurch die Datenabweichungs-Erkennungsleitung ausgeschaltet wird.
Fall 2;
Im vorliegenden beispielsweisen Fall wird angenommen, daß
030033/0521
64 Daten-Bits normal im Speicher 4 verarbeitet werden, während 1 Bit E von 8 redundanten Bits, die mit einem Zustand E eingeschrieben sind, mit dem invertierten oder umgekehrten Zustand E ausgelesen wird, wobei ein Einbit-Fehler eingeschlossen ist, der fehlerhaft für einen Dreibit-Fehler im Fall der oben erläuterten herkömmlichen Anordnung genommen wird. (In diesem Zusammenhang sei an dieser Stelle darauf hingewiesen, daß das SEC-DED-Glied nicht nur einen Einbit-Fehler der Daten, sondern auch einen Einbit-Fehler in den redundanten Bits erkennt.) In diesem Fall erkennt das SEC-DED-Glied 6 einen Einbit-Fehler und schaltet die Einbit-Fehler-Erkennungsleitung 81 ein. Weiterhin wird die Fehler-Bit-Stellung ausgerichtet, während erkannt wird, daß der aus dem redundanten Bit E invertierte Wert E ein normaler Wert ist. Da jedoch keine Korrektur an den Daten-Bits erfolgt (unter der Annahme, daß der Datenwert keinen Fehler enthält), wird der Auslese-Datenwert 7 durch A+B+C dargestellt. Erfindungsgemäß wird der Auslese-Datenwert 7 in das Daten-Register 11 eingegeben, nachdem der Zustand durch den Inverter 9 invertiert oder umgekehrt wurde. Das Ausgangssignal vom Daten-Register 11 wird wieder zum SEC-DED-Code-Generator 2 als der Einschreib-Datenwert 12 für den Wiederprüf-Prozeß gespeist. Zu dieser Zeit sind der Inverter 9 sowie der Speicher 4 durch die Inverter-Steuerleitung 19 und die Speicher-Steuerleitung 14 gesteuert, die vom Wiederprüf-Steuerglied 13 wegführt, wie dies oben anhand des Falles 1 beschrieben wurde. Der Einschreib-Datenwert 12 für die Wiederprüf-Verarbeitung ist durch Ä+B+C dargestellt, wie dies aus der Tabelle I zu ersehen ist. Beim SEC-DED-Code-Generator 2 wird der Datenwert mit entsprechenden redundanten Bits addiert und als ein SEC-DED-Code abgegeben. Infolge der Annahme, daß das Bit E der addierten redundanten Bits mit dem Zustand eingegeben ist, der zu einem Fehler im Speicher 4 führt, wird der SEC-DED-Code 3 in einer in den Spei-
030033/0521
eher 4 eingeschriebenen Form A+B+C+D'+E aus diesem als ein durch Ä+B+C+D'+E dargestellter Auslese-Code 5 ausgelesen, der dann in das SEC-DED-Glied 6 eingegeben wird. Es sei darauf hingewiesen, daß das Bit E der redundanten Bits einem Fehler unterworfen war, während die Bits A, B, C und D1 unabhängig von deren Zustand frei von jedem Fehler sind. Das SEC-DED-Glied 6 erkennt den Einbit-Fehler, und eine fehlerhafte Bit-Stellungs-Information zeigt an, daß ein Fehler bei der Bit-Stellung E der redundanten Bits aufgetreten ist. Es sei daran erinnert, daß entsprechend der oben beschriebenen herkömmlichen Anordnung die für den Einbit-Fehler erfolgte erste Korrektur außen als eine Fehlkorrektur mitgeteilt wird, d. h., die erste Korrektur sollte für einen Dreibit-Fehler erfolgen, wenn ein Fehler wieder als das Ergebnis der Wiederprüf-Verarbeitung erkannt wird. Da der Auslese-Datenwert 7 vom SEC-DED-Glied Ä+B+C ist, selbst wenn ein Fehler durch das SEC-DED-Glied erkannt wird, führt jedoch erfindungsgemäß ein Vergleich dieses Datenwertes mit den Inhalten (A+B+C) des Daten-Registers 11, das die Wiedereinschreib-Daten 12 hält, über den Vergleicher 23 zu der Übereinstimmung, wodurch die Datenabweichungs-Erkennungsleitung 22 ausgeschaltet wird. Auf diese Weise wird so entschieden, daß der Fehler ein Einbit-Fehler ist.
Wie aus den obigen Erläuterungen folgt, führt der Vergleich, der an dem Datenteil eines SEC-DED-Code nach der Wiederprüf-Verarbeitung durchgeführt wird, erfindungsgemäß zu der Erkennung einer Übereinstimmung unabhängig von einem Einbit-Fehler in den redundanten Bits. Damit kann die unerwünschte Möglichkeit vollständig ausgeschlossen werden, daß ein Einbit-Fehler als ein Dreibit-Fehler genommen oder gewertet wird.
030033/0521
Fall 3:
Im vorliegenden Fall wird angenommen, daß die drei Bits B der 64 Daten-Bits einem Fehler im Speicher 4 in der Hinsicht unterworfen sind, daß die drei Bits B, die in den Speicher 4 mit einem Zustand geschrieben sind, mit dem anderen Zustand, d. h. mit B, ausgelesen werden, während die Fehlerkorrektur fehlerhaft an dem Einbit C trotz der Tatsache durchgeführt wurde, daß der Fehler als ein Dreibit-Fehler oder Mehrbit-Fehler erkannt worden sein sollte. Unter diesen Umständen erkennt das SEC-DED-Glied 6 fehlerhaft einen Einbit-Fehler aufgrund der im SEC-DED-Code-Generator 2 addierten redundanten Bits, wodurch die Einbit-Fehler-Erkennungsleitung 81 eingeschaltet wird. Weiterhin wird die Bit-Fehler-Stellung fehlerhaft als die Bit-Stellung C erkannt, was dazu führt, daß das zugeordnete Bit in C invertiert oder umgekehrt wird. Zu dieser Zeit bleiben die drei Bits B, die in Wirklichkeit einem Fehler unterworfen sind, im Zustand B. Erfindungsgemäß wird der Auslese-Datenwert 7 nach der fehlerhaften Korrektur in das Daten-Register 11 nach der Umkehrung durch den Inverter 9 eingegeben, während das Ausgangssignal vom Daten-Register 11 wieder in den SEC-DED-Code-Generator 2 als der Wiedereinschreib-Datenwert 12 für das Wiederprüfen eingespeist wird, wie dies in Fig. 1 gezeigt ist. Zu dieser Zeit sind der Inverter 9 und der Speicher 4 durch die Inverter-Steuerleitung 19 und die vom Wiederprüf-Steuerglied 13 wegführende Speicher-Steuerleitung 14 in der Weise gesteuert, wie dies oben im Zusammenhang mit dem Fall 1 beschrieben wurde.
Der Einschreib-Datenwert für das Wiederprüfen ist durch Ä+B+C gegeben, wie dies in der Tabelle I gezeigt ist. Im SEC-DED-Code-Generator 2 wird dieser Datenwert mit entsprechenden redundanten Bits (D"+E") addiert, was zu der Erzeugung eines
030033/0521
SEC-DED-Code 3 in der Form von A+B+C+D"+E" führt. Dieser Code 3 wird dann in den Speicher 4 geschrieben, in dem die Bits B einem Fehler in dem Sinn unterliegen, daß die mit dem Zustand B eingeschriebenen Bits B mit dem anderen Zustand B ausgelesen werden. Da die anderen Bits A, C, D" und E" zu keinem Fehler mit irgendeinem Zustand Veranlassung geben, wird der in den Speicher 4 geschriebene SEC-DED-Code einem Fehler bei den Bits B unterworfen und als ein SEC-DED-Code in einer Form von Ä+B+C+D"+E" ausgelesen. Da der Auslese-SEC-DED-Code 5 noch einem Fehler in den drei Bits B unterworfen ist, die als ein Einbit-Fehler erkannt sind, erkennt das mit dem SEC-DED-Code 5 beaufschlagte SEC-DED-Glied 6 wieder den Einbit-Fehler des Bits C, um in C zu invertieren. Folglich nimmt der Auslese-Datenwert 7 den Wert A+B+C an, was dann mit den Inhalten A+B+C des Daten-Registers 11 über den Vergleicher 23 verglichen wird, was zu einer Abweichung zwischen dem Datenwert 7 und den Inhalten des Registers 11 führt. Damit wird die Datenabweichungs-Erkennungsleitung 22 eingeschaltet, wodurch das Fehlkorrektur-Erkennungsglied 20 eines in Fig. 1 gezeigten Gatter-Aufbaues, das durch die vom Wiederprüf-Steuerglied 13 wegführende Fehlkorrektur-Erkennungsglied-Steuerleitung 17 bestätigt oder wirksam gemacht wurde, angesteuert wird, um die Fehlkorrektur-Erkennungsleitung 21 einzuschalten. Auf diese Weise wird eine derartige Information erhalten, daß die zu einer ersten Zeit am Einbit-Fehler ausgeführte Korrektur eine Fehlkorrektur ist und am Dreibit-Fehler hätte vorgenommen werden sollen.
In den obigen Beispielen wurde angenommen, daß das Fehlerereignis im Speicher fest oder unveränderlich ist. Jedoch kann in der Praxis ein derartiges Fehlerereignis auftreten, das von der Erstzeit-Erkennung bis zur Zweitzeit-Erkennung verschieden ist. Wenn z. B. drei Bits vorliegen, die leicht fehlerhaft verarbeitet und als ein Dreibit-Fehler bei der ersten Fehlerer-
030033/0521
kennung erkannt werden, kann es eintreten, daß sie als ein Zweibit-Fehler bei der zweiten Erkennung erkannt werden. In einem derartigen Fall bleibt die Erfindung wirksam oder gültig, da das Fehlkorrektur-Erkennungsglied 20 die Fehlkorrektur-Erkennungsleitung 21 einschaltet, wann immer eine Abweichung in dem Vergleich beim Vergleicher 23 nach der Wiederprüf-Verarbeitung gefunden wird.
Nach einem anderen vorteilhaften Merkmal der Erfindung wird der feste Fehler nicht nur erkannt, sondern er kann auch korrigiert werden. Wie aus der Tabelle I zu ersehen ist, wird der SEC-DED-Code nach der Zweitzeit-Korrektur Ä+B+C. Damit kann durch Invertieren oder Umkehren des Code der feste Dreibit-Fehler in den normalen Wert korrigiert werden. D. h., selbst im Fall 3 (vgl. oben) werden die Bits A richtig ausgelesen, invertiert sowie eingeschrieben und dann ausgelesen, um wieder invertiert zu werden. Damit bleiben die Bits A unveränderlich. Da dagegen die Bits B fehlerhaft ausgelesen, invertiert, eingeschrieben und dann fehlerhaft ausgelesen werden, wird den Bits B die richtige Polarität übertragen. Schließlich wird das Bit C richtig ausgelesen, fehlerhaft invertiert (Fehlkorrektur), richtig invertiert, eingeschrieben und dann richtig ausgelesen, fehlerhaft invertiert (Fehlkorrektur) und wieder invertiert. Damit wird dem Bit C letztlich ein richtiger Zustand übertragen.
Aus den obigen Erläuterungen folgt, daß das Problem, daß ein in den redundanten Bits auftretender Einbit-Fehler verarbeitet werden könnte, wie wenn er ein Dreibit-Fehler war, in einer vollständig befriedigenden Weise gelöst ist.
Zusätzlich ist auch das Problem eines Dreibit-Fehlers ausgeschlossen, der fehlerhaft als ein Einbit-Fehler verarbeitet wird, um zu Verwirrungen in einer folgenden arithmetischen Operation zu führen. Wenn nebenbei das Fehlerereignis in einem
030033/0521
Speicher fest ist, kann selbst der Dreibit-Fehler richtig korrigiert werden.
Fig. 2 zeigt eine Abwandlung der in Fig. 1 dargestellten und oben beschriebenen Anordnung. In Fig. 2 wird ein aus einem Speicher 4 ausgelesener SEC-DED-Code 3 durch ein SEC-DED-Glied 6 geprüft. Wenn ein Einbit-Fehler erkannt wird, wird die Einbit-Fehler-Erkennungsleitung 81 eingeschaltet, um ein (nicht gezeigtes) Wiederprüf-Steuerglied zu betätigen, wodurch die Wiederprüf-Verarbeitung eingeleitet wird, um das zugeordnete Bit zu korrigieren. Ein ausgelesener korrigierter Datenwert 7 wird dann in ein Daten-Register 11a eingegeben. Zu dieser Zeit wird der korrigierte Datenwert auch in einen Inverter 9 gespeist, dessen Ausgangs-Datenwert an einen SEC-DED-Code-Generator 2 als ein Wiedereinschreib-Datenwert 10 abgegeben wird, wo der Datenwert 10 wieder mit k redundanten Bits addiert und in den Speicher 4 geschrieben wird. Der wieder aus dem Speicher 4 ausgelesene entsprechende SEC-DED-Code wird invertiert oder umgekehrt und durch das SEC-DED-Glied in einer ähnlichen Weise geprüft, wie dies oben erläutert wurde. Das Daten-Ausgangssignal vom SEC-DED-Glied wird wieder in den Inverter 9 gespeist. Das Daten-Ausgangssignal vom Inverter 9 gewinnt so den ursprünglichen Zustand wieder. Dieser Datenwert wird anschließend mit den in das Daten-Register 11a eingegebenen Inhalten durch einen Vergleicher 23a verglichen. Die in Fig. 2 gezeigte Anordnung weicht von der in Fig. 1 dargestellten Anordnung dadurch ab, daß die Daten, die einen nichtinvertierten Zustand haben, wechselseitig im Fall der in Fig. 1 gezeigten Abwandlung verglichen werden. In diesem Zusammenhang sei daran erinnert, daß die Daten des invertierten Zustandes miteinander im Fall der in Fig. 1 gezeigten Anordnung verglichen werden. Der andere Aufbau und Betrieb der abgewandelten Anordnung ist ähnlich, wie dies oben anhand der
030033/0521
Fig. 1 und der Tabelle I erläutert wurde,oder für den Fachmann ohne noch weitere Beschreibung ausführbar.
Anhand der in den Fig. 1 und 2 dargestellten Anordnungen wurde beschrieben, daß die wechselseitig durch den Vergleicher 23 bzw. 23a verglichenen Daten den gleichen Zustand haben. Jedoch ist die Erfindung nicht auf eine derartige Anordnung beschränkt, sondern kann auch in der folgenden Weise ausgeführt werden. D. h., bei der in Fig. 2 gezeigten Anordnung ist einer der durch den Vergleicher 23a zu vergleichenden Datenwerte der in das Daten-Register 11a eingegebene Datenwert, während der andere Datenwert das vom SEC-DED-Glied 6 in der Wiederprüf-Verarbeitung korrigierte und durch den Inverter 9 invertierte Daten-Ausgangssignal ist. D. h., beide wechselseitig miteinander zu vergleichenden Datenwerte haben bezüglich des ursprünglichen Zustandes den gleichen Zustand. Im Gegensatz hierzu kann die Erfindung so ausgeführt werden, daß der in das Daten-Register 11a eingegebene Datenwert direkt mit dem korrigierten Daten-Ausgangssignal vom SEC-DED-Glied verglichen wird. Da insbesondere der letztere Datenwert nicht durch den Inverter 9 geschickt ist, erfolgt der Vergleich für die Daten mit verschiedenen Zuständen. Wenn folglich nicht eine Übereinstimmung für alle Daten-Bits in dem Vergleich gefunden wird, wird bestimmt, daß die Korrektur normal durchgeführt wurde, während eine Abweichung selbst in einem Einbit die Erkennung einer Fehlkorrektur bedeutet.
Auf jeden Fall haben die in den Fig. 1 und 2 gezeigten Anordnungen sowie die gerade oben erläuterte Abwandlung miteinander gemeinsam, daß die Tatsache der Fehlkorrektur erkannt wird abhängig von den Ergebnissen eines Daten-Vergleiches, der durch einen Vergleicher verwirklicht wird.
030033/0521
Die obige Beschreibung beruht auf der Annahme, daß ein Dreibit-Fehler in Termen oder Ausdrücken eines Einbit-Fehlers verarbeitet wurde. Jedoch ist es sofort einzusehen, daß die Erfindung in gleicher Weise auch auf den Fall anwendbar ist, in dem ein Mehrbit-Fehler, der eine ungerade Anzahl von Fehler-Bits enthält, wie z. B. ein Fünfbit-Fehler, ein Siebenbit-Fehler usw., verarbeitet werden kann, wie wenn er ein Einbit-Fehler wäre.
Weiterhin wurden im Fall der obigen Beispiele eine Korrektur eines Einbit-Fehlers und eine Erkennung eines Zwei- oder Mehrbit-Fehlers beschrieben. Jedoch soll darauf hingewiesen werden, daß die Erfindung allgemeiner auf die Korrektur eines m-Bit-Fehlers (m = ganzzahlig größer als 1) und die Erkennung eines (m+1)-Bit-Fehlers lediglich durch Erhöhen der Anzahl der redundanten Bits als eine steigende Funktion von m anwendbar ist. Tatsächlich werden die Anzahl der redundanten Bits sowie der Prüfprozeß entsprechend dem Hamming-Prinzip aufgrund der obigen Ausdrücke (1) bis (4) bestimmt.
Die erfindungsgemäße Anordnung löst das Problem eines irrtümlich als ein Dreibit-Fehler erkannten Einbit-Fehlers der redundanten Bits, während die Erkennung für die Fehlkorrektur so durchgeführt werden kann, daß ein Daten-Fehler in mehr als drei Bits, der einer Speicherfunktion zuzuschreiben ist, fehlerhaft in Termen oder Ausdrücken eines Einbit-Fehlers verarbeitet wurde. Somit kann durch die Erfindung die Zuverlässigkeit einer Rechneranordnung wesentlich verbessert werden.
Zur Durchführung der Erfindung ist eine Unteranordnung, wie z. B. die in Fig. 1 gezeigte Unteranordnung, erforderlich, die jedoch mit Hilfe eines in einer Rechneranordnung gespeicherten Mikroprogrammes ohne zusätzliche Beifügung spezieller Hard-
030033/0521
ware verwirklicht werden kann.
Da weiterhin die erfindungsgemäße Anordnung gegenüber Einflüssen einer Änderung in verwendeten Codes unempfindlich ist, kann jede Codiermethode verwendet werden.
Sofern die Fehlerereignisse im Speicher von einer festen Art sind, erlaubt die Erfindung nicht nur die Erkennung eines Mehrbit-Fehlers, sondern auch die Ausführung von dessen Korrektur. Dieser Vorteil wird bedeutender, wenn Speicherelemente zum Aufbau einer Speichervorrichtung verwendet werden, die nur gegenüber dem festen Fehler empfindlich sind. Die Erfindung ist sehr vorteilhaft, um korrigierte Werte zu erhalten, selbst wenn Mehrbit-Fehler in einer Speicherausrüstung erzeugt wurden, die herkömmliche Speicher mit integrierten Schaltungen (IC-Speicher) anwendet.
090033/0521
Leerseite

Claims (9)

  1. BEETZ-LAMPRECHT-BEETZ Steinsdorfstr. 10 - D-8000 München 22 Telefon (089) 22 72 01 - 22 7244 - 29 5910 Telex 522048 - Telegramm Allpatent München
    8l-3o.3ooP
    PATENTANWÄLTE
    DipMng. R. BEETZ sen. 2942998
    Dipl.Hng. K. LAMPRECHT
    Dr.-tng. R. BEETZ jr.
    RECHTSANWALT Dipl.-Phys. Dr. jur. U. HEIDRICH
    Dr.-tng. W. TIMPE
    DipMng. J. SIEGFRIED
    Priv.-Doz. Dipl.-Chem. Dr. rer. nat. W. SCHMITT-FUMIAN
    24. Okt. 1979
    Ansprüche
    Fehler-Korrektur- und -Erkennungs-Anordnung,
    - bei der ein Hanuning-Code verwendet wird,
    - der mit k redundanten Bits addiert wird zur Erfüllung der Bedingung:
    m=1
    :-1+nCm + 1 *
    k-1
    mit η = Anzahl der Daten-Bits,
    - um zu erkennen und zu korrigieren höchstens einen m-Bit-Fehler und zu erfassen mehr als einen (m+1)-Bit-Fehler,
    - mit m > 1,
    gekennzeichnet
    durch
    - einen Hamming-Code-Generator (2) zum Erzeugen eines Hamming-Code durch Addieren der k redundanten Bits zu den η Daten-Bits,
    - einen Speicher (4) zum Speichern des Hamming-Code ,
    - eine Fehler-Korrektur- und -Erkennungs-Einrichtung
    (6) zum Prüfen des aus dem Speicher (4) ausgelesenen Hamming-Code, um dadurch einen Fehler zu korrigieren, der höchstens
    81-(A 4O41-O2)-E
    •10033/0521
    ORIGINAL INSPECTED
    m Bits umfaßt, während ein Fehler erkennbar ist, der mehr als (m+1) Bits einschließlich umfaßt,
    - einen Inverter (9) zum Umkehren der korrigierten
    η Daten-Bits, die von der Fehler-Korrektur- und -Erkennungs-Einrichtung (6) abgegeben sind, abhängig von der Erkennung des höchstens m-Bit-Fehlers durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6),
    - eine Übertragungseinrichtung (12) zum übertragen der η Daten-Bits nach der Umkehrung zum Hamming-Code-Generator (2), um einen zweiten Hamming-Code durch erneutes Addieren der k redundanten Bits zu den invertierten η Daten-Bits zu erzeugen,
    - eine Einrichtung zum Einspeisen des zweiten Hamming-Code , der die umgekehrten η Daten-Bits enthält, die durch den Hamming-Code-Generator (2) erzeugt sind, in die Fehler-Korrektur- und -Erkennungs-Einrichtung (6)durch den Speicher (4),
    - einen Vergleicher (23) zum Vergleichen des ersten korrigierten Datenwertes, der zuerst von der Fehler-Korrektur- und -Erkennungs-Einrichtung (6) erhalten ist, mit dem zweiten korrigierten Datenwert, der sodann von der Fehler-Korrektur- und -Erkennungs-Einrichtung (6) erhalten ist, und
    - eine Erkennungseinrichtung, um auf ein Signal zu antworten, das das Ergebnis eines Vergleichs im Vergleicher (23) darstellt, um eine Korrektur zu erkennen, die fehlerhaft ausgeführt wurde.
  2. 2. Fehler-Korrektur- und -Erkennungs-Anordnung nach Anspruch 1,
    gekennzeichnet durch
    - ein Daten-Register (11) zum zeitweisen Halten (Zwischenspeichern) des ersten Datenwertes nach der Umkehrung,
    0a0033/0521
    - wobei der zweite Datenwert mit dem Daten-Ausgangssignal vom Daten-Register (11) im Vergleicher (23) verglichen wird.
  3. 3. Fehler-Korrektur- und -Erkennungs-Anordnung nach Anspruch 1 ,
    gekennzeichnet durch
    - ein Daten-Register (11) zum zeitweisen Halten (Zwischenspeichern) nichtinvertierter Datenwerte (erster Datenwerte) , die von der Fehler-Korrektur- und -Erkennungs-Einrichtung (6) erhalten sind,
    - wobei das Daten-Ausgangssignal vom Daten-Register (11) durch den Vergleicher (23) mit dem zweiten Datenwert verglichen wird, der zuvor einer anderen Umkehrung unterworfen wurde.
  4. 4. Fehler-Korrektur- und -Erkennungs-Anordnung nach einem der Ansprüche 1 bis 3,
    - mit m = 1,
    - um dadurch einen Einbit-Fehler zu erkennen und zu korrigieren, während ein Mehrbit-Fehler erkannt wird,
    dadurch gekennzeichnet,
    - daß nur dann, wenn der Einbit-Fehler in der Fehler-Korrektur- und -Erkennungs-Einrichtung (6) erkannt wird, die im Hamming-Code enthaltenen Daten-Bits korrigiert werden, um dadurch den Vergleicher (23) zu betätigen.
  5. 5. Fehler-Korrektur- und -Erkennungs-\nordnung nach einem der Ansprüche 1 bis 3,
    gekennzeichnet durch
    - ein Wiederprüf-Steuerglied (13),
    - das ansteuerbar ist, wenn weniger als ein m-Bit-Fehler in der Fehler-Korrektur- und -Erkennungs-Einrichtung (6) erkannt
    030033/0521
    wird, und
    - das zur Steuerung für eine Wiederprüf-Verarbeitung der Auslese/Einschreib-Operationen des Speichers (4) sowie des Inverters (9), des Vergleichers (2 3) und der Erkennungsund -Korrektur-Einrichtung (6) dient.
  6. 6. Anordnung zum Erkennen einer Fehlkorrektur, bei der ein Dreibit-Fehler fehlerhaft in Ausdrücken eines Einbit-Fehlers in einer Vorrichtung zum Erkennen und Korrigieren eines Einbit-Fehlers korrigiert wurde, während ein Zwei- oder Mehrbit-Fehler erkannt wird,
    gekennzeichnet durch
    - einen SEC-DED-Code-Generator (SEC-DED = Einbit-Fehler-Korrektur/Zweibit-Fehler-Erkennung) zum Erzeugen eines SEC-DED-Code durch Addieren zu η Daten-Bits k redundante Bits, so daß die Bedingung
    2k-1-(n+k) > 0
    erfüllt ist,
    - einen Speicher (4) zum Speichern des SEC-DED-Code ,
    - eine Fehler-Korrektur- und -Erkennungs-Einrichtung (6) zum Prüfen des aus dem Speicher (4) ausgelesenen SEC-DED-Code, um den Einbit-Fehler zu korrigieren und den Zweioder Mehrbit-Fehler zu erkennen,
    - einen Inverter (9) zum Umkehren der η Daten-Bits, die durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) korrigiert wurden,
    - eine Einrichtung (12) zum
    - Einspeisen des invertierten Datenwertes in den SEC-DED-Code-Generator (2) als ein erster Datenwert,
    - Addieren der redundanten Bits zum umgekehrten Datenwert, um einen SEC-DED-Code zu bilden,
    030033/0521
    - Einschreiben in den Speicher (4) den SEC-DED-Code und Auslesen den Code aus dem Speicher (4), um den Code durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) zu prüfen, und
    - Vergleichen eines zweiten Datenwertes, der durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) erhalten ist, mit dem ersten Datenwert, und
    - eine Fehlkorrektur-Erkennungseinrichtung zum Erkennen, daß eine am Einbit-Fehler durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) vorgenommene Korrektur fehlerhaft durchgeführt wurde, wenn der erste Datenwert nicht mit dem zweiten Datenwert bei dem Vergleich übereinstimmt.
  7. 7. Anordnung nach Anspruch 6, gekennzeichnet durch
    - ein Daten-Register (11) zum Zwischenspeichern des ersten Datenwertes,
    - wobei der Vergleicher (23) den zweiten Datenwert mit dem Daten-Ausgangssignal vom Daten-Register (11) vergleicht.
  8. 8. Anordnung nach Anspruch 6 oder 7, gekennzeichnet durch
    - ein Wiederprüf-Steuerglied (13), das durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) abhängig von der Erkennung eines Einbit-Fehlers betätigbar ist und den Inverter (9), den Vergleicher (23) und die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) steuert.
  9. 9. Anordnung zum Erkennen einer Fehlkorrektur, in der ein Dreibit-Fehler fehlerhaft in Ausdrücken eines Einbit-Fehlers in einer Vorrichtung zum Erkennen und Korrigieren eines Einbit-Fehlers korrigiert wurde, während ein Zwei- oder Mehrbit-Fehler erkannt wird,
    gekennzeichnet durch
    030033/0521
    -C-
    - einen SEC-DED-Code-Generator (2) zum Erzeugen eines SEC-DED-Code durch Addieren zu η Daten-Bits mit k redundanten Bits, so daß die Bedingung
    2k~1-(n+k) > 0
    erfüllt ist,
    - einen Speicher (4) zum Speichern des SEC-DED-Code ,
    - ein Speicher-Steuerglied (15) zum Steuern von Einschreib- und Auslese-Operationen des SEC-DED-Code in den Speicher (4),
    - eine Fehler-Korrektur- und -Erkennungs-Einrichtung (6) einerseits zum Prüfen eines Fehlers in dem aus dem Speicher (4) ausgelesenen SEC-DED-Code und andererseits zum Korrigieren eines Einbit-Fehlers - wenn erkannt - , um dadurch lediglich die η Daten-Bits abzugeben, während ein Zweioder Mehrbit-Fehler erkannt wird - wenn vorhanden -,
    - ein Wiederprüf-Steuerglied (13), das betätigbar ist, wenn der Einbit-Fehler durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) erkannt wird,
    - einen durch das Wiederprüf-Steuerglied (13) gesteuerten Inverter (9) zum Umkehren des korrigierten Daten-Ausgangssignales von der Fehler-Korrektur- und -Erkennungs-Einrichtung (6) ,
    - ein Daten-Register (11) zum Zwischenspeichern des Daten-Ausgangssignales vom Inverter (9) als ein erster Datenwert,
    - eine Einrichtung (12) zum Einspeisen des ersten Daten-Ausgangssignales vom Daten-Register (11) in den SEC-DED-Code-Generator (2) ,
    - eine Einrichtung einerseits zum Einschreiben in den und anschließend zum Auslesen aus dem Speicher (4) den SEC-DED-Code, der den ersten Datenwert enthält, unter der Steue-
    030033/0521
    rung des Speicher-Steuergliedes (15) und andererseits zum Abgeben als einen zweiten Datenwert den Datenwert, der einer Fehler-Prüfung und -Korrektur durch die Fehler-Korrektur- und -Erkennungs-Einrichtung (6) unterworfen war,
    - einen durch das Wiederprüf-Steuerglied (13) gesteuerten Vergleicher (23) zum Vergleichen des zweiten Datenwertes mit dem im Daten-Register (11) gespeicherten ersten Datenwert , und
    - ein Fehlkorrektur-Erkennungsglied (20) zum Anzeigen, daß eine Fehlkorrektur erfolgt ist, abhängig von einer Abweichung zwischen dem ersten und dem zweiten Datenwert, die durch den Vergleicher (23) verglichen sind, unter der Steuerung des Wiederprüf-Steuergliedes (13).
    0300 3 J/05,M
DE2942998A 1979-02-07 1979-10-24 Fehler-Korrektur- und Erkennungs-Anordnung Expired DE2942998C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP54012275A JPS592057B2 (ja) 1979-02-07 1979-02-07 エラ−訂正・検出方式

Publications (2)

Publication Number Publication Date
DE2942998A1 true DE2942998A1 (de) 1980-08-14
DE2942998C2 DE2942998C2 (de) 1983-05-26

Family

ID=11800807

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2942998A Expired DE2942998C2 (de) 1979-02-07 1979-10-24 Fehler-Korrektur- und Erkennungs-Anordnung

Country Status (3)

Country Link
US (1) US4296494A (de)
JP (1) JPS592057B2 (de)
DE (1) DE2942998C2 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6051749B2 (ja) * 1979-08-31 1985-11-15 富士通株式会社 エラ−訂正方式
JPS5671154A (en) * 1979-11-15 1981-06-13 Nec Corp Information processing device
US4365332A (en) * 1980-11-03 1982-12-21 Fairchild Camera And Instrument Corp. Method and circuitry for correcting errors in recirculating memories
US4417339A (en) * 1981-06-22 1983-11-22 Burroughs Corporation Fault tolerant error correction circuit
US4458349A (en) * 1982-06-16 1984-07-03 International Business Machines Corporation Method for storing data words in fault tolerant memory to recover uncorrectable errors
US4535455A (en) * 1983-03-11 1985-08-13 At&T Bell Laboratories Correction and monitoring of transient errors in a memory system
US4608687A (en) * 1983-09-13 1986-08-26 International Business Machines Corporation Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition
US4604751A (en) * 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors
JPS61134988A (ja) * 1984-12-04 1986-06-23 Toshiba Corp 半導体メモリにおける誤り検出訂正機能制御系
DE3482509D1 (de) * 1984-12-28 1990-07-19 Ibm Geraet zum korrigieren von fehlern in speichern.
US4780809A (en) * 1986-08-08 1988-10-25 Amdahl Corporation Apparatus for storing data with deferred uncorrectable error reporting
JPH01183000A (ja) * 1988-01-14 1989-07-20 Mitsubishi Electric Corp 誤り訂正回路を有する半導体メモリ装置
US5058115A (en) * 1989-03-10 1991-10-15 International Business Machines Corp. Fault tolerant computer memory systems and components employing dual level error correction and detection with lock-up feature
US5418796A (en) * 1991-03-26 1995-05-23 International Business Machines Corporation Synergistic multiple bit error correction for memory of array chips
US5267242A (en) * 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US5644583A (en) * 1992-09-22 1997-07-01 International Business Machines Corporation Soft error correction technique and system for odd weight row error correction codes
US5768476A (en) * 1993-08-13 1998-06-16 Kokusai Denshin Denwa Co., Ltd. Parallel multi-value neural networks
JP2731745B2 (ja) * 1995-03-23 1998-03-25 甲府日本電気株式会社 データ障害処理装置
EP1125202B1 (de) * 1998-10-30 2003-06-18 Infineon Technologies AG Speichereinrichtung zum speichern von daten und verfahren zum betreiben von speichereinrichtungen zum speichern von daten
US7069494B2 (en) * 2003-04-17 2006-06-27 International Business Machines Corporation Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism
US7747936B2 (en) * 2004-03-02 2010-06-29 Stmicroelectronics Sa Device for protection against error injection into an asynchronous logic block of an elementary logic module
FR2867326A1 (fr) * 2004-03-02 2005-09-09 St Microelectronics Sa Dispositif de protection contre l'injection d'erreur dans une bascule synchrone d'un module logique elementaire
KR100571758B1 (ko) * 2004-05-11 2006-04-17 삼성전자주식회사 반전된 패턴 데이터 비교부를 구비하는 반도체 메모리장치 및 이 장치의 병렬 비트 테스트 방법
JP5059524B2 (ja) * 2007-09-05 2012-10-24 ルネサスエレクトロニクス株式会社 メモリ制御回路、半導体集積回路、不揮発性メモリのベリファイ方法
JP5278441B2 (ja) * 2008-12-04 2013-09-04 富士通株式会社 記憶装置および故障診断方法
US20110099439A1 (en) * 2009-10-23 2011-04-28 Infineon Technologies Ag Automatic diverse software generation for use in high integrity systems
US20110208948A1 (en) * 2010-02-23 2011-08-25 Infineon Technologies Ag Reading to and writing from peripherals with temporally separated redundant processor execution
US8516356B2 (en) * 2010-07-20 2013-08-20 Infineon Technologies Ag Real-time error detection by inverse processing
WO2012073071A1 (en) * 2010-12-02 2012-06-07 Freescale Semiconductor, Inc. Error correcting device, method for monitoring an error correcting device and data processing system
US20140032427A1 (en) * 2012-05-16 2014-01-30 Inttra Inc. Invoice and Freight Statement Matching and Dispute Resolution
WO2015183245A1 (en) * 2014-05-27 2015-12-03 Hewlett-Packard Development Company, L.P. Validation of a repair to a selected row of data
WO2017030564A1 (en) 2015-08-18 2017-02-23 Hewlett Packard Enterprise Development Lp Post package repair for mapping to a memory failure pattern
US11244046B2 (en) 2019-09-16 2022-02-08 Nuvoton Technology Corporation Data-sampling integrity check using gated clock
US11321457B2 (en) 2019-09-16 2022-05-03 Nuvoton Technology Corporation Data-sampling integrity check by sampling using flip-flops with relative delay

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3949208A (en) * 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL137730C (de) * 1962-12-24
US4045779A (en) * 1976-03-15 1977-08-30 Xerox Corporation Self-correcting memory circuit
US4037091A (en) * 1976-04-05 1977-07-19 Bell Telephone Laboratories, Incorporated Error correction circuit utilizing multiple parity bits
JPS5381036A (en) * 1976-12-27 1978-07-18 Hitachi Ltd Error correction-detection system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3949208A (en) * 1974-12-31 1976-04-06 International Business Machines Corporation Apparatus for detecting and correcting errors in an encoded memory word

Also Published As

Publication number Publication date
JPS592057B2 (ja) 1984-01-17
US4296494A (en) 1981-10-20
JPS55105900A (en) 1980-08-13
DE2942998C2 (de) 1983-05-26

Similar Documents

Publication Publication Date Title
DE2942998C2 (de) Fehler-Korrektur- und Erkennungs-Anordnung
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE3702006A1 (de) Speichervorrichtung
DE2030760A1 (de) Speicherschaltung
DE2430464A1 (de) Einrichtung zur fehlergesicherten datenuebertragung
DE2357168C2 (de) Schaltungsanordnung für einen Speichermodul
DE2260850A1 (de) Fehlerkorrektursystem
DE2421112A1 (de) Speicheranordnung
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE2328869A1 (de) Verfahren zur pruefung eines digitalen speichersystems sowie zur durchfuehrung dieses verfahrens dienendes selbstpruefendes digitales speichersystem
WO2000068794A1 (de) Verfahren zum gesicherten schreiben eines zeigers für einen ringspeicher
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE2450468C2 (de) Fehlerkorrekturanordnung für einen Speicher
DE3045609A1 (de) Verfahren und schaltungsanordnung zur abgabe einer korrigierten datengruppe an eine bestimmungsschaltung
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
DE2655653C2 (de) Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher
EP1444700B1 (de) Speichertest
DE69924012T2 (de) Verfahren und vorrichtung für speicherdata-fehlerdetektion und speichermodul-fehlerdetektion
DE102020111321A1 (de) System und verfahren zur erkennung und berichtigung von datenfehlern eines transparenten registers
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
DE2908373C2 (de)
DE19635240A1 (de) Speichersystem
DE1937259B2 (de) Selbstpruefende fehlererkennungsschaltung
DE3716594C2 (de) Schaltungsanordnung für Fernmeldeanlagen, insbesondere Fernsprechvermittlungsanlagen, mit Speichereinrichtungen, in denen gespeicherte Informationsportionen auf ihre Richtigkeit überprüft werden
EP0491073B1 (de) Verfahren und Schaltungsanordnung zur Datensicherung in Speichereinheiten

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition