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örternInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1028—Adjacent 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;
!£] 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:
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.
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ι © h»
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
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)
,;·; 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
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
^ 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
;' 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 © 63Ο © 63, © C3
'." Ο4 ~ D^ Φ Ο$ *& D(, si? Df & D\Q vö Ö\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)
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.
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)
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)
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 |
-
1976
- 1976-06-14 US US05/695,494 patent/US4077028A/en not_active Expired - Lifetime
-
1977
- 1977-04-25 CA CA276,907A patent/CA1074919A/en not_active Expired
- 1977-05-25 GB GB22039/77A patent/GB1576627A/en not_active Expired
- 1977-05-28 DE DE2724409A patent/DE2724409C2/de not_active Expired
- 1977-06-03 JP JP52064968A patent/JPS6041770B2/ja not_active Expired
- 1977-06-14 FR FR7718162A patent/FR2375658A1/fr active Granted
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 |