Error correction code decoding method and a circuit using this method

申请号 JP13246195 申请日 1995-05-30 公开(公告)号 JP3234130B2 公开(公告)日 2001-12-04
申请人 三菱電機株式会社; 发明人 英夫 吉田;
摘要
权利要求 (57)【特許請求の範囲】
  • 【請求項1】 単位情報データを表わす情報ビットと、
    所定の第1ダミーデータを表わす第1剰余ビットと、か
    ら構成された情報シンボルが複数集まった情報シンボル
    群と、 前記情報シンボルをもとに生成され、前記情報ビットの
    ビット長に相当する部分である第1チェックビットと、
    前記第1剰余ビットのビット長に相当する部分である第
    2チェックビットと、から構成されたチェックシンボル
    が複数集まったチェックシンボル群と、 からなるリードソロモン符号の符号化及び復号化方法で
    あって、 前記リードソロモン符号を送出する際に、 情報シンボルに対しては、情報ビットのみを送出し、第
    1剰余ビットは送出しないプロセスと、チェックシンボ
    ルに対しては、第1チェックビットはそのまま送出し、
    第2チェックビットは前記情報ビットのビット長ごとの
    データにまとめて送出するプロセスと、 前記送出されたリードソロモン符号を復号する際に、 情報シンボルに対しては、送出された第1情報ビットに
    所定の第1剰余ビットを付加したデータをもとにシンド
    ローム計算を行い、且つ送出されたチェックシンボルの
    第1チェックビットに対しては第2ダミーデータを表わ
    す第2剰余ビットを付加したデータをもとにシンドロー
    ム計算を行って第1シンドロームデータを得るプロセス
    と、送出されたチェックシンボルの第2チェックビット
    に対しては、前記情報ビットのビット長ごとにまとめた
    データをもとにシンドローム計算を行い第2シンドロー
    ムデータを得るプロセスと、前記第1シンドロームデー
    タと前記第2シンドロームデータとをガロア体加算する
    プロセスと、を備えることを特徴とする誤り訂正符号復号化方法。
  • 【請求項2】 請求項1に記載の誤り訂正符号復号化方
    法に用いられる符号化回路であって、 前記情報ビットに前記所定の第1剰余ビットを付加する
    付加手段と、 前記第1チェックビットと、前記第2チェックビットを
    前記情報ビットのビット長ごとにまとめたデータと、を
    選択して出力する出力手段と、 を備える ことを特徴とする符号化回路。
  • 【請求項3】 請求項1に記載の誤り訂正符号復号化方
    法に用いられる復号化回路であって、 前記情報ビットに前記第1剰余ビットを付加し、且つ前
    記第1チェックビットに前記第2剰余ビットを付加する
    付加手段と、 前記チェックシンボルの第2チェックビットに対してシ
    ンドローム計算を行って第2シンドロームデータを得る
    補正手段と、 前記情報ビットに前記第1剰余ビットが付加されたデー
    タ、及び前記第1チェックビットに前記第2剰余ビット
    が付加されたデータに対してシンドローム計算を行って
    得られた第1シンドロームデータと前記第2シンドロー
    ムデータとをガロア体加算する加算手段と、 を備える請求項1の誤り訂正復号化方法を用いる復号化回路。
  • 【請求項4】 請求項1に記載の誤り訂正符号復号化方
    法であって、 前記送出されたリードソロモン符号を復号する際に、 前記第2チェックビットを消失位置として消失訂正を行
    うプロセスと、 前記消失訂正で得られた誤りパターンが前記第2剰余ビ
    ットにのみ現れた場合、情報シンボル部分には誤りがな
    いと判定するプロセスと、を備える請求項1の誤り訂正復号化方法。
  • 【請求項5】 請求項1、請求項2、請求項3又は請求
    項4の誤り訂正符号復号化方法であって、 前記リードソロモン符号を送出する際に、 第2チェックビットを前記情報ビットのビット長ごとに
    まとめたデータを多重化して送出するプロセスと、 前記送出されたリードソロモン符号を復号化する際に、 前記送出された第2チェックビットに対しては、多重化
    して送出された前記データについて多数決判定して復号
    するプロセスを備える事を特徴とする誤り訂正符号復号化方法。
  • 【請求項6】 請求項1、請求項2、請求項3又は請求
    項4の誤り訂正符号復号化方法であって、 前記リードソロモン符号を送出する際に、 第2チェックビットに対しては、前記情報ビットのビッ
    ト長の整数倍に合致する検査ビットを有する他の誤り訂
    正符号で符号化を行って送出するプロセスを備え、 前記リードソロモン符号を復号化する際に、 第2チェックビットについては他の誤り訂正符号で復号
    した上で、情報シンボルを復号するプロセスを備える事
    を特徴とする誤り訂正符号復号化回路。
  • 【請求項7】 誤り訂正符号の符号化および復号化を行うに当たって、情報およびチェックバイトを全て0/1
    反転して送出し、復号では読み出されたデータを0/1
    反転してから復号する、プロセスを備えることを特徴とする誤り訂正符号復号化方法。
  • 【請求項8】 復号側で送出されてきたデータについて、通常はそのまま入力してシンドローム計算し、特別な場合においては、データの全てを0/1反転してからシンドローム計算するプロセス、を備える請求項7の誤り訂正符号復号化方法。
  • 【請求項9】 符号長を短縮した誤り訂正符号の符号化および復号化において、情報およびチェックシンボルが全て“1”になるデータが符号となるように、短縮部分にデータパターンを付加してチェックシンボルを生成し、情報およびチェックシンボルのみを送出するプロセスと、復号側において、短縮部分のデータに相当するシンドロームデータを情報およびチェックシンボルより生成されるシンドロームに付加するプロセスと、を備えることを特徴とする誤り訂正符号復号化方法。
  • 【請求項10】 符号化に当たり、情報が入力する前に予め得られているダミーパターンに基づくチェックシンボルを符号化手段に初期値データとして設定する初期値データ設定手段、を備える請求項9の誤り訂正符号化方法に用いる符号化回路
  • 【請求項11】 符号化に当たり、情報を入力して得られたチェックシンボルと、予め得られているダミーパターンに基づくチェックシンボルをガロア体加算したものを符号化チェックシンボルとするガロア体加算回路及び補正データ入力手段、を備える請求項9の誤り訂正符号化方法に用いる符号化回路。
  • 【請求項12】 復号化に当たり、送出されてきた符号データが入力する前に、予め得られているダミーパターンに基づくシンドロームデータを、シンドローム回路に初期値として設定する初期値データ設定手段、を備える請求項9の誤り訂正復号化方法に用いる復号化回路。
  • 【請求項13】 復号化に当たり、送出されてきた符号データのシンドロームデータと、予め得られているダミーパターンに基づくシンドロームデータをガロア体加算したものを符号シンドロームデータとするガロア体加算回路及び補正データ入力手段、を備える請求項9の誤り訂正復号化方法に用いる復号化回路。
  • 【請求項14】 復号化に当たり、通常は、読み出された符号データに基づくシンドロームを使って誤り訂正を行うプロセスと、特別な場合においては、ダミーパターンに基づくシンドロームデータをシンドローム計算前に設定およびシンドローム計算後の少なくとも一方でガロア体加算するプロセスと、を備える請求項9の誤り訂正復号化方法。
  • 【請求項15】 符号長を短縮した誤り訂正符号の符号化および復号化において、情報の1シンボル前の短縮部分に、その符号固有のデータパターンを付加してチェックシンボルを生成し、情報およびチェックシンボルのみ送出するプロセスと、復号側で、短縮部分に付加した符号固有データパターンに相当するシンドロームを情報およびチェックシンボルより生成されるシンドロームに付加するプロセスと、を備えることを特徴とする誤り訂正符号復号化方法。
  • 【請求項16】 符号化に当たり、情報が入力する前に予め得られている符号固有のデータに基づくチェックシンボルを符号化手段に初期値データとして設定する初期値データ設定手段、を備える請求項15の誤り訂正符号化方法に用いる符号化回路。
  • 【請求項17】 符号化に当たり、情報を入力して得られたチェックシンボルと、予め得られている符号固有のデータに基づくチェックシンボルをガロア体加算したものを符号化チェックシンボルとするガロア体加算回路及び補正データ入力手段、を備える請求項15の誤り訂正符号化方法に用いる符号化回路。
  • 【請求項18】 復号化に当たり、送出されてきた符号データが入力する前に、予め期待される符号固有のデータに基づくシンドロームデータをシンドローム手段に初期値として設定する初期値データ設定手段、を備える請求項15の誤り訂正復号化方法に用いる復号化回路。
  • 【請求項19】 復号化に当たり、送出されてきた符号データのシンドロームデータと、予め期待される符号固有のデータに基づくシンドロームデータをガロア体加算したものを符号のシンドロームデータとするガロア体加算回路及び補正データ入力手段、を備える請求項15の誤り訂正復号化方法に用いる復号化回路。
  • 【請求項20】 復号化に当たり、通常においては、短縮部分に付加した符号固有データパターンに相当するシンドロームと、情報およびチェックシンボルより生成されるシンドロームに付加したシンドロームから復号する時に、短縮部分を含めて訂正する訂正手段と、短縮部分の付加データの復号結果により同期ずれを判定する判定手段と、を備える請求項15、請求項18又は請求項1
    9の誤り訂正復号化方法又は回路に用いる復号化回路。
  • 【請求項21】 符号化、復号化に当たり、通常においては、情報の1シンボル前の短縮部分にその符号固有のデータパターンを付加してチェックシンボルを生成し、
    情報およびチェックシンボルのみ送出するプロセスと、
    復号において、短縮部分に付加した符号固有データパターンに相当するシンドロームを情報およびチェックシンボルより生成されるシンドロームに付加するプロセスと、特別な場合には、符号データが全て“1”となるように付加したダミーパターンに基づくシンドロームデータを情報およびチェックシンボルより生成されるシンドロームに付加するプロセスと、を備える請求項9又は請求項15の誤り訂正符号化復号化方法。
  • 【請求項22】 受信した誤り訂正符号化されたデータを入力部よりバッファメモリに蓄え前記誤り訂正符号により複数回復号操作を行う復号回路において、誤り訂正符号化されたデータをバッファメモリに蓄えて複数回の復号操作を行うシンドローム計算手段と、入力データに対するシンドローム計算を行うと共にバッファメモリのデータに対するシンドローム計算を行うプロセスと、2
    つのシンドロームを選択すると共に誤りを訂正して復号を行うプロセスと、を備えることを特徴とする誤り訂正復号化回路。
  • 【請求項23】 誤り訂正符号化および復号化において、1ビット誤り訂正、2ビット誤り検出を行う(7
    6、64)バイナリ線形符号において、パリティ検査行列の重みを、“1”、“3”、“7”のみで処理するプロセス、を備えることを特徴とする誤り訂正符号復号化方法。
  • 【請求項24】 (76、64)バイナリ線形符号の復号において、シンドローム計算を行うシンドローム計算手段と、誤り訂正を行う誤り訂正手段と、8ビットのシンドロームのビット重みが全“0”を除く偶数および“5”の時に、訂正不可を判定する訂正不可検出手段と、を備える請求項23の誤り訂正復号化方法に用いる復号化回路。
  • 【請求項25】 (76、64)バイナリ線形符号の復号において、パリティ検査行列を、 【数1】 として処理するプロセス、を備える請求項23又は請求項24の誤り訂正符号復号化方法。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】この発明は誤り訂正符号復号化方法及びその回路に係り、特に、データ伝送あるいはデータ記録などのデータ送出において、情報シンボルより大きなシンボル上で構成するリードソロモン符号の符号化および復号化の方法およびこれを実現するための回路に関する。

    【0002】

    【従来の技術】一般に、ディジタル情報を伝送する際には、誤り訂正符号がよく用いられる。 例えば、文献「符号理論」(今井秀樹著、電子情報通信学会編、平成2年3月15日初版発行)には、さまざまな誤り訂正符号復号化方法が開示されている。 その中でも、リードソロモン符号は、8ビットをシンボルとしてシンボル誤り訂正ができる点で、コンピュータあるいはディジタル機器との整合性が高く、情報伝送や情報記録などの多くの装置に適用されている。

    【0003】一方、フラッシュメモリは、書き込み消去ができる上に、電源がなくてもデータを保存でき、またDRAM以上に高集積化ができるデバイスとして注目されており、メモリディスクとしての応用が期待されている。 しかし、フラッシュメモリは、書き込みおよび消去を繰り返していると内部のセルが破壊され、データを破壊する可能性がある。 このため、フラッシュメモリにデータの記録を行う場合は、誤り訂正符号を用いることが多い。 また、データの消去を行った場合、データは全て“1”となるので、これをチェックして消去の確認を行う。

    【0004】一般に、ディスクメモリにデータを記録する場合、情報データの512バイトを1セクタとして記憶する。 また、メモリも8ビットを単位として記憶するため、8ビットを1シンボルとするリードソロモン符号が用いられる。 しかし、8ビットを1シンボルとするリードソロモン符号では、符号長が一般に255までしかとれないために、複数の符号語に分ける方法が用いられる。

    【0005】これに対して、例えば、符号長が、一般に1023シンボルまで可能な、1シンボルを10ビットとするリードソロモン符号を用いることによって、1セクタのデータを1符号語のリードソロモン符号で保護する方法も用いられている。

    【0006】図15は、かかる従来の誤り訂正符号復号化方法における符号の構成例を示す説明図であり、特に(418、410)リードソロモン符号を示している。

    【0007】ここで、“418”は符号シンボル長、
    “410”は情報長であり、4シンボルの訂正が可能である。 図15において、30は短縮符号部分、31は実情報データシンボル部分、32はチェックシンボル部分、36はダミーシンボル部分を示している。

    【0008】さて、図15に示すリードソロモン符号は、本来、符号長1023シンボルの符号であるが、短縮符号部分30の605シンボルは、0であるものとして符号化する。 また1セクタを512バイトとすると、
    4096ビットとなり、10ビット/シンボルとするには、4ビット足りない。 このため、4ビットのダミーシンボル部分36を付加し、それより実情報データシンボル部分31を410シンボルとして、チェックシンボル部分32を8シンボル、つまり10ビット生成する。

    【0009】次に、図15のリードソロモン符号のチェックバイトを生成する符号化回路を図16を用いて説明する。 なお、ここでは、フラッシュメモリで一般的に処理されるようにデータの入は8ビット単位、チェックシンボルの出力も8ビット単位とする。 さて、図16において、22は8ビット構成の情報データ入力端子、1
    9は8ビット/10ビット変換回路、23はGF(2E
    10)上のリードソロモン符号の符号化回路、26は8
    ビットのチェックシンボル出力端子、29は10ビット/8ビット変換回路である。

    【0010】次に、図16の構成の動作を説明する。 符号化回路23では、リードソロモン符号のチェックシンボルが生成される。 そのため、予め、符号化回路23は“0”クリアされている。

    【0011】まず、8ビットの情報データが情報データ入力端子22より入力され、8ビット/10ビット変換回路19に入る。 8ビット/10ビット変換回路19では、10ビットの情報が蓄えられれば、その情報を符号化回路23に入力する。

    【0012】図15におけるダミーシンボル部分36の4ビットを含め、実情報データシンボル部分31が全て符号化回路23に入力されると、8シンボル(80ビット)のチェックシンボル部分32が得られる。 すなわち、短縮符号部分30は計算を行う必要がない。

    【0013】チェックシンボル部分32は、10ビット/8ビット変換回路29により、上位から10ビット/
    8ビット変換され、8ビット毎にチェックバイトデータがチェックシンボル出力端子26より出力される。 すなわち、10バイトのデータがチェックシンボルとして出力される。

    【0014】次に、図17を用いて、従来の復号化方法、特にシンドローム計算について説明する。 ちなみに、図17の構成は、フラッシュメモリを想定して、データの消去チェックの機能も含んでいる。 さて、図17
    において、1は8ビットの受信データを入力するためのデータ入力端子、5はGF(2E10)上のガロア体加算回路、7は10ビットのレジスタ、8はGF(2E1
    0)上のガロア体係数乗算回路、9はシンドローム出力端子、20は8ビットデータが全て“1”、つまりHE
    Xコードで“FF”であるか否かをチェックするFFチェック回路、21は消去検査フラグ出力端子である。

    【0015】まず、誤り訂正としての復号であるが、レジスタ7は予め0クリアされているものとする。 データ入力端子1より入力された受信データは、8ビット/1
    0ビット変換回路19に入力される。 8ビット/10ビット変換回路19で、10ビットのデータが蓄えられれば、その情報は、ガロア体係数乗算回路8の出力と、ガロア体加算回路5においてガロア体加算される。 そして、加算結果はレジスタ7に入力される。 ちなみに、レジスタ7の出力はガロア体係数乗算回路8の入力端子に送出される。

    【0016】これを、図15における実情報データシンボル部分31およびチェックシンボル部分32について全て入力した時のレジスタ7の状態がシンドロームS j
    となり、シンドローム出力端子9より出力される。

    【0017】この時、リードソロモン符号の先頭データシンボルが“0”で、シンボル単位でスリップが生じていても、リードソロモン符号が巡回符号であることから、訂正によりスリップしたまま復号する可能性がある。

    【0018】一方、フラッシュメモリにおいてデータを消去した場合、データは全て“1”となるが、その消去が異常なく実行されたか否かを調べる必要がある。

    【0019】この場合は、データ入力端子1よりの8ビットデータは、FFチェック回路20に入り、1ビットでも“0”が検出されれば、異常フラグを消去検査フラグ出力端子21より出力する。

    【0020】さて、従来から、誤り訂正を行う場合、積符号の構成である符号の復号では、一旦メモリに蓄えた上で、復号を行う。 図18は、このような場合の例を示す回路ブロック図である。 図において、59はバッファメモリ、60はシンドローム回路、63は誤り位置および大きさを求める誤り位置/大きさ検出回路、64は訂正回路、65は訂正後の復号データ出力端子である。

    【0021】以上のような構成において、データ入力端子1から入力された符号化データは、バッファメモリ5
    9に蓄えられ、その後にインターリーブを解かれ、符号化系列にされシンドローム回路60に入力される。 そこで得られたシンドロームを基に、誤り位置/大きさ検出回路63で誤り位置およびその大きさを求め、訂正回路64でバッファメモリ59にある誤り位置のデータを読み出し、誤りを訂正してバッファメモリ59に書き込む。 積符号などでは、この復号操作を複数回繰り返し、
    全て復号して復号データ出力端子65より出力する。

    【0022】以上のような操作を、ひとつのバッファメモリで行う場合、受信データの入力、シンドローム回路への出力、誤り位置のデータ入出力、訂正したデータの出力などを、時分割で行う必要がある。 特に、積符号などの複数回繰り返し復号を行う場合、高速アクセス可能なバッファメモリを用いる必要がある。

    【0023】さて、メモリ等の信頼性を保持するために、1ビット誤り訂正、2ビット誤り検出符号が良く用いられる。 (72、64)バイナリ線形符号はその代表的な例である。 ここで、“72”はビット符号長、“6
    4”はビット情報長である。すなわち、チェックビットは8ビットである。

    【0024】このような符号の復号回路は、一般に、符号ビットデータの全てを並列で処理して復号することが多く、併せて、誤りを検出するための回路を有することが多い。 このような符号については、例えば、文献「フォールトトレランスシステム論」(当麻喜弘編著、電子情報通信学会編、平成2年6月10日初版発行)に示されている。

    【0025】図19は、(72、64)バイナリ線形符号の復号回路の従来例を示す回路ブロック図である。 図において、66はシンドローム回路60からの信号を入力される8入力OR回路、67は誤り位置/大きさ検出回路63からの信号を入力される72ビット入力NOR
    回路、68は8入力OR回路66と72ビット入力NO
    R回路67の出力を与えられる2入力AND回路、49
    は2入力AND回路68からの訂正不可検出フラグを出力するための訂正不可検出フラグ出力端子である。

    【0026】以上のような構成において、メモリの誤り訂正の場合、データバスがパラレルに構成されるため、
    72ビットの符号データがシンドローム回路60に一度に入力される。 シンドローム回路60では、受信データより8ビットのシンドロームを生成して出力する。 誤り位置/大きさ検出回路63は、パリティ検査行列により決定されるチェックビットを含む各ビット位置の8ビットのパターンと、シンドロームが一致するかどうかを検査する。 その結果は、72ビット入力NOR回路67と訂正回路64に送られる。 このとき、訂正回路64には情報部分の64ビットを送る。 訂正回路64では、受信した各情報ビットと各ビットの誤り検出結果とを、それぞれ排他的論理和演算し、その結果を、復号データ出力端子65より出力する。

    【0027】なお、この符号では2ビット誤りに対する誤り検出が行われる。 これは、シンドロームが“0”でなく、かつ72ビットの符号長のパリティ検査行列のパターンに合致しない場合、訂正不可であり誤り検出となる。 8入力OR回路66は、シンドロームの8ビットが“0”でないことを検査し、72ビット入力NOR回路67は1ビット誤りではないことを検査し、2入力AN
    D回路68で2つの検査結果の論理積をとって訂正不可検出フラグ出力端子49から出力する。

    【0028】以上のような構成および作用については、
    例えば特公昭53−5099(D.W.プライス、19
    72年11月8日出願)にも示されている。

    【0029】

    【発明が解決しようとする課題】従来の誤り訂正符号復号化方法は、以上のように構成されていたので、次に述べるような数々の課題を残している。

    【0030】第1の課題として、8ビット入出力データに対して、例えば1シンボル10ビットのリードソロモン符号を用いる場合、8ビット/10ビット変換回路や10ビット/8ビット変換回路が必要であり、シンボルクロックも8ビット用と10ビット用を生成する必要があり、ビットクロックが必要であった。

    【0031】第2の課題として、フラッシュメモリの消去のチェックのためには、全て“1”であることをチェックする特別の回路が必要であった。

    【0032】第3の課題は、リードソロモン符号がシンボル単位でスリップを生じていても、リードソロモン符号が巡回符号であることから、訂正によりスリップしたまま復号する可能性がある。

    【0033】第4の課題は、符号化データをメモリに蓄えた場合、メモリは受信データの入力、復号回路への入出力、復号結果の出力を時分割でアクセスすることになるため、複数回の復号のためには、高速アクセスのメモリが必要である。

    【0034】第5の課題は、メモリの誤り訂正に用いる(72、64)バイナリ線形符号において、誤り訂正不可フラグを出力するために、72ビットの1ビット誤り検査と、その結果の論理演算を行う回路が必要であり、
    そのために大きな遅延時間を余儀なくされると共に論理演算のために多くのゲート数の回路が必要である。

    【0035】この発明は上記のような従来技術の問題点を解消するためになされたもので、8ビットシンボルのみを扱うようにすると共に冗長な回路を省略することにより簡単な構成で誤り訂正および符号復号化を行うことを可能にすると共に信頼性に優れた誤り訂正符号復号化方法及びその回路を提供することを目的とする。

    【0036】

    【課題を解決するための手段】上記目的を達成するために、この発明は、請求項1に記載の誤り訂正符号復号化方法として、情報データのシンボルよりも大きなシンボル上で構成するリードソロモン符号の符号化および復号化方法において、情報シンボルのビット長を越えるリードソロモン符号のシンボルのビットデータは、ダミーデータを設定して送出しないプロセスと、復号では情報部分のシンボルにリードソロモン符号のシンボルとして不足するビットデータとして予めダミーデータを付加するプロセスと、チェックシンボル部分は、情報シンボルのビット長に相当する部分はそのまま送出し、情報シンボルのビット長を越える部分は、情報シンボルのビット長に相当するチェックシンボル部分を送出した後に情報シンボルのビット長ごとにまとめて送出するプロセスと、
    復号では先に送出された情報シンボルのビット長に相当するチェックシンボル部分は、ダミーデータを付加してそのままシンドローム計算し、後に送出された情報シンボルのビット長を越える部分のまとめられたデータに対しては、そのチェックビットデータに基づくシンドローム計算を行うプロセスと、先に得られている情報およびチェックシンボルからシンドロームとガロア体加算するプロセスと、を備える誤り訂正符号復号化方法を提供するものである。

    【0037】上記目的を達成するために、この発明は、
    請求項7に記載の誤り訂正符号復号化方法として、誤り訂正符号の符号化および復号化を行うに当たって、情報およびチェックバイトを全て0/1反転して送出し、復号では読み出されたデータを0/1反転してから復号する、プロセスを備える誤り訂正符号復号化方法を提供するものである。

    【0038】上記目的を達成するために、この発明は、
    請求項9に記載の誤り訂正符号復号化方法として、符号長を短縮した誤り訂正符号の符号化および復号化において、情報およびチェックシンボルが全て“1”になるデータが符号となるように、短縮部分にデータパターンを付加してチェックシンボルを生成し、情報およびチェックシンボルのみを送出するプロセスと、復号側において、短縮部分のデータに相当するシンドロームデータを情報およびチェックシンボルより生成されるシンドロームに付加するプロセスと、を備える誤り訂正符号復号化方法を提供するものである。

    【0039】上記目的を達成するために、この発明は、
    請求項15に記載の誤り訂正符号復号化方法として、符号長を短縮した誤り訂正符号の符号化および復号化において、情報の1シンボル前の短縮部分に、その符号固有のデータパターンを付加してチェックシンボルを生成し、情報およびチェックシンボルのみ送出するプロセスと、復号側で、短縮部分に付加した符号固有データパターンに相当するシンドロームを、情報およびチェックシンボルより生成されるシンドロームに付加するプロセスと、を備える誤り訂正符号復号化方法を提供するものである。

    【0040】上記目的を達成するために、この発明は、
    請求項22に記載の誤り訂正復号化回路として、受信した誤り訂正符号化されたデータを入力部よりバッファメモリに蓄え前記誤り訂正符号により複数回復号操作を行う復号回路において、誤り訂正符号化されたデータをバッファメモリに蓄えて複数回の復号操作を行うプロセスと、入力データに対するシンドローム計算を行うと共にバッファメモリのデータに対するシンドローム計算を行うシンドローム計算手段と、2つのシンドロームを選択すると共に誤りを訂正して復号を行う手段と、を備える誤り訂正復号化回路を提供するものである。

    【0041】上記目的を達成するために、この発明は、
    請求項23に記載の誤り訂正符号復号化方法として、誤り訂正符号化および復号化において、1ビット誤り訂正、2ビット誤り検出を行う(76、64)バイナリ線形符号において、パリティ検査行列の重みを、“1”、
    “3”、“7”のみで処理するプロセス、を備える誤り訂正符号復号化方法を提供するものである。

    【0042】

    【作用】上記手段において、この発明の請求項1に記載の誤り訂正符号復号化方法は、例えば情報8ビットを1
    シンボルとして、それより大きいシンボルで構成されるリードソロモン符号に対して、不足するビットはダミーデータを与えて、1シンボルとし、これにより生成されたリードソロモン符号のチェックシンボルは、情報と同じ8ビットについては情報シンボルに続けて送出し、余ったチェックシンボルのビットは、後からまとめて送るようにし、復号においては、8ビットの情報シンボルおよび8ビットのチェックシンボルにダミービットを付加してシンドローム計算を行い、後に続く余りをまとめたチェックシンボルのビットデータに対しては、補正計算を行う。

    【0043】上記手段において、この発明の請求項7に記載の誤り訂正符号復号化方法は、例えば、情報およびチェックシンボルを全て反転した上でフラッシュメモリなどに記録し、読み出しにおいては、これを全て反転して復号することで、フラッシュメモリの消去状態である全“1”を、全“0”の符号化データとして扱うことを可能にする。

    【0044】上記手段において、この発明の請求項9に記載の誤り訂正符号復号化方法は、短縮部分に情報およびチェックバイトが全て“1”であっても符号となるようにダミー情報を設定し、復号側においては、短縮部分のデータに相当するシンドロームデータを情報およびチェックシンボルより生成されるシンドロームに付加して復号を行う。

    【0045】上記手段において、この発明の請求項15
    に記載の誤り訂正符号復号化方法は、短縮部分の先頭にその符号固有のデータを与え、符号化においてはその固有データに基づくチェックシンボルを生成して、情報およびチェックシンボルのみ送出し、復号においては、固有データパターンに相当するシンドロームを情報およびチェックシンボルより生成されるシンドロームに付加して復号を行う。

    【0046】上記手段において、この発明の請求項22
    に記載の誤り訂正復号化回路は、入力データに対応するシンドロームと、バッファメモリのデータに対するシンドロームを選択し、これに基づく誤り訂正と復号を行うことにより、バッファメモリへのアクセス回数を低減し、バッファメモリの低速化を可能にする。

    【0047】上記手段において、この発明の請求項23
    に記載の誤り訂正符号復号化方法は、誤り訂正符号化および復号化において、1ビット誤り訂正、2ビット誤り検出を行う(76、64)バイナリ線形符号において、
    パリティ検査行列の重みが“1”、“3”、“7”となるように構成し、誤り訂正不可の検出には、シンドロームの重みを求め、この重み検出に基づく誤り訂正不可の検出を行う。

    【0048】

    【実施例】

    実施例1. 図1は、この発明の実施例1の誤り訂正符号復号化方法を実現するための回路ブロック図であり、特に1シンボル10ビットの(1023、1015)リードソロモン符号を短縮した(520、512)リードソロモン符号符号のシンドローム演算までを示した復号回路を示すものである。

    【0049】図において、2は1シンボル中の剰余ビットである2ビットのダミーデータ(例えば、“00”を入力するためのダミーデータ入力回路)、3はチェックシンボルのオーバー分(2ビットX8シンボル)によるシンドロームデータを生成するシンドロームデータ補正回路、4は10ビットの2つのデータを選択して出力するセレクタ、5は従来のGF(2E10)上のガロア体加算回路、7は10ビットのレジスタ、8はGF(2E
    10)上のガロア体係数乗算回路、6は10ビットの2
    つのデータを選択するセレクタ、9はシンドローム出力端子、10はデータ入力端子1に接続される0/1反転回路である。

    【0050】ちなみに、この実施例1は、先に述べた第1の課題と、第2の課題を解決するものである。

    【0051】以上述べたような構成において、次にその動作を説明する。

    【0052】図1の構成においては、符号データは、全て0/1が反転した状態で記録されているものとする。
    つまり、データ入力端子1から入力される符号データは、8ビット単位で反転したデータである。 このデータは、0/1反転回路10において、反転される。 すなわち、記録データの全ビットが“1”の場合、符号は反転して全て“0”となる。 したがって、フラッシュメモリの消去において、消去データは全て“1”となるので、
    0/1反転回路10の出力としては、全て“0”の符号としてシンドロームチェックできることになる。

    【0053】つまり、第2の課題が解決される。

    【0054】次に、第1の課題に対応する動作を説明する。

    【0055】まず、先に送られた512バイトの情報は、剰余ビットである2ビットについて、例えば“0”
    として符号化されており、受信側においても、ダミーデータ入力回路2よりダミーデータ(例えば、“0”)を付加して、10ビットのシンボルとしてセレクタ4を介してガロア体加算回路5に入力される。

    【0056】ガロア体加算回路5のもうひとつの入力は、初期値を“0”とするレジスタ7から、ガロア体係数乗算回路8を通じて、セレクタ6から出力されるデータである。 この回路系は従来のシンドローム回路と同じ演算を行う。

    【0057】次に、8シンボルチェックバイトが入力されるが、これは情報シンボルと同じ8ビットのデータについてのみ入力され、情報シンボル同様、ダミーデータ入力回路2よりダミーデータ(例えば、“0”)を付加して10ビットのシンボルとしてセレクタ4よりガロア体加算回路5に入力され、先の情報シンボルと同様にシンドローム計算が行われる。

    【0058】最後に、符号の系列として、各チェックシンボル中のオーバービット2ビットが、8ビット単位にまとめられ、8ビットデータとして2シンボル入力される。 このデータはシンドロームデータ補正回路3に入力され、

    【数2】

    なる、GF(2

    10 )のガロア体係数乗算および加算が行われる。 ここで、diはHEXコードで表現される00


    0(HEX)、100(HEX)、200(HEX)、


    300(HEX)のいずれかである。 ここで得られた補正データは、前のチェックシンボルまでのシンドロームデータとガロア体加算回路5で加算される。 ちなみに、


    前のチェックシンボルは、レジスタ7から、セレクタ4


    を通り、セレクタ6を通じて出力されるシンボルである。 そして、ガロア体加算回路5の加算結果は、再びレジスタ7に記憶される。 そして、これがシンドロームデータS

    jとしてシンドローム出力端子9より出力される。

    【0059】ここで、シンドロームデータ補正回路3の構成の第1の例を図10の回路ブロック図に基づいて説明する。 図において、37は8ビットの受信データ入力端子、38〜40はGF(2 10 )上のガロア体係数乗算回路、41〜44はGF(2 10 )上のガロア体加算回路、45は10ビットのレジスタ、46はGF(2 10
    上のガロア体係数乗算回路、47は補正データ出力端子である。

    【0060】以上のような構成において、次にその動作を説明する。

    【0061】この例では、8ビットの入力に対して、4
    シンボルのチェックシンボルの上位2ビットが一度に入力され、それが2シンボル入る。 8ビットで受信データ入力端子37より入力されたシンボルが、それに対し、
    チェックシンボルの次数の高い方から順にα 3j 、α 2j
    α jの係数を有するガロア体係数乗算回路38〜40
    に、それぞれ入力され、その結果がガロア体加算回路4
    1〜43で加算される。

    【0062】これらは、上位2ビットのみ“1”になるので、下位8ビットに関係する論理回路は省略でき、小さな回路規模で実現できる。

    【0063】ガロア体加算回路43の結果は、ガロア体加算回路44に入力され、ガロア体係数乗算回路46の出力と加算され、レジスタ45に入力される。 レジスタ45は初期値を“0”とし、その出力をガロア体係数乗算回路46に入力する。 ガロア体係数乗算回路46は、
    図1におけるガロア体係数乗算回路8と同じ役割を果たすが、ガロア体係数乗算回路8の4乗倍の係数乗算を行う。 これは、8ビットのデータに4シンボルのチェックバイトの上位2ビットが割り当てられているためである。 次のチェックシンボルの上位2ビットのデータも、
    同様に処理され、レジスタ45に記憶される。 以上のような処理を通じて、補正データの計算を終了する。

    【0064】次に、シンドロームデータ補正回路3の構成の第2の例を図11の回路ブロック図に基づいて説明する。 図11の構成は、図10に示した構成から、レジスタ45およびガロア体加算回路44を外して、セレクタ48を追加したものとなっている。

    【0065】以上のような構成において、次にその動作を説明する。

    【0066】図11の構成において、ガロア体加算回路43までの動作は、図10の場合と同様である。

    【0067】一方、先に入力されたシンボルに対して得られたガロア体加算回路43の出力は、ガロア体係数乗算回路46を通り、セレクタ48を通って、補正データ出力端子47より出力される。

    【0068】この結果を、図1のセレクタ4を通じて、
    セレクタ6を通って出力されるレジスタ7の出力結果と、ガロア体加算回路5で加算し、レジスタ7に記憶する。 そして、次の8ビットシンボルデータによるガロア体加算回路43の出力を、そのままセレクタ48を通り、先のシンボルと同様の操作を行うことにより、シンドロームが得られる。

    【0069】実施例2. 図2は、この発明の実施例2の誤り訂正符号復号化方法を実現するための回路ブロック図であり、特に第2の課題に対する解決を図るものである。

    【0070】さて、実施例1では、符号化データを反転して記録したので、全て“1”のデータが、情報が全て“0”の符号なのか、消去によって全て“1”となっているのかの区別がつかないという問題点があったが、図2の構成は、この問題を解決するものである。

    【0071】図2において、11は8ビットの2入力データに対応したセレクタであり、データ入力端子1からの入力を0/1反転回路10を通じて取り込むか、直接取り込むかの選択を行っている。

    【0072】以上のような構成において、通常においては、データ入力端子1からの受信データをセレクタ11
    を通じて、直接取り込みシンドローム計算を行い、フラッシュメモリの消去チェックの時のみ、0/1反転回路10を通じて入力されるデータをセレクタ11で選択して取り出し、シンドローム計算する。

    【0073】なお、この場合は、通常の符号化データは、0/1の反転は行わずに記憶させる。

    【0074】ところで、この実施例2では、0/1反転回路10とセレクタ11を分けて制御する構成を例示しているが、両者を合わせた機能は排他的論理和回路を用いて実現できることは、周知である。

    【0075】実施例3. さて、実施例1、実施例2では、第2の課題に対して、0/1反転回路を用いて、フラッシュメモリの消去、すなわち全て“1”の状態をチェックする方法を示したが、この実施例3では、シンドロームのレジスタ7の初期値設定だけで、フラッシュメモリの消去のチェックが行える方法を提示する。 また、
    この実施例3では、第3の課題に対応して、シンボル単位のスリップが生じても、これを検出できる方法を提示する。

    【0076】図8は、この実施例3を実行するに当たっての(520、512)リードソロモン符号の構成法を示している。 ちなみに、図8の符号構成は、実施例1における、第1の課題の解決のためにも適用される。

    【0077】さて、図8において、30は短縮符号部分、31は実情報データシンボル部分、32はチェックシンボル部分、33は情報およびチェックシンボルが全て“1”であっても、符号となるように挿入したダミーシンボル、34は10ビットのチェックシンボルのうちの各上位2ビットをまとめて符号系列の後ろに付加した付加チェックシンボルである。

    【0078】さて、10ビットを1シンボルとするリードソロモン符号は、通常1023シンボルまでの符号長をとることができる。 そこで、図15の従来例と異なり、フラッシュメモリの記憶単位である8ビットの実情報データシンボル部分31を1シンボルとして、上位2
    ビットにはダミーとして、例えば“0”を挿入する。 これにより、8ビット/10ビットの変換が不要となる。

    【0079】この情報シンボルにより生成されるチェックシンボル部分32は、1シンボル当たり10ビットであり、上位2ビットが固定データである保証はない。 そこで、下位8ビットのみは8ビット情報シンボルに続いて配置し、上位の2ビットは8ビット単位にまとめて、
    チェックバイトであるチェックシンボル部分32の後に、剰余シンボルとして付加チェックシンボル34を2
    シンボル配置する。 これらの動作は、シンボルクロック処理できることであり、全ての操作がシンボルクロックで可能になる。

    【0080】次に、第2、第3の課題に対する解決策となる符号構成を図8にしたがって説明する。 例えば、1
    シンボルを10ビットとする(1023、1015)リードソロモン符号の例として、原始多項を

    【数3】

    とし、生成多項式を

    【数4】

    とする。 ただし、

    【数5】

    であり、βはP(X)の原始元である。 この場合、ダミーデータの先頭部分を0番目、すなわち実情報シンボル部分31の先頭を503番目として、短縮符号部分30


    であるシンボル部分にダミーシンボル33として、位置278番目に19D(HEX)、454番目に0AB


    (HEX)を設定すると、図8における実情報データシンボル部分31が全て“1”、情報シンボルの上位2ビット部分を“0”とした場合、チェックシンボル部分3


    2の8シンボルは全て“1”となる。 すなわち、フラッシュメモリの消去状態である全てが“1”の状態を図8


    における(520、512)リードソロモン符号の符号として見ることができる。

    【0081】次に、図8に示した符号構成における符号化回路について説明する。

    【0082】図6は、図8における符号構成に対応した符号化回路の構成例を示す回路ブロック図である。 図において、22は8ビットの情報データ入力端子、2は情報シンボルの上位2ビットのダミーデータ入力回路、2
    3は、例えば、線形帰還シフトレジスタタイプの初期位置設定可能なGF(2 10 )上の符号化回路、24は符号化回路23のレジスタの初期値設定を行うための符号化回路初期値データ設定回路、25はチェックシンボルの下位8ビットか上位2ビットを束ねて8ビットとしたシンボルを出力として選択するセレクタ、26はチェックバイトデータを出力するチェックシンボル出力端子である。

    【0083】図からも明らかなように、この回路構成は従来の符号化回路と演算量、回路規模においてほとんど変わらない構成となっている。

    【0084】以上述べたような構成において、次にその動作を説明する。

    【0085】まず、8ビットの情報データが情報データ入力端子22に入る前に、図8におけるダミーシンボル33を入力し、符号化回路23で計算する。 しかし、ダミーシンボル33は固定値であるので、次に続く情報データが入力される前の符号化回路における状態は、事前に計算しておくことができる。 例えば、符号化回路23
    を、従来から用いられてきたような情報シンボルを入力した時点でチェックシンボルが得られる線形帰還シフトレジスタタイプとし、チェックシンボルを多項式次数の係数とみなして、その計算途中となるレジスタの状態を高次から見ると、174(HEX)、0B6(HE
    X)、105(HEX)、0EA(HEX)、26B
    (HEX)、260(HEX)、18F(HEX)、0
    D7(HEX)となる。 したがって、この計算結果を、
    符号化回路初期値データ設定回路24から、符号化回路23のレジスタに対して、初期値として与えればよい。
    ちなみに、このような初期値を与えるための構成は、例えば、フリップフロップ回路のセット端子やリセット端子にダイレクトにデータを設定するように構成することで実現できる。

    【0086】これに続いて、情報データ入力端子22から入力された8ビットの情報データは、2ビットのダミーデータ入力回路2により、例えば“0”を2ビット付加されて、10ビットのシンボルデータの形で、符号化回路23に入力される。 そして、512シンボルの8ビット情報データを入力し終えた時点で、符号化回路23
    では8シンボルのチェックシンボルが得られている。 ただし、これは1シンボルを10ビットとしたシンボルである。 そこで、まず各チェックシンボルの下位8ビットについてセレクタ25を通じて、チェックシンボル出力端子26より出力し、その後に、各チェックシンボルの上位2ビットを8ビット単位にまとめてセレクタ25を通じてチェックシンボル出力端子26より出力する。 これにより、全てのデータを8ビットの情報データのシンボルクロックで処理することが可能になる。

    【0087】次に、第2、第3の課題に対する解決策を説明する。 図7は、そのための構成例であり、27は8
    ビット排他論理和ゲートで構成されるガロア体加算回路であり、28は補正データをガロア体加算回路27に与えるためのチェックシンボル補正データ設定回路28である。 図からも明らかなように、この回路はセレクタ2
    5の出力までの構成は図6の構成と略同様である。 ただし、初期値を設定するための回路を持たず、符号化回路23は情報データが入力される前に“0”クリアされる。

    【0088】以上述べたような構成において、次にその動作を説明する。

    【0089】図7の構成では、符号化回路23の初期設定値を“0”とすること以外は、基本的に図6の構成と同様の動作となる。 そして、固定値として与えられるダミーシンボルに対しては以下のように処理する。 つまり、リードソロモン符号は線形符号であるので、初期設定値“0”より得られたチェックシンボルに対して、図8におけるダミーシンボル33に対するチェックシンボルを、チェックシンボル補正データ設定回路28からガロア体加算回路27を通じて、ガロア体加算すればよい。 ここで、ダミーシンボル33に対するチェックシンボルは、高次からみて、04A(HEX)、015(H
    EX)、3AF(HEX)、294(HEX)、125
    (HEX)、09F(HEX)、02B(HEX)、2
    74(HEX)となる。 セレクタ25は8ビットずつの出力となるので、チェックシンボル補正データ設定回路28の出力は、高次からみて、4A(HEX)、15
    (HEX)、AF(HEX)、94(HEX)、25
    (HEX)、9F(HEX)、2B(HEX)、74
    (HEX)、0E(HEX)、42(HEX)となる。
    そして、セレクタ25の出力にチェックシンボル補正データ設定回路28の出力を、ガロア体加算回路27でガロア体加算し、チェックシンボル出力端子26から出力する。

    【0090】次に、この実施例3における復号回路の例を説明する。 この発明の復号では、シンドローム計算に特長があるので、実施例1と同様に、シンドローム回路部分について示す。

    【0091】図3は、実施例3に適用される復号回路の回路ブロック図であり、図1の構成と異なる点は、0/
    1反転回路10がなく、代わりにシンドローム初期データ設定手段12が付加された構成となっている。

    【0092】以上述べたような構成において、次にその動作を説明する。

    【0093】8ビット単位で受信された受信データには、図8におけるダミーシンボル33は入力されないので、図6の符号化回路での動作と同様に、レジスタ7に情報データが入力される直前のダミーシンボル33に対応したシンドローム計算の途中結果を予め計算しておき、これをシンドローム初期データ設定手段12に設定しておく。 この時、例えば、先の例で示したのと同じパラメータでは、シンドロームS 0 〜S 7は、

    【数6】

    【数7】

    【数8】

    【数9】

    【数10】

    【数11】

    【数12】

    【数13】

    が設定される。 その後の動作は、実施例1における図1


    の構成と、0/1反転回路10がないだけで、同様である。

    【0094】次に、図7で説明した符号化回路同様、情報データに対するシンドロームを求めた後に、図8におけるダミーシンボル33のシンドロームデータに補正する方法について説明する。 図4はそのための回路構成を示す回路ブロック図であり、図6におけるシンドローム初期データ設定手段12に代わってシンドローム補正データ設定回路14を設けている。 また、13はGF(2
    10 )上のガロア体加算を行うガロア体加算回路13で、
    排他的論理和ゲートで構成される。

    【0095】図4の構成の動作は、シンドローム回路部分のレジスタ7の初期値データ設定が全て“0”となる以外は、図6の構成と同様の演算となる。

    【0096】受信データが全て入力され、シンドロームが得られ、シンドローム出力端子9より出力される時、
    シンドローム補正データ設定回路14からそれぞれ図8
    におけるダミーデータのシンドローム数値をガロア体加算回路13で、受信データからのシンドロームと加算する。 この補正データは、例えば、先の例で示したパラメータでは、シンドロームS 0 〜S 7に対して、それぞれ

    【数14】

    【数15】

    【数16】

    【数17】

    【数18】

    【数19】

    【数20】

    【数21】

    が設定される。

    【0097】なお、第2、第3の課題に対する解決策として、本発明では、ダミーシンボル33に対する初期値設定を行っているので、全て第1の状態のデータを除き、受信データがシンボル単位でスリップしたとしても、ダミーデータ部分がエラーとみなされてしまうので、スリップを検出できる確率が高くなる。

    【0098】また、実施例2と同様に、フラッシュメモリの消去時のみシンドローム初期データ設定手段12あるいはシンドローム補正データ設定回路14を、図8におけるダミーシンボル33に関するシンドロームデータとし、普通は“0”を設定するようにすることも可能である。

    【0099】また、この実施例では、10ビットシンボルのリードソロモン符号を使った第1の課題の解決策上で、第2、第3の課題を示したが、例えば8ビットシンボルのリードソロモン符号の短縮符号などでも、この実施例同様、第2の課題、第3の課題に対する解決策を実現することができる。

    【0100】実施例4. 次に、本発明の実施例4の誤り訂正符号復号化方法について説明する。 図9は、本実施例を実現するための符号構成例であり、特に図8を改良したものである。 図9において、35は情報データの手前の短縮符号の符号固有データ挿入シンボル部分を示すものである。

    【0101】ちなみに、本実施例は、実施例3で示した、第2の課題、第3の課題を解決する発明と類似しているが、第3の課題に対する解決策をより強化したものである。

    【0102】次に、図9について説明する。 符号固有データ挿入シンボル部分35の部分に、図8と同様に、
    “0”を除くその符号固有のパターンを設定している。
    例えば、k段のインターリーブで構成されるリードソロモン符号の構成では、各段に“1”から“k”までの数値を設定する。

    【0103】なお、この方法における符号化方法および復号方法は、実施例3で示した、図6、図7、図3、図4の回路構成により実現される。

    【0104】次に、図9の符号構成における同期判定の方法について説明する。 図5は、これを実現するための構成例を示す回路ブロック図である。 図5の構成において、シンドローム出力端子9までの系統は、図3の構成と同様である。 一方、15は誤り位置、誤り数値を求める誤り位置/大きさ検出回路15、16は同期が正しいか否かを調べるための同期判定回路、17は誤りの位置と大きさを出力する誤り位置/大きさ出力端子、同期判定回路16から出力される同期チェックフラグを導出するための同期チェックフラグ出力端子である。

    【0105】以上述べたような構成において、次にその動作を説明する。

    【0106】初期値データでは、それぞれ受信した符号の、期待される固有のデータが設定されるものとする。
    これにより得られたシンドローム出力端子9からのシンドロームから、誤り位置/大きさ検出回路15において、誤り位置多項式および誤り数値多項式を求め、チェンサーチにより誤り位置および誤りの大きさを求める。
    ここで、一般には、受信したリードソロモン符号の符号長部分のチェンサーチの検査を行うが、この実施例では、符号固有データ挿入シンボル部分35を挿入した短縮部分を含む短縮符号部分30もチェックする。 この時、正しく訂正できた場合、短縮符号長−1の“0”シンボルランが続き、続いて符号固有データ挿入シンボル部分35が現れる。 この先頭の挿入データの状態を同期判定回路16で監視し、同期がとれていたら、フラグを同期チェックフラグ出力端子18より出力する。 一方、
    誤り位置/大きさ出力端子17からは、同期のずれ情報を含め、誤り位置および大きさを出力する。

    【0107】このように、短縮部分の“0”ランおよび短縮部分に埋め込んだ先頭の固有データにより、符号長を増やすことなく、シンボル単位のスリップに対して、
    検出及びリカバリができる。

    【0108】なお、本実施例の方法の実現に当たっては、実施例3で示した符号化回路および復号化回路がほとんどそのまま使用できるので、例えばフラッシュメモリの消去には実施例3の方法を採用し、通常のケースでは、この実施例4の方法を採るようにすることも可能である。

    【0109】実施例5. 次に、本発明の実施例5の誤り訂正符号復号化方法について説明する。 この実施例は、
    これまで示してきた実施例において、特に第1課題の解決策について、不完全であった部分に対する解決策を示す。

    【0110】これまで説明してきた実施例、例えば図8、図9のような符号構成の復号においては、情報シンボル位置での上位2ビットのダミー部分に誤りがあると判定された場合、訂正不可能な誤りが存在する。

    【0111】これに対して、図8、図9において、後に付加した付加チェックシンボル34は、1シンボルの全てを誤ると、例えばリードソロモン符号として4シンボルの誤りに拡散する可能性があるが、全体として付加するシンボル数は少ないので、確率的には小さい。 また、
    誤った場合で訂正不可能が検出された場合には、その付加したシンボルを消失として消失訂正を行い、その消失位置の誤りの大きさがチェックシンボルの上位2ビットのみに現れたのであれば情報シンボルには誤りがないと判断してもよい。 すなわち、誤りの大きさから誤り検出することが可能である。

    【0112】また、後に付加した上位2ビットをまとめたシンボルについては、複数回送信送信あるいは複数シンボル記録とし、復号側で多数決復号する方法もある。

    【0113】また、後に付加した上位2ビットをまとめたシンボルを情報として、伝送形態にあった、例えば8
    ビットシンボルのリードソロモン符号、あるいは4ビットシンボルのリードソロモン符号などの第2の誤り訂正符号で符号化して、そのチェックを付加して送信あるいは記録し、復号側では後ろに付加した上位2ビットをまとめたシンボルに対して、第2の誤り訂正符号で復号してから情報シンボルに対する復号を行う方法もある。

    【0114】実施例6. 次に、この発明の実施例6について説明する。 図12はこの発明の実施例6の誤り訂正符号復号化方法を実現するための回路の回路ブロック図であり、特に第4の課題を解決するための構成を例示するものである。 図において、61は受信データを入力するためのデータ入力端子1から入力される符号系列のためのシンドローム回路、62はバッファメモリ59からのデータに対応するシンドローム回路60のデータと、
    データ入力端子1からのデータに対応するシンドローム回路61のデータを選択して、誤り位置/大きさ検出回路63に入力するためのセレクタである。 その他の構成については、図18の構成と同様である。

    【0115】以上述べたような構成において、次にその動作を説明する。

    【0116】データ入力端子1から入力される符号系列は、バッファメモリ59に記憶されると同時に、シンドローム回路61に入力される。 また、シンドローム回路60は、受信直後の符号系列を除く符号系列についてシンドローム計算を行う。

    【0117】セレクタ62は、シンドローム回路60、
    61のそれぞれのデータを時分割で選択して誤り位置/
    大きさ検出回路63に入力する。 誤り位置/大きさ検出回路63では、入力されたシンドロームに応じて、誤り位置と誤りの大きさを求め、訂正回路64に渡す。 訂正回路64は、バッファメモリ59に記憶されているデータから誤り位置に該当するデータを取り込み、誤りを訂正して再びバッファメモリ59に返す。

    【0118】これにより、バッファメモリ59とシンドローム回路60とのデータアクセスは、入力符号長分少なくなり、バッファメモリ59のアクセス速度は遅くてもよくなり、例えば従来高価なSRAMで構成していたバッファメモリ59が、安価なDRAMで済むようになる。

    【0119】実施例7. 次に、この発明の実施例7について説明する。 図13はこの発明の実施例7の誤り訂正符号復号化方法を実現するための回路の回路ブロック図であり、特に第5の課題を解決するための構成を例示するものである。 図において、51はシンドローム回路6
    0から出力される8ビットのシンドローム信号、50はシンドローム信号51から偶数および重み“5”を検出するための偶数および重み“5”検出回路、52は偶数および重み“5”検出回路50で偶数および重み“5”
    を検出した時に信号“1”を出力する偶数および重み“5”検出信号線であり、その他の構成については、7
    2ビット入力NOR回路67を除けば図19の構成と同様である。

    【0120】さて、1ビット誤り訂正2ビットで検出を行う符号の構成法として、パリティ検査行列をそれぞれ異なる奇数重みのビット系列で構成する方法がある。 これは、先に挙げた文献などにも示されている。 (72、
    64)バイナリ線形符号では、パリティ検査行列は、8
    ビットとなるが、それぞれ奇数重みの状態の組み合わせは、以下のようになる。

    【0121】重み1=8 重み3=56 重み5=56 重み7=8 そして、従来は、重み“1”、“3”、“5”の状態を選択し、(72、64)符号を構成していたが、この実施例では、重み“1”、“3”、“7”をとって符号を構成する。 この場合、例えば、パリティ検査行列を、

    【数22】

    としたものでも、1ビット誤り訂正2ビットの誤り検出が可能になる。 これにより、シンドローム計算では、従来の最小構成よりも遅延段数は変わらず、16個の排他的論理和回路が増えるが、訂正不可の検出がシンドロームデータから直接得られるため、高速でしかも簡単で全体としては少ない回路量の構成で、誤り検出ができる。

    【0122】さて、以上のような観点から、図13の動作を説明する。

    【0123】この実施例の符号構成では、パリティ検査行列に、奇数重みである“1”、“3”、“7”の全パターンを用いているので、該当しないシンドロームパターン、すなわち“0”を除く偶数重みパターンおよび重み“5”のパターンを検出すればよい。 なお、シンドロームの“0”検出は、8入力OR回路66で検出し、2
    入力AND回路68で訂正不可フラグが“1”にならないようにしているので、偶数および重み“5”検出回路50は偶数および重み“5”を検出すればよいことになる。

    【0124】図14は、偶数および重み“5”検出回路50の詳細な構成を示す回路ブロック図である。 図において、53は2入力XOR回路、54は2入力AND回路、55は2入力OR回路、56は2入力XNOR回路56である。

    【0125】図からも明らかなように、従来は71個の2入力OR回路あるいはNOR回路が必要であったが、
    この実施例の構成では極めて小さな回路規模で同様の機能を実現することができる。

    【0126】なお、ここでは(72、64)バイナリ線形符号について説明したが、他のパリティ長の符号についても同様に適用されることは言うまでもない。

    【0127】

    【発明の効果】この発明の誤り訂正符号復号化方法は以上のように構成したので、以下に説明するようなさまざまな効果を得ることができる。

    【0128】効果1. この発明は、第1の課題に対して、情報シンボルよりも大きなビット長をシンボルとするリードソロモン符号符号において、情報ビットの上位部分をダミーとし、チェックシンボルの上位2ビットについては後から付加するように構成したので、シンボル変換することなく、またシンボルクロックのみで符号復号化ができるので、高速で処理できるという効果がある。

    【0129】効果2. この発明は、第2の課題に対して、符号系列の反転あるいは短縮部分へのダミーデータの設定により、フラッシュメモリの消去チェックを、誤り訂正回路を用いて実施できるので、検査のための特別な回路が不要になり、回路構成を簡略化できるという効果がある。

    【0130】効果3. この発明は、第3の課題に対して、短縮部分への符号固有データの重畳により、同期データを挿入したので、情報長あるいはデータ長を増やすことなく、同期チェックあるいはリカバリが可能になるという効果がある。

    【0131】効果4. この発明は、第4の課題に対して、入力データに対応したシンドローム回路を設け、セレクタにより従来のシンドローム回路と選択的して復号できるので、従来に比べてバッファメモリのアクセス速度が遅くてもよく、安価なメモリを適用できるという効果がある。

    【0132】効果5. この発明は、第5の課題に対して、8ビットのシンドローム長において、重み“1”、
    “3”、“7”の全てのパターンについて1ビット誤り訂正に対応させたので、シンドロームから直接“0”を除く偶数および重み“5”を検出するだけで訂正不可の検出が可能となり、従来より高速で小型の回路で誤りの検出が可能になるという効果がある。

    【図面の簡単な説明】

    【図1】 この発明の実施例1の誤り訂正符号復号化方法を実現するための回路ブロック図である。

    【図2】 この発明の実施例2の誤り訂正符号復号化方法を実現するための回路ブロック図である。

    【図3】 この発明の実施例3の誤り訂正符号復号化方法における復号回路の第1の例の回路ブロック図である。

    【図4】 この発明の実施例3の誤り訂正符号復号化方法における復号回路の第2の例の回路ブロック図である。

    【図5】 この発明の実施例4の誤り訂正符号復号化方法における、同期判定を行う回路ブロック図である。

    【図6】 この発明の実施例3の誤り訂正符号復号化方法において、図8に示した符号構成に対応する符号化回路の回路ブロック図である。

    【図7】 この発明の実施例3の誤り訂正符号復号化方法における、符号化回路の他の例を示すブロック図である。

    【図8】 この発明の実施例3を実行するに当たっての(520、512)リードソロモン符号の構成法の説明図である。

    【図9】 この発明の実施例4を実行するに当たっての符号の構成法の説明図である。

    【図10】 図1の構成におけるシンドロームデータ補正回路の第1の例を示す回路ブロック図である。

    【図11】 図1の構成におけるシンドロームデータ補正回路の第2の例を示す回路ブロック図である。

    【図12】 この発明の実施例6の誤り訂正符号復号化方法を実現するための回路ブロック図である。

    【図13】 この発明の実施例7の誤り訂正符号復号化方法を実現するための回路ブロック図である。

    【図14】 図13の偶数および重み“5”検出回路の回路例を示す回路ブロック図である。

    【図15】 従来の誤り訂正符号復号化方法における符号の構成例の説明図である。

    【図16】 図15のリードソロモン符号のチェックバイトを生成する符号化回路の回路ブロック図である。

    【図17】 従来の誤り訂正符号復号化方法における復号化回路の回路ブロック図である。

    【図18】 従来の誤り訂正符号復号化方法において、
    積符号構成の復号を行う回路の回路ブロック図である。

    【図19】 従来の誤り訂正符号復号化方法において、
    (72、64)バイナリ線形符号の復号回路の回路ブロック図である。

    【符号の説明】

    1 データ入力端子、2 ダミーデータ入力回路、3
    シンドロームデータ補正回路、4 セレクタ、5 ガロア体加算回路、6 セレクタ、7 レジスタ、8 ガロア体係数乗算回路、9 シンドローム出力端子、10
    0/1反転回路、11 セレクタ、12 シンドローム初期データ設定手段、13 ガロア体加算回路、14
    シンドローム補正データ設定回路、15 誤り位置/大きさ検出回路、16 同期判定回路、17 誤り位置/
    大きさ出力端子、18 同期チェックフラグ出力端子、
    19 8ビット/10ビット変換回路、20 FFチェック回路、21 消去検査フラグ出力端子、22 情報データ入力端子、23 符号化回路、24 符号化回路初期値データ設定回路、25 セレクタ、26 チェックシンボル出力端子、27 ガロア体加算回路、28
    チェックシンボル補正データ設定回路、29 10ビット/8ビット変換回路、30 短縮符号部分、31 実情報データシンボル部分、32 チェックシンボル部分、33 ダミーシンボル、34 付加チェックシンボル、35 符号固有データ挿入シンボル部分、36 ダミーシンボル部分、37 受信データ入力端子、38、
    39、40 ガロア体係数乗算回路、41、42、4
    3、44 ガロア体加算回路、45レジスタ、46 ガロア体係数乗算回路、47 補正データ出力端子、48
    セレクタ、49 訂正不可検出フラグ出力端子、50
    偶数および重み“5”検出回路、51 シンドローム信号、52 偶数および重み“5”検出信号線、53 2
    入力XOR回路、54 2入力AND回路、55 2入力OR回路、562入力XNOR回路、59 バッファメモリ、60、61 シンドローム回路、62 セレクタ、63 誤り位置/大きさ検出回路、64 訂正回路、65復号データ出力端子、66 8入力OR回路、
    67 72ビット入力NOR回路、68 2入力AND
    回路。

    QQ群二维码
    意见反馈