DE2106314A1 - Anordnung zur Fehlererkennung und korrektur in einem aus b Bits bestehen den Byte eines K Datenbytes enthaltenden Datenblocks - Google Patents

Anordnung zur Fehlererkennung und korrektur in einem aus b Bits bestehen den Byte eines K Datenbytes enthaltenden Datenblocks

Info

Publication number
DE2106314A1
DE2106314A1 DE19712106314 DE2106314A DE2106314A1 DE 2106314 A1 DE2106314 A1 DE 2106314A1 DE 19712106314 DE19712106314 DE 19712106314 DE 2106314 A DE2106314 A DE 2106314A DE 2106314 A1 DE2106314 A1 DE 2106314A1
Authority
DE
Germany
Prior art keywords
bytes
byte
data
correction
syndrome
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
DE19712106314
Other languages
English (en)
Other versions
DE2106314C3 (de
DE2106314B2 (de
Inventor
Douglas Craig Wappmgers Falls NY Bossen (V St A)
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 DE2106314A1 publication Critical patent/DE2106314A1/de
Publication of DE2106314B2 publication Critical patent/DE2106314B2/de
Application granted granted Critical
Publication of DE2106314C3 publication Critical patent/DE2106314C3/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
    • 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
    • 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/134Non-binary linear block codes not provided for otherwise
    • 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/17Burst error correction, e.g. error trapping, Fire codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

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

Description

Aktenzeichen der Anmelderin: Docket PO 969 038
Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks
Die Erfindung bezieht sich auf eine Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden, parallel zu übertragenden Datenblocks.
Ihr liegt die Aufgabe zugrunde, eine Anordnung zur Korrektur mehrfacher Fehler in einem aus mehreren Bits bestehenden Byte anzugeben, die einen minimalen apparativen Aufwand und nur einen Code geringer Redundanz erfordert. In einem System, in dem beispielsweise Daten durch Stanzen von jeweils acht Bits in Lochkarten gespeichert werden, deren jede als ein Byte betrachtet wird, ermöglicht die Erfindung ein fehlerfreies Wiedergewinnen der Daten des Kartenblocks, wenn verschiedene Datenbits einer einzigen Lochkarte falsch gestanzt werden.
Die erfindungsgemäße Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden, parallel zu übertragenden Datenblocks ist dadurch gekennzeichnet, daß eine Codierschaltung vorgesehen ist, die aus den K Datenbytes D1, D0, .
bytes C, und C2 gemäß den Beziehungen
D_ zwei je b Bits enthaltende Prüf-
10983 W1540
21063U
ID1 + ID2 + ... + XDK und
C2AiDi + A2D2 + · · · + ^0K ab16*·*^' *n denen I das
Einselement und A., A., ... A-. unterschiedliche und von Null verschiedene Elemente des Galois-Feldes (2 ) sind und die Additionen und Multiplikationen die für Galois-Felder definierten Operationen bedeuten und b eine ganze Zahl >1 und K eine ganze Zahl 2 < K < 2 ist, und daß eine Decodierschaltung vorgesehen ist, die aus einem empfangenen fehlerhaften Block den fehlerfreien liefert, wenn nur ein Byte des Blocks fehlerhaft war, unabhängig davon, wieviel Bits dieses Bytes fehlerhaft waren.
Nachfolgend wird ein bevorzugtes Ausführungsbeispiel der Erfindung in Verbindung mit den Zeichnungen beschrieben, von denen zeigen:
Fig. 1 ein Blockschaltbild eines Datenverarbeitungssystems, das die Erfindung benutzt;
Fig. 2 ein Blockschaltbild des Decodierers gemäß der Erfindung ;
Fig. 3 die Organisation des erfindungsgemäßen Codierers;
Fig. 4 die Organisation des Syndromrechners;
Fig. 5a u.5b die Organisation des Kriterienrechners;
Fig. 6 die Organisation des Korrekturrechners;
Fig. 7 die Codiermatrix und
Fig. 8 die Decodiermatrix.
Gemäß Fig. 1 werden Daten über einen Kanal 2 einem Codierer 1 Docket PO 969 038 10 9 8 3 4/1540
zugeführt. Der Codierer 1 liefert eine auszusendende Nachricht, die über den Kanal 3 zu einer Verarbeitungseinheit gelangt, die irgendeine Operation mit der Nachricht durchführt, z.B. sie speichert und später als empfangene Nachricht wieder abgibt, die über den Kanal 5 dem Decodierer 6 zugeführt wird, der die empfangene Nachricht decodiert und die wiedergewonnen Daten abgibt , die über den Kanal 7 einer weiteren Verwendung zugeführt werden. Die Arbeitsweise der Verarbeitungseinheit 4 kann unvollkommen sein und gelegentlich Fehler verursachen, so daß die empfangene Nachricht in dem Kanal 5 nicht notwendigerweise identisch ist mit der über den Kanal 3 ausgesendeten Nachricht. Der M Codierer 1 und der Decodierer 6 arbeiten zusammen, um die wiedergewonnenen Daten dem Kanal 7 mit weniger Fehlern zuzuführen, als durch die Verarbeitungseinheit verursacht wurden.
Die Erfindung kann bei informationsverarbeitenden Systemen mit unterschiedlichen Kapazitäten Anwendung finden. Daher wird sie zuerst unter Verwendung algebraischer Ausdrücke beschrieben, die auf jedes System beliebiger Größe anwendbar sind. Anschließend wird dann ein spezielles System beschrieben.
Gemäß der Erfindung werden Daten durch das System blockweise verarbeitet. Ein Datenblock besteht aus K Bytes, wobei jedes Byte aus b Datenbits besteht. (Hier und im folgenden bezeichnet % b eine ganze Zahl > 1 und K eine ganze Zahl 2 < K < 2 . Die Werte von b und K sind für ein bestimmtes Ausführungsbeispiel als Invariant zu betrachten, werden jedoch für Ausführungsformen verschiedener Kapazitäten verschieden gewählt). Ein Datenblock wird demgemäß bezeichnet mit D1, D3,...DR, wobei D, das erste Byte des Datenblockes darstellt, D0 das zweite
1 ^
Byte, usw. bis D_, das das K-te und letzte Byte darstellt. Ein Datenbyte wird mit D. bezeichnet, wobei der Index j jeden ganzzahligen Wert zwischen 1 und K annehmen kann. Gemäß der Erfindung errechnet der Codierer für den Datenblock zwei Prüfbytes, (mit C1 und C_ bezeichnet) deren jedes aus b Bits besteht und die an die K Datenbytes angehängt werden, um eine
Docket PO 969 038 1 0 9 8 3 A / 1 5 A 0
auszusendende Nachricht von K + 2 Bytes zu erhalten.
Um die Berechnung der Prüfbytes zu beschreiben, ist es zweckmäßig, sich zu merken, daß als Bytes, die aus b binären Bits zusammengesetzt sind, 2 verschiedene Bytes möglich sind und jedes mögliche Byte als ein Element eines Galois-Feldes von 2 Elementen zu betrachten (,das kurz als GF(2 ) bezeichnet ist). Die Existenz eines GF(2 ) für jeden Wert von b ist durch allgemeine Lehrsätze der Algebra sichergestellt. (Vergleiche z.B. W. Wesley Peterson: Prüfbare und korrigierbare Codes; R. Oldenbourg Verlag (1967)). Das Galois-Feld setzt zwei Operationen voraus, die gewöhnlich als "Addition" mit dem entsprechenden Nullelement θ und als "Multiplikation" mit dem entsprechenden Einselement I bezeichnet werden. Die Ausdrücke "Addition" und Multiplikation" und die damit zusammenhängenden Ausdrücke wie z.B. 3IAddierer" werden in diesem Sinne im folgenden gebraucht,
Die Regeln der Addition und Multiplikation von Bytes werden dadurch aufgestellt, daß man sich die Erkenntnis zu Nutze macht, daS das GF(2 ) von möglichen Bytes isomorph ist mit dem GF(2 ) von Polynomen mit Koeffizienten im GF(2) modulo einem irreduziblen Polynom des Grades b. (Zumindest ein irreduzibles Polynom existiert für jedes b.) Das Feld solcher Polynome ist ein Vektorraum der Dimension b über dem GF(2). Addition der Elemente in dem GF(2 ) wird daher ausgeführt durch Addition der entsprechenden Bits. (Die Addition ist die für das GF(2) und ist daher äquivalent der Addition modulo 2.) Multiplikation im GF(2b) kann man sich vorstellen als das Definieren einer Menge linearer Transformationen in dem entsprechenden Vektorraum der Dimension b.
Docket PO 969 Ο38 1 09834/ 1540
Der Vektorraum wird aufgespannt durch die Spaltenvektoren!
O
O
Λ7 . VV
O 1 O
VJ V.
(D
(worin O und 1 binäre Symbole sind) oder kürzer ausgedrückt;
Ö ξ el f * * m Si f ·*-
worin a ein primitives Element des GF(2 ) ist. (D.h., jedes von O verschiedene Element des Feldes kann dadurch erhalten werden, daß a zu irgendeiner Potenz erhoben wird.) Die Transformationsmatrix, die der Multiplikation mit dem Element Q entspricht, wird erhalten durch Aneinanderreihen der Spaltenvektoren
Qab"X, Qbb~2,...Qa, QI,
(2)
wodurch man erhält
Qa ...Qa QI
(3)
Multiplikation des Elementes R mit dem Element Q im GF(2 ) ist daher äquivalent der Multiplikation des Vektors R mit der Matrix T0, wobei der Vektor und die Matrixbestandteile dem GF(2) angehören. (D.h. Binärziffern sind). Diese Operationen werden unten in Verbindung mit einem bevorzugten Ausführungsbeispiel erläutert.
Bei dem Datenverarbeitungssystem gemäß der Erfindung errechnet der Codierer die Prüfbytes gemäß der Beziehungen
Docket PO 969 038
109834/1540
+ ID
(4)
(5)
worin Α
χ,
A von O verschiedene Elemente des GF(2 )
sind. Da es 2-1 solcher Element gibt, ist die Anzahl der Bytes in einem Block begrenzt auf K < 2 . Es ist zweckmäßig, die
und C- errechnet werden,
Beziehungen, durch die die Prüfbytes
durch eine Codiermatrix der Koeffizienten auszudrücken
I I ...I
A2...
und die beim Codieren durchgeführte Berechnung der Prüfbytes kann symbolisch geschrieben werden als
C - Hc D
(6) (7)
Unter Benutzung der oben entwickelten Beziehungen kann die Codiermatrix in binärer Form ausgedrückt werden, indem jedes Element des GF(2 ), das in der Codiermatrix erscheint, durch die entsprechende binäre Multiplikationsmatrix ersetzt wird. Die resultierende Form der Codiermatrix gibt explizit die Operationen an, die ein binär arbeitender Computer durchführen muß, um die Prüfbytes zu berechnen.
Dem Decodierer 6 wird die empfangene Nachricht D1', D2',...Dx 1I C1 1, C2 1, die aus K + 2 Bytes besteht, zugeführt und der Decodierer errechnet ein aus zwei Bytes bestehendes Syndrom (S1, S4) gemäß den Beziehungen
« ID1 1 + ID2 1... + IDR· + IC1 1
+A2D2 1...
Docket PO 969 038
109834/1540
Diese Beziehungen können durch eine Decodiermatrix mit K + 2 Spalten und zwei Zeilen beschrieben werden:
HD
I I ...I I θ 1
A, A_...A_ θ I
(10)
In ihr ist θ das Nullelement im GF(2 ). Die Berechnung des Syndroms kann symbolisch angegeben werden durch
S - H0 (Df, C) (11)
Die Decodiermatrix H kann natürlich explizit in binärer Form ausgedrückt werdet
eingesetzt werden.
ausgedrückt werden, indem die binären Multiplikationsmatrizen ^
Die Bedeutung der Syndrome (S , S.) kann aus einer Betrachtung der folgenden Operationen verstanden werden, die leicht von den Codier- und DecodierbeZiehungen unter der Annahme abgeleitet werden können, daß zumindest alle Bytes bis auf eines richtig übertragen wurden. Wenn S. = Θ, S_ » Θ, dann liegt kein Fehler in der empfangenen Nachricht vor. Wenn S «= Θ, S2 ι* Θ, dann liegt ein Fehler in C* vor. Wenn S. » A.S. φ θ, dann liegt ein Fehler von S in D' vor.
Der Decodierer erzeugt für jedes Byte ein Kriterium nach der Gleichung
B. = A.S1 + IS2 (12)
und erzeugt die wiedergewonnen Daten D.'' entsprechend
D.' ' » D* (B, φ θ) (13)
D." = D.1 + S1 (B. - O) (14)
Es sei besonders erwähnt, daß das fehlerhafte Byte korrigiert wird, selbst wenn mehrere Bits innerhalb des Byte fehlerhaft sind.
Docket PO 969 Ο38 '
109834/1540
Fig. 2 zeigt ein Blockschaltbild eines bevorzugten Ausführungsbeispieles zur Verarbeitung eines Datenblocks aus 64 Bits, die zu Bytes zusammengefaßt sind. Die empfangene Nachricht wird dem Decodierer 6 bei 12 zugeführt und gelangt in parallelen Kanälen zu dem Rechner 14, der die erste Komponente des Syndroms errechnet, zu dem Rechner 16, der die zweite Komponente des Syndroms errechnet und zu der Fehlerkorrekturschaltung 18. Der Rechner 14 errechnet und gibt bei 20 die Syndromkomponente S. ab, die über parallele Kanäle der Fehlerkorrekturschaltung 18 und dem Kriterienrechner 22 zugeführt wird. Der Rechner 16 errechnet und gibt bei 21 die Syndromkomponente S2 ab, die dem Kriterienrechner 22 zugeführt wird. Der Kriterienrechner 22 errechnet Kriterien B. für jedes Datenbit D ' und gibt die Kriterien bei 24 ab, von wo sie der Fehlerkorrekturschaltung 18 zugeleitet werden. Die Fehlerkorrekturschaltung 18 errechnet die wiedergewonnen Daten D." und gibt sie bei 26 ab.
Fig. 3 zeigt die Organisation des Codierers. Die Daten werden bei 30 angeliefert und acht Addierwerken 32-1 bis 32-8 zugeführt, die das Prüfbyte C. errechnen. Ferner werden sie acht Addierwerken 34-1 bis 34-8 zugeleitet, die das Prüfbyte C. errechnen. Das Ausgangssignal jedes Addierwerkes ist die Summe seiner Eingangssignale, wobei die Addition die für das GF(2) definierte ist. In Fig. 3 sind die Daten in binärer Form dargestellt, wie sie von einer auf der Basis des Binärsystems arbeitenden Haschine verarbeitet werden, wobei d. das p. Bit des j. Bytes beil »Ρ zeichnet.
Das Zuordnungsschema entspricht den allgemeinen Prinzipien, die oben beschrieben wurden. Für das bevorzugte Ausführungsbeispiel werden die acht Spaltenvektoren des GF(2) gewählt als
Docket PO 969 038
109834/1540
O O O O O O
1 a1=
a —
\7
(15)
a =
O O 1 O O O1
v°/
0 1 0 0 0 0
und die Multiplikationsmatrizen basieren auf dem irreduziblen Polynom X8 + X4 + X3 + X2 + 1, was ergibt
1 0 P 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0-* 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 .0 0 Ö 1
1 0 0 0 0 0
0 0 Ί 0 0 0 0 0
0 0 0 1 0 0 0 0
1 0 0 0 1 0 0 0
1 0 •ο 0 0 1 0 0
1 0 0 0 0 0 1 .0
0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0
(16)
Docket PO 969 038
109834/1540
.V B
O
O
1
1
1
O
1
O
O
O
O
1
1
1
O
1
1
O
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O
1
O
O
O
O
O
O O O 1 O O O O
O O O O O 1 O O
r3 =
O
1
1
1
O
1
O
O
1
1
1
O
1
O
O
O
O
O
1
1
1
O
1
O
1
1
1
O
1
O
O
O
O
O
1
1
1
O
1
O
O
1
1
1
O
1
O
1
O
O
O
O
O
O
O
O
O
O
1
1
1
O
1
O
1
O
O
O
O
O
O
1
O
O
O
O
O
O
O
O O 1 O O O O O
O ΙΟ O O O O O
O O O O 1 O O O
O O O 1 O O O O
1
1
O
O
1
1
O
1
1
1
1
O
1
O
O
O
O
1
1
1
O
1
O
O
O
O
1
1
1
O
1
O
O
O
O
1
1
1
O
1 O O O O O O O
O O 1 O O O O O
1
O
O
O
O
1
1
1
1
O
O
1
1
O
1
1
1
1
O
1
O
O
O
O
1
1
1
O
1
O
O
O
O
1
1
O
1
O
O O O 1 1 1 O 1
O 1 O O O O O O
Docket PO 969 038
109834/ 1540
φ S=
O 1 1 1 O O O 1
O O 1 1 1 O O .0
O O O 1 1. 1 O 0
1 O O O 1 1 1 0
O O 1 1 O 1 1 0
O 1 1 O 1 O 1 0
1 1 O O O 1 O 0
1 1 1 O O O 1 0
•Η
O O O O O O O 0
O O O O O O O 0
O ο· O * O O O O 0
O O O O O O O 0
O O O O O O O 0
O O O O O O O 0
O O O O O · O O 0
O O O O O O O 0
Die erhaltene Codiermatrix ist in binärer Form in Fig. 7 dargestellt.
Die Biteingangsleitungen 36 des Addierwerks 32-1, das das erste Bit des Prüf bytes C. errechnet, sind vollständig in der Fig. 3 dargestellt. Diese Eingangsleitungen entsprechen der ersten Zeile der Codiermatrix H . In gleicher Weise sind die Eingangsleitungen 38 des Addierwerkes 34-2, das das zweite Bit des zweiten Prüfbytes errechnet, gezeigt. Diese EingangsIeItungen entsprechen der zehnten Zeile der Codiermatrix Hc· Die anderen nicht im einzelnen dargestellten Eingangsleitungen können durch Bezugnahme auf die Codiermatrix H erhalten werden.
Fig. 4 zeigt die Organisation der Syndroiarechner 14 und 16 des ' Decodierers 6. Die empfangene Nachricht wird bei 12 zugeführt und den Addierwerken 42-1 bis 42-8 zugeleitet, die die Bits der ersten Syndromkomponente S1 errechnen, und den Addierwerken 44-1 bis 44-8, die die Bits der zweiten Syndromkomponente S-entsprechend der in binärer Form ausgedrückten Decodiennatrifc
Docket PO 969 038
109834/1540
errechnen, wie sie in Fig. 8 dargestellt ist. Die einzelnen Eingangsleitungen sind für das Addierwerk 42-1 dargestellt und die Eingangsleitungen für die anderen (nicht im einzelnen in der Fig. 4 dargestellten) Addierwerke können aus der Decodiermatrix H erhalten werden. Die oberen acht Zeilen der Matrix HD werden zur Berechnung von S benutzt und die unteren acht Zeilen zur Berechnung von S2.
Die Organisation des Kriterienrechners ist in den Fig. 5a und 5b dargestellt. Die Syndrombits (das dritte Bit der zweiten Syndromkomponente ist beispielsweise mit S. - bezeichnet) werden nach Gleichung (12) acht Addierwerken 52 zugeführt. Die Ausgänge der acht Addierwerke führen an ein ODER-Glied 54, das das Ausgangssignal B1 erzeugt. Die Ausgangssignale B , B ...B werden von
X Zoo
anderen Schaltungen erzeugt. Die Syndrombits, die jedem Addierwerk zugeführt werden, sind in den Fign. 5a und 5b angegeben.
Ein typischer Teil der Fehlerkorrekturschaltung 18 ist in der Fig. 6 dargestellt, nämlich die Schaltungen, die das p. Bit des j. Bytes verarbeiten. Die Ausgänge dreier UND-Glieder 61, 62, 63 sind mit einem ODER-Glied 64 verbunden. Drei Inverter 65, 66 und 67 sind ebenfalls vorgesehen. Dem UND-Glied 61 werden als Eingangssignale das empfangene Datenbit d. ' und das Syndrombit S1 zugeführt, (wobei der Querstrich das invertierte Signal kennzeichnet). Dem UND-Glied 62 werden als Eingangssignale das empfangene Datenbit d. ' und eines der Korrektur-
_ 3 'P
kriteren B. zugeführt. Dem UND-Glied 63 werden als Eingangssignale das Korrekturkriterium B., das empfangene invertierte Datenbit dL ' und das Syndrombit S. zugeführt. Das ODER-
J»P IfP
Glied 64 liefert das wiedergewonnene Datenbit d, ''. Eine
JfP
gleiche Gruppe von Schaltungen ist für jedes Datenbit vorgesehen, so daß insgesamt im allgemeinen b * K Gruppen (insgesamt 64 in dem bevorzugten Ausführungsbeispiel) von Schaltungen, wie sie hier beschrieben wurden, in der Fehlerkorrekturschaltung vorhanden sind.
Docket FO 969 038
1 0 9 8 3 Λ/1

Claims (1)

  1. PATENTANSPRÜCHE
    (Ty Anordnung zur Fehlererkennung und -korrektur In einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden, parallel zu übertragenden Datenblocks, dadurch gekennzeichnet, daß eine Codierschaltung (1, Fig. 1) vorgesehen ist, die aus den K Datenbytes D1, D0, ... Όν zwei je b Bits enthaltende Prüfbytes C. und C2 gemäß den Beziehungen
    C1 * ID1 + ID0 + ... + IDx. und
    C2 = AiD, + A2D2 ++ ^Si0K a*>le*-tet» in denen I das
    Einselement und A , A2, ... Ax unterschiedliche und von Null verschiedene Elemente des Galois-Feldes (2 ) sind und die Additionen und Multiplikationen die für Galois-Felder definierten Operationen bedeuten und b eine ganze Zahl >1 und K eine ganze Zahl 2 < K < 2 ist, und daß eine Decodierschaltung (6, Fig. 2) vorgesehen ist, die aus einem empfangenen fehlerhaften Block den fehlerfreien liefert, wenn nur ein Byte des Blocks fehlerhaft war, unabhängig davon, wieviel Bits dieses Bytes fehlerhaft waren.
    Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Decodierer zwei aus je b modulo 2-Addierwerken aufgebaute Syndromrechner (14, 16; Fig. 2) enthält zur gleichzeitigen Errechnung zweier Syndrombytes Sl und S2 mit je b Bits gemäß den Beziehungen
    Sl-ID1 1 +ID2 1 + ... + IDK' + IC1 1, und S2 -AD1^+A2D2' + ... + AKDK+ IC3,
    in denen die gestrichenen Symbole die empfangenen Bytes kennzeichnen.
    Docket PO 969 038 „ ArtÄ
    109834/1540
    3. Anordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß mit den Ausgängen der beiden Syndromrechner ein aus jeweils mehreren modulo 2-Addierwerken (52; Fig. 5a) , deren Ausgänge an ein ODER-Glied (54) angeschlossen sind, aufgebauter Kriterienrechner (22; Fig. 2) verbunden ist, der Korrektur-Kriterien gemäß der Beziehung B. « A-jsi + IS 2 errechnet, wobei ein Ausgangssignal B. = O eine notwendige Korrektur des j. Bytes des empfangenen Blocks anzeigt.
    4. Anordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß eine Fehlerkorrekturschaltung (18; Fig. 2) an die Ausgänge des ersten Syndromrechners (14) und des Kriterienrechners (22) angeschlossen ist, der auch der empfangene Block zugeführt wird und die, wenn der Kriterienrechner eine notwendige Korrektur des j. Bytes anzeigt, dieses durch Addition des ersten errechneten Syndronts S zum j. Byte korrigiert.
    5. Anordnung nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die Fehlerkorrekturschaltung (18; Fig. 2) für jedes empfangene Bit d, (, wobei mit d. das ρ. Bit des j . Bytes bezeichnet ist,) drei UND-Glieder (61, 62, 63; Fig. 6) enthält, deren erstem die Eingangssignale d. _ und S1
    _ j#P 1^P
    zugeführt werden, (wobei S1 „ das invertierte p. Bit des
    1 rP
    1. Syndroms bezeichnet,) deren zweitem die Eingangssignale
    d. und B. zugeleitet werden, (wobei B. das invertierte
    D /P j J
    Korrektur-Kriterium bezeichnet,) und deren drittem die Eingangssignale B., d. · und S. zugeführt werden, und
    j JfP -wP
    daß die Ausgänge der UND-Glieder an ein ODER-Glied (64) angeschlossen sind, an dessem Ausgang das korrigierte Bit
    d. '' erscheint.
    JP
    Docket PO 969 038
DE2106314A 1970-02-12 1971-02-10 Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks Expired DE2106314C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US1084770A 1970-02-12 1970-02-12

Publications (3)

Publication Number Publication Date
DE2106314A1 true DE2106314A1 (de) 1971-08-19
DE2106314B2 DE2106314B2 (de) 1978-03-16
DE2106314C3 DE2106314C3 (de) 1978-10-26

Family

ID=21747711

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2106314A Expired DE2106314C3 (de) 1970-02-12 1971-02-10 Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks

Country Status (7)

Country Link
US (1) US3629824A (de)
JP (1) JPS5240545B1 (de)
CA (1) CA932466A (de)
DE (1) DE2106314C3 (de)
FR (1) FR2080403A5 (de)
GB (1) GB1279793A (de)
NL (1) NL174418C (de)

Cited By (2)

* 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
EP0458468A1 (de) * 1990-05-09 1991-11-27 Quantum Corporation Mehrfachpegel-Fehlerkorrektursystem

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE28923E (en) * 1971-12-27 1976-08-03 International Business Machines Corporation Error correction for two bytes in each code word in a multi-code word system
US3774154A (en) * 1972-08-21 1973-11-20 Ibm Error control circuits and methods
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
US3786439A (en) * 1972-12-26 1974-01-15 Ibm Error detection systems
US3800281A (en) * 1972-12-26 1974-03-26 Ibm Error detection and correction systems
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
GB1597218A (en) * 1976-12-11 1981-09-03 Nat Res Dev Apparatus for electronic encypherment of digital data
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
DE3028066A1 (de) * 1980-07-24 1982-02-18 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Schaltungsanordnung zur korrektur gestoerter abtastwerte bei einer pcm-uebertragungseinrichtung, insbesondere einer digital-tonplatte
US4862463A (en) * 1987-07-20 1989-08-29 International Business Machines Corp. Error correcting code for 8-bit-per-chip memory with reduced redundancy
US5140595A (en) * 1987-09-21 1992-08-18 Cirrus Logic, Inc. Burst mode error detection and definition
US4979173A (en) * 1987-09-21 1990-12-18 Cirrus Logic, Inc. Burst mode error detection and definition
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
US7743311B2 (en) * 2006-01-26 2010-06-22 Hitachi Global Storage Technologies Netherlands, B.V. Combined encoder/syndrome generator with reduced delay
JP2013523043A (ja) 2010-03-22 2013-06-13 エルアールディシー システムズ、エルエルシー ソースデータセットの完全性を識別及び保護する方法
KR101943048B1 (ko) 2014-07-21 2019-01-28 칸도우 랩스 에스에이 다분기 데이터 전송
EP4216444A1 (de) * 2017-04-14 2023-07-26 Kandou Labs, S.A. Pipeline-vorwärtsfehlerkorrektur für vektorsignalisierungscodekanal
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
US11356197B1 (en) 2021-03-19 2022-06-07 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL130511C (de) * 1963-10-15
US3458860A (en) * 1965-03-08 1969-07-29 Burroughs Corp Error detection by redundancy checks
US3474413A (en) * 1965-11-22 1969-10-21 Dryden Hugh L Parallel generation of the check bits of a pn sequence

Cited By (2)

* 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
EP0458468A1 (de) * 1990-05-09 1991-11-27 Quantum Corporation Mehrfachpegel-Fehlerkorrektursystem

Also Published As

Publication number Publication date
GB1279793A (en) 1972-06-28
NL7101866A (de) 1971-08-16
JPS5240545B1 (de) 1977-10-13
DE2106314C3 (de) 1978-10-26
DE2106314B2 (de) 1978-03-16
CA932466A (en) 1973-08-21
US3629824A (en) 1971-12-21
NL174418C (nl) 1984-06-01
NL174418B (nl) 1984-01-02
FR2080403A5 (de) 1971-11-12

Similar Documents

Publication Publication Date Title
DE2106314A1 (de) Anordnung zur Fehlererkennung und korrektur in einem aus b Bits bestehen den Byte eines K Datenbytes enthaltenden Datenblocks
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE60001370T2 (de) Verfahren und vorrichtung zur erkennung von doppelbitfehlern und korrektur von fehlern durch bauelementfehler verursacht
DE2162833C3 (de) Einrichtung zum Codieren und Decodieren eines aus k Bytes mit je b Bits bestehenden Datenblocks und Korrektur zweier fehlerhafter Bits
DE2132565C3 (de) Umsetzer
DE2262070A1 (de) Mit schieberegistern arbeitendes fehlerkorrektursystem
DE2260850A1 (de) Fehlerkorrektursystem
DE2159108A1 (de) Anordnung zur Erzeugung zyklischer Redundanzprüfzeichen
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
DE3231956A1 (de) Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes
DE2217935C3 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht
DE2659031A1 (de) Fehlerkorrektur- und -steuersystem
DE2704627B2 (de) Anordnung zur Fehlerkorrektur von binärer Information
DE69317766T2 (de) Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc)
DE2260846A1 (de) Fehlerkorrektursystem
DE2000565A1 (de) Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler
DE4117726C2 (de) Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung
DE1774225A1 (de) Fehlerkorrekturschaltung
DE1259124B (de) Anordnung zur Fehlerkorrektur und -anzeige
DE102019113970B4 (de) Erkennung von adressfehlern
DE1524891C3 (de) Schaltungsanordnung zur Korrektur von Fehlerbündeln
DE102022111624B4 (de) Fehlerkorrektur mit schneller Syndromberechnung
EP0003232A1 (de) Schaltungsanordung zum Umwandeln von Binärinformationen mittels Kontrollbits
DE1937259A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE1944963A1 (de) Stoerungsgesichertes UEbertragungssystem

Legal Events

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