DE102017125617A1 - Bestimmung und Verwendung von Bytefehlerpostionssignalen - Google Patents

Bestimmung und Verwendung von Bytefehlerpostionssignalen Download PDF

Info

Publication number
DE102017125617A1
DE102017125617A1 DE102017125617.2A DE102017125617A DE102017125617A1 DE 102017125617 A1 DE102017125617 A1 DE 102017125617A1 DE 102017125617 A DE102017125617 A DE 102017125617A DE 102017125617 A1 DE102017125617 A1 DE 102017125617A1
Authority
DE
Germany
Prior art keywords
byte
error
byte error
input
output
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
DE102017125617.2A
Other languages
English (en)
Other versions
DE102017125617B4 (de
DE102017125617B8 (de
Inventor
Thomas Kern
Christian Badack
Michael Gössel
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102017125617.2A priority Critical patent/DE102017125617B8/de
Priority to JP2018203555A priority patent/JP2019110522A/ja
Priority to US16/178,901 priority patent/US10812109B2/en
Publication of DE102017125617A1 publication Critical patent/DE102017125617A1/de
Publication of DE102017125617B4 publication Critical patent/DE102017125617B4/de
Application granted granted Critical
Publication of DE102017125617B8 publication Critical patent/DE102017125617B8/de
Priority to JP2023217133A priority patent/JP2024038056A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/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/1515Reed-Solomon codes

Landscapes

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

Abstract

Es wird eine Lösung vorgeschlagen betreffend eine Bestimmung von mindestens zwei Bytefehlerpositionssignalen zur Identifikation mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, wobei die Schaltungsanordnung derart eingerichtet ist, dass jedes der mindestens zwei Bytefehlerpositionssignale unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart bestimmbar ist, dass es anzeigt, ob ein mit dem Bytefehlerpositionssignal assoziiertes Byte der Binärfolge fehlerhaft ist oder nicht und wobei die mindestens zwei Bytefehlerpositionssignale parallel bestimmt werden. Weiterhin wird eine Lösung vorgeschlagen betreffend eine Korrektur mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, wobei folgende Schritte durchgeführt werden: (i) Bestimmung mindestens eines Bytefehlerpositionssignals unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart, dass mittels des Bytefehlerpositionssignals bestimmbar ist, ob ein Byte der Binärfolge fehlerhaft ist oder nicht, (ii) Bestimmung mindestens eines Bytefehlerkorrekturwerts anhand dessen eine mittels des Bytefehlerpositionssignals identifizierte fehlerhafte Byteposition korrigierbar ist, wobei mindestens einer der Bytefehlerkorrekturwerte für mindestens ein korrektes Byte bestimmt wird.

Description

  • Es ist bekannt, Fehler in Daten, die in Form von Bytes vorliegen, byteweise zu erkennen und byteweise zu korrigieren. Ein Byte kann dabei mindestens zwei Bit umfassen. Mindestens ein Fehler in mindestens einem Bit eines Bytes wird als ein Bytefehler bezeichnet. Ist mindestens ein Bit eines Bytes fehlerhaft, liegt ein Bytefehler vor. Ist nur mindestens ein Bit eines einzelnen Bytes fehlerhaft, entspricht dies einem 1-Bytefehler.
  • Die Korrektur von 1-Bytefehlern ist beispielsweise in [Bossen, D.: b-Adjacent Error Correction, IBM J. Res. Dev., July 1970, Seiten 402 bis 408] beschrieben.
  • Sind Bit von zwei unterschiedlichen Bytes fehlerhaft, entspricht dies einem 2-Bytefehler. Demnach gilt, dass ein k-Bytefehler vorliegt, wenn Bit in k Bytes fehlerhaft sind (d.h. mindestens ein Bit in jedem der k Bytes einen Fehler aufweist).
  • Es ist eine generelle Motivation, die Fehlerkorrektur eventuell fehlerhafter Bytes schnell durchzuführen. Dies gilt beispielsweise wenn in Bytes vorliegende Daten parallel aus einem Speicher ausgelesen und parallel bereitgestellt werden sollen. In so einem Szenario kann es vorteilhaft sein, auch die Fehlerkorrektur parallel durchzuführen.
  • Parallel bedeutet hierbei insbesondere, dass zumindest teilweise zeitgleich (beispielsweise auch zumindest teilweise zeitlich überlappend) eine Fehlerkorrektur oder ein Teil der Fehlerkorrektur für mindestens zwei Bytes durchgeführt wird.
  • Die Bytefehler-Korrektur kann beispielsweise mittels eines Reed-Solomon-Codes erfolgen.
  • In OKANO [Okano, H., Imai, H.: A Construction Method of High-Speed Decoders Using ROM's for Bose-Chaudhuri-Hocquengiem and Reed-Solomon Codes, IEEE TRANSACTIONS ON COMPUTERS, VOL. C-36, NO. 10, OCTOBER 1987, Seiten 1165 bis 1171] ist eine Schaltungsanordnung zur Korrektur von 2-Bytefehlern unter Verwendung eines Reed-Solomon-Codes beschrieben. Hierbei ist es von Nachteil, dass die in OKANO beschriebene Korrektur von 2-Bytefehlern verhältnismäßig langsam ist.
  • Die Aufgabe der Erfindung besteht darin, Nachteile bekannter Lösungen zur Korrektur von Bytefehlern zu vermeiden und insbesondere eine möglichst schnelle Fehlerkorrektur von Fehlern in mehreren Bytes zu ermöglichen.
  • Insbesondere ist es eine Aufgabe, eine Fehlerkorrektur von m-Bytefehlern mit m ≥ 2 für Speicherzellen, z.B. MRAM-Speicherzellen, RRAM-Speicherzellen, etc. bereitzustellen und so die Zuverlässigkeit von aus den Speicherzellen ausgelesenen Daten zu erhöhen.
  • Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen sind insbesondere den abhängigen Ansprüchen entnehmbar.
  • Zur Lösung der Aufgabe wird eine Schaltungsanordnung vorgeschlagen zur Bestimmung von mindestens zwei Bytefehlerpositionssignalen
    • - zur Identifikation mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst,
    • - wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist,
    • - wobei die Schaltungsanordnung derart eingerichtet ist, dass jedes der mindestens zwei Bytefehlerpositionssignale unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart bestimmbar ist, dass es anzeigt, ob ein mit dem Bytefehlerpositionssignal assoziiertes Byte der Binärfolge fehlerhaft ist oder nicht,
    • - wobei die mindestens zwei Bytefehlerpositionssignale parallel bestimmt werden.
  • Hier sei angemerkt, dass je ein Bytefehlerpositionssignal pro Byte der Binärfolge bestimmt werden kann. Somit ist mit jedem Byte der Binärfolge ein Bytefehlerpositionssignal verknüpft bzw. assoziiert. Der Wert des Bytefehlerpositionssignals zeigt an, ob das mit dem Bytefehlerpositionssignal verknüpfte Byte einen Fehler aufweist oder nicht.
  • Bei dem Fehlercode handelt es sich beispielsweise um einen fehlerkorrigierenden und/oder fehlererkennenden Code. Beispielsweise kann als Fehlercode ein Reed-Solomon-Code verwendet werden.
  • Parallel bedeutet in diesem Zusammenhang insbesondere, dass Werte zumindest teilweise parallel zueinander, also beispielsweise zeitgleich oder zumindest teilweise zeitgleich, bestimmt werden.
  • Es ist eine Weiterbildung, dass die Schaltungsanordnung derart eingerichtet ist, dass Bytefehlerpositionssignale unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart bestimmbar sind, dass sie für mindestens zwei Bytes der Bytes der Binärfolge anzeigen, dass ein korrigierbarer Fehler vorliegt.
  • Es ist eine Weiterbildung, dass der Fehlercode ein t-Bytefehler-korrigierender Code ist, wobei mindestens (t + 1) Bytefehlerpositionssignale parallel bestimmt werden.
  • Es ist eine Weiterbildung, dass die Binärfolge einen 2-Bytefehler aufweist.
  • Es ist eine Weiterbildung, dass jedes Byte der Binärfolge m-Bit aufweist, wobei m ≥ 2 gilt.
  • Es ist eine Weiterbildung, dass der Fehlercode
    • - ein t-Bytefehler-korrigierender Code oder
    • - ein t-Bytefehler-korrigierender und (t + 1)-Bytefehler-erkennender Code ist, wobei t ≥ 2 gilt.
  • Es ist eine Weiterbildung, dass die Binärfolge mindestens (t + 1) korrigierbare Bytes aufweist.
  • Es ist eine Weiterbildung, dass das Fehlersyndrom mindestens 2 · t Komponenten s1, s2, ..., s2t aufweist, wobei jede Komponente jeweils m-Bit umfasst mit m ≥ 2.
  • Ein korrigierbares Byte ist ein Byte für das im Falle eine Bytefehlers in diesem Byte eine Fehlerkorrektur vorgesehen ist, wenn der Bytefehler mittels des Bytefehler-korrigierenden Codes korrigierbar ist.
  • Es ist eine Weiterbildung, dass das Bytefehlerpositionssignal einen ersten Wert aufweist, wenn das mit dem Bytefehlerpositionssignal assoziierte Byte fehlerhaft ist und einen zweiten Wert aufweist, wenn das mit dem Bytefehlerpositionssignal assoziierte Byte nicht fehlerhaft ist.
  • Es ist eine Weiterbildung, dass mindestens eines der Bytefehlerpositionssignale für mindestens ein korrektes Byte bestimmt wird.
  • Es ist eine Weiterbildung, dass die Binärfolge Datenbytes und Prüfbytes umfasst, wobei die Datenbytes und/oder die Prüfbytes korrigierbare Bytes bilden.
  • Insbesondere können nur Datenbytes korrigiert werden. Auch ist es möglich, dass nur Prüfbytes oder dass eine Kombination aus Datenbytes und Prüfbytes korrigiert werden. Hierbei können Datenbytes Nutzdaten darstellen und Prüfbytes können zusätzliche Prüfinformation darstellen, die zur Korrektur der Nutzdaten eingesetzt werden kann.
  • Auch wird zur Lösung der Aufgabe eine Schaltungsanordnung vorgeschlagen zur Korrektur mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, wobei die Schaltungsanordnung eingerichtet ist
    • - zur Bestimmung mindestens eines Bytefehlerpositionssignals unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart, dass mittels des Bytefehlerpositionssignals bestimmbar ist, ob ein Byte der Binärfolge fehlerhaft ist oder nicht,
    • - zur Bestimmung mindestens eines Bytefehlerkorrekturwerts anhand dessen eine mittels des Bytefehlerpositionssignals identifizierte fehlerhafte Byteposition korrigierbar ist,
    • - wobei mindestens einer der Bytefehlerkorrekturwerte für mindestens ein korrektes Byte bestimmt wird.
  • Es ist eine Weiterbildung, dass das mindestens eine Bytefehlerpositionssignal und/ oder mindestens ein Bytefehlerkorrekturwert parallel bestimmt werden.
  • Insbesondere können mindestens zwei Bytefehlerkorrekturwerte parallel bestimmt werden.
  • Es ist eine Weiterbildung, dass der Fehlercode ein t-Bytefehler-korrigierender Code ist, wobei mindestens (t + 1) Bytefehlerpositionssignale parallel bestimmt werden.
  • Es ist eine Weiterbildung, dass der Fehlercode ein t-Bytefehler-korrigierender Code ist, wobei mindestens (t + 1) Bytefehlerkorrekturwerte parallel bestimmt werden.
  • Es ist eine Weiterbildung, dass die mindestens (t + 1) Bytefehlerkorrekturwerte unter Verwendung von höchstens drei Galoisfeld-Multiplizierern bestimmt werden und wobei t ≥ 2 gilt.
  • Es ist eine Weiterbildung, dass die Schaltungsanordnung eingerichtet ist, einen der Bytefehler zu korrigieren, indem für das fehlerhafte Byte das Bytefehlerpositionssignal mit dem Bytefehlerkorrekturwert verknüpft wird.
  • Es ist eine Weiterbildung, dass die Schaltungsanordnung eingerichtet ist zur Korrektur von t-Bytefehler, wobei t ≥ 2 gilt.
  • Es ist eine Weiterbildung, dass die Schaltungsanordnung zusätzlich zur Korrektur von 1-Bytefehlern eingerichtet ist.
  • Es ist eine Weiterbildung, dass die Schaltungsanordnung zusätzlich zur Korrektur von τ-Bytefehlern eingerichtet ist, wobei t ≥ τ > 2 gilt.
  • Es ist eine Weiterbildung, dass im Falle eines 2-Bytefehlers das i-te Byte ein korrigierbares Byte ist,
    • - wobei das Bytefehlerpositionssignal für das i-te Byte einen ersten Wert annimmt, wenn α 2 i { s 1 s 3 + s 2 2 } + α i { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 = 0
      Figure DE102017125617A1_0001
      gilt und
    • - wobei das Bytefehlerpositionssignal für das i-te Byte einen zweiten Wert annimmt, wenn α 2 i { s 1 s 3 + s 2 2 } + α i { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 0
      Figure DE102017125617A1_0002
      gilt,
    • - wobei das i-te Byte fehlerhaft ist, wenn das mit dem i-ten Byte assoziierte Bytefehlerpositionssignal den ersten Wert annimmt.
  • Es ist eine Weiterbildung, dass im Falle eines 2-Bytefehlers der Bytefehlerkorrekturwert des i-ten Byte bestimmt wird gemäß a (i) = s 1 s 3 + s 2 2 s 3 + α 2 i s 1 .
    Figure DE102017125617A1_0003
  • Die Schaltungsanordnung kann in einzelne Teilschaltungsanordnungen unterteilt sein. Insbesondere ist es möglich, dass die hier beschriebene Schaltungsanordnung einteilig oder mehrteilig realisiert ist.
  • Weiterhin kann die Schaltungsanordnung unter Verwendung eines Synthesetools realisiert werden.
  • Es ist eine Weiterbildung, dass im Falle eines 2-Bytefehlers die Korrektur eines korrigierbaren Bytes in Abhängigkeit von drei Komponenten des Fehlersyndroms und von dem Bytefehlerpositionssignal bestimmt wird.
  • Auch wird ein Verfahren angegeben zur Bestimmung von mindestens zwei Bytefehlerpositionssignalen
    • - zur Identifikation mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst,
    • - wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist,
    • - bei dem jedes der mindestens zwei Bytefehlerpositionssignale unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart bestimmt wird, dass es anzeigt, ob ein mit dem Bytefehlerpositionssignal assoziiertes Byte der Binärfolge fehlerhaft ist oder nicht,
    • - bei dem die mindestens zwei Bytefehlerpositionssignale parallel bestimmt werden.
  • Weiterhin wird ein Verfahren vorgeschlagen zur Korrektur mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, umfassend die Schritte:
    • - Bestimmung mindestens eines Bytefehlerpositionssignals unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart, dass mittels des Bytefehlerpositionssignals bestimmbar ist, ob ein Byte der Binärfolge fehlerhaft ist oder nicht,
    • - Bestimmung mindestens eines Bytefehlerkorrekturwerts anhand dessen eine mittels des Bytefehlerpositionssignals identifizierte fehlerhafte Byteposition korrigiert wird,
    • - wobei mindestens einer der Bytefehlerkorrekturwerte für mindestens ein korrektes Byte bestimmt wird.
  • Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden nachfolgend beschrieben im Zusammenhang mit einer schematischen Beschreibung von Ausführungsbeispielen, die im Zusammenhang mit den Zeichnungen näher erläutert werden. Dabei können zur Übersichtlichkeit gleiche oder gleichwirkende Elemente mit gleichen Bezugszeichen versehen sein.
  • Es zeigen:
    • 1 eine beispielhafte Schaltungsanordnung zur parallelen Bildung von Bytefehlerpositionssignalen für 2-Bytefehler,
    • 2 eine alternative Ausgestaltung der in 1 gezeigten Schaltungsanordnung,
    • 3 eine weitere Ausgestaltung der in 1 gezeigten Schaltungsanordnung mit einem zentralen Schaltungsteil,
    • 4 eine alternative beispielhafte Realisierung des in 3 gezeigten zentralen Schaltungsteils,
    • 5 ein Beispiel für eine Schaltungsanordnung zur Bytefehlerkorrektur für 2-Bytefehler,
    • 6 ein Beispiel für eine Realisierung der in 5 gezeigten Teilschaltung zur Bildung des Bytefehlerkorrekturwerts,
    • 7 ein weiteres Beispiel einer Realisierung der in 5 gezeigten Teilschaltung zur Bildung des Bytefehlerkorrekturwerts,
    • 8 ein Beispiel einer Korrekturschaltung für 1-Bytefehler und 2-Bytefehler unter Verwendung einer Schaltungsanordnung zur Bildung von Bytefehlerpositionssignalen für 2-Bytefehler,
    • 9 eine beispielhafte Korrekturschaltung für 1-Bytefehler, 2-Bytefehler bis hin zu t-Bytefehlern unter Verwendung einer Schaltungsanordnung zur Bildung von Bytefehlerpositionssignalen für 2-Bytefehler,
    • 10 eine beispielhafte Ausgestaltung der in 8 gezeigten Teilschaltung,
    • 11 eine Fehlererkennungsschaltung,
    • 12 eine Fehlererkennungsschaltung zur Erkennung von 3-Bytefehlern,
    • 13 eine Tabelle, die unterschiedliche Darstellungsformen von Elementen eines Galoisfelds GF(2m) mit m = 5 veranschaulicht.
  • Beispielsweise wird nachfolgend auf eine Korrektur von Bytefehlern unter Verwendung eines Reed-Solomon-Codes eingegangen. Ein Byte kann dabei mehrere Bit umfassen.
  • Für jede korrigierbare Byteposition wird ein Signal (auch bezeichnet als ein Bytefehlerpositionssignal) bestimmt, anhand dessen feststellbar ist, ob das Byte fehlerhaft ist oder nicht. Beispielsweise hat das Bytefehlerpositionssignal den Wert 1, wenn das Byte fehlerhaft ist oder den Wert 0, wenn das Byte nicht fehlerhaft ist.
  • Das Bytefehlerpositionssignal ist vorzugsweise durch einen Wert eines Lokatorpolynoms bestimmt. Im Fall von Bytefehler-korrigierenden Codes kann für jede Anzahl von Fehlern ein eigenes Lokatorpolynom verwendet werden.
  • Somit wird insbesondere vorgeschlagen, ein Bytefehlerpositionssignal für korrigierbare Bytepositionen eines Bytefehler-korrigierenden Codes zu bestimmen, wobei der Bytefehler-korrigierende Code insbesondere mindestens zwei Bytefehler korrigieren kann.
  • Eine korrigierbare Byteposition ist hierbei eine Byteposition, für die eine Korrektur vorgesehen ist, wenn ein Fehler auftritt, der durch den Bytefehler-korrigierenden Code korrigierbar ist.
  • Bei den Bytes handelt es sich beispielsweise um Datenbytes, eine Kombination aus Datenbytes und Prüfbytes oder eine Teilmenge davon. Datenbytes enthalten vorzugsweise Nutzdaten.
  • Für eine Byteposition kann ein Bytefehlerkorrekturwert bestimmt werden, anhand dessen die Byteposition dann korrigiert wird, wenn dort ein Fehler aufgetreten ist. Das Bytefehlerpositionssignal gibt an, ob für ein Byte ein Fehler aufgetreten ist und mittels des Bytefehlerkorrekturwerts kann dieser Fehler korrigiert werden. Mittels des Bytefehlerpositionssignals können also einzelne Bytepositionen ausgeblendet (maskiert) werden, an denen keine Korrektur erfolgen soll.
  • Insbesondere ist es eine Option, dass ein Bytefehlerkorrekturwert, der an einer Byteposition nicht zur Korrektur eingesetzt werden soll (z.B. weil diese Byteposition nicht fehlerhaft ist) mit 0 multipliziert wird. Insofern entspricht der Multiplikation des Bytefehlerkorrekturwerts mit 0 auch einem Nichtverwenden des Bytefehlerkorrekturwerts an einer Byteposition.
  • Reed-Solomon-Code, allgemeine Beschreibung
  • Nachfolgend werden einige Begriffe und Eigenschaften von Reed-Solomon-Codes erläutert.
  • Beispielsweise werden
    • - t-Bytefehler-korrigierende Codes und
    • - t-Bytefehler-korrigierende und (t + 1)-Bytefehler-erkennende Codes
    betrachtet. Insbesondere werden die Fälle t = 2 und t = 1 berücksichtigt.
  • Beispielsweise können als Bytefehler-korrigierende Codes bekannte Reed-Solomon-Codes verwendet werden. Für Reed-Solomon-Codes sei beispielhaft verwiesen auf [Lin, S., Costello, D.: Error Control Coding, Prentice Hall, 1983, Seiten 170 bis 177] oder [Wicker, S.: Error Control Systems for Digital Communication and Storage, Prentice Hall, 1995, Seiten 214 bis 224].
  • Ein 1-Bytefehler-korrigierender und 2-Bytefehler-erkennender Reed-Solomon-Code weist eine H-Matrix H B y t e
    Figure DE102017125617A1_0004
    auf wie folgt: H B y t e = ( α 0 α 1 α 2 α 2 m 2 α 0 α 2 α 4 α 2 (2 m 2 ) α 0 α 3 α 6 α 3(2 m 2 ) )
    Figure DE102017125617A1_0005
  • Hierbei sind αi Elemente des Galoisfelds GF(2m). Diese liegen beispielsweise in einer Exponentialdarstellung vor. α kann ein primitives Element des Galoisfelds GF(2m) sein. Die Exponenten j von αj sind modulo 2m - 1 zu interpretieren.
  • Es ist möglich, aus der H-Matrix gemäß Gleichung (1) eine H-Matrix H B y t e = ( α 0 α 0 α 0 α 0 α 0 α 1 α 2 α 2 m 2 ) α 0 α 2 α 4 α 2(2 m 2 ) )
    Figure DE102017125617A1_0006
    abzuleiten, indem für i = 0,..., (2m - 2) die i-te Spalte mit α-i multipliziert wird. Hierdurch ändert sich nur die Gestalt der H-Matrix, nicht der Code, da α-i ≠ 0 ist. Dies ist beispielsweise auch in [Fujiwara, E.: Code Design for Dependable Systems, Wiley, 2006, Seite 65] beschrieben, wobei der Wert „1“ für α0 verwendet wird, da α0 das Einselement des verwendeten Galoisfelds ist.
  • Für einen 2-Bytefehler-korrigierenden und 3-Bytefehler-erkennenden Code wird die folgende H-Matrix verwendet: H B y t e = ( α 0 α 0 α 0 α 0 α 0 α 1 α 2 α 2 m 2 α 0 α 2 α 4 α 2 (2 m 2 ) α 0 α 3 α 6 α 3(2 m 2 ) α 0 α 4 α 8 α 4(2 m 2 ) )
    Figure DE102017125617A1_0007
  • Jede Spalte der in Gleichung (3) angegebenen H-Matrix entspricht einem Byte.
  • Ist die Länge des Codes gleich N Bytes oder m · N-Bit (wobei jedes Byte m-Bit aufweist), werden nur N Spalten der H-Matrizen gemäß Gleichung (1) oder Gleichung (3) verwendet. Beispielsweise können dann die verbleibenden (letzten) 2m - 2 - N Spalten gestrichen werden.
  • Allgemein kann für einen t-Bytefehler-korrigierenden und t + 1-Bytefehler-erkennenden Code die H-Matrix wie folgt angegeben werden: H B y t e = ( α 0 α 0 α 0 α 0 α 0 α 1 α 2 α 2 m 2 α 0 α 2 α 4 α 2 (2 m 2 ) α 0 α 3 α 6 α 3(2 m 2 ) α 0 α 4 α 8 α 4(2 m 2 ) α 0 α 2 t 1 α 2 t 2 α 2 t (2 m 2 ) )
    Figure DE102017125617A1_0008
  • Nachfolgend wird beispielhaft ein Code betrachtet, der 2-Bytefehler korrigieren und 3-Bytefehler erkennen kann.
  • Tritt ein Fehler auf, wird ein korrekter Vektor v = v0,...., vN-1 in einen fehlerhaften Vektor v' = v'0, ... , v'N-1 gestört.
  • Die Komponenten v0,... , vN-1 des Vektors v sind Bytes, die jeweils m-Bit umfassen, so dass v i = v 1 i ,..., v m i
    Figure DE102017125617A1_0009
    für i = 0,...,N - 1 gilt. v 1 i ,..., v m i
    Figure DE102017125617A1_0010
    sind somit die m-Bit des i-ten Bytes.
  • Ein m-Bit-Byte kann auch als ein Element des Galoisfelds GF(2m) bezeichnet werden.
  • Liegt ein 1-Bytefehler vor, ist nur ein einzelnes Byte fehlerhaft, d.h. für ein bestimmtes i ∈ {0,... , N - 1} ist das zugehörige i-te Byte fehlerhaft.
  • Wird das korrekte i-te Byte mit v i = v 1 i ,..., v m i
    Figure DE102017125617A1_0011
    und das fehlerhafte i-te Byte mit v ' i = v ' 1 i ,..., v ' m i
    Figure DE102017125617A1_0012
    bezeichnet, können sich 1 oder 2 oder bis zu m-Bit des korrekten i-ten Bytes von dem fehlerhaften i-ten Byte unterscheiden.
  • Ein Bytefehler im i-ten Byte kann durch
    • - die fehlerhafte Byteposition i und
    • - einen Bytefehlerwert
    e i = v i v ' i = v 1 i v ' 1 i ,..., v m i v ' m i
    Figure DE102017125617A1_0013
    beschrieben werden. Hierbei sei angemerkt, dass „⊕“ die exklusiv-oder-Operation kennzeichnet.
  • Die Position eines i-ten Bytes kann auch mit αi bezeichnet werden.
  • Soll ein Bytefehler mit dem Bytefehlerwert ei in der Byteposition i korrigiert werden, so ist für die Byteposition i ein Bytefehlerkorrekturwert zu bestimmen, der gleich dem Bytefehlerwert ist.
  • In diesem Beispiel ist für einen zu korrigierenden Bytefehler der Bytefehlerwert gleich dem Bytefehlerkorrekturwert; insoweit können die Begriffe Bytefehlerwert und Bytefehlerkorrekturwert synonym verwendet werden.
  • Um eine unübersichtliche Anzahl von Indizes zu vermeiden, werden nachfolgend Bytefehlerwerte mit den alphabetischen Buchstaben a, b, c bezeichnet.
  • Ein Bytefehlerkorrekturwert für das i-te Bytes kann auch mit a(i) bezeichnet werden.
  • Byte-Positionen können mit i, j, k, ... oder mit αi, αj, αk, ... bezeichnet werden, wobei α ein erzeugendes Element des Galoisfelds GF(2m) ist.
  • Ein Fehlersyndrom s weist Syndromkomponenten (auch bezeichnet als Komponenten, Fehlersyndromkomponenten, Teilfehlersyndrome oder Teilsyndrome) s1, s2, s3, s4, s5 auf, die für die H-Matrix gemäß Gleichung (3) bestimmt sind zu: s 1 = ( α 0 , α 0 ,..., α 0 ) ( v ' 0 ,v' 1 ,..., v' N 1 ) T ,
    Figure DE102017125617A1_0014
    s 2 = ( α 0 , α 1 ,..., α N 1 ) ( v ' 0 ,v' 1 ,..., v' N 1 ) T ,
    Figure DE102017125617A1_0015
    s 3 = ( α 0 , α 2 ,..., α 2 ( N 1 ) ) ( v ' 0 ,v' 1 ,..., v' N 1 ) T ,
    Figure DE102017125617A1_0016
    s 4 = ( α 0 , α 3 ,..., α 3 ( N 1 ) ) ( v ' 0 ,v' 1 ,..., v' N 1 ) T ,
    Figure DE102017125617A1_0017
    s 5 = ( α 0 , α 4 ,..., α 4 ( N 1 ) ) ( v ' 0 ,v' 1 ,..., v' N 1 ) T .
    Figure DE102017125617A1_0018
  • Dabei ist (v'0,... ,v'N-1)T ein Spaltenvektor mit den Komponenten v'0,... ,v'N-1, der auch als transponierter Vektor des Zeilenvektors (v'0,...,v'N-1) bezeichnet werden kann.
  • Die Syndromkomponenten s1, s2, s3, s4, s5 bilden jeweils ein Byte mit m-Bit.
  • Liegt kein Fehler vor, gilt: s 1 = s 2 = s 3 = s 5 = 0.
    Figure DE102017125617A1_0019
  • Liegt ein 1-Bytefehler mit dem Bytefehlerwert α in der i-ten Bytefehlerposition vor, gilt: s 1 = α 0 a = a s 2 = a i a s 3 = a 2 i a s 4 = a 3 i a s 5 = a 4 i a .
    Figure DE102017125617A1_0020
  • Liegt ein 2-Bytefehler mit den Bytefehlerwerten α und b in den Bytefehlerpositionen i und j vor, gilt: s 1 = α 0 a + α 0 b = a + b s 2 = a i a + α j b s 3 = a 2 i a + α 2 j b s 4 = a 3 i a + α 3 j b s 5 = a 4 i a + α 4 j b .
    Figure DE102017125617A1_0021
  • Liegt ein 3-Bytefehler mit den Bytefehlerwerten a, b und c in den Bytefehlerpositionen i, j und k vor, gilt: s 1 = α 0 a + α 0 b + α 0 c = a + b + c s 2 = a i a + α j b + α k c s 3 = a 2 i a + α 2 j b + α 2 k c s 4 = a 3 i a + α 3 j b + α 3 k c s 5 = a 4 i a + α 4 j b + α 4 k c .
    Figure DE102017125617A1_0022
  • Für die betrachteten Fehler sind die folgenden Beziehungen erfüllt:
    1. 1. Für einen 1-Bytefehler gelten s 1 = a 0
      Figure DE102017125617A1_0023
      und s 1 s 3 + s 2 2 = 0.
      Figure DE102017125617A1_0024
    2. 2. Für einen 2-Bytefehler gelten s 1 s 3 + s 2 2 = a b [ α 2 i + α 2 j ] 0.
      Figure DE102017125617A1_0025
      und Det ( s 1 s 2 s 3 s 2 s 3 s 4 s 3 s 4 s 5 ) = s 1 s 3 s 5 + s 3 3 + s 4 2 s 1 + s 2 2 s 5 = 0.
      Figure DE102017125617A1_0026
    3. 3. Für einen 3-Bytefehler ist Det ( s 1 s 2 s 3 s 2 s 3 s 4 s 3 s 4 s 5 ) = s 1 s 3 s 5 + s 3 3 + s 4 2 s 1 + s 2 2 s 5 = = a b c { α 2 i + α 2 j } { α 2 i + α 2 k } { α 2 j + α 2 k } 0.
      Figure DE102017125617A1_0027
  • Die Bytefehlerpositionen αi und αj können im Falle des 2-Bytefehlers in dem i-ten und in dem j-ten Byte als Lösung, Wurzeln oder Nullstellen der Gleichung x 2 { s 1 s 3 + s 2 2 } + x { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 = 0.
    Figure DE102017125617A1_0028
    bestimmt werden. L ( x ) = x 2 { s 1 s 3 + s 2 2 } + x { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2
    Figure DE102017125617A1_0029
    kann auch als Lokatorpolynom zweiten Grades bezeichnet werden.
  • Entsprechend sind die Bytefehlerpositionen für den 1-Bytefehler durch eine Nullstelle eines Lokatorpolynomes ersten Grades und allgemein die fehlerhaften Byte-positionen eines τ-Bytefehlers für einen t-Bytefehler-korrigierenden Code für 1 τ t
    Figure DE102017125617A1_0030
    durch Nullstellen eines Lokatorpolynoms τ-ten Grades bestimmt.
  • Besteht ein Codewort aus N · m-Bit und damit aus N Bytes, so gibt es nur N unterschiedliche Bytepositionen, die als Bytefehlerpositionen in Betracht kommen. In einem entsprechenden Bit-korrigierenden Code gibt es hingegen m·N mögliche fehlerhafte Bitpositionen.
  • Bei einem 1-Bytefehler wird ein Lokatorpolynom ersten Grades und bei einem 2-Bytefehler wird ein Lokatorpolynom zweiten Grades verwendet.
  • Reed-Solomon-Code, ergänzende Ausführungen
  • Es ist möglich, im Falle eines 2-Bytefehlers einen Bytefehlerkorrekturwert a(i) für ein i-tes Byte in Abhängigkeit lediglich von den Syndromkomponenten s1, s2, s3 und der Byteposition i zu bestimmen.
  • Hierbei ist es von Vorteil, dass mehrere Bytefehlerkorrekturwerte parallel für beispielsweise mindestens drei korrigierbare Bytes bestimmt werden können.
  • Beispielsweise sei angenommen, dass ein 2-Bytefehler vorliegt. Der Bytefehlerkorrekturwert für jede Byteposition kann auf Grund der bereitgestellten Syndromkomponenten s1, s2, s3 und der bekannten Position jedes der korrigierbaren Bytes parallel bestimmt werden. Ein Bytefehlerkorrekturwert wird für die beiden fehlerhaften Bytes und mindestens für ein nicht fehlerhaftes Byte bestimmt.
  • Ein für eine i-te Byteposition bestimmter Bytefehlerkorrekturwert stimmt mit dem Bytefehlerwert an dieser i-ten Position überein.
  • Ein ebenfalls (ggf. parallel) bestimmtes Bytefehlerpositionssignal legt fest, ob ein Bytefehler in dem betrachteten Byte vorliegt und die Korrektur mit dem Bytefehlerkorrekturwert erfolgt. Zeigt das Bytefehlerpositionssignal an, dass kein Bytefehler in der entsprechenden Position vorliegt, erfolgt keine Korrektur mit dem für diese Position bestimmten Bytefehlerkorrekturwert.
  • Mit anderen Worten: Das Bytefehlerpositionssignal bestimmt, an welchen Bytepositionen eine Korrektur mit dem bereitgestellten Bytefehlerkorrekturwert erfolgt: Zeigt das Bytefehlerpositionssignal für eine Byteposition einen Bytefehler an, erfolgt die Korrektur mit dem Bytefehlerkorrekturwert; zeigt das Bytefehlerpositionssignal für diese Byteposition keinen Bytefehler an, erfolgt keine Korrektur.
  • Wird ein t-Bytefehler-korrigierender Code betrachtet, kann der entsprechende Bytefehlerkorrekturwert für mehr als t korrigierbare Bytepositionen bestimmt werden, noch bevor die Bytefehlerpositionssignale für (alle oder einen Teil der) Bytepositionen bestimmt wurden. Der Bytefehlerkorrekturwert kann auch parallel mit dem Bytefehlerpositionssignal bestimmt werden.
  • Liegt kein Bytefehler in einem i-ten Byte vor, wird der für dieses i-te Byte bestimmte Bytefehlerkorrekturwert auf Grund des Werts des Bytefehlerpositionssignals nicht zur Korrektur verwendet. Es ist in diesem Fall nicht erforderlich, dass der für dieses nicht fehlerhafte Byte bestimmte Bytefehlerkorrekturwert gleich 0 = 0, ,0 m
    Figure DE102017125617A1_0031
    ist, da auf Grund des Bytefehlerpositionssignals die Korrektur ausgeschlossen ist. Optional kann in diesem Fall der Bytefehlerkorrekturwert für das i-te Byte 0 = 0, ,0 m
    Figure DE102017125617A1_0032
    gesetzt werden.
  • Ist ein 2-Bytefehler vorhanden, kann für eine Bytefehlerposition i der Bytefehlerkorrekturwert a(i) des i-ten Bytes so bestimmt sein, dass gilt: a ( i ) = s 1 s 3 + s 2 2 s 3 + α 2 i s 1
    Figure DE102017125617A1_0033
  • Ist für einen 2-Bytefehler eine Byteposition i bekannt, in der ein Bytefehler aufgetreten ist, ist auf Grund der Gleichung (13) der Bytefehlerkorrekturwert a(i) für die fehlerhafte Byteposition i durch die Syndromkomponenten s1, s2, s3 und den aus der Byteposition i bestimmten Wert αi bestimmt.
  • Für eine Byteposition k wird der Bytefehlerkorrekturwert a(k) mit a ( k ) = s 1 s 3 + s 2 2 s 3 + α 2 k s 1
    Figure DE102017125617A1_0034
    beispielsweise parallel bestimmt, unabhängig davon, ob die Byteposition k tatsächlich fehlerhaft ist.
  • Zeigt das Bytefehlerpositionssignal an, dass in der Byteposition k ein Bytefehler vorliegt, erfolgt eine Fehlerkorrektur des k-ten Bytes mit dem für diese Byteposition k bestimmten Bytefehlerkorrekturwert a(k).
  • Zeigt das Bytefehlerpositionssignal an, dass in der Byteposition k kein Bytefehler vorliegt, erfolgt keine Fehlerkorrektur des k-ten Bytes und der für dieses k-te Byte bestimmte Bytefehlerkorrekturwert a(k) wird nicht zur Fehlerkorrektur verwendet. Optional kann der Bytefehlerkorrekturwert zu 0 gesetzt werden.
  • Der Bytefehlerkorrekturwert für eine Byteposition kann also bereits vorliegen, noch ehe bestimmt worden ist, ob tatsächlich ein Fehler an dieser Byteposition aufgetreten ist.
  • Für verschiedene Bytepositionen können die entsprechenden Bytefehlerkorrekturwerte parallel bestimmt werden. Insbesondere können die Bytefehlerkorrekturwerte für alle korrigierbaren Bytepositionen oder für eine Teilmenge der korrigierbaren Bytepositionen parallel bestimmt werden.
  • Kann der Bytefehler-korrigierende Code bis zu t fehlerhafte Bytes korrigieren, dann können mehr als t Bytefehlerkorrekturwerte parallel bestimmt werden, beispielsweise für alle korrigierbaren Bytepositionen oder auch für eine Teilmenge von mindestens t + 1 korrigierbaren Bytepositionen, unabhängig davon, ob ein Bytefehler an einer Byteposition vorliegt.
  • Der Wert des Bytefehlerpositionssignals bestimmt, ob der Bytefehlerkorrekturwert zur Korrektur des entsprechenden Bytes verwendet wird.
  • Korrigierbare Bytepositionen können beispielsweise alle Datenbytes, eine Teilmenge der Datenbytes, Prüfbytes, alle Bytes eines Codeworts eines t-Bytefehler-korrigierenden Codes oder eine Teilmenge der Bytes eines Codewortes des t-Bytefehler-korrigierenden Codes sein.
  • Das Bytefehlerpositionssignal kann dabei beispielsweise so bestimmt sein, dass es für eine Byteposition einen ersten Wert annimmt, wenn das Byte der Byteposition fehlerhaft ist und dass es einen zweiten, von dem ersten Wert verschiedenen Wert annimmt, wenn das Byte der Byteposition nicht fehlerhaft ist.
  • Das Bytefehlerpositionssignal kann unter Verwendung des entsprechenden Lokatorpolynoms bestimmt werden.
  • Bytefehlerpositionssignal für den 1-Bytefehler
  • Für einen 1-Bytefehler ist das Lokatorpolynom ersten Grades x s 1 = s 2
    Figure DE102017125617A1_0035
    mit der Lösung oder Nullstelle α i = s 2 s 1 .
    Figure DE102017125617A1_0036
    Der Bytefehlerkorrekturwert a(i) für die fehlerhafte Byteposition i ist a ( i ) = s 1 .
    Figure DE102017125617A1_0037
    Für jedes k-te Byte wird ein Bytefehlerkorrekturwert a ( k ) = s 1 = a
    Figure DE102017125617A1_0038
    bestimmt.
  • Liegt ein Fehler in dem i-ten Byte mit dem Bytefehlerkorrekturwert α vor, so dass s1 = α ist, wird für jedes Byte k ein Bytefehlerkorrekturwert a(k) = a nach Gleichung (18) bestimmt, der für das tatsächlich zu korrigierende i-te Byte eingesetzt wird und für die nicht zu korrigierenden Bytes maskiert (z.B. zu Null gesetzt) wird. Die Entscheidung, ob ein Byte korrigiert wird oder nicht, erfolgt auf Grund des Werts des entsprechenden Bytefehlerpositionssignals.
  • Für jedes Byte wird im Falle eines 1-Bytefehlers ein Bytefehlerpositionssignal unter Verwendung der Gleichung (15) bestimmt. Das Bytefehlerpositionssignal für die Byteposition i ist
    • - gleich 1, wenn αi eine Nullstelle des Lokatorpolynoms gemäß Gleichung (15) ist und
    • - gleich 0, wenn αi keine Nullstelle des Lokatorpolynoms gemäß Gleichung (15) ist.
  • Eine Korrektur des i-ten Bytes erfolgt nur, wenn αi Nullstelle des Lokatorpolynoms gemäß Gleichung (15) ist.
  • Bytefehlerpositionssignal für den 2-Bytefehler
  • Die Wirkung des Bytefehlerpositionssignals bei der Korrektur eines 2-Bytefehlers wird anhand eines Beispiels veranschaulicht:
  • Wird ein t-Bytefehler-korrigierender Code mit t ≥ 2 verwendet, so sind im Falle eines 2-Bytefehlers die fehlerhaften Bytepositionen durch die zwei Nullstellen des Lokatorpolynoms zweiten Grades gemäß Gleichung (12) bestimmt.
  • Sind die fehlerhaften Bytepositionen die Positionen i und j, ist das Bytefehlerpositionssignal beispielsweise gleich 1, wenn αi und αj jeweils eine Nullstelle des Lokatorpolynoms zweiten Grades gemäß Gleichung (12) sind und gleich 0 in allen anderen Fällen.
  • Für jede Byteposition k kann ein Bytefehlerkorrekturwert a ( k ) = s 1 s 3 + s 2 2 s 3 + α 2 k s 1
    Figure DE102017125617A1_0039
    bestimmt werden. Diese Bytefehlerkorrekturwerte können zumindest teilweise parallel bestimmt werden.
  • Der Wert des Bytefehlerpositionssignals für die Byteposition k bestimmt, ob an dieser Byteposition k eine Korrektur erfolgt. Ist das Bytefehlerpositionssignal gleich 1, erfolgt eine Korrektur, ist das Bytefehlerpositionssignal gleich 0, erfolgt keine Korrektur.
  • Für die Byteposition k = i ist der Bytefehlerkorrekturwert a(i) so bestimmt, dass das fehlerhafte i-te Byte mittels des Bytefehlerkorrekturwerts a(i) korrigiert wird. Ebenso ist für die Byteposition k = j der Bytefehlerkorrekturwert a(j) so bestimmt, dass das fehlerhafte j-te Byte mittels des Bytefehlerkorrekturwerts a(j) korrigiert wird.
  • Für alle anderen Bytepositionen k mit k ≠ i, j liegt kein Bytefehler vor, so dass für diese Bytepositionen keine Korrektur erforderlich ist. Selbst wenn ein Bytefehlerkorrekturwert a(k) ungleich 0 bestimmt worden ist, wird dieser nicht zur Korrektur eingesetzt, weil das Bytefehlerpositionssignal an dieser Byteposition den Wert 0 annimmt und somit anzeigt, dass für diese Byteposition keine Korrektur erforderlich ist.
  • Behandlung von 1-Bytefehlern, 2-Bytefehlern und 3-Bytefehlern
  • Im Folgenden wird beschrieben, wie Bytefehler erkannt und voneinander unterschieden werden können. Es wird beispielhaft ein 2-Bytefehler-korrigierender Code betrachtet. Ergänzend wird auch eine 3-Bytefehler-Erkennung beschrieben.
    1. 1. Es wird zunächst von dem Fall ausgegangen, dass nur ein 1-Bytefehler oder ein 2-Bytefehler vorhanden ist. In einem solchen Beispiel gilt für einen 2-Bytefehler gemäß Gleichung (9) s 1 s 3 + s 2 2 0
      Figure DE102017125617A1_0040
      und für einen 1-Bytefehler gelten sowohl die Gleichungen (7) und (8) s 1 0
      Figure DE102017125617A1_0041
      s 1 s 3 + s 2 2 = 0.
      Figure DE102017125617A1_0042
      Zusätzlich ist noch der Fall zu unterscheiden, dass weder ein 1-Bytefehler noch ein 2-Bytefehler aufgetreten ist. Bereits aus s1 = 0 kann gefolgert werden, dass weder ein 1-Bytefehler noch ein 2-Bytefehler aufgetreten ist. Wenn die Wahrscheinlichkeit für einen 3-Bytefehler extrem klein ist, kann man für diesen Fall folgern, dass kein Fehler aufgetreten ist.
    2. 2. Es wird nun der Fall betrachtet, dass nur ein 1-Bytefehler oder nur ein 2-Bytefehler oder nur ein 3-Bytefehler vorhanden ist. Für einen 3-Bytefehler gilt gemäß Gleichung (11) s 1 s 3 s 5 + s 3 3 + s 4 2 s 1 + s 2 2 s 5 0.
      Figure DE102017125617A1_0043
      Entsprechend gilt für einen 2-Bytefehler oder für einen 1-Bytefehler: s 1 s 3 s 5 + s 3 3 + s 4 2 s 1 + s 2 2 s 5 = 0.
      Figure DE102017125617A1_0044
      Liegt ein 2-Bytefehler vor, gilt zusätzlich Gleichung (9) s 1 s 3 + s 2 2 0.
      Figure DE102017125617A1_0045
      Für einen 1-Bytefehler gelten wieder die Gleichungen (7) und (8) s 1 0
      Figure DE102017125617A1_0046
      s 1 s 3 + s 2 2 = 0.
      Figure DE102017125617A1_0047
      Aus der Bedingung gemäß Gleichung (9) allein kann nicht geschlossen werden, dass ein 2-Bytefehler vorliegt, da diese Bedingung auch für den 3-Bytefehler gilt.
  • Die Korrektur von 2-Bytefehlern kann wie folgt durchgeführt werden: Für jede Byteposition i mit i ∈ {0,1,...,N - 1} wird ein Wert L(αi) des Lokatorpolynoms zweiten Grades bestimmt gemäß L ( α i ) = α 2 i { s 1 s 3 + s 2 2 } + α i { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 .
    Figure DE102017125617A1_0048
  • Ist L(αi) = 0, wird das i-te Byte korrigiert. Ist L(αi) ≠ 0, dann wird das i-te Byte nicht korrigiert. Ein Bytefehlerpositionssignal BPsi kann angeben, ob eine Korrektur des jeweiligen Bytes erfolgt oder nicht. Das Bytefehlerpositionssignal BPsi ist beispielsweise bestimmt durch B P s i = { 1 wenn L ( α i ) = 0, 0 wenn L ( α i ) 0.
    Figure DE102017125617A1_0049
  • Bei Schaltungsanordnungen, die Operationen in einem Galoisfeld GF(2m) realisieren, werden beispielsweise Multiplizierer, Konstantenmultiplizierer, Quadrierer, (dritte) Potenzbildner o.ä. eingesetzt. Die schaltungstechnische Umsetzung einzelner derartiger Operationen ist bekannt. Nachfolgend wird beispielhaft dargestellt, wie in einem Galoisfeld, das beispielsweise durch sein Modularpolynom bestimmt ist, Multiplizierer, Quadrierer, dritte Potenz-Bildner und Konstanten-Multiplizierer realisiert werden können. Beispielhaft wird m = 5 angenommen, so dass ein Byte aus m = 5 Bit besteht und das entsprechende Galoisfeld GF(25) ist.
  • Beispiel im Galoisfeld GF(2m) mit m = 5
  • Es wird beispielhaft m = 5 gewählt, so dass das zugrundeliegende Galoisfeld G F ( 2 m ) = G F ( 2 5 ) = G F ( 32 )
    Figure DE102017125617A1_0050
    insgesamt 32 Elemente umfasst.
  • Elemente des Galoisfelds GF(32) sind in ihren verschiedenen Darstellungsformen in 13 dargestellt. Das Modularpolynom des Galoisfelds GF(32) ist das Polynom p ( x ) = 1 + x 2 + x 5 .
    Figure DE102017125617A1_0051
  • Die erste Spalte der in 13 gezeigten Tabelle umfasst die Elemente αi ≠ 0 des GF(25) für i = 0,1,...,30 in Exponentendarstellung (auch bezeichnet als Exponentialdarstellung). Das Nullelement des Körpers besitzt keine Exponentendarstellung. In der zweiten Spalte der Tabelle sind alle Elemente in ihrer Polynomdarstellung für das zugehörige Modularpolynom p(x) aufgelistet. Die dritte Spalte der Tabelle zeigt die Tupel- oder Vektordarstellung der Elemente des GF(25). Die Vektordarstellung eines Elementes kann direkt aus der Polynomdarstellung abgelesen werden. Die fünf Komponenten der Vektordarstellung entsprechen dabei von links nach rechts den Koeffizienten der zugehörigen Potenzen x 0 ,   x 1 ,   x 2 ,   x 3 ,   x 4
    Figure DE102017125617A1_0052
    in der Polynomdarstellung.
  • Die entsprechende Polynomdarstellung ergibt sich aus der Potenzdarstellung αi, indem [xi modulo (1 + x2 + x5)] bestimmt wird. Beispielsweise ist die Polynomdarstellung von α5 gleich 1 + x2, da x 5   m o d u l o ( 1 + x 2 + x 5 ) = 1 + x 2
    Figure DE102017125617A1_0053
    gilt.
  • Die Multiplikation zweier Elemente des Galoisfelds kann in der Exponentendarstellung oder in der Polynomdarstellung vorgenommen werden. Sind zwei Elemente des Galoisfelds GF(2m) = GF(25) in der Exponentendarstellung αi und αj gegeben, ergibt sich deren Produkt zu: α i α j = α k  mit  k = ( i + j )   m o d u l o ( 2 m 1 ) = ( i + j )   m o d u l o  3 1.
    Figure DE102017125617A1_0054
    Liegen die zu multiplizierenden Elemente des Galoisfelds in ihrer Vektordarstellung oder in ihrer Polynomdarstellung vor, kann ihre Multiplikation mit einem Galoisfeld-Multiplizierer vorgenommen werden. Nachfolgend wird beispielhaft die Multiplikation zweier Elemente in ihrer Polynomdarstellung beschrieben. Um zwei Elemente, die als Elemente des Galoisfelds GF(2m) = GF(25) in ihrer Polynomdarstellung gegeben sind, miteinander zu multiplizieren, sind die Polynome direkt in der üblichen Weise miteinander zu multiplizieren, und das Ergebnis ist modulo des Modularpolynoms zu bestimmen.
  • Sind beispielsweise die Polynome 1 + x2 + x3 und x + x3 gegeben, so ergibt ihre direkte Multiplikation ( 1 + x 2 + x 3 ) ( x + x 3 ) = x + x 4 + x 5 + x 6 .
    Figure DE102017125617A1_0055
  • Wegen x 5 = 1 + x 2   m o d u l o ( 1 + x 2 + x 5 )
    Figure DE102017125617A1_0056
    und x 6 = x + x 3   m o d u l o ( 1 + x 2 + x 5 )
    Figure DE102017125617A1_0057
    folgt x + x 4 + x 5 + x 6 = x + x 4 + 1 + x 2 + x + x 3 = 1 + x 2 + x 3 + x 4 .
    Figure DE102017125617A1_0058
  • Somit gilt im Ergebnis: ( 1 + x 2 + x 3 ) ( x + x 3 ) = 1 + x 2 + x 3 + x 4 .
    Figure DE102017125617A1_0059
  • Nachfolgend wird der Fall beschrieben, wonach ein erstes Element a(x) mit a ( x ) = a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0
    Figure DE102017125617A1_0060
    und und ein zweites Element b(x) mit b ( x ) = b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x + b 0
    Figure DE102017125617A1_0061
    in dem Galoisfeld GF(25) mit dem Modularpolynom m ( x ) = x 5 + x 2 + 1
    Figure DE102017125617A1_0062
    multipliziert werden. Durch direktes Ausmultiplizieren der Polynome a(x) und b(x) ergibt sich zunächst ein Polynom 8-ten Grades. Mit x 5 m o d u l o ( 1 + x 2 + x 5 ) = 1 + x 2 ,
    Figure DE102017125617A1_0063
    x 6 m o d u l o ( 1 + x 2 + x 5 ) = x + x 2 ,
    Figure DE102017125617A1_0064
    x 7 m o d u l o ( 1 + x 2 + x 5 ) = x 2 + x 4 ,
    Figure DE102017125617A1_0065
    x 8 m o d u l o ( 1 + x 2 + x 5 ) = 1 + x 2 + x 3
    Figure DE102017125617A1_0066
    ergibt sich ein Polynom vierten Grades wie folgt: c 4 x 4 + c 3 x 3 + c 2 x 2 + c 1 x 1 + c 0 = a ( x ) b ( x )  mod  m ( x ) = = ( a 0 b 4 + a 1 b 3 + a 2 b 2 + a 3 b 1 + a 3 b 4 + a 4 b 0 + a 4 b 3 ) x 4 + + ( a 0 b 3 + a 1 b 2 + a 2 b 1 + a 2 b 4 + a 3 b 0 + a 3 b 3 + a 4 b 2 + a 4 b 4 ) x 3 + + ( a 0 b 2 + a 1 b 1 + a 1 b 4 + a 2 b 0 + a 2 b 3 + a 3 b 2 + a 3 b 4 + a 4 b 1 + a 4 b 3 + a 4 b 4 ) x 2 + + ( a 0 b 1 + a 1 b 0 + a 2 b 4 + a 3 b 3 + a 4 b 2 ) x 1 + + ( a 0 b 0 + a 1 b 4 + a 2 b 3 + a 3 b 2 + a 4 b 1 + a 4 b 4 )   .
    Figure DE102017125617A1_0067
  • Diese Beziehung wird durch einen Galoisfeld-Multiplizierer mit fünf ersten binären Eingängen, fünf zweiten binären Eingängen und fünf binären Ausgängen realisiert. Dies wird nachfolgend näher erläutert.
  • An den ersten fünf Eingängen des Galoisfeld-Multiplizierers liegen die binären Werte a0, a1, a2, a3, a4 und an den zweiten fünf Eingängen liegen die binären Werte b0, b1, b2, b3, b4 an, während an den fünf binären Ausgängen die Werte c0, c1, c2, c3, c4 mit ( a 0 b 0 + a 1 b 4 + a 2 b 3 + a 3 b 2 + a 4 b 1 + a 4 b 4 ) = c 0 ,
    Figure DE102017125617A1_0068
    ( a 0 b 1 + a 1 b 0 + a 2 b 4 + a 3 b 3 + a 4 b 2 ) = c 1
    Figure DE102017125617A1_0069
    ( a 0 b 2 + a 1 b 1 + a 1 b 4 + a 2 b 0 + a 2 b 3 + a 3 b 2 + a 3 b 4 + a 4 b 1 + a 4 b 3 + a 4 b 4 ) = c 2
    Figure DE102017125617A1_0070
    ( a 0 b 3 + a 1 b 2 + a 2 b 1 + a 2 b 4 + a 3 b 0 + a 3 b 3 + a 4 b 2 + a 4 b 4 ) = c 3
    Figure DE102017125617A1_0071
    ( a 0 b 4 + a 1 b 3 + a 2 b 2 + a 3 b 1 + a 3 b 4 + a 4 b 0 + a 4 b 3 ) = c 4
    Figure DE102017125617A1_0072
    ausgegeben werden. Hierbei bezeichnet das Symbol „+“ die Addition modulo 2 (XOR-Operation).
  • Die Implementierung der Gleichungen (22) bis (26) kann mittels eines Galoisfeld-Multiplizierers erfolgen, beispielsweise unter Verwendung von UND-Gattern und XOR-Gatter (Exklusiv-Oder-Gattern). Beispielsweise kann im Rahmen der Implementierung auch ein Synthesetool eingesetzt werden.
  • Wird ein Element des Galoisfelds quadriert, ist es mit sich selbst zu multiplizieren. Ist in der Polynomdarstellung ein Element als Polynom a ( x ) = a 0 + a 1 x 1 + a 2 x 2 + a 3 x 3 + a 4 x 4
    Figure DE102017125617A1_0073
    gegeben, gilt ( a ( x ) ) 2  mod  m ( x ) = = [ a 0 + a 1 x 2 + a 2 x 4 + a 3 x 6 + a 4 x 8 ]  mod  ( 1 + x 2 + x 5 ) = = ( a 2 ) x 4 + ( a 3 + a 4 ) x 3 + ( a 1 + a 4 ) x 2 + a 3 x 1 + ( a 0 + a 4 ) .
    Figure DE102017125617A1_0074
  • Das Quadrieren eines Elementes im Galoisfeld GF(25) kann entsprechend mit einem Quadrierer mit fünf binären Eingängen und fünf binären Ausgängen realisiert werden. An seinen fünf binären Eingängen werden die binären Werte a0, a1, a2, a3, a4 zugeführt und an den fünf binären Ausgängen werden die binären Werte d0, d1, d2, d3, d4 bereitgestellt. Es gelten a 0 + a 4 = d 0 ,
    Figure DE102017125617A1_0075
    a 3 = d 1 ,
    Figure DE102017125617A1_0076
    a 1 + a 4 = d 2 ,
    Figure DE102017125617A1_0077
    a 3 + a 4 = d 3 ,
    Figure DE102017125617A1_0078
    a 2 = d 4 ,
    Figure DE102017125617A1_0079
    wobei das Symbol „+“ wieder die Addition modulo 2 (XOR-Verknüpfung) bezeichnet.
  • Zur Realisierung eines Quadrierers in dem Galoisfelds GF(25) mit dem Modularpolynom m(x) = 1 + x2 + x5 können die Gleichungen (27) bis (31) beispielsweise mittels XOR-Gattern implementiert werden.
  • Am Beispiel des Galoisfelds GF(25) wird beschrieben, wie die dritte Potenz eines Elements bestimmt werden kann, das in seiner Polynomdarstellung angegeben ist.
  • Wird die dritte Potenz (a(x))3 eines Polynomes a ( x ) = a 0 + a 1 x 1 + a 2 x 2 + a 3 x 3 + a 4 x 4
    Figure DE102017125617A1_0080
  • Modulo des Modularpolynoms m(x) = 1 + x2 + x5 bestimmt, gilt: ( a ( x ) ) 3  mod  m ( x ) = = ( a 0 a 2 + a 0 a 4 + a 1 a 2 + a 1 a 3 + a 1 a 4 + a 2 a 3 + a 2 a 4 + a 3 + a 3 a 4 ) x 4 + + ( a 0 a 4 + a 1 + a 2 + a 2 a 3 + a 2 a 4 + a 3 + a 4 ) x 3 + + ( a 0 a 1 + a 0 a 2 + a 0 a 4 + a 1 a 2 + a 2 a 4 + a 3 a 4 + a 4 ) x 2 + + ( a 0 a 1 + a 0 a 3 + a 2 + a 3 + a 3 a 4 + a 4 ) x 1 + + ( a 0 + a 0 a 4 + a 1 a 2 + a 1 a 3 + a 2 a 3 )
    Figure DE102017125617A1_0081
  • Das Bilden der dritten Potenz eines Elements im Galoisfeld GF(25) kann entsprechend mit einem Dritte-Potenz-Bildner mit fünf binären Eingängen und fünf binären Ausgängen realisiert werden. Den fünf binären Eingängen werden die binären Werte a0, a1, a2, a3, a4 zugeführt und an den fünf binären Ausgängen werden die binären Werte f0, f1, f2, f3, f4 bereitgestellt. Es gilt: f 0 = a 0 + a 0 a 4 + a 1 a 2 + a 1 a 3 + a 2 a 3
    Figure DE102017125617A1_0082
    f 1 = a 0 a 1 + a 0 a 3 + a 2 + a 3 + a 3 a 4 + a 4
    Figure DE102017125617A1_0083
    f 2 = a 0 a 1 + a 0 a 2 + a 0 a 4 + a 1 a 2 + a 2 a 4 + a 3 a 4 + a 4
    Figure DE102017125617A1_0084
    f 3 = a 0 a 4 + a 1 + a 2 + a 2 a 3 + a 2 a 4 + a 3 + a 4
    Figure DE102017125617A1_0085
    f 4 = a 0 a 2 + a 0 a 4 + a 1 a 2 + a 1 a 3 + a 1 a 4 + a 2 a 3 + a 2 a 4 + a 3 + a 3 a 4
    Figure DE102017125617A1_0086
  • Beispielsweise kann ein Dritte-Potenz-Bildner realisiert werden, im vorliegenden Beispiel in dem Galoisfelds GF(25) mit dem Modularpolynom m(x) = 1 + x2 + x5, indem lediglich die Gleichungen (32) bis (36) implementiert werden.
  • Alternativ kann ein Dritte-Potenz-Bildner aus einem Quadrierer und einen nachgeschalteten Galoisfeld-Multiplizierer realisiert werden. Auch können höhere Potenzen des Elements a(x) in entsprechender Weise unter Verwendung geeigneter Bausteine realisiert werden.
  • Eine Implementierung eines Konstanten-Multiplizierers in dem Galoisfeld GF(2m) wird nachfolgend beispielhaft für m = 5 dargestellt. Das Modularpolynom ist m ( x ) = 1 + x 2 + x 5 .
    Figure DE102017125617A1_0087
  • Es sei a ∈ GF(25) ein beliebiges Element des Galoisfelds mit der folgenden Polynomdarstellung a ( x ) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + a 4 x 4 .
    Figure DE102017125617A1_0088
  • Als zu multiplizierende Konstante wird beispielhaft α9 gewählt, deren Polynomdarstellung gemäß der in 13 gezeigten Tabelle mit α 9 ( x ) = x + x 3 + x 4
    Figure DE102017125617A1_0089
    gegeben ist. Als Multiplikation ergibt sich a ( x ) α 9 ( x )   m o d u l o ( 1 + x 2 + x 5 ) = b 0 + b 1 x + b 2 x 2 + b 3 x 3 + b 4 x 4
    Figure DE102017125617A1_0090
    mit b 0 = a 1 + a 2 ,
    Figure DE102017125617A1_0091
    b 1 = a 0 + a 2 + a 3 ,
    Figure DE102017125617A1_0092
    b 2 = a 2 + a 3 + a 4 ,
    Figure DE102017125617A1_0093
    b 3 = a 0 + a 3 + a 4 ,
    Figure DE102017125617A1_0094
    b 4 = a 0 + a 1 + a 4 ,
    Figure DE102017125617A1_0095
  • Die Ausgabewerte b0,...,b4 werden aus den Eingabewerten a0,...,a4 entsprechend der in den Gleichungen (40) bis (44) dargestellten Beziehungen abgeleitet, so dass die Ausgabewerte durch XOR-Verknüpfungen aus den Eingabewerten bestimmt sind. Hierbei bezeichnet das Symbol „+“ die Addition modulo 2 (XOR-Operation). Entsprechend kann der Konstanten-Multiplizierer mittels XOR-Gatter realisiert werden.
  • Beschreibung eines Bytefehler-Positionssignalbildners zur Bildung von Bytefehlerpositionssignalen
  • 1 zeigt eine beispielhafte Schaltungsanordnung zur Bestimmung von Bytefehlerpositionssignalen. Beispielhaft wird ein 2-Bytefehler-korrigierender Fehlercode mit Codewörtern aus n Bytes betrachtet, wobei jedes Byte jeweils m-Bit aufweist.
  • Die Schaltungsanordnung weist N Bytefehler-Positionssignalbildner 10, 11, ..., 1i, ..., 1N - 1 auf, die über ihren jeweils 1-Bit breiten Ausgang binäre Bytefehlerpositionssignale BPs0, BPs1, ..., BPsi, ..., BPsN-1 bereitstellen.
  • An jeweils 4 • m-Bit breiten Eingängen der N Bytefehler-Positionssignalbildner 10, 11, ..., 1i, ..., 1N - 1 liegt ein von einem Syndromgenerator (nicht in 1 dargestellt) bereitgestellte 4 • m-Bit breite Fehlersyndrom s = s 1 , s 2 , s 3 , s 4
    Figure DE102017125617A1_0096
    an, das aus den jeweils m-Bit breiten Syndromkomponenten s1, s2, s3, s4 besteht.
  • Werden alle Bytes im Falle eines Fehlers korrigiert, so gilt N = n. Werden weniger als n Bytes im Falle eines Fehlers korrigiert, gilt N < n. Beispielsweise ist es möglich, dass im Falle eines Fehlers nur Datenbytes korrigiert werden. Prüfbytes könnten in so einem Beispiel dann nicht korrigiert werden.
  • Der Bytefehler-Positionssignalbildner 10 ist beispielsweise so ausgestaltet,
    • - dass er das Bytefehlerpositionssignal BPs0 = 1 ausgibt, wenn gilt: α 2 0 { s 1 s 3 + s 2 2 } + α 0 { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 = 0
      Figure DE102017125617A1_0097
    • - dass er das Bytefehlerpositionssignal BPs0 = 0 ausgibt, wenn gilt: α 2 0 { s 1 s 3 + s 2 2 } + α 0 { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 0
      Figure DE102017125617A1_0098
  • Der Bytefehler-Positionssignalbildner 11 ist beispielsweise so ausgestaltet,
    • - dass er das Bytefehlerpositionssignal BPs1 = 1 ausgibt, wenn gilt: α 2 1 { s 1 s 3 + s 2 2 } + α 1 { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 = 0
      Figure DE102017125617A1_0099
    • - dass er das Bytefehlerpositionssignal BPs1 = 0 ausgibt, wenn gilt: α 2 1 { s 1 s 3 + s 2 2 } + α 1 { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 0
      Figure DE102017125617A1_0100
  • Der Bytefehler-Positionssignalbildner 1i ist beispielsweise so ausgestaltet,
    • - dass er das Bytefehlerpositionssignal BPsi = 1 ausgibt, wenn gilt: α 2 i { s 1 s 3 + s 2 2 } + α i { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 = 0
      Figure DE102017125617A1_0101
    • - dass er das Bytefehlerpositionssignal BPsi = 0 ausgibt, wenn gilt: α 2 i { s 1 s 3 + s 2 2 } + α i { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 0
      Figure DE102017125617A1_0102
  • Der Bytefehler-Positionssignalbildner 1N - 1 ist beispielsweise so ausgestaltet,
    • - dass er das Bytefehler-Positionssignal BPsN-1 = 1 ausgibt, wenn gilt: α 2 ( N 1 ) { s 1 s 3 + s 2 2 } + α N 1 { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 = 0
      Figure DE102017125617A1_0103
    • - dass er das Bytefehlerpositionssignal BPsN-1 = 0 ausgibt, wenn gilt: α 2 ( N 1 ) { s 1 s 3 + s 2 2 } + α N 1 { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 0
      Figure DE102017125617A1_0104
  • Dabei sind die jeweiligen Exponenten von α modulo 2m - 1 zu interpretieren.
  • Liegt ein 2-Bytefehler vor und sind das j-te Byte und das k-te Byte fehlerhaft, dann sind für i=j und für i=k die Bytefehlerpositionssignale BPsi gleich 1, während alle übrigen Bytefehlerpositionssignale BPsi mit l ≠ j,k gleich 0 sind, wobei gilt: 0 i , j , k , l N 1,
    Figure DE102017125617A1_0105
    α 0 = 1
    Figure DE102017125617A1_0106
    und
    1 ist das Einselement des Galoisfelds GF(2m).
  • Bytefehler-Positionssignalbildner gemäß Fig.2
  • 2 zeigt eine Schaltungsanordnung, die eine mögliche Ausgestaltung der in 1 gezeigten Schaltungsanordnung darstellt.
  • Der in 1 gezeigte Bytefehler-Positionssignalbildner 10 umfasst
    • - eine Teilschaltung 210 mit einem 4 · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2, s3 und s4 des Fehlersyndromes s = s1, s2, s3, s4 und drei jeweils m-Bit breiten Ausgängen,
    • - einen Konstantenmultiplizierer 220 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - einem Konstantenmultiplizierer 230 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine XOR-Schaltung 240 mit drei jeweils m-Bit breiten Eingängen und einem m-Bit breiten Ausgang und
    • - eine NOR-Schaltung 250 (NICHT-ODER-Schaltung) mit einem m-Bit breiten Eingang und einem 1-Bit breiten binären Ausgang.
  • Die Teilschaltung 210 ist derart eingerichtet, dass sie bei Eingabe des Fehlersyndroms s
    • - an dem ersten Ausgang s1 · s4 + s2 · s3 ausgibt,
    • - an dem zweiten Ausgang s 1 s 3 + s 2 2
      Figure DE102017125617A1_0107
      ausgibt und
    • - an dem dritten Ausgang s 2 s 4 + s 3 2
      Figure DE102017125617A1_0108
      ausgibt.
  • Der erste Ausgang der Teilschaltung 210 ist mit dem ersten Eingang des Konstantenmultiplizierers 220 verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 220 liegt die Konstante α0 = 1 an, so dass an dem Ausgang des Konstantenmultiplizierers 220 α 0 ( s 1 s 4 + s 2 s 3 ) = s 1 s 4 + s 2 s 3
    Figure DE102017125617A1_0109
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 220 ist mit dem ersten Eingang der XOR-Schaltung 240 verbunden.
  • Der zweite Ausgang der Teilschaltung 210 ist mit dem ersten Eingang des Konstantenmultiplizierers 230 verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 230 liegt die Konstante a2·0 = α0 an, so dass an dem Ausgang des Konstantenmultiplizierers 230 α 0 ( s 1 s 3 + s 2 2 ) = s 1 s 3 + s 2 2
    Figure DE102017125617A1_0110
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 230 ist mit dem zweiten Eingang der XOR-Schaltung 240 verbunden.
  • Der dritte Ausgang der Teilschaltung 210 ist mit dem dritten Eingang der XOR-Schaltung 240 verbunden.
  • Die XOR-Schaltung 240 bildet beispielsweise eine komponentenweise XOR-Verknüpfung der an ihren drei Eingängen anliegenden jeweils m-Bit breiten Werte und stellt an ihrem m-Bit breiten Ausgang den Wert v 0 = α 0 ( s 1 s 4 + s 2 s 3 ) + α 0 ( s 1 s 3 + s 2 2 ) + s 2 s 4 + s 3 2
    Figure DE102017125617A1_0111
    bereit, der an den Eingang der NOR-Schaltung 250 geführt wird. Die NOR-Schaltung 250 stellt an ihrem Ausgang
    • - den binären Wert BPs0 = 1 bereit, wenn v0 = 0 gilt und
    • - den binären Wert BPs0 = 0 bereit, wenn v0 ≠ 0 gilt.
  • Der in 1 gezeigte Bytefehler-Positionssignalbildner 11 umfasst
    • - eine Teilschaltung 211 mit einem 4 · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2, s3, s4 des Fehlersyndromes s = s1, s2, s3, s4 und drei jeweils m-Bit breiten Ausgängen,
    • - einen Konstantenmultiplizierer 221 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - einen Konstantenmultiplizierer 231 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine XOR-Schaltung 241 mit drei jeweils m-Bit breiten Eingängen und einem m-Bit breiten Ausgang und
    • - eine NOR-Schaltung 251 mit einem m-Bit breiten Eingang und einem 1-Bit breiten binären Ausgang.
  • Die Teilschaltung 211 ist derart eingerichtet, dass sie bei Eingabe des Fehlersyndroms s
    • - an dem ersten Ausgang s1 · s4 + s2 · s3 ausgibt,
    • - an dem zweiten Ausgang s 1 s 3 + s 2 2
      Figure DE102017125617A1_0112
      ausgibt und
    • - an dem dritten Ausgang s 2 s 4 + s 3 2
      Figure DE102017125617A1_0113
      ausgibt.
  • Der erste Ausgang der Teilschaltung 211 ist mit dem ersten Eingang des Konstantenmultiplizierers 221 verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 221 liegt die Konstante α1 an, so dass an dem Ausgang des Konstantenmultiplizierers 221 α 1 ( s 1 s 4 + s 2 s 3 )
    Figure DE102017125617A1_0114
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 221 ist mit dem ersten Eingang der XOR-Schaltung 241 verbunden.
  • Der zweite Ausgang der Teilschaltung 211 ist mit dem ersten Eingang des Konstantenmultiplizierers 231 verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 231 liegt die Konstante α2 an, so dass an dem Ausgang des Konstantenmultiplizierers 231 α 2 ( s 1 s 3 + s 2 2 )
    Figure DE102017125617A1_0115
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 231 ist mit dem zweiten Eingang der XOR-Schaltung 241 verbunden.
  • Der dritte Ausgang der Teilschaltung 211 ist mit dem dritten Eingang der XOR-Schaltung 241 verbunden.
  • Die XOR-Schaltung 241 bildet beispielsweise eine komponentenweise XOR-Verknüpfung der an ihren drei Eingängen anliegenden jeweils m-Bit breiten Werte an und stellt an ihrem m-Bit breiten Ausgang den Wert v 1 = α 1 ( s 1 s 4 + s 2 s 3 ) + α 2 ( s 1 s 3 + s 2 2 ) + s 2 s 4 + s 3 2
    Figure DE102017125617A1_0116
    bereit, der an den Eingang der NOR-Schaltung 251 geführt wird. Die NOR-Schaltung 251 stellt an ihrem Ausgang
    • - den binären Wert BPs1 = 1 bereit, wenn v1 = 0 gilt und
    • - den binären Wert BPs1 = 0 bereit, wenn v1 ≠ 0 gilt.
  • Der in 1 gezeigte Bytefehler-Positionssignalbildner 1i umfasst
    • - eine Teilschaltung 21i mit einem 4 · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2, s3 und s4 des Fehlersyndromes s = s1, s2, s3, s4 und drei jeweils m-Bit breiten Ausgängen,
    • - einen Konstantenmultiplizierer 22i mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - einen Konstantenmultiplizierer 23i mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine XOR-Schaltung 24i mit drei jeweils m-Bit breiten Eingängen und einem m-Bit breiten Ausgang und
    • - eine NOR-Schaltung 25i mit einem m-Bit breiten Eingang und einem 1-Bit breiten binären Ausgang.
  • Die Teilschaltung 21i ist derart eingerichtet, dass sie bei Eingabe des Fehlersyndroms s
    • - an dem ersten Ausgang s1 · s4 + s2 · s3 ausgibt,
    • - an dem zweiten Ausgang s 1 s 3 + s 2 2
      Figure DE102017125617A1_0117
      ausgibt und
    • - an dem dritten Ausgang s 2 s 4 + s 3 2
      Figure DE102017125617A1_0118
      ausgibt.
  • Der erste Ausgang der Teilschaltung 21i ist mit dem ersten Eingang des Konstantenmultiplizierers 22i verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 22i liegt die Konstante αi an, so dass an dem Ausgang des Konstantenmultiplizierers 22i α i ( s 1 s 4 + s 2 s 3 )
    Figure DE102017125617A1_0119
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 22i ist mit dem ersten Eingang der XOR-Schaltung 24i verbunden.
  • Der zweite Ausgang der Teilschaltung 21i ist mit dem ersten Eingang des Konstantenmultiplizierers 23i verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 23i liegt die Konstante α2·i an, so dass an dem Ausgang des Konstantenmultiplizierers 23i α 2 i ( s 1 s 3 + s 2 2 )
    Figure DE102017125617A1_0120
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 23i ist mit dem zweiten Eingang der XOR-Schaltung 24i verbunden.
  • Der dritte Ausgang der Teilschaltung 21i ist mit dem dritten Eingang der XOR-Schaltung 24i verbunden.
  • Die XOR-Schaltung 24i bildet beispielsweise eine komponentenweise XOR-Verknüpfung der an ihren drei Eingängen anliegenden jeweils m-Bit breiten Werte und stellt an ihrem m-Bit breiten Ausgang v i = α i ( s 1 s 4 + s 2 s 3 ) + α 2 i ( s 1 s 3 + s 2 2 ) + s 2 s 4 + s 3 2
    Figure DE102017125617A1_0121
    bereit, der an den Eingang der NOR-Schaltung 25i geführt wird. Die NOR-Schaltung 25i stellt an ihrem Ausgang
    • - den binären Wert BPsi = 1 bereit, wenn vi = 0 gilt und
    • - den binären Wert BPsi = 0 bereit, wenn vi ≠ 0 gilt.
  • Der in 1 gezeigte Bytefehler-Positionssignalbildner 1N-1 umfasst
    • - eine Teilschaltung 21N-1 mit einem 4 · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2, s3 und s4 des Fehlersyndromes s = s1, s2, s3, s4 und drei jeweils m-Bit breiten Ausgängen,
    • - einen Konstantenmultiplizierer 22N-1 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - einen Konstantenmultiplizierer 23N-1 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine XOR-Schaltung 24N-1 mit drei jeweils m-Bit breiten Eingängen und einem m-Bit breiten Ausgang und
    • - eine NOR-Schaltung 25N-1 mit einem m-Bit breiten Eingang und einem 1-Bit breiten binären Ausgang.
  • Die Teilschaltung 21N-1 ist derart eingerichtet, dass sie bei Eingabe des Fehlersyndroms s
    • - an dem ersten Ausgang s1 · s4 + s2 · s3 ausgibt,
    • - an dem zweiten Ausgang s 1 s 3 + s 2 2
      Figure DE102017125617A1_0122
      ausgibt und
    • - an dem dritten Ausgang s 2 s 4 + s 3 2
      Figure DE102017125617A1_0123
      ausgibt.
  • Der erste Ausgang der Teilschaltung 21N-1 ist mit dem ersten Eingang des Konstantenmultiplizierers 22N-1 verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 22N-1 liegt die Konstante αN-1 an, so dass an dem Ausgang des Konstantenmultiplizierers 22N-1 α N 1 ( s 1 s 4 + s 2 s 3 )
    Figure DE102017125617A1_0124
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 22N-1 ist mit dem ersten Eingang der XOR-Schaltung 24N-1 verbunden.
  • Der zweite Ausgang der Teilschaltung 21N-1 ist mit dem ersten Eingang des Konstantenmultiplizierers 23N-1 verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 23N-1 liegt die Konstante α2·(N-1) an, so dass an dem Ausgang des Konstantenmultiplizierers 23N-1 α 2 ( N 1 ) ( s 1 s 3 + s 2 2 )
    Figure DE102017125617A1_0125
    bereitgestellt wird.
  • Der Ausgang des Konstantenmultiplizierers 23N-1 ist mit dem zweiten Eingang der XOR-Schaltung 24N-1 verbunden.
  • Der dritte Ausgang der Teilschaltung 21N-1 ist mit dem dritten Eingang der XOR-Schaltung 24N-1 verbunden.
  • Die XOR-Schaltung 24N-1 bildet beispielsweise eine komponentenweise XOR-Verknüpfung der an ihren drei Eingängen anliegenden jeweils m-Bit breiten Werte und stellt an ihrem m-Bit breiten Ausgang den Wert v N 1 = α N 1 ( s 1 s 4 + s 2 s 3 ) + α 2 ( N 1 ) ( s 1 s 3 + s 2 2 ) + s 2 s 4 + s 3 2
    Figure DE102017125617A1_0126
    bereit, der an den Eingang der NOR-Schaltung 25N-1 geführt wird. Die NOR-Schaltung 25N-1 stellt an ihrem Ausgang
    • - den binären Wert BPsN-1 = 1 bereit, wenn vN-1 = 0 gilt und
    • - den binären Wert BPsN-1 = 0 bereit, wenn vN-1 ≠ 0 gilt.
  • Beispielhafte Zusammenfassung der Teilschaltungen
  • Die Teilschaltungen 210, 211, ..., 21i, ..., 21N-1 in 2 sind funktional gleich. Somit ist es möglich, dass diese Teilschaltungen in einer Teilschaltung 31 zusammengefasst werden.
  • 3 zeigt eine solche Teilschaltung 31, die die Teilschaltungen 210, 211, ..., 21i, ..., 21N-1 zusammenfasst. Der restliche in 3 gezeigte Schaltungsteil ist identisch zu 2.
  • Beispielsweise können die Bytefehler-Positionssignalbildner 10, 11, ..., 1i, ... 1N-1 gemäß 1 die gemeinsamen Teilschaltung 31 nutzen.
  • Beispielhafte Implementierung der Teilschaltung 31
  • 4 zeigt eine mögliche Implementierung der in 3 dargestellten Teilschaltung 31.
  • Die Teilschaltung 31 weist vier jeweils m-Bit breite Eingänge zur Eingabe der Komponenten s1, s2, s3, s4 auf, die das Syndrom s bilden. Weiterhin sind vier Multiplikatoren 41, 42, 44 und 47 mit jeweils zwei m-Bit breiten Eingängen und einem m-Bit breiten Ausgang, zwei Quadrierer 45 und 48 mit jeweils einem m-Bit breiten Eingang und einem m-Bit breiten Ausgang und drei XOR-Schaltungen 43, 46 und 49 mit jeweils zwei m-Bit breiten Eingängen und einem m-Bit breiten Ausgang vorgesehen.
  • Die XOR-Schaltungen 43, 46, 49 führen jeweils eine komponentenweise XOR-Verknüpfung der an ihren jeweiligen Eingängen anliegenden m-komponentigen Werten aus. Die Multiplikatoren führen eine Multiplikation im Galoisfeld GF(2m) aus und die Quadrierer quadrieren ihren am Eingang anliegenden Operanden ebenfalls im Galoisfeld GF(2m).
  • Der die Komponente s1 führende Eingang ist mit dem ersten Eingang des Multiplikators 41 und mit dem ersten Eingang des Multiplikators 44 verbunden.
  • Der die Komponente s2 führende Eingang ist mit dem ersten Eingang des Multiplikators 42, mit dem ersten Eingang des Multiplikators 47 und mit dem Eingang des Quadrierers 45 verbunden.
  • Der die Komponente s3 führende Eingang ist mit dem zweiten Eingang des Multiplikators 42, mit dem zweiten Eingang des Multiplikators 44 und mit dem Eingang des Quadrierers 48 verbunden.
  • Der die Komponente s4 führende Eingang ist mit dem zweiten Eingang des Multiplikators 41 und mit dem zweiten Eingang des Multiplikators 47 verbunden.
  • Der Ausgang des Multiplikators 41 ist in den ersten Eingang der XOR-Schaltung 43 geführt. Der Ausgang des Multiplikators 42 ist in den zweiten Eingang der XOR-Schaltung 43 geführt. An dem Ausgang der XOR-Schaltung 43 wird das Signal s1s4 + s2s3 bereitstellt.
  • Der Ausgang des Multiplikators 44 ist in den ersten Eingang der XOR-Schaltung 46 geführt. Der Ausgang des Quadrierers 45 ist mit dem zweiten Eingang der XOR-Schaltung 46 verbunden. An dem Ausgang der XOR-Schaltung 46 wird das Signal s 1 s 3 + s 2 2
    Figure DE102017125617A1_0127
    bereitstellt.
  • Der Ausgang des Multiplikators 47 ist in den ersten Eingang der XOR-Schaltung 49 geführt. Der Ausgang des Quadrierers 48 ist mit dem zweiten Eingang der XOR-Schaltung 49 verbunden. An dem Ausgang der XOR-Schaltung 49 wird das Signal s 2 s 4 + s 3 2
    Figure DE102017125617A1_0128
    bereitstellt.
  • Bytefehlerkorrekturwerte für 2-Bytefehler
  • 5 zeigt eine beispielhafte Schaltung zur Bildung von Bytefehlerkorrekturwerten für insgesamt N Bytes im Falle eines 2-Bytefehlers. Die betrachteten N Bytes sind von 0 bis N - 1 nummeriert.
  • Ein Bytefehlerkorrekturwert a(i)cor für das i-te Byte mit 0 ≤ i ≤ N - 1 wird in Abhängigkeit von dem aktuellen Fehlersyndrom s, der Byteposition i und dem Bytefehlerpositionssignal BPsi bestimmt gemäß α ( i ) c o r = B P s i α ( i ) .
    Figure DE102017125617A1_0129
  • Beispielsweise werden für alle N Bytepositionen Bytefehlerkorrekturwerte bestimmt. Für Bytepositionen, die nicht fehlerhaft sind, werden die Bytefehlerkorrekturwerte maskiert. Beispielsweise kann die Maskierung erfolgen, indem ein Bytefehlerpositionssignal mit dem Wert 0 mit dem Bytefehlerkorrekturwert multipliziert wird.
  • Liegt ein 2-Bytefehler in den Bytepositionen i und j vor, können das i-te und das j-Byte korrigiert werden, indem das i-te und j-te Byte mit einem entsprechenden Bytefehlerkorrekturwert a(i)cor = a(i) ≠ 0 bzw. a(j)cor = a(j) ≠ 0 komponentenweise XOR-verknüpft werden.
  • Die Bytes, die nicht fehlerhaft sind, werden nicht korrigiert. Hierzu werden für deren Bytepositionen die Bytefehlerkorrekturwerte zu 0 gesetzt (z.B. durch die vorstehend erläuterte Multiplikation des Bytefehlerkorrekturwerts mit 0) und die korrekten Bytes werden sodann komponentenweise mit diesem Wert 0 XOR-verknüpft. Durch die XOR-Verknüpfung mit dem Wert 0 bleibt der ursprüngliche Wert unverändert.
  • Für das i-te fehlerhafte Byte ist das Bytefehlerpositionssignal BPsi = 1 und es gilt: α ( i ) c o r = B P s i α ( i ) = α ( i ) .
    Figure DE102017125617A1_0130
  • Für das j-te fehlerhafte Byte ist das Bytefehlerpositionssignal BPsj = 1 und es gilt: α ( j ) c o r = B P s j α ( j ) = α ( j ) .
    Figure DE102017125617A1_0131
  • Für ein k-tes, nicht fehlerhaftes Byte mit k ≠ i, j ist das Bytefehlerpositionssignal BPsk = 0 und es gilt: α ( k ) c o r = B P s k α ( k ) = 0.
    Figure DE102017125617A1_0132
  • Ist das k-te Byte mit k ≠ i, j nicht fehlerhaft, wird es nicht korrigiert. Dies kann gemäß dem in 5 gezeigten Beispiel erreicht werden, indem das k-te Byte komponentenweise mit dem Wert 0 XOR-verknüpft wird, so dass sich der Wert des k-ten Bytes nicht ändert. Damit maskiert das Bytefehlerpositionssignal den Bytefehlerkorrekturwert zu 0, so dass keine Korrektur erfolgt.
  • Liegt im Falle eines 2-Bytefehlers ein erster Bytefehler in der Byteposition j und ein zweiter Bytefehler in der Byteposition k vor, sind die Bytefehlerkorrekturwerte a(j)cor und a(k)cor ungleich 0, während die Bytefehlerkorrekturwerte a(i)cor für i ≠ j, k jeweils gleich 0 sind. Es gilt dann auch B P s j = B P s k = 1
    Figure DE102017125617A1_0133
    und B P s i = 0   f ü r   i   j , k .
    Figure DE102017125617A1_0134
  • 5 umfasst N Bytefehler-Positionssignalbildner 10, 11, ..., 1i, ..., 1N-1 zur Bildung der Bytefehlerpostionssignale BPs0, BPs1, ..., BPsi, ..., BPsN-1 mit jeweils einem 4 · m-Bit breiten (bzw. einem 4 · m-dimensionalen) Eingang zur Eingabe des Fehlersyndromes s und einem 1-Bit breiten (bzw. 1-dimensionalen) Ausgang zur Ausgabe der Bytefehlerpositionssignale BPs0, BPs1, ..., BPsi, ..., BPsN-1.
  • 5 zeigt weiterhin N Bytefehlerkorrekturwertbildner 510, 511, ..., 51i, ..., 5N-1 mit jeweils
    • - einem ersten 1-Bit breiten Eingang zur Eingabe eines Bytefehlerpositionssignals,
    • - einem zweiten 3 · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2, s3 des Fehlersyndromes s und
    • - einem m-Bit breiten Ausgang zur Ausgabe eines der Bytefehlerkorrekturwerte a(0)cor, a(1)cor, ..., a(i)cor, ..., a(N - 1)cor für die entsprechenden Bytepositionen.
  • Weiterhin umfasst 5 N XOR-Schaltungen 520, 521, ..., 52i, ..., 52N-1 mit jeweils
    • - einem m-Bit breiten ersten Eingang zur Eingabe des entsprechen Bytefehlerkorrekturwerts,
    • - einem zweiten m-Bit breiten Eingang zur Eingabe des entsprechenden zu korrigierenden Bytes und
    • - einem m-Bit breiten Ausgang zur Ausgabe des jeweils m-Bit breiten korrigierten Bytes.
  • An dem 4 · m-Bit breiten Eingang des Bytefehler-Positionssignalbildners 10 liegt das aktuelle Fehlersyndrom s an. An dem 1-Bit breiten Ausgang des Bytefehler-Positionssignalbildners 10, der mit dem ersten Eingang des Bytefehler-Korrekturwertbildners 510 verbunden ist, wird das Bytefehlerpositionssignal BPs0 ausgegeben.
  • An dem zweiten 3 · m-Bit breiten Eingang des Bytefehler-Korrekturwertbildners 510 liegen die Komponenten s1, s2, s3 des Fehlersyndromes s an. Der Bytefehler-Korrekturwertbildner 510 stellt an seinem Ausgang den Bytefehlerkorrekturwert a(0)cor bereit. Der Ausgang des Bytefehler-Korrekturwertbildners 510 ist mit dem ersten Eingang der XOR-Schaltung 520 verbunden. An dem zweiten Eingang der XOR-Schaltung 520 liegt der eventuell fehlerhafte Byte-Wert v'0 des 0-ten Bytes an. Die XOR-Schaltung 520 bildet die komponentenweise XOR-Verknüpfung von dem eventuell fehlerhaften Byte-Wert v'0 und dem Bytefehlerkorrekturwert a(0)cor und gibt an ihrem Ausgang den Wert v 0 ' + α ( 0 ) c o r = v 0 c o r
    Figure DE102017125617A1_0135
    aus. Der Bytefehlerkorrekturwert a(0)cor
    • - ist gleich 0, wenn das 0-te Byte korrekt ist und BPs0 = 0 ist und
    • - ungleich 0, wenn das 0-te Byte fehlerhaft ist und BPs0 = 1 ist.
  • An dem 4 · m-Bit breiten Eingang des Bytefehler-Positionssignalbildners 11 liegt das aktuelle Fehlersyndrom s an. An dem 1-Bit breiten Ausgang des Bytefehler-Positionssignalbildners 11, der mit dem ersten Eingang des Bytefehler-Korrekturwertbildners 511 verbunden ist, wird das Bytefehlerpositionssignal BPs1 ausgegeben.
  • An dem zweiten 3 · m-Bit breiten Eingang des Bytefehler-Korrekturwertbildners 511 liegen die Komponenten s1, s2, s3 des Fehlersyndromes s an. Der Bytefehler-Korrekturwertbildner 511 stellt an seinem Ausgang den Bytefehlerkorrekturwert a(1)cor bereit. Der Ausgang des Der Bytefehler-Korrekturwertbildner 511 ist mit dem ersten Eingang der XOR-Schaltung 521 verbunden. An dem zweiten Eingang der XOR-Schaltung 521 liegt der eventuell fehlerhafte Byte-Wert v'1 des 1-ten Bytes an. Die XOR-Schaltung 521 bildet die komponentenweise XOR-Verknüpfung von dem eventuell fehlerhaften Byte-Wert v'1 und dem Bytefehlerkorrekturwert a(1)cor und gibt an ihrem Ausgang den Wert v 0 ' + a ( 0 ) c o r = v 0 c o r
    Figure DE102017125617A1_0136
    aus. Der Bytefehlerkorrekturwert a(1)cor
    • - ist gleich 0, wenn das 1-te Byte korrekt ist und BPs1 = 0 ist und
    • - ungleich 0, wenn das 1-te Byte fehlerhaft ist und BPs1 = 1 ist.
  • An dem 4 · m-Bit breiten Eingang des Bytefehler-Positionssignalbildners 1i liegt das aktuelle Fehlersyndrom s an. An dem 1-Bit breiten Ausgang des Bytefehler-Positionssignalbildners 1i, der mit dem ersten Eingang des Bytefehlerkorrekturwertbildners 51i verbunden ist, wird das Bytefehlerpositionssignal BPsi ausgegeben.
  • An dem zweiten 3 · m-Bit breiten Eingang des Bytefehler-Korrekturwertbildners 51i liegen die Komponenten s1, s2, s3 des Fehlersyndromes s an. Der Bytefehler-Korrekturwertbildner 51i stellt an seinem Ausgang den Bytefehlerkorrekturwert a(i)cor bereit. Der Ausgang des Bytefehler-Korrekturwertbildners 51i ist mit dem ersten Eingang der XOR-Schaltung 52i verbunden. An dem zweiten Eingang der XOR-Schaltung 52i liegt der eventuell fehlerhafte Byte-Wert v'i des i-ten Bytes an. Die XOR-Schaltung 52i bildet die komponentenweise XOR-Verknüpfung von dem eventuell fehlerhaften Byte-Wert v'i und dem Bytefehlerkorrekturwert a(i)cor und gibt an ihrem Ausgang den Wert v i ' + a ( i ) c o r = v i c o r
    Figure DE102017125617A1_0137
    aus. Der Bytefehlerkorrekturwert a(i)cor
    • - ist gleich 0, wenn das i-te Byte korrekt ist und BPsi = 0 ist und
    • - ungleich 0, wenn das i-te Byte fehlerhaft ist und BPsi = 1 ist.
  • An dem 4 · m-Bit breiten Eingang des Bytefehler-Positionssignalbildners 1N-1 liegt das aktuelle Fehlersyndrom s an. An dem 1-Bit breiten Ausgang des Bytefehler-Positionssignalbildners 1N-1, der mit dem ersten Eingang des Bytefehlerkorrekturwertbildners 51N-1 verbunden ist, wird das Bytefehlerpositionssignal BPsN-1 ausgegeben.
  • An dem zweiten 3 · m-Bit breiten Eingang des Bytefehler-Korrekturwertbildners 51N-1 liegen die Komponenten s1, s2, s3 des Fehlersyndromes s an. Der Bytefehler-Korrekturwertbildner 51N-1 stellt an seinem Ausgang den Bytefehlerkorrekturwert a(N - 1)cor bereit. Der Ausgang des Bytefehler-Korrekturwertbildners 51N-1 ist mit dem ersten Eingang der XOR-Schaltung 52N-1 verbunden. An dem zweiten Eingang der XOR-Schaltung 52N-1 liegt der eventuell fehlerhafte Byte-Wert v'N-1 des (N - 1)-ten Bytes an. Die XOR-Schaltung 52N-1 bildet die komponentenweise XOR-Verknüpfung von dem eventuell fehlerhaften Byte-Wert v'N-1 und dem Bytefehlerkorrekturwert a(N - 1)cor und gibt an ihrem Ausgang den Wert v N 1 ' + a ( N 1 ) c o r = v N 1 c o r
    Figure DE102017125617A1_0138
    aus. Der Bytefehlerkorrekturwert a(N - 1)cor
    • - ist gleich 0, wenn das (N - 1)-te Byte korrekt ist und BPsN-1 = 0 ist und
    • - ungleich 0, wenn das (N - 1)-te Byte fehlerhaft ist und BPsN-1 = 1 ist.
  • So kann ein Byte-Korrektor 530 den Bytefehler-Positionssignalbildner 10 und den Bytefehler-Korrekturwertbildner 510, ein Byte-Korrektor 531 den Bytefehler-Positionssignalbildner 11 und den Bytefehler-Korrekturwertbildner 511, ein Byte-Korrektor 53i den Bytefehler-Positionssignalbildner 1i und den Bytefehler-Korrekturwertbildner 51i und ein Byte-Korrektor 53N-1 den Bytefehler-Positionssignalbildner 1N-1 und den Bytefehler-Korrekturwertbildner 51N-1 umfassen. Entsprechend können die Byte-Korrektoren 530, 531, ..., 53i, ..., 53N-1 als Byte-Korrektoren für 2-Bytefehler bezeichnet werden.
  • In diesem Beispiel geben die Byte-Korrektoren für einen 2-Bytefehler die Bytefehlerkorrekturwerte für diejenigen beiden Bytepositionen aus, die fehlerhaft sind. Für Bytepositionen, die keinen Fehler aufweisen, ist der Bytefehlerkorrekturwert gleich 0.
  • Für eine eine fehlerhafte Byteposition i gilt: a ( i ) c o r = a ( i ) .
    Figure DE102017125617A1_0139
  • Für eine Byteposition j, die nicht fehlerhaft ist, gilt: a ( j ) c o r = 0,
    Figure DE102017125617A1_0140
    Hierbei ist a(i) der Bytefehlerkorrekturwert des i-ten Bytes.
  • Um anschaulich darzustellen, dass die Bytefehler-Positionssignalbildner in Abhängigkeit von den vier Komponenten s1, s2, s3, s4 des Fehlersyndroms s das entsprechende Bytefehlerpositionssignal bilden und dass die Bytefehler-Korrekturwertbildner in Abhängigkeit von den drei Komponenten s1, s2, s3 dieses Fehlersyndromes s den entsprechenden Bytefehlerkorrekturwert bilden, sind in 5 beispielhaft zwei Eingangsleitungen dargestellt, eine Eingangsleitung zur Eingabe der Komponenten s1, s2, s3, s4 und eine weitere Eingangsleitung zur Eingabe der Komponenten s1, s2, s3. Diese Leitungen können für die Komponenten s1, s2, s3 auch zusammengefasst werden.
  • Für r = 0,...,N - 1 ist ein Bytefehler-Korrekturwertbildner 51r so konfiguriert, dass er an seinem m-Bit breiten Ausgang, der mit dem ersten m-Bit breiten Eingang einer XOR-Schaltung 52r verbunden ist, im Falle eines 2-Bytefehlers den Bytefehlerkorrekturwert so bildet, dass gilt: a ( r ) c o r = s 1 s 3 + s 2 2 s 3 + α 2 r s 1 B P s r .
    Figure DE102017125617A1_0141
  • Sind im Falle eines 2-Bytefehlers das j-te und das k-te Byte fehlerhaft, wird von dem Bytefehler-Korrekturwertbildner 51j der Bytefehlerkorrekturwert a ( j ) c o r = s 1 s 3 + s 2 2 s 3 + α 2 j s 1 = a ( j )
    Figure DE102017125617A1_0142
    und von dem Bytefehler-Korrekturwertbildner 51k der Bytefehlerkorrekturwert a ( k ) c o r = s 1 s 3 + s 2 2 s 3 + α 2 k s 1 = a ( k )
    Figure DE102017125617A1_0143
    ausgegeben. Für alle anderen Bytefehler-Korrekturwertbildner 51r mit r ≠ j, k und 0 ≤ r ≤ N - 1 ist der Bytefehlerkorrekturwert gleich a(r)cor = 0.
  • Bytefehler-Korrekturwertbildner
  • 6 zeigt eine mögliche Ausgestaltung des Bytefehler-Korrekturwertbildners 51r, wobei r einen Wert von 0 bis N - 1 annehmen kann.
  • Der Bytefehler-Korrekturwertbildner 51r umfasst
    • - zwei Multiplikatoren 61, 66 mit jeweils einem ersten und einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - zwei XOR-Schaltungen 63, 64 mit jeweils einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - einen Konstantenmultiplizierer 67 mit einem ersten und einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang, wobei an dem zweiten Eingang ein konstanter Wert α2r anliegt,
    • - einen Quadrierer 62 mit einem m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine Invertierschaltung 65 mit einem m-Bit breiten Eingang und einem m-Bit breiten Ausgang und
    • - eine UND-Schaltung 68 mit einem ersten 1-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang.
  • Am ersten Eingang des Multiplikators 61 liegt der Wert der Komponente s1 und am zweiten Eingang des Multiplikators 61 liegt der Wert der Komponente s3 an. Der Multiplikator 61 bildet im Galoisfeld GF(2m) den Wert s1 · s3 und gibt an seinem Ausgang den Wert s1 · s3 aus. Der Ausgang des Multiplikators 61 ist mit dem ersten Eingang der XOR-Schaltung 63 verbunden.
  • Der zweite Eingang der XOR-Schaltung 63 ist mit dem Ausgang des Quadrierers 62 verbunden, an dessen Eingang der Wert der Komponente s2 anliegt. Somit gibt der Quadrierer 62 an seinem Ausgang den Wert s 2 2
    Figure DE102017125617A1_0144
    aus. Die XOR-Schaltung 63 bildet die komponentenweise XOR-Verknüpfung der an ihrem beiden Eingängen anliegenden Werte und gibt an ihrem Ausgang den Wert s 1 s 3 + s 2 2
    Figure DE102017125617A1_0145
    aus. Der Ausgang der XOR-Schaltung 63 ist mit dem ersten Eingang des Multiplikators 66 verbunden.
  • Am ersten Eingang der XOR-Schaltung 64 liegt der Wert der Komponente s3 an. Am ersten Eingang des Konstantenmultiplizierers 67 liegt der Wert der Komponente s1 und am zweiten Eingang des Konstantenmultiplizierers 67 liegt die Konstante α2r an. Der Konstantenmultiplizierer 67 realisiert die Operation α2r · s1 im Galoisfeld GF(2m). Der Konstantenmultiplizierer kann beispielsweise unter Verwendung von XOR-Gattern implementiert werden.
  • Am Ausgang der XOR-Schaltung 64 wird der Wert s3 + α2rs1 bereitgestellt und an den Eingang des Invertierers 65 geführt. Der Invertierer 65 stellt an seinem Ausgang den Wert 1 s 3 + α 2 r
    Figure DE102017125617A1_0146
    bereit.
  • Der Ausgang des Invertierers 65 ist mit dem ersten Eingang des Multiplikators 66 verbunden. Damit stellt der Multiplikator 66 an seinem Ausgang den Wert s 1 s 3 + s 2 2 s 3 + α 2 r s 1 = a ( r )
    Figure DE102017125617A1_0147
    bereit. Dabei ist a(r) der Bytefehlerkorrekturwert für das r-te Byte. Am ersten Eingang der UND-Schaltung 68 liegt der Wert des Bytefehlerpositionssignals BPsr an. Der zweite Eingang der UND-Schaltung 68 ist mit dem Ausgang des Multiplikators 66 verbunden.
  • Die UND-Schaltung realisiert eine bitweise UND-Verknüpfung der an ihren zweiten Eingängen anliegenden m-Bit mit dem Bytefehlerpositionssignal BPsr, so dass sie an ihrem Ausgang den Wert s 1 s 3 + s 2 2 s 3 + α 2 r s 1 B P s r = a ( r ) B P s r = a ( r ) c o r
    Figure DE102017125617A1_0148
    bereitstellt.
  • Bytefehler-Korrekturwertbilder, alternative Ausführungsform
  • 7 zeigt eine weitere mögliche Ausgestaltung des Bytefehler-Korrekturwertbildners 51r, der wie in 6 für das r-te Byte beschrieben wird, wobei r einen Wert von 0 bis (N - 1) annehmen kann.
  • Der in 7 gezeigte Bytefehler-Korrekturwertbildner 51r umfasst
    • - drei Multiplikatoren 71, 75, 76 jeweils mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - zwei XOR-Schaltungen 72, 77 jeweils mit einem m-Bit breiten ersten Eingang, einem m-Bit breiten zweiten Eingang und einem m-Bit breiten Ausgang,
    • - einen Konstantenmultiplizierer 78 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang, wobei an dem zweiten Eingang ein konstanter Wert α2r anliegt,
    • - einen Quadrierer 73 mit einem m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - zwei Invertierer 74, 79 jeweils mit einem m-Bit breiten Eingang und einem m-Bit breiten Ausgang und
    • - eine UND-Schaltung 710 mit einem ersten 1-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang.
  • Am ersten Eingang des Multiplikators 71 liegt der Wert der Komponente s1 und an dem zweiten Eingang des Multiplikators 71 liegt der Wert der Komponente s3 an. Der Multiplikator 71 bildet im Galoisfeld GF(2m) den Wert s1 · s3 und stellt an seinem Ausgang den Wert s1 · s3 bereit Der Ausgang des Multiplikators 71 ist mit dem ersten Eingang der XOR-Schaltung 72 verbunden.
  • Der zweite Eingang der XOR-Schaltung 72 ist mit dem Ausgang des Quadrierers 73 verbunden, an dessen Eingang der Wert der Komponente s2 anliegt. Damit stellt der Quadrierer 73 an seinem Ausgang den Wert s 2 2
    Figure DE102017125617A1_0149
    bereit. Die XOR-Schaltung 72 bildet die komponentenweise XOR-Verknüpfung der an ihrem beiden Eingängen anliegenden Werte und stellt an ihrem Ausgang den Wert s 1 s 3 + s 2 2
    Figure DE102017125617A1_0150
    bereit. Der Ausgang der XOR-Schaltung 72 ist mit dem Eingang des Invertierers 74 verbunden. An seinem Ausgang stellt der Invertierer 74 den Wert 1 s 1 s 3 + s 2 2
    Figure DE102017125617A1_0151
    bereit.
  • Der Ausgang des Invertierers 74 ist mit dem ersten Eingang des Multiplikators 75 verbunden, an dessen zweitem Eingang der Wert der Komponente s3 anliegt. Weiterhin ist der Ausgang des Invertierers 74 mit dem ersten Eingang des Multiplikators 76 verbunden, an dessen zweitem Eingang der Wert der Komponente s1 anliegt.
  • Der Multiplikator 76 stellt an seinem Ausgang den Wert 1 s 1 s 3 + s 2 2
    Figure DE102017125617A1_0152
    bereit. Der Ausgang des Multiplikators 76 ist mit dem ersten Eingang des Konstantenmultiplizierers 78 verbunden. An dem zweiten Eingang des Konstantenmultiplizierers 78 liegt der Wert α2r an. Der Konstantenmultiplizierers 78 stellt an seinem Ausgang den Wert s 1 s 1 s 3 + s 2 2
    Figure DE102017125617A1_0153
    bereit. Der Konstantenmultiplizierer 78 multipliziert den Wert, der an seinem ersten Eingang anliegt, im Galoisfeld GF2m mit dem Wert der Konstanten α2r, die an seinem zweiten Eingang anliegt. Diese Multiplikation wird durch entsprechende XOR-Verknüpfungen der Bits, die an dem ersten Eingang anliegen, implementiert. Die Konstante α2r ist dem r-ten Byte eindeutig zugeordnet.
  • Der Multiplikator 75 stellt an seinem Ausgang den Wert s 3 s 1 s 3 + s 2 2
    Figure DE102017125617A1_0154
    bereit. Der Ausgang des Multiplikators 75 ist mit dem ersten Eingang der XOR-Schaltung 77 verbunden.
  • Der Ausgang des Konstantenmultiplizierers 78, ist mit dem zweiten Eingang der XOR-Schaltung 77 verbunden. Die XOR-Schaltung 77 stellt an ihrem Ausgang den Wert α 2 r s 1 s 1 s 3 + s 2 2 + s 3 s 1 s 3 + s 2 2 = α 2 r s 1 + s 3 s 1 s 3 + s 2 2
    Figure DE102017125617A1_0155
    bereit. Der Ausgang der XOR-Schaltung 77 ist mit dem Eingang des Invertierers 79 verbunden.
  • Der Invertierer 79 stellt an seinem Ausgang den Wert s 1 s 3 + s 2 2 α 2 r s 1 + s 3
    Figure DE102017125617A1_0156
    bereit. Der Ausgang des Invertierers 79 ist mit dem zweiten Eingang der UND-Schaltung 710 verbunden.
  • An dem ersten Eingang der UND-Schaltung 710 liegt der Wert des Bytefehlerpositionssignals BPsr an. Die UND-Schaltung 710 realisiert eine bitweise UND-Verknüpfung der an ihrem zweiten Eingang anliegenden m-Bit mit dem Bytefehlerpositionssignal BPsr. Somit stellt die UND-Schaltung 710 an ihrem Ausgang den Wert s 1 s 3 + s 2 2 s 3 + α 2 r s 1 B P s r = a ( r ) B P s r = a ( r ) c o r
    Figure DE102017125617A1_0157
    bereit.
  • Der in 7 gezeigte Teil umfassend die Multiplikatoren 71, 75, 76, die XOR-Schaltung 72 und den Quadrierer 73 gibt an den Ausgängen der Multiplikatoren 75 und 76 die Werte s 3 s 1 s 3 + s 2 2
    Figure DE102017125617A1_0158
    und s 1 s 1 s 3 + s 2 2
    Figure DE102017125617A1_0159
    aus, die allein durch die Werte der Komponenten s1, s2, s3 bestimmt und unabhängig von der Byteposition r sind. Dieser Teil der Schaltung ist für alle in 5 gezeigten Bytefehler-Korrekturwertbildner 510, 511, ..., 51N-1 gleich. Somit ist es möglich, diesen Schaltungsteil nur einmal vorzusehen und die Ausgabesignale der Multiplikatoren 71, 75 und 76 für alle Bytefehler-Korrekturwertbildner 510 bis 51N-1 zu nutzen. Für die unterschiedlichen Bytepositionen 0 bis N-1 ist dann nur jeweils der verbleibende in 7 gezeigte Teil 711 der Schaltung zu realisieren, umfassend die XOR-Schaltung 77, den Konstantenmultiplizierer 78, den Invertierer 79 und die UND-Schaltung 710.
  • Es ist eine Option, einen Bytefehler-Korrekturwertbildner für korrigierbare Bytepositionen, beispielsweise für alle korrigierbaren Bytepositionen oder für einen Teil der korrigierbaren Bytepositionen unter Verwendung von höchsten drei Multiplikationen zu realisieren. Dabei können die drei Multiplikationen unter Verwendung von drei Multiplikatoren implementiert sein. Auch ist es eine Option, dass insbesondere weitere Multiplikationen mit einer Konstanten mittels Konstantenmultiplizierer durchgeführt werden.
  • Korrektur sowohl von 1-Byte, als auch 2-Bytefehlern, Fig.8
  • 8 zeigt eine beispielhafte Schaltung zur Korrektur von 1-Bytefehlern und 2-Bytefehlern, wobei die Schaltungen zur Bestimmung von Bytefehlerpositionssignalen für 2-Bytefehler und zur Korrektur von 2-Bytefehlern verwendet werden können.
  • Die in 8 gezeigte Schaltung ist beispielsweise derart ausgestaltet, dass
    • - ein 2-Bytefehler korrigiert wird, wenn ein 2-Bytefehler vorliegt,
    • - ein 1-Bytefehler korrigiert wird, wenn ein 1-Bytefehler vorliegt und
    • - keine Korrektur erfolgt, wenn kein Fehler vorliegt.
  • Hierzu umfasst 8
    • - N Bytefehler-Korrekturwertbildner 810, ..., 81i, ..., 81N-1 zur Korrektur von 1-Bytefehlern, jeweils mit einem 2 · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2 und einem m-Bit breiten Ausgang zur Ausgabe eines m-Bit breiten Bytefehlerkorrekturwerts,
    • - N Byte-Korrektoren 530, ..., 53i, ..., 53N-1 zur Korrektur von 2-Bytefehlern, jeweils mit einem 4 · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2, s3, s4 und einem m-Bit breiten Ausgang zur Ausgabe eines m-Bit breiten Bytefehlerkorrekturwerts, wie dies in 5 beschrieben ist,
    • - N Multiplexer 820, ..., 82i, ..., 82N-1, jeweils mit
      • - einem ersten m-Bit breiten Eingang (0-Eingang),
      • - einem zweiten m-Bit breiten Eingang (1-Eingang),
      • - einem 1-Bit breiten Steuereingang, an den ein binäres Steuersignal st anlegbar ist, und
      • - einem m-Bit breiten Ausgang,
    • - N UND-Schaltungen 830, ..., 83i, ..., 83N-1, jeweils mit einem ersten 1-Bit breiten Eingang zur Eingabe eines binären Fehlersignals E, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang und
    • - N XOR-Schaltungen 840, ..., 84i, ..., 84N-1, jeweils mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang.
  • Eine Leitung 85 führt die Komponenten s1, s2 und ist mit dem jeweiligen Eingang der Bytefehler-Korrekturwertbildner 810, ..., 81i, ..., 81N-1 verbunden.
  • Eine Leitung 86 führt die Komponenten s1, s2, s3, s4 und ist mit dem jeweiligen Eingang der Byte-Korrektoren 530, ..., 53i, ..., 53N-1 verbunden.
  • Der Bytefehler-Korrekturwertbildner 810 stellt im Falle eines 1-Bytefehlers in der Byteposition 0 an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte 0-te Byte v'0 bereit. Dies gilt entsprechend für die weiteren Bytefehler-Korrekturwertbildner. So stellt der Bytefehler-Korrekturwertbildner 81i im Falle eines 1-Bytefehlers in der Byteposition i an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte i-te Byte v'i bereit. Der Bytefehler-Korrekturwertbildner 81N-1 stellt im Falle eines 1-Bytefehlers in der Byteposition (N - 1) an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte (N - 1)-te Byte v'N-1 bereit.
  • Eine mögliche Realisierung eines Bytefehler-Korrekturwertbildner zur Korrektur eines 1-Bytefehlers wird im Zusammenhang mit 10 erläutert.
  • Im Hinblick auf eine mögliche Realisierung der Byte-Korrektoren 530 bis 53N-1 sei beispielsweise auf die im Zusammenhang mit 2 beschriebenen Bytefehler-Positionssignalbildner und die im Zusammenhang mit 6 und 7 beschriebenen Bytefehler-Korrekturwertbildner verwiesen.
  • Der Ausgang des Bytefehler-Korrekturwertbildners 810 ist mit dem ersten Eingang des Multiplexers 820 verbunden. Der Ausgang des Byte-Korrektors 530 ist mit dem zweiten Eingang des Multiplexers 820 verbunden. Ist der Wert des Steuersignales st gleich 0, dann verbindet der Multiplexer 820 seinen 0-Eingang (den ersten Eingang) mit seinem Ausgang. Ist der Wert des Steuersignales st gleich 1, dann verbindet der Multiplexer 820 seinen 1-Eingang (den zweiten Eingang) mit seinem Ausgang.
  • Am ersten Eingang der UND-Schaltung 830 liegt das binäre Fehlersignal E an. Der Ausgang des Multiplexers 820 ist mit dem zweiten Eingang der UND-Schaltung 830 verbunden. Der Ausgang der UND-Schaltung 830 ist mit dem ersten Eingang der XOR-Schaltung 840 verbunden. An dem zweiten Eingang der XOR-Schaltung 840 liegt das eventuell fehlerhafte Byte v'0 an. Die XOR-Schaltung 840 stellt an ihrem Ausgang den korrigierten Byte-Wert v 0 c o r
    Figure DE102017125617A1_0160
    bereit.
  • Die UND-Schaltung 830 ermöglicht eine komponentenweise UND-Verknüpfung des an ihrem zweiten Eingang anliegenden m-stelligen Werts mit dem Fehlersignal E. Ist das Fehlersignal E = 0, gibt die UND-Schaltung 830 den m-komponentigen Wert 0 aus. Ist das Fehlersignal E = 1, gibt die UND-Schaltung 830 den an ihrem zweiten Eingang anliegenden Wert aus.
  • Diese Ausführungen gelten für die verbleibenden Bytepositionen entsprechend.
  • Der Ausgang des Bytefehler-Korrekturwertbildners 81i ist mit dem ersten Eingang des Multiplexers 82i verbunden. Der Ausgang des Bytefehler-Korrekturwertbildners 53i ist mit dem zweiten Eingang des Multiplexers 82i verbunden. Ist der Wert des Steuersignales st gleich 0, dann verbindet der Multiplexer 82i seinen 0-Eingang (den ersten Eingang) mit seinem Ausgang. Ist der Wert des Steuersignales st gleich 1, dann verbindet der Multiplexer 82i seinen 1-Eingang (den zweiten Eingang) mit seinem Ausgang.
  • Am ersten Eingang der UND-Schaltung 83i liegt das binäre Fehlersignal E an. Der Ausgang des Multiplexers 82i ist mit dem zweiten Eingang der UND-Schaltung 83i verbunden. Der Ausgang der UND-Schaltung 83i ist mit dem ersten Eingang der XOR-Schaltung 84i verbunden. An dem zweiten Eingang der XOR-Schaltung 84i liegt das eventuell fehlerhafte Byte v'i an. Die XOR-Schaltung 84i stellt an ihrem Ausgang den korrigierten Byte-Wert v i c o r
    Figure DE102017125617A1_0161
    bereit.
  • Die UND-Schaltung 83i ermöglicht eine komponentenweise UND-Verknüpfung des an ihrem zweiten Eingang anliegenden m-stelligen Werts mit dem Fehlersignal E. Ist das Fehlersignal E = 0, gibt die UND-Schaltung 83i den m-komponentigen Wert 0 aus. Ist das Fehlersignal E = 1, gibt die UND-Schaltung 83i den an ihrem zweiten Eingang anliegenden Wert aus.
  • Der Ausgang des Bytefehler-Korrekturwertbildners 81N-1 ist mit dem ersten Eingang des Multiplexers 82N-1 verbunden. Der Ausgang des Bytefehler-Korrekturwertbildners 53N-1 ist mit dem zweiten Eingang des Multiplexers 82N-1 verbunden. Ist der Wert des Steuersignales st gleich 0, dann verbindet der Multiplexer 82N-1 seinen 0-Eingang (den ersten Eingang) mit seinem Ausgang. Ist der Wert des Steuersignales st gleich 1, dann verbindet der Multiplexer 82N-1 seinen 1-Eingang (den zweiten Eingang) mit seinem Ausgang.
  • Am ersten Eingang der UND-Schaltung 83N-1 liegt das binäre Fehlersignal E an. Der Ausgang des Multiplexers 82N-1 ist mit dem zweiten Eingang der UND-Schaltung 83N-1 verbunden. Der Ausgang der UND-Schaltung 83N-1 ist mit dem ersten Eingang der XOR-Schaltung 84N-1 verbunden. An dem zweiten Eingang der XOR-Schaltung 84N-1 liegt das eventuell fehlerhafte Byte v'N-1 an. Die XOR-Schaltung 84N-1 stellt an ihrem Ausgang den korrigierten Byte-Wert v N 1 c o r
    Figure DE102017125617A1_0162
    bereit.
  • Die UND-Schaltung 83N-1 ermöglicht eine komponentenweise UND-Verknüpfung des an ihrem zweiten Eingang anliegenden m-stelligen Werts mit dem Fehlersignal E. Ist das Fehlersignal E = 0, gibt die UND-Schaltung 83N-1 den m-komponentigen Wert 0 aus. Ist das Fehlersignal E = 1, gibt die UND-Schaltung 83N-1 den an ihrem zweiten Eingang anliegenden Wert aus.
  • Das Fehlersignal E nimmt
    • - den Wert 1 an, wenn ein 1-Bytefehler oder ein 2-Bytefehler aufgetreten ist bzw.
    • - den Wert 0 an, wenn kein Fehler aufgetreten ist.
  • Das Steuersignal st nimmt
    • - den Wert 0 an, wenn ein 1-Bytefehler aufgetreten ist und
    • - den Wert 1 an, wenn ein 2-Bytefehler aufgetreten ist.
  • Schaltung zur Korrektur von mehr als zwei Bytefehlern
  • 9 zeigt eine Schaltung zur Korrektur von 1-Bytefehlern, 2-Bytefehlern bis hin zu t-Bytefehlern. In dieser Schaltung können die in 8 beschriebenen Elemente entsprechend eingesetzt werden.
  • Die in 9 gezeigte Schaltung ermöglicht es, dass
    • - ein 1-Bytefehler korrigiert wird, wenn ein 1-Bytefehler vorliegt,
    • - ...
    • - ein 2-Bytefehler korrigiert wird, wenn ein 2-Bytefehler vorliegt,
    • - ein t-Bytefehler korrigert wird, wenn ein t-Bytefehler vorliegt und
    • - keine Korrektur erfolgt, wenn kein Fehler vorliegt.
  • Beispielhaft wird der Fall beschrieben, dass ein t-Bytefehler-korrigierender und (t + 1)-Bytefehler-erkennender Code genutzt wird, wobei insbesondere t > 2 gilt.
  • Die Schaltung gemäß 9 umfasst
    • - die N Bytefehler-Korrekturwertbildner 810 bis 81N-1 gemäß 8,
    • - die N Byte-Korrektoren 530 bis 53N-1 gemäß 8 (wie auch beschrieben in 5), bis hin zu
    • - N Bytefehler-Korrekturwertbildner 910, ..., 91i, ..., 91N-1 zur Korrektur von t-Bytefehlern, jeweils mit einem 2 · t · m-Bit breiten Eingang zur Eingabe der Komponenten s1, s2, ..., s2t und einem m-Bit breiten Ausgang zur Ausgabe eines m-Bit breiten Bytefehlerkorrekturwerts,
    • - N Multiplexer 920, ..., 92i, ..., 92N-1, jeweils mit
      • - einem ersten m-Bit breiten Eingang (0-Eingang),
      • - einem zweiten m-Bit breiten Eingang (1-Eingang),
      • - bis hin zu einem t-ten m Bit breiten Eingang ((t - 1)-Eingang)
      • - einem Steuereingang, an dem ein Steuersignal st anliegt, das t verschiedene Werte annehmen kann und
      • - einem m-Bit breiten Ausgang.
    • - N UND-Schaltungen 930, ..., 93i, ..., 93N-1, jeweils mit einem ersten 1-Bit breiten Eingang zur Eingabe eines binären Fehlersignales E, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang und
    • - N XOR-Schaltungen 940, ..., 94i, ..., 94N-1, jeweils mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang.
  • Der 0-Eingang eines der Multiplexers 920 bis 92N-1 ist mit seinem Ausgang verbunden, wenn das Steuersignal st den Wert 0 hat. Entsprechend kann eine Verbindung von einem der Eingänge 0 bis (t - 1) mit dem Ausgang hergestellt werden, indem das entsprechende Steuersignal st einen Wert zwischen 0 und (t - 1) annimmt. Gilt beispielsweise st = (t - 1) = 3, dann ist der dritte Eingang (2-Eingang) des Multiplexers mit seinem Ausgang verbunden.
  • Eine Leitung 95 führt die Komponenten s1, s2 und ist mit dem jeweiligen Eingang der Bytefehler-Korrekturwertbildner 810, ..., 81i, ..., 81N-1 verbunden.
  • Eine Leitung 96 führt die Komponenten s1, s2, s3, s4 und ist mit dem jeweiligen Eingang der Byte-Korrektoren 530, ..., 53i, ..., 53N-1 verbunden.
  • Schließlich ist eine Leitung 97 gezeigt, anhand derer die Komponenten s1, s2, ..., s2t an den jeweiligen Eingang der Bytefehler-Korrekturwertbildner 910, ..., 91i, ..., 91N-1 geführt werden.
  • Der Bytefehler-Korrekturwertbildner 810 stellt im Falle eines 1-Bytefehlers in der Byteposition 0 an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte 0-te Byte v'0 bereit. Dies gilt entsprechend für die weiteren Bytefehler-Korrekturwertbildner. So stellt der Bytefehler-Korrekturwertbildner 81i im Falle eines 1-Bytefehlers in der Byteposition i an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte i-te Byte v'i bereit. Der Bytefehler-Korrekturwertbildner 81N-1 stellt im Falle eines 1-Bytefehlers in der Byteposition (N - 1) an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte (N - 1)-te Byte v'N-1 bereit.
  • Der Byte-Korrektor 530 stellt im Falle eines 2-Bytefehlers an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte 0-te Byte v'0 bereit. Dies gilt entsprechend für die weiteren Bytefehler-Korrekturwertbildner. So stellt der Bytefehler-Korrekturwertbildner 53i im Falle eines 2-Bytefehlers an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte i-te Byte v'1 bereit. Der Bytefehler-Korrekturwertbildner 53N-1 stellt im Falle eines 2-Bytefehlers an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte (N - 1)-te Byte v'N-1 bereit.
  • Der Bytefehler-Korrekturwertbildner 910 stellt im Falle eines t-Bytefehlers an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte 0-te Byte v'0 bereit. Dies gilt entsprechend für die weiteren Bytefehler-Korrekturwertbildner. So stellt der Bytefehler-Korrekturwertbildner 91i im Falle eines t-Bytefehlers an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte i-te Byte v'i bereit. Der Bytefehler-Korrekturwertbildner 91N-1 stellt im Falle eines t-Bytefehlers an seinem Ausgang den korrekten Bytefehlerkorrekturwert für das fehlerhafte (N - 1)-te Byte v'N-1 bereit.
  • Für nicht-fehlerhafte Bytes sind die zu diesen Bytepositionen zugeordneten Bytefehlerkorrekturwerte jeweils mit dem Wert 0 maskiert.
  • Der Ausgang des Bytefehler-Korrekturwertbildners 810 ist mit dem ersten Eingang (0-Eingang) des Multiplexers 920 verbunden. Der Ausgang des Byte-Korrektoren 530 ist mit dem zweiten Eingang (1-Eingang) des Multiplexers 920 verbunden. Entsprechend ist der Ausgang des Bytefehler-Korrekturwertbildners 910 mit dem t-ten Eingang ((t - 1)-Eingang) des Multiplexers 920 verbunden.
  • Am ersten Eingang der UND-Schaltung 930 liegt das binäre Fehlersignal E an. Der Ausgang des Multiplexers 920 ist mit dem zweiten Eingang der UND-Schaltung 930 verbunden. Der Ausgang der UND-Schaltung 930 ist mit dem ersten Eingang der XOR-Schaltung 940 verbunden. An dem zweiten Eingang der XOR-Schaltung 940 liegt das eventuell fehlerhafte Byte v'0 an. Die XOR-Schaltung 940 stellt an ihrem Ausgang den korrigierten Byte-Wert v 0 c o r
    Figure DE102017125617A1_0163
    bereit.
  • Die UND-Schaltung 930 ermöglicht eine komponentenweise UND-Verknüpfung des an ihrem zweiten Eingang anliegenden m-stelligen Werts mit dem Fehlersignal E. Ist das Fehlersignal E = 0, gibt die UND-Schaltung 930 den m-komponentigen Wert 0 aus. Ist das Fehlersignal E = 1, gibt die UND-Schaltung 930 den an ihrem zweiten Eingang anliegenden Wert aus.
  • Diese Ausführungen gelten für die verbleibenden Bytepositionen entsprechend.
  • Der Ausgang des Bytefehler-Korrekturwertbildners 81i ist mit dem ersten Eingang (0-Eingang) des Multiplexers 92i verbunden. Der Ausgang des Bytefehler-Korrekturwertbildners 53i ist mit dem zweiten Eingang (1-Eingang) des Multiplexers 92i verbunden. Entsprechend ist der Ausgang des Bytefehler-Korrekturwertbildners 91i mit dem t-ten Eingang ((t - 1)-Eingang) des Multiplexers 92i verbunden.
  • Am ersten Eingang der UND-Schaltung 93i liegt das binäre Fehlersignal E an. Der Ausgang des Multiplexers 92i ist mit dem zweiten Eingang der UND-Schaltung 93i verbunden. Der Ausgang der UND-Schaltung 93i ist mit dem ersten Eingang der XOR-Schaltung 94i verbunden. An dem zweiten Eingang der XOR-Schaltung 94i liegt das eventuell fehlerhafte Byte v'i an. Die XOR-Schaltung 94i stellt an ihrem Ausgang den korrigierten Byte-Wert v i c o r
    Figure DE102017125617A1_0164
    bereit.
  • Die UND-Schaltung 93i ermöglicht eine komponentenweise UND-Verknüpfung des an ihrem zweiten Eingang anliegenden m-stelligen Werts mit dem Fehlersignal E. Ist das Fehlersignal E = 0, gibt die UND-Schaltung 93i den m-komponentigen Wert 0 aus. Ist das Fehlersignal E = 1, gibt die UND-Schaltung 93i den an ihrem zweiten Eingang anliegenden Wert aus.
  • Der Ausgang des Bytefehler-Korrekturwertbildners 81N-1 ist mit dem ersten Eingang (0-Eingang) des Multiplexers 92N-1 verbunden. Der Ausgang des Bytefehler-Korrekturwertbildners 53N-1 ist mit dem zweiten Eingang (1-Eingang) des Multiplexers 92N-1 verbunden. Entsprechend ist der Ausgang des Bytefehler-Korrekturwertbildners 91N-1 mit dem t-ten Eingang ((t - 1)-Eingang) des Multiplexers 92N-1 verbunden.
  • Am ersten Eingang der UND-Schaltung 93N-1 liegt das binäre Fehlersignal E an. Der Ausgang des Multiplexers 92N-1 ist mit dem zweiten Eingang der UND-Schaltung 93N-1 verbunden. Der Ausgang der UND-Schaltung 93N-1 ist mit dem ersten Eingang der XOR-Schaltung 94N-1 verbunden. An dem zweiten Eingang der XOR-Schaltung 94N-1 liegt das eventuell fehlerhafte Byte v'N-1 an. Die XOR-Schaltung 94N-1 stellt an ihrem Ausgang den korrigierten Byte-Wert v N 1 c o r
    Figure DE102017125617A1_0165
    bereit. Die UND-Schaltung 93N-1 ermöglicht eine komponentenweise UND-Verknüpfung des an ihrem zweiten Eingang anliegenden m-stelligen Werts mit dem Fehlersignal E. Ist das Fehlersignal E = 0, gibt die UND-Schaltung 93N-1 den m-komponentigen Wert 0 aus. Ist das Fehlersignal E = 1, gibt die UND-Schaltung 93N-1 den an ihrem zweiten Eingang anliegenden Wert aus.
  • Das Fehlersignal E nimmt
    • - den Wert 1 an, wenn ein 1-Bytefehler oder ein 2-Bytefehler, ... oder ein t-Bytefehler aufgetreten bzw.
    • - den Wert 0 an, wenn kein Fehler aufgetreten ist.
  • Das Steuersignal st nimmt
    • - den Wert 0 an, wenn ein 1-Bytefehler aufgetreten ist,
    • - den Wert 1 an, wenn ein 2-Bytefehler aufgetreten ist,
    • - usw.
    • - den Wert (t - 1) an, wenn ein t-Bytefehler aufgetreten ist.
  • Bytefehler-Korrektor für 1-Bytefehler
  • 10 zeigt eine beispielhafte Schaltung für einen Bytefehler-Korrekturwertbildner 81i für das i-te Byte, wie er z.B. unter Bezugnahme auf 8 erläutert ist.
  • Der Bytefehler-Korrekturwertbildner 81i umfasst
    • - einen Konstantenmultiplizierer 101 mit
      • - einem ersten m-Bit breiten Eingang,
      • - einem zweiten m-Bit breiten Eingang, an dem der konstante Wert αi anliegt und
      • - einem m-Bit breiten Ausgang,
    • - eine XOR-Schaltung 102 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine NOR-Schaltung 103 mit einem m-Bit breiten Eingang und einem 1-Bit breiten Ausgang,
    • - eine UND-Schaltung 104 mit einem ersten 1-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang.
  • Weiterhin sind in 10 der Multiplexer 82i und der Bytefehler-Korrekturwertbildner 53i aus 8 (und 5) gezeigt.
  • Der Konstantenmultiplizierer 101, die XOR-Schaltung 102 und die NOR-Schaltung 103 bilden einen Bytefehler-Positionssignalbildner 105 und dienen beispielhaft zur Bildung des Bytefehler-Positionssignals B P s i 1 ,
    Figure DE102017125617A1_0166
    das anzeigt, ob ein 1-Bytefehler in der i-ten Byteposition vorliegt.
  • An dem Ausgang der UND-Schaltung 104 wird der m-dimensionale Bytefehlerkorrekturwert a(i)cor bereitgestellt, falls ein 1-Bytefehler in der Byteposition i aufgetreten ist. Ist der 1-Bytefehler in einer anderen von i verschiedenen Byteposition j aufgetreten, ist das Bytefehler-Positionssignal BPsi = 0 und somit liegt auch am Ausgang der UND-Schaltung 104 der Wert 0 an.
  • Am ersten Eingang des Konstantenmultiplizierers 101 liegt die Komponente s1 und an dem zweiten Eingang des Konstantenmultiplizierers 101 liegt eine Konstante αi an. Der Ausgang des Konstantenmultiplizierers 101 ist mit dem ersten Eingang der XOR-Schaltung 102 verbunden. An dem zweiten Eingang der XOR-Schaltung 102 liegt die Komponente s2 an. Der Ausgang der XOR-Schaltung 102 ist mit dem Eingang der NOR-Schaltung 103 verbunden. Der Ausgang der NOR-Schaltung 103 ist mit dem ersten Eingang der UND-Schaltung 104 verbunden. An dem zweiten Eingang der UND-Schaltung 104 liegt die Komponente s1 an. Der Ausgang der UND-Schaltung 104 ist mit dem ersten Eingang des Multiplexers 82i verbunden.
  • Der zweite Eingang des Multiplexers 82i ist mit dem Ausgang des Bytefehler-Korrekturwertbildners 53i verbunden.
  • Somit wird an dem ersten Eingang des Multiplexers 82i der Bytefehlerkorrekturwert für einen 1-Bytefehler bereitgestellt und an dem zweiten Eingang des Multiplexers 82i wird der Bytefehlerkorrekturwert für einen 2-Bytefehler bereitgestellt.
  • Entsprechend ist das Steuersignal st für den Multiplexer 82i
    • - gleich 0, wenn ein 1-Bytefehler vorliegt, um den ersten Eingang (0-Eingang) des Multiplexers 82i mit seinem Ausgang zu verbinden oder
    • - gleich 1, wenn ein 2-Bytefehler vorliegt, um den zweiten Eingang (1-Eingang) des Multiplexers 82i mit seinem Ausgang zu verbinden.
  • Liegt kein Fehler vor, ist der Wert des Steuersignals st beliebig. Er kann beispielsweise zu 0 festgelegt werden, wie das beispielhaft nachfolgend beschrieben wird.
  • Liegt kein Fehler vor, ist der Wert des Fehlersignals E gleich 0. Dies wurde vorstehend im Zusammenhang mit 8 erläutert. Anhand der nachgeschalteten UND-Schaltung 83i, die das Signal am Ausgang des Multiplexers 82i komponentenweise mit dem Fehlersignal E logisch UND-verknüpft, ist sichergestellt, dass bei einem Fehlersignal E = 0 (also wenn kein Fehler vorliegt) am Ausgang der UND-Schaltung 83i der Wert 0 bereitgestellt wird und zwar unabhängig vom Signal am Ausgang des Multiplexers 82i. Somit erfolgt keine Korrektur des i-ten Bytes.
  • Schaltung zur Bestimmung eines Fehlersignals
  • 11 zeigt eine beispielhafte Schaltung zur Bestimmung des Fehlersignales E wie es beispielsweise in der in 8 gezeigten Schaltung genutzt wird.
  • Die in 11 gezeigte Anordnung umfasst
    • - einen Multiplikator 111 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine XOR-Schaltung 113 mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - einen Quadrierer 112 mit einem m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - eine OR-Schaltung 114 (ODER-Schaltung) mit einem m-Bit breiten Eingang und einem 1-Bit breiten Ausgang,
    • - eine OR-Schaltung 116 mit einem m-Bit breiten Eingang und einem 1-Bit breiten Ausgang und
    • - eine OR-Schaltung 115 mit einem ersten binären Eingang, einem zweiten binären Eingang und mit einem binären Ausgang.
  • An dem ersten Eingang des Multiplikators 111 liegt der Wert der Komponente s1 an. An dem zweiten Eingang des Multiplikators 111 liegt der Wert der Komponente s3 an. Der Ausgang des Multiplikators 111 ist mit dem ersten Eingang der XOR-Schaltung 113 verbunden.
  • Die Komponente s1 liegt auch an dem Eingang der OR-Schaltung 116 an. Der Ausgang der OR-Schaltung 116 ist mit dem zweiten Eingang der OR-Schaltung 115 verbunden.
  • Die Komponente s2 liegt an dem Eingang des Quadrierers 112 an. Der Ausgang des Quadrierers 112 ist mit dem zweiten Eingang der XOR-Schaltung 113 verbunden.
  • Der Ausgang der XOR-Schaltung 113 ist mit dem Eingang der OR-Schaltung 114 verbunden und der Ausgang der OR-Schaltung 114 ist mit dem ersten Eingang der OR-Schaltung 115 verbunden.
  • An dem Ausgang der OR-Schaltung 114 wird das Steuersignal st und an dem Ausgang der OR-Schaltung 115 wird das Fehlersignal E bereitgestellt.
  • Das Steuersignal st nimmt den Wert 0 an, wenn gilt: s 1 s 3 + s 2 2 = 0.
    Figure DE102017125617A1_0167
  • Entsprechend nimmt das Steuersignal st den Wert 1 an, wenn gilt: s 1 s 3 + s 2 2 0.
    Figure DE102017125617A1_0168
  • Das Fehlersignal E nimmt den Wert 0 an, wenn das Steuersignal st gleich 0 ist und wenn der Wert der Komponente s1 gleich 0 ist. In diesem Fall liegt weder ein 1-Bytefehler noch ein 2-Bytefehler vor.
  • Ist der Wert des Steuersignals st gleich 1, erfolgt in der Schaltung gemäß 8 eine 2-Byte-Korrektur unter Verwendung der Byte-Korrektoren 530 bis 53N-1.
  • Ist der Wert des Steuersignals st gleich 0, erfolgt in der Schaltung gemäß 8 zunächst eine 1-Byte Korrektur unter Verwendung der Bytefehler-Korrekturwertbildner 810 bis 81N-1. Ist auch das Fehlersignal E gleich 0, so dass weder ein 1-Byte noch ein 2-Byte Fehler vorliegt, geben die UND-Schaltungen 830 bis 83N-1 alle den Wert 0 aus, so dass keine Korrektur der Bytes v'0 bis v'N-1 erfolgt.
  • Wird ein 3-Bytefehler erkannt, kann die Fehlerkorrektur beispielsweise abgebrochen werden. Ein solcher Abbruch der Fehlerkorrektur kann auf Systemebene erfolgen.
  • Schaltung zur Erkennen eines 3-Bytefehlers
  • 12 zeigt eine beispielhafte Schaltung zum Erkennen eines 3-Bytefehlers. Hierzu umfasst die Schaltung
    • - vier Multiplikatoren 121, 122, 123, 124, jeweils mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten und einem m-Bit breiten Ausgang,
    • - drei Quadrierer 125, 126, 127, jeweils mit einem m-Bit breiten Eingang und einem m-Bit breiten Ausgang,
    • - drei XOR-Schaltungen 128, 129, 1210, jeweils mit einem ersten m-Bit breiten Eingang, einem zweiten m-Bit breiten Eingang und einem m-Bit breiten Ausgang und
    • - eine OR-Schaltung 1211 mit einem m-Bit breiten Eingang und einem binären Ausgang, wobei die OR-Schaltung 1211 eine komponentenweise ODER-Verknüpfung der an ihrem Eingang anliegenden m-Bit durchführt.
  • An dem ersten Eingang des Multiplikators 121 und an dem zweiten Eingang des Multiplikators 123 liegt der Wert der Komponente s1 an.
  • An dem Eingang des Quadrierers 126 liegt der Wert der Komponente s2 an.
  • An dem Eingang des Quadrierers 125 und an dem zweiten Eingang des Multiplikators 122 liegt der Wert der Komponente s3 an.
  • An dem Eingang des Quadrierers 127 liegt der Wert der Komponente s4 an.
  • An dem zweiten Eingang des Multiplikators 121 und an dem ersten Eingang des Multiplikators 124 liegt der Wert der Komponente s5 an.
  • Der Ausgang des Multiplizierers 121 ist mit dem ersten Eingang der XOR-Schaltung 128 verbunden. Der Ausgang des Quadrierers 125 ist mit dem zweiten Eingang der XOR-Schaltung 128 verbunden. Der Ausgang der XOR-Schaltung 128 ist mit dem ersten Eingang des Multiplizierers 122 verbunden. Der Ausgang des Multiplizierers 122 ist mit dem ersten Eingang der XOR-Schaltung 129 verbunden.
  • Der Ausgang des Quadrierers 127 ist mit dem ersten Eingang des Multiplikators 123 verbunden. Der Ausgang des Multiplikators 123 ist mit dem ersten Eingang der XOR-Schaltung 1210 verbunden.
  • Der Ausgang des Quadrierers 126 ist mit dem zweiten Eingang des Multiplizierers 124 verbunden und der Ausgang des Multiplizierers 124 ist mit dem zweiten Eingang der XOR-Schaltung 1210 verbunden. Der Ausgang der XOR-Schaltung 1210 ist mit dem zweiten Eingang der XOR-Schaltung 129 verbunden. Der Ausgang der XOR-Schaltung 129 ist mit dem Eingang der OR-Schaltung 1211 verbunden und an dem Ausgang der OR-Schaltung 1211 steht ein Signal Err3 bereit, anhand dessen ein 3-Bytefehler bestimmt werden kann.
  • Das Signal Err3 nimmt den Wert 1 an, wenn gilt: ( s 1 s 5 + s 3 2 ) s 3 + s 2 2 s 5 + s 4 2 s 1 = s 1 s 3 s 5 + s 3 3 + s 2 2 s 5 + s 4 2 s 1 0.
    Figure DE102017125617A1_0169
  • Entsprechend nimmt das Signal Err3 den Wert 0 an, wenn gilt: ( s 1 s 5 + s 3 2 ) s 3 + s 2 2 s 5 + s 4 2 s 1 = 0.
    Figure DE102017125617A1_0170
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Bossen, D.: b-Adjacent Error Correction, IBM J. Res. Dev., July 1970, Seiten 402 bis 408 [0002]
    • Okano, H., Imai, H.: A Construction Method of High-Speed Decoders Using ROM's for Bose-Chaudhuri-Hocquengiem and Reed-Solomon Codes, IEEE TRANSACTIONS ON COMPUTERS, VOL. C-36, NO. 10, OCTOBER 1987, Seiten 1165 bis 1171 [0007]
    • Lin, S., Costello, D.: Error Control Coding, Prentice Hall, 1983, Seiten 170 bis 177 [0056]
    • Wicker, S.: Error Control Systems for Digital Communication and Storage, Prentice Hall, 1995, Seiten 214 bis 224 [0056]

Claims (25)

  1. Schaltungsanordnung zur Bestimmung von mindestens zwei Bytefehlerpositionssignalen - zur Identifikation mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, - wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, - wobei die Schaltungsanordnung derart eingerichtet ist, dass jedes der mindestens zwei Bytefehlerpositionssignale unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart bestimmbar ist, dass es anzeigt, ob ein mit dem Bytefehlerpositionssignal assoziiertes Byte der Binärfolge fehlerhaft ist oder nicht, - wobei die mindestens zwei Bytefehlerpositionssignale parallel bestimmt werden.
  2. Schaltungsanordnung nach Anspruch 1, bei der die Schaltungsanordnung derart eingerichtet ist, dass Bytefehlerpositionssignale unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart bestimmbar sind, dass sie für mindestens zwei Bytes der Bytes der Binärfolge anzeigen, dass ein korrigierbarer Fehler vorliegt.
  3. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, bei der der Fehlercode ein t-Bytefehler-korrigierender Code ist, wobei mindestens (t + 1) Bytefehlerpositionssignale parallel bestimmt werden.
  4. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, bei der die Binärfolge einen 2-Bytefehler aufweist.
  5. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, bei der jedes Byte der Binärfolge m-Bit aufweist, wobei m ≥ 2 gilt.
  6. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, bei der der Fehlercode - ein t-Bytefehler-korrigierender Code oder - ein t-Bytefehler-korrigierender und (t + 1)-Bytefehler-erkennender Code ist, wobei t ≥ 2 gilt.
  7. Schaltungsanordnung nach Anspruch 6, bei der die Binärfolge mindestens (t + 1) korrigierbare Bytes aufweist.
  8. Schaltungsanordnung nach einem der Ansprüche 6 oder 7, bei der das Fehlersyndrom mindestens 2 · t Komponenten s1, s2, ..., s2t aufweist, wobei jede Komponente jeweils m-Bit umfasst mit m ≥ 2.
  9. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, bei der das Bytefehlerpositionssignal einen ersten Wert aufweist, wenn das mit dem Bytefehlerpositionssignal assoziierte Byte fehlerhaft ist und einen zweiten Wert aufweist, wenn das mit dem Bytefehlerpositionssignal assoziierte Byte nicht fehlerhaft ist.
  10. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, bei der mindestens eines der Bytefehlerpositionssignale für mindestens ein korrektes Byte bestimmt wird.
  11. Schaltungsanordnung nach einem der vorhergehenden Ansprüche, bei der die Binärfolge Datenbytes und Prüfbytes umfasst, wobei die Datenbytes und/oder die Prüfbytes korrigierbare Bytes bilden.
  12. Schaltungsanordnung zur Korrektur mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, wobei die Schaltungsanordnung eingerichtet ist - zur Bestimmung mindestens eines Bytefehlerpositionssignals unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart, dass mittels des Bytefehlerpositionssignals bestimmbar ist, ob ein Byte der Binärfolge fehlerhaft ist oder nicht, - zur Bestimmung mindestens eines Bytefehlerkorrekturwerts anhand dessen eine mittels des Bytefehlerpositionssignals identifizierte fehlerhafte Byteposition korrigierbar ist, - wobei mindestens einer der Bytefehlerkorrekturwerte für mindestens ein korrektes Byte bestimmt wird.
  13. Schaltungsanordnung nach Anspruch 12, bei der das mindestens eine Bytefehlerpositionssignal und/oder mindestens ein Bytefehlerkorrekturwert parallel bestimmt werden.
  14. Schaltungsanordnung nach Anspruch 13, bei der der Fehlercode ein t-Bytefehler-korrigierender Code ist, wobei mindestens (t + 1) Bytefehlerpositionssignale parallel bestimmt werden.
  15. Schaltungsanordnung nach Anspruch 13 oder 14, bei der der Fehlercode ein t-Bytefehler-korrigierender Code ist, wobei mindestens (t + 1) Bytefehlerkorrekturwerte parallel bestimmt werden.
  16. Schaltungsanordnung nach Anspruch 15, bei der die mindestens (t + 1) Bytefehlerkorrekturwerte unter Verwendung von höchstens drei Galoisfeld-Multiplizierern bestimmt werden und wobei t ≥ 2 gilt.
  17. Schaltungsanordnung nach einem der Ansprüche 12 bis 16, wobei die Schaltungsanordnung eingerichtet ist, einen der Bytefehler zu korrigieren, indem für das fehlerhafte Byte das Bytefehlerpositionssignal mit dem Bytefehlerkorrekturwert verknüpft wird.
  18. Schaltungsanordnung nach einem der Ansprüche 12 bis 17, wobei die Schaltungsanordnung eingerichtet ist zur Korrektur von t-Bytefehler, wobei t ≥ 2 gilt.
  19. Schaltungsanordnung nach Anspruch 18, bei der die Schaltungsanordnung zusätzlich zur Korrektur von 1-Bytefehlern eingerichtet ist.
  20. Schaltungsanordnung nach einem der Ansprüche 18 oder 19, bei der die Schaltungsanordnung zusätzlich zur Korrektur von τ-Bytefehlern eingerichtet ist, wobei t ≥ τ > 2 gilt.
  21. Schaltungsanordnung nach einem der Ansprüche 12 bis 20, bei der im Falle eines 2-Bytefehlers das i-te Byte ein korrigierbares Byte ist, - wobei das Bytefehlerpositionssignal für das i-te Byte einen ersten Wert annimmt, wenn α 2 i { s 1 s 3 + s 2 2 } + α i { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 = 0
    Figure DE102017125617A1_0171
    gilt und - wobei das Bytefehlerpositionssignal für das i-te Byte einen zweiten Wert annimmt, wenn α 2 i { s 1 s 3 + s 2 2 } + α i { s 1 s 4 + s 2 s 3 } + s 2 s 4 + s 3 2 0
    Figure DE102017125617A1_0172
    gilt, - wobei das i-te Byte fehlerhaft ist, wenn das mit dem i-ten Byte assoziierte Bytefehlerpositionssignal den ersten Wert annimmt.
  22. Schaltungsanordnung nach einem der Ansprüche 12 bis 21, wobei im Falle eines 2-Bytefehlers der Bytefehlerkorrekturwert des i-ten Byte bestimmt wird gemäß a ( i ) = s 1 s 3 + s 2 2 s 3 + α 2 i s 1 .
    Figure DE102017125617A1_0173
  23. Schaltungsanordnung nach einem der Ansprüche 12 bis 22, bei der im Falle eines 2-Bytefehlers die Korrektur eines korrigierbaren Bytes in Abhängigkeit von drei Komponenten des Fehlersyndroms und von dem Bytefehlerpositionssignal bestimmt wird.
  24. Verfahren zur Bestimmung von mindestens zwei Bytefehlerpositionssignalen - zur Identifikation mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, - wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, - bei dem jedes der mindestens zwei Bytefehlerpositionssignale unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart bestimmt wird, dass es anzeigt, ob ein mit dem Bytefehlerpositionssignal assoziiertes Byte der Binärfolge fehlerhaft ist oder nicht, - bei dem die mindestens zwei Bytefehlerpositionssignale parallel bestimmt werden.
  25. Verfahren zur Korrektur mindestens eines Bytefehlers in einer Binärfolge, die mehrere Bytes umfasst, wobei die Binärfolge im fehlerfreien Fall ein Codewort eines Fehlercodes ist, umfassend die Schritte: - Bestimmung mindestens eines Bytefehlerpositionssignals unter Verwendung von Komponenten eines Fehlersyndroms des Fehlercodes derart, dass mittels des Bytefehlerpositionssignals bestimmbar ist, ob ein Byte der Binärfolge fehlerhaft ist oder nicht, - Bestimmung mindestens eines Bytefehlerkorrekturwerts anhand dessen eine mittels des Bytefehlerpositionssignals identifizierte fehlerhafte Byteposition korrigiert wird, - wobei mindestens einer der Bytefehlerkorrekturwerte für mindestens ein korrektes Byte bestimmt wird.
DE102017125617.2A 2017-11-02 2017-11-02 Bestimmung und verwendung von bytefehlerpositionssignalen Active DE102017125617B8 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102017125617.2A DE102017125617B8 (de) 2017-11-02 2017-11-02 Bestimmung und verwendung von bytefehlerpositionssignalen
JP2018203555A JP2019110522A (ja) 2017-11-02 2018-10-30 バイト誤り位置信号の決定および使用
US16/178,901 US10812109B2 (en) 2017-11-02 2018-11-02 Determination and use of byte error position signals
JP2023217133A JP2024038056A (ja) 2017-11-02 2023-12-22 バイト誤り位置信号の決定および使用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017125617.2A DE102017125617B8 (de) 2017-11-02 2017-11-02 Bestimmung und verwendung von bytefehlerpositionssignalen

Publications (3)

Publication Number Publication Date
DE102017125617A1 true DE102017125617A1 (de) 2019-05-02
DE102017125617B4 DE102017125617B4 (de) 2020-06-18
DE102017125617B8 DE102017125617B8 (de) 2020-08-27

Family

ID=66138256

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017125617.2A Active DE102017125617B8 (de) 2017-11-02 2017-11-02 Bestimmung und verwendung von bytefehlerpositionssignalen

Country Status (3)

Country Link
US (1) US10812109B2 (de)
JP (2) JP2019110522A (de)
DE (1) DE102017125617B8 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020120719A1 (de) 2020-08-05 2022-02-10 Infineon Technologies Ag Zugriff auf einen speicher
DE102021123727A1 (de) 2021-09-14 2023-03-16 Infineon Technologies Ag Bytefehlerkorrektur
DE102022101798B3 (de) 2022-01-26 2023-07-20 Infineon Technologies Ag Fehlerverarbeitung

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021133678A1 (de) 2021-01-20 2022-07-21 Infineon Technologies Ag Korrektur von bitfehlern
DE102021109391B3 (de) 2021-04-14 2022-08-25 Infineon Technologies Ag Multibytefehler-Erkennung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563894A (en) * 1991-12-10 1996-10-08 Hitachi, Ltd. Error detecting and correcting method and system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4730321A (en) * 1986-05-30 1988-03-08 Quantum Corporation Disk drive with improved error correction code
US5754563A (en) * 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
JPH1117557A (ja) * 1997-05-01 1999-01-22 Mitsubishi Electric Corp 誤り訂正方法及び誤り訂正装置
KR100249498B1 (ko) * 1997-11-28 2000-03-15 정선종 분산 표본 혼화 장치의 병렬 처리기
US6078632A (en) * 1998-04-15 2000-06-20 The United States Of America As Represented By The Secretary Of The Air Force Minimalized decommunication of serialized telemetry data
JP3502583B2 (ja) * 1999-10-25 2004-03-02 松下電器産業株式会社 誤り訂正方法および誤り訂正装置
JP3447053B2 (ja) * 2001-03-09 2003-09-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 組み合わせ回路、該組み合わせ回路を使用する符号化装置、復号装置、および半導体デバイス
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP4036338B2 (ja) * 2005-03-04 2008-01-23 国立大学法人東京工業大学 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
JP4940322B2 (ja) * 2010-03-16 2012-05-30 株式会社東芝 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法
DE102010020772A1 (de) * 2010-05-17 2011-11-17 Adva Ag Optical Networking Verfahren zur Übertragung eines digitalen Signals im inversenen Multiplex, insbesondere über ein Optical Transport Network und Empfangseinrichtung für ein System zur Realisierung des Verfahrens
JP5667408B2 (ja) * 2010-10-08 2015-02-12 株式会社日立製作所 リードソロモン符号・復号化回路、リードソロモン符号・復号化方法、および、記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563894A (en) * 1991-12-10 1996-10-08 Hitachi, Ltd. Error detecting and correcting method and system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Bossen, D.: b-Adjacent Error Correction, IBM J. Res. Dev., July 1970, Seiten 402 bis 408
Lin, S., Costello, D.: Error Control Coding, Prentice Hall, 1983, Seiten 170 bis 177
Okano, H., Imai, H.: A Construction Method of High-Speed Decoders Using ROM's for Bose-Chaudhuri-Hocquengiem and Reed-Solomon Codes, IEEE TRANSACTIONS ON COMPUTERS, VOL. C-36, NO. 10, OCTOBER 1987, Seiten 1165 bis 1171
Wicker, S.: Error Control Systems for Digital Communication and Storage, Prentice Hall, 1995, Seiten 214 bis 224

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020120719A1 (de) 2020-08-05 2022-02-10 Infineon Technologies Ag Zugriff auf einen speicher
DE102021123727A1 (de) 2021-09-14 2023-03-16 Infineon Technologies Ag Bytefehlerkorrektur
DE102021123727B4 (de) 2021-09-14 2023-07-27 Infineon Technologies Ag Bytefehlerkorrektur
DE102022101798B3 (de) 2022-01-26 2023-07-20 Infineon Technologies Ag Fehlerverarbeitung

Also Published As

Publication number Publication date
JP2024038056A (ja) 2024-03-19
US10812109B2 (en) 2020-10-20
DE102017125617B4 (de) 2020-06-18
JP2019110522A (ja) 2019-07-04
DE102017125617B8 (de) 2020-08-27
US20190132006A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
DE102017125617B4 (de) Bestimmung und Verwendung von Bytefehlerpostionssignalen
DE102011085602B4 (de) Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz
DE102015201384B4 (de) Vorrichtung und Verfahren zum Verbessern der Datenspeicherung durch Dateninvertierung
DE102013215055B4 (de) Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern
DE68906063T2 (de) Parametrischer galois-koerper-multiplizierer-addierer und dessen benutzung in einem digitalen signalprozessor.
DE102017103347B4 (de) Verarbeitung von daten in speicherzellen eines speichers
DE102013007692A1 (de) Verfahren und Vorrichtung zur Korrektur ternär gespeicherter binärer Daten
DE102014215252B9 (de) Wirksame fehlerkorrektur von mehrbitfehlern
DE19922253A1 (de) Kodiervorrichtung für RAID-6-Systeme und Bandlaufwerke
DE102006005817B4 (de) Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE102018131613A1 (de) Fehlererkennung mittels Gruppenfehler
DE102013222136B9 (de) Schaltung und Verfahren für die Mehr-Bit-Korrektur
DE102011087634A1 (de) Vorrichtung und verfahren zum erfassen eines fehlers in einem codierten binärwort
DE102016104012A1 (de) Verarbeitung eines Datenworts
DE102011087457A1 (de) Vorrichtung und verfahren zum erfassen eines fehlers in einer mehrzahl von codierten binärwörtern, die durch einen fehlerkorrekturcode codiert sind
DE102013219088B9 (de) Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
DE102021123727B4 (de) Bytefehlerkorrektur
DE102021109391B3 (de) Multibytefehler-Erkennung
DE102015118668B4 (de) Fehlerkorrektur
DE102015121646B4 (de) Fehlerkorrektur
DE102022101798B3 (de) Fehlerverarbeitung
DE102019113970B4 (de) Erkennung von adressfehlern
DE102018126685B3 (de) Verarbeitung von Daten
DE3702697A1 (de) Paritaetserzeugungsschaltung
DE102006005836B4 (de) Schaltungsanordnung und Verfahren zum Erzeugen von zur Fehlererkennung bei einer digitalen Schaltung auswertbaren Kontrollbits und Anordnung zum Überwachen einer digitalen Schaltung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final