DE2162833A1 - Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks - Google Patents

Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks

Info

Publication number
DE2162833A1
DE2162833A1 DE19712162833 DE2162833A DE2162833A1 DE 2162833 A1 DE2162833 A1 DE 2162833A1 DE 19712162833 DE19712162833 DE 19712162833 DE 2162833 A DE2162833 A DE 2162833A DE 2162833 A1 DE2162833 A1 DE 2162833A1
Authority
DE
Germany
Prior art keywords
signals
signal
error
bytes
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19712162833
Other languages
English (en)
Other versions
DE2162833C3 (de
DE2162833B2 (de
Inventor
Douglas C Wappinger Falls N.Y. Bossen (V.StA.)
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2162833A1 publication Critical patent/DE2162833A1/de
Publication of DE2162833B2 publication Critical patent/DE2162833B2/de
Application granted granted Critical
Publication of DE2162833C3 publication Critical patent/DE2162833C3/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/159Remainder calculation, e.g. for encoding and syndrome calculation

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

Böblingen, den 15. Dezember 1971 ne-bue
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: Docket PO 969 055
Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks
Die Erfindung bezieht sich auf eine Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblokkes zwecks Korrigierbarkeit zweier Bytes, deren sämtliche Bits fehlerhaft sein können.
In Nachrichtenübertragungs-Systemen und elektronischen Rechenanlagen kann man die Information durch Hinzufügen von Redundanzbits zu den Datenbits so codieren, daß man im Fehlerfall die ursprüngliche Information mit einem angemessenen Schaltungsaufwand wiedergewinnen kann. Die Anzahl der erforderlichen Redundanzbits hängt dabei davon ab, wieviele Fehler korrigierbar sein sollen.
Bei paralleler Datenanordnung ist die Information in parallel angeordneten Bytes Innerhalb eines Datenblocks enthalten. Eine solche Datenanordnung findet man in elektronischen Rechenanlagen und besonders bei Vielkanal-Aufzeichnungsgeräten.
Es ist bereits eine Einrichtung zum Codieren und Decodieren eines
aus k Bytes mit je b Bits bestehenden Datenblocks vorgeschlagen worden. Diese Einrichtung ermöglicht durch Hinzufügen von zwei Redundanz- oder Prüfbytes zu den Datenbytes eines Blocks die Korrektur eines fehlerhaften Bytes, unabhängig davon, wieviele Bits innerhalb dieses Bytes fehlerhaft sind.
Der Erfindung liegt die Aufgabe zugrunde, eine Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks anzugeben, die in der Lage ist, ohne die Anzahl der Redundanzbytes gegenüber der vorgeschlagenen Einrichtung zu erhöhen, zwei fehlerhafte Bytes zu korrigieren, deren sämtliche Bits fehlerhaft sein können.
Die Einrichtung gemäß der Erfindung ist dadurch gekennzeichnet, daß ein Codierer vorgesehen ist, der für jeden Datenblock zwei Prüfbytes C und C» liefert, die aus den Datenbytes DQ, D , D_, ... D, , nach folgenden Gleichungen:
C1 - I Dn + I D, + I D, + ... I D.. und
»—, _ Tp T-^ t m τ\ ■ »π*1 τ1* ■ . m"* ·
I D0 + T D1 + T" D2 + ... T
2 3 errechnet werden, in denen I das Einselement und T, T , T , ...
k—1
T unterschiedliche, von Null verschiedene Elemente des Galois-Feldes (2 ) und die angegebenen Multiplikationen und Additionen die für Galois-Felder definierten Operationen sind, wobei b ganzzahlig und < 1 und k ganzzahlig und 2 < k < 2 ist, daß ein Decodierer vorgesehen ist, der eine Schaltung zum Erzeugen von sog. Hinweissignalen, die auf die fehlerhaften Bytes hinweisen, eine Schaltungsanordnung zum Erzeugen von sog. Fehlersignaien, die die fehlerhaften Bits innerhalb der beiden Bytes angeben und eine Fehlerkorrekturschaltung enthält, die die fehlerhaften Bytes unter Verwendung der Fehlereignale korrigiert.
2 Γ) Π ο 7 π
Ein Äusführungsbeispiei der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild eines die vorliegende Erfindung benutzenden Datenverarbeitungssystems;
Fig. 2 ein abgekürztes Datenverarbeitungs-Äblaufdia
gramm eines bevorzugten Ausführungsbeispxeles der Erfindung;
Fig. 3 schematisch die Organisation der Prüfbitrechner
C1 und C-;
Fig. 4 schematisch die Organisation der Syndromrechner
S1 und S2;
Fig. 5 die geometrischen Beziehungen von Daten- und
Prüfbits eines Fehlerkorrekturcodes;
Fig. 6 ein Schaltbild mit Einzelheiten der Hinweis-
Selbsthalteschaltung der Fig. 2;
Fig. 7a - 7e Schaltbilder mit weiteren Einzelheiten des Steuersignalgenerators der Fig. 2;
Fig. 8 die Codiermatrix für den Code, der dem Prüfbit-
rechner der Fig . 3 zugrunde liegt;
Fig. 9 die Decodiermatrix für den Code, der dem Syndrom
rechner der Fig. 4 zugrunde liegt;
Fig. 10 einen Lageplan der Fign. 10a und 10b;
Fig. 10b, lOb-1 weitere Einzelheiten des Fehlerrechners der Fig.
2 und
203029/0911
-A-
Fig. 11 u. 11a Schaltbilder mit weiteren Einzelheiten der Fehlerkorrekturschaltungen der Fig. 2.
In Fig. 1 ist gezeigt, wie Daten durch einen Kanal 2 in einen Codierer 1 einlaufen. Der Codierer 1 erzeugt eine Sendenachricht, die über einen Kanal 3 in eine Verarbeitungseinheit 4 läuft, die mit der Nachricht irgendeine Operation vornimmt, sie z. B. speichert und hinterher wieder abruft und dann eine empfangene Nachricht umschreibt, die über einen Kanal 5 zu einem Decodierer 6 läuft, welcher die empfangene Nachricht decodiert und die wiedergewonnenen Daten ausgibt, die dann über den Kanal 7 zu einer weiteren Verwendungseinheit gelangen. Die Betriebsweise der Verarbeitungseinheit 4 kann unvollkommen sein und gelegentlich Fehler erzeugen, so daß die empfangene Nachricht im Kanal 5 nicht unbedingt mit der über den Kanal 3 gesendeten Nachricht identisch ist. Der Codierer 1 und der Decodierer 6 arbeiten zusammen, um die wiedergewonnenen Daten auf den Kanal 7 mit weniger Fehlern zu geben als sie durch die Verarbeitungseinheit gemacht wurden.
Die vorliegende Erfindung läßt sich für Informationsverarbeitungssysterae verschiedener Kapazität verwenden. Die Erfindung wird daher zuerst in algebraischer Form beschrieben, die sich auf ein System jeder Größe anwenden läßt, und hinterher für ein spezielles System. In der Beschreibung werden die Standardsymbolen der Boole1 sehen Schreibweise benutzt, die folgende sind:
+ = ODER
« = ANTIVALENT
. = UND
Erfindungsgemäß werden Daten durch das System in Blocks verarbeitet, die aus k Bytes bestehen, von denen jedes b Datenbits umfaßt. Hier und während der übrigen Beschreibung bezeichnet b eine ganze Zahl, die größer als 1 ist und k eine ganze Zahl 2 < k < 2 ,
Docket PO 969 055
Die Werte von b und k sind als für das jeweilige Ausführungsbeispiel unveränderlich anzusehen, werden jedoch für Ausführungsbeispiele verschiedener Kapazität unterschiedlich gewählt. Ein Datenblock wird dementsprechend bezeichnet mit Dn, D , ... D1 , wobei D das erste Byte im Block, D das zweite Byte usw. bis D, , das k-te und letzte Byte darstellt. Die Darstellung eines üatenbyte wird bezeichnet mit D., wobei der Index j jeden ganzzahligen Wert von 0 £ j <_ k-1 annehmen kann. Nach der Erfindung errechnet das Codiergerät aus dem Datenblock zwei Prüfbytes, die mit C, und C bezeichnet werden und jeweils b Bits umfassen, und hängt die Prüfbytes an die k Datenbytes an zur Erzeugung der gesendeten Nachricht aus k + 2 Bytes.
Um die Berechung der Prüfbytes zu beschreiben, empfiehlt es sich, zu beachten, daß für aus b binären Bits zusammengesetzten Bytes 2 verschiedene Bytes möglich sind und daß jedes mögliches Byte ein Element eines Galois-Feldes von 2 Elementen (oder GF(2 ) ist. Die Existenz des GF(2 ) ist gesichert für jeden Wert von b durch allgemeine Theoreme der Algebra (Siehe z. B. W. Wesley Peterson "Error Correcting Codes", M. I. T. Press, 1961). Das Galois-Feld impliziert zwei Operationen, die üblicherweise mit Addition mit dem entsprechenden Nullelement θ und Multiplikation mit dem entsprechenden Einselement I bezeichnet werden. Die Ausdrücke Addition und Multiplikation und die zugehörigen Ausdrücke wie Addierer werden in diesem Sinne benutzt.
Die Regeln der Addition und Multiplikation von Bytes sind dadurch festgelegt, daß GF(2 ) der möglichen Bytes isomorph ist mit GF(2 ) von Polynomen mit Koeffizienten in GF(2) modulo einem irreduziblem Polynom des Grades b. Für jeden Wert von b existiert mindestens ein nichtreduzibles Polynom. Das Feld solcher Polynome ist ein Vektorraum der Dimension b über GF(2). Die Addition der Elemente in GF(2 ) erfolgt daher durch Addition der entsprechenden Bits. Die Addition liegt natürlich in GF(2) und ist daher äquivalent einer Addition modulo 2. Die Mulitplikation in GF(2 ) kann man sich vorstellen als Definition eines Satzes linearer Transforma-
2 Cj ί 0 / Ί I 0 0 1 1
PO QfiQ
tionen im entsprechenden Vektorraum der Dimension b.
Der Vektorraum umfaßt die folgenden Spaltenvektoren;
(worin 0 und 1 binäre Symbole sind) oder kompakter.ausgedrückt:
b-1 b-2 T
el f SL f · · · el / X
wo a ein primitives Element vom GF(2 ) ist. (d. h. jedes von Null verschiedene Element des Feldes kann man durch Erhebung von a in eine Potenz erhalten). Die der Multiplikation mit dem Element Q entsprechende Transformationsmatrix ist gegeben durch Verkettung der Spaltenvektoren;
ι 1 V-\ O
Qa, Qa ,...Qa,QI
und ergibt;
Tn = Qah~l Qab~2, ... Qa, QI
Die Multiplikation des Elmentes R mit dem Element Q im GF(2 )
20Ü8 2 9/0911
ist somit äquivalent der Multiplikation des Vektors R mit der Matrix TQf wobei der Vektor und die Matrix Komponenten im GF(2) sind (d. h. binäre Bits). Diese Operationen werden anschließend in Verbindung mit einem Ausführungsbeispiel dargestellt.
Bei einem erfindungsgemäßen Datenverarbeitungssystem berechnet das Codiergerät die Prüfbytes nach den folgenden beiden Beziehungen :
(4) ci = IDo
(5) C2 = IDo
worin T, τ2
J- r ·
θ ID
Θ T
Φ Τ
'k-1
unterschiedliche von Null verschiedene EIe-
n b
mente des GF(2 ) sind. Da 2 -1 derartige Elemente vorhanden sind, ist die Anzahl von Bytes in.einem Block begrenzt auf k < 2 . Am einfachsten lassen sich die Beziehungen, nach denen C, und C2 berechnet werden, ausdrücken durch eine Codiermatrix, die die folgenden Koeffizienten ergibt:
(6)
HE ■
k-1
und die Berechnung beim Codieren kann symbolisch wie folgt geschrieben werden:
(7)
C = HE D
Unter Verwendung der oben entwickelten Beziehungen läßt sich die
2 0 0 ^ 2 0 / r. <vi 1
Docket PO 969 055
Codiermatrix in binärer Form ausdrücken, indem man jedes in der Codiermatrix erscheinende Element von GF(2 ) durch die entsprechende binäre Multiplikationsmatrix ersetzt. Die resultierende Form der Codiermatrix gibt die durch einen auf binärer Basis arbeitenden Rechner zur Berechnung der Prüfbytes auszuführenden Operationen explizit an.
Bei der Decodierung empfängt der Decodierer eine Nachricht
DV DV DV ···' D'k-i' CV c\
aus k + 2 Bytes (das Symbol "'" bezieht sich auf die empfangene Nachricht) und berechnet ein aus zwei B^ Syndrom nach den folgenden Beziehungen:
Nachricht) und berechnet ein aus zwei Bytes (S1, S) bestehendes
Φ T D^ Φ T2 D'2 .., Φ T
die durch eine Decodiermatrxx mit k + 2 Spalten und zwei Zeilen folgendermaßen beschrieben sind:
Tk-i θ
worin θ das Nullelement im GF(2 ) ist. Die Berechnung der Syndrome kann symbolisch so dargestellt werden;
•~> ri
Docket PO 969 055
(11) S = HD (D1, C)
Die Decodiermatrix H kann natürlich explizit in binärer Form ausgedrückt werden, indem man die binären Mulitplikations-Matrizes einsetzt.
2 k-1
Wenn I, T, T , ..., T die von Null verschiedenen Elemente von GF(2 ) sind, dann gibt es für ein jedes derartiges Element T
""T T —τ
ein inverses Element T ,so daß T · T = I, also das Einselement ist.
Die Hinweissignale werden vom System abgeleitet, in welchem die Fehlerkorrektur vorgenommen wird. Jede Datengruppe kann z. B. zu einem Paritätsprüfsignal führen, welches einen Fehler in der zugehörigen Datengruppe anzeigt. Ein Paritätsprüfbitsignal wird natürlich für jedes Datenbyte oder für jede Datengruppe erzeugt und dadurch das oder die fehlerhaften Datenbytes einzeln angezeigt. Selbstverständlich gibt es auch andere Einrichtungen zur Erzeugung von Hinweissignalen, wie sie in der US-Patentanmeldung mit der Seriennummer 40 836 vom 26. Mai 1970 beschrieben sind. In dieser Anwendung wird die Qualität der Aufzeichnungs-Rückleseoperationen auf iSchtzeitbasis als Hinweis auf mögliche Fehlerbedingungen benutzt. Die Bedeutung der Syndrome S., S zusammen mit den Fehlerhinweisen PQ, P,, ..., Pk+1 wird aus einer Betrachtung der folgenden Operationen verständlich, die leicht aus den Codier-- und Decodierbeziehungen auf der Annahme zu verstehen sind, daß wenigstens alle Bytes mit Ausnahme der beiden, deren Hinweissignale vorhanden sind, richtig übertragen wurden oder daß mindestens alle Bytes mit Ausnahme eines einzigen richtig übertragen wurden, wenn kein oder nur ein Hinweissignal vorhanden ist. Wenn die Syndrome S. = 0 und S2 = 0 sind, liegen in der empfangenen Nachricht keine Fehler vor, ungeachtet dessen, ob zwei Hinwissignale vorhanden sind oder nicht. Wenn kein oder nur ein Hinwelssignal vorhanden ist und das Syndrom S. * 0 und S- von
2 0 Ci C 2 Π / 0 9 1 1
verschieden ist, dann liegt ein Fehler C' vor. Wenn ein Hinweissignal oder keines vorliegt, und das Syndrom S ist von Null verschieden und S„ = 0, dann liegt ein Fehler in C' vor. Wenn kein Hinweissignal oder nur eines vorhanden ist und S ist ebenso von Null verschieden wie S2, dann liegt im Datenbyte D. ein Fehler von der Größe S nur dann vor, wenn S=T^ · S2 ist. Unter diesen Bedingungen errechnet der Decodierer für jedes Datenbyte ein Kriterium aus der Gleichung S_ = T -1 · S2 Φ S und erzeugt die wiedergewonnenen Daten:
D. = D1 . (wenn S3 ^ 0)
D = D' Θ S (wenn S. = 0)
j J X ο
Wenn die beiden Fehlerhinweissignale P. und P. entsprechend den Datenbytes D' und D1. vorhanden sind, dann liegt im Datenbyte D'. ein Fehler von der Größe
P S5 = S1 Φ (1 Φ T^"1) 1(T"i S2 Φ S1) = e±
und im Datenbyte D1. ein Fehler von der Größe
S = (1 © T^"1)-1(t"1 S0 Φ S1) = e.
vor. Der Decodierer erzeugt demgemäß als wiedergewonnene Daten;
209829/091 1
ClCQ /-VCC
D± - Όι ± Φ ex (P± =
Dj = D'j « ej (Pj-
Insbesondere ist zu beachten, daß die Datenbytes D1 und D1. richtig wiedergewonnen werden, wenn mehrere Bits innerhalb eines jeden Bytes fehlerhaft sind.
Wenn zwei Hinweissignale, eines, P1, im Datenteil entsprechend den Daten D1, das andere, P^, entsprechend C vorhanden sind, dann liegt ein Fehler der Größe:
S5 « S1 Φ τ"1 S2 © S1 = e±
im Datenbyte D^ vor, so daß D1 = D' Φ e.^ das korrigierte Byte darstellt. Das Prüfbyte C' braucht nicht zu korrigiert werden. Wenn zwei Hinweissignale vorhanden sind, eines gleich P1 entsprechend dem Datenbyte D1 und das andere gleich Pk+1 entsprechend C'f dann liegt im Byte D1,, ein Fehler von der Größe S5 = S1 = e. vor, so daß D. ■ D' $ ej das korrigierte Datenbyte darstellt.
Das Gerät zur Durchführung der Fehlerkorrektur in der oben beschriebenen Form ist in Blockform in Fig, 2 dargestellt, Die codierten Daten setzen sich zusammen aus Datenbytes und Prüfbytes d'q, D1 ... D1U-1* C', C' zusammen mit Fehlerhinweissignalen P0, P.,...P. . und dienen als Eingangssignale für den Systemdecodierer 6. Sowohl die Datenbytes als auch das Prüfbyte C' werden in den S^-Syndromrechner 10 eingegeben, wo das Syndrombyte S nach· der Beziehung:
7 η n fj
Docket PO 969 055 ~ w
S = C Φ D'o Φ D^ Φ ... Φ D1
errechnet wird. Die Datenbytes und das zweite Prüfbyte C werden dem S~-Syndromrechner 12 zugeführt, wo das zweite Syndrombyte S nach der Beziehung
1 ' I«·— I
S— r11 A τ r> · A τ r» · cd ct\ τ η ·
errechnet wird. Die Syndromsignale S. und S bestehen aus b Signalen, da ein Syndromsignal für jedes Prüfbit in den Bytes C1 und C„ erzeugt wird. Die Syndromsignale S und S durchlaufen parallele Kanäle 14, 16 und gelangen zum Fehlerrechner 18 sowie zum Steuersignalgenerator 20. Der Fehlerrechner 18 empfängt außerdem Steuersignale IQ, I , ... Ik_-, und S und errechnet aus den Syndrombytes S und S ein Byte S- nach der Beeziehung:
Φ τ"1
nur wenn I. = 1 ist. Sonst ist S_ = S.. Wenn S=I ist und damit χ 3 1 e
die erforderliche Korrektur eines einzelnen Bytes bezeichnet, errechnet der Fehlerrechner 18 auch einen Satz von Steuersignalen I. , wobei 0 < i < k-1 ist, so daß nur dann I. = 1 ist, wenn S1 Φ T S2 = 0 ist. Diese I-Signale gelangen nach ODER-Verknüpfung mit den durch den Steuersignalgenerator 20 erzeugten I-Signalen in den ODER-Gliedern 24 zur Fehlerkorrekturschaltung 22. Der Fehlerrechner 18 empfängt außerdem Steuersignale d , d , ..., dk und ein Steuersignal J.. Der Fehlerrechner errechnet das Fehlerbyte e. nach der Beziehung:
S4 - (1 Φ T^"1)"1 S3 = e. Docket PO 969 055 * " * " '
nur dann, wenn ü._. = 1 ist, sonst ist S. = S-, und nur, wenn J, = 1 ist. Andernfalls ist S. = 0 wenn J = K + 1 ist (das ist der Fall, wenn kein Wert von J1, J„, ..., J, = 1 ist). Der S,-Ausgang des Fehlerrechners 18 ist außerdem mit einem Modulo-2-Addierer 26 verbunden, der als weiteres Eingangssignal das Syndrombyte S1 empfängt. Das Ausgangssignal des Modulo-2-Addierers ist S = e. entsprechend der Beziehung S5 = S Θ S4 = e., das zur Fehlerkorrekturschaltung 22 geleitet wird. Die Fehlerkorrekturschaltung 22 empfängt außerdem die Datenbytes D1 , D' , ... D' sowie die
w X K 1
oben erwähnten Steuersignale In, I1, ..., I, und J , J , ...
LI X JC X L· 2,
J, . Diese Eingangssignale und die Bytes e. und e. werden zur
JC ™~ X a ^ 1 a j
Erzeugung der korrigierten Daten D , D , ..., D, entsprechend
\J X JC X
der folgenden Beziehungen verwendet:
· ei
(I1 . e±) Φ (J1 . e.)
D2 = D'2 Φ (I2 . ei) Φ (J2 . e.)
Dk-i = D'k-i φ (Ik-i Θ * ei> φ (Jk-i ·
Der Steuersignalgenerator 20 empfängt die Syndrombytes S und S aus den entsprechenden Rechnern 10 bzw. 12. Außerdem werden die Hinweissignale PQ, P , ..., Pfc+1 von den Hinweis-Selbsthalteschaltungen 28 empfangen. Aus diesen Eingangssignalen erzeugt der Steuersignalgenerator 20 die folgenden Ausgangssignale:
1. NP1 β 1 nur dann, wenn genau ein Hinweissignal vorhanden ist;
20 i) 32 0/0911
2. NP„ = 1 nur dann, wenn genau zwei Hinweissignale vorhanden sind;
3. N01 = 1 nur dann, wenn ein oder kein Hinweissignal vorhanden ist;
4. N3 =1 nur dann, wenn drei oder mehr Hinweissignale vorhanden sind;
5. SQ =1 nur dann, wenn beide Syndrombytes S. und S2 Null sind;
6. S =1 nur dann, wenn N = 1 und SQ = 0 sind;
7. !-Signale, die die Lage des ersten Hinweissignales angeben, nur dann, wenn S=O ist;
8. J-Signale, die die Lage des zweiten Hinweissignals angeben,, nur dann, wenn S =0 ist und
fc 9. d-Signale, die den Wert von J-I angeben
10. S, » 1 nur dann, wenn genau eines der Syndrombytes von Null verschieden ist;
Sd - ^l 1 + S12 + S13 + Sl4> » (S21 + S22 + S23 + S24>
11. Sg - S0 ODER Se . Sd;
S = 1 nur dann, wenn die Daten gut sind;
12. N » 1 nur dann, wenn N- « 1 oder wenn S » 1 und S,
g _ 3 e d
0 ist und keines der !-Signale vorhanden ist.
209829/091 1
Die Distanzsignale d , d , ..., α, , und die I-Signale oder "ersten" Hinweissignale In, I1, . ·., I, , sowie das Signal So wer-
\J J. JC"" X 6
den als Eingangssignale für den Fehlerrechner 18 zur Berechnung von S4 benutzt. Der Fehlerrechner errechnet außerdem einen Satz von Steuersignalen, wenn S=I ist. Diese Steuersignale I. werden für 0 i k-1 so erzeugt, daß I. nur dann gleich 1 ist,
-i x
wenn S1 θ T S„ = 0 ist. Diese I-Signale I0 ... 1I,-! werden vom Fehlerrechner 18 den ODER-Gliedern 24 zugeführt, wo sie mit den I-Signalen I_, I , ..., 1I...ι vom Steuersignalgenerator 20 einer ODER-Verknüpfung unterworfen werden. Diese I-Signale werden außerdem dem Steuersignalgenerator 20 zugeführt und zeigen durch die Anwesenheit von nur einem I-Signal an, daß eine Korrektur eines einzelnen Bytes erfolgen kann. Die resultierenden Ausgangssignale der ODER-Glieder 24 sollten In, I1, ..., I, , sein, die
\J X JK X
als I-Eingangssignale für die Fehlerkorrekturschaltung 22 benutzt werden. Der Steuersignalgenerator 20 erzeugt außerdem die J-Signale J,, J~, ··., Jk, die als Eingangssignale der Fehlerkorrekturschaltung 22 zugeführt werden und die Lage des zweiten fehlerhaften Bytes angeben.
Die Hinweis-Selbsthalteschaltungen 28 empfangen als Eingangssignale die Hinweissignale Pn, P1, ..., p k+1/ die im wesentlichen Fehlererkennungssignale wie Paritätssignale sind, und zwar eines von jeder Spur oder jedem Byte im Datenblock. Diese Hinweissignale setzen ihre entsprechende Selbstlialteschaltung in den 1-Zustand für jedes fehlerhafte Byte. Der Zustand einer jeden Hinweis-Selbsthalteschaltung wird als Signal (Hinweissignal genannt) P , P , ..., Pk+1 ausgegeben und dem Steuersignalgenerator 20 zugeleitet.
Die Hinweissignale P , P , ..., Pk+1 sind ein Satz von Einzelbitsignalen, von denen jedes entweder auf O oder 1 ist. Wenn P. ist bedeutet das, daß in Spur I E'ehler erkannt wurden und P. zeigt an, daß in Spur I keine Fehler erkannt wurden. Die Signale , I und J werden von den Hinweissignalen abgeleitet. Diese Signale dienen als Eingangssignale für die Fehlerkorrekturschaltung und werden wie folgt abgeleitet;
2 O fJ 8 2 D / O O 1 I ORiGiNAL INSPECTED
Docket PO 969 055 ■ —'
10 * P0 Jl =
11 " Pl · ¥Q J2 *
τ = P W I? *
X2 - 2 * ■ 1 rQ
1H ~ pk * pk-i * Fk-2 " * po
worin I. *» 1 anzeigt, daß die erste fehlerhafte Spur die Spur i ist und J. = 1 anzeigtr daß die zweite fehlerhafte Spur die Spur j ist. In den obigen Gleichungen bedeutet P. das Komplement der Funktion und der angezeigte mathematische Schritt ist die UND-Funktion,
Die oben erwähnten Distanzsignale d, die den Abstand zwischen fehlerhaften J- und I-Bytes angeben, werden folgendermaßen von den I· J-gJ.gnaJ.en abgeleitet;
1Q · ai + 1I * J2 +··'+ V2 ' Jk-1
worin d^ « 1 anzeigt, daß der gesamte Abstand zwischen dem I-Signal und clian J~Signal i ist. Es. sei bemerkt, daß bei der Bestimrounf VQn Oj1-1 $λ* Signal X^ . J^ nicht benutzt wird, J. * 1 wird »la» Mft4«rf*ii'behandelt. Außerdem ist zu beachtenr daß keines der i-gignale, ^Signale oder d~Signale ein Signal Jk+1 enthält, ^UCh dieser Pali wird als Sonderfall behandelt.
ο ή > - - - -τι ι ORIGINAL !NSPECTED Docket PO 969 055 "
Wenn zwei Hinweissignale separate fehlerhafte Bytes bezeichnen, weisen ein Hinweissignal I., ein Hinweissignal J und ein Hinweissignal d. den Binärwert auf. Die Situation, in welcher nur ein Signal P. den Wert 1 aufgrund eines fehlerhaftes Byte anzeigt, wird als Sonderfall behandelt. Der Wert Jk+1 wird für den Fall von zwei Hinweissignalen angenommen, wenn keines der übrigen Signale J. = 1 ist.
Die Arbeitsweise der Erfindung läßt sich am besten aus einer Anzahl verschiedener Beispiele von Fehlersituationen erkennen. Im ersten Beispiel sind zwei Bytes im Datenblock fehlerhaft und zwar im Datenteil D' , D' , ..., D' . der Nachricht und man erhält zwei Hinweissignale für die fehlerhaften Bytes. Es wird angenommen, daß die Bytes i und j durch die Hinweissignale als fehlerhaft bezeichnet werden, wobei O < i < j < k~l ist. unter diesen Umständen erzeugt der Steuersignalgenerator 20 Signale I. = 1 und J. =1 und dementsprechend wird auch d._. = 1 erzeugt. Wenn angenommen wird, daß die beiden fehlerhaften Bytes und die anderen Bytes richtig übertragen werden, dann sind die beiden von den Syndromrechnern 10 und 12 erzeugten Syndrombytes S und S„ nicht beide = 0, da die beiden Bytes fehlerhaft sind* Das Syndrorabyte S ist algebraisch gleich:
(12) S1 » e± © e.
wobei e. aas Fehlermuster im Byte i und e. das Fehlermuster im Byte j darstellen. Das zweite Syndrombyte S_ ist algebraisch gleich;
(13) T1 Q1 © Tj e.
Die oben angegebenen Gleichungen (12) und (13) können nach e. bzw. e. aufgelöst werden. Durch Multiplikation der Gleichung (13) mit
T erhält man:
(14) τ"1 S = e Φ TD ■*· e.
Addiert man die Gleichung (12) zur Gleichung (14) so erhält man: (15) S3 = T"1 S2 Φ S1 = (T^"1 φ l) e.
Die Multiplikation der Gleichung (15) mit (T-3"1 φ ι)"1 ergibt:
(16) S4 = (Tj i Φ l)"1 S3 = e.
Das Byte S. ist algebraisch äquivalent e.. Die oben aufgezeichneten Gleichungen oder Schritte werden natürlich durch den Fehlerrechner 18 vorgenommen. Das Ausgangssignal S. = e'. wird als ein Eingangssignal für den Modulo-2-Addierer 26 benutzt. Sein anderes Eingangssignal ist S1, für das, wie vorher erwähnt, gilt: S = e. Φ e . Somit ist das Ausgangssignal S5 des Modulo-2-Addierers 26 die Funktion S- = S Φ S. = e., die algebraisch äquivalent ist e. Φ e. Φ e,, was äquivalent ist e.. Die Bytes S5 und S. dienen als Eingangssignale für die Fehlerkorrekturschaltung 22. Die Fehlerkorrekturschaltung 22 verknüpft antivalent die empfangenen Daten mit den abgeleiteten Fehlermusterbytes e. und e., um die korrekten Daten D. und D. zu erzeugen.
Das zweite Beispiel ist dem ersten insofern ähnlich als die Hinweiseignale ^Qf Pj» ...ι £v+i d*e beiden fehlerhaften Bytes bezeichnen. Eines dieser fehlerhaften Bytes gehört jedoch zum Datenteil D' , ,.., DV-1 und das andere fehlerhafte Byte ist das erste Prüfbyte C'. Wenn angenommen wird, daß das Datenbyte D1
209829/0911
2T62833
das Fehiermuster e. hat und dap Prüfbyte C! das Fehlermuster e. enthält, dann sind in diesem Fall die Steuersignale I. = 1 und
Jk- ι.
J, * 1 ist bekanntlich ein oben erwähnter Sonderfall und dann ist keines der Distanzsignale d. - 1. Der S -Syndromrechner 10 erzeugt das Syndrombyte S., welches den algebraischen Wert β* Φ e. hat. Der S~-Syndromrechner 12 erzeugt das zweite Syndrombyte s„, wel-
d. ^ ■■■-■- . 4
ches den algebraischen Wert ? e. hat. Der Fehlerrechner 18 er-
zeugt das Syndronibyte S3 = T S2 ® S1, welches den algebraischen f Wert e. hat. Nach dieser Definition für den Fall J, = 1 ist das Ausgangssignal des Fehlerrechners 18 das Signal S4 ~ S3, welches = e. ist. Wie im vorher gegebenen Beispiel empfängt der Modulo-2-Addierer die Eingangssignale S. und S4 und erzeugt als Ausgangssignal das Byte S5 = S Φ S., wobei S. = e. θ β. und S. = e. ist. Somit ist S5 = e. β e, Φ e. also gleich e., Die Fehlerkorrekturgchaltung 22 empfängt das Signal S^. = e, und das Steuersignal I, und erzeugt das korrekte Datenbyte; D. = D. θ e. ,
Im dritten Beispiel werden die fehlerhaften Bytes durqh die HinpQ, ^1, .,,, ^+1 bezeißhnet. Pas eine Byte liegt im
Dat#nteil DQ, ... Dk„, de^ Nachricht und das zweite isst das zwei" te Friifbyte C_, Somit kann für die Nachricht das Fehlermuster e. und für C2 das Fehlermuster e. angeomroen werden. In diesem Fall ist nur das Steuersignal J^=1 *»*£ keines der j-Signale J , J2, ,,» J,. Dementsprechend ist keines der Distanzsignale d^, d2, ..., * 1* Gas durch den S -Syndromreöhner 10 erzeugte Syndrainbyte , h*t den algebraischen Werte e. . Das durch den S-'-Syndramreeh*· 12 erzeugte zweite Syndrombyte S_ hat den algebraischen Wert
i
T #j β e.. Wie bereits erwähnt, handelt es sich bei Cf == k + 1 aucU um einen Sonderfall und der Fehlerrechner 18 erzeugt als Aus-' ganf»signal S^ - 0. Deinentsprecshend empfingt der Modulo-2-Addierer 2€ Als Eincfangesignale die Signale S1 ^ ei und S4 * 0« Er erzeugt , daraufhin das Ausgangssignal S5 = e und dieses Signal wird durch die Fehlerkorrekturschaltung zur Erzeugung von B. = e. 8 D. f dem korrigierten Datenbyte, benutzt.
Docket PO 969 055 2 ° Ö ° 2 D ! ° K- 1 Λ- ORIGINAL INSPECTED
- 2O -
Im vierten Beispiel ist eines der Syndrome S oder S2 von 0 verschieden und entweder ein oder kein Hinweissignal bezeichnet ein oder kein fehlerhaftes Byte. Das Signal S=I besagt, daß eines der Prüfbytes einen Fehler enthält und somit die Daten in Ordnung sind. Die Kombination der Signale N · BQ = 1, welches gleich ist
S steuert die Korrektur eines einzelnen Bytes. In diesem Beie
spiel enthält eines der Datenbytes D , ..., D den Fehler. Wenn angeomnanen wird, daß D. das Fehlermuster e. hat, dann errechnet der S. -Syndromrechner 10 das Syndrombyte S, mit dem algebraischen Wert e.. Der S -Syndromrechner 12 errechnet das Symdrom S0 mit
1^i *
dem algebraischen Wert T e. = S . unter Steuerung des Signales
— i
S=I werden jetzt die Signale T S_ Φ S geprüft auf die Bedingung T S„ Φ S = 0. Diese Gleichung ist für nur einen Wert von i gleich Null. Wenn sie nicht 0 wird, liegt ein unkorrigierbarer Mehrfachfehler vor. Der spezielle Wert für I, für den das gilt, ist I±, da
τ"1 S2 Φ S1 = τ"1 (T1 e±) Φ e±
was gleich ist e. © e., also gleich 0. Das Ausgangssignal S ist als 0 definiert. I. wird dann als Korrekturhinweissignal in der Fehlerkorrekturschaltung 22 dazu benutzt, anzugeben, welches Datenbyte D. antivalent verknüpft werden soll mit S=S Φ S. = e.,
A O X 4 X
um die korrigierten Daten D. = D. Φ e. zu erhalten. D. h. mit anderen Worten, wenn das Fehlermuster oder Fehlerbyte antivalent verknüpft wird mit dem fehlerhaften Datenbyte, erhält man die ursprünglichen richtigen Daten. Diese I-Signale werden auch zum Steuersignalgenerator 20 gesendet, um zu entscheiden, ob nichtkorrigierbare Fehler vorliegen oder nicht.
Die obigen Beispiele berücksichtigen alle mögicherweise auftretenden Situation, in denen Daten korrigiert werden können. Wenn mehr als zwei Hinweissignale Fehler anzeigen oder wenn T-S.. Φ S bei einer Einzelbytekorrcktur nie 0 wurdon, dann qibt do χ- Steuer-
, BAD ORIGINAL
Docket PO 9§9 055
Signalgenerator 20 ein Signal N ab, welches anzeigt, daß die Daten fehlerhaft sind und nicht korrigiert werden können.
In Fig. 5 sind die geometrischen Beziehungen zwischen den Datenspuren und den Prüfbitspuren gezeigt. Die mit X bezeichneten Kästen sind die Datenspurzellen oder Bitpositionen, deren Indizes die geometrische Lage angeben. Die erste Indexziffer bezeichnet die Spur, während die zweite die Lage des Bits in der Spur angibt. Es ist zu beachten, daß das Byte mit einer Länge von vier Bits dargestellt ist. Daher bezeichnet XOl die Zellenposition 1 in der Spur 0. Auf ähnliche Weise sind die Prüfbits C geometrisch bezeichnet. Die Syndrome S und S des Fehlerkorrekturcodes umfassen eine Anordnung von Zellen, die zwei Fehler enthalten kann.
Die Prüfbits werden in zwei Spuren gebildet, welche den parallelen Spuren oder Datenbytes angefügt werden. Die zu prüfenden Daten sind in der Tabelle wiedergegeben als XOl bis X54. Die Prüfziffern CIl bis C24 sind der Rest der Antivalenzfunktion aller binären Einsen im Datenteil der Tabelle, die eine entsprechende 1 in der Codiermatrix der Fig. 8 aufweisen. Die Prüfzahl CIl ist z. B. das Ergebnis der Antivalenzverknüpfung oder Modulo-2-Addition Datenbits XOl, XIl, X21, X31 r- X41 und X51. In ähnlicher Weise werden die anderen sieben Prüfzahlen errechnet. Es ergeben sich acht errechnete Syndroinbits:
SIl, S12, S13y S14, Syndrombyte 1 S21, S22, S23, Ξ24, Syndrombyte 2
Die Prüfziffern CIl bis C14 sind die Antivalenzsumme der vertikalen Spalten der Fig. 5. Die Prüfziffern C21 bis C24 sind die antivalenzsuimne von drei Diagonalen, die durch die gestrichelten Linien 30 üargestellt sind.
in Fig. 2 in Form eines Blockschaltbildes gezeigte Ausführungs-. „.. nrn ^r 2 ü -J ' ' /' " ί 1 BAD ORIGINAL
beispiel verarbeitet einen Datenblock von 24 Bits in 6 Bytes zu je vier Bits und die empfangene Nachricht gelangt bei 40 in den Decodierer 6 und läuft in parallelen Kanälen zum ersten Syndromkomponentenrechner 10, zum zweiten Syndromkomponentenrechner 12 und zu einer Fehlerkorrekturschaltung 22. Der S.-Syndromrechner 10 errechnet das Syndrom und gibt es bei 14 aus. Dieses Syndrom läuft durch parallele Kanäle zum Steuersignalgenerator 20, zum Fehlerrechner 18 und zum Modulo-2-Addierer 26. Der S2-Syndromrechner 12 berechnet das Syndrom S_ und gibt es bei 16 aus, von ™ wo es zum Steuersignalgenerator 20 und zum Fehlerrechner 18 läuft. Die Hinweis-Selbsthalteschaltungen 28 empfangen Hinweiseingangssignale Pq, P., ..., Pj_+1 und geben ähnliche Signale ab, die zum Steuersignalgenerator 20 gelangen. Der Steuersignalgenerator 20 erzeugt Steuersignale d, I, J, , S. und S , die zum Fehlerrechner
JC u 6
18 gelangen und er erzeugt Steuersignale J., die zur Fehlerkorrekturschaltung 22 gesandt werden. Der Steuersignalgenerator 20 sendet auch die Signale I, an die ODER-Glieder 24, wo sie mit ähnlichen I-Signalen verknüpft werden, die vom Fehlerrechner 18 erzeugt und ausgegeben werden. Als Ausgangssignale liefern die ODER-Glieder !-Signale, die zur Fehlerkorrekturschaltung 22 gelangen. Die Fehlerkorrekturschaltung 22 berechnet die Fehlersignale, die einem Modulo-2-Addierer 26 zugeführt werden. Bei der Einzelbytekorrektur gibt der Fehlerrechner 18 einen Satz von I-Signalen an den Steuersignalgenerator 20 und die ODER-Glieder 24 ab. Der Modulo-2-Addierer 26 errechnet S_ aus den Eingangssignalen S. und S.. S- wird der Fehlerkorrekturschaltung zugeleitet. Die Fehlerkorrekturschaltung errechnet die Korrekturdaten D_, D,, ...,
Λ Ul
D, , aus S5, S., den Daten D* und den Steuersignalen I und J.
Fig. 3 zeigt die Organisation des Codierers. Die Daten kommen bei 30 herein und werden zu vier Addierern 32-1 bis 32-4 zur Errechnung von C. und vier Addierern 34-1 bis 34-4 zur Errechnung von C2 weitergeleitet. Das Ausgangssignal eines jeden Addierers ist die Summe seiner Eingangssignale und die Addition ist die für das GF(2) definierte. In Fig. 3 sind die Daten in binärer Form gezeigt, wie sie durch eine Maschine auf binärer Basis verarbeitet
. . - 20 98 29/09 11
werden, wobei X-* das p-te Bit des j-ten Bytes bezeichnet.
Das Aufteilungsschema richtet sich nach den oben beschriebenen Grundprinzipien. Für das Ausführungsbeispiel werden die vier Spaltenvektoren von GF<2) folgendermaßen gewählt:
Docket PO 969 055 ORIGINAL INSPECTED
(17)
- 24 -
O ι a ~ O 2
, a =
O 3
, a
1
O
O
O
1
1
O
O
O
1 O O O
und die Multiplikationsmatrizen basieren auf dem nicht reduzier-
4
baren Polynom X + X + 1 und ergeben:
1 O O O
O 1 O O
O O 1 O
O O O 1
O 1 O O
O O 1 O
1 O O 1
1 O O O
O O 1 O
1 O O 1
1 1 O O
O 1 O O
1 O O 1
1 1 O O
O 1 1 O
O O i-l O
1 1 O O
O l-t 1 O
1 O 1 i-l
1 O O 1
O 1 1 O
1 O 1 1
O 1 O 1
1 1 O O
Die resultierende Codiermatrix ist in binärer Form in Fig. 8 gezeigt.
2 0 9 0 2 0/0911
Die Biteingänge 36 zum Addierer 32-1, der das erste Bit des Prüfbyte C errechnet, sind vollständig in Fig. 3 gezeigt. Diese Eingänge entsprechen der ersten Zeile der in Fig. 8 dargestellten Codiermatrix H . In ähnlicher Weise sind die Eingänge 38 zum Addierer 34-2 gezeigt, der das zweite Bit des zweiten Prüfbytes errechnet. Diese entsprechen der sechsten Zeile der Codiermatrix H , Die anderen nicht im einzelnen gezeigten Eingänge erhält man aus derselben Codiermatrix,
Fig. 4 zeigt die Organisation des S _Syndromrechners 10 und des S2-Syndromrechners 12 der Fig. 2. Die empfangene Nachricht kommt bei 40 herein und wird auf die Addierer 42-1 bis 42-4 weitergeleitet, die die Bits des ersten Syndroms S1 errechnen, und auf die Addierer 44-1 bis 44-4, die die Bits des zweiten Syndroms S entsprechend der in binärer Form ausgedrückten und in Fig. 9 gezeigten Decodiermatrix errechnen. Die einzelnen dargestellten Eingänge für die Addierer erhält man aus der Tabelle H in Fig.9. Die oberen vier Zeilen von Hn werden zur Berechnung des Syndroms S, und die unteren vier zur Berechnung des Syndroms S_ benutzt.
Die Hinweis-Selbsthalteschaltungen 28 bestehen aus der in Fig. 6 gezeigten Anordnung. Jedes Hinweissignal P. setzt eine Selbsthalteschaltung 46, wenn das Hinweissignal eine 1 ist und einen Fehler im Byte bzw. der dargestellten Spur anzeigt. Die Anzahl der Selbsthalteschaltungen 46 entspricht der Spurenanzahl einschließlich der Prüfspuren. Jede Selbsthalteschaltung 46 weist einen Rückstelleingang 48 auf. Ein NICHT-Glied 50 ist mit dem Ausgang einer jeden Selbsthalteschaltung so verbunden, daß man nicht nur die Signale PQ, P,, ?k+1 erhält, sondern auch deren Komplemente ^O' ^l' ^k+1* D*ese Hinweissignale und ihre Komplemente werden als Eingangssignale für den Steuersignalgenerator 20 benutzt.
Der in Fig. 7a bis 7e gezeigte Steuersignalgenerator 20 empfängt die Syndromsignale S und S von den entsprechenden Rechnern 10 bzw. 12, Diese Signale bestehen aus einem Syndromsignal für jedes Bit im Byte, nämlich S-, S ~, S-, S . und dem Syndrom S2 = s 2i'
S„2, S-, ^24* Aus F^5· ^a *s*- zu ersehen, daß jedes dieser Syn-.dromsignale einen NOR-Glied 52 zugeführt wird, welches ein Ausgangssignal S0 erzeugt, wenn beide Syndrombytes G sind. Dadurch wird angezeigt, daß die Daten richtig sind. In Fig. 7b ist zu sehen, wie die Hinweissignäle PQ, P-, ..., Pk+1 und ihre Komplemente den UND-Gliedern 54 im Steuersignalgenerator 20 so zugeführt werden, daß jedes der Hinweissignale und die den Komplementen der restlichen Hinweissignale einer UND-Verknüpfung unterwor- ^ fen und die Ergebnisse dem ODER-Glied 56 zugeleitet werden und so ™ ein Aus gangs signal NP erzeugt wird, wenn ein Byte durch ein Hinweissignal als fehlerhaft angezeigt wird. In ähnlicher Weise werden die Hinweissignale jeweils einer Schaltung T zugeführt, die nur ein Ausgangssignal liefert, wenn genau zv/ei ihrer Eingangsleitungen ein 1-Signal führen. Somit ist der Ausgang der Schaltung T2 das Signal NP2, welches anzeigt, daß zwei Hinweissignäle Fehler in separaten Bytes bezeichnen. Die Komplemente der Hinweissignale, nämlich PQ, P1, ... P^+1 werden einer UND-Schaltung 5 8 in Fig. 7a zugeführt, die ein Ausgangssignal erzeugt, wenn alle Eingangssignale gleich oder richtig sind, welches dann im ODER-Glied 60 mit dem Signal NP verknüpft wird, das in der oben in Zusammenhang mit Fig. 7b beschriebenen Anordnung erzeugt wurde. Dieses W ODER-Glied 60 erzeugt ein Ausgangssignal NQ , wenn ein oder kein Fehler vorliegt. Das Ausgangssignal des UND-Gliedes 58 läuft durch ein NICHT-Glied 62, welches im wesentlichen das Komplement erzeugt. Das Ausgangssignal des NICHT-Gliedes 62 dient als Eingangssignal für das UND-Glied 64, dessen andere Eingangssignale NP1 und NP„ sind. Das Signal NP zeigt an, daß eines der Hinweiseignale einen Fehler anzeigt und das Signal NP2, daß zwei Hinweissignale auf Fehler vorliegen. Somit zeigt das Ausgangssignal N_ des UND-Gliedes 64 an, daß mehr als zwei Bytes fehlerhaft sind und somit eine nichtkorrigierbar Situation vorliegt. Das Ausgangssignal NQ1 vom ODER-Glied 60 wird als ein Eingangssignal für das UND-Glied 66 benutzt, dessen anderes Eingangssignal SQ ist. Das Signal UQ. zeigt 0 oder 1 Fehler an, wogegen das Signal SQ keinen Fehler anzeigt. Da dem Eingang des UND-Gliedes 66 das Komplement des Signalee S0 und das Signal NQ1 zugeführt werden, zeigt das Ausgangssi-
Λ Λ Λ Λ Λ J λ λ j;
gnal S an, daß eine Bytekorrektur erfolgen sollte. Ein Steuersignal S, wird ebenfalls im Signalgenerator 20 erzeugt und zeigt an, daß die Daten mit der einen durchgeführten Bytekorrektur in Ordnung sind. Dieses Signal wird erzeugt, indem man dem NOR-Glied 61 die Syndromsignale S , S , S und S und einem zweiten NOR-Glied 63 die Syndromsignale S , S , S und S . zuführt. Die Ausgangssignale dieser beiden ODER-Glieder 61 und 6 3 werden dem Eingang der Antivalenzschaltung 65 zugeführt, deren Ausgangssignal das Signal S^ ist.
Die Signale S-, und S werden einem UND-Glied 67 zugeführt, dessen ei e
Ausgangssignal einem ODER-Glied 69 zugeleitet wird, welches als zweites Eingangssignal das Signal SQ empfängt. Das ODER-Glied 69 erzeugt ein Ausgangssignal S , welches anzeigt, daß die Daten gut sind.
Die vom Fehlerrechner 18 empfangenen I-Signale werden in ein NOR-Glied 71 eingegeben, dessen Ausgangssignal zusammen mit den Signalen S und S, dem UND-Glied 73 zugeführt wird. Das Ausgangssignal des UND-Gliedes 73 wird einem ODER-Glied 75 zugeleitet, dessen anderes Eingangssignal das Signal N ist. Das Ausgangssignal des ODER-Gliedes 75 ist mit N_ bezeichnet und zeigt an, daß nichtkorrigierbare Fehler vorlegen.
In Fig. 7c ist eine Anordnung von UND-Gliedern 70 und NICHT-Gliedern 72 gezeigt, die die I.-Signale IQ, I , ..., I, und deren Komplemente I, erzeugen können, indem das Signal S an jedes der UND-Glieder 70 angelegt und dadurch das Erzeugen von I-Signalen unterdrückt wird, wenn das System einen Einzelfehler korrigiert. Die UND-Verknüpfung jedes Hinweissignales mit den Komplementen der vorhergehenden Hinweissignale erzeugt das entsprechende I-Signal, wenn das angegebene Hinweissignal den Binärwert 1 besitzt. Wenn z. B. P„ ebenso wie die vorhergehenden Hinweissignale P und PQ den Binärwert O aufweist, erzeugt die Negation der Signale P. und PQ Eins-Signale und somit liefert die UND-Schaltung ein O-Ausgangssignal für I3. Wenn jedoch angenommen wird, daß das Hinweis-
Docket PO 969 055 209829/0911
signal P5 den Wert 1 besitzt und dadurch ein fehlerhaftes Byte bezeichnet, dann weisen sämtliche Eingangssignale der zweiten UND-Schaltung den Binärwert 1 auf und damit auch das Ausgangssignal I_. Demzufolge erzeugen die nachfolgenden Hinweis-Eingangssignale für die weiteren UND-Glieder kein Ausgangssignal, da ihre Eingangssignale niemals alle gleich sein können, da sie alle die Negation des Signales P_ oder anderer vorhergehender Signale mit dem Binärwert 1 enthalten. Somit geben die I-Signale immer das erste fehlerhafte Byte an. Mit Ausnahme des Signales IQ werden alle Ausgangssignale der UND-Schaltungen 70 über eine Negationsschaltung 72 geleitet zur Erzeugung der Komplemente der I-Signale, nämlich
In Fig. 7d sind die UND-Glieder 74 zur Erzeugung der Signale J1, J2, ... Jk gezeigt. Wie bereits gesagt, bezeichnen die J-Signale das zweite fehlerhafte Byte, indem wieder in jedes der separaten UND-Glieder 74 das entsprechende Hinweissignal und das Komplement des entsprechenden I-Signales zusammen mit dem Signal S eingegeben wird. Wieder wird als Beispiel für das zweite UND-Glied 74 das Signal P3 mit dem Wert 1 und das Signal I2 ebenfalls mit 1 angenommen, da P2 bei der Erzeugung der I-Signale ein 1-Ausgangssignal für das Signal I liefert. Daher ist ΐ_ ein 0-Signal. Somit hat J2 ein O-Ausgangssignal. Das ist sinnvoll, da die I-Signale das erste fehlerhafte Byte und die J-Signale das zweite fehlerhafte Byte anzeigen. Das Signal J_ gilt für dasselbe Byte wie das Signal I„. Wenn jedoch das Signal P den Wert 0 hatte, d.
** 4L
h., dieses Hinweissignal zeigte keinen Fehler an, dann hat das Signal I3 den Wert 1. Somit liefert das zweite UND-Glied kein Ausgangssignal und zeigt dadurch an, daß J2 den zweiten Fehler nicht enthielt.
Wie bereits erklärt wurde, werden die Distanzsignale d., d2, ..., dk-1 durch die UND-Glieder 67 und die ODER-Glieder 78 erzeugt, die als Eingangssignale die Signale I und J empfangen und aufeinanderfolgende Distanzsignale d gemäß Darstellung in Fig. 7e erzeugen. Die erste Gruppe von UND-Gliedern vergleicht benachbarte
Docket PO 969 055
2 0 9 G !Ml / 0 9 1 1
I- und J-Signale. Im ersten UND-Glied werden die Signale I und j miteinanderverknüpft, dann die Signale I und J, usw., bis alle benachbarten I- und J-Signale üND-verknüpft wurden. Die Ausgänge dieser UND-Glieder 76 sind an ein ODER-Glied 78 angeschlossen, das ein Ausgangssignal d. erzeugt, wobei i die ganzen Zahlen 1 bis k-1 darstellt. Das Ausgangssignal d„ besagt z. B. daß der Abstand zwischen dem I-ten und J-ten fehlerhaften Byte 2 beträgt. Wie bereits gesagt, wird dieses Abstandssignal für die Berechnungen im Fehlerrechner 18 benötigt, die noch zu besprechen sind. So vergleicht die erste Gruppe von UND-Gliedern 76 benachbarte I- und J-Signale, während die zweite Gruppe I- und J-Signale mit dem doppelten Abstand vergleicht, die nächste solche mit dem dreifachen Abstand usw. bis nach I_, J1 ., wo ein Vergleich des ersten
υ κ—ι
I-Signales mit dem letzten J-Signal vorgenommen und dadurch das Distanzsignal d, erzeugt wird.
Die Organisation des Fehlerrechners ist in Fig. 10 und sein Aufbau in den Fign. 10a, 1Oa--1 und 10a-2 gezeigt, wobei für das Beispiel ein Datenblock mit sechs Datenbytes und zwei Prüfbytes mit je vier Bits gewählt wird. Der Rechner ist aufgebaut nach der oben abgeleiteten Formel:
S4 = S1 θ (Tj X Φ I)"1 (t"1 S2 Φ S1)
Die Modulo-2-Addierer 78 in Fig. 10a errechnen folgenden Ausdruck:
-i
S3 * T S2 Φ
Das Ausgangssignal jeder dieser Antivalenzschaltungen oder Modulo-2-Addierer wird entsprechenden UND-Gliedern 80 zusammen mit einem der I-Signale IQ bis I5 zugeleitet. Wie bereits erklärt wurde, weist der 4-Bit-Code oder der Code mit vier Bits pro Byte Syndrom-
Signale S1 = S11, S12, S13, S14 und S3 = S21, S33, S33, S34 auf. Somit wird jedes der I-Signale mit einem Byte von Syndromdaten verknüpft. Die S„-Signale, die mit den S -Syndrombits antivalent verknüpft werden, werden bestimmt gemäß der Theorie für das Galois-Feld, dargestellt durch T~x in der Gleichung. Der Ausgang des entsprechenden Bit-UND-Gliedes eines jeden Bytes wird ODER-verknüpft zur Bildung von S3 oder der Syndrom-Ausgangssignale, S31' S32' S33' S34* Diese ODER-Verknüpfung der Ausgänge der UND-Glieder 80 wird durch einen Punkt in Fig. 10 bezeichnet und auch manchmal DOT-ODER-Funktion genannt. Die Eingangssignale der UND-Glieder 80 werden auch entsprechenden NOR-Gliedern 81 zusammen mit dem Signal S~ zur Erzeugung der Ausgangssignale I für die Einzelbytekorrektur zugeleitet. Diese Syndrombit-Ausgangssignale werden Modulo-2-kombiniert, um den Ausdruck
S4 = (T^"1 G I)"1 S3
in den Schaltungen nach den Fign. 10b und lOb-1 zu errechnen. Die Eingangssignale für die Modulo-2-Addierer 82 werden nach der Theorie des Galois-Feldes GF(2 ) gemäß obiger Beschreibung bestimmt. Die Ausgangssignale eines jeden Modulo-2-Addierers 82 werden entsprechenden UND-Gliedern 84 zugeleitet. Jede Gruppe von vier UND-Gliedern stellt die vier Bits des Bytes S4 dar, wobei jedes Eingangssignal mit einem entsprechenden Distanzsignale d.... df ver-
X ο
knüpft wird. Somit hat die erste Gruppe oder das Byte von vier UND-Gliedern 84 als Eingangssignal das Distanzsignal d,, wogegen die zweite Gruppe von vier UND-Gliedern als Eingangssignal das Distanzsignal d3 hat usw. bis d-. Die AusgangssignaIe der UND-Glieder 84 der entsprechenden Bitpositionen einer jeden Gruppe werden miteinander ODER-verknüpft zur Erzeugung der gewünschten Fehlersignale e.» w ei2' ei3 un<^ 614' dxe ^as Fehiermuster S4 " ei *m zweiten fehlerhaften Byte darstellen. Diese ODER-Verknüpfung der Ausgangssignale der UND-Glieder 80 und 84 ist möglich, weil höchstens 1 und nur ein I-Signal und höchstens ein d-Signal oder das Signal J^
aktiv sind. Diese e.-Signale werden als Eingangssignale entsprechenden Antivalenzschaltungen 26 zugeleitet, deren anderes Eingangssignal gemäß Darstellung in Fig. 10b gebildet wird durch die S-Syndrombits S , Si2f Si3 1^ S14* Die Aus^311^8^115116 der Antivalenzglieder 26 sind S5 « e. = e.., e i2 f ei3 und ei4 und stellen das Fehlermuster für das erste fehlerhafte Byte dar.
In den Fign. 11 und 11a ist die Fehlerkorrekturschaltung 22 gezeigt, wo die empfangenen fehlerhaften Daten durch Addition des entsprechenden Fehlermusters korrigiert und so die korrigierten
AA A
Daten DQ, D , ... D. , erhalten werden. Wie bereits gezeigt wurde, sind die Eingangssignale für die Fehlerkorrekturschaltung 22 die Fehlermuster S5 = e. und S4 = e., die empfangenen Daten D' , D', '·', °'ν_ι un^ äie Eingangssignale I und J. Das Fehlermuster e. und das Fehlermuster e. werden als EingangsSignaIe den UND-Gliedern 86 mit den entsprechenden Signalen I und J zugeführt. Nimmt man z. B. das zweite Datenbyte D ., D3, D _ und D4, so wird jedes der Fehlerbits e,,, &*ο' ei3 ^331^ ei4 mit dem entsPre" chenden I-Signal I UND-verknüpft. In ähnlicher Weise wird jedes der Bitsignale β-π/ e-ior e13 1^10 ei4 in einein separaten UND-Glied 86 mit dem Eingangssignal J verknüpft. Die Ausgangssignale dieser beiden UND-Glieder werden als Eingangssignale für einen Modulo-2-Addierer 88 benutzt, dem als drittes Eingangssignal ein Datenbit zugeführt wird. Die Ausgangssignale des Modulo-2-Addierers stellen die korrrigierten Datenbits dar. So werden z. B. D.., D f D.- und D . zusammen mit den AusgangsSignalen der UND-Glieder 86 im Modulo-2-Addierer verknüpft und erzeugen als Ausgang die korrigierte Daten D.., ^12' D-, und D... Eine Analyse der Schaltung zeigt, daß bei Vorliegen eines Fehlers z. B. im Datenbit D . dann eix = 1 und I. » 1 sind und anzeigen, daß Bit 1 des Byte D. fehlerhaft ist. Das UND-Glied 86 empfängt die Signale e±1 und I und erzeugt ein I-Ausgangssignal, welches im Modulo-2-Addierer 88 mit dem empfangenen Datenbit D antivalent verknüpft wird und das korrigierte Bit D11 - D11 9 eix erzeugt. Da die Signale i und j für dasselbe Byte nicht existieren können, empfängt das UND-Glied 86 dann e,. und J mit dem Wert 0 und hat daher keinen Einfluß auf
Docket PO 969 Ό55 2 0 9 8 2 9/0911
die Antivalenzschaltung 88. Der Wert D ist gleich dem korrigierten Wert der Empfangsdaten D.
Docket PO 969 055
2 0 9 0 :. il /0 9 1 1

Claims (11)

  1. PATENTANSPRÜCHE
    Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks zwecks Korrigierbarkeit zweier Bytes, deren sämtliche Bits fehlerhaft sein können, dadurch gekennzeichnet, daß ein Codierer (l;Fig.l) vorgesehen ist, der für jeden Datenblock zwei Prüfbytes C. und C„ liefert, die aus den Datenbytes D_, D , D3, ... D,_. nach folgenden Gleichungen:
    « I D0 + I D1 + I D2 + ... I Dk-1 und » I D0 + T D1 + T2 D2 + ... T1*""1 D^1
    2 errechnet werden, in denen I das Einselement und T, T ,
    3 k-1
    T ... T unterschiedliche, von Null verschiedene Elemente des Galois-Feldes (2 ) und die angegebenen Multiplikationen und Additionen die für Galois-Felder definierten Operationen sind, wobei b ganzzahlig und < 1 und k ganzzahlig und 2 < k < 2 ist, daß ein Decodierer (6; Fig. 1) vorgesehen ist, der eine Schaltung (28; Fig. 2) zum Erzeugen von sog. Hinweissignalen, die auf die fehlerhaften Bytes hinweisen, eine Schaltungsanordnung (10, 12, 18, 20, 26) zum Erzeugen von sog. Fehlersignalen, die die fehlerhaften Bits innerhalb der beiden Bytes angeben und eine Fehlerkorrekturschaltung (22) enthält, die die fehlerhaften Bytes unter Verwendung der Fehlersignale korrigiert.
  2. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Schaltungsanordnung zum Erzeugen der Fehlersignale einen ersten (10; Fig. 2) und zweiten (12) Syndrom-Rechner enthält zur Berechnung der Syndrome S1 und S2 aus dem
    Datenblock und den Prüf bytes nach den Gleichungen:
    S1-I D'o + I D^ + I D'2 + ... I D1^1 + I C1 S2 - I DQ + T D1 + T2 D2 + T3 D3 + ... Tk-1 Dk + C3
  3. 3. Einrichtung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Schaltungsanordnung zum Erzeugen der Fehlersignale einen Steuersignalgenerator (20) enthält,
    W der an die Ausgänge der Syndromrechner und der Schaltung zum Erzeugen der Hinweissignale angeschlossen ist und I-Signale und J-Signale, die das erste und zweite fehlerhafte Byte identifizieren sowie d-Signale erzeugt, die den Abstand zwischen den beiden fehlerhaften Bytes angeben.
  4. 4. Einrichtung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß die das erste fehlerhafte Byte kennzeichnenden I-Signale von einer Gruppe von UND-Gliedern (70; Fig. 7c) geliefert werden, deren jedem ein Hinweissignal P. und die Komplemente der Hinweissignale mit kleineren Indexwerten zugeführt werden.
  5. 5. Einrichtung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß die das zweite fehlerhafte Byte kennzeichnenden J-Signale des Steuergenerators von einer Gruppe von UND-Gliedern (74; Fig. 7d) geliefert werden, deren jedem ein Hinweissignal P. und das Pomplement I^ des I-Signals mit gleichem Indexwert zugeführt werden.
  6. 6. Einrichtung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß zur Erzeugung der d-Signale, die den Abstand der fehlerhaften Bytes angeben, eine Gruppe von UND-Gliedern (76; Fig. 7e) mit zwei Eingängen vorgesehen ist, in der jedes I-Signal mit jedem der J-Signale verknüpft wird, und daß die Ausgänge derjenigen UND-Glieder,
    die Abstandssignale d liefern, die dem gleichen Abstand zweier fehlerhafter Bytes entsprechen, mit einem ODER-Glied (78) verbunden sind.
  7. 7. Einrichtung nach den Ansprüchen 1 bis 6, dadurch gekennzeichnet, daß der Steuersignalgenerator außerdem noch folgende Signale liefert: ein Signal NQ1 bei keinem oder einem Fehler, ein Signal N bei unkorrigierbaren Fehlern, ein Signal S bei Fehlerfreiheit, ein Signal S , wenn ein einzelnes Byte korrigert werden muß, und bei Vorliegen des Signales S ein Signal S,, das anzeigt, daß ein Prüfbyte und nicht ein Datenbyte fehlerhaft ist.
  8. 8. Einrichtung nach den Ansprüchen 1 bis 7, dadurch gekennzeichnet, daß die Schaltungsanordnung zum Erzeugen der Fehlersignale einen Fehlerrechner (18; Fig. 2) aufweist, der an die Ausgänge der beiden Syndromrechner und des Steuersignalgenerators angeschlossen ist und ein Modulo-2-Addierwerk (78; Fig. 10a, 10a-1, 10a-2) zur Lösung der Syndromgleichung S_ = T~ S, + S. enthält sowie UND-Glieder (80) zum Durchschalten der Ausgangssignale des Modulo- 2-Addierwerks mittels der das erste fehlerhafte Byte identifizierenden I-Signale des Steuersignalgenerators.
  9. 9. Einrichtung nach den Ansprüchen 1 bis 8, dadurch gekennzeichnet, daß der Fehlerrechner ein weiteres Modulo-2-Addierwerk (82; Fig. 10b, 10b-1) enthält, um das Syndrom
    53 mit (T-* + I)'1 zu multiplizieren (modulo 2), und weitere UND-Glieder (84) zum Durchschalten der Ausgangssignale des Modulo-2-Addierwerks mittels der d-Signale des Steuersignalgenerators zur Bildung des Fehlersignals
    54 - (T3" + I)"1 S3 ■ e., wobei e. das Fehlermuster des zweiten Bytes darstellt.
  10. 10. Einrichtung nach den Ansprüchen 1 bis 9, dadurch gekenn-
    Docket PO 969 055 20982 3/09
    zeichnet, daß die das Fehlersignal S liefernden Ausgänge des Fehlerrechners (18; Fig. 2) an ein Modulo-2-Addierwerk (26; Fig. 2) angeschlossen sind, dessen zweite Eingänge mit dem ersten Syndromrechner (10) verbunden sind zur Bildung eines Ausgangssignals S5 «= S © S4 - e. , wobei e. das Fehlermuster des ersten Bytes darstellt.
  11. 11. Einrichtung nach den Ansprüchen 1 bis 10, dadurch gekennzeichnet, daß die Fehlerkorrekturschaltung (22; Fig. 2) eine Gruppe von UND-Gliedern (86; Flg. 11a, b) enthält zum Durchschalten der Fehlersignale S4 = e, mittels der das zweite fehlerhafte Byte angebenden J-Signale des Steuergenerators und der vom Modulo-2-Addierwerk (26; Fig. 2) geliferten Signale S5 = e. mittels der I-Signale des Steuergenerators zu einem Modulo-2-Addierwerk (88), dessen Eingängen die Ausgangssignale der UND-Glieder und die Bitsignale der Datenbytes zum Erzeugen des korrigierten Datenblocks zugeleitet werden.
    Docket PO 969 055 J-^
    Leerseite
DE2162833A 1970-12-18 1971-12-17 Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits Expired DE2162833C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US9949070A 1970-12-18 1970-12-18

Publications (3)

Publication Number Publication Date
DE2162833A1 true DE2162833A1 (de) 1972-07-13
DE2162833B2 DE2162833B2 (de) 1975-02-13
DE2162833C3 DE2162833C3 (de) 1975-09-25

Family

ID=22275261

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2162833A Expired DE2162833C3 (de) 1970-12-18 1971-12-17 Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits

Country Status (9)

Country Link
US (1) US3697948A (de)
JP (1) JPS5215190B1 (de)
BE (1) BE774916A (de)
CA (1) CA951434A (de)
DE (1) DE2162833C3 (de)
FR (1) FR2118450A5 (de)
GB (1) GB1326976A (de)
IT (1) IT943922B (de)
NL (1) NL7117085A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2532149A1 (de) * 1974-08-19 1976-03-04 Ibm Fehlerkorrekturanordnung

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3745528A (en) * 1971-12-27 1973-07-10 Ibm Error correction for two tracks in a multitrack system
US3868632A (en) * 1972-11-15 1975-02-25 Ibm Plural channel error correcting apparatus and methods
USRE30187E (en) * 1972-11-15 1980-01-08 International Business Machines Corporation Plural channel error correcting apparatus and methods
US3851306A (en) * 1972-11-24 1974-11-26 Ibm Triple track error correction
US3859630A (en) * 1973-01-29 1975-01-07 Burroughs Corp Apparatus for detecting and correcting errors in digital information organized into a parallel format by use of cyclic polynomial error detecting and correcting codes
US3913068A (en) * 1974-07-30 1975-10-14 Ibm Error correction of serial data using a subfield code
US3982226A (en) * 1975-04-03 1976-09-21 Storage Technology Corporation Means and method for error detection and correction of digital data
US3958220A (en) * 1975-05-30 1976-05-18 International Business Machines Corporation Enhanced error correction
US4030067A (en) * 1975-12-29 1977-06-14 Honeywell Information Systems, Inc. Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes
US4077028A (en) * 1976-06-14 1978-02-28 Ncr Corporation Error checking and correcting device
JPS5555412A (en) * 1978-10-17 1980-04-23 Victor Co Of Japan Ltd Signal recording and reproducing device
JPS5556744A (en) * 1978-10-23 1980-04-25 Sony Corp Pcm signal transmission device
JPS5573909A (en) * 1978-11-28 1980-06-04 Matsushita Electric Ind Co Ltd Signal processor
GB2042228B (en) * 1979-01-31 1983-09-14 Tokyo Shibaura Electric Co Data correcting system
JPS55149551A (en) * 1979-05-10 1980-11-20 Toshiba Corp Data correcting circuit
JPS56119550A (en) * 1980-02-25 1981-09-19 Sony Corp Transmission method of pcm signal
JPS56127908A (en) * 1980-03-10 1981-10-07 Victor Co Of Japan Ltd Wrong-correction preventing system for digital signal reproducer
GB2073534B (en) * 1980-04-02 1984-04-04 Sony Corp Error concealment in digital television signals
GB2121642B (en) * 1982-05-26 1985-11-27 Sony Corp Error concealment in digital television signals
JPS601673A (ja) * 1983-06-17 1985-01-07 Sony Corp 誤り検出方法
US4908826A (en) * 1988-01-05 1990-03-13 Digital Equipment Corporation Stored data error correction system
US5343481A (en) * 1991-01-07 1994-08-30 Kraft Clifford H BCH error-location polynomial decoder
US5751740A (en) * 1995-12-14 1998-05-12 Gorca Memory Systems Error detection and correction system for use with address translation memory controller
US6532566B1 (en) 1999-05-24 2003-03-11 Oak Technology, Inc. Modified Reed-Solomon multiplication
US6378105B1 (en) * 1999-05-24 2002-04-23 Oak Technology, Inc. Reed-Solomon multiplication method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3478313A (en) * 1966-01-20 1969-11-11 Rca Corp System for automatic correction of burst-errors
US3562709A (en) * 1968-09-12 1971-02-09 Rca Corp Correction of block errors in transmission of data
US3582878A (en) * 1969-01-08 1971-06-01 Ibm Multiple random error correcting system
US3601798A (en) * 1970-02-03 1971-08-24 Ibm Error correcting and detecting systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2532149A1 (de) * 1974-08-19 1976-03-04 Ibm Fehlerkorrekturanordnung

Also Published As

Publication number Publication date
BE774916A (fr) 1972-03-01
DE2162833C3 (de) 1975-09-25
FR2118450A5 (de) 1972-07-28
US3697948A (en) 1972-10-10
NL7117085A (de) 1972-06-20
DE2162833B2 (de) 1975-02-13
GB1326976A (en) 1973-08-15
IT943922B (it) 1973-04-10
CA951434A (en) 1974-07-16
JPS5215190B1 (de) 1977-04-27

Similar Documents

Publication Publication Date Title
DE2162833A1 (de) Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2106314C3 (de) Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks
DE2724409C2 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern
DE112016003638B4 (de) Auf eine Decodierung folgende Fehlerprüfung mit Diagnose für Produktcodes
DE102011085602B4 (de) Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz
DE2260850A1 (de) Fehlerkorrektursystem
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
DE2657826A1 (de) Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage
DE2263488C2 (de) Einrichtung zur Erkennung und Korrektur von Fehlern in zwei fehlerbehafteten Spuren eines Vielspur-Datensystems
DE102014215252B9 (de) Wirksame fehlerkorrektur von mehrbitfehlern
EP0400179A1 (de) Verfahren und Vorrichtung zum internen Paralleltest von Halbleiterspeichern
DE4220196A1 (de) Halbleiterspeichervorrichtung mit fehlerkorrekturschaltung und fehlerkorrekturverfahren fuer daten in einer halbleiterspeichervorrichtung
DE102005022107B9 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
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
DE4117726C2 (de) Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung
DE2908373C2 (de)
DE102013219088B9 (de) Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
DE1259124B (de) Anordnung zur Fehlerkorrektur und -anzeige
DE3211053A1 (de) Fehlerkorrektur- und kontrollsystem fuer pcm-dekodiergeraete
DE102022111624B4 (de) Fehlerkorrektur mit schneller Syndromberechnung
DE102015118668B4 (de) Fehlerkorrektur
EP0046963B1 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlerbündeln
DE102015121646B4 (de) Fehlerkorrektur
DE102021123727B4 (de) Bytefehlerkorrektur

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee