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
Links
- 108091026890 Coding region Proteins 0.000 claims description 27
- 208000011580 syndromic disease Diseases 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 8
- 230000003287 optical effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G15/00—Apparatus for electrographic processes using a charge pattern
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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.
- 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.
- 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.
- 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.
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)
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 |
CA2113941A1 (en) * | 1993-01-25 | 1994-07-26 | Andrew J. Macdonald | Error correcting decoder and decoding method for receivers in digital cellular communications systems |
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 |
EP0939403A3 (de) * | 1998-02-25 | 1999-11-17 | Matsushita Electric Industrial Co., Ltd. | Hochgeschwindigkeits-Fehlerkorrekturvorrichtung mit effizientem Datentransfer |
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 |
US7870346B2 (en) | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk 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 |
US7219182B2 (en) | 2003-03-10 | 2007-05-15 | Marvell International Ltd. | Method and system for using an external bus controller in embedded disk 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 |
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 |
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 |
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 |
US9201599B2 (en) | 2004-07-19 | 2015-12-01 | Marvell International Ltd. | System and method for transmitting data 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4162480A (en) * | 1977-01-28 | 1979-07-24 | Cyclotomics, Inc. | Galois field computer |
EP0096163B1 (de) * | 1982-06-15 | 1988-06-01 | Kabushiki Kaisha Toshiba | Einrichtung zum Dividieren der Elemente eines Galois-Feldes |
DE3575646D1 (de) * | 1984-03-24 | 1990-03-01 | Philips Nv | Verfahren zur informationsuebertragung mit fehlerkorrektur fuer datenworte, ein fehlerkorrektur-dekodierverfahren fuer solche datenworte, eine anordnung zur informationsuebertragung zur verwendung mit dem verfahren, ein geraet fuer informationsdekodierung zur verwendung mit dem verfahren und eine anordnung zur verwendung mit solchem geraet. |
JPH07114371B2 (ja) * | 1986-01-10 | 1995-12-06 | ソニー株式会社 | 復号装置 |
CA1264091A (en) * | 1986-01-10 | 1989-12-27 | Yoichiro Sako | Generator for error correcting code and decoder for the code |
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 | 符号誤り検出方法 |
-
1988
- 1988-09-02 JP JP63218262A patent/JP2695195B2/ja not_active Expired - Fee Related
-
1989
- 1989-08-31 KR KR1019890012461A patent/KR930001071B1/ko not_active IP Right Cessation
- 1989-09-01 DE DE68924944T patent/DE68924944T2/de not_active Expired - Fee Related
- 1989-09-01 CN CN89106740A patent/CN1012400B/zh not_active Expired
- 1989-09-01 EP EP89308902A patent/EP0357461B1/de not_active Expired - Lifetime
- 1989-09-01 US US07/401,968 patent/US5068857A/en not_active Expired - Lifetime
- 1989-09-05 CA CA000610262A patent/CA1322056C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1040698A (zh) | 1990-03-21 |
EP0357461A3 (de) | 1991-11-13 |
KR900005242A (ko) | 1990-04-13 |
CA1322056C (en) | 1993-09-07 |
JPH0267825A (ja) | 1990-03-07 |
JP2695195B2 (ja) | 1997-12-24 |
US5068857A (en) | 1991-11-26 |
EP0357461B1 (de) | 1995-11-29 |
DE68924944D1 (de) | 1996-01-11 |
KR930001071B1 (ko) | 1993-02-15 |
CN1012400B (zh) | 1991-04-17 |
EP0357461A2 (de) | 1990-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68924944T2 (de) | Fehlerkorrekturschaltung. | |
DE3854791T2 (de) | Reed-Solomon Code verwendendes Fehler-Korrektur-Verfahren | |
DE69414631T2 (de) | Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes | |
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. | |
DE3855101T2 (de) | Anordnung zur sofortigen Fehlerkorrektur | |
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. | |
DE2657826A1 (de) | Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage | |
DE4140018A1 (de) | Verfahren und schaltungsanordnung zum decodieren von rs-codierten datensignalen | |
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 | |
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 |