DE2724409C2 - Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern - Google Patents

Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern

Info

Publication number
DE2724409C2
DE2724409C2 DE2724409A DE2724409A DE2724409C2 DE 2724409 C2 DE2724409 C2 DE 2724409C2 DE 2724409 A DE2724409 A DE 2724409A DE 2724409 A DE2724409 A DE 2724409A DE 2724409 C2 DE2724409 C2 DE 2724409C2
Authority
DE
Germany
Prior art keywords
error
bits
syndrome
groups
errors
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
DE2724409A
Other languages
English (en)
Other versions
DE2724409A1 (de
Inventor
Majid San Diego Calif. Arbab
Albert Sik-Keung Lui
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.)
NCR Voyix Corp
Original Assignee
NCR Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NCR Corp filed Critical NCR Corp
Publication of DE2724409A1 publication Critical patent/DE2724409A1/de
Application granted granted Critical
Publication of DE2724409C2 publication Critical patent/DE2724409C2/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/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error

Description

Die Erfindung betrifft tine Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern gemäß dem Oberbegriff des Patentanspruchs 1.
Ein Aufsatz von M. Y. Hsiao ir IBM Journal of Research and Development, Juli 1970, Seiten 395 bis 401 offenbart verschiedenartig strukturierte Η-Matrizen mit unterschiedlichem Aufbau entsprechend Codes mit Einfachfehler-Korrekturmöglichkeit und Doppeifehler-FeslsteUmöglichkeit (SEC-DED-Code) und insbesondere eine gattungsgemäße Schaltungsanordnung, wobei für die Anzahl der Eingänge in den Spalten allgemeine Regeln angegeben werden und Zeilen mit gemeinsamen Eingängen sich aus Optimierungsberechnungen ergeben. Bei dem besonders erläuterten Code können unter bestimmten Umständen Dreifachfehler falsch korrigiert werden und Vierfachfehler werden nicht immer festgestellt.
In einem Datenverarbeitungssystem können die Bits eines übertragenen Wortes in Gruppen angeordnet sein, beispielsweise dann, wenn die Wörter aus einem Speicher abgeleitet werden, der aus mehreren Modulen besteht, wobei jeder Modul einen Kanal für die Bits einer entsprechenden Gruppe bildet. Bei einem derartigen Datenverarbeitungssystem ist es wahrscheinlich, daß bei Auftreten mehrerer Fehler in einem Wort diese Fehler innerhalb einer einzigen Gruppe auftreten werden, was beispielsweise von einem fehlerhaften Speichermodul herrührt.
Ein Aufsatz von D. C. Bossen im IBM Journal of Research and Development, Juli 1970, Seiten 402 bis 408 zeigt Codes auf, deren Η-Matrizen aus einzelnen Submatrizen entsprechend der Breite von Speichermodulen zusammengesetzt sind und bei denen die den Prüfbits entsprechende Matrix in zwei Submatrizen unterteilt ist. Insbesondere ist die Η-Matrix für einen (80, 64)-Code zur Korrektur von acht benachbarten Fehlern erläutert. Der Erfindung liegt die Aufgabe zu Grunde eine Schaltungsanordnung zum Feststellen und Korrigieren von Fehlern der eingangs genannten Art anzugeben, bei der Einfachfehler korrigiert und beliebige Doppelfehler festgestellt werden können und die Ferner in der Lage ist Vielfachfehler in einer Gruppe von in einem übertragenen Wort enthaltenen Bits festzustellen und die einfach und kostengünstig im Aufbau ist.
Diese Aufgabe wird gelöst durch eine Schaltungsanordnung mit den Merkmalen des Kennzeichens des Patentanspruchs 1.
Im nachfolgenden wird die Erfindung anhand eines Beispiels im einzelnen beschrieben, wobei auf die beiliegenden Zeichnungen Bezug genommen wird. In diesen zeigt
Fig. 1 ein Blockschaltbild einer Fehlerprüf- und Korrekturschaltung;
!£] Fig. 2 ein Blockschaltbild eines Prüfbitgenertitors, der in der Anordnung gemäß Fig. 1 enthalten ist;
j:i 60 Fig. 3 ein Blockschaltbild eines Syndrombitgenerators, der in dem System gemäß Fig. 1 enthalten sein kann; ι;,: F i g. 4 ein Blockschaltbild einer Fehlerdetektorschaltung, die in dem System nach F i g. 1 enthalten sein kann
:| und
;■; Fig. 5 ein Blockschaltbild einer Fehlerlokalisierungsschaltung, die in dem System gemäß Fig. 1 enthalten
:;i; sein kann.
S-; 65 In Fig. 1 ist eine Fehlerprüf- und Korrekturschaltung gezeigt, die in dem Datenverarbeitungssystem gemäß f-, der Erfindung angeordnet ist und die eine Einzelfehlerkorrektur, eine Doppelfehlererkennung und eine Grup-
fv penfehlererkennung in einem Codewort ermöglicht, das durch einen modularen Übertragungskanal übertragen
In einer Übertragungsanordnung wird ein Codewort erzeugt, das aus Gruppen von Bits gebildet wird. Sie entiält ein Datenregister 10 und einen Prüfbitgenerator 12. Das Datenrpgister 10 der hier beschnebenen bevorzugen Ausführungsform liefert 32 Datenbits B0-B3I. Der Prüfbitgenerator 12 liefert 8 Prüfbits C0-C1, die gemäß
ler nachfolgenden Tabelle I, in der eine Η-Matrix gezeigt ist, berechnet werden:
C X
X
X
X
X
X
X
X
C
C
C
XXX
X XX
XX X
XXX
O
OO
X XX
XX X
XX X
XX X
24 25 26 27 XX X
XXX
XX X
XXX
O 20 21 22 23 X XX
X XX
X XX
XX X
16 17 18 19 X XX
XXX
XX X
XX X
12 13 14 15 X XX
X XX
XX X
XX X
8 9 10 Π X XX
X XX
X XX
XX X
X XX
XXX
XX X
XX X
<■*}
ΓΜ
O
c«? co" co* co"' c^ co' co° co
Gruppe Bit
Die Datenbits und die Prüfbits werden kombiniert, um ein Codewort zu bilden, das in der bevorzugten Ausführungsform in Gruppen zu vier Bits angeordnet sind, wie aus der Tabelle I hervorgeht. Die Gruppen G0 bis G1 sind Datenbitg'.uppen und die Gruppen Gj bis G< > sind Prüfbitgruppen.
Ein modularer Speicherkanal 11 ist zur Übertragung des Codeworts in Gruppen von Bits vorgesehen. Der modulare Speicherkanal 11 kann speicherorganisiert sein in Form von vier Bits pro integriertem modularen Schaltkreis (integrated circuit module package). Der modulare Speicherkanal 11 überträgt jede der Gruppen aus vier «its parallel zu einem Empfangsterminal. Bei der Übertragung der Bits können Fehler in dem Codewort entstehen. Beispielsweise kann die Gruppe Go des Codewortes, die in der Η-Matrix der Tabelle I gezeigt ist, feh- |
lerbehaftet sein, so daß die zu dem Empfänger übertragenen Datenbits B0BxB2By stets auf dem logischen ί
Zustand »0« verharren, da ein Modul des modularen Speichers 11 fehlerhaft arbeitet. Wenn angenommen wird, io ! daß alle anderen Module in entsprechender Weise arbeiten, zeigt die Tabelle II die Zahl der Fehler in dem empfangenen Codewort für verschiedene Eingangskombinationen der Gruppe C0 am Sender.
Tabelle II
15
Gn Eingang (A0 B\ Bi By) Bitfehlerzahl Diagnose
am Sender am Empfänger
kein Fehler 20
korrigierbarer Fehler
korrigierbarer Fehler
korrigierbarer Fehler 2s
korrigierbarer Fehler
nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler
nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler 40
nichtkorrigierbarer Fehler nichtkorrigierbarer Fehler
Es wird anerkannt, daß in Abhängigkeit von der ursprünglich übertragenen Information und der Fehlerart des Moduls kein Fehler, ein Einzelbitfehler oder eine Vielzahl von Bitfehlern in der gleichen Gruppe eines Codewortes erscheinen können. Die vorliegende Fehlerprüfschaltung ist in der Lage zu differenzieren zwischen brauchbarer und unbrauchbarer Information.
Die Η-Matrix in der Tabelle I ist in zehn h-Submatrizen unterteilt, die mit den Gruppenverbindungen des modularen Speichers übereinstimmen. Die Zuordnung der Eingänge von x in der h-Submatrix ist wesentlich. Zum Zwecke der Gruppenfehlererkennung können die folgenden Regeln angewendet werden:
1. Jede Spalte in der Η-Matrix ist unterschiedlich.
2. Die h-Submatrizen korrespondieren mit den Datenbitgruppen (G0 bis G7) und besitzen nur drei Eingänge pro Spalte.
3. Die h-Submatrizen korrespondieren mit den Prüfbitgruppen (Gg bis G9) und haben nur einen Eingang pro Spalte.
4. In jeder Submatrix korrespondieren die Datenbitgruppen, z. B. C0 bis G1, und es ist ein gemeinsamer Zeileneingang in den ersten vier Zeilen vorhanden und es ist ein anderer gemeinsamer Zeileneingang für die letzten vier Zeilen vorhanden.
Ein Code mit einer Η-Matrix, der den oben genannten Vorschriften genügt, weist eine gesamte Hamming-Distanz von vier auf und ist deshalb in der Lage, Einzelfehler zu korrigieren und zufällige Doppelfehler sowie zusätzliche Gruppenfehler zu erkennen. An dem Empfänger werden Syndrombits erzeugt, was im nachfolgenden im einzelnen beschrieben wird. Die vorangehenden Vorschriften stellen sicher, daß durch eine Diagnose der empfangenen Daten Syndromuntergruppen erzeugt werden, durch die eine Unterscheidung von brauchbaren und unbrauchbaren Daten möglich ist. An dem Empfänger wird die Diagnose anhand des nachfolgenden Algorithmus durchgeführt:
0000 0000 0
0001 0000 1
0010 0000 1
0100 0000 1
1000 0000 1
0011 0000 2
0110 0000 2
0101 0000 2
1100 0000 2
1010 0000 2
1001 0000 2
Olli 0000 3
1011 0000 3
1101 0000 3
1110 0000 3
1111 0000 4
1. Wenn alle Syndrombits »unwahr« sind, liegt kein Fehler vor.
2. Wenn ein Syndrombit »wahr« ist, liegt ein korrigierbarer Fehler in einer gegenwärtigen Prüfbitgruppe vor.
3. Wenn eine geradzahlige Anzahl von Syndrombits »wahr« sind, liegt ein unkorrigierbarer Fehler vor. Der unkorrigierbare Fehler kann entweder ein zufälliger Doppelfehler oder ein Doppelfehler in einer Gruppe
5 oder ein Vierfachfehler in einer Gruppe sein.
4. Wenn drei Syndrombits »wahr« sind und alle diese an einer der Stellen S0StS2Sj oder S4S^S6S1 angeordnet sind, so Mögt ein unkorrigierbarer Dreifachfehler in der Prüfbitgruppe vor.
5. Wenn drei Syndrombits »wahr« sind und nicht alle in den Positionen S0 S{ S2 S3 oder S4 Ss S(, Sy liegen, so liegt ein einfacher korrigierbarer Fehler in der Datenbitgruppe vor.
.; 10 6. Wenn fünf Syndrombits »wahr« sind, so liegt ein unkorrigierbarer Dreifachfehler in derOatenbitgruppe ■;'! vor.
Die Prüfbits (Co bis C7) werden durch die ungeradzahlige Parität von jenen Datenbits bestimmt, die einen Ein-
i< gang von »x« in der zugeordneten Zeile der Η-Matrix aufweisen und die durch ein EXKLUSIV-ODER-Glied
\] 15 (EXCLUSIVE OR circuitry) erzeugt werden. Beispielsweise ist das Prüfbit C0 ein Ergebnis der ungeradzahligen
ι: Parität der Datenbits S0. ßi. ^2. B}, B4, B5, B6, B1, Bn, ß,6, B20 und B24 (die ungeradzahlige Parität ist das binäre
ί1 Summenbit). Es ist somit ersichtlich, daß acht IPrüfbits (C0 bis C7) gemäß den logischen Gleichungen der
'i- Tabelle III erzeugt werden können, wobei die Bezeichnung Θ jeweils EXKLüSiV-ODER (EXCLuSiVE OR)
Λ' bedeutet.
% Tabelle III
■;j C0 = O0 ® 6, θ 62 θ 63 Θ b4 Θ 65 Φ O6 θ 67 Φ bn θ O16 θ b20 © b24
I 25 C, = b0 Φ b4 Φ O8 Θ b9 © ό,0 θ bu © b{2 Φ 6,3 © b[4 © 6,5 Φ 62ι ©
2 ~* O( ty O8 ty Dig tu O]7 ty Oj8 Φ D\q ty 020 ty £>2i tu 022 ty D2} ty 025 ty "29
ji Cj = O2 Φ O5 © O9 θ 0|j © O24 © O2S © *26 © *27 © *2g © O29 © O30 © ^31
V C4 = O4 Φ O5 Φ O6 Φ O7 Φ 0,0 Φ 014 © Op © *30 © *2Ι © °22 © O23 Φ O26
30
,;·; C5 = O3 © O6 © On Φ 0,5 Φ Ο|6 φ O)7 Φ O18 Φ 0ΐ9 Φ O18 © O29 Φ O30 Φ O3)
Cfi "~ Oo U? Oi ο? O2 ty O3 ο? 08 α? 09 ty 0]ο to Ou νρ /)|8 ty 02^ ty Oj7 y? o3q
C7 ~ O7 ty O)2 ty 0|3 y? Oj4 tp Ο15 to Ο19 ty O23 ty Ο24 ty O25 ty O2^ to O27 ty o3j
:' 35
^ Das Cüdewort ist während der Übertragung Gegenstand von auftretenden Fehlern. Die Syndrombits (SIj bis
' · S1) werden in dem Syndrombitgenerator 13 erzeugt, der sich im Empfänger befindet, wobei diese von dem empfangenen Codewort unter Bezugnahme auf die Bedingungen der Η-Matrix gemäß Tabelle I in ähnlicher Weise abgeleitet werden. Die Syndrombits So bis S1 werden durch die ungeradzahlige Parität jener Datenbits und Prüf-40 bits erzeugt, die einen Eingang »x« in der zugeordneten Zeile der Η-Matrix aufweisen. Die logische GLichung für die Erzeugung der Syndrombits von dem empfangenen Codewort ist in Tabelle IV angegeben, wobei das Zeichen © jeweils eine EXKLUSIV-ODER-(EXCLUSIVe OR) Bedingung bedeutet.
' Tabelle IV
;'. Sb = O0 © ö, Φ O2 Φ O3 Φ O4 Φ 65 Φ O6 © i>7 © 6,2 © *ι6 © O20 Φ O24 Φ ς,
;' S1 = O0 Φ O4 © 68 © O9 Φ 6,0 Φ 6,ι Φ 6,2 Φ 6,3 © 6,4 Φ 6,5 © 62, Φ 628 Φ c,
■"■ S2 = 6, Φ 68 © 6,6 © 6,7 © 6]g Φ 6|9 Φ 62ο © 621 © 622 Φ 623 Φ O25 Φ 629 Φ C2
;\ S3 = 62 Φ 65 Φ 69 © 6,3 Φ 624 Φ 625 Φ O26 Φ 627 © ο2ε © *29 © 6 © 63, © C3
'." Ο4 ~ D^ Φ Ο$ *& D(, si? Df & D\Q Ö\4 su Dtf Ö3 O20 w £?2i tu O22 ^ ^23 ^ ^26 ^ ^4
iff S5 = bi Θ b6 θ ön θ bis © ^16 θ bxl Θ bx% θ ^19 θ ^28 θ b29 θ ^30 ® fei θ C5
M 55 5O = ^o © fe © fe © fe © b% θ bs θ bw Φ An © /»is © bj2 © hi © feo © C6
rift O7 — O7 ty Ο12 ty ο,3 tti ο,4 ty 0,5 w Oj9 to 023 ty O24 tt» O25 fcö O26 ty on ty o3, ty c7
%
|| Die Vorrichtung zum Empfang des Codewortes von dem modularen Speicherkanal 11 enthält einen Syndrom-
d 60 bitgenerator 13, eine Fehlererkennungsschaltung 14 und eine Fehlerlokalisierungsschaltung 15. Die Vorrich-
6* tung zum Empfang des Codewortes enthält ebenfalls ein Datenregister 17 zur Registrierung der empfangenen
I Daten.
I Das empfangene Codewort in der bevorzugter Ausführungsform weist 32 Datenbits und 8 Prüfbits auf und
rg wird an den Syndrombiigeneraior 13 und an das Datenregister 17 angelegt.
#' 65 Der Syndrombitgenerator liefert Syndrom'oits zur Verwendung in der Fehlererkennungsschaltung 14 und der
p Fehlerlokalisierungsschaltung 15, so daß dort die Funktionen für die Einfachfehlerkorrektur (SEC), die Dop-
'i pelfehlererkennung (DED) und die Gruppenfehlererkennung (GED) gebildet werden können.
U Der Fehlererkennungskreis 14 enthält entsprechende Mittel zur Erzeugung von Fehlersignalen, die Fehler-
markierungen 18 enthalten. Diese zeigen die Erkennung von einem Einfachfehler oder zufälligen Doppelfehler oder einor Vielzahl von Fehlern in irgendeiner der Bitgruppen in dem Codewort an.
Die Fehlerlokalisierungsschaltung 15 ist mit dem Ausgang des Syndrombitgenerators 13 verbunden und empfangt die Syndrombits. Die Fehlerlokalisierungsschaltung 15 is*, mit dem Ausgang der Fehlererkennungsschaltung 14 verbunden und empfangt die Fehlerkennzeichnungssignale von dem Fehlerkennzeichnungsausgang 18 der Fehlerdetektorschaltung 14. Die Fehlerlokalisierungsschaltung 15 ist mit dem Datenregister 17 verbunden und ist in der Lage, einen Einzelfehler in dem Codewort zu korrigieren. Wenn die Fehlererkennungsschaltung 14 ein Fehlerkennzeichen liefert, so wird damit angezeigt, daß ein zufälliger Doppelfehler oder eine Vielzahl von Fehlern in einer der Gruppen vorhanden ist, so daß das gesamte Codewort nicht berücksichtigt oder aus dem Datenregister 17 eliminiert wird und ein anderes Codewort kann in das Datenregister 17 eingegeben werden.
Der Prüfbitgenerator 12 ist in F i g. 2 im einzelnen dargestellt. In der bevorzugten hier beschriebenen Ausfiihrungsform sind die acht Prüfbits in Gruppen von vier Bits unterteilt, die jeweils in Tabelle I angegeben sind. Die 32 Datenbits B0 bis S3, werden an die EXKLUSIV-ODER-Glieder 20 bis 27 angelegt, um die Prüfbits C0 bis C7 gemäß dem in Tabelle III gezeigten Algorithmus zu erzeugen, der auf der Η-Matrix gemäß Tabelle I basiert. Die EXKLUSIV-ODER-Glieder erzeugen eine ungeradzahlige Parität (das Prüfbit ist die binäre Summe der EiP · gangsbits). Beispielsweise stellt das Prüfbit C, die ungeradzahlige Parität der Datenbits B0, B4, 58, B9, Bw, An, B,2, Bn, BH, 5,5, ß2, und B2x dar.
DerSyndrombitgenerator !3 ist in Fig. 3 im einzelnen gezeigt. Indem bevorzugten Ausführungsbeispie! werden die 32 Datenbits und die 8 Prüfbits über den modularen Speicherkanal 11 übertragen und an die 40 Eingänge des Syndr..>mbitgenerators 13 angelegt, wie aus Fig. 3 hervorgeht. De.r Syndrombitgenerator enthält EXKLU-SlV-ODER-Glieder30 bis 37 zur Erzeugung der Syndrombits S0 bis S7 entsprechend dem in Tabelle IVgezeigten Algorithmus, derauf der Η-Matrix der Tabelle I basiert. Die EXKLUSIV-ODER-Glieder 30 bis37 erzeugen eine ungeradzahlige Parität von den Eingangsdatenbits und Prüfbits entsprechend dem Eingang »x« der zugeordneten Zeile und Spalte der Η-Matrix in der Tabelle I. Beispielsweise ist das Syndrombits die ungeradzahlige Parität der Datenbits B1,, B4, B$, B9, Bw, Bn, S12, ß|3, Bu, B15, B1UB1% und C1. Mit Hilfe der Glieder 30 bis 37 werden tatsächlich die übertragenen Prüfbits mit korrespondierenden örtlich erzeugten Prüfbits verglichen.
Die Fehlererkennungsschaltung 14 enthält erste Schaltungsteile, die mit dem Ausgang des Syndrombitgenerators 13 zur Erzeugung eine« Fehlersignals verbunden sind. Dies ist der Fall, wenn der Informationsgehalt der Syndrombits anzeigt, daß irgendein Fehler in dem übertragenen Codewort erkannt wurde. Gemäß dem hier beschriebenen bevorzugten Ausführungsbeispiel ist dies an den ODER-Gliedern 40 zu sehen, an denen die Syndrombits 51, bis S7 angelegt werden, wie aus F i g. 4 hervorgeht. Das Auftreten von korrigierbaren oder unkorrigierbaren Fehlern in dem Codewort bewirkt die Erzeugung eines Nicht-Null-Syndrombits unter den Syndrombits Sln bis S1, das in dem ODER-Glied 40 erkannt wird, so daß am Ausgang 18a ein Signal entsteht.
In der Fehlererkennungsschaltung 14 sind zweite Schaltungsteile vorgesehen, die mit dem Ausgang des Syndrombitgenerators 13 verbunden sind und die ein Fehlersignal erzeugen, wenn der Informationsgehalt der Syndrombits anzeigt, daß ein zufälliger Doppelfehler oder eine geradzahlige Anzahl von Fehlern in einer Gruppe des Codewortes vorhanden ist. In dem hier beschriebenen bevorzugten Ausführungsbeispiel ist dies an dem EXKLUSIV-ODER-Glied 41 gezeigt, das die Eingänge S0-S1 aufweist. Der Ausgang des EXKLUSIV-ODER-Gliedes 41 ist mit dem Eingang eines Inverters 42 verbunden, der wiederum mit dem Eingang eines UND-Gliedes 43 verbunden ist. Der zweite Eingang des UND-Gliedes 43 liegt an dem Ausgang des ODER-Gliedes 40. Die zweiten Schaltungsteile enthalten das EXKLUSIV-ODER-Glied 41, den Inverter 42 sowie das UND-Glied 43 zusammen mit dem ODER-Glied 40. Damit wird eine Prüfung für unkorrigierbare Fehler ermöglicht, di-°. entweder zufällige Doppelfehler, Doppelfehler in einer Gruppe oder Vierfachfehler in einer Gruppe sein können. Diese werden alle durch eine geradzahlige Anzahl von »wahren« Syndrombits in dem Muster aus den Syndrombits S0-S1 gekennzeichnet. Diese Art von Fehlern wird am Ausgang des UND-Gliedes 43 angezeigt, der mit dem Eingang des ODER-Gliedes 48 verbunden ist und somit am Ausgang 186 die Erzeugung eines Fehlersignals bewirkt, das anzeigt, daß die empfangenen Daten unbrauchbar sind.
Die dritten Schaltungsteile sind mit dem Ausgang des Syndrombitgenerators 13 verbunden, um ein Signal zu erzeugen, wenn der Informationsinhalt der Syndrombits anzeigt, daß eine Vielzahl von Fehlern in der gleichen Gruppe des Codewortes erkannt wurde. In dem hier beschriebenen bevorzugten Ausführungsbeispiel ermöglichen die dritten Schaltungsteile die Erkennung von drei Fehlern. Es liegt jedoch im Rahmen der Erfindung, daß die dritten Schaltungsteile so modifiziert werden, daß die Erkennung einer ungeradzahligen Anzahl von mehr als einem Fehler in der gleichen Bitgruppe eines Codewortes, das Gruppen mit einer gewünschten Anzahl von Bits in jeder Gruppe aufweist, ermöglicht.
In dem bevorzugten Ausführungsbeispiel enthalten die dritten Schaltungsteile die UND-Glieder 44 α, 44 6, 44 c und 44 d. Mit den Ausgängen der UND-Glieder 44 α bis 44 d ist der Eingang des ODER-Gliedes 45 verbunden. Die dritten Schaltungsteile enthalten ebenfalls die UND-Glieder 46 a, 46 b, 46 c und 46 d, deren Ausgänge mit dem Eingang des ODER-Gliedes 47 verbunden sind. Der Ausgang des ODER-Gliedes 47 ist mit dem Eingang des ODER-Gliedes 48 gekoppelt.
Die dritten Schal tungsteile mit den UND-Gliedern 44 α bis 44 rf und dem ODER-Glied 45 erkennen drei Fehler in einer Gruppe von Datenbits oder einer Gruppe von Prüfbits. Dies wird angezeigt durch drei oder fünf »wahre« Syndrombits mit drei »wahren« Syndrombits, die in den ersten vier Syndrombitpositionen (S0, Si, S2, S3) angeordnet sind. In ähnlicher Weise liefern die UND-Glieder 46 α bis 46 d zusammen mit dem ODER-Glied 47 die Erkennung von drei Fehlern in einer Datengrappe oder in irgendeiner Prüfbitgruppe. Dies wird angezeigt durch drei oder fünf »wahre« Syndrombits, wobei drei »wahre« Syndrombits in den letzten vierSyndrombitpositionen (S4, S5, S6 und S7) angeordnet sind. Drei Fehler in einer Gruppe sind nicht korrigierbar in dem hier beschriebenen System und ein Ausgang des ODER-Gliedes 45 oder des ODER-Gliedes 47 sowie ein Ausgang des UND-Gliedes 43 überträgt über das ODER-Gl'.ed 48 zum Anschluß 186 ein Signal, das anzeigt, daß die
empfangenen Daten unbrauchbar sind. Wenn ein Fehler durch ein Ausgangssignal am Fehlerkennzcichnungs-Signalanschluß 18 a, aber nicht am Fehlerkennzeichnungssignalanschluß 186 angezeigt wird, bedeutet dies, daß ein korrigierbarer Fehler vorhanden ist. Der Inverter 49 liefert dann ein Steuersignal zur Wirksammachung der Fehlerlokalisierungsschaltung 15, die in Fig. 5 im Detail dargestellt ist.
S Die FehlerlokfcHsierungsschaltung 15 enthält eine Vielzahl von UND-Gliedern "S0 bis 50„, von denen jedes mit einem der 32 Datenbits A0 bis A31 korrespondiert und eine zweite Anordnung von UND-Gliedern 52 α bis 52 h, von denen jedes mit einem der Prüfbits Q bis C7 korrespondiert. Zusätzlich sind zwei UND-Glieder 51 α und 51 b vorgesehen, deren Eingänge mit den Negativ-Syndrombits gekoppelt sind. Die Ausgangsklemme 18 c liegt jeweils an einem Eingang der UND-Glieder 50 und 52. Wenn ein unkorrigierbarer Zufallsdoppelfehler oder eine Vielzahl von Fehlern in irgendeiner Gruppe der Bits im Codewort festgestellt wird, so können die UND-Glieder 50 und 52 nicht wirksam sein und die Daten in dem Codewort werden als unbrauchbar betrachtet. Wenn ein Fehlersignal am Ausgang eines Anschlusses 18 α angezeigt wird, aber nicht am Anschluß 18 6, so handelt es sich um einen Einzelfehler. Der Inverter49 erzeugt ein Ausgangssignal, um die UND-Güeder50 und 52 der Fehleriokalisierungsschaltung wirksam zu machen.
Eine Einfachfehlerkorrektur ist möglich, da sich der Fehler bei einem Bit aus der Koinzidenz des Syndrommustere mit einer speziellen Spalte der Η-Matrix ergibt Wenn bei den Datenbits ein Einzelfehler auftritt, sind drei Syndrombits »wahr«. Beispielsweise würde ein Fehler am Bit B^ durch folgendes Syndrommuster angezeigt:
S0 S. S2Si S4 S5-S> Si= 11000010.
In Fig. 5 ist die Fehlerlokalisierungsschaltu&^ dargestellt, die ein erstes UND-Glied 5O0 aufweist, das zu der Vielzahl von UND-Gliedern 50 gehört. Dieses formt das Syndrommuster, z. B. S0 = S1 = S6 = 1. Dies würde die Erzeugung eines Korrektursigm's AS0 für das Datenregister bewirken, so daß das Bit A0 umgekehrt wird, was durch den Fehler angezeigt wird. Die Signale RB1 bis RB31 steuern die Umkehrung der Bits Bx bis S31.
In entsprechender Weise gilt dies, wenn ein Einzelfehler in einem der Prüfbits C0 bis Cj auftritt. In diesem Fall ist nur ein Syndrombit »wahr«. Zwei der UND-Glieder 51 und eine Vielzahl der UND-Glieder 52 liefern eine logische Funktion zur Anzeige des nicht korrekten Prüfbits und zum zweiten wird ein Korrektursignal RC0 bis RC-: an das Datenregister 17 gegeben, wodurch die Polarität des fehlerbehafteten Prüfbits umgekehrt wird. Die Ausgänge der Fehleriokalisierungsschaltung 51 korrigieren dadurch einen Einzelfehler in dem Codewort, das in dem Datenregister 17 vorhanden ist.
Entsprechend dem Syndrommuster ermöglicht der Fehleferkennungskreis dadurch die Verwendung der empfangenen Daten, wenn kein Fehler erkannt wurde oder es erfolgt eine Wirksammachung der Fehleriokalisierungsschaltung 15 zur Durchführung einer Einzelfehierkorrektur in dem Datenregister falls nur ein Fehler festgestellt wurde. Des weiteren wird ein Fehlerfeststellungssignal am Fehlerfeststellungsausgang 18 b erzeugt, wodurch die Verwendung des empfangenen Codewortes verhindert wird, wenn es einen zufälligen Doppeiiehier oder eine Vielzahl von Fehlern in der gleichen Bitgruppe aufweist.
Hierzu 4 Blatt Zeichnungen
•to I

Claims (4)

Patentansp rüche:
1. Schaltungsanordnung zur Erkennung und Korrektur von Fehlern, die bei der Übertragung von Datenwörtern in einer Datenverarbeitungsanlage auftreten können, mit einer Vorrichtung zum Übertragen von Wörtern, von denen jedes mehrere von in Gruppen angeordneten Patenbits und mehrere Prüfbits enthält, einem mit der Übertragungsvorrichtung verbundenen Syndrombit-Generator, der beim Anlegen eines übertragenen Wortes mehrere Syndrombit-Signale erzeugt, die die Feststellung von Fehlerzuständen in dem übertragenen Wort anzeigen, und einer Fehlerlokalisierungsvorrichtung, die ein Korrektursignal zur Korrektur des übertragenen Wortes abgibt, wobei der Syndrombit-Generator gemäß einer in Zeilen und Spalten angeordneten Η-Matrix organisiert ist, die in den Gruppen entsprechende h-Submatrizen unterteilt ist, wobei jede Spalte derH-Matrix unterschiedlich ist, die den Datenbit-Gruppen entsprechenden h-Submatrizen pro Spalte nur drei Eingänge besitzen und in jeder den Datenbit-Gruppen entsprechenden h-Submatrix eine gemeinsame Zeile von Eingängen in den ersten vier Zeilen vorhanden ist.dadurchgekennzeichn e t, daß in den zweiten vier Zeilen jeweils eine weitere gemeinsame Zeile von Eingängen vorhanden ist und daß die den Prüfbits entsprechenden Matrix in zwei h-Submatrizen unterteilt ist.
2. Schaltungsanordnung nach Anspruch 1 dadurch gekennzeichnet, daß zur Prüfung auf unkorrigierbare zufällige Doppelfehler oder Doppelfehler in einer Gruppe oder Vierfachfehler in einer Gruppe die Syndrombits sowohi durch ein ODER- als auch ein EXOR-Gatter (41) verknüpft werden und die Ausgänge - der EXOR-Aßsgang invertiert - durch ein UND-Gatter verknüpft werden.
3. Schaltungsanordnung nach Anspruch 2 dadurch gekennzeichnet, daß zum Feststellen eines Dreifachfehlers in einer Gruppe mehrere UND-Gatter (44 a-d, 46 a-d) vorgesehen sind, die entsprechende Gruppen von jeweils drei Syndrombits verknüpfen, und daß die Ausgänge aller UND-Gatter (43,44 a-d, 46 a-d) an ODER-Gatter (45, 47, 48) angelegt werden, deren Ausgangssignal einen unkorrigierbaren Fehler anzeigt.
4. Schaltungsanordnung nach Anspruch 3 dadurch gekennzeichnet, daß die Übertragungsvorrichtung einen Speicher (11) aufweist, der in mehreren Speichermodulen derart angeordnet ist, daß Gruppen von übertragenen Wörtern in entsprechenden Speichermodulen gespeichert werden.
DE2724409A 1976-06-14 1977-05-28 Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern Expired DE2724409C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/695,494 US4077028A (en) 1976-06-14 1976-06-14 Error checking and correcting device

Publications (2)

Publication Number Publication Date
DE2724409A1 DE2724409A1 (de) 1977-12-22
DE2724409C2 true DE2724409C2 (de) 1986-07-03

Family

ID=24793230

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2724409A Expired DE2724409C2 (de) 1976-06-14 1977-05-28 Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern

Country Status (6)

Country Link
US (1) US4077028A (de)
JP (1) JPS6041770B2 (de)
CA (1) CA1074919A (de)
DE (1) DE2724409C2 (de)
FR (1) FR2375658A1 (de)
GB (1) GB1576627A (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53142105A (en) * 1977-05-18 1978-12-11 Sony Corp Code transmission system
JPS5848939B2 (ja) * 1977-12-23 1983-11-01 富士通株式会社 エラ−訂正処理装置
US4163147A (en) * 1978-01-20 1979-07-31 Sperry Rand Corporation Double bit error correction using double bit complementing
US4191970A (en) * 1978-05-15 1980-03-04 Bell Telephone Laboratories, Incorporated Interframe coder for video signals
US4236247A (en) * 1979-01-15 1980-11-25 Organisation Europeene De Recherches Spatiales Apparatus for correcting multiple errors in data words read from a memory
US4277844A (en) * 1979-07-26 1981-07-07 Storage Technology Corporation Method of detecting and correcting errors in digital data storage systems
US4355391A (en) * 1980-03-31 1982-10-19 Texas Instruments Incorporated Apparatus and method of error detection and/or correction in a data set
US4335459A (en) * 1980-05-20 1982-06-15 Miller Richard L Single chip random access memory with increased yield and reliability
US4345328A (en) * 1980-06-30 1982-08-17 Sperry Corporation ECC Check bit generation using through checking parity bits
US4384353A (en) * 1981-02-19 1983-05-17 Fairchild Camera And Instrument Corp. Method and means for internal error check in a digital memory
US4417339A (en) * 1981-06-22 1983-11-22 Burroughs Corporation Fault tolerant error correction circuit
NL8104342A (nl) * 1981-09-21 1983-04-18 Philips Nv Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.
JPS5878241A (ja) * 1981-11-04 1983-05-11 Nippon Telegr & Teleph Corp <Ntt> 符号化デ−タの誤り検出訂正方式
US4464753A (en) * 1981-12-30 1984-08-07 International Business Machines Corporation Two bit symbol SEC/DED code
EP0097159B1 (de) * 1981-12-30 1989-03-15 International Business Machines Corporation Zwei bits pro zeichen sec/ded-kode
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
FR2528613B1 (fr) * 1982-06-09 1991-09-20 Hitachi Ltd Memoire a semi-conducteurs
US4509172A (en) * 1982-09-28 1985-04-02 International Business Machines Corporation Double error correction - triple error detection code
NL8403147A (nl) * 1984-10-16 1986-05-16 Philips Nv Dataverwerkingssysteem dat is opgebouwd uit drie dataverwerkingsmodules.
JPH0760394B2 (ja) * 1986-12-18 1995-06-28 株式会社日立製作所 誤り訂正・検出方式
JPH0821238B2 (ja) * 1987-11-12 1996-03-04 三菱電機株式会社 半導体記憶装置
US4918695A (en) * 1988-08-30 1990-04-17 Unisys Corporation Failure detection for partial write operations for memories
US5014273A (en) * 1989-01-27 1991-05-07 Digital Equipment Corporation Bad data algorithm
US5291498A (en) * 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
DE4300025C1 (de) * 1993-01-02 1994-01-27 Macrotek Ges Fuer Integrierte Verfahren und Einrichtung zur fehlercodierenden Datenübertragung
US5592404A (en) * 1993-11-04 1997-01-07 Cirrus Logic, Inc. Versatile error correction system
US5481566A (en) * 1993-12-29 1996-01-02 At&T Corp. Method and apparatus to increase efficiency of systematic codes
US5754563A (en) * 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
SG76501A1 (en) * 1996-02-28 2000-11-21 Sun Microsystems Inc Error detection and correction method and apparatus for computer memory
US6308295B1 (en) 1996-10-08 2001-10-23 Arizona Board Of Regents Parallel spectral reed-solomon encoder and decoder
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
US6134684A (en) * 1998-02-25 2000-10-17 International Business Machines Corporation Method and system for error detection in test units utilizing pseudo-random data
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
JP2006179131A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd メモリシステム及び半導体記憶装置
US7653862B2 (en) * 2005-06-15 2010-01-26 Hitachi Global Storage Technologies Netherlands B.V. Error detection and correction for encoded data
US20070050668A1 (en) * 2005-09-01 2007-03-01 Micron Technology, Inc. Test mode to force generation of all possible correction codes in an ECC memory
US7702988B2 (en) * 2005-10-24 2010-04-20 Platform Computing Corporation Systems and methods for message encoding and decoding
US7751486B2 (en) * 2006-05-19 2010-07-06 Platform Computing Corporation Systems and methods for transmitting data
US7949931B2 (en) * 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
CN101442319B (zh) * 2008-11-25 2011-04-06 西安电子科技大学 基于双对角准循环移位ldpc码校验矩阵的编码器
US8255773B2 (en) * 2009-06-29 2012-08-28 Sandisk Technologies Inc. System and method of tracking error data within a storage device
JP5581969B2 (ja) * 2010-10-27 2014-09-03 ソニー株式会社 復号装置および方法、並びにプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3562709A (en) * 1968-09-12 1971-02-09 Rca Corp Correction of block errors in transmission of data
US3697948A (en) * 1970-12-18 1972-10-10 Ibm Apparatus for correcting two groups of multiple errors
US3745525A (en) * 1971-12-15 1973-07-10 Ibm Error correcting system
US3745526A (en) * 1971-12-20 1973-07-10 Ibm Shift register error correcting system
US3893071A (en) * 1974-08-19 1975-07-01 Ibm Multi level error correction system for high density memory

Also Published As

Publication number Publication date
US4077028A (en) 1978-02-28
FR2375658B1 (de) 1982-10-22
FR2375658A1 (fr) 1978-07-21
JPS6041770B2 (ja) 1985-09-18
GB1576627A (en) 1980-10-08
JPS5325330A (en) 1978-03-09
DE2724409A1 (de) 1977-12-22
CA1074919A (en) 1980-04-01

Similar Documents

Publication Publication Date Title
DE2724409C2 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern
DE2260850C2 (de) Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2425823A1 (de) Einrichtung zur fehlererkennung und fehlerkorrektur
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
DE2162833A1 (de) Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE2460263A1 (de) Schaltungsanordnung zum korrigieren des schlupffehlers in datenuebertragungssystemen unter verwendung von zyklischen codes
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
DE1250163B (de) Einrichtung zur Paritätsprüfung von Speicherworten
DE2320354C2 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen
DE3702574A1 (de) Speicheranordnung mit drei moduln, mit symbolbreiten speicherchips und mit einem fehlerschutz, wobei jedes symbol aus 2(pfeil hoch)i(pfeil hoch)+1 bits besteht
DE2131787A1 (de) Schaltungsanordnung zur fehlerfeststellung bei datenverarbeitungssystemen
DE2752377A1 (de) Fehlerpruefeinrichtung
DE2441351A1 (de) Schaltungsanordnung zur selbstpruefenden paritaetspruefung fuer zwei oder mehr voneinander unabhaengige datenkanaele
DE2655653C2 (de) Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher
EP0127118B1 (de) Speichersteueranordnung, insbesondere für fehlertolerantes Fernsprech-Vermittlungssystem
DE69924012T2 (de) Verfahren und vorrichtung für speicherdata-fehlerdetektion und speichermodul-fehlerdetektion
DE1259124B (de) Anordnung zur Fehlerkorrektur und -anzeige
DE102019113970B4 (de) Erkennung von adressfehlern
DE69637427T2 (de) Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle
DE3150927C2 (de)
DE1205738B (de) Schaltungsanordnung zur Fehlerkorrektur binaer verschluesselter Datenwoerter
DE2605619C3 (de) Schaltungsanordnung zum Erkennen von Fehlern bei einer durch Prüfzeichen gesicherten Übertragung von Datenzeichen
EP1861974B1 (de) Korrektur von einzelbitfehlern in dpsk-codierten codewörtern anhand der empfangenen kummulativen digitalen summe

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee