DE2131848C3 - Verfahren und Vorrichtung zur Fehlererkennung und -korrektur - Google Patents

Verfahren und Vorrichtung zur Fehlererkennung und -korrektur

Info

Publication number
DE2131848C3
DE2131848C3 DE19712131848 DE2131848A DE2131848C3 DE 2131848 C3 DE2131848 C3 DE 2131848C3 DE 19712131848 DE19712131848 DE 19712131848 DE 2131848 A DE2131848 A DE 2131848A DE 2131848 C3 DE2131848 C3 DE 2131848C3
Authority
DE
Germany
Prior art keywords
bits
data
bit
circuit
error
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.)
Expired
Application number
DE19712131848
Other languages
English (en)
Other versions
DE2131848B2 (de
DE2131848A1 (de
Inventor
Volkmar Dipl.-Ing. Goetze
Frank Dipl.-Ing. Dr. Tsui
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.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
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 IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Priority to DE19712131848 priority Critical patent/DE2131848C3/de
Priority to JP5569672A priority patent/JPS5443857B1/ja
Priority to GB2771072A priority patent/GB1363586A/en
Priority to FR7222687A priority patent/FR2144293A5/fr
Publication of DE2131848A1 publication Critical patent/DE2131848A1/de
Publication of DE2131848B2 publication Critical patent/DE2131848B2/de
Application granted granted Critical
Publication of DE2131848C3 publication Critical patent/DE2131848C3/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

HX = QXv M2
H2= Q2vMX,
45
deren Exclusiv-ODER-Verknüpfung eine Anzeige für eine gerade oder ungerade Anzahl von Syndrombits ergibt und als Freigabesignal verwendet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß nach dem verwendeten Code die Bits eines Eiyte alle die gleiche, für dieses Byte charakteristische Zuordnung zu zwei Redundanzbits der einen Hälfte der Redundanzbits aufweisen (z. B. Byte 1 zu C1 und CA),
daß eine UN D-Verknüpfung vorgesehen ist (FBL XA) zwischen den, der charakteristischen Zuordnung entsprechenden Syndrombits (z. B. S X und 54) und der der Datenworthälfte (2;. B. ω DX-D32)zugeordneten Fehlerentscheidungsfuriktion (z. B. H X), derart, daß für jedes Byte ein Fehlersignal (Bk) erzeugt wird.
3. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1 und 2, dadurch b5 gekennzeichnet,
daß sie zur Beschleunigung der Fehlerkorrektur folgende zusätzliche Schaltungsteile enthält:
a) einen an den Datenbit-Eingang angeschlossenen mehrstufigen, aus Exclusiv-ODER-Gliedern aufgebauten Paritätsbitgenerator (PBG 9) zur Erzeugung der unkorrigierten Paritätsbits für die Bytes, der einmal mit den ersten Eingängen einer einstufigen, aus Exclusiv-ODER-Gliedem bestehenden Paritätsbit-Modifizierschaltung (PBM8), die die korrigierten Paritätsbits liefert, verbunden ist und zum anderen mit einer aus Exclusiv-ODER-Gliedern bestehenden Paritätsbit-Verknüpfungsschaltung (PVSXX), in der jeweils die Paritätsbits der ersten und zweiten Hälfte der Datenbits miteinander verknüpft werden,
b) eine aus Exclusiv-ODER-Gliedern bestehende mehrstufige Redundanzbit-Vergleichsschaltung (R VS12), in der jeweils die Redundanzbits der ersten und zweiten Hälfte der ausgelesenen Redundanzbits C1 miteinander verknüpft werden, deren zwei Ausgänge (MX, M2) ebenso wie die beiden Ausgänge (QX, Q 2) der Paritätsbit-Verknüpfungsschaltung (PVSti) an eine aus zwei Exclusiv-ODER-Gliedern aufgebaute einstufige Vergleichsschaltung (VGS13) angeschlossen sind, deren beide Ausgänge (H X, H2) mit einer aus einem Exclusiv-ODER-Glied bestehenden und auf das Vorliegen einer ungeraden Anzahl von Syndromen mit dem Binärwert »1« prüfenden Prüfschaltung (UGPA) und mit einer aus UND-Gliedern aufgebauten einstufigen Fehlerbyte-Lokalisierungsschaltung (FBL XA) verbunden sind,
c) eine aus UND-Gliedern aufgebaute einstufige Lokalisierungsschaltung (BIBL 15) zur Lokalisierung des fehlerhaften Bits innerhalb eines Bytes, deren Eingänge mit der die Syndrome liefernden Redundanzbit-Vergleichsschaltung (RBV2) verbunden und deren Ausgänge an eine aus UND-Gliedern bestehende einstufige Fehlerbit-Lokalisierungsschaltung (FBILZ) angeschlossen sind, an die auch der Ausgang der Prüfschaltung (UGPA) sowie die Ausgänge der Fehlerbyte-Lokalisierungsschaltung (FBL 14) angeschlossen sind, deren Eingänge mit der Redundanzbit-Vergleichsschaltung (RBV2) verbunden sind und deren Ausgänge auch an eine einstufige, aus UND-Gliedern bestehende Paritätsmodifizier-Steuerschaltung (PMS 10) angeschlossen sind, die an die Fehlerbyte-Lokalisierungsschaltung (FBL XA) und die Prüfschaltung (UGPA) angeschlossen ist und deren Ausgänge mit den zweiten Eingängen der Paritätsbit-Modifizierschaltung (PBMS) verbunden sind.
Die Erfindung betrifft ein Verfahren gemäß Oberbegriff des Anspruchs 1 und eine Vorrichtung zur Durchführung des Verfahrens.
Die in modernen programmgesteuerten Datenverarbeitungsanlagen eingesetzten Halbleiterspeicher weisen zwar die erforderlichen kurzen Zugriffszeiten auf, sie sind jedoch nicht so betriebssicher wie die langsamer arbeitenden Magnetkernspeicher. Deshalb muß dafür gesorgt werden, daß Einzelfehler von einer Fehlerer-
kennungs- und -korrekturschaltung automatisch korrigiert werden und das Vorliegen nicht zu korrigierender Mehrfachfehler angezeigt wird. Dazu werden die zu speichernden Infonnationswörter durch einen fehlerkorrigierenden Code ergänzt Das Ergänzen geschieht in der Weise, daß aus den zu speichernden Datenbits nach bestimmten Regem Redundaizbits abgeleitet werden, die mit den Datenbits gespeichert werden. Beim Auslesen eines so gegen Fehler gesicherten Wortes werden die Redundanzbits erneut aus den DateBoits abgeleitet und mit den ausgelesenen Redundanzbits erneut aus den Datenbits abgeleitet und mit den ausgelesenen Redundanzhits verglichen.
Die bei dem Vergleich erhaltenen Signale, die als Syndrome bezeichnet werden, werden zur Lokalisierung des fehlerhaften Bits von einer Decodierschaltung ausgewertet, die die Korrektur des fehlerhaften Bits durch Invertieren in einer Datenbit-Modifizierschaltung bewirkt
Eine Einrichtung in der oben angegebenen Art ist in der US-PS 35 73 728 beschrieben, welche sich insbesondere mit dem Speichern und Auslesen von Teilwörtern befaßt Die Erzeugung eines eine eventuelle Datenkorrektur freigebenden Signals sowie die Auswertung einer geraden oder ungeraden Anzahl Syndrombits werden in 2s dieser Patentschrift nicht behandelt Ohne das genannte Freigabesignal werden jedoch unter Umständen Pseudokorrekturen von in Wirklichkeit mit den vorhandenen Mitteln unkorrigierbaren Fehlern durchgeführt
In der Zeitschrift »IBM Journal«, Juli 1970, Seiten 395 jo bis 401, beschreibt Hsiao einen für die Einzelfehierkorrektur und Doppelfehlererkennung günstigen Code. Die für diesen Code charakteristische Matrix, welche die Zuordnung der Prüfbits zu den zu ihrer Erzeugung verwendeten Datenbits angibt, hat die Eigenschaft, daß r> jede Datenbitspalte eine ungerade Anzahl von Einsen enthält Außerdem wurde getrachtet die Anzahl der Einsen in jeder Zeile der Matrix so gering wie möglich zu halten. Eine weitere Eigenschaft dieses Codes besteht darin, daß getrachtet wurde, die Anzahl der Einsen in jeder Zeile der Matrix möglichst gleich zu machen, wobei die Durchschnittsanzahl der Einsen in jeder Zeile der Matrix möglichst gleich sein soil der Gesamtanzahl von Positionen in einer Zeile der Matrix geteilt durch die Anzahl Zeilen der Matrix.
Die geringe Anzahl von Einsen in jeder Zeile der Matrix bringt wohl einen Geschwindigkeitsvorteil mit sich, hat jedoch andererseits den Nachteil, daß dem Code eine innere Symmetrie fehlt was die Verwendung von möglichst vielen, gleichartig aufgebauten Einriebtungen erschwert
In dem genannten Artikel sind keine Einrichtungen zur Feststellung einer geraden oder ungeraden Anzahl Syndrombits beschrieben. Wie der nachfolgend anhand der F i g. t und 2 beschriebene Stand der Technik jedoch zeigt, ist es notwendig, zur Vermeidung von Scheinkorrekturen von an sich unkorrigierbaren Fehlern zu wissen, wie hoch die Anzahl der Syndrombits ist, d. h. also, in wie vielen Fällen die gespeicherten Prüfbits mit den beim Auslesen der Datenwörter nochmals erzeug- t>o ten Prüfbits nicht übereinstimmen.
Die Datenkorrektur kann nur erfolgen (freigegeben werden), wenn eine ungerade Anzahl von Syndrombits festgestellt wird.
Nachfolgend zeigt F i g. 1 das Blockschaltbild einer t« herkömmlichen Schaltung zur Korrektur von Einzelfehlern und zur Erkennung von Doppelfehlern in aus einem Speicher ausgelesenen Datenwörtern und F i g. 2 die Codetabelle für einen der Fehlerkorrekturschaltung nach F i g. 1 zugrunde liegendem Code.
In den Blockschaltbildern der Fig. i und 3 (Ausführungsbeispiel der Erfindung) sind mehrere Verbindungsleitungen zwischen zwei Schaltungsteilen nur durch eine Verbindungsleitung mit einem Schrägstrich dargestellt Die tatsächliche Anzahl von Leitungsverbindungen geht aus der Index-Tabelle der Blockschaltbilder hervor. Sind Twei Schaltungsteile nur durch eine einzelne Leitung verbunden, entfällt bei deren Darstellung im Blockschaltbild der Schrägstrich.
In den Blockschaltbildern ist der Aufbau der einzelnen als Rechtecke dargestellten Schaltungsteile unter den sie kennzeichnenden Abkürzungsbuchstaben in Klammern angegeben. Die Bedeutung der Symbole ist neben der zu jedem Blockschaltbild gehörenden Index-Tabelle angegeben. Die Hochzahl neben einer Klammer gibt die Stufenzahl des Schaltungsteils an.
Die folgenden Ausführungen beziehen sich auf die Korrektur von Einzelfehlern und die Erkennung von Doppelfehlern in Informationswörtern, die beispielsweise aus 72 Bits bestehen. 64 davon sind Datenbits, die restlichen 8 Redundanzbits, die die Fehlerkorrektur ermöglichen.
Die in F i g. 1 dargestellte herkömmliche Schaltung zur Korrektur von Einzelfehlern und zur Erkennung von Doppelfehlern in aus einem Speicher ausgelesenen Informationswörtern weist acht Redundanzbit-Generatoren RBG1 auf, die aus je 26 Exklusiv-ODER-Gliedern bestehen, die in fünf Stufen angeordnet sind und aus den 26 ihnen zugeleiteten Datenbus 8 Redundanzbits Gj erzeugen.
Wie die Codetabelle nach Fig.2 -vigt ist die Zuordnung der in F i g. 1 angegebenen Redundanzbits Cj bzw. Gj zu den Datenbits Di dabei in bekannter Weise so vorgenommen worden, daß jedes Datenbit Di nur einer ungeraden Anzahl von Redundanzbits Cj bzw. Gj zugeordnet ist und daß jedem Redundanzbit Cj bzw. Gj möglichst eine gleich große Anzahl von Datenbits zugeordnet ist Die 8 Ausgänge Gj der Redundanzbit-Generatoren RBG1 sind mit einer aus 8 Exklusiv-ODER-Gliedern bestehenden Redundanzbit-Vergleichsschaltung RBV2 verbunden, in der die durch die Redundanzbit-Generatoren RBG \ aus den aus dem Speicher ausgelesenen Datenbits erzeugten Redundanzbits Gj mit den aus dem Speicher entnommenen Redundanzbits Cy verglichen werden.
Die acht erhaltenen Ausgangssignale, die als Syndrome Sj bezeichnet werden, besitzen bei Gleichheit eines ausgelesenen Redundanzbits Cj mit dem aus den ausgelesenen Datenbits abgeleiteten Redundanzbit Gj den Binärwert »Null«, bei Ungleichheit die auf einen Fehler hinweist den Binärwert »Eins«. Unter der Annahme, daß die Wahrscheinlichkeit für das Auftreten einer ungeraden Fehleranzahl größer als 1 vernachlässigbar gering ist läßt sich aus der Anzahl Ns der Syndrome, die den Binärwert »Eins« besitzen, auf die Art des Fehlers schließen. So bedeutet
Ns = O Fehlerfreiheit
Ns = 1 Fehler in einem Redundanzbit Korrektur
der Datenbits ist nicht erforderlich Ns = 2,4,6 gerade Anzahl von Fehlern (Doppelfehler,
Vierfachfehler, Sechsfachfehier ...) in den
Daten- und/oder Reduncianzijiis; der Fehler
ist nicht korrigierbar
Ns = 3 korrigierbarer Einzelfehler unter den
Datenbits
Ns = 5 entweder korrigierbarer Einzelfehler unter den Datenbits oder nicht korrigierbarer Dreifachfehler
Ns - 7 nicht korrigierbarer Mehrfachfehler; Auftreten ist unwahrscheinlich ϊ
Die Fehlerkorrekturschaltung hat normalerweise noch folgende Aufgaben zu erfüllen:
1) Das Vorliegen von Fehlern zu erkennen (Ns > 0). ι ο
2) Im Fall eines Einzelfehlers (Ns = ungerade und gröber als Eins) die Korrektur eines Datenbits vorzunehmen.
3) Bei einem Doppelfehler (Ns = gerade) Alarm für einen Stop der Datenverarbeitungsanlage auszulösen und das ausgelesene Wort nicht zu verändern.
4) Die Paritätsbits für die in gleich große Bitgruppen, die als Bytes bezeichnet werden, unterteilten Bits eines korrigierten oder nicht korrigierbaren Informationswortes zu erzeugen, da die Datenverarbeitungsanlage normalerweise auch die Paritätsbits der Bytes benötigt
Zur Erfüllung der genannten Aufgaben sind die acht Ausgänge Sj der Redundanzbit-Vergleichsschaltung RBV2 mit einer aus 64 UND-Gliedern bestehenden Fehlerbit-Lokalisierungsschaltung FBL 3, mit einer aus Exklusiv-ODER-Gliedern aufgebauten Prüfschaltung UGP4 zur Feststellung, ob die Anzahl Ns der den Binärwert 1 besitzenden Syndrome gerade oder jo ungerade ist, und mit einer aus einem ODER-Glied bestehenden weiteren Prüfschaltung FKF5, die anzeigt, ob Fehler oder keine Fehler vorliegen, verbunden. Der Ausgang der Prüfschaltung FKF5 ist mit einer aus einem UND-Glied mit nachgeschaltetem Inverter bestehenden Fehlerklassifizierschaltung FKS 6 verbunden, an deren zweiten Eingang der erste Ausgang der Prüfschaltung UGP 4 angeschlossen ist. Die Fehlerklassifizierschaltung FKS 6 besitzt zwei Ausgänge, an deren erstem ein Signal erscheint, wenn ein korrigierbarer Fehler vorliegt (ungerade Anzahl der Syndrome mit dem Binärwert »1«), während der zweite Ausgang ein Signal liefert, wenn ein unkorrigierbarer Fehler vorliegt (Von Null verschieden große Anzahl von Syndromen mit dem Binärwert »1«.) Der zweite Ausgang der Prüfschaltung UGP4 ist mit den Steuereingängen der die Fehlerbit-Lokalisierungsschaltung FBL 3 bildenden 64 UND-Glieder verbunden und erlaubt so nur bei korrigierbaren Fehlern eine Fehlerbit-Lokalisation. Die 64 Ausgänge der Fehlerbit-Lokialisierungsschaltung FBL 3 führen an die ersten Eingänge einer aus 63 Exklusiv-ODER-Gliedern bestehenden Datenbit-Modifizierschaltung DBM 7, deren zweiten Eingängen die ausgelesenen 64 Datenbits Di zugeleitet werden. Bei den am Ausgang der Datenbit-Modifizierschaltung DBMl erscheinenden Datenbits Di' handelt es sich im Fehlerfall um die korrigierten Datenbits. Bei Fehlerfreiheit sind die Datenbits Di' mit den ausgelesenen Datenbits Di identisch. An die Datenbit-Modifizierschaltung DMBl ist ein aus Exklusiv-ODER-Gliedern ω aufgebauter Paritätsgenerator BPG 8 angeschlossen, der zu jedem eine Gruppe von 8 Datenbits D/'bfldenden Byte Bk1OZS zugehörige Paritätsbit P* liefert
In F i g. 2 ist die Code-Tabelle für einen die Korrektur von Einzelfehlern und die Erkennung von Doppelfehlern ermöglichenden Code wiedergegeben, der beispielsweise der herkömmlichen Schaltung nach Fig. 1 zugrunde liegen kann.
Wie F i g. 1 zeigt, können die Daten vom Speicher an die Verarbeitungseinheit erst weitergeleitet werden, wenn sie die Fehlererkennungs- und Fehlerkorrektur-Einrichtung durchlaufen haben. Dabei kann die Notwendigkeit und Möglichkeit einer Dehlerkorrektur erst dann entschieden werden, wenn das von der Einrichtung UGP aus den Syndrombits erzeugte Freigabesignal vorliegt.
Die zur Erzeugung des Freigabesignals benötigte Zeit geht also direkt in die effektive Zugriffszeit des Speichers ein.
Der im Anspruch 1 gekennzeichneten Lösung liegt die Aufgabe zugrunde, das zur Datenkorrektur nötige Freigabesignal rascher zu erzeugen.
Das erfindungsgemäße Verfahren, die Paritätsbits aus den unkorrigierten Datenbits zu erzeugen und Paritätsfunktionen, Prüfbitfunktionen sowie Fehlerentscheidungsfunktionen abzuleiten, hat den Vorteil, daß weniger logische Stufen bis zur Erzeugung des Freigabesignals durchlaufen werden und somit ein Zeitvorteil gegenüber der bekannten Einrichtung resultiert Außerdem bietet die Verwendung des angegebenen symmetrischen Codes die Möglichkeit die Fehlererkennungs- und Korrektur-Einrichtung in größerem Maße aus gleichen Bauteilen aufzubauen als es bisher der Fall war.
Die frühzeitige Erzeugung der Paritätsbits aus den unkorrigierten Datenbits hat außerdem den Vorteil, daß die Paritätsbits nicht mehr, wie bisher, aus den korrigierten Datenbits erzeugt werden, sondern bereits zugleich mit den Datenbits am Ausgang der Einrichtung zur Verfügung stehen. Ebenso wie ein Datenbit muß höchstens auch ein Paritätsbit im Fehlerfall modifiziert werden, wodurch jedoch die gleichzeitige Verfügbarkeit von Daten und Paritätsbits nicht beeinträchtigt wird.
Eine vorteilhafte Weiterbildung der Erfindung ist im Anspruch 2 gekennzeichnet und beruht auf der Verwendung der Fehlerentscheidungsfunktionen und der Syndrombits zur Erzeugung von Signalen, die dasjenige Byte anzeigen, in dem ein Einzelfehler korrigiert werden solL Damit findet die Eigenschaft der beiden Fehlerentscheidungsfaktoren, daß sie jeweils einen Fehler in der einen oder anderen Hälfte des Informationswortes anzeigen, eine vorteilhafte Verwendung. Mit nur acht UND-Gliedern kann eines von acht Bytes angezeigt werden, wobei auch hierfür der oben besprochene Zeitvorteil gilt
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnungen näher erläutert Von diesen zeigt
Fig.3 das Blockschaltbild der erfindungsgemäßen Schaltung zur schnelleren Durchführung der Korrektur von Einzelfehlern und der Erkennung von Doppelfehlern,
Fig.4 die Code-Tabelle für den der Schaltung nach F i g. 1 zugrunde liegenden Fehlerkorrektur-Code,
Fig.5 einen Vergleich der Verzögerungen, die bei der herkömmlichen Schaltung und der Schaltung nach der Erfindung bis zur Beendigung der Fehlerkorrektur entstehen,
Fig.6 eine Code-Tabelle eines weiteren, für das Durchführen des erfindungsgemäßen Verfahren geeigneten Codes.
In Fig.4 ist die der Erfindung zugrunde liegende Code-Tabelle dargestellt, aus deren Zeilen die Zuordnung der Datenbits D/zu den einzelnen Redundanzbits Cj bzw. Gj (Fig.3) ersichtlich ist, während aus den Spalten der Code-Tabelle hervorgeht, welche der
Redundanzbits Cj bzw. Gj einem Datenbit Di zugeordnet sind. Die Code-Tabelle ist, wie auch die Code-Tabelle der F i g. 2 so dargestellt worden, daß sie eine innere Symmetrie aufweist, so daß ihre Implementierung einen Aufbau aus zwei gleichen Teilen erlaubt.
Die Tabelle zeigt folgende Gesetzmäßigkeiten:
a) Jedes Datenbi! ist einer ungeraden Anzahl von Redundanzbits Q'bzw. Gjzugeordnet
b) Genau die Hälfte der Datenbits, das sind bei der beispielsweise gewählten Wortlänge von 64 Datenbits und 8 Redundanzbits also 32 Datenbits, sind einer geraden Anzahl von Redundanzbits aus der ersten Hälfte (Q bis G bzw. G\ bis Ga) der Redundanzbits Q bis Ca bzw. G\ bis Gb und einer ungeraden Anzahl von Redundanzbits aus deren zweiter Hälfte (C5 bis Cg bzw. G5 bis G8) zugeordnet
c) Aufgrund der Symmetrieeigenschaften des Codes ist die andere Hälfte der Datenbits einer ungeraden Anzahl von Redundanzbits aus deren erster Hälfte (C\ bis Ca bzw. G\ bis G«) und einer geraden Anzahl von Redundanzbits aus deren zweiter Hälfte (Cs bis Cg bzw. G5 bis G8) zugeordnet
d) Das zusammenfassen mehrerer Datenbits zu einer als Byte bezeichneten Bitgruppe erfolgt in der Weise, daß die zu dem Byte gehörenden Datenbits alle der gleichen Hälfte der Redundanzbits zugeordnet sind, wobei diese Zuordnung für das betreffende Byte eindeutig ist
Die Punkte a) bis d) ermöglichen eine Beschleunigung der Fehlerkorrektur, da nur eine minimale A-.zahl logischer Stufen durchlaufen werden muß.
Codes, die den unter a) bis d) genannten Gesetzmäßigkeiten genügen, besitzen Eigenschaften, die eine
IO
Beschleunigung der Fehlerkorrektur und eine Verbilligung der Fehlerkorrekturschaltung ermöglichen. Diese Eigenschaften sind
A) die Möglichkeit, frühzeitig festzustellen, ob eine ungerade oder gerade Anzahl von Syndromen den Binärwert »1« aufweist,
B) die Möglichkeit, eine schneller arbeitende und billiger zu implementierende Schaltung zur Fehlerbitlokalisierung innerhalb eines Bytes vorzusehen,
C) die Möglichkeit, eine schneller arbeitende und billiger zu implementierende Schaltung zur Lokalisierung eines fehlerhaften Bytes vorzusehen.
Die Eigenschaft A) folgt aus der vorher erwähnten
Gesetzmäßigkeit a). Sie kann zur Aktivierung oder Unterdrückung der Fehlerkorrektur ausgenützt werden. Die Eigenschaften B) und C) folgen aus den Gesetzmäßigkeiten b) bis d) für den verwendeten Code. Sie können zur Erzeugung der korrigierten Daten und der zu ihnen gehörenden Paritätsbasis verwendet werden.
In F i g. 3 ist ein Blockschaltbild einer Fehlerkorrekturschaltung zur Durchführung des Verfahrens gemäß der Erfindung dargestellt
Die Fehlerkorrekturschaltung gemäß der Erfindung weist acht Redundanzbit-Generatoren RBG1 auf, die aus je 32 Exklusiv-ODER-Gliedern bestehen, die in fünf Stufen angeordnet sind, und aus jeweils 32 ihnen zugeleiteten Datenbits, die 8 Redundanzbits Gj neu erzeugen. Wie die Code-Tabelle nach F i g. 4 zeigt, ist jedes Datenbit Di einer ungeraden Anzahl (3 oder 5) von Redundanzbits Cj bzw. Gj zugeordnet, und jedem
Reduzanzbit Qbzw. G/ist eine gleich große Anzahl von Datenbits, nämlich 32, zugeordnet Wie die Code-Tabelle nach Fig.4 zeigt, errechnet
sich das Redundanzbit Gi nach folgender Gleichung:
G1 = (D1 ν D2 ν ... ν D8) ν (D9 ν D10 ν ... D16) ν D33 ν D37 ν D38 ν D39 ν D41 ν D45 ν D46 ν D47 ν D49 ν D53 ν D54 ν ν D55 ν D57 ν D61 ν D62 ν D63
Für das Redundanzbit G2 gilt die folgende Gleichung:
G2 = (D9 ν D10 ν ... ν D16) ν (D25 ν D26 ν ... ν D32) ν D34 ν D37 VD38VD40 ν D42 ν D45 ν D4,, ν D48 ν D50 ν D53 ν D54 ν D56 ν D58 ν D61 ν D62 ν D64.
Das Redundanzbit G8 schließlich errechnet sich entsprechend der letzten Zeile der Codetabelle zu: C8 = DtVD6VD1V D8 ν D12 ν D14 ν D15 ν D16 ν D20 ν D22 ν D23 ν D24
ν D28 ν D30 ν D31 ν D32 ν (D33 ν ... ν D40) ν (D49 ν D50 ν ... ν D56)
Die 8 Ausgänge Gj der Redundanzbit-Generatoren RBGi sind mit einer aus 8 Exklusiv-ODER-Gliedern bestehenden Redundanzbit-Vergleichsschaltung RBV verbunden, in der die durch die Redundanzbit-Generatoren RBG1 aus den aus dem Speicher ausgelesenen Datenbits erzeugten Redundanzbits Gy mit den aus dem Speicher entnommenen Redundanzbits Cj verglichen werden.
Im Fall der Fehlerfreiheit stimmen die gespeicherten Redundanzbits Cj mit den beim Auslesen des Wortes erneut aus dessen Datenbits Di abgeleiteten Redundanzbits Gj fiberein. Die von der Redundanzbit-Vergleichsschaltung RBV2 gelieferten Syndrome 5/besitzen in diesem Fall alle den Binärwert »0«. liegt ein Fehler vor, so besitzen eines oder mehrere der Syndrome den Binärwert »1«. Wie bereits früher erwähnt, besitzt, wenn ein Redundanzbit fehlerhaft ist, nur ein Syndrom den Binärwert »1«. Eine ungerade Anzahl > 1 von Syndromen mit dem Binärwert »1« weist auf ein fehlerhaftes Datenbit hin unter der Annahme, daß keine ungeraden Mehrfachfehler auftreten.
Eine gerade Anzahl von Syndromen mit dem Binärwert 1 liegt vor, wenn ein gerader Mehrfachfehler vorliegt
Eine Korrektur eines Fehlers unter den Datenbits ist daher nur möglich und erforderlich, wenn die Anzahl der Syndrome mit dem Binärwert »1« ungerade und
gleich oder größer als drei ist Ist das der Fall, erfolgt eine Korrektur des fehlerhaften Datenbits in der aus (54 Exklusiv-ODER-Gliedern bestehenden Datenbit-Modifizierschaltung DBM7, deren ersten Eingängen die aus dem Speicher ausgelesenen 64 Datenbits Di zugeführt werden und deren zweite Eingänge mit einer Fehlerbit-Lokalisierungsschaltung FBIL 3 verbunden sind. Die Fehlerbit-Lokalisierungsschaltung FBIL 3 ist eine Schaltung zur Decodierung der jeweiligen Kombination von Syndromen, die aus 64 UND-Gliedern besteht. Sie liefert für jedes fehlerhafte Bit eine Funktion, die die Korrektur des betreffenden Datenbits bewirkt. Ist beispielsweise das Datenbit D 6 fehlerhaft, so liefert die Fehlerbit-Lokalisierungsschaltung FBIL 3 die Funktion
Si · S3
Ss
Sr ■ Sg,
P1 = D, V D2 ν . . . V Dh
P2 = a. V D10V . . . V Dlb
P3 = Dn V D18V . . . V D24
P* = D25 V D26V . . . V D32
Ps = D33 V D34V . . . V D4O
Pe = D41 V D42V . . . V D48
P7 = D49 V D50V . . . V D56
Ph = D51 V D58V . . . V DM
J5
10
wie man der Spalte der Code-Tabelle für das Datenbit D 6 entnimmt. Diese Funktion bewirkt das Invertieren des Datenbits D 6 in der Datenbit-Modifizierschaltung DBM 7. Damit ist die Korrektur eines Einzelfehlers erfolgt. Der Aufbau der Fehlerbit-Lokalisierungsschaltung FBIL 3 ergibt sich aus der Code-Tabelle der F i g. 4. Die Gewinnung der Eingangssignale für diese Schaltung wird später beschrieben.
Die aus dem Speicher ausgelesenen Datenbits Di werden außer den Redundanzbit-Generatoren RBG i und der Datenbit-Modifizierschaltung DBM 7 auch 8 Paritätsbitgeneratoren PBG9 zugeführt, die aus je 7 Exklusiv-ODER-Gliedern bestehen und für die zu einem so Byte gehörenden Datenbits ein Paritätsbit Pk erzeugen. Die Paritätsbits errechnen sich aus den Datenbits D1 bis A4 wie folgt:
Die Ausgänge P\ bis Pe der Paritäts-Generatoren PBG9 sind mit den ersten Eingängen einer aus 8 Exklusiv-ODER-Gliedern bestehenden Paritäts-Modifizierschaltung PBMS verbunden, deren zweite Eingänge an eine Paritätsmodifizier-Steuerschaltung PMS10 angeschlossen sind, die aus 8 UND-Gliedern besteht. War ein Datenbit Dides aus dem Speicher ausgelesenen Wortes fehlerhaft, so wird das entsprechende Paritätsbit Pk in der Paritätsbit-Modifizierschaltung PBM % aufgrund eines von der Fehlerbyte-Lokalisierungsschaltung FBL 14 gelieferten Signals Bk korrigiert, während das fehlerhalfte Datenbit, wie schon erwähnt, in der Datenbit-Modifizierschaltung durch Invertieren korrigiert wird.
Die acht Ausgänge Pk der Paritäts-Generatoren PBG9 sind außer mit der Paritätsbit-Modifizierschaltung PBM8 auch mit einer sogenannten Paritätsbit-Verknüpfungsschaltung PKSH verbunden, die aus 2x3 Exklusiv-ODER-Gliedern aufgebaut ist und an ihren beiden Ausgängen Qi und Q 2 die beiden Funktionen
und
Q1 = P1 « P2v P3* P4.
= P, ν P6v P7 ν P8
erzeugt
Die aus dem Speicher ausgelesenen Redundanzbits Cj werden außer der Redundanzbit-Vergleichsschaltung RBV2 auch einer aus 2 χ 3 Exklusiv-ODER-Gliedern aufgebauten Redundanzbit-Verknüpfungsschaltung RVS i2 zugeleitet, die an ihren beiden Ausgängen Mi und M2die beiden Funktionen
40 und
Ml = C1
Ml = QvC6VC7VC8
erzeugt
Wie man aus der Code-Tabelle nach F i g. 4 ersieht, gilt für die Funktion M1 die Gleichung:
Ml = (D1VD1)V[D2V D2) ν (D3 ν D3) ν ... ν (D8 ν D8) ν (D9 ν D9) ν (D10 ν D10) ν ... ν
(D;,;, ν D32) ν D33 ν D34 ν D35 ν D36 ν (D37 ν D37) ν (D38 ν D38 ν D38) ν ... ν (D64 ν D64 ν D64)
Da die Exklusiv-ODER-Verknüpfung eines Datenbits mit sich selbst den Binärwert »0« ergibt, entfallen in dem obigen Ausdruck die Klammern mit 2 Gliedern. Da die zweimalige Exklusiv-ODER-Verknüpfung eines Datenbits mit sich selbst als Funktionswert den Wert des Datenbits ergibt, darf man anstelle der Klammerausdrücke mit drei gleichen Gliedern nur das betreffende Datenbit schreiben. Die Gleichung für die Funktion Mi
faO vereinfacht sich daher zu
Ml = D33VD3^v ... νDm,
d. h. der Wert der Funktion M1 wird bestimmt durch die Exklusiv-ODER-Verknüpfung der Datenbits D33 bis A4, die die zweite Hälfte der Datenbits des Informationswortes bilden.
Die Funktion M2 ergibt sich, wie die Code-Tabelle nach F i g. 4 zeigt, zu
Ml = D1V D2V D3V DAv (D5 ν D5 ν D5) ν (D6 ν D6 ν D6) ν ... ν
(D32 ν D31 ν D32) ν (D33 ν D33) ν (D3* ν D34) ν (D35 ν D35) ν ... ν (D64 ν D64) *
Wie im Falle der Funktion Ml vereinfacht sich auch die Funktion M2 zu:
M2 = D1V D2V D1V DAv D5 ... D32
d. h., der Wert der Funktion Λ/2 wird bestimmt durch die Exklusiv-ODER-Verknüpfung der Datenbits A bis D]2, die die erste Hälfte der Datenbits des Informationswortes bilden.
Wenn keine Fehler vorliegen, gilt
Qi = M2undQ2 = Mi.
Wenn ein Einzelfehler vorliegt, ist
Qi ΦΜ2 oder Q2* Mi.
Wenn eine gerade Aozahl von Fehlern vorliegt, ist entweder
Qi = Af2und Q2 = M1 oder
Mi.
Daher liefert ein Vergleich der bei einer Exklusiv-ODER Verknüpfung der Funktion Q\ mit M 2 und der Funktion Q2 mit AfI erhaltenen Ergebnisse eine Aussage über die Anzahl der Syndrome mit dem Binärwert »1«.
Ist da« Ergebnis des Vergleichs
(O1VMl)V(Q2VMl) = 0
so zeigt dies das Vorliegen einer geraden Anzahl oder das Fehlen (Fehlerfreiheit) von Syndromen mit dem Binärwert »1« an.
Lautet dagegen das Vergleichsergebnis
= 1,
so zeigt dies das Vorhandensein einer ungeraden Anzahl von Syndromen mit dem Binärwert »1« und damit einen Fehler an.
Setzt man
Q1VMl = H1 und (Q2 ν M1) = H2,
so läßt sich das beim Vorliegen von einem Fehler erhaltene Vergleichsergebnis kurzer schreiben als
(H1 ν H2) = I.
Zur Durchführung des Vergleichs sind die Ausgänge Qi und Q2 der Paritäts-Verknüpfungsschaltung PVSIl sowie die Ausgänge Mi und M2 der Redundanz-Verknüpfungsschaltung ÄVS12 mit einer Vergleichsschaltung VGS13 verbunden, die aus 2 Exklusiv-ODER-Gliedern besteht Die beiden Ausgänge H\ und H2 der Vergleichsschaltung VGS13 sind mit einer aus einem Exklusiv-ODER-Glied bestehenden Prüfschaltung UGPA verbunden, die auf das Vorliegen einer ungeraden oder geraden (einschließlich Null) Anzahl von Syndromen mit dem Binärwert »1« prüft Bei einer ungeraden Anzahl liefert die Schaltung UGP4 ein hohes, bei einer geraden Anzahl von Syndromen mit dem Binärwert »1« ein niedriges Potential.
Wie aus der F i g. 5 hervorgeht, sind bei der Schaltung gemäß der Erfindung bis zum Erhalten der Anzeige, ob eine ungerade oder gerade Anzahl von Syndromen mit dem Binärwert 1 vorliegt, zwei logische Stufen weniger zu durchlaufen als bei der Schaltung nach F i g. 1.
Die beiden Ausgänge H\ und H2 der Vergleichsschaltung VGS13 sind auch nut einer Fehlerbyte-Lokalisierungsschaltung FBL14 verbunden, die aus 8 UND-Gliedern besteht, an die auch die 8 Ausgänge S1 bis S8 der Redundanzbit-Vergleichsschaltung RBV2 angeschlossen sind. Bei Vorliegen eines Fehlers erscheint an einem der 8 Ausgänge B\ bis Bn ein Signal, das das Byte kennzeichnet, das das fehlerhafte Bit aufweist
Bei der Besprechung der Code-Tabelle nach F i g. 4 wurde bereits erwähnt, daß die Bits eines Bytes alle die gleiche, für dieses Byte charakteristische Zuordnung zu de.' einen Hälfte der Redundanzbits aufweisen. Da bei Vorliegen eines Einzelfehlers eine der beiden Funktionen H\ oder H2 den Binärwert »1« besitzt and damit angibt, in welcher Hälfte des Informationswertes der
ίο Fehler auftrat (wobei die Datenbits A bis Dn und die Redundanzbits C5 bis Q als zur gleichen Hälfte gehörend angesehen werden), ergibt eine einfache UND-Verknüpfung der Funktionen Wi bzw. H2 mit der für ein Byte charakteristischen Zuordnung zu der einen
Ij Hälfte der Redundanzbits die Lokalisierung des fehlerhaften Bytes.
Daher sind die Ausgänge Sy der Redundanzbit-Vergleichsschaltung und die Ausgänge Hx und H2 der Vergleichsschaltung VGSi? mit der aus 8 UND-Gliedem bestehenden Fehlerbyte-Lokalisierungsschaltung FBL14 verbunden. An deren 8 Ausgängen Bt erscheint jeweils ein das fehlerhafte Byte kennzeichnendes Signal. Befindet sich der Fehler beispielsweise im Byte 1, d. h. unter den Bits D1 bis D 8, so erscheint am Ausgang B1 der Fehler-Lokalisierungsschaltung das Singal
B i = (HxS, · S4) = 1.
Erscheint am Ausgang B 4 das Signal
B4 =
S2S3 = 1,
so befindet sich der Fehler unter den das Byte 4 bildenden Datenbits D2S bis Aa-
Da die Paritätsbits Pk für die Bytes durch die Paritätsbit-Generatoren PBGg aus den unkorrigierten
j5 Datenbits früher erzeugt werden können als die Syndrome Sy durch die Redundanzbit-Vergleichsschaltung RBV2, ermöglicht die Anordnung nach der Erfindung aufgrund der Verwendung der schon beschriebenen Paritätsbit-Modifizierschaltung PBMS die Erzeugung der korrigierten Paritätsbits
(PL= Pk* Bk)
gleichzeitig mit den korrigierten Datenbits Di. Dies ist ein Vorteil gegenüber der Schaltung nach Fig. 1. Bei dieser Schaltung können die Paritätsbits erst aus den korrigierten Datenbits erzeugt werden, was auch aus der F i g. 5 zu ersehen ist, in der die bis zum Erhalten der korrig'erten Daten D', und der zugehörigen Paritätsbits Pk zu durchlaufenden logischen Stufen der Schaltungen nach den F i g. 1 bis 3 einander gegenübergestellt sind. Links in der Figur sind links von den Pfeilen die Eingangssignale, rechts davon die nach Durchlaufen der logischen Stufen erhaltenen Ausgangssignale angegeben.
S3 Die durch die Erfindung erreichte gleichzeitige Verfügbarkeit der korrigierten Daten- und Paritätsbits hat außer der Beschleunigung der Fehlerkorrektur noch den weiteren Vorteil, daß die zeitliche Steuerung eines Registers in der Verarbeitungseinheit, dem die korri-
bo gierten Datenbits und die Paritätsbits zugeführt werden müssen, vereinfacht wird.
Die Ausgänge Si bis Sg der Redundanzbit-Vergleichsschaltung RBV 2 sind auch mit einer aus einem ODER-Glied mit 8 Eingängen bestehenden Schaltung FKF5 verbunden, die auf das Vorliegen von Fehlern oder Fehlerfreiheit prüft Der Ausgang der Schaltung FKF5, der beim Vorliegen von Fehlern hohes und bei Fehlerfreiheit niedriges Potential aufweist, ist mit dem
ersten Eingang einer aus einem UND-Glied mit 2 Eingängen bestehenden Fehlerklassifizierschaltung FKS6 verbunden, die hei Vorliegen einer ungeraden Anzahl von Syndromen mit dem Binärwert »1« einen korrigierbaren Fehler und bei Vorliegen einer geraden Anzahl von Syndromen mit dem Binärwert »i« einen unkorrigierbaren Fehler anzeigt Die Ausgänge Si bis Sg der Redundanzbit-Verknüpfungsschaltung RBV2 sind ferner mit einer Lokalisierschaltung BIBL15 zur Ermittlung des fehlerhaften Bits innerhalb eines Bytes verbunden.
Die Lokalisierungsschaltung BIBL15 weist 16 Ausgänge X\ bis Xs und Y\ vis Ve auf, an denen die folgenden Signale erscheinen:
X\
Xi
X3
S5
Sl
S5
Sj
Sj
S7
Xs = Ss ■
X6 = S5
Xt =Ss
Xs = Ss-
Ss ■ Sj
SsSj
S6 -Sj S6-S7
· Sb Sa Ss
Sl
Ss Ss Ss
Y\ = Si - Si · S3 ■ Yi = Si * 1S2 * & ·
Ki = S, - S2 Y6 = Si-S2
S3
■ si-
= S\
S3
Sa Sa
Die Indizes der Funktionen Xt, und Yb geben das fehlerhafte Bit innerhalb eines Bytes an. Die Funktionen Xb beziehen sich auf die linke Hälfte A bis D32 der Datenbits und die Funktionen Y auf die rechte Hälfte
Das die Korrektur des Fehlers in der Datenbit-Modifizierschaltung DBMj bewirkende Steuersignal A,- wird durch eine UND-Verknüpfung der Funktionen Xb bzw. Yb mit der Funktion Bk erhalten. Wie vorher erwähnt, kennzeichnet der Index der Funktionen X bzw. Yja das fehlerhafte Bit innerhalb der Bytes der linken bzw. rechten Hälfte der Datenbits, während der Index der Funktionen Bk da fehlerhafte Byte angibt Es gilt somit:
Bl
Bl
Xl ergibt Al Xl ergibt Al X3 ergibt A3
Bl X8 ergibt AS
Bl Xl ergibt A9
B 2 X1 ergibt AlO
Bl X3 ergibt AU
Bl XS ergibt A16
BA Xl ergibt A15 BA Xl ergibt A16 BA X 3 ergibt All
BA- XS ergibt /4 32
BS-Yl ergibt A33
BS · Y2 ergibt A34
BS -73 ergibt A 35
BS - y8 ergibt /140
B6- Yl ergibt A 41
B6 · Y2 ergibt A42
B6 · Y3 ergibt Λ43
B6 YS ergibt A4S
BS Yl ergibt Λ57
BS Yl ergibt ASS
BS Y3 ergib! AS9
BS YS ergibt AbA
Daher sind die Ausgange X\ bis Ai und Y\ bis V8 der das fehlerhafte Bit innerhalb eines Bytes feststellenden Lokalisierungsschaltung BIBL15 und die Ausgänge der Fehlerbyte-Lokalisierungsschaltung FBL14 mit der aus 64 UND-Gliedern bestehenden Fehlerbit-Lokalisierungsschaltung FBIL3 verbunden, an die auch noch der Ausgang der auf das Vorliegen einer ungeraden oder geraden Anzahl von Syndromen prüfenden Schaltung UGPA angeschlossen ist
Erscheint an einem der 64 Ausgänge A, der Fehlerbit-Lokalisierungsschaltung ein Signal A, mit dem Binärwert »1«, so wird das Datenbit D/ in der Datenbit-Modifizierschaltung DBM7 durch Invertieren zu Di' korrigiert Gleichzeitig wird in der Paritätsbit-Modiflzierschaltung PBM% das aus den unkorrigierten Datenbits des den Fehler enthaltenden Bytes gewonnene Paritätsbit Pk zud P*' korrigiert Damit ist die Fehlerkorrektur beendet
Die Schaltungsanordnung zur Durchführung des Verfahrens nach der Erfindung ist nicht nur in der Lage, Einzelfehier in solchen Informationsworten zu korrigieren, die aus 64 Datenbits und 8 Redundanzbits bestehen. Mit ;hr lassen sich beispielsweise auch Einzelfehler in Informationsworten korrigieren, die aus 32 Datenbits und 8 Redundanzbits bestehen und deren Code-Tabelle die gleichen Gesetzmäßigkeiten aufweist wie die für die aus 64 Datenbits und 8 Redundanzbits bestehenden Informationswerte. Eine solche Code-Tabelle läßt sich beispielsweise aus der in F i g. 4 dargestellten gewinnen,
indem man die zu den Bytes 2, 3, 6 und 7 gehörenden Tabellenteile zu einer neuen Code-Tabelle zusammenfaßt Ebenso läßt sich das Verfahren nach der Erfindung auch zur Korrektur von Einzelfehlern in Datenworten verwenden, die aus 16 Datenbits und 6 Redundanzbits
t>5 bestehen, also in einem 22/16-Code vorliegen, dessen Code-Tabelle in F i g. 6 wiedergegeben ist.
i 4 HIaIt Zeichnungen

Claims (1)

Patentansprüche:
1. Verfahren zur Erkennung and Korrektur von Einzelfehlern und zur Erkennung von unkorrigierbaren Mehrfachfehlern in durch Prüfbits ergänzten Datenwörtern, aus deren Datenbytes zur Weiterleitung Paritätsbits und aus denen beim Empfang die Prüfbits nochmals erzeugt und mit den beigefügten Prüfbits zur Erzeugung von Syndrombits in einer Exclusiv-ODER-Funktion verknüpft (verglichen) werden,
wobei jedes Datenbit zur Erzeugung einer ungeraden Anzahl von Prüfbits verwendet wird und Ifar jedes Prüfbit die Anzahl der zu seiner Erzeugung verwendeten Datenbits gleich ist und
wobei eine gerade Anzahl von Syndrombits ungleich NuU einen unkorrigierbaren Fehler und eine ungerade Anzahl einen korrigierbaren Fehler anzeigt, was zur Freigabe der Datenkorrekturen mit Hilfe der Syndrombits verwendet wird,
dadurch gekennzeichnet, daß ein symmetrischer Code verwendet wird, in dem genau die eine Hälfte der Datenbits des Datenwortes (Byte 1 bis 4, F i g. 4) einer geraden Anzahl von Prüfbits aus der ersten Hälfte (CX-CA) der Prüfbits und einer ungeraden Anzahl von Prüfbits aus der zweiten Hälfte (C5—C8) zugeordnet sind und in dem die andere Hälfte der Datenbits einer ungeraden Anzahl von Prüfbits aus der ersten Hälfte und einer geraden so Anzahl aus der zweiten Hälfte zugeordnet sind,
daß die Paritätsbits (Pk) aus den unkorrigienen Datenbits erzeugt werden,
daß aus jeder Hälfte der Paritätsbits (PX-PA und PS— P8) durch Exclusiv-ODER-Verknüpfung zwei r> Paritätsfunktionen (Q X, Q 2) erzeugt werden,
daß durch Exclusiv-ODER-Verknüpfung aus jeder Hälfte der beigefügten Prüfbits fQJ eine Prüfbitfimktion (M 1, M 2) erzeugt wird und
daß zwei Fehlerentscheidungsfunktioncn (HX, H2) erzeugt werden, derart, daß
DE19712131848 1971-06-26 1971-06-26 Verfahren und Vorrichtung zur Fehlererkennung und -korrektur Expired DE2131848C3 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19712131848 DE2131848C3 (de) 1971-06-26 1971-06-26 Verfahren und Vorrichtung zur Fehlererkennung und -korrektur
JP5569672A JPS5443857B1 (de) 1971-06-26 1972-06-06
GB2771072A GB1363586A (en) 1971-06-26 1972-06-14 Error detection and correction circuits
FR7222687A FR2144293A5 (de) 1971-06-26 1972-06-20

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19712131848 DE2131848C3 (de) 1971-06-26 1971-06-26 Verfahren und Vorrichtung zur Fehlererkennung und -korrektur

Publications (3)

Publication Number Publication Date
DE2131848A1 DE2131848A1 (de) 1973-01-11
DE2131848B2 DE2131848B2 (de) 1978-11-16
DE2131848C3 true DE2131848C3 (de) 1979-07-26

Family

ID=5811893

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19712131848 Expired DE2131848C3 (de) 1971-06-26 1971-06-26 Verfahren und Vorrichtung zur Fehlererkennung und -korrektur

Country Status (4)

Country Link
JP (1) JPS5443857B1 (de)
DE (1) DE2131848C3 (de)
FR (1) FR2144293A5 (de)
GB (1) GB1363586A (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573728A (en) * 1969-01-09 1971-04-06 Ibm Memory with error correction for partial store operation

Also Published As

Publication number Publication date
DE2131848B2 (de) 1978-11-16
DE2131848A1 (de) 1973-01-11
GB1363586A (en) 1974-08-14
FR2144293A5 (de) 1973-02-09
JPS5443857B1 (de) 1979-12-22

Similar Documents

Publication Publication Date Title
DE2260850C2 (de) Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE3125048C2 (de)
DE2132565C3 (de) Umsetzer
DE3111447C2 (de)
DE2030760A1 (de) Speicherschaltung
DE2942998A1 (de) Fehler-korrektur- und -erkennungs- anordnung
DE2456709C2 (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DE3209679A1 (de) Halbleiter-speichereinrichtung
DE19829234A1 (de) Prüfverfahren für einen Halbleiter-Datenspeicher und Halbleiter-Datenspeicher
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
EP1246033A1 (de) Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen
DE2450468A1 (de) Fehlerkorrekturanordnung fuer einen speicher
DE1959231A1 (de) Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
DE2320354C2 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen
DE102006007326A1 (de) Fehlerkorrekturschaltung und -Verfahren
EP0615211A1 (de) Verfahren zum Speichern sicherheitsrelevanter Daten
DE1910582B2 (de) Schaltungsanordnung zur Steuerung eines digitalen Speichersystems
DE2538802C2 (de) Schaltung zum Nachweis von Fehlern unter den aus Informations- und Prüfbits erzeugten, einen fehlerhaften Speicherort angebenden Bits
DE69924012T2 (de) Verfahren und vorrichtung für speicherdata-fehlerdetektion und speichermodul-fehlerdetektion
DE2655653A1 (de) Verfahren und anordnung zur erkennung der richtigen zuordnung von adresse und speicherwort in einem datenspeicher
DE2131848C3 (de) Verfahren und Vorrichtung zur Fehlererkennung und -korrektur
DE69629823T2 (de) Verfahren und gerät zur erkennung doppelter eintragungen in einer nachschlagtabelle
DE4300025C1 (de) Verfahren und Einrichtung zur fehlercodierenden Datenübertragung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee