JP2821324B2 - 誤り訂正回路 - Google Patents

誤り訂正回路

Info

Publication number
JP2821324B2
JP2821324B2 JP4294853A JP29485392A JP2821324B2 JP 2821324 B2 JP2821324 B2 JP 2821324B2 JP 4294853 A JP4294853 A JP 4294853A JP 29485392 A JP29485392 A JP 29485392A JP 2821324 B2 JP2821324 B2 JP 2821324B2
Authority
JP
Japan
Prior art keywords
error
crc
pattern
value
data sequence
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
JP4294853A
Other languages
English (en)
Other versions
JPH06152437A (ja
Inventor
幸夫 児玉
和生 村上
英夫 吉田
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
Priority to JP4294853A priority Critical patent/JP2821324B2/ja
Priority to US08/138,037 priority patent/US5361266A/en
Priority to DE69328318T priority patent/DE69328318T2/de
Priority to EP98111910A priority patent/EP0880237B1/en
Priority to DE69323689T priority patent/DE69323689T2/de
Priority to EP93117087A priority patent/EP0596340B1/en
Publication of JPH06152437A publication Critical patent/JPH06152437A/ja
Application granted granted Critical
Publication of JP2821324B2 publication Critical patent/JP2821324B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • 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
    • 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/159Remainder calculation, e.g. for encoding and syndrome calculation
    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、RS(リードソロモ
ン)符号の誤り訂正及びCRC(サイクリックリダンダ
ンシ符号)の誤り検出により記録体のデータの誤りを訂
正する誤り訂正回路に関する。
【0002】
【従来の技術】光ディスクに関するISO規格ではその
サーボ方式として連続サーボ方式とサンプルサーボ方式
が認められており、そのうち連続サーボ方式ではリード
・ソロモン符号(RS符号)が誤り訂正符号として採用
されている。ガロア体はGF(28 )で、原始多項式p
(X)は下記の数1で決定する。
【0003】
【数1】
【0004】リード・ソロモン符号の生成多項式Ge
(X)は、下記の数2で決定する。
【0005】
【数2】
【0006】また、CRCの生成多項式Gc(X)は、
下記の数3で決定する。
【0007】
【数3】
【0008】但し、α i =(βi 88で、βは原始多項
式p(X)の元と定義されている。
【0009】図10は、光ディスクに関するISO規格
における連続サーボ方式の90mm512バイト/セク
タのデータフォーマットである。CRCの符号化によっ
て発生するCRCデータCk (1≦k≦4)は、以下の
ようにして求められる。
【0010】情報多項式Ic(X)を次の数4のように
して表す。
【0011】
【数4】
【0012】図中、全てのデータをAn (記録再生順序
はnに従う)として表すと、ユーザ・データ・バイトD
n =An (1≦n≦512)、パッド・バイトFm =A
n (513≦n≦516)、CRC・チェック・バイト
k =An (517≦n≦520)、ECC・チェック
・バイトEs,t =An (521≦n≦600)となる。
【0013】なお、数4の各パラメータ及び上記m,
k,s,tは数5に示す通りである。
【0014】
【数5】
【0015】なお、図10中のSBはシンク・バイト、
RSはリシンク・バイトを表す。
【0016】CRCデータCk は、次の計算式で求めら
れる。
【0017】
【数6】
【0018】リード・ソロモン符号の符号化によって発
生するECCデータEs,t (1≦s≦5、1≦t≦1
6)は、以下のようにして求められる。
【0019】情報多項式Iej(X)を次のようにして
表す。
【0020】
【数7】
【0021】ECCデータEs,t は、次の数8で求めら
れる。
【0022】
【数8】
【0023】図14は、CRC回路(CRCジェネレー
タ)の構成を示すブロック図である。7aはα40乗算
器、7bはα117 乗算器、7cはα228 乗算器、7dは
α97乗算器であり、8a、8b、8c及び8dはそれぞ
れレジスタであり、9は加算器、CLKはクロック、1
1はデータ入力端子、12はデータ出力端子である。
【0024】CRCデータCk (1≦k≦4)の計算方
法は前述の通りであるが、次のようにしても求めること
ができる。
【0025】個々の符号語に対する情報多項式Icj
(X)を次のようにして表す。
【0026】
【数9】
【0027】個々の符号語に対するCRCデータC
kjは、次の計算式で求められる。
【0028】
【数10】
【0029】CRCが線形符号であることを利用する
と、個々の符号語に対するCRCデータCkjの和は前述
のCRCデータCk に等しい。つまり、数11が成立す
る。
【0030】
【数11】
【0031】個々の符号語に対するCRCデータCkj
求め方を、図14を用いて説明する。今、符号語ナンバ
ー0(j=0)を注目すると、符号語ナンバー0に対す
る情報多項式Ic0(X)を図10のデータフォーマット
にしたがって表すと、数12に示すようになる。
【0032】
【数12】
【0033】実際、図14のCRC回路は除算器の構成
をとっているため、クロックCLKにしたがってデータ
入力端子11から順にD1 、D6 、D11、……、 D51
1 、F4 と入力してゆき、入力が終了した時点でのレジ
スタ8a、8b、8c、8dの内容は、{Ic0(X)X
4 mod Gc(X)}に等しく、
【0034】
【数13】
【0035】としたとき、レジスタ8a、8b、8c及
び8dの内容は、それぞれC10、C20、C30及びC40
なる。
【0036】図11は、CRC方式を用いた従来の誤り
訂正回路の構成を示すブロック図である。同図におい
て、1は訂正されるべき、誤りが含まれているであろう
受信データおよび訂正後のデータを記憶するデータバッ
ファである。データバッファ1に格納された受信データ
が符号語ナンバー単位でシンドロームジェネレータ2及
びCRCジェネレータ5に取り込まれる。上記受信デー
タは図10に示すように、CRCを内符号とし且つRS
符号を外符号とする符号系列を複数個交錯(インタリー
ブ)したデータ系列となっており、このデータ系列は符
号語ナンバー単位で複数の部分データ系列(図10の縦
方向の各データ系列)に分類され、各部分データ系列そ
れぞれがRS符号化処理されている。
【0037】シンドロームジェネレータ2は、データバ
ッファ1に格納された受信データの部分データ系列のR
S符号のシンドロームを求めて誤り訂正部4に出力す
る。
【0038】誤り訂正部4は、シンドロームジェネレー
タ2より得たシンドロームに基づき、内部の誤り位置お
よび誤り数値レジスタ3に部分データ系列の誤り位置及
び誤り数値を格納させながら、誤り訂正を行う。
【0039】CRCジェネレータ5は、データバッファ
1に格納され、誤り訂正が終了した部分データ系列に基
づきCRCを求めてCRCレジスタ6に出力する。
【0040】CRCレジスタ6は、誤り訂正が終了した
部分データ系列のCRCを受けると、CRCと自身の格
納データとを加算し、その加算結果を新たな格納データ
として格納し、最終的に誤り訂正の済んだ受信データ全
体の総計CRCを出力する。
【0041】CRC検証部35は、最終的にCRCレジ
スタ6より得られる総計CRCとデータバッファ1に格
納されたCRCデータとを比較して、誤り訂正部4によ
る誤訂正を検出する。
【0042】制御回路40は、シンドロームジェネレー
タ2、誤り訂正部4、CRCジェネレータ5、CRCレ
ジスタ6及びCRC検証部35に制御信号を出力し、こ
れらの構成部2,4〜6及び35の動作を制御する。
【0043】図12及び図13は、図11の誤り訂正回
路の誤り訂正動作を示すフローチャートである。以下、
これらの図を参照して動作の説明を行う。なお、下記に
示す動作は制御回路40の管理下で行われる。
【0044】シーケンス実行前に、CRCレジスタ6の
格納データがクリアされ、訂正されるべき、誤りが含ま
れているであろう受信データがデータバッファ1に書き
込まれる。
【0045】まず、ステップS1で、図11には示して
いない符号語ナンバーカウンタをゼロにセットされるこ
とにより、シンドロームジェネレータ2は、受信データ
のうち、符号語ナンバー0(j=0)の部分データ系列
のシンドロームを求める。
【0046】そして、誤りが検出されたときには、ステ
ップS2で、誤り訂正部4は、ステップS1で得たシン
ドロームに基づき、符号語ナンバー0の部分データ系列
に対する誤り位置多項式・誤り数値多項式を導出するこ
とにより、その誤り位置と誤り数値を求める。次に、ス
テップS3で、ステップS2で求めた符号語ナンバー0
の部分データ系列に対する誤り位置及び誤り数値を、誤
り位置および誤り数値レジスタ3に記憶させる。
【0047】そして、ステップS4で、誤り訂正部4
は、誤り位置および誤り数値レジスタ3に記憶された内
容にしたがって、データバッファ1に格納された、誤り
を含む符号語ナンバー0の部分データ系列を順次訂正し
てゆく。
【0048】そして、ステップS5で、符号語ナンバー
カウンタがインクリメント(カウンタ値=jとする)さ
れ、シンドロームジェネレータ2は符号語ナンバーjの
部分データ系列に対するシンドロームを求める。
【0049】次に、ステップS6で、誤り訂正部4は、
ステップS2同様、符号語ナンバーjの部分データ系列
に対する誤り位置と誤り数値を求め、ステップS7で、
ステップS3同様、それらを誤り位置および誤り数値レ
ジスタ3に記憶させる。
【0050】一方、ステップS5が終了した後、ステッ
プS6、S7の動作と並行して、ステップS8及びS9
のCRC処理動作が行われる。
【0051】まず、ステップS8で、CRCジェネレー
タ5は、誤り訂正が済んだ符号語ナンバー(j−1)の
部分データ系列に対するCRCを前述の方法で求める。
このとき、{Ic(j-1) (X)X4 mod Gc
(X)}がCRCとして求められることになる。ステッ
プS9で、CRCレジスタ6は、ステップS8で求めら
れたCRCとCRCレジスタ6自身の格納データ(最初
は0)とを加算して、加算結果を新たな格納データとし
てCRCレジスタ6に格納する。
【0052】ステップS7及びステップS9が終了する
と、ステップS10に移行する。次に、ステップS10
で、誤り訂正部4は、誤り位置および誤り数値レジスタ
3に記憶された誤り位置および誤り数値にしたがって、
データバッファ1に格納された符号語ナンバーjの部分
データ系列を順次訂正してゆく。
【0053】そして、ステップS11で、符号語ナンバ
ーカウンタ値jが最終符号語ナンバーに等しいかどうか
が比較され、等しくないときにはステップS5へ戻り、
符号語ナンバーカウンタ値jをインクリメントしてステ
ップS5〜ステップS9の処理を再び行う。
【0054】一方、ステップS11で、符号語ナンバー
カウンタ値jが最終符号語ナンバーに等しいと判定され
るとステップS12へ進む。
【0055】ステップS12で、CRCジェネレータ5
は、訂正が済んだ最終符号語ナンバー(図10の例では
5)の部分データ系列に対するCRCを、ステップS8
同様に求める。
【0056】そして、ステップS13で、ステップS9
と同じく、CRCレジスタ6はステップS12で求めた
CRCとCRCレジスタ6自身の内容とを加算し、加算
結果を新たな格納データとして、CRCレジスタ6に格
納する。
【0057】その結果、CRCレジスタ6内の格納デー
タが、数11で示したCRCデータCk と等しくなる。
そして、ステップS14で、CRC検証部35は、ステ
ップS13で求められたCRCデータCk と、これとは
別に訂正によって求められたデータバッファ1にあるC
RCデータCk とを比較し、RS符号による誤訂正を検
出する。
【0058】
【発明が解決しようとする課題】従来の誤り訂正回路は
以上のような構成であるため、符号語ナンバーjの受信
データに対するRS符号のシンドローム計算処理(図1
2のステップS5)と、訂正が済んだ符号語ナンバー
(j−1)の受信データに対するCRC符号化処理(図
12のステップS8)とは、同一のデータバッファ1か
ら異なる符号語ナンバーの受信データを取り込む処理で
あるため、同時に行うことは不可能である。
【0059】したがって、必然的に並行処理が可能なの
は、誤り訂正部4による符号語ナンバーjの受信データ
のシンドロームに基づく誤り訂正処理(図12及び図1
3のステップS6,S7)と、CRCジェネレータ5に
よる符号語ナンバー(j−1)の受信データに対するC
RC符号化処理(図12及び図13のステップS8,S
9)となる。
【0060】このため、誤り訂正部4による誤り訂正処
理を高速化しても、同時に行われるのCRCジェネレー
タ5によるCRC符号化処理(特に、図12のステップ
S8の処理)がネックとなり全体の処理を高速化できな
いという問題点があった。
【0061】この発明は上記のような問題点を解消する
ためになされたもので、高速にデータの誤り訂正を行う
ことができる誤り訂正回路を得ることを目的とする。
【0062】
【課題を解決するための手段】この発明にかかる請求項
1記載の誤り訂正回路は、(a) データの誤りを訂正する
RS符号前記データの誤りを検出するCRCを複数個
交錯したデータ系列を格納したデータバッファを備え、
前記データ系列は、各々がRS符号化処理された第1〜
第nの部分データ系列からなり、CRC符号化により予
め生成されたCRCデータを含み、(b) 誤り訂正前の前
記部分データ系列に基づきRS符号のシンドロームを生
成するシンドローム生成手段と、(c) 誤り訂正前の前記
部分データ系列に対しCRCの符号化処理を行い第1の
CRCを求める第1のCRC符号化手段と、(d) 前記シ
ンドロームに基づき、前記部分データ系列の誤り位置及
び誤り数値を求め、該誤り位置及び誤り数値に基づき前
記部分データ系列の誤りを訂正する誤り訂正手段と、
(e) 前記誤り位置及び誤り数値に基づき、前記部分デー
タ系列のエラーパターン求め、該エラーパターンに対し
CRCの符号化処理を行い第2のCRCを求める第2の
CRC符号化手段と、(f) 前記第1のCRCあるいは前
記第2のCRCを受け、その加算合計からなる総計CR
Cを得る加算手段と、(g) 前記総計CRCと前記データ
系列内の前記CRCデータとを比較して、前記手段(d)
による誤り訂正の良否を検証するCRC検証手段と、
(h) 前記第1の部分データ系列〜第n部分データ系列の
順で処理されるように前記手段(b)〜(g) を制御し、か
つ前記手段(b) による第j(2≦j≦n)の前記部分デ
ータ系列に基づくシンドローム生成処理と、前記手段
(c) による第jの前記部分データ系列に対するCRC符
号化処理と、前記手段(e) による第(j−1)の前記部
分データ系列のエラーパターンに対するCRC符号化処
理とを同時に行わせ、前記手段(e) による第nの前記部
分データ系列のエラーパターンに対するCRC符号化処
理終了後に、前記手段(g) による検証動作を行わせる制
御手段とをさらに備えて構成される。
【0063】望ましくは請求項2記載の誤り訂正回路の
ように、前記誤り訂正手段(d) は、(d-1) アドレスに対
応して、前記誤り位置及び誤り数値をペアにして格納す
る記憶手段を備え、前記第2のCRC符号化手段(e)
は、(e-1) 前記記憶手段(d−1)に格納された前記誤
り位置及び前記誤り数値に基づき、前記エラーパターン
を発生するエラーパターン発生手段と、(e−2) 前
記エラーパターンに対しCRC符号化処理を行い前記第
2のCRCを出力するエラーパターンCRC符号化手段
とを備える。
【0064】望ましくは、請求項3記載の誤り訂正回路
のように、前記記憶手段(d-1) は、アドレスに対して前
記誤り位置が昇順になるように、前記誤り位置及び前記
誤り数値を格納し、前記エラーパターン発生手段(e-1)
は、(e-1-1) 前記部分データ系列の先頭位置を示すカウ
ント値を位置カウント初期値とした位置カウント値を順
次カウントアップする手段と、(e-1-2) 前記記憶手段(d
-1) から出力される前記誤り位置と前記位置カウント値
に基づき、一致信号及び不一致信号からなるカウント制
御信号を出力する手段と、(e-1-3) 前記記憶手段(d-1)
のアドレス先頭位置を示すカウント値をアドレスカウン
ト初期値としたアドレスカウント値を、前記カウント制
御信号が一致信号のときカウントアップして、前記記憶
手段(d-1) のアドレス入力部に出力し、前記記憶手段(d
-1) から、前記アドレスカウント値の指示するアドレス
に格納された前記誤り位置及び前記誤り数値を出力させ
る手段と、(e-1-4) 前記カウント制御信号が一致信号の
とき前記誤り数値を、前記カウント制御信号が不一致信
号のとき論理値“0”を指示するゼロ信号を、前記エラ
ーパターンを構成するエラーパターン信号して出力する
選択手段とを備える。
【0065】望ましくは、請求項4記載の誤り訂正回路
のように、前記記憶手段(d-1) は、アドレスに対して前
記誤り位置が昇順になるように、前記誤り位置及び前記
誤り数値を格納し、前記手段(e-1) は、(e-1-1) 前記記
憶手段(d-1) に格納された前記誤り位置のうち、最小の
誤り位置を指示する最小アドレスカウント値を位置カウ
ント初期値とした位置カウント値を順次カウントアップ
する手段と、(e-1-2)前記記憶手段(d-1) から出力され
る前記誤り位置と前記位置カウント値に基づき、一致信
号及び不一致信号からなるカウント制御信号を出力する
手段と、(e-1-3) 前記記憶手段(d-1) のアドレス先頭位
置を示すカウント値をアドレスカウント初期値としたア
ドレスカウント値を、前記カウント制御信号が一致信号
のときカウントアップして、前記記憶手段(d-1) のアド
レス入力部に出力し、前記記憶手段(d-1) から、前記ア
ドレスカウント値の指示するアドレスに格納された前記
誤り位置及び前記誤り数値を出力させる手段と、(e-1-
4) 前記カウント制御信号が一致信号のとき前記誤り数
値を、前記カウント制御信号が不一致信号とき論理値
“0”を指示するゼロ信号を、前記エラーパターンを構
成するエラーパターン信号として出力する選択手段とを
備える。
【0066】この発明にかかる請求項5記載の誤り訂正
回路は、(a) データの誤りを訂正するRS符号前記デ
ータの誤りを検出するCRCを複数個交錯したデータ系
列を格納したデータバッファを備え、前記データ系列
は、各々がRS符号化処理された第1〜第nの部分デー
タ系列からなり、CRC符号化により予め生成されたC
RCデータを含み、(b) 誤り訂正前の前記部分データ系
列に基づきRS符号のシンドロームを生成するシンドロ
ーム生成手段と、(c) 前記シンドロームに基づき、前記
部分データ系列の誤り位置及び誤り数値を求め、該誤り
位置及び誤り数値に基づき前記部分データ系列の誤りを
訂正する誤り訂正手段と、(d) 前記誤り位置及び誤り数
値に基づき、前記部分データ系列のエラーパターン求
め、該エラーパターンと誤り訂正前の前記部分データ系
列とを加算して合成パターンを出力するパターン合成手
段と、(e) 前記合成パターンに対しCRCの符号化処理
を行い合成CRCを求める合成CRC符号化手段と、
(f) 前記合成CRCを順次受け、その加算合計からなる
総計CRCを得る加算手段と、(g) 前記総計CRCと前
記データ系列内の前記CRCデータとを比較して、前記
(d) による誤り訂正の良否を検証するCRC検証手段
と、(h) 前記第1の部分データ系列〜第n部分データ系
列の順で処理されるように前記手段(b) 〜(g) を制御
し、かつ前記手段(b) による第j(2≦j≦n)の前記
部分データ系列に基づくシンドローム生成処理と、前記
手段(d) による第jの前記部分データ系列と第(j−
1)の前記部分データ系列のエラーパターンとの加算処
理とを同時に行わせ、前記手段(e) による最終の合成パ
ターンに対するCRC符号化処理終了後に、前記手段
(g) による検証動作を行わせる制御手段とをさらに備え
て構成される。
【0067】望ましくは、請求項6記載の誤り訂正回路
のように、前記誤り訂正手段(c) は、(c-1) アドレスに
対応して、前記誤り位置及び誤り数値をペアにして格納
する記憶手段を備え、前記エラーパターン発生手段(d)
は、(d-1) 前記記憶手段(c-1) に格納された前記誤り位
置及び前記誤り数値に基づき、前記エラーパターンを発
生するエラーパターン発生手段と、(d-2) 前記エラーパ
ターンと誤り訂正前の前記部分データ系列とを取り込
み、両者を加算して合成パターンを出力する加算手段と
を備える。
【0068】望ましくは、請求項7記載の誤り訂正回路
のように、前記記憶手段(c-1) は、アドレスに対して前
記誤り位置が昇順になるように、前記誤り位置及び前記
誤り数値を格納し、前記エラーパターン発生手段(d-1)
は、(d-1-1) 前記部分データ系列の先頭位置を示すカウ
ント値を位置カウント初期値とした位置カウント値を順
次カウントアップする手段と、(d-1-2) 前記記憶手段(c
-1) から出力される前記誤り位置と前記データ位置カウ
ント値に基づき一致信号及び不一致信号からなるカウン
ト制御信号を出力する手段と、(d-1-3) 前記記憶手段(c
-1) のアドレス先頭位置を示すカウント値をアドレスカ
ウント初期値としたアドレスカウント値を、前記カウン
ト制御信号が一致信号のときカウントアップして、前記
記憶手段(c-1) のアドレス入力部に出力し、前記記憶手
段(c-1) から、前記アドレスカウント値の指示するアド
レスに格納された前記誤り位置及び前記誤り数値を出力
させる手段と、(d-1-4) 前記カウント制御信号が一致信
号のとき前記誤り数値を、前記カウント制御信号が不一
致信号のとき論理値“0”を指示するゼロ信号を、前記
エラーパターンを構成するエラーパターン信号として出
力する選択手段とを備える。
【0069】
【作用】この発明の請求項1記載の誤り訂正回路におい
ては、誤り訂正前の部分データ系列に基づきRS符号の
シンドロームを生成するシンドローム生成手段(b) と、
誤り訂正前の部分データ系列に対しCRCの符号化処理
を行い第1のCRCを求める第1のCRC符号化手段
(c) と、誤り位置及び誤り数値に基づくエラーパターン
に対しCRCの符号化処理を行い第2のCRCを求める
第2のCRC符号化手段(e) とを有している。
【0070】シンドローム生成手段(b) と第1のCRC
符号化手段(c) とは、誤り訂正前の全く同一の部分デー
タ系列に基づく処理を実行し、第2のCRC符号化手段
(e)はシンドローム生成手段(b) 及び第1のCRC符号
化手段(c) とは独立して処理を行うことができる。
【0071】したがって、制御手段(h) は、シンドロー
ム生成手段(b) による第j(2≦j≦n)の部分データ
系列に基づくシンドローム生成処理と、第1のCRC符
号化手段(c) による第jの部分データ系列に対するCR
C符号化処理と、第2のCRC符号化手段(e) による第
(j−1)の部分データ系列のエラーパターンに対する
CRC符号化処理との同時処理を何等支障なく実現でき
る。
【0072】また、この発明の請求項5記載の誤り訂正
回路においては、誤り訂正前の部分データ系列に基づき
RS符号のシンドロームを生成するシンドローム生成手
段(b) と、エラーパターンと誤り訂正前の部分データ系
列とを加算して合成パターンを出力するパターン合成手
段(d) とを設けている。
【0073】シンドローム生成手段(b) の実行に必要な
データとパターン合成手段(d) の加算処理の一方入力と
なるデータとは、誤り訂正前の全く同一の部分データ系
列であり、パターン合成手段(d) の他方入力となるデー
タは、シンドローム生成手段(b) とは全く独立して取り
込み可能なエラーパターンである。
【0074】したがって、制御手段(h) は、シンドロー
ム生成手段(b) による第j(2≦j≦n)の部分データ
系列に基づくシンドローム生成処理と、パターン合成手
段(d) による第jの部分データ系列と第(j−1)の部
分データ系列のエラーパターンとの加算処理との同時処
理を何等支障なく実現できる。
【0075】
【実施例】
<<1.第1の実施例>> <1.1 第1の実施例の原理>数10および数11か
らCRCデータCk は、受信データのうち、符号語ナン
バーjの部分データ系列のCRCデータCkjを求めて、
それらを加算することによって得られることが分かって
いる。
【0076】今、情報データ多項式をI(X)、除算多
項式をP(X)として、I(X)をP(X)で割った剰
余をC(X)とすると、数14に示すようになる。
【0077】
【数14】
【0078】一般に情報データ多項式I(X)は、受信
データ多項式をRE(X)、誤り多項式をE(X)とし
たとき、RE(X)とE(X)の和として表されること
から、数14は数15に変形でき、さらに数16で表現
することも可能である。
【0079】
【数15】
【0080】
【数16】
【0081】ここで符号語ナンバーjの受信データをR
Ej (X)とし、符号語ナンバーjの部分データ系列に
対するエラーパターン多項式をEj (X)とすると、数
10、数11および数16により次の数17が成立す
る。
【0082】
【数17】
【0083】数17の右辺第一項は受信データに対する
CRCの和、右辺第二項は受信データのエラーパターン
に対するCRCの和を表している。
【0084】以上の考えに基づき、誤り訂正前の受信デ
ータに対するCRCと誤り訂正の受信データのエラー
パターンに対するCRCとを部分データ系列単位に別々
に求めて、両者を加算することにより、最終的に誤り訂
正後の受信データに対するCRCを算出するように構成
したのが、第1の実施例である。 <1.2 第1の実施例の構成> 図1はこの発明の第1の実施例である誤り訂正回路の構
成を示すブロック図である。同図において、1は訂正さ
れるべき、誤りが含まれているであろう受信データおよ
び訂正後のデータを記憶するデータバッファである。上
記受信データは図10に示すように、CRCを内符号と
し且つRS符号を外符号とする符号系列を複数個交錯
(インタリーブ)したデータ系列となっており、このデ
ータ系列は符号語ナンバー単位で複数の部分データ系列
に分類され、各部分データ系列それぞれがRS符号化処
理されている。
【0085】データバッファ1に格納された受信データ
が、符号語ナンバー順で部分データ系列毎にシンドロー
ムジェネレータ2及び受信CRCジェネレータ13に取
り込まれる。
【0086】シンドロームジェネレータ2は、部分デー
タ系列に基づきRS符号のシンドロームを求めて誤り訂
正部4に出力する。
【0087】誤り訂正部4は、シンドロームジェネレー
タ2より得たシンドロームに基づき、内部の誤り位置お
よび誤り数値レジスタ3に誤り位置及び誤り数値を格納
させながら、データバッファ1に格納された部分データ
系列の誤りを訂正する。
【0088】受信CRCジェネレータ13は、部分デー
タ系列に対しCRC符号化処理を行い受信CRCを求め
てCRCレジスタ15に出力する。
【0089】エラーパターン発生回路33は、誤り位置
および誤り数値レジスタ3に格納された誤り位置及び誤
り数値に基づき、後述するエラーパターンを生成して、
エラーパターンCRCジェネレータ14に出力する。
【0090】エラーパターンCRCジェネレータ14
は、エラーパターン発生回路33から得たエラーパター
ンに対しCRC符号化処理を行い、エラーパターンCR
Cを求めてCRCレジスタ15に出力する。
【0091】加算機能付きCRCレジスタ15は、受信
CRC及びエラーパターンCRCを受けると、受信CR
CとエラーパターンCRCと自身の格納データとを加算
し、その加算結果を新たな格納データとして格納し、最
終的に受信データ全体の総計CRCを出力する。
【0092】CRC検証部35は、最終的にCRCレジ
スタ15より得られる総計CRCとデータバッファ1に
格納されたCRCデータとを比較して、誤り訂正部4に
よる誤訂正を検出する。
【0093】制御回路40は、シンドロームジェネレー
タ2、誤り訂正部4、受信CRCジェネレータ13、エ
ラーパターンCRCジェネレータ14、CRCレジスタ
15、エラーパターン発生回路33及びCRC検証部3
5に制御信号を出力し、各構成部2,4,13,14,
15,33及び35の動作を制御する。 <1.3 第1の実施例の動作>図2及び図3は、図1
で示した第1の実施例の誤り訂正回路の動作を示すフロ
ーチャートである。以下、これらの図を参照しつつその
動作を説明する。なお、この動作は制御回路40の制御
下で行われる。
【0094】この動作開始前の段階で、予め加算機能付
きCRCレジスタ15のレジスタの格納データを0にク
リアしておき、データバッファ1に訂正されるべき、誤
りが含まれているであろう受信データが書き込まれる。
【0095】まず、ステップS21で、制御回路40内
の符号語ナンバーカウンタjがゼロにセットされる。
【0096】次にステップS22で、シンドロームジェ
ネレータ2は、符号語ナンバー0(j=0)の部分デー
タ系列のRS符号のシンドロームを求める。
【0097】誤りが検出されたときには、ステップS2
3で、誤り訂正部4は、ステップS22で得たシンドロ
ームに基づき、符号語ナンバー0の部分データ系列に対
する誤り位置と誤り数値を求め、ステップS24で、そ
れらを誤り位置および誤り数値レジスタ3に記憶する。
【0098】そして、誤り訂正部4は、ステップS25
で、誤り位置および誤り数値レジスタ3に記憶された内
容にしたがってデータバッファ1内の符号語ナンバー0
の部分データ系列を順次訂正してゆく。
【0099】一方、ステップS22〜S25と並行し
て、以下に示すステップS26〜S27の動作が行われ
る。
【0100】ステップS26で、受信CRCジェネレー
タ13は、受信符号語ナンバー0(j=0)の部分デー
タ系列に対する受信CRCを計算する。その後、ステッ
プS27で、CRCレジスタ15は、ステップS26で
求められた受信CRCと自身の格納データとを加算し、
その加算結果を新たな格納データとして内部に格納す
る。
【0101】なお、ステップS22の処理とステップS
26の処理とは、データバッファ1から全く同一の受信
符号語ナンバー0の部分データ系列に基づく処理である
ため、データバッファ1がシングルポート構成であって
も、制御回路40の制御下で同期をとって受信符号語ナ
ンバー0の部分データ系列を取り込むことにより、同時
に処理可能である。
【0102】ステップS22〜S25の処理とステップ
S26〜S27の処理とが終了すると、ステップS28
で、符号語ナンバーカウンタがインクリメント(カウン
タ値=jとする)される。
【0103】次に、ステップS29で、シンドロームジ
ェネレータ2は、符号語ナンバーjの部分データ系列に
対するRS符号のシンドロームを求める。
【0104】そして、ステップS30で、誤り訂正部4
は、符号語ナンバーjの部分データ系列の誤り位置と誤
り数値を求め、ステップS31で、その誤り位置および
誤り数値を誤り位置および誤り数値レジスタ3に記憶さ
せる。その後、誤り訂正部4は、ステップS32で、誤
り位置および誤り数値レジスタ3に記憶された内容にし
たがってデータバッファ1の符号語ナンバーjの部分デ
ータ系列を順次訂正してゆく。
【0105】一方、ステップS29〜S32と並行し
て、以下に示すステップS33〜S35の動作が行われ
る。
【0106】ステップS33で、受信CRCジェネレー
タ13は、受信符号語ナンバーjの部分データ系列に対
する受信CRCを計算する。同時に、ステップS34
で、エラーパターンCRCジェネレータ14は、エラー
パターン発生回路33より得た符号語ナンバー(j−
1)の部分データ系列のエラーパターンに対するエラー
パターンCRCを計算する。
【0107】なお、ステップS29の処理とステップS
33の処理とは、データバッファ1から全く同一の受信
符号語ナンバーjの部分データ系列に基づく処理である
ため、データバッファ1がシングルポート構成であって
も、制御回路40の制御下で同期をとって受信符号語ナ
ンバーjの部分データ系列を取り込むことにより、同時
に処理可能である。
【0108】また、ステップS34の処理は、データバ
ッファ1でなく、誤り位置および誤り数値レジスタ3に
格納された格納データに基づく処理、つまり、ステップ
S29及びS33の処理とは独立した処理であるため、
ステップS29及びS33の処理と並行して行うことが
できる。
【0109】ステップS33及びS34の処理が共に終
了すると、ステップS35で、CRCレジスタ15は、
受信CRCとエラーパターンCRCと自身の格納データ
とを加算し、その加算結果を新たな格納データとして内
部に格納する。
【0110】ステップS29〜S32及びステップS3
3〜35の処理が共に終了すると、ステップS36で、
符号語ナンバーカウンタ値jが最終符号語ナンバーに等
しいかどうかが比較され、等しくないときにはステップ
S28の処理へ戻り、新たな受信符号語ナンバーjで、
ステップS28〜S35の処理が行われる。
【0111】一方、ステップS36で、受信符号語ナン
バーjが最終符号語ナンバー(図10の例では5)に等
しいと判定された場合、ステップS37に進む。
【0112】ステップS37で、エラーパターンCRC
ジェネレータ14は、エラーパターン発生回路33より
得た最終受信符号語ナンバーの部分データ系列のエラー
パターンに対するエラーパターンCRCを計算する。そ
の後、ステップS38で、CRCレジスタ15は、ステ
ップS37で求められたエラーパターンCRCと自身の
格納データとを加算し、その加算結果を新たな格納デー
タとして内部に格納する。その結果、CRCレジスタ1
5に格納された最終格納データは、数17のRc(X)
と等しい値となる。
【0113】そして、ステップS39で、CRC検証部
35は、CRCレジスタ15の最終格納データと、誤り
訂正部4による誤り訂正が行われた、データバッファ1
内に格納されたCRCデータとを比較し、誤り訂正部4
によるRS符号の誤り訂正が正しく行われたか否かが判
定する。 <1.4 第1の実施例の効果>第1の実施例の誤り訂
正回路は以上のような構成であるため、誤り訂正前の符
号語ナンバーjの部分データ系列に対するRS符号のシ
ンドローム計算処理(図2のステップS29)と、誤り
訂正前の符号語ナンバーjの部分データ系列に対するC
RC符号化処理(図2のステップS33)とは、同一の
データバッファ1から同一符号語ナンバーの受信データ
を取り込む処理であるため、同時に行うことは可能であ
る。
【0114】また、エラーパターン発生回路33及びエ
ラーパターンCRCジェネレータ14による符号語ナン
バー(j−1)の部分データ系列のエラーパターンに対
するCRC符号化処理(図2のステップS34)は、デ
ータバッファ1とは全く異なる誤り位置および誤り数値
レジスタ3の格納データに基づく処理であるため、ステ
ップS29及びS33と並行して行うことができる。
【0115】そして、ステップS29、ステップS33
及びステップS34の処理に要する時間は、ほぼ同程度
である。また、ステップS35に要する時間は微小時間
である。
【0116】したがって、誤り訂正部4によるシンドロ
ームに基づく誤り訂正処理からなるステップS30〜S
32(図2及び図3参照)の処理を高速化し時間短縮す
れば、その短縮時間分、誤り訂正処理全体の処理速度を
速めることができる。
【0117】また、ステップS33のエラーパターン発
生回路33による符号語ナンバー(j−1)の部分デー
タ系列のエラーパターン発生動作完了前に、ステップS
31における符号語ナンバーjの部分データ系列の誤り
位置及び誤り数値の誤り位置および誤り数値レジスタ3
への格納動作が行われるという不都合は、タイミング的
に起こり得ない。 <1.5 エラーパターン発生回路(第1の構成)>図
4はエラーパターン発生回路の第1の構成を示すブロッ
ク図である。
【0118】クロック入力端子21よりシステムクロッ
クCLKがアップカウンタ18およびクロック制御回路
20に供給される。リセット信号RESETが付与され
るリセット入力端子23はアップカウンタ17および1
8に接続される。スタート信号STARTが付与される
スタート端子22はアップカウンタ18及びクロック制
御回路20に接続される。
【0119】アップカウンタ18は、リセット信号RE
SETを受けると初期化され、カウント値を“0”に
し、スタート信号STARTを受けるとシステムクロッ
クCLKに同期してカウントアップ動作を行い、カウン
ト値に基づくカウント信号C18を出力する。
【0120】クロック制御回路20は、アップカウンタ
18のカウント信号C18を受け、スタート信号STA
RTを受けるとシステムクロックCLKに同期したシス
テムクロックSCをエラーパターンCRCジェネレータ
14に供給し、アップカウンタ18のカウント信号C1
8が所定値に達するとシステムクロックSCのエラーパ
ターンCRCジェネレータ14への供給を停止する。
【0121】コンパレータ19は、その第1入力が誤り
位置および誤り数値レジスタ3の誤り位置データバス2
5を接続され、第2入力にアップカウンタ18のカウン
ト信号C18を受ける。そして、第1入力と第2入力と
の一致/不一致に基づき、一致信号/不一致信号からな
る比較結果信号をアップカウンタ17とセレクタ16の
S入力とに出力する。
【0122】アップカウンタ17は、リセット信号RE
SETを受けると初期化され、カウント値を“0”に
し、コンパレータ19からの比較結果信号の一致信号に
同期してカウントアップ動作を行い、カウント値に基づ
くカウント信号C17を、アドレスバス24を介して誤
り位置および誤り数値レジスタ3のアドレス入力部に出
力する。
【0123】誤り位置および誤り数値レジスタ3は、入
力端子27を介して取り込んだ誤り位置及び誤り数値を
アドレスに対応づけて格納しており、アドレスバス24
より得たカウント信号C17の指示するアドレスに格納
された誤り位置を誤り位置データバス25に出力し、誤
り数値を誤り数値データバス26に出力する。
【0124】セレクタ16は、A入力が誤り数値データ
バス26に接続され、B入力が接地レベル(“0”)に
設定される。そして、そのS入力に取り込むコンパレー
タ19の比較結果信号が一致信号の場合にA入力より得
た誤り数値データバス26の信号をそのC出力からエラ
ーパターンCRCジェネレータ14に出力し、不一致信
号の場合にB入力より得た“0”信号をそのC出力から
エラーパターンCRCジェネレータ14に出力する。
【0125】エラーパターンCRCジェネレータ14
は、クロック制御回路20のシステムクロックSCに同
期して、セレクタ16のC出力より得られる信号をエラ
ーパターンを構成するエラーパターン信号として順次取
り込み、エラーパターンCRCを求める。
【0126】以下、同図を参照して、第1の構成のエラ
ーパターン発生回路33のエラーパターン発生動作の説
明を行う。前述したように、誤り訂正回路で求められた
誤り位置と誤り数値は、制御回路40制御下で、入力端
子27を介して誤り位置および誤り数値レジスタ3に格
納される。
【0127】たとえば、誤り位置は図10のデータフォ
ーマットの縦方向iに対して語長方向番号(103−
i)で表現される誤り位置情報と、その誤り位置に対応
する誤り数値がレジスタの低アドレスから番号の低い順
で入力される。図10における符号語ナンバー0の部分
データ系列のD6(位置=1(103-102) )、D16(位
置=3(103-100) )及びD31(位置=6(103-97))が
それぞれ誤り数値A、B及びCのエラーであれば、レジ
スタの低アドレス(通常、アドレス0)から順に1−
A、3−B及び6−Cという具合に、誤り位置情報およ
び誤り数値情報がペアでアドレスに対応づけられて格納
される。以降、誤り位置および誤り数値レジスタ3のア
ドレス0に「1−A」、アドレス1に「3ーB」、アド
レス2に「6−C」が格納されているものとして説明を
行う。
【0128】最初に、リセット入力端子23よりリセッ
ト信号RESETが入力され、アップカウンタ17およ
び18のカウント値がクリアされる。そして、スタート
入力端子22よりスタート信号STARTが入力される
とアップカウンタ18はカウントを始め、同時にクロッ
ク制御回路20からシステムクロックSCがエラーパタ
ーンCRCジェネレータ14に供給される。
【0129】このとき、アップカウンタ17はクリアさ
れた直後であるため、“0”のカウント信号C17をア
ドレスバス24に出力している。誤り位置および誤り数
値レジスタ3のアドレス0には前述したように「1−
A」が誤り位置情報および誤り装置情報として格納され
ているため、誤り位置および誤り数値レジスタ3は、誤
り位置データバス25に“1”、誤り数値データバス2
6に“A”を出力する。
【0130】したがって、、コンパレータ19の第1入
力(誤り位置データバス25に接続)には“1”が、第
2入力(カウント信号C18を入力)には“0”が入力
されるため、コンパレータ19から出力される比較結果
信号は不一致信号となる。
【0131】その結果、不一致信号を受けたアップカウ
ンタ17はカウント値の現状を維持し、不一致信号を受
けたセレクタ16はB入力を選択して“0”のエラーパ
ターン信号をエラーパターンCRCジェネレータ14に
出力する。
【0132】次に、システムクロックCLKに同期し
て、アップカウンタ18は、カウント値を“1”にカウ
ントアップする。
【0133】このとき、アップカウンタ17は、“0”
のカウント信号C17をアドレスバス24に出力するた
め、誤り位置および誤り数値レジスタ3は、誤り位置デ
ータバス25に“1”、誤り数値データバス26に
“A”を出力し続ける。
【0134】したがって、コンパレータ19の第1入力
には“1”が、第2入力には“1”が入力されるため、
コンパレータ19の比較結果信号は一致信号となる。
【0135】その結果、アップカウンタ17は、カウン
ト値を1カウントアップし、セレクタ16はA入力を選
択して“A”をエラーパターン信号としてエラーパター
ンCRCジェネレータ14に出力する。
【0136】次に、システムクロックCLKに同期し
て、アップカウンタ18は、カウント値を“2”にカウ
ントアップする。
【0137】このとき、アップカウンタ17は、カウン
ト値は1カウントアップし、“2”のカウント信号C1
7をアドレスバス24に出力するため、誤り位置および
誤り数値レジスタ3は、誤り位置データバス25に
“3”、誤り数値データバス26に“B”を出力する。
【0138】したがって、コンパレータ19の第1入力
には“3”が、第2入力には“2”が入力されるため、
コンパレータ19の比較結果信号は不一致信号となる。
【0139】その結果、アップカウンタ17は、カウン
ト値の現状を維持し、セレクタ16は、B入力を選択し
て“0”をエラーパターン信号としてエラーパターンC
RCジェネレータ14に出力する。
【0140】次に、システムクロックCLKに同期し
て、アップカウンタ18は、カウント値を“3”にカウ
ントアップする。
【0141】このとき、アップカウンタ17は、カウン
ト値の現状を維持し、“1”のカウント信号C17をア
ドレスバス24に出力するため、誤り位置データバス2
5に“3”、誤り数値データバス26に“B”を出力し
続ける。
【0142】したがって、コンパレータ19の第1入力
には“3”が、第2入力には“3”が入力されるため、
コンパレータ19の比較結果信号は一致信号となる。
【0143】その結果、アップカウンタ17は、カウン
ト値を1カウントアップし、セレクタ16は、A入力を
選択して“B”をエラーパターン信号としてエラーパタ
ーンCRCジェネレータ14に出力する。
【0144】以下、上記した動作が続けられ、セレクタ
16はエラーパターンを、エラーパターン信号として、
0,A,0,B,0,0,C,…といった順に、エラー
パターンCRCジェネレータ14に出力する。
【0145】そして、アップカウンタ18のカウント信
号C18の指示するカウント値が符号長分になると、ク
ロック制御回路20は、システムクロックSCをエラー
パターンCRCジェネレータ14に供給することを停止
し、エラーパターンCRCジェネレータ14のエラーパ
ターン取り込みを終了させる。
【0146】したがって、システムクロックSCの入力
が終了時には、エラーパターンのエラーパターンCRC
ジェネレータ14への出力が完了し、完了とほぼ同時
に、エラーパターンCRCジェネレータ14は、取り込
んだエラーパターンに基づきエラーパターンCRCであ
る「Ej (X)X4 mod Gc(X)」を求める。 <1.6 エラーパターン発生回路(第2の構成)>図
5はエラーパターン発生回路33の第2の構成例を示す
ブロック図である。同図に示すように、アップカウンタ
18′は、第1の構成同様、クロック入力端子21より
システムクロックCLKが供給され、スタート端子22
よりスタート信号STARTが付与され、ロード入力端
子29よりロード信号LDが付与される。
【0147】アップカウンタ18′は、ロード信号LD
信号によりカウント値が決定され、スタート信号STA
RTを受けるとシステムクロックCLKに同期して、設
定されたカウント値からカウントアップ動作を行う。
【0148】また、図6では図示しない誤り訂正部4に
最小誤り位置をロード信号LDとして出力する最小誤り
位置出力バス設けられる。なお、他の構成は第1の構
成と同様であるため、説明は省略する。
【0149】以下、同図を参照して、第の構成のエラ
ーパターン発生回路33のエラーパターン発生動作の説
明を行う。前述したように、誤り訂正回路で求められた
誤り位置と誤り数値は、制御回路40の制御下で、入力
端子27を介して誤り位置および誤り数値レジスタ3に
格納される。
【0150】以降、第1の構成同様、誤り位置および誤
り数値レジスタ3のアドレス0に「1−A」、アドレス
1に「3ーB」、アドレス2に「6−C」が格納されて
いるものとして説明を行う。
【0151】最初に、リセット入力端子23よりリセッ
ト信号RESETが入力され、アップカウンタ17カウ
ント値がクリアされる。同時にロード入力端子29よ
り、最小誤り位置“1”を指示するロード信号LDが入
力される。
【0152】そして、スタート入力端子22よりスター
ト信号STARTが入力されるとアップカウンタ18′
はカウント値“1”からカウントを始め、同時にクロッ
ク制御回路20からシステムクロックSCがエラーパタ
ーンCRCジェネレータ14に供給される。
【0153】このとき、アップカウンタ17はクリアさ
れているので“0”のカウント信号C17をアドレスバ
ス24に出力している。誤り位置および誤り数値レジス
タ3のアドレス0には前述したように「1−A」が誤り
位置情報および誤り装置情報として格納されているた
め、誤り位置および誤り数値レジスタ3は、誤り位置デ
ータバス25に“1”、誤り数値データバス26に
“A”を出力する。
【0154】したがって、コンパレータ19の第1入力
(誤り位置データバス25に接続)には“1”が、第2
入力(カウント信号C18を入力)には“1”が入力さ
れるため、コンパレータ19の比較結果信号は一致信号
となる。
【0155】その結果、一致信号を受けたアップカウン
タ17はカウント値をカウントアップし、一致信号を受
けたセレクタ16はA入力を選択して“A”をエラーパ
ターンCRCジェネレータ14に出力する。
【0156】以下、第1の構成のエラーパターン発生回
路33と同様にして、セレクタ16は、エラーパターン
信号として、エラーパターンを、A,0,B,0,0,
C,…といった順に、エラーパターンCRCジェネレー
タ14に出力する。
【0157】そして、アップカウンタ18のカウント信
号C18の指示するカウント値が符号長分になると、ク
ロック制御回路20は、システムクロックSCをエラー
パターンCRCジェネレータ14に供給することを停止
し、エラーパターンCRCジェネレータ14のエラーパ
ターン取り込みを終了させる。
【0158】したがって、システムクロックSCの入力
が終了時には、エラーパターンのエラーパターンCRC
ジェネレータ14への出力が完了し、完了とほぼ同時
に、エラーパターンCRCジェネレータ14は、取り込
んだエラーパターンに基づきエラーパターンCRCであ
る「Ej (X)X4 mod Gc(X)」を求める。
【0159】第2の構成は、第1の構成と異なり、最小
誤り位置情報までのエラーパターンCRCジェネレータ
14へのゼロ出力を行わない。こうすることでエラーパ
ターンCRCを求めるシステムクロック数は(符号長分
−最小誤り位置)となってエラーの位置によってはエラ
ーパターンCRCを求めるシステムクロック数を少なく
することにより、効率的なエラーパターンを発生するこ
とができる効果を有する。
【0160】なお、ロード信号LDとして最小誤り位置
を出力可能にする構成としては、誤り訂正部4に最小誤
り位置バスを設ける以外に、制御回路40の制御下で、
エラーパターン発生開始時に、自動的にアドレス0に格
納された最小誤り位置情報がロード信号LDとして、ア
ップカウンタ18に付与される構成にすることも考えら
れる。 <<2.第2の実施例>> <2.1 第2の実施例の原理>第1の実施例の原理基
本式となった数17は数18のように書き換えることも
できる。
【0161】
【数18】
【0162】そして、数18は数19のように分解でき
る。
【0163】
【数19】
【0164】つまり、第1の実施例では受信CRCとエ
ラーパターンCRCを別々に求めた後に双方を加算した
のに対し、第2の実施例では、受信データとエラーパタ
ーンとを加算して合成データを得、その合成データのC
RCを求めようとするものである。 <2.2 第2の実施例の構成>図6はこの発明の第2
の実施例である誤り訂正回路の構成を示すブロック図で
ある。同図において、1は訂正されるべき、誤りが含ま
れているであろう受信データおよび訂正後のデータを記
憶するデータバッファである。上記受信データは図8に
示すように、CRCを内符号とし且つRS符号を外符号
とする符号系列を複数個交錯(インタリーブ)したデー
タ系列となっており、このデータ系列は符号語ナンバー
単位で複数の部分データ系列に分類され、各部分データ
系列それぞれがRS符号化処理されている。
【0165】データバッファ1に格納された受信データ
のうち、部分データ系列がシンドロームジェネレータ2
及び加算器34に取り込まれる。
【0166】シンドロームジェネレータ2は、部分デー
タ系列に基づきRS符号のシンドロームを求めて誤り訂
正部4に出力する。
【0167】誤り訂正部4は、シンドロームジェネレー
タ2より得たシンドロームに基づき、内部の誤り位置お
よび誤り数値レジスタ3に受信データの誤り位置及び誤
り数値を格納させながら、部分データ系列の誤りを訂正
する。
【0168】エラーパターン発生回路33は、誤り位置
および誤り数値レジスタ3に格納された誤り位置及び誤
り数値に基づき、部分データ系列のエラーパターンを生
成して加算器34に出力する。
【0169】加算器34は、部分データ系列単位で、受
信データとエラーパターンとを加算して合成パターンを
CRCジェネレータ5に出力する。
【0170】CRCジェネレータ5は、合成パターンに
対しCRC符号化処理を行い合成パターンCRCを求め
て加算機能付きCRCレジスタ15に出力する。
【0171】CRCレジスタ15は、合成パターンCR
Cを受けると、合成パターンCRCと自身の格納データ
とを加算し、その加算結果を新たな格納データとして格
納し、最終的に受信データ全体の総計CRCを出力す
る。
【0172】CRC検証部35は、最終的にCRCレジ
スタ15より得られる総計CRとデータバッファ1に格
納されたCRCデータとを比較して、誤り訂正部4によ
る誤訂正を検出する。
【0173】制御回路40は、シンドロームジェネレー
タ2、誤り訂正部4、CRCジェネレータ5、CRCレ
ジスタ15、エラーパターン発生回路33、加算器34
及びCRC検証部35に制御信号を出力し、各構成部
2,4,5,15,33,34及び35の動作を制御す
る。
【0174】なお、制御回路40は、最終符号語ナンバ
ーの部分データ系列の出力後は、データバッファ1から
加算器34にセロパターンが出力されるように制御し、
誤り位置および誤り数値レジスタ3が、初期化された状
態の場合はゼロパターンを加算器34に出力するように
制御する。 <2.3 第2の実施例の動作>図7及び図8は、図6
で示した第2の実施例の誤り訂正回路の動作を示すフロ
ーチャートである。以下、これらの図を参照しつつ、第
1の実施例と異なる点を中心にその動作の説明をする。
なお、この動作は制御回路40の制御下で行われる。
【0175】この動作開始前の段階で、予め加算機能付
きCRCレジスタ15のレジスタの格納データを0にク
リアしておき、データバッファ1に訂正されるべき、誤
りが含まれているであろう受信データが書き込まれる。
また、誤り位置および誤り数値レジスタ3は初期化され
る。
【0176】まず、ステップS41で、制御回路40内
の符号語ナンバーカウンタjがゼロにセットされる。
【0177】次にステップS42で、シンドロームジェ
ネレータ2は、符号語ナンバー0(j=0)の部分デー
タ系列のRS符号のシンドロームを求める。
【0178】誤りが検出されたときには、ステップS4
3で、誤り訂正部4は、ステップS42で得たシンドロ
ームに基づき、符号語ナンバー0の部分データ系列に対
する誤り位置と誤り数値を求め、ステップS44で、そ
れらを誤り位置および誤り数値レジスタ3に記憶する。
【0179】そして、誤り訂正部4は、ステップS45
で、誤り位置および誤り数値レジスタ3に記憶された内
容にしたがってデータバッファ1の符号語ナンバー0の
部分データ系列を順次訂正してゆく。
【0180】一方、ステップS42〜S45と並行し
て、以下に示すステップS46〜S47の動作が行われ
る。
【0181】ステップS46で、CRCジェネレータ5
は、加算器34より得た合成パターンに対する合成パタ
ーンCRCを求める。このとき、エラーパターン発生回
路33からはセロパターンが出力されるため、結果的
に、CRCジェネレータ5は、受信符号語ナンバー0
(j=0)の誤り訂正前の部分データ系列に対する受信
CRCを計算したことになる。
【0182】その後、ステップS47で、CRCレジス
タ15は、ステップS46で求められた合成パターンC
RC(受信CRC)と自身の格納データとを加算し、そ
の加算結果を新たな格納データとして内部に格納する。
【0183】なお、ステップS42の処理とステップS
46のデータバッファ1から加算器34への受信符号語
ナンバー0の部分データ系列の出力処理とは、全く同一
の受信符号語ナンバー0の部分データ系列に基づく処理
であるため、データバッファ1がシングルポート構成で
あっても、制御回路40の制御下で同期をとって受信符
号語ナンバー0の部分データ系列を取り込むことによ
り、同時に処理可能である。
【0184】ステップS42〜S45の処理とステップ
S46〜S47の処理とが終了すると、ステップS48
で、符号語ナンバーカウンタがインクリメント(カウン
タ値=jとする)される。
【0185】次に、ステップS49で、シンドロームジ
ェネレータ2は、符号語ナンバーjの部分データ系列に
対するRS符号のシンドロームを求める。
【0186】そして、ステップS50で、誤り訂正部4
は、符号語ナンバーjの部分データ系列の誤り位置と誤
り数値を求め、ステップS51で、その誤り位置および
誤り数値を誤り位置および誤り数値レジスタ3に記憶さ
せる。その後、誤り訂正部4は、ステップS52で、誤
り位置および誤り数値レジスタ3に記憶された内容にし
たがって、データバッファ1の符号語ナンバーjの部分
データ系列を順次訂正してゆく。
【0187】一方、ステップS49〜S52と並行し
て、以下に示すステップS53〜S55の動作が行われ
る。
【0188】ステップS53で、データバッファ1から
加算器34に、受信符号語ナンバーjの部分データ系列
が出力される。同時に、エラーパターン発生回路33
は、受信符号語ナンバー(j−1)の部分データ系列の
エラーパターンを加算器34に出力する。そして、加算
器34は受信符号語ナンバーjの部分データ系列と受信
符号語ナンバー(j−1)のエラーパターンとを加算し
て、合成パターンをCRCジェネレータ5に出力する。
【0189】次に、ステップS54で、CRCジェネレ
ータ5は、加算器34より得た合成パターンに対する合
成パターンCRCを求める。
【0190】なお、ステップS49の処理とステップS
53のデータバッファ1から加算器34への受信符号語
ナンバーjの部分データ系列の出力処理とは、全く同一
の受信符号語ナンバーjの部分データ系列に基づく処理
であるため、データバッファ1がシングルポート構成で
あっても、制御回路40の制御下で同期をとって受信符
号語ナンバーjの部分データ系列を取り込むことによ
り、同時に処理可能である。
【0191】また、ステップS53の受信符号語ナンバ
ー(j−1)のエラーパターンを加算器34への出力処
理は、データバッファ1でなく、誤り位置および誤り数
値レジスタ3に格納された格納データに基づく処理であ
るため、これらの処理と並行して行うことができる。
【0192】ステップS53及びS54の処理が共に終
了すると、ステップS55で、CRCジェネレータ5
は、合成パターンCRCと自身の格納データとを加算
し、その加算結果を新たな格納データとして内部に格納
する。
【0193】ステップS49〜S52及びステップS5
3〜55の処置が共に終了すると、ステップS56で、
符号語ナンバーカウンタ値jが最終符号語ナンバーに等
しいかどうかが比較され、等しくないときにはステップ
S48の処理へ戻り、新たな受信符号語ナンバーjで、
ステップS48〜S55の処理が行われる。
【0194】一方、ステップS56で、受信符号語ナン
バーjが最終符号語ナンバー(図10の例では5)に等
しいと判定された場合、ステップS57に進む。
【0195】ステップS57で、CRCジェネレータ5
は、加算器34より得た合成パターンに対する合成パタ
ーンCRCを求める。このとき、データバッファ1から
はセロパターンが出力されるため、結果的に、CRCジ
ェネレータ5は、最終受信符号語ナンバーの部分データ
系列のエラーパターンに対するエラーパターンCRCを
計算したことになる。
【0196】その後、ステップS58で、CRCレジス
タ15は、ステップS57で求められた合成パターンC
RC(エラーパターンCRC)と自身の格納データとを
加算し、その加算結果を新たな格納データとして内部に
格納する。その結果、CRCレジスタ15に格納された
最終格納データは、数19のRc(X)と等しい値とな
る。すなわち、ステップS46〜S47で数19の右辺
第一項、ステップS53〜S55で数19の右辺第二
項、ステップS57〜S58で数19の右辺第三項が実
行されたことを意味する。
【0197】そして、ステップS59で、CRC検証部
35は、CRCレジスタ15の最終格納データと、誤り
訂正部4による誤り訂正が行われた、データバッファ1
内に格納されたCRCデータとを比較し、誤り訂正部4
によるRS符号の誤り訂正が正しく行われたか否かが判
定する。 <2.4 第2の実施例の効果>第1の実施例同様、誤
り訂正部4によるシンドロームに基づく誤り訂正処理か
らなるステップS50〜S52(図7及び図8参照)の
処理を高速化し処理時間を短縮すれば、その短縮時間
分、誤り訂正処理全体の処理速度を速めることができ
る。
【0198】また、ステップS53のエラーパターン発
生回路33による符号語ナンバー(j−1)の受信デー
タのエラーパターン発生動作完了前に、ステップS51
における符号語ナンバーjの受信データの誤り位置及び
誤り数値の誤り位置および誤り数値レジスタ3への格納
動作が行われるという不都合が生じることは、タイミン
グ的にありえない。 <2.5 エラーパターン発生回路>図9は、第2の実
施例で用いられるエラーパターン発生回路の構成を示す
ブロック図である。同図に示すように、セレクタ16の
C出力が加算器34に取り込まれており、データバッフ
ァ1からの符号語ナンバー単位の部分データ系列が受信
データバス30を介して加算器34に取り込まれる。そ
して、加算器34は、部分データ系列とエラーパターン
とを加算して得られる合成パターンをCRCジェネレー
タ5に出力する。
【0199】クロック制御回路20は、アップカウンタ
18のカウント信号C18を受け、スタート信号STA
RTを受けるとシステムクロックCLKに同期したシス
テムクロックSCをCRCジェネレータ5に出力し、ア
ップカウンタ18のカウント信号C18の指示するカウ
ント値が所定値に達するとシステムクロックSCのCR
Cジェネレータ5への出力を停止する。
【0200】なお、他の構成は、図4で示した第1の実
施例のエラーパターン発生回路33(第1の構成)と同
様であるため、説明は省略する。
【0201】このような構成のエラーパターン発生回路
33は、第1の実施例の第1の構成のエラーパターン発
生回路33と同様にして、セレクタ16はエラーパター
ン信号を、0,A,0,B,0,0,C,…といった順
に、加算器34に出力する。
【0202】そして、アップカウンタ18のカウント信
号C18の指示するカウント値が符号長分になると、ク
ロック制御回路20は、システムクロックSCをCRC
ジェネレータ5に供給することを停止し、CRCジェネ
レータ5の合成パターン取り込みを終了させる。
【0203】したがって、システムクロックSCの入力
が終了時には、合成パターンのCRCジェネレータ5へ
の出力が完了し、完了とほぼ同時に、CRCジェネレー
タ5は、取り込んだ合成パターンに基づき、合成パター
ンパターンCRCを求める。
【0204】
【発明の効果】以上説明したように、この発明の請求項
1記載の誤り訂正回路は、誤り訂正前の部分データ系列
に基づきRS符号のシンドロームを生成するシンドロー
ム生成手段(b) と、誤り訂正前の部分データ系列に対し
CRCの符号化処理を行い第1のCRCを求める第1の
CRC符号化手段(c) と、誤り位置及び誤り数値に基づ
くエラーパターンに対しCRCの符号化処理を行い第2
のCRCを求める第2のCRC符号化手段(e) とを有し
ている。
【0205】シンドローム生成手段(b) と第1のCRC
符号化手段(c) とは、誤り訂正前の全く同一の部分デー
タ系列に基づく処理を実行し、第2のCRC符号化手段
(e)はシンドローム生成手段(b) 及び第1のCRC符号
化手段(c) とは独立して処理を行うことができるため、
制御手段(h) は、シンドローム生成手段(b) による第j
(2≦j≦n)の部分データ系列に基づくシンドローム
生成処理と、第1のCRC符号化手段(c) による第jの
部分データ系列に対するCRC符号化処理と、第2のC
RC符号化手段(e) による第(j−1)の部分データ系
列のエラーパターンに対するCRC符号化処理との同時
実行を何等支障なく実行できる。
【0206】その結果、上記同時実行処理を行うことに
より、誤り訂正手段(d) による部分データ系列の誤り訂
正処理の高速化が全体の処理の高速化に直結させること
ができ、全体の処理時間を高速化することできる。
【0207】また、この発明の請求項5記載の誤り訂正
回路は、誤り訂正前の部分データ系列に基づきRS符号
のシンドロームを生成するシンドローム生成手段(b)
と、エラーパターンと誤り訂正前の部分データ系列とを
加算して合成パターンを出力するパターン合成手段(d)
とを設けている。
【0208】シンドローム生成手段(b) の実行に必要な
データとパターン合成手段(d) の加算処理の一方入力と
なるデータとは、誤り訂正前の全く同一の部分データ系
列であり、パターン合成手段(d) の他方入力となるデー
タは、シンドローム生成手段(b) とは全く独立して取り
込み可能なエラーパターンであるため、制御手段(h)
は、シンドローム生成手段(b) による第j(2≦j≦
n)の部分データ系列に基づくシンドローム生成処理
と、パターン合成手段(d) による第jの部分データ系列
と第(j−1)の部分データ系列のエラーパターンとの
加算処理との同時処理を何等支障なく実行することがで
きる。
【0209】その結果、上記同時実行処理を行うことに
より、誤り訂正手段(c) による部分データ系列の誤り訂
正処理の高速化が全体の処理の高速化に直結させること
ができ、全体の処理時間を高速化することできる。
【図面の簡単な説明】
【図1】この発明の第1の実施例である誤り訂正回路の
構成を示すブロック図である。
【図2】図1で示した第1の実施例の動作を示すフロー
チャートである。
【図3】図1で示した第1の実施例の動作を示すフロー
チャートである。
【図4】図1のエラーパターン発生回路の第1の構成を
示すブロック図である。
【図5】図1のエラーパターン発生回路の第2の構成を
示すブロック図である。
【図6】この発明の第2の実施例である誤り訂正回路の
構成を示すブロック図である。
【図7】図6で示した第2の実施例の動作を示すフロー
チャートである。
【図8】図6で示した第2の実施例の動作を示すフロー
チャートである。
【図9】図6のエラーパターン発生回路の構成を示すブ
ロック図である。
【図10】光ディスクに関するISO規格における連続
サーボ方式90mm512バイト/セクタのデータフォ
ーマットを示す図である。
【図11】従来の誤り訂正回路の構成を示すブロック図
である。
【図12】図11の誤り訂正回路の動作を示すフローチ
ャートである。
【図13】図11の誤り訂正回路の動作を示すフローチ
ャートである。
【図14】CRC回路の構成を示すブロック図である。
【符号の説明】
1 データバッファ 2 シンドロームジェネレータ 3 誤り位置および誤り数値レジスタ 4 誤り訂正部 5 CRCジェネレータ 6 加算機能付きCRCレジスタ 13 受信CRCジェネレータ 14 エラーパターンCRCジェネレータ 15 加算器機能付きCRCレジスタ 16 2−1セレクタ 17 アップカウンタ 18 アップカウンタ 18′ロード機能付きアップカウンタ 19 比較器 20 クロック制御回路 33 エラーパターン発生回路 34 加算器 35 CRC検証部 40 制御回路
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−161222(JP,A) 特開 昭62−171323(JP,A) 特開 平2−67825(JP,A) 特開 平5−218883(JP,A) (58)調査した分野(Int.Cl.6,DB名) H03M 13/00 G11B 20/18

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 (a) データの誤りを訂正するRS符号
    前記データの誤りを検出するCRCを複数個交錯したデ
    ータ系列を格納したデータバッファを備え、前記データ
    系列は、各々がRS符号化処理された第1〜第nの部分
    データ系列からなり、CRC符号化により予め生成され
    たCRCデータを含み、 (b) 誤り訂正前の前記部分データ系列に基づきRS符号
    のシンドロームを生成するシンドローム生成手段と、 (c) 誤り訂正前の前記部分データ系列に対しCRCの符
    号化処理を行い第1のCRCを求める第1のCRC符号
    化手段と、 (d) 前記シンドロームに基づき、前記部分データ系列の
    誤り位置及び誤り数値を求め、該誤り位置及び誤り数値
    に基づき前記部分データ系列の誤りを訂正する誤り訂正
    手段と、 (e) 前記誤り位置及び誤り数値に基づき、前記部分デー
    タ系列のエラーパターン求め、該エラーパターンに対し
    CRCの符号化処理を行い第2のCRCを求める第2の
    CRC符号化手段と、 (f) 前記第1のCRCあるいは前記第2のCRCを受
    け、その加算合計からなる総計CRCを得る加算手段
    と、 (g) 前記総計CRCと前記データ系列内の前記CRCデ
    ータとを比較して、前記手段(d) による誤り訂正の良否
    を検証するCRC検証手段と、 (h) 前記第1の部分データ系列〜第n部分データ系列の
    順で処理されるように前記手段(b) 〜(g) を制御し、か
    つ前記手段(b) による第j(2≦j≦n)の前記部分デ
    ータ系列に基づくシンドローム生成処理と、前記手段
    (c) による第jの前記部分データ系列に対するCRC符
    号化処理と、前記手段(e) による第(j−1)の前記部
    分データ系列のエラーパターンに対するCRC符号化処
    理とを同時に行わせ、前記手段(e) による第nの前記部
    分データ系列のエラーパターンに対するCRC符号化処
    理終了後に、前記手段(g) による検証動作を行わせる制
    御手段とをさらに備えた誤り訂正回路。
  2. 【請求項2】 前記誤り訂正手段(d) は、 (d-1) アドレスに対応して、前記誤り位置及び誤り数値
    をペアにして格納する記憶手段を備え、 前記第2のCRC符号化手段(e) は、 (e-1) 前記記憶手段(d-1) に格納された前記誤り位置及
    び前記誤り数値に基づき、前記エラーパターンを発生す
    るエラーパターン発生手段と、 (e-2) 前記エラーパターンに対しCRC符号化処理を行
    い前記第2のCRCを出力するエラーパターンCRC符
    号化手段とを備える請求項1記載の誤り訂正回路。
  3. 【請求項3】 前記記憶手段(d-1) は、アドレスに対し
    て前記誤り位置が昇順になるように、前記誤り位置及び
    前記誤り数値を格納し、 前記エラーパターン発生手段(e-1) は、 (e-1-1) 前記部分データ系列の先頭位置を示すカウント
    値を位置カウント初期値とした位置カウント値を順次カ
    ウントアップする手段と、 (e-1-2) 前記記憶手段(d-1) から出力される前記誤り位
    置と前記位置カウント値に基づき、一致信号及び不一致
    信号からなるカウント制御信号を出力する手段と、 (e-1-3) 前記記憶手段(d-1) のアドレス先頭位置を示す
    カウント値をアドレスカウント初期値としたアドレスカ
    ウント値を、前記カウント制御信号が一致信号のときカ
    ウントアップして、前記記憶手段(d-1) のアドレス入力
    部に出力し、前記記憶手段(d-1) から、前記アドレスカ
    ウント値の指示するアドレスに格納された前記誤り位置
    及び前記誤り数値を出力させる手段と、 (e-1-4) 前記カウント制御信号が一致信号のとき前記誤
    り数値を、前記カウント制御信号が不一致信号のとき論
    理値“0”を指示するゼロ信号を、前記エラーパターン
    を構成するエラーパターン信号して出力する選択手段
    とを備える請求項2記載の誤り訂正回路。
  4. 【請求項4】 前記記憶手段(d-1) は、アドレスに対し
    て前記誤り位置が昇順になるように、前記誤り位置及び
    前記誤り数値を格納し、 前記エラーパターン発生手段(e-1) は、(e-1-1) 前記記
    憶手段(d-1) に格納された前記誤り位置のうち、最小の
    誤り位置を指示する最小位置カウント値を位置カウント
    初期値とした位置カウント値を順次カウントアップする
    手段と、(e-1-2) 前記記憶手段(d-1) から出力される前
    記誤り位置と前記位置カウント値に基づき、一致信号及
    び不一致信号からなるカウント制御信号を出力する手段
    と、(e-1-3) 前記記憶手段(d-1) のアドレス先頭位置を
    示すカウント値をアドレスカウント初期値としたアドレ
    スカウント値を、前記カウント制御信号が一致信号のと
    きカウントアップして、前記記憶手段(d-1) のアドレス
    入力部に出力し、前記記憶手段(d-1) から、前記アドレ
    スカウント値の指示するアドレスに格納された前記誤り
    位置及び前記誤り数値を出力させる手段と、(e-1-4) 前
    記カウント制御信号が一致信号のとき前記誤り数値を、
    前記カウント制御信号が不一致信号とき論理値“0”を
    指示するゼロ信号を、前記エラーパターンを構成するエ
    ラーパターン信号として出力する選択手段とを備える請
    求項2記載の誤り訂正回路。
  5. 【請求項5】 (a) データの誤りを訂正するRS符号
    前記データの誤りを検出するCRCを複数個交錯したデ
    ータ系列を格納したデータバッファを備え、前記データ
    系列は、各々がRS符号化処理された第1〜第nの部分
    データ系列からなり、CRC符号化により予め生成され
    たCRCデータを含み、 (b) 誤り訂正前の前記部分データ系列に基づきRS符号
    のシンドロームを生成するシンドローム生成手段と、 (c) 前記シンドロームに基づき、前記部分データ系列の
    誤り位置及び誤り数値を求め、該誤り位置及び誤り数値
    に基づき前記部分データ系列の誤りを訂正する誤り訂正
    手段と、 (d) 前記誤り位置及び誤り数値に基づき、前記部分デー
    タ系列のエラーパターン求め、該エラーパターンと誤り
    訂正前の前記部分データ系列とを加算して合成パターン
    を出力するパターン合成手段と、 (e) 前記合成パターンに対しCRCの符号化処理を行い
    合成CRCを求める合成CRC符号化手段と、 (f) 前記合成CRCを順次受け、その加算合計からなる
    総計CRCを得る加算手段と、 (g) 前記総計CRCと前記データ系列内の前記CRCデ
    ータとを比較して、前記(d) による誤り訂正の良否を検
    証するCRC検証手段と、 (h) 前記第1の部分データ系列〜第n部分データ系列の
    順で処理されるように前記手段(b) 〜(g) を制御し、か
    つ前記手段(b) による第j(2≦j≦n)の前記部分デ
    ータ系列に基づくシンドローム生成処理と、前記手段
    (d) による第jの前記部分データ系列と第(j−1)の
    前記部分データ系列のエラーパターンとの加算処理とを
    同時に行わせ、前記手段(e) による最終の合成パターン
    に対するCRC符号化処理終了後に、前記手段(g) によ
    る検証動作を行わせる制御手段とをさらに備えた誤り訂
    正回路。
  6. 【請求項6】 前記誤り訂正手段(c) は、 (c-1) アドレスに対応して、前記誤り位置及び誤り数値
    をペアにして格納する記憶手段を備え、 前記パターン合成手段(d) は、 (d-1) 前記記憶手段(c-1) に格納された前記誤り位置及
    び前記誤り数値に基づき、前記エラーパターンを発生す
    るエラーパターン発生手段と、 (d-2) 前記エラーパターンと誤り訂正前の前記部分デー
    タ系列とを取り込み、両者を加算して合成パターンを出
    力する加算手段とを備える請求項5記載の誤り訂正回
    路。
  7. 【請求項7】 前記記憶手段(c-1) は、アドレスに対し
    て前記誤り位置が昇順になるように、前記誤り位置及び
    前記誤り数値を格納し、 前記エラーパターン発生手段(d-1) は、(d-1-1) 前記部
    分データ系列の先頭位置を示すカウント値を位置カウン
    ト初期値とした位置カウント値を順次カウントアップす
    る手段と、(d-1-2) 前記記憶手段(c-1) から出力される
    前記誤り位置と前記データ位置カウント値に基づき一致
    信号及び不一致信号からなるカウント制御信号を出力す
    る手段と、(d-1-3) 前記記憶手段(c-1) のアドレス先頭
    位置を示すカウント値をアドレスカウント初期値とした
    アドレスカウント値を、前記カウント制御信号が一致信
    号のときカウントアップして、前記記憶手段(c-1) のア
    ドレス入力部に出力し、前記手段(c-1) から、前記アド
    レスカウント値の指示するアドレスに格納された前記誤
    り位置及び前記誤り数値を出力させる手段と、(d-1-4)
    前記カウント制御信号が一致信号のとき前記誤り数値
    を、前記カウント制御信号が不一致信号のとき論理値
    “0”を指示するゼロ信号を、前記エラーパターンを構
    成するエラーパターン信号として出力する選択手段とを
    備える請求項6記載の誤り訂正回路。
JP4294853A 1992-11-04 1992-11-04 誤り訂正回路 Expired - Fee Related JP2821324B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP4294853A JP2821324B2 (ja) 1992-11-04 1992-11-04 誤り訂正回路
US08/138,037 US5361266A (en) 1992-11-04 1993-10-19 Error correction circuit
DE69328318T DE69328318T2 (de) 1992-11-04 1993-10-21 Fehlerkorrekturschaltung
EP98111910A EP0880237B1 (en) 1992-11-04 1993-10-21 Error correction circuit
DE69323689T DE69323689T2 (de) 1992-11-04 1993-10-21 Schaltung mit Reed-Solomon Fehlerkorrektur und CRC Fehlererkennung
EP93117087A EP0596340B1 (en) 1992-11-04 1993-10-21 Circuit with Reed-Solomon error correction and CRC error detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4294853A JP2821324B2 (ja) 1992-11-04 1992-11-04 誤り訂正回路

Publications (2)

Publication Number Publication Date
JPH06152437A JPH06152437A (ja) 1994-05-31
JP2821324B2 true JP2821324B2 (ja) 1998-11-05

Family

ID=17813102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4294853A Expired - Fee Related JP2821324B2 (ja) 1992-11-04 1992-11-04 誤り訂正回路

Country Status (4)

Country Link
US (1) US5361266A (ja)
EP (2) EP0880237B1 (ja)
JP (1) JP2821324B2 (ja)
DE (2) DE69328318T2 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69320321T2 (de) * 1993-02-05 1998-12-24 Hewlett Packard Co Verfahren und Gerät zum Nachprüfen von CRC-Koden, wobei CRC Teilkode kombiniert werden
US5677919A (en) * 1994-06-10 1997-10-14 Hughes Electronics Faster linear block decoding apparatus and method for receivers in digital cellular communication and other systems
JPH088760A (ja) * 1994-06-16 1996-01-12 Toshiba Corp 誤り訂正装置
US5588010A (en) * 1994-07-29 1996-12-24 International Business Machines Corporation Parallel architecture error correction and conversion system
US5689727A (en) * 1994-09-08 1997-11-18 Western Digital Corporation Disk drive with pipelined embedded ECC/EDC controller which provides parallel operand fetching and instruction execution
JP3305966B2 (ja) * 1995-12-25 2002-07-24 ソニー株式会社 データ復号装置及びその方法並びにデータ再生装置
US5719885A (en) * 1995-12-28 1998-02-17 Emc Corporation Storage reliability method and apparatus
US5942002A (en) * 1996-03-08 1999-08-24 Neo-Lore Method and apparatus for generating a transform
JP3154679B2 (ja) * 1996-10-18 2001-04-09 三菱電機株式会社 連接符号の誤り訂正復号装置及び復号方法
PL192288B1 (pl) * 1996-12-12 2006-09-29 Siemens Schweiz Ag Sposób dekodowania sygnału kodowanego cyklicznie
US6006354A (en) * 1997-02-12 1999-12-21 Stmicroelectronics, Inc. Security device for a video digital to analog converter
JP3239795B2 (ja) * 1997-04-23 2001-12-17 三菱電機株式会社 誤り訂正復号装置および誤り訂正復号方式
US5996105A (en) * 1997-11-14 1999-11-30 Cirrus Logic, Inc. ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
US6253346B1 (en) * 1997-11-29 2001-06-26 Korea Telecommunication Authority Data transmission circuit having cyclic redundancy check circuit and data rate control circuit
US6574776B1 (en) * 1999-04-09 2003-06-03 Oak Technology, Inc. Simultaneous processing for error detection and P-parity ECC encoding
US6092231A (en) * 1998-06-12 2000-07-18 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check
US6128760A (en) * 1998-10-13 2000-10-03 Lsi Logic Corporation Method and apparatus for calculating a CRC remainder
EP1175748B1 (de) 1999-04-30 2004-07-28 Rohde & Schwarz GmbH & Co. KG Verfahren zum messen der empfangsseitigen bitfehlerrate eines dvb-übertragungssystems
DE19919900A1 (de) * 1999-04-30 2000-11-02 Rohde & Schwarz Verfahren zum Messen der empfangsseitigen Bitfhlerrate eines DVB-Übertragungssystems
US6681364B1 (en) * 1999-09-24 2004-01-20 International Business Machines Corporation Cyclic redundancy check for partitioned frames
US6460157B1 (en) * 1999-11-30 2002-10-01 International Business Machines Corporation Method system and program products for error correction code conversion
US6519737B1 (en) 2000-03-07 2003-02-11 International Business Machines Corporation Computing the CRC bits at a time for data whose length in bits is not a multiple of M
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
JP3574124B2 (ja) * 2002-07-30 2004-10-06 富士通株式会社 データ処理装置及びデータ処理方法
KR100496639B1 (ko) * 2002-11-27 2005-06-20 한국전자통신연구원 고정 지연을 갖는 crc 검사장치 및 검사방법
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
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7870346B2 (en) 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for 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
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
US7457903B2 (en) 2003-03-10 2008-11-25 Marvell International Ltd. Interrupt controller for processing fast and regular interrupts
US7278128B1 (en) * 2003-04-11 2007-10-02 Xilinx, Inc. Method of altering a bitstream
US7281196B2 (en) * 2003-08-08 2007-10-09 Matsushita Electric Industrial Co., Ltd. Single error Reed-Solomon decoder
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
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
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
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
US7426678B1 (en) * 2004-07-20 2008-09-16 Xilinx, Inc. Error checking parity and syndrome of a block of data with relocated parity bits
US7415656B2 (en) * 2004-09-27 2008-08-19 Intel Corporation Techniques to preserve bandwidth in a communication system
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
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US7823049B2 (en) * 2006-03-15 2010-10-26 Mediatek Inc. Methods and apparatuses for generating parity symbols for data block
US8127211B2 (en) * 2007-06-20 2012-02-28 Texas Instruments Incorporated Adding known data to CRC processing without increased processing time
TWI416329B (zh) * 2009-01-06 2013-11-21 Starchips Technology Inc 串列傳輸裝置及其訊號傳輸方法
US8312329B1 (en) * 2011-06-13 2012-11-13 Litepoint Corporation System and method for using a single vector signal generator to verify device under test
EP3221969B1 (en) 2014-11-20 2022-05-11 Aviat Networks, Inc. Managing integrity of framed payloads using redundant signals
CN111176885A (zh) * 2019-12-31 2020-05-19 浪潮电子信息产业股份有限公司 一种分布式存储***的数据校验方法及相关装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949342A (en) * 1987-04-14 1990-08-14 Matsushita Electric Industrial Co., Ltd. Code error detecting method
JPS63255876A (ja) * 1987-04-14 1988-10-24 Matsushita Electric Ind Co Ltd 符号誤り検出方法
JP2695195B2 (ja) * 1988-09-02 1997-12-24 三菱電機株式会社 誤り訂正回路
US5157669A (en) * 1988-10-14 1992-10-20 Advanced Micro Devices, Inc. Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
US5027357A (en) * 1988-10-14 1991-06-25 Advanced Micro Devices, Inc. ECC/CRC error detection and correction system
US5136592A (en) * 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
CA2050123C (en) * 1990-10-11 1997-12-09 Subrahmanyam Dravida Apparatus and method for parallel generation of cyclic redundancy check (crc) codes

Also Published As

Publication number Publication date
EP0596340A2 (en) 1994-05-11
DE69323689D1 (de) 1999-04-08
DE69328318T2 (de) 2000-09-07
US5361266A (en) 1994-11-01
DE69328318D1 (de) 2000-05-11
EP0596340B1 (en) 1999-03-03
JPH06152437A (ja) 1994-05-31
EP0880237A1 (en) 1998-11-25
EP0880237B1 (en) 2000-04-05
DE69323689T2 (de) 1999-07-22
EP0596340A3 (en) 1995-09-27

Similar Documents

Publication Publication Date Title
JP2821324B2 (ja) 誤り訂正回路
US5490154A (en) Method of and circuit arrangement for decoding RS-coded data signals
JPS631626B2 (ja)
US5604646A (en) Data error correcting method and signal processing unit for disk accessing apparatus
JP3281387B2 (ja) Crc/edcチェッカシステム
US4914661A (en) Method and apparatus for correcting errors in digital signals having phase fluctuations
JP3345385B2 (ja) チェンサーチ装置
US6522831B2 (en) Reproducing apparatus
JP2999881B2 (ja) リードソロモン符号の復号装置
JP2710427B2 (ja) データブロック信号伝送方法及びその装置
US5615220A (en) Polynomial divider which can perform Euclid's Algorithm to produce an error locator polynomial from an error syndrome polynomial, and apparatus including the polynomial divider
JPH05218883A (ja) 復号回路
JP2000010807A (ja) ディジタルデータ再生装置
JP3135552B2 (ja) リードソロモン符号の誤り検出及び訂正装置
JPS60101766A (ja) アドレス検出方式
JPH05225717A (ja) Datの誤謬訂正のためのアドレス発生回路
JP2000090594A (ja) エラー検出回路及びエラー検出方法
JP3158260B2 (ja) 誤り訂正装置
JPH09330181A (ja) Cd−romドライバにおけるセクタデータデコーディング方法及びその回路
JP3310186B2 (ja) リード・ソロモン符号の復号回路
JP3071482B2 (ja) パケット受信機の誤り訂正回路
JPH10145238A (ja) 誤り訂正装置及び方法
JPH08340342A (ja) 受信データブロックのチェックサムを検証するための方法及び該方法の実施装置
KR19980059945A (ko) 에러정정 장치 및 방법
JPH07254859A (ja) リードソロモン符号の誤り訂正位置の検出方法及びその回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees