DE3727586A1 - Datenverarbeitungsanordnung bestehend aus vier im wesentlichen gleich aufgebauten moduln - Google Patents

Datenverarbeitungsanordnung bestehend aus vier im wesentlichen gleich aufgebauten moduln

Info

Publication number
DE3727586A1
DE3727586A1 DE19873727586 DE3727586A DE3727586A1 DE 3727586 A1 DE3727586 A1 DE 3727586A1 DE 19873727586 DE19873727586 DE 19873727586 DE 3727586 A DE3727586 A DE 3727586A DE 3727586 A1 DE3727586 A1 DE 3727586A1
Authority
DE
Germany
Prior art keywords
code
bytes
data processing
fed
modules
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
DE19873727586
Other languages
English (en)
Other versions
DE3727586C2 (de
Inventor
Willibrordus Johannes Van Gils
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE3727586A1 publication Critical patent/DE3727586A1/de
Application granted granted Critical
Publication of DE3727586C2 publication Critical patent/DE3727586C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

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

Description

Bereich der Erfindung.
Die Erfindung betrifft eine Datenverarbeitungsanordnung, bestehend aus vier Verarbeitungsmoduln mit im wesentlichen gleichem Aufbau, mit Schutz sowohl gegen Einzelbit-Koinzidenzfehler in einer Mehrzahl von Datenverarbeitungsmoduln als auch gegen einen beliebigen Datenfehler in einem einzigen Datenverarbeitungsmodul. Eine Anordnung dieser Art ist aus der US-PS 45 12 020 bekannt. Die bekannte Anordnung arbeitet auf Basis von Vierbitsymbolen, wobei ein darin enthaltener Optimalcode in einem sog. Normalbetrieb die Korrektur von zwei beliebigen Einzelbitfehlern bei einem Mindest-Hamming- Abstand von fünf erlaubt. In einer Löschbetriebsart wird einer der Datenverarbeitungsmoduln vernachlässigt, wobei der Code über die restlichen drei Vierbitsymbole einen Hammingabstand von drei hat und die Korrektur eines zusätzlichen Bitfehlers erlaubt. Wenn beliebige zwei der Datenverarbeitungsmoduln gleichzeitig bei Bekanntheit ihrer Identität versagen würden, könnten die beiden restlichen Datenverarbeitungsmoduln bei Ausbleiben weiterer Fehler trotzdem arbeiten und die richtigen Ergebnisse erreichen. Die vorgenannte Fehlerschutzfähigkeit lässt sich im Mindestabstandsprofil dieses Codes bei einer Redundanz von 100% als (5, 3, 1) ausdrücken. Die Begriffsbestimmung des Mindestabstandsprofils wird nachstehend näher erläutert.
Darstellung der Erfindung.
Die Datenverarbeitungstechnologie hat sich zu Prozessoren mit einer vergrösserten Bitbreite entwickelt. Der Erfindung liegt die Aufgabe zugrunde, die vorgenannte Fehlerschutzfähigkeit bei gleichem Redundanzbetrag durch die Verwendung von 8-Bitsymbolen zum optimalen Verwirklichen eines Mindestabstandsprofils von (7, 4, 1) zu vergrössern. Das bedeutet, dass in der Normalbetriebsart der Abstand 7 beträgt und die Korrektur von drei beliebigen Einzelbitfehlern erlaubt.
Nach dem Stand der Technik kann dieser Schutzbereich auch zum Korrigieren von bis zu zwei beliebigen Einzelbitfehlern und zum Detektieren von bis zu vier beliebigen Einzelbitfehlern benutzt werden. Andere Kompromisse zwischen Korrektur und Detektion sind bekannt. In der Löschbetriebsart erlaubt der Mindest-Hammingabstand von vier die Einzelbitkorrektur, Zwei-Bitfehlerdetektion oder andererseits eine Drei-Bitfehlerdetektion. Vernachlässigung einer Kombination von zwei Datenverarbeitungsmoduln bei Ausbleiben weiterer Fehler ermöglicht noch den zwei restlichen Datenverarbeitungsmoduln, richtige Ergebnisse zu erreichen.
Zur Lösung der Aufgabe ist eine Datenverarbeitungsanordnung erfindungsgemäss dadurch gekennzeichnet, dass sie aus vier Datenverarbeitungsmoduln besteht, die entsprechende Datenverarbeitungsmittel mit einer Datenwegbreite von wenigstens 2 n Bytes, jeweilige Codermoduln die zum byteweisen Codieren eines Verarbeitungsergebnisses von 2 n Bytes in ein Codierungsergebnis von n Bytes durch die zugeordneten Datenverarbeitungsmittel gespeist werden, jeweilige Speichermoduln, die zum Speichern des Codierungsergebnisses durch den zugeordneten Codermodul gespeist werden, ein Verbindungsnetz, das durch die betreffenden Datenverarbeitungsmoduln zum Zuführen der Codierungsergebnisse nach allen Datenverarbeitungsmoduln gespeist wird, und jeweilige Eingangsdecoder enthalten, die durch das Verbindungsnetzwerk für den Empfang der Codierungsergebnisse in Gruppen von vier Bytes und zum Rekonstruieren eines Zwei-Byte-Datenworts daraus gespeist werden, das das Verarbeitungsergebnis zum Weiterleiten an die zugeordneten Datenverarbeitungsmittel darstellt, wobei die Datenverarbeitungsanordnung weiter Betriebsartregistermittel zur Steuerung der Eingangsdecoder in jeweils einer ersten, zweiten und dritten Betriebsart, zum Aufnehmen und Einordnen aller Bytes einer genannten Gruppe in der ersten Betriebsart, zum Aufnehmen und Einordnen von drei Bytes einer genannten Gruppe, aber zum Ablehnen eines zugeordneten vierten Bytes der betreffenden Gruppe in jeweils einer von vier zweiten Betriebsarten, und zum Aufnehmen und Einordnen von zwei Bytes einer genannten Gruppe, jedoch zum Ablehnen einer zugeordneten Kombination von zwei restlichen Bytes der betreffenden Gruppe in jeweils einer von sechs dritten Betriebsarten enthält, und dass die Codermoduln jedes Byte eines Datenworts mit einer regelmässigen Matrix multiplizieren und die Multiplikationsbytes zum Erzeugen eines Codebytes addieren, wobei die vier auf diese Weise von den betreffenden Codermoduln erzeugten Codebytes ein Codewort eines mit einem Mindest-Hammingabstand von sieben über die Bits bilden, wobei die drei in jeder der zweiten Betriebsarten aufgenommenen Codebytes ein Teilcodewort mit einem Mindest-Hammingabstand von vier über die Bits darstellen, wobei die zwei in jeder der dritten Betriebsarten aufgenommenen Bytes eine Darstellung aller Bits des zugeordneten Verarbeitungsergebnisses der Verarbeitungsanordnung bilden.
Beschreibung der Ausführungsbeispiele.
Ein bevorzugtes Ausführungsbeispiel wird nachstehend an Hand der Zeichnung näher erläutert. Es zeigen
Fig. 1 eine Datenverarbeitungsanordnung nach der Erfindung,
Fig. 2 die Paritätsprüfmatrizen von neun Codes in bezug auf die Basen B 43 und B 95 mit einem Mindestabstandsprofil von (7, 4, 1),
Fig. 3a, 3b, 3c die Binärdarstellung der Elemente eines speziellen Galois-Feldes Gf (28),
Fig. 3d eine sog. redundante Paritätsprüfmatrix,
Fig. 4a einen Satz von Decodierungsbegriffsbestimmungen,
Fig. 4b einen Satz von Nachrichtenschätzungen,
Fig. 5a, 5b ein Verzeichnis aller korrigierbaren Fehlerklassen, ihre Detektion und ihre Nachrichtenschätzungswahl,
Fig. 6 die von einem Decoder zu implementierenden Regeln,
Fig. 7 einen allgemeinen Decodierungsentwurf.
In Fig. 1 ist eine Datenverarbeitungsanordnung nach der Erfindung dargestellt. Die Daten bestehen aus Wörtern, wobei jedes Wort sechzehn Bits enthält und zwei Symbole eines Galois-Feldes darstellt, das später näher erläutert wird. die Datenwörter erscheinen auf den Leitungen 62, 64, 66 und 68. Sie werden in den betreffenden Prozessorelementen 12, 14, 16, 18 verarbeitet. Darauf erzeugen die Prozessorelemente Datenergebniswörter auf den Leitungen 90, 92, 94, 96 oder Adresswörter auf den Leitungen 70, 72, 74 und 76. Eine bekannte Speicherverwaltungseinheit (nicht dargestellt) kann für jeden der Speichermoduln vorgesehen sein. Die örtlichen Speicher 28, 30, 32 und 34 werden über die Adressdecoder 27, 29, 31 und 33 adressiert. Aus jedem empfangenen 16-Bits-Datenwort wird ein 8-Bit-Codesymbol in jedem der Codegeneratoren 20, 22, 24 oder 26 gebildet, so dass die aus einem Datenwort gebildeten Codesymbole gleichzeitig ein Codewort bilden. Diese Codesymbole gelangen zum Einschreiben an die Speicher 28, 30, 32 und 34. Die Codesymbole werden nach dem Auslesen in den Leseverstärkern 36, 38, 40 und 42 regeneriert. Die Regeneration lässt sich auf andere Weise ohne Zwischenspeicherung in den Speichern verwirklichen. Die Codesymbole können alle an alle Register 46, 48, 50 und 52 gelegt werden. Diese Register werden mit den Rekonstruktionsanordnungen oder Decodern 54, 58 und 60 zur Rekonstruktion der Datenwörter aus den Codewörtern zum Eingeben in die Leitungen 62, 64, 66 und 68 verbunden. Die Kombination von Elementen 46, 54, 12, 20, 28 und 36 wird in eines einzigen getrennten Fehlerisolationszonu enthalten und dies gilt in entsprechender Weise für weitere Zonen. Es sei angenommen, dass die Fehler in zwei verschiedenen Zonen unabhängig voneinander sind; in vielen Fällen wird diese Anforderung für viele Fehlerarten erfüllt, wenn jede Fehlerisolationszone beispielsweise eine getrennte Druckplatine mit Bauteilen oder auf andere Weise eine getrennte integrierte Schaltung umfasst. Die in der Figur dargestellte Schaltung bildet auf diese Weise vier jeweilige Fehlerisolationszonen. Die Synchronisation der Operationen in den vier Fehlerisolationszonen wurde der Einfachheit halber ausgelassen. Die Prozessoren arbeiten mit entsprechenden Programmen. Der Aufbau der Untersysteme in den betreffenden Fehlerisolationszonen ist mit Ausnahme der Codegeneratoren (20, 22, 24, 26) gleich, die je einen abweichenden Algorithmus zur Bildung der vier betreffenden Codesymbole aus dem 16-Bit-Datenwort implementieren. Weiter kann die Steuerung der Datenrekonstruktionsanordnungen 54, 56, 58 und 60 in Abhängigkeit vom Steuerbetrieb des Rechnersystems abweichen. Es wurde gefunden, dass die Normalbetriebsart, die die Korrektur von bis drei an beliebigen Stellen erscheinenden Bit-fehlern oder eines Einsymbolfehlers erlaubt, sich sehr wohl für die Korrektur von im Speicher auftretenden Fehlern eignet. Letztgenannte Fehler sind normalerweise gegenseitig unabhängig und ausserdem oft sogenannte "weiche Fehler". Symbolfehler, die ein vollständiges Symbol unzuverlässig machen, werden normalerweise durch einen fehlerhaften Prozessor verursacht. Diese können in einer Löschbetriebsart behandelt werden, in der alle Daten- und/oder Steuersignale aus einer wählbaren Fehlerisolationszone oder einem Datenverarbeitungsmodul übersprungen werden. Es wurde gefunden, dass derartige Symbolfehler normalerweise dauerhaft sind. Jedoch brauchen sie nicht sofort in diesem Rechnersystem ausgebessert zu werden, weil die Decoder auf die Löschbetriebsart umschalten können. Es zeigt sich vorteilhaft, auf die Löschbetriebsart umzuschalten, sobald dies nötig ist. Weiter enthält jede Fehlerisolationzone in Fig. 1 ein getrenntes Fehlerregister (148, 150, 152, 154), das durch Ausgangssignale aus dem betreffenden Decoder (54, 56, 58, 60) gesteuert wird und dessen Ausgangssignale an die zentrale Steueranordnung 44 gelegt werden. Zum Schluss werden Rückstelleitungen für die Fehlerregister aus der zentralen Steuereinheit 44 dargestellt. Die Mehrzahl dieser Steuerleitungen ist nicht dargestellt. Weiter enthält jede Fehlerisolationszone ein betreffendes 4-Bit-Betriebsartregister 140, 142, 144, 146. Die Betriebsartregister werden durch Ausgangssignale aus den zugeordneten Decodern (54, 56, 58, 60) gesteuert. Der Inhalt jedes Betriebsartregisters steuert die Operation des zugeordneten Decoders. Die Einstellung des Fehlerregisters wird vom Inhalt des zugeordneten Betriebsartregisters mitgesteuert. Dieser Zusammenhang wird jedesmal durch einen zusätzlichen Pfeil angegeben. Schliesslich empfängt jedes Betriebsartregister Steuersignale aus der zentralen Steueranordnung 44. In einer anderen Verwirklichung wird auch die zentrale Steuerung auf die vier Datenverarbeitungsmoduln verteilt. Das Kommunikationssystem zum Kommunizieren von Steuernachrichten zwischen diesen verteilten Steuermoduln (nicht dargestellt) kann entsprechend der früheren niederländischen Patenanmeldung 84 02 472 der Anmelderin durchgeführt werden. Der Kommunikationsplan erlaubt beliebigen Fehlbetrieb eines Datenverarbeitungsmoduls.
In der Anordnung nach Fig. 1 wird im fehlerfreien Zustand in allen Isolationszonen dasselbe Programm ausgeführt. Dies gilt ebenfalls beim Normalbetrieb. Jedoch wird beim Auftreten einer systematischen Störung in einer gegebenen Fehlerisolationszone der daraus entstehende Symbolfehler mit einem Bitgewicht von 8 in den anderen Isolationszonen detektiert; diese Zonen schalten auf den Löschbetrieb um, so dass die fehlerhafte Isolationszone nicht länger berücksichtigt wird. In der fehlerhaften Isolationszone selbst braucht die Signalisierung nicht richtig zu sein; es kann sich sogar ergeben, dass eine ganz abweichende Steuerung auftritt (beispielsweise durch einen Fehler im Betriebsartregister). Jedoch setzt das System als Ganzes den fehlerfreien Betrieb durch die drei anderen Fehlerisolationszonen ununterbrochen weiter.
Aufbau der möglichen Codes.
In diesem Abschnitt wird der Aufbau von [4,2]- Codes im Galois-Feld GF (28) mit einem Mindestabstandsprofil (7, 4, 1) beschrieben.
Als Alphabet benutzen wir GF (28) = 0, 1, α, α 2, . . . , α 254, worin α eine primitive Wurzel des primitiven Polynoms x 8 + x 4 + x 3 + x 2 + 1 ist (für eine ausführliche Behandlung von Galois-Feldern siehe F. J. MacWilliams and D. J. A. Sloane "The Theory of Error-correcting Codes", North Holland Publ. Cy., Amderdam 1977).
In bezug auf eine Basis ⟨α b(0), α b(1), . . . α b(7)⟩ von GF (28) über GF (2) können die Elemente von GF (28) als binäre Vektoren mit der Länge 8 dargestellt werden. Denn γGF (28), a 0, a 1, . . . , a 7) ist die binäre Darstellung von γ, when
Ein [4,2]-Code über GF (28) hat eine systematische Paritätsprüfmatrix mit filgender Form
Das Problem besteht darin, ein 8-Tupen (b(0), b(1), . . . , b(7)) und ein 4-Tupel (p 11, p 12, p 21, p 22) derart zu finden, dass der [4,2]-Code mit der Paritätsprüfmatrix H ein "grosses" Mindestabstandsprofil in bezug auf die Basis ⟨α b(0), a b(1), . . . , α b(7)⟩ hat. Das Mindestabstandsprofil jedes [4,2]-Codes über GF (28) kann ohne höhere Elemente als die des Profils (8, 4, 1) nachgewiesen werden. Es existiert jedoch ein analytischer Ausdruck für das tatsächlich erreichbare Mindestabstandsprofil. Die Elemente des Mindestabstandsprofils bilden eine abfallende Reihe.
Das Galois-Feld GF (28) hat eine sehr grosse Anzahl (∼ 1012) von Basen, also ist es nicht sehr praktisch alle auszuwerten. Weiter liefert jede abweichende Basis eine erhebliche Anzahl verschiedener Codes, wie aus dem nachstehend beschriebenen Ausführungsbeispiel ableitbar ist. Andererseits ist trotz des kleinen Bruchteils von Codes mit einem optimalen Abstandsprofil an sich die Anzahl dieser Optimalcodes gross. Daher wird folgende Suchstrategie vorgeschlagen. Zunächst folgt eine Beschränkung auf die normalen Basen von GF(8), von denen es nur 16 gibt:
B j := ⟨α j·2, i = 0, 1, 2, . . . , 7⟩
worin j = 5, 9, 11, 15, 21, 29, 39, 43, 47, 54, 55, 61, 63, 87, 91, 95. An sich sind aus dem Stand der Technik diese normalen Basen bekannt. In bezug auf jede dieser normalen Basen wurden Vier-Tupel (p 11, p 12, p 21, p 22) gesucht, die "gute" Codes geben. Diese normalen Basen, in der Kombination mit den 2554 möglichen Vier-Tupeln, ergeben 2554 × 16 Kandidatcodes. Diese grosse Anzahl von Codes ergeben je ein eigenes Mindestabstandsprofil. Es ist möglich, eine Suchoperation zum Finden von Vier-Tupeln mit guten Codes anzunehmen. Diese Suchoperation wird nachstehend näher erläutert. Das Ergebnis dieser Suchoperation war alle Vier-Tupel, für die der entsprechende [4,2]-Code ein Mondestabstandsprofil von (7, 4, 1) in bezug auf eine gegebene normale Basis erzeugt.
In bezug auf die Basen B i , i = 5, 9, 15, 21, 29, 39, 53, 55, 61, 63, 87, 91 besteht darin kein [4,2]-Code über GF (28) mit einem Mindestabstandsprofil (7, 4, 1) oder (8, 4, 1).
In bezug auf die Basen B 11 und B 47 besteht im wesentlichen nur ein [4,2]-Code mit einem Mindestabstandsprofil (7, 4, 1), d. h. das ein Profil mit Paritätsprüfmatrix
worin β: = α 17 (also βGF (24) ist: β ist ein Element eines Unterfeldes.
In bezug auf die Basen B 43 und B 95 bestehen im wesentlichen 9 Codes mit einem Mindestabstandsprofil (7, 4, 1), es sind diejenigen mit den Paritätsprüfmatrizen nach Fig. 2.
Andere gleichwertige Codes können durch Permutierungsspalten der zugeordneten Matrix H und/oder durch Vormultiplikation dieser Matrix H mit einer regelmässigen Matrize mit Abmessung 2 × 2 über GF (28) erhalten werden.
In bezug auf die normalen Basen von GF (28) bestehen keine [4,2]-Codes mit einem Mindestabstandsprofil (8, 4, 1). Obiges ist eine beschränkte Vorführung der Codesuchstrategie. Der Kürze halber sind keine anderen Codes wiedergegeben. Es wird als sehr unwahrscheinlich betrachtet, dass ein (8, 4, 1)-Code tatsächlich für eine andere Basis bestehen wurde.
Decoderaufbau.
Nachstehend wird der Aufbau einer Decoderausführung erläutert.
Es wird der [4,2]-Code C über das Galois-Feld F:= GF (28) betrachtet mit Paritätsprüfmatrix.
Die Matrix
ist eine Generatormatrix dieses Codes mit einem Mindestabstandsprofil (7, 4, 1) in bezug auf die Basis B 43 = ⟨α 43, α 86, α 172, a 89, α 178, α 101, α 202, α 149⟩. Hierin sei M die 8-zu-8-Binärmatrix, deren i. Zeile die binäre Darstellung β α 43×2 in bezug auf die Basis B 43 ist. Die binäre Darstellung der Elemente von GF (28) = 0, 1, α, α 2, . . . α 254, (worin  eine Wurzel von x 8 + x 4 + x 3 x 2 + 1 = 0 ist) die in bezug auf die Basis B 43 ist in Fig. 3a, 3b, 3c, gegeben. Also sieht das binäre Bild der Matrix G s wie folgt aus
und das binäre Bild von H s sieht wie folgt aus
Zum Decodieren wird die Redundanz der Paritätsprüfmatrix von Fig. 3d benutzt.
Das Codewort c = c 1, c 2, c 3, c 4) des [4,2]-Codes C über GF (28) besteht aus vier Symbolen c i , i = 1, 2, 3, 4 von je 8 Bits. Das Symdrom eines verstümmelten Codeworts r = r 1, r 2, r 3, r 4 = c 1, c 2, c 3, c 4) + ( e 1, e 2, e 3, e 4) wird durch folgendes bestimmt:
Für einen binären Vektor x , wird das Gewicht wt (x) von x als die Anzahl von Komponenten in x gleich Eins definiert (ist also abweichend von Null).
Jetzt wird eine Anzahl von Mengen bestimmt. Die Menge (*000) wird bestimmt durch {( X , O, O, O : x F, x ≠ 0)}. Dies entspricht einem Fehlermuster, das nur das erste Symbol des Codeworts verstümmeln würde. Auf analoge Weise werden die Mengen (0*00), (00*0) und (000*) bestimmt.
Die Mengen (ÿkm), i, j, k, m ∈ {0, 1, 2} werden durch {( u , v, w, x) : u , v, w, xF, wt ( u ) = i, wt ( v ) = j, wt ( w = k, wt ( x ) = m} bestimmt. Diese Mengen bestimmen Fehlermuster, die höchstens zwei Bits in einem Codesymbol stören würden. Eine Löschung, d. h. ein bekannter Datenverarbeitungsmodul hat bis zur Unkorrigierbarkeit versagt, wird mit "E" bezeichnet. Die Mengen (Ejkm), j, k, m, ∈ {0, 1} werden durch {( u , v, w, x : u , v, w, xF, wt ( v ) =j, wt ( w ) = k, wt ( x ) = m} bestimmt.
Bei dieser Menge wird keine Beschränkung auf u angesetzt, weil es als eine Löschung betrachtet und vollständig vernachlässigt wird. Diese Mengen bestimmen Fehlermuster mit höchstens einem Einbitfehler ausserhalb des gelöschten Codesymbols. Auf analog Weise werden (iEjK), (ÿEk) und (ÿkE) bestimmt. Die von allen vorgenannten Vier-Tupeln bestimmten Mengen werden Fehlerklassen genannt. Die Menge U korrigierbarer Fehlermuster ist die Einheit der Fehlerklassen nach Fig. 5a und 5b (erste Spalte). Darin ist ein Stern ein beliebiger Symbolfehler, ein E ein Löschungssymbol und bezeichnen ganze Zahlen die Anzahl von Bitfehlern im zugeordneten Symbol.
Für eine feste Fehlerklasse in der Menge U korrigierbarer Fehlermuster haben die Syndrome ihrer Elemente eine Eigenschaft gemeinsam. Beispielsweise haben alle Fehlermuster e in der Fehlerklasse (*000) gemeinsam, dass ihre Syndrome s = s 1, s 2, s 3, s 4) folgendes erfüllen s 1 = 0, s 2 ≠ 0, s 3 ≠ 0, s 4 ≠0. Alle Fehlermuster e in der Fehlerklasse (i0j0) haben gemeinsam, dass ihre Syndrome s = ( s 1, s 2, s 3, s 4) folgendes erfüllen: wt ( s 1 M -6) = j und wt ( s 3 M -6) = i. Wir werden derartige, Elementen in einer Fehlerklasse gemeinsamen Eigenschaften im Decodiervorgang ausnutzen. Dafür haben wir eine Menge boolescher Ausdrücke aufgebaut, je einen für jede in der Menge U korrigierbarer Fehlermuster erhaltene Fehlerklasse derart, dass diese Booleschen Ausdrücke gegenseitig exklusiv sind, und derart, dass jedes Fehlermuster in einer Fehlerklasse von U den Booleschen Ausdruck entsprechend dieser Fehlerklasse erfüllt. Diese Booleschen Ausdrücke werden als Beispiel gegeben, zunächst weil sie sich auf den vorgegebenen spezifischen Code (der einer aus vielen ist) beziehtn, zweitens weil andere Mengen Boolescher Ausdrücke für diesen besonderen Code gewählt werden können.
Für alle Fehlerklassen mit Elementen, von denen wenigstens zwei Symbole richtig sind, lässt sich dies auf einfache Weise verwirklichen. Wenn es ein in einer derartigen Fehlerklasse vorausgesagtes Fehlermuster ist, ist auch die Schätzung der Nachricht geradeaus, weil wenigstens zwei Symbole (die richtigen) des gestörten Codeworts des [4,2]-Codes die tnsprechende Nachricht einheitlich bestimmt.
Für Fehlerklassen mit Elementen, von denen drei Symbole das Gewicht Eins haben, müssen wir den Bitfehler in einem der Symbole bestimmen. Hiernach verfügen wir über zwei richtige Codewortsymbole. Daraus wird die abgesandte Nachricht schätzungsweise bestimmt.
Zum Aufbauen der vorgenannten Booleschen Variablen brauchen wir folgende Definitionen. Mit u j geben wir den Binärvektor mit der Länge 8 mit einem Eins an der j. Position und sonst Nullen an.
Begriffsbestimmungen.
Fig. 4a zeigt eine Menge von Begriffsbestimmungen. Folgende Betriebsarten des Decoders sind vorgesehen:
RM = 1 wenn und nur wenn der Decoder in der Normalbetriebsart arbeitet, d. h. alle Ausgänge der vier Datenverarbeitungsmoduln werden im Decodierungsvorgang berücksichtigt,
EM i = 1, wenn und nur wenn der Decoder in der Löschbetriebsart i arbeitet, d. h. der Modul i wird als im Fehlerbetrieb arbeitend betrachtet (erzeugt eine Löschung),
SM ÿ = 1, wenn und nur wenn der Decoder in der einfachen Betriebsart arbeitet, d. h. nur die Moduln i und j werden als in der richtigen Betriebsart arbeitend betrachtet.
In Fig. 4b ist eine Menge von Schätzungen für die Nachricht wiedergegeben.
In Fig. 5a und 5b ist ein Verzeichnis aller korrigierbarer Fehlerklassen (EC), des zu verwendenden entsprechenden Booleschen Ausdrucks (BE) und der zugeordneten Nachrichtschätzung (ME) für alle Fehlerklassen korrigierbarer Fehlermuster wiedergegeben. Wiederum bedeutet ein Stern einen beliebigen Symbolfehler. Ein "E" bezeichnet ein Löschsymbol, dessen Stelle bekannt ist. Ganze Zahlen 0, 1, . . . bezeichnen die Anzahl von Bitfehlern im zugeordneten Symbol (Null bezeichnet ein richtiges Symbol). Ganze Zahlen 3, 4, . . . würden mit einem Stern dargestellt werden. Drei oder mehr Bitfehler in einem (Nicht-Löschungs)- Symbol in der Kombination mit Nicht-Null-Fehlermustern in den anderen Symbolen können nicht mit 100% Wirksamkeit korrigiert werden.
Beispielsweise erfüllt ein Fehlermuster e in (1100) den Booleschen Ausdruck RM f 11 f 21 = 1, und die Nachricht kann durch 34 geschätzt werden (es sei bemerkt, dass die UND-Funktionspunkte nicht dargestellt sind). Ein Fehlermuster e in (10E0) genügt den Booleschen Ausdruck EM 3 h 31 = 1, und die Nachricht kann durch 24 geschätzt werden. Ein Fehlermuster e in (1101) erfüllt den Booleschen Ausdruck RM t 4j = 1 für genau eine j in {1, . . . 8}, und die Nachricht kann durch ein 4j geschätzt werden.
Aus Fig. 5a und 5b ist ersichtlich, dass der Decoder die in Fig. 6 dargestellten logischen Ausdrücke implementieren soll. Hierin gibt der letzte Ausdruck die Bedingung an, die für eine Detektionsmarkierung zu erfüllen ist, die erzeugt wird, wenn das erzeugte Syndrom ein Nicht-Null-Syndrom ist, dass nicht einem korrigierbaren Fehlermuster entspricht.
In Fig. 7 ist ein allgemeiner Entwurf eines Decoders dargestellt. Der Decoder enthält ein Betriebsartregister 202 mit den Werten RM, EM i und SM ÿ , wobei i, j = 1, 2, 3, 4, ij sind. Nach einem Decoderschritt wird auch das Betriebsartregister aktualisiert. Eine der möglichen Strategien könnte sein, von der Normalbetriebsart auf Löschbetriebsart umzuschalten, wenn ein Einsymbolfehler auftritt, der kein Einbitfehler ist. Andere Umschaltstrategien würden von den Fehlerstatistiken des ganzen Systems abhängig sein. Der Kürze halber wird darüber keine nähere Beschreibung gegeben.
Im Decoder könnten auch andere Registerarten implementiert werden, beispielsweise ein die Positionen und Frequenzen von Bitfehlern speicherndes Register.
Insbesondere erscheinen in Fig. 7 an den Eingängen 210 die vier möglicherweise gestörten Codesymbole r 1, r 2, r 4, r 4. Im Block 200 ist eine Schaltung für die Bestimmung der binären Megen f ÿ , g ÿ , h ÿ , t ÿ vorgesehen. Im Block 204 ist eine Schaltung vorgesehen, um auf der Basis dieser 60 Werte die entscheidenden Signale DSEL** und ISEL** zu erzeugen und auch des Betriebsartregisters und anderer vorgenannter Register zu aktualisieren. Zu diesem Zwek empfängt der Block 204 auch die Betriebsartsteuersignale aus dem Betriebsartregister 202. Im Block 208 werden auf der Bais der vier Codesymbole r 1 . . . r 4 die sechs möglichen auf zwei richtigen Symbolen basierenden Schätzungen sowie die 32 geschätzen erzeugt, denn jedes Symbol hat eine Einbitkorrektur an der Stelle j. Auf der Leitung 212 werden diese 38 möglichen Schätzungen erzeugt, während die Wählsignale auf den Leitungen 214 erscheinen. Im Block 206 ist ein Netz zum Weiterleiten der richtigen Schätzung vorhanden, die auf der Leitung 218 erscheint (es sei bemerkt dass diese Wahl nicht immer einheitlich sein muss), während auch am Ausgang 216 eine Detektionsmarkierung zum Signalisieren eines unkorrigierbaren, detektierten Fehlers erzeugt wird (es könnte auch ein undetektierbarer Fehler erscheinen). In obiger Beschreibung wurde davon ausgegangen, dass ein Verarbeitungswort sechzehn Bits enthielt (d. h. 2 Bytes) und dass ein Codewort zweiundreissing Bits enthielt. Wenn der Datenweg im (Mikro-)Prozessor noch breiter wäre, könnte einerseits ein Übergang auf 16 Symbole entgegengesehen werden, der eine noch weiter vergrösserte Fehlerschutzmöglichkeit erlauben würde. Andererseits könnte das Gerät noch mit Codewörtern von vier Symbolen arbeiten, wobei jedes Codewort beispielsweise nicht auf nur eine Hälfte eines Rechnerworts beziehen würde. Der Vorteil der letztgenannten Methode würde im vereinfachten Verarbeiten von Acht- Bit-Symbolen in bezug auf Sechzehn-Bit-Symbole liegen.
Die Suche nach guten Codes.
Nachstehend wird die Suche nach guten Codes beschrieben. Gegeben sei eine Basis ⟨a b(0), α b(1), . . . α b(7)⟩, der Suchalgorithmus bestimmt alle vier-Tupel p 11, p 12, p 21, p 22
0 p 11 254
p 11 p 12 254
p 11 p 21 254
p 11 p 22 254
p 11p 22 oder (p 11 = p 22 und p 12 p 21),
-so dass der [4,2]-Code mit Paritätsprüfmatrix
ein Mindestabstandsprofil von wenigstens (7, 4, 1) in bezug auf die Basis ⟨α b(0), α b(1), . . . , α b(7)⟩ hat. Dies kann durch Prüfung einer Anzahl von Bedingungen an den Vier-Tupeln (p 11, p 12, p 21, p 22) erfolgen.
Dafür brauchen wir folgende Gleichungen:
V 1 := {i : wt (α i ) = 1} = {b (0), b(1), . . . , b(7)}
V 2 := { i : wt (α i ) = 2},
W 1 := {(v 1 - v 1′, mod 255 : v 1, v 1′, ∈ v 1},
W 2 := {(v 2 - v 2′) mod 255 : v 2, v 2′ ∈ V 2},
W 12 := {(v 1 - v 2) mod 255 : v 1V 1, v 2V 2}
U    {(v 2 - v 1) mod 255 : v 1V 1, v 2V 2}
Für alle vV 2 :
X v := {(u - v) mod 255 : uV 2}
Bei einer Menge X ∈ { 0, 1, 2, . . . , 254} bezeichnet X das Komplement von X in bezug auf {0, 1, 2, . . . , 254} : X = {0, 1, 2, . . . , 254} X. Die Funktion Z (.) bezeichnet den Zechschen Logarithmus, der durch folgende Gleichung definiert wird
1 + a n = α Z(n)
für n {1,2, 3, . . . , 254}
Der [4,2]-Code mit Paritätsprüfmatrix H c hat ein Mindestabstandsprofil mdp in bezug auf die Basis ⟨α b(0), α b(1), . . . , α b(7)⟩, die folgendes erfüllt
*mdp (3, 2, 1)
wenn und nur wenn
(A) : p 11 - p 12p 21 - p 22;
*mdp (4, 3, 1)
wenn und nur wenn
(A)
und (B 1) :,6p 11, p 12, p 21, p 22W 1; und (B 2) :,6p 11 - p 12, p 1 - p 22, p 22 - p 12, p 22 - p 21W 1; und (B 3) :,6p 12 + Z (p 11 + p 22 - p 12 - p 21),
p 21 + Z (p 11 + p 22 - p 12 - p 21),
p 11 + Z (- p 11 - p 22 + p 12 + p 21),
p 22 + Z (- p 11 - p 22 + p 12 + p 21) ∈ W-1;
*mdp (5, 3, 1)
wenn und nur wenn
(A) und (B 1, B 2, B 3) und (C) : für alle i, jV 1 × V 1:
,6i + p 11 + Z (j - i + p 12 - p 11) ∈ V-1 oder
i + p 21 + Z (j - i + p 22 - p 21) ∈ V 1;
* mdp (6, 4, 1)
wenn und nur wenn
(A) und (B 1, 2, 3) und (C)
und (D 1):,6p 11, p 12, p 21, p 22W 12; und (D 2):,6p 11 - p 12, p 11 - p 21, p 22 - p 12, p 22 - p 21W 12 und (D 3):,6p 12 + Z (p 11 + p 22 - p 12 - p 21),
p 21 + Z (p 11 + p 22 - p 12-p 21),
p 11 + Z (- p 11 - p 22 + p 12 + p 21),
p 22 + Z (- p 11 - p 22 + p 12 + p 21W-12;
und (D 4): für alle i, jV 1 × V 1:
,6i + p 21 + Z (j - i + p 22 - p 21);
i + p 11 + Z (j - i + p 12 - p 11),
i - p 12 - Z (p 11 + p 22 - p 12 - p 21) + Z (j-- i + p 11 - p 21),
i - p 11 - Z (- p 11 - p 22 + p 12 + p 21) + Z- (j - i + p 12 - p 22) ∈ V 1
1
* mdp (7, 4, 1)
wenn und nur wenn
(A) und (B 1, 2, 3) und (C) und (D 1, 2, 3, 4) und (E 1) für alle uV 2:
,6(p 11X u oder p 21X u ) und,6(p 12X u oder p 22X u ) und,6(p 12 + Z (p 11 + p 22 - p 12 - p 21) ∈ X- u   oder
p 22 - p 21 X u ); und,6(p 22 + Z (- p 11 - p 22 + p 12 + p 21) ∈ -X u   oder
p 12 - p 11X u );
und (E 2) für alle (i, j) ∈ V 1 × V 1:
,6i + p 11 + Z (j - i + p 12 - p 11) ∈ V-2  oder
i + p 21 + Z (j - i + p 12 - p 21) ∈ V 2;
und (E 3) für alle (u, v) ∈ V 2 × V 2:
,6(u - v = p 12 - p 11) oder,6(u - v = p 22 - p 21) oder,6(u - vp 12 - p 11) und (u - vp 22 - p 21) - und
(u + p 11 + Z (v - u + p 12 - p 11) ∈ V-1  oder
u + p 21 + Z (v - u + p 22 - p 21) ∈ V -1);
und (E 4) für alle ∈ V 1 und uV 2:
,6(i + p 11 + Z(u - i + p 12 - p 11V-1  oder
i + p 21 + Z (u - i + p 22 - p 21V -2)und,6(i + p 12 + Z (u - i + p 11 - p 12) ∈ V-1  oder
i + p 22 + Z(u - i + p 21 - p 22) ∈ V-2) und,6(i + p 21 + Z(u - i + p 22 - p 21) ∈ V-1  oder
i + p 11 + Z (u - i + p 12 - p 11) ∈ V-2) und,6(i + p 22 + Z(u - i + p 21 - p 22) ∈ V-1  oder
i + p 12 + Z (u - i + p 11 - p 12) ∈ V-2.
Begriffsbestimmung und Eigenschaften des Mindestabstandsprofils eines Codes.
Jetzt folgt eine genau Begriffsbestimmung des Mindestabstandsprofils eines Codes und auch die Beschreibung einiger seiner Eigenschaften.
Ausgegangen wird von einem linearen [n, m]-Code mit einer Länge n und einer Abmessung m über das Feld F := GF (2 k ) mit einem Mindest-(Symbol)-Abstand S. Die Elemente von F sind Symbole. Jedes Symbol c kann durch einen binären k-Vektor c dargestellt werden. Das (binäre) Gewicht wt ( c ) eines Symbols c F in bezug auf die gewählte Vektordarstellung wird als die Anzahl von Einsen in der binären Vektordarstellung c von c definiert. Das (binäre) Gewicht eines Vektors vom Symbolen wird als die Summe der (binären) Gewichte seiner Komponenten definiert.
Das Gewichtsprofil eines n -Vektors c = ( c 0, c 1, . . . c n-1) von Symbolen von F mit der Bezeichnung eines Wortes wird als der Vektor wp (c) := wp ( c 0), wp ( c 1), . . . , wp ( c S-1) definiert, worin die Komponente wp ( c j) definiert wird durch
wp ( c j) := Minimum {Σ i A j wt ( c i ) : A j ∈ {0,1 . . . , n - 1}, A j = n -- j, i = 0,1 . . . S - 1)
Also ist wp ( c j) das Minimum der Gewichte aller Vektoren mit der Länge n - j aus c durch Löschen von j Komponenten aus c . Beispielsweise c = (1001, 1101, 0010) hat das Gewichtsprofil wp (c) = (6,3,1). Das Mindestabstandsprofil d (C) des Linearcodes C wird durch d (C) := ((d (C 0), d (C 1), , . . . , d (C S - 1) definiert, worin
d (C j) := Minimum {wp ( c j) : c C, c 0}, j = 0,1, . . . S - 1.
Wenn man n - j beliebige Komponenten eines beliebigen Nichtnullcodeworts in C nimmt, beträgt die Summe der Gewichte dieser n - j Komponenten wenigstens d (C j). Es gibt auch ein Codewort in Code C mit n - j Komponenten, deren Gewichte sich zu genau d (C j) addieren.
Ein Paar (s, t) wird eine Beschreibung eines Worts x F n genannt, wenn es möglich ist, s Nichtnullkomponenten aus x derart zu löschen, dass die Summe der Gewichte der restlichen Komponenten gleich t ist. Die Menge aller möglichen Beschreibungen von x wird die Beschreibungsmenge von x genannt. Z. B. die Beschreibungsmenge von (1001, 1101, 0010) ist {(0,6), (1,3), (1,4), (1,5), (2,1), (2,2), (2,3), (3,0)} und die Beschreibungsmenge von (0000, 1001, 1000) ist {(0,3), (1,1), (1,2), (2,0)}.
Eine endliche Menge A := {(a 1,b 1), (a 2, b 2), . . . , (a A , b A )} von Paaren natürlicher Zahlen wird eine Liste von Paaren genannt, wenn alle ersten Komponenten a 1, i = 1, . . . , A der Paare in A gegenseitig verschieden sind. Wir sagen, dass ein Wort x in A enthalten ist, wobei A ein Verzeichnis von Paaren ist, wenn wenigstens eine dieser Beschreibungen (s, t) in wenigstens einem Paar in A enthalten ist, d. h. wenn wenigstens ein Paar (a i , b i ) von A folgender Formel entspricht:
a i s, b i t.
Seien T und U zwei Verzeichnisse von Paaren. Es heisst dabei, dass der Code C gleichzeitig T-korrigierend und U-detektierend ist, wenn er alle Fehler e in T korrigiert und alle Fehler e detektiert, die in U enthalten und nicht mit T verknüpft sind. Wenn U = 0 ist, wird C T-korrigierend genannt; wenn T = 0 ist, wird C mit U-detektierend bezeichnet. Es ist ohne weiteres klar, dass C gleichzeitig T-korrigierend und U-detektierend ist, wenn und nur wenn
  • 1. keiner seiner Mitmengen (cosets) mehr als ein von T betroffenes Wort enthält.
  • 2. wenn eine Mitmenge ein von T betroffenes Wort enthält, enthält sie kein Wort, dass von U betroffen und von T nicht betroffen wird.
Dies ist gleichbedeutend mit der Aussage, dass kein Unterschied zwischen zwei verschiedenen Wörtern ein Codewort ist, von denen eines von T betroffen und das andere von T oder U betroffen wird. Folgende Eigenschaft ist eine direkte Folge dieser Bemerkungen.
Der Code C ist gleichzeitig T-korrigierend und U-detektierend, wenn und nur wenn ein Paar (s, t) in T und ein Paar (u, v) in der Kombination von T und U die Komponente d (C s + u) von d (C) die Ungleichheit
d (C s + u) t + v + 1
erfüllt.
Wenn in einem Codewort e Komponenten, worin e S - 1 ist, gelöscht werden, erhalten wir eine Menge von Codewörtern eines [n - e,m]-Codes C′ über GF (2 k ) mit dem Mindestabstandsprofil d (C′) = (d (C′ 0), . . . , d(C′ n - e - 1), worin d (C′ j) die Ungleichheit
d (C′ j) d(C j + e)
erfüllt.

Claims (4)

1. Datenverarbeitungsanordnung, bestehend aus vier Datenverarbeitungsmoduln (100, 102, 104, 106), die entsprechende Datenverarbeitungsmittel (12, 14, 16, 18) mit einer Datenwegbreite von wenigstens 2 n Bytes, jeweilige Codermoduln (20, 22, 24, 26), die zum byteweise Codieren eines Verarbeitungsergebnisses von 2 n Bytes in ein Coderergebnis von n Bytes durch die zugeordneten Datenverarbeitungsmittel gespeist werden, jeweilige Speichermoduln (28, 30, 32, 34), die zum Speichern des Codierergebnisses durch den zugeordneten Codermodul gespeist werden, ein Verbindungsnetz (82, 84, 86, 88), das zum Zuführen von Codierungsergebnissen nach allen Datenverarbeitungsmoduln durch die betreffenden Datenverarbeitungsmoduln gespeist wird, und jeweilige Eingangsdecoder (54, 56, 58, 60) enthalten, die durch das Verbindungsnetz zum Empfangen der Codierungsergebnisse in Gruppen von 4 Bytes gespeist werden und daraus ein Zwei-Byte-Datenwort neubilden, das das Verarbeitungsergebnis zum Zuführen an die zugeordneten Datenverarbeitungsmittel darstellt, wobei die Datenverarbeitungsanordnung weiter Betriebsartregistermittel zur Steuerung der Eingangsdecoder in jeweils einer ersten, zweiten bzw. dritten Betriebsart, zum Aufnehmen und Einordnen aller Bytes einer Gruppe in der ersten Betriebsart, zum Aufnehmen und Einordnen von drei Bytes einer Gruppe, jedoch zum Ablehnen eines zugeordneten vierten Bytes der betreffenden Gruppe in jeweils eines von vier zweiten Betriebsarten, und zum Aufnehmen und Einordnen von zwei Bytes einer Gruppe, jedoch zum Ablehnen einer zugeordneten Kombination von zwei restlichen Bytes der betreffenden Gruppe in jeweils einer von sechs dritten Betriebsarten enthält, und dass die Codermoduln jedes Bytes eines Datenworts mit einer regelmässigen Matrix multiplizieren und die Multiplikationsbytes zum Erzeugen eines Codebytes addieren, wobei die vier auf diese Weise von den betreffenden Codermoduln erzeugten Codebytes ein Codewort eines Codes mit einem Mindest-Hamming-Abstand von sieben über die Bits bilden, wobei die drei in jeder der zweiten Betriebsarten aufgenommenen Codebytes ein Teilcodewort mit einem Mindest-Hamming-Abstand von vier über die Bits bilden, wobei die zwei in jeder der dritten Betriebsarten aufgenommenen Bytes eine Darstellung aller Bits des zugeordneten Verarbeitungsergebnisses bilden.
2. Datenverarbeitungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Codesymbole in einem Galois-Feld mit einer normalen Basis bestimmt werden.
3. Datenverarbeitungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Decoder folgende Elemente enthält:
  • - einen Eingang für den Empfang von Codebytes eines Codeworts,
  • - einen ersten Decodermodul (200), der vom Eingang zur Bestimmung von Syndromsymbolen gespeist wird und mittels mehrerer Multiplikationen dieser Syndromsymbole durch Potenzen einer r2 Matrix kennzeichnende Boolesche Mengen (f ÿ , g ÿ , h ÿ , t ÿ ) erzeugt,
  • - einen zweiten Decodermodul, der vom ersten Decodermodul (204) gespeist wird und in zwei Richtungen an ein Betriebsartregister (202) angeschlossen ist, um unter der Steuerung eines Betriebsartregisterinhalts und der charakterisierenden Booleschen Mengen ein Wählsignal (DSEL **, ISEL **) zu erzeugen,
  • - einen dritten Decodermodul (208), der parallel zum ersten Decodermodul vom Eingang zum Emulieren von 32 Schätzungen durch Korrektur der gleichen Menge von Einzelbitfehlern gespeist wird,
  • - einen Wählmodul, der vom Eingang und vom dritten Decodermodul für den Empfang aller reellen und emulierten Codesymbole eines Codeworts und ebenfalls vom zweiten Decodermodul gespeist wird, um unter der Steuerung eines einzigen "wahren" Wählsignals in einer Reihe ausschliesslich "falscher" Symbole wenigstens ein richtiges nicht emuliertes Codesymbol und ein weiteres richtiges Codesymbol auszuwählen, wobei das letzte emuliert sein kann oder nicht, und zum Ausgeben dieser beiden Codesymbole an einem Benutzerausgang (218).
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet dass das Wählmodul einen Fehlerausgang zum Ausgeben einer Fehlerdetektionsmarkierung unter der Steuerung ausschliesslich empfangener "falscher" Wählsignale besitzt, während das Ausgeben eines Codesymbols abgeblockt wird.
DE3727586A 1986-09-05 1987-08-19 Datenverarbeitungsanordnung bestehend aus vier im wesentlichen gleich aufgebauten Moduln Expired - Lifetime DE3727586C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8621469A GB2194850B (en) 1986-09-05 1986-09-05 Data processing device

Publications (2)

Publication Number Publication Date
DE3727586A1 true DE3727586A1 (de) 1988-03-10
DE3727586C2 DE3727586C2 (de) 1997-12-11

Family

ID=10603758

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3727586A Expired - Lifetime DE3727586C2 (de) 1986-09-05 1987-08-19 Datenverarbeitungsanordnung bestehend aus vier im wesentlichen gleich aufgebauten Moduln

Country Status (7)

Country Link
US (1) US4882731A (de)
JP (1) JP2612000B2 (de)
CA (1) CA1297590C (de)
DE (1) DE3727586C2 (de)
FR (1) FR2604542A1 (de)
GB (1) GB2194850B (de)
SE (1) SE466368B (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033834T2 (de) * 1989-07-13 2002-04-25 Canon Kk Für das Kopieren von Daten geeignete Kodierungs- und Dekodierungsvorrichtung
JPH0458619A (ja) * 1990-06-28 1992-02-25 Canon Inc 誤り訂正システム
EP0481128B1 (de) * 1990-10-16 1998-01-14 Koninklijke Philips Electronics N.V. Datenverarbeitungssystem basierend auf einem (N,K)-Symbolkode und mit Symbolfehler-Korrigierbarkeit und mehrfacher Fehlerreparierbarkeit
US5339404A (en) * 1991-05-28 1994-08-16 International Business Machines Corporation Asynchronous TMR processing system
US5375127A (en) * 1992-03-25 1994-12-20 Ncr Corporation Method and apparatus for generating Reed-Soloman error correcting code across multiple word boundaries
US6367046B1 (en) * 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
US5432801A (en) * 1993-07-23 1995-07-11 Commodore Electronics Limited Method and apparatus for performing multiple simultaneous error detection on data having unknown format
JP3412349B2 (ja) * 1994-12-28 2003-06-03 株式会社日立製作所 制御装置
US5576197A (en) * 1995-04-07 1996-11-19 Molecular Bio-Products Polymerase chain reaction container and methods of using the same
US7257763B1 (en) 2001-08-03 2007-08-14 Netlogic Microsystems, Inc. Content addressable memory with error signaling
US7283380B1 (en) 2001-08-03 2007-10-16 Netlogic Microsystems, Inc. Content addressable memory with selective error logging
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US6971053B1 (en) 2002-07-30 2005-11-29 Cypress Semiconductor Corp. Method for initiating internal parity operations in a CAM device
US7304873B1 (en) 2005-01-25 2007-12-04 Netlogic Microsystems, Inc. Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor
IE20050277A1 (en) * 2005-05-04 2006-11-29 Nat Univ Ireland Method and apparatus for generating error-correcting and error-detecting codes using zero-divisors and units in group rings
US8042029B2 (en) * 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
US8990631B1 (en) 2011-03-03 2015-03-24 Netlogic Microsystems, Inc. Packet format for error reporting in a content addressable memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4512020A (en) * 1981-09-21 1985-04-16 U.S. Philips Corporation Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593396A (en) * 1982-10-08 1986-06-03 August Systems Process for a fault-tolerant data processing system with error detection and resistance to fault propagation
US4698814A (en) * 1984-02-06 1987-10-06 U.S. Philips Corporation Arrangement for checking the parity of parity-bits containing bit groups
JPS60212048A (ja) * 1984-04-06 1985-10-24 Nec Corp 符号修正型切替方式
US4648091A (en) * 1984-07-02 1987-03-03 General Electric Company Apparatus and method for decoding error correction coded information
NL8403147A (nl) * 1984-10-16 1986-05-16 Philips Nv Dataverwerkingssysteem dat is opgebouwd uit drie dataverwerkingsmodules.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4512020A (en) * 1981-09-21 1985-04-16 U.S. Philips Corporation Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes

Also Published As

Publication number Publication date
JP2612000B2 (ja) 1997-05-21
GB8621469D0 (en) 1986-10-15
SE8703405D0 (sv) 1987-09-02
DE3727586C2 (de) 1997-12-11
US4882731A (en) 1989-11-21
CA1297590C (en) 1992-03-17
FR2604542A1 (fr) 1988-04-01
GB2194850A (en) 1988-03-16
SE466368B (sv) 1992-02-03
SE8703405L (sv) 1988-03-06
JPS6367644A (ja) 1988-03-26
GB2194850B (en) 1990-10-31
FR2604542B1 (de) 1994-12-16

Similar Documents

Publication Publication Date Title
DE3727586C2 (de) Datenverarbeitungsanordnung bestehend aus vier im wesentlichen gleich aufgebauten Moduln
DE2916710C2 (de)
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2132565C3 (de) Umsetzer
DE3209679C2 (de)
EP0067301B1 (de) Einrichtung zur Erzeugung von Prüfbits zur Sicherung eines Datenwortes
DE102005028221B4 (de) Vorrichtung und Verfahren zum Schutz der Integrität von Daten
DE3231956A1 (de) Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes
DE2159108A1 (de) Anordnung zur Erzeugung zyklischer Redundanzprüfzeichen
DE3603926A1 (de) Halbleiter-speicherelement
DE3125048A1 (de) Erzeugung von fehlerkorrekturpruefbits unter benutzung von paritaetsbits zur durchlaufkontrolle
DE102015113414B4 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE2425823A1 (de) Einrichtung zur fehlererkennung und fehlerkorrektur
DE102019123642A1 (de) Speicherfehlererkennung und korrektur
DE2941868A1 (de) Anordnung zur vornahme einer fehlerkorrektur und fehlerermittelung bei binaerwoertern
DE102006005817B4 (de) Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE2704627B2 (de) Anordnung zur Fehlerkorrektur von binärer Information
DE2217935A1 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern
DE102007007546A1 (de) Fehlerkorrekturcode-Striping
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
DE2538802C2 (de) Schaltung zum Nachweis von Fehlern unter den aus Informations- und Prüfbits erzeugten, einen fehlerhaften Speicherort angebenden Bits
DE4117726C2 (de) Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung
DE3702697C2 (de)
DE1774225A1 (de) Fehlerkorrekturschaltung
DE102019113970B4 (de) Erkennung von adressfehlern

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 11/16

8127 New person/name/address of the applicant

Owner name: PHILIPS ELECTRONICS N.V., EINDHOVEN, NL

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V., EINDHOVEN, N

8320 Willingness to grant licences declared (paragraph 23)