DE68924944T2 - Fehlerkorrekturschaltung. - Google Patents

Fehlerkorrekturschaltung.

Info

Publication number
DE68924944T2
DE68924944T2 DE68924944T DE68924944T DE68924944T2 DE 68924944 T2 DE68924944 T2 DE 68924944T2 DE 68924944 T DE68924944 T DE 68924944T DE 68924944 T DE68924944 T DE 68924944T DE 68924944 T2 DE68924944 T2 DE 68924944T2
Authority
DE
Germany
Prior art keywords
code
crc check
crc
circuit
sequence circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68924944T
Other languages
English (en)
Other versions
DE68924944D1 (de
Inventor
Hideo C O Mitsubishi D Yoshida
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of DE68924944D1 publication Critical patent/DE68924944D1/de
Publication of DE68924944T2 publication Critical patent/DE68924944T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes

Landscapes

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

Description

  • Die Erfindung betrifft allgemein Fehlerkorrekturschaltungen für Aufzeichnungsinedien durch Fehlerkorrektur in Reed- Solomon- bzw. RS-Codes und Fehlerdetektierung in zyklischen Redundanz- bzw. Blockprüfungscodes bzw. CRC, insbesondere eine Fehlerkorrekturschaltung mit Hochgeschwindigkeits-CRC- Rechenfähigkeit.
  • Bei digitalen Tonplatten (DAD), digitalen Tonbändern (DAT) und Bildplatten werden m Informationsbits wie ein einziges Symbol behandelt, und es werden RS-Codes verwendet, bei denen t Symbole für 2t Redundanzsymbole korrigierbar sind und m = 8 ist.
  • Bei Bildplatten werden RS-Codes zur Korrektur von acht Symbolen angewandt im Gegensatz zu anderen Aufzeichnungsträgern, bei denen RS-Codes zur Korrektur von zwei oder drei Symbolen angewandt werden. Eine Möglichkeit, acht Symbole mit hoher Geschwindigkeit zu korrigieren, ist die Durchführung einer Wiederholungsoperation, wie etwa eines euklidischen oder Berlekamp-Algorithmus, mit einer Galoisfeld- Operationsschaltung, wie sie etwa von Yoshida et al. in "A Study of Decoding RS Codes with Galois Operation Unit", The 9th Information Theory and its Application Symposium, S. 167-170 (1986), und in der EP-A-0 034 142 angegeben ist.
  • Eine herkömmliche Fehlerkorrekturschaltung, wie sie etwa von Yoshida et al. in "Error Correction Unit for Optical Disks", Sho 61 Shin So Zen Tai, 6-53 (1987), angegeben ist, ist in Fig. 3 gezeigt. Um lange Codes zu behandeln, werden Sequenzschaltungen zur Durchführung einer Syndrom-Berechnung von RS-Codes aus den empfangenen Daten parallelgeschaltet, um eine Fehlerstelle zu finden.
  • Eine solche Fehlerkorrekturschaltung weist folgendes auf: einen Pufferspeicher 1 zum Speichern einer Vielzahl von verschachtelten Datenströmen, die RS-Codes (externe Codes) und CRC-Codes (interne Codes) haben; eine Schnittstelle 2 zum Zerlegen der Verschachtelung in dem Pufferspeicher 1; eine Galoisfeld-Operationsschaltung 3 zur Durchführung der vier Rechenvorschriften in dem Galoisfeld auf der Basis eines Syndroms jedes RS-Codes; und eine Sequenzschaltung 4 zur Durchführung nicht nur der Berechnung des Syndroms eines RS- Codes jedes Datenblocks, sondern auch von parallelen Operationen des Chien-Suchvorgangs aus den Ergebnissen der vier Rechenvorschriften. Diese Komponenten sind über Datenbusse miteinander verbunden.
  • Eine Steuerschaltung 5 steuert die Schnittstelle 2, die Galois-Operationsschaltung 3 und die Sequenzschaltung 4.
  • Eine CRC-Codiersequenzschaltung, die auf einem von der Sequenzschaltung 4 getrennten Chip hergestellt ist und nachstehend beschrieben wird, ist mit der Steuerschaltung 5 verbunden.
  • Fehler in den Datenströmen, die CRC als interne Codes und RS-Codes als externe Codes haben, sind leicht zu detektieren, und die Wahrscheinlichkeit einer falschen Korrektur der Verlustkorrektur in RS-Codes ist gering. Die verschachtelte Struktur dieser Codes ist gegenüber Burstfehlern hochwiderstandsfähig. CRC sind eine Art von zyklischen Codes, die auf die Fehlerdetektierung ausgerichtet sind, und RS-Codes sind ebenfalls zur Fehlerdetektierung genauso nützlich wie CRC. RS-Codes werden außerdem für 5 1/4"-WORM-Bildplatten genutzt und werden in Kürze standardisiert. Siehe ISO/TC 97/SC23, Proposal for ISO, first ISO DP9171/4, Juli 1987.
  • Fig. 4 zeigt ein Beispiel des Standardformats von 512 Bytes je Sektor. Für die hier verwendeten RS-Codes ist das primitive Polynom p(X)
  • p ( X ) = X &sup8; + X &sup5; + X ³ + X ² + 1 (1)
  • und das erzeugende Polynom G(X) ist
  • wobei ai = (βi)&sup8;&sup8;, und β ein Element des primitiven Polynoms p(X) ist. Für den CRC ist das primitive Polynom das gleiche wie p(X), und das erzeugende Polynom g(X) ist
  • In dem Format von Fig. 4 ist ein RS-Prüfsymbol an dem Ende jedes Codeworts #0 bis #4 vorgesehen.
  • Die Erzeugung eines CRC-Prüfsymbols in der CRC-Codiersequenzschaltung wird nachstehend beschrieben. Zuerst wird I(X) aus Daten bestimmt, und zwar unter Anwendung der folgenden Gleichung (4):
  • wobei L die Anzahl von Verschachtelungen, n die Codelänge, d der kleinste Abstand in RS-Codes und i das Informationssymbol ist. Bei i ≥ L - 4 gilt ij,0 = 0.
  • Bei 512 Bytes je Sektor ist L = 5, n = 122, d = 17. Daher ist das CRC-Prüfsymbol C(X) in bezug auf I(X)
  • wobei Re[A/B] das Rest-Polynom von A/B ist und ak (k = 0-3) das CRC-Prüfsymbol ist. Das Prüfsymbol ak von Gleichung (5) kann mit einer einfachen Schaltung bestimmt werden, wenn I(X) gegeben ist.
  • Fig. 5 zeigt eine solche CRC-Codiersequenzschaltung mit einem Eingang 6, einem Ausgang 7 für CRC-Prüfsymbole a0 bis a4, einem Steuersignaleingang 8, der mit der Steuerschaltung 5 verbunden ist, vier 8-Bit-Registern 9 bis 12, vier ODER- Gliedern 13 bis 16, die jeweils mit dem Ausgang jedes Registers verbunden sind, vier aM-Multiplizierschaltungen 17 bis 20, wobei M = 40, 117, 228 und 97 in Gleichung (3), die jeweils mit dem Eingang jedes Registers verbunden sind, und mit einem UND-Glied 21, um jeder Multiplizierschaltung 17 bis 20 ein logisches Produkt eines Ausgangssignals des ODER- Glieds 16 und eines Steuersignals von dem Steuersignaleingang 8 zuzuführen.
  • Wenn im Betrieb ein Rücksetzsignal an die Register 9 bis 12 über den Steuersignaleingang 8 angelegt wird, um die Inhalte jedes Registers zu löschen, und I(X) dem Eingang 6 in der Rangfolge zugeführt wird, wird zu dem Ausgangssignal des Registers 12 das Symbol I(X) in dem ODER-Glied 16 logisch addiert und den Multiplizierschaltungen 17 bis 20 über das UND-Glied 21 zugeführt. Die Daten, die in der Multiplizierschaltung 17 mit a&sup4;&sup0; multipliziert werden, werden in dem Register 9 mit dem Taktsignal zwischengespeichert, das über den Steuersignaleingang 8 eingegeben wird. Die in der Multiplizierschaltung 18 mit a¹¹&sup7; multiplizierten Daten werden zu dem Ausgangssignal des Registers 9 in dem ODER-Glied 13 logisch addiert, und das Ergebnis wird in dem Register 10 mit dem Taktsignal zwischengespeichert, das über den Steuersignaleingang 8 eingegeben wird. Die von den Multiplizierschaltungen 19 und 20 abgegebenen Daten werden auf die gleiche Weise wie oben verarbeitet. Wenn sämtliche Daten I(X) eingegeben sind, werden die Daten a0, a1, a2 und a3 von Gleichung (5) in den Registern 9, 10, 11 bzw. 12 zwischengespeichert.
  • Nachdem das UND-Glied 21 gesperrt worden ist, werden diese Daten sequentiell durch die Register 9 bis 12 verschoben, und die CRC-Prüfsymbole a0 bis a3 werden an dem Ausgang 7 abgegeben. Zur Codierung werden diese CRC-Prüfsymbole a0 bis a3 in den Prüfsymbol-Schreibbereich in dem Format von Fig. 4 wie folgt eingeschrieben:
  • a&sub3; T i 1 , 0
  • a&sub2; T i 2 , 0
  • a&sub1; T i 3 , 0
  • a&sub0; T i 4 , 0 .
  • Zum Decodieren werden sie verglichen, um Fehler zu detektieren. Die RS-Codes werden hinsichtlich der empfangenen Wörter #0 bis #4 (Daten einschließlich Fehler) durch die nachstehenden Schritte korrigiert.
  • (1) Finden eines RS-Codesyndroms aus dem empfangenen Wort.
  • (2) Finden eines Fehlerstellen-Polynom und des Fehlerwert- Polynoms aus dem Syndrom.
  • (3) Bestimmen einer Fehlerstelle aus dem Fehlerstellen- Polynom durch den Chien-Suchvorgang.
  • (4) Bestimmen eines Fehlerwerts aus der Fehlerstelle, dem Fehlerstellen-Polynom und dem Fehlerwert-Polynom, und ausführen einer Korrektur.
  • Die Schritte (2) und (4) werden von der Galoisfeld-Operationsschaltung 3 ausgeführt, während die Schritte (1) und (3) von der Sequenzschaltung 4 ausgeführt werden.
  • Die korrigierten Daten werden in dem Pufferspeicher 1 gespeichert. Nachdem sämtliche Codewörter (codierten Daten) mit RS-Codes korrigiert sind, werden CRC-Prüfsymbole in der CRC-Codiersequenzschaltung von Fig. 5 gefunden, und die CRC werden in dem ODER-Glied berechnet.
  • Wenn, wie oben beschrieben, I(X) gegeben ist, so ist es einfach, das CRC-Prüfsymbol ak zu bestimmen, es ist aber erforderlich, verschachtelte Informationssymbole nicht nur logisch zu addieren, sondern für den Rechenvorgang auch den CRC-Prüfsymbolbereich an der nullten Ordnung von I(X) zu Null zu machen. Außerdem ist es nicht möglich, die Berechnung von CRC beim Decodieren zu beginnen, solange nicht sämtliche verschachtelten Codewörter mit den RS-Codes korrigiert sind.
  • Zusammenfassung der Erfindung
  • Es ist daher eine Aufgabe der Erfindung, eine Fehlerkorrekturschaltung anzugeben, die in der Lage ist, CRC-Prüfsymbole mit hohen Geschwindigkeiten zu berechnen, ohne einen komplexen speziellen Wert I(X) zu bestimmen.
  • Gemäß der in Anspruch 1 definierten Erfindung wird eine Fehlerkorrekturschaltung angegeben, die eine Parallelschaltung aus RS-Codesequenz- und CRC-Codiersequenzschaltungen sowie eine Steuerschaltung aufweist, um eine der obigen Sequenzschaltungen auszuwählen.
  • Die vorgenannte Aufgabe und weitere, nicht gesondert aufgeführte Aufgaben ergeben sich für den Fachmann aus der nachstehenden Beschreibung.
  • Kurze Erläuterung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm einer Fehlerkorrekturschaltung gemäß einer Ausführungsform der Erfindung;
  • Fig. 2 ist ein Flußdiagramm, das den Betrieb der Fehlerkorrekturschaltung zeigt;
  • Fig. 3 ist ein Blockdiagramm einer herkömmlichen Fehlerkorrekturschaltung;
  • Fig. 4 ist ein Diagramm, das das Standard-Datenformat einer Bildplatte mit 512 Bytes/&ektor zeigt; und
  • Fig. 5 ist ein Schema einer herkömmlichen CRC-Codiersequenzschaltung.
  • Beschreibung der bevorzugten Ausführungsform
  • In Fig. 1 bezeichnen gleiche Bezugszeichen gleiche oder entsprechende Teile wie in Fig. 3. Eine Sequenzschaltung 4A besteht aus einer Parallelschaltung einer CRC-Codiersequenzschaltung 22 der gleichen Konfiguration wie in Fig. 5 und einer RS-Codesequenzschaltung 23 zur Durchführung der Syndromberechnung und des Chien-Suchvorgangs in RS-Codes. Busausgangssteuergatter 26 und 27 sind mit den jeweiligen Ausgängen der CRC-Codiersequenzschaltung 22 und der RS-Codesequenzschaltung 23 verbunden. Ein Steuersignal 24 wird der Sequenzschaltung 4A von der Steuerschaltung 5 zugeführt. Ein Datenbus 25 verbindet die Sequenzschaltung 4A mit der Schnittstelle 2 und der Galoisfeld-Operationsschaltung 3.
  • In Fig. 2 wird die Funktionsweise einer Bildplatte mit dem Standardformat von Fig. 4 beschrieben. Die Schritte S01, S11, S21, S31 und S41 entsprechen dem obigen Schritt (1); S02, S12, S22, S32 und S42 entsprechen dem obigen Schritt (2); S03, S13, S23, S33 und S43 entsprechen dem obigen Schritt (3); und S04, S14, S24, S34 und S44 entsprechen dem obigen Schritt (4). Außerdem sind S05, S15, S25, S35 und S45 CRC-Berechnungsschritte; S06, S16, S26, S36 und S46 sind CRC-Prüfsymbolspeicherschritte; S50 ist ein logischer Addierschritt; und S60 ist ein Vergleichsschritt. Die sich wiederholenden Zwischenschritte S32 bis S43 sind nicht gezeigt.
  • Als Reaktion auf das Steuersignal 24 wählt die Sequenzschaltung 4A die Betriebsart, in der die RS-Codesqeuenzschaltung 23 wirksam ist. Nach Korrektur des empfangenen Worts #0 in den Schritten S01 bis S04 findet die RS-Codesequenzschaltung 23 das Syndrom in RS-Codes des empfangenen Worts #1 (S11) und überträgt es über das Busausgangssteuergatter 27 zu der Galoisfeld-Operationsschaltung 3.
  • Die Galoisfeld-Operationsschaltung 3 findet ein Fehlerstellen-Polynom und ein Fehlerwert-Polynom aus den Syndromdaten (S12) und setzt die Korrekturoperation in RS-Codes fort. Während die RS-Codes des nächsten empfangenen Worts decodiert werden, wird die RS-Codesequenzschaltung 23 nicht benutzt.
  • Als Reaktion auf das Steuersignal 24 wählt die Sequenzschaltung 4A die CRC-Codiersequenzschaltung 22 aus. Die Daten des korrigierten Worts #0 werden über den Pufferspeicher 1, die Schnittstelle 2 und den Datenbus 25 in die CRC-Codiersequenzschaltung 22 in der Reihenfolge der Informationssymbole i0,n-d, i0,n-d-1, ..., i0,0 eingegeben. Die CRC-Codiersequenzschaltung 22 bestimmt das CRC-Prüfsymbol ak (S05). An diesem Punkt wird ein empfangenes Wort anstelle von I(X) an dem Eingang 6 eingegeben.
  • Wenn die Schritte S05 und S12 beendet sind, werden die CRC- Prüfsymboldaten des empfangenen Worts #0 von der CRC-Codiersequenzschaltung 22 über das Busausgangssteuergatter 26 und den Datenbus 25 zu der Galoisfeld-Operationsschaltung 3 übertragen und gespeichert, bis die CRC-Prüfsymboldaten des empfangenen Worts #1 in Schritt S15 bestimmt werden (S06).
  • Als Reaktion auf das Steuersignal 24 wählt die Sequenzschaltung 4A die RS-Codesequenzschaltung 23 aus, um die Fehlerstelle des empfangenen Worts #1 durch den Chien-Suchvorgang zu finden, und zwar auf der Basis der jeweiligen Polynom- Daten von der Galoisfeld-Operationsschaltung 3. Wenn sämtliche Fehlerstellen des empfangenen Worts gefunden sind, bestimmt die Galoisfeld-Operationsschaltung 3 die Fehlerwerte und korrigiert das empfangene Wort #1 (S14).
  • Alle empfangenen Wörter #0 bis #4 werden gleichermaßen in dem Formatsektor von Fig. 4 in den Schritten S01 bis S46 verarbeitet. Die CRC-Prüfsymbole (a3-a0) an dem Format (i1,0 - i4,0) werden in die Informationsdaten gemischt, aber vorübergehend belassen. Die CRC-Prüfsymbolinformation des empfangenen Worts #1 und von nachfolgenden Wörtern, die in den Schritten S15, S25, S35 und S45 erhalten wird, wird zu der CRC-Prüfsymbolinformation des empfangenen Worts #0 in den Schritten S6, S26, S36 und S46 logisch addiert und in der Galoisfeld-Operationsschaltung 3 gespeichert.
  • Das CRC-Prüfsymbol, das in den Informationssymbol-Datenbereich eingeschrieben ist, wird in der Galoisfeld-Operationsschaltung 3 logisch addiert, um das CRC-Prüfsymbol zu finden, das zu den Daten logisch addiert wird, die durch die logische Addition der CRC-Prüfsymboldaten der empfangenen Wörter #0 bis #4 erhalten wurden (S50). Die resultierenden CRC-Prüfcodedaten werden mit dem CRC-Prüfcode verglichen, der auf das Format des Pufferspeichers 1 geschrieben ist (S60), um nach der Korrektur in RS-Codes einen Fehler zu detektieren.
  • Bei dem obigen Decodiervorgang wird zum Zeitpunkt des Berechnens von CRC-Prüfsymbolen jedes Codestroms ein Fehler detektiert durch Berechnen des CRC-Prüfsymbols, einschließlich des CRC-Prüfcodebereichs in dem Pufferspeicher 1 in der CRC-Codiersequenzschaltung 22; Berechnen des CRC-Prüfsymbols in der Galois-Operationsschaltung 3 an dem CRC-Prüfcodebereich in dem Pufferspeicher 1; logische Addition desselben zu dem obigen CRC-Prüfsymbol in der Galoisfeld-Operationsschaltung; und Vergleichen desselben mit dem CRC-Prüfcode in dem Pufferspeicher 1, um den Fehler zu detektieren.
  • Bei dem Codiervorgang wird der CRC-Prüfcodebereich in dem Pufferspeicher 1 vor dem Berechnen des CRC-Prüfsymbols gelöscht, und dann wird das CRC-Prüfsymbol, einschließlich des CRC-Prüfcodebereichs in dem Pufferspeicher in der CRC- Codiersequenzschaltung 22 berechnet und in den CRC-Prüfcodebereich des Pufferspeichers 1 eingeschrieben.
  • Wie oben beschrieben, ist es mit der Parallelschaltung der RS-Code- und der CRC-Codiersequenzschaltung, von denen eine in Abhängigkeit von der Betriebsart ausgewählt wird, gemäß der Erfindung möglich, einen Fehler in CRC zu detektieren, indem eine kleinste für die CRC-Berechnung notwendige Schaltung hinzugefügt wird, ohne daß ein komplexer Spezialwert I(X) gefunden wird. Da die CRC-Berechnung parallel mit dem Vorgang der RS-Decodierung ausgeführt wird, wird eine Hochgeschwindigkeits-Korrektur in Sektoreinheiten erreicht.

Claims (6)

1. Fehlerkorrekturschaltung, die folgendes aufweist:
- einen Pufferspeicher (1) zum Speichern einer Vielzahl von verschachtelten Datenströmen, die jeweils als externen Code einen RS-Code zur Korrektur eines Fehlers in den Daten und als internen Code einen CRC-Code zum Detektieren eines Fehlers in den Daten haben;
- eine Schnittstelle (2) zum Zerlegen der verschachtelten Datenströme;
- eine Galoisfeld-Operationsschaltung (3) zur Durchführung der vier Rechenvorschriften in einem Galoisfeld an einem Syndrom des RS-Codes und zum Bestimmen eines Fehlerwerts auf der Basis einer Fehleradresse, um die Korrektur durchzuführen;
- eine RS-Codesequenzschaltung (23) zum Berechnen des Syndroms, um eine Fehleradresse aus Ergebnissen der Operation der vier Rechenvorschriften durch einen Chien-Suchvorgang zu finden;
- eine CRC-Codiersequenzschaltung (22) zum Codieren und Berechnen des CRC, wobei die RS-Codesequenzschaltung und die CRC-Codiersequenzschaltung parallelgeschaltet sind, um eine Sequenzschaltung zu bilden; und
- eine Steuerschaltung (5) zum Steuern der Schnitt stelle, der Galoisfeld-Operationsschaltung, der RS- Codesequenzschaltung und der CRC-Codiersequenzschaltung und zum Abgeben eines Steuersignals, um entweder die RS-Codesequenzschaltung oder die CRC-Codiersequenzschaltung zur Operation auszuwählen.
2. Fehlerkorrekturschaltung nach Anspruch 1,
- wobei die CRC-Codiersequenzschaltung ein erstes CRC- Prüfsymbol eines ersten Codestroms in den verschachtelten Codeströmen bestimmt, das in der Galoisfeld- Operationsschaltung gespeichert wird;
- wobei die CRC-Codiersequenzschaltung ein zweites CRC- Prüfsymbol eines zweiten Codestroms bestimmt, das zu dem ersten CRC-Prüfsymbol logisch addiert und gespeichert wird;
- und wobei Mittel vorgesehen sind, um wiederholte Operationen ähnlich denjenigen des zweiten Codestroms für die Anzahl von Malen durchzuführen, die gleich denjenigen von Verschachtelungsstufen sind, und beim Codieren ein resultierendes CRC-Prüfsymbol in die Galois- Operationsschaltung in einem CRC-Prüfsymbolbereich des Pufferspeichers einzuschreiben, jedoch beim Decodieren das CRC-Prüfsymbol mit einem CRC-Prüfcode in dem Pufferspeicher zu vergleichen, um einen Fehler zu detektieren.
3. Fehlerkorrekturschaltung nach Anspruch 1 oder 2, wobei beim Codieren die CRC-Codiersequenzschaltung das CRC-Prüfsymbol einschließlich des CRC-Prüfcodebereichs in dem Pufferspeicher berechnet, nachdem der CRC-Prüfcodebereich in dem Pufferspeicher gelöscht worden ist.
4. Fehlerkorrekturschaltung nach Anspruch 1 oder 2, wobei beim Decodieren die CRC-Codiersequenzschaltung ausgewählt wird, um das CRC-Prüfsymbol des ersten Codestroms zu berechnen, während die RS-Sequenzschaltung während der Decodierung von RS-Codes in dem zweiten Codestrom nicht benutzt wird, jedoch Daten des ersten Codestroms in dem Pufferspeicher durch RS-Decodierung korrigiert werden, und gleichermaßen CRC-Prüfsymbole eines Codestroms zu berechnen, der durch vorhergehende RS-Decodierung während der RS-Decodierung jedes Codestroms korrigiert worden ist; wobei ein resultierendes CRC-Prüfsymbol jedes Codestroms dem CRC-Prüfcode in dem Pufferspeicher logisch hinzuaddiert und damit verglichen wird, um einen Fehler nach der RS-Decodierung zu detektieren.
5. Fehlerkorrekturschaltung nach Anspruch 1 oder 2, wobei beim Decodieren die CRC-Codiersequenzschaltung das CRC-Prüfsymbol einschließlich des CRC-Prüfcodebereichs des Pufferspeichers berechnet;
wobei die Galois-Operationsschaltung ein CRC-Prüfsymbol von dem CRC-Prüfcodebereich des Pufferspeichers berechnet und ein Ergebnis zu dem CRC-Prüfsymbol logisch hinzuaddiert, um jeden Einfluß des CRC-Prüfcodes auf das CRC-Prüfsymbol zu beseitigen;
und wobei das CRC-Prüfsymbol mit dem CRC-Prüfcode in dem Pufferspeicher verglichen wird, um einen Fehler zu detektieren.
6. Fehlerkorrekturschaltung, die folgendes aufweist:
- einen Pufferspeicher zum Speichern einer Vielzahl von verschachtelten Datenströmen, die jeweils als externen Code einen RS-Code zur Korrektur eines Fehlers in den Daten und als internen Code einen CRC zum Detektieren eines Fehlers in den Daten haben;
- eine Schnittstelle zum Zerlegen der verschachtelten Datenströme;
- eine Galoisfeld-Operationsschaltung zur Durchführung der vier Rechenvorschriften in einem Galoisfeld an einem Syndrom des RS-Codes und zum Bestimmen eines Fehlerwerts auf der Basis einer Fehleradresse, um die Korrektur durchzuführen;
- eine RS-Codesequenzschaltung zum Berechnen des Syndroms, um eine Fehleradresse aus Ergebnissen der Operation der vier Rechenvorschriften durch einen Chien- Suchvorgang zu finden;
- eine CRC-Codiersequenzschaltung zum Bestimmen eines ersten CRC-Prüfsymbols eines ersten Codestroms in den verschachtelten Codeströmen, das in der Galoisfeld- Operationsschaltung gespeichert wird, und zum anschließenden Bestimmen eines zweiten CRC-Prüfsymbols eines zweiten Codestroms in den verschachtelten Codeströmen, das zu dem ersten CRC-Prüfsymbol logisch addiert und in der Galois-Operationsschaltung gespeichert wird;
- eine Steuerschaltung zum Steuern der Schnittstelle, der Galoisfeld-Operationsschaltung, der RS-Codesequenzschaltung und der CRC-Codiersequenzschaltung und zum Abgeben eines Steuersignals, um entweder die RS- Codesequenzschaltung oder die CRC-Codiersequenzschaltung für die Operation auszuwählen;
- wobei beim Codieren die CRC-Codiersequenzschaltung das CRC-Prüfsymbol einschließlich des CRC-Prüfcodebereichs in dem Pufferspeicher berechnet, nachdem der CRC-Prüfcodebereich in dem Pufferspeicher gelöscht worden ist,
- und wobei beim Decodieren die CRC-Codiersequenzschaltung ausgewählt wird, um das CRC-Prüfsymbol des ersten Codestroms zu berechnen, während die RS-Sequenzschaltung während der Decodierung von RS-Codes in dem zweiten Codestrom nicht genutzt wird, aber Daten des ersten Codestroms in dem Pufferspeicher durch RS-Decodierung korrigiert werden, und um gleichermaßen CRC- Prüfsymbole eines Codestroms zu berechnen, die durch vorhergehende RS-Decodierung während der RS-Decodierung jedes Codestroms korrigiert worden sind;
- wobei das CRC-Prüfsymbol von jedem dieser Codeströme zu dem CRC-Prüfcode in dem Pufferspeicher logisch addiert und damit verglichen wird, um einen Fehler nach der RS-Decodierung zu detektieren,
- wobei die Galoisfeld-Operationsschaltung ein CRC-Prüfsymbol von dem CRC-Prüfbereich in dem Pufferspeicher berechnet und zu dem CRC-Prüfsymbol logisch addiert, um jeden Einfluß des CRC-Prüfcodes auf das CRC-Prüfsymbol zu eliminieren;
- wobei das CRC-Prüfsymbol mit dem CRC-Prüfcode in dem Pufferspeicher verglichen wird, um einen Fehler zu detektieren,
- und wobei die RS-Codesequenzschaltung und die CRC- Codiersequenzschaltung parallelgeschaltet sind, um eine Sequenzschaltung zu bilden.
DE68924944T 1988-09-02 1989-09-01 Fehlerkorrekturschaltung. Expired - Fee Related DE68924944T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63218262A JP2695195B2 (ja) 1988-09-02 1988-09-02 誤り訂正回路

Publications (2)

Publication Number Publication Date
DE68924944D1 DE68924944D1 (de) 1996-01-11
DE68924944T2 true DE68924944T2 (de) 1996-08-08

Family

ID=16717116

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68924944T Expired - Fee Related DE68924944T2 (de) 1988-09-02 1989-09-01 Fehlerkorrekturschaltung.

Country Status (7)

Country Link
US (1) US5068857A (de)
EP (1) EP0357461B1 (de)
JP (1) JP2695195B2 (de)
KR (1) KR930001071B1 (de)
CN (1) CN1012400B (de)
CA (1) CA1322056C (de)
DE (1) DE68924944T2 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0318364A1 (de) * 1987-11-24 1989-05-31 Gaston Huguenin Panzerschrank
JPH0458619A (ja) * 1990-06-28 1992-02-25 Canon Inc 誤り訂正システム
WO1992013344A1 (en) * 1991-01-22 1992-08-06 Fujitsu Limited Error correction processing device and error correction method
DE69223694T2 (de) * 1991-07-18 1998-04-23 Canon Kk Kodierungs- und Dekodierungssystem zur Fehlerkorrektur
EP0571096B1 (de) * 1992-05-18 1999-06-23 Canon Kabushiki Kaisha Datenverarbeitungsvorrichtung
US5446745A (en) * 1992-10-05 1995-08-29 Mitsubishi Semiconductor America, Inc. Apparatus for correcting errors in optical disks
JP2821324B2 (ja) * 1992-11-04 1998-11-05 三菱電機株式会社 誤り訂正回路
US5357527A (en) * 1992-12-31 1994-10-18 Trimble Navigation Limited Validation of RAM-resident software programs
FI940322A (fi) * 1993-01-25 1994-07-26 Hughes Aircraft Co Parannettu virheen korjaava dekooderi ja menetelmä vastaanottajille digitaalisissa solukkokommunikaatiojärjestelmissä
US5465260A (en) * 1993-11-04 1995-11-07 Cirrus Logic, Inc. Dual purpose cyclic redundancy check
KR0147150B1 (ko) * 1995-06-29 1998-09-15 김주용 디코더를 이용한 순환 리던던시 체크 오류 검출 및 정정 장치
JP3154679B2 (ja) * 1996-10-18 2001-04-09 三菱電機株式会社 連接符号の誤り訂正復号装置及び復号方法
US5970075A (en) * 1997-06-18 1999-10-19 Uniden San Diego Research And Development Center Inc. Method and apparatus for generating an error location polynomial table
CN100430900C (zh) * 1998-02-25 2008-11-05 松下电器产业株式会社 纠错装置
US6092231A (en) * 1998-06-12 2000-07-18 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check
KR100340125B1 (ko) * 1999-10-06 2002-06-10 지 천 만 자외선 살균기의 전원 공급회로
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7007114B1 (en) 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
US7870346B2 (en) 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7457903B2 (en) 2003-03-10 2008-11-25 Marvell International Ltd. Interrupt controller for processing fast and regular interrupts
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
KR100594241B1 (ko) * 2004-01-29 2006-06-30 삼성전자주식회사 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로
US7139150B2 (en) 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US9201599B2 (en) 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US8032674B2 (en) 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7290189B2 (en) * 2005-03-28 2007-10-30 Verigy (Singapore) Pte. Ltd. Compilation of calibration information for plural testflows
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US7673222B2 (en) * 2005-07-15 2010-03-02 Mediatek Incorporation Error-correcting apparatus including multiple error-correcting modules functioning in parallel and related method
CN100437805C (zh) * 2006-01-16 2008-11-26 华中科技大学 高密度光盘的纠错编码方法及数据格式编制方法
WO2014041596A1 (ja) * 2012-09-11 2014-03-20 三菱電機株式会社 安全コントローラ
CN107196665B (zh) * 2017-06-14 2020-11-06 中国电子科技集团公司第三十六研究所 一种纠错纠删rs码的识别方法
US11061772B2 (en) * 2018-12-14 2021-07-13 Samsung Electronics Co., Ltd. FPGA acceleration system for MSR codes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4162480A (en) * 1977-01-28 1979-07-24 Cyclotomics, Inc. Galois field computer
DE3376907D1 (en) * 1982-06-15 1988-07-07 Toshiba Kk Apparatus for dividing the elements of a galois field
EP0156440B1 (de) * 1984-03-24 1990-01-24 Koninklijke Philips Electronics N.V. Verfahren zur Informationsübertragung mit Fehlerkorrektur für Datenworte, ein Fehlerkorrektur-Dekodierverfahren für solche Datenworte, eine Anordnung zur Informationsübertragung zur Verwendung mit dem Verfahren, ein Gerät für Informationsdekodierung zur Verwendung mit dem Verfahren und eine Anordnung zur Verwendung mit solchem Gerät
CA1264091A (en) * 1986-01-10 1989-12-27 Yoichiro Sako Generator for error correcting code and decoder for the code
JPH07114371B2 (ja) * 1986-01-10 1995-12-06 ソニー株式会社 復号装置
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
US4949342A (en) * 1987-04-14 1990-08-14 Matsushita Electric Industrial Co., Ltd. Code error detecting method
JPS63257966A (ja) * 1987-04-15 1988-10-25 Matsushita Electric Ind Co Ltd 符号誤り検出方法

Also Published As

Publication number Publication date
JPH0267825A (ja) 1990-03-07
EP0357461A2 (de) 1990-03-07
KR900005242A (ko) 1990-04-13
CN1040698A (zh) 1990-03-21
US5068857A (en) 1991-11-26
EP0357461B1 (de) 1995-11-29
DE68924944D1 (de) 1996-01-11
CA1322056C (en) 1993-09-07
EP0357461A3 (de) 1991-11-13
JP2695195B2 (ja) 1997-12-24
KR930001071B1 (ko) 1993-02-15
CN1012400B (zh) 1991-04-17

Similar Documents

Publication Publication Date Title
DE68924944T2 (de) Fehlerkorrekturschaltung.
DE3854791T2 (de) Reed-Solomon Code verwendendes Fehler-Korrektur-Verfahren
DE3486408T2 (de) Verfahren und Vorrichtung zur Dekodierung eines fehlerkorrigierenden Kodes.
DE69323689T2 (de) Schaltung mit Reed-Solomon Fehlerkorrektur und CRC Fehlererkennung
DE3852999T2 (de) Galois-feld-recheneinheit.
DE3854393T2 (de) Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode.
DE3852474T2 (de) Nachschlagetabellen verwendende Fehlerkorrektur.
DE3382661T2 (de) Korrektur von fehlerbuendeln in datengruppen.
DE69424877T2 (de) Reed-solomon-dekoder
DE69919199T2 (de) Vorwärtsfehlerkorrektur
DE3882223T2 (de) Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden.
DE3787900T2 (de) Verfahren und Gerät zur Erzeugung von Prüfungs-Byten zur Fehlerdetektion für einen Datenblock.
DE68921855T2 (de) Korrektur von Burst- und Zufallsfehlern.
EP0545498B1 (de) Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen
DE2657826A1 (de) Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage
DE3750526T2 (de) Dekodierer.
DE2263488C2 (de) Einrichtung zur Erkennung und Korrektur von Fehlern in zwei fehlerbehafteten Spuren eines Vielspur-Datensystems
DE4105860C2 (de) Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten
DE3006958A1 (de) Digitalsignal-uebertragungssystem
DE1499694A1 (de) Einrichtung zur Fehlerkorrektur von parallel dargestellten,binaer codierten n-stelligen Informationszeichen
DE69317766T2 (de) Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc)
DE69522156T2 (de) Reed-Solomon Dekoder
DE3404417A1 (de) Codierer-pruefschaltungsanordnung
DE60309857T2 (de) Methode zur dekodierung von reed-solomon kodes mittels feinentscheidung
DE3882175T2 (de) Fehlerkorrektur-Kode für einen B-bit-pro-Chip-Speicher mit verminderten Redundanz.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee