JP2001196938A - デジタルデータをデコーディングする装置及び方法 - Google Patents

デジタルデータをデコーディングする装置及び方法

Info

Publication number
JP2001196938A
JP2001196938A JP2000351419A JP2000351419A JP2001196938A JP 2001196938 A JP2001196938 A JP 2001196938A JP 2000351419 A JP2000351419 A JP 2000351419A JP 2000351419 A JP2000351419 A JP 2000351419A JP 2001196938 A JP2001196938 A JP 2001196938A
Authority
JP
Japan
Prior art keywords
error
polynomial
circuit
decoder circuit
decoder
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.)
Pending
Application number
JP2000351419A
Other languages
English (en)
Inventor
Honda Yang
ヤン ホンダ
John T Gill Iii
ティー. ジル, サード ジョン
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.)
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Original Assignee
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
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 ST MICROELECTRONICS Inc, STMicroelectronics lnc USA filed Critical ST MICROELECTRONICS Inc
Publication of JP2001196938A publication Critical patent/JP2001196938A/ja
Pending 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/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/155Shortening or extension of 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
    • 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/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/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/158Finite field arithmetic processing

Landscapes

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

Abstract

(57)【要約】 【課題】 リードーソロモン符号又はBCH符号をデコ
ーディングするための改良したデコーダ回路を提供す
る。 【解決手段】 本発明によれば、誤りロケータ多項式を
解くステップを誤りパターンを計算するステップと同時
的に行う。特に、受取った符号ワードに対する誤りロケ
ータ多項式を決定するチェン(Chein)サーチと誤
りパターンを計算するフォーネィ(Forney)アル
ゴリズムを同時的に実行するデコーダを提供している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大略、デジタルデ
ータをデコーディングする技術に関するものであって、
更に詳細には、リード−ソロモン(Reed−Solo
mon)符号をデコードする技術に関するものである。
【0002】
【従来の技術】デジタル通信システムは、1つのエンテ
ィティから別のエンティティへ情報を送信することが可
能なシステムである。このシステムは、そのシステムに
よって使用される通信言語がその情報を表すために有限
のアルファベットからなる記号を使用してデータをエン
コード即ち符号化することが可能であるという点におい
て「デジタル」とすることが可能である。送信用のエン
ティティは、任意の情報供給源とすることが可能であ
る。例えば、遠隔検知用人工衛星、携帯電話、コンピュ
ータ、又はその他のエンティティがデジタル情報を送信
することが可能である。
【0003】エンティティの変調器が、例えばケーブ
ル、空気等の通信チャンネル、又はその他の通信媒体を
介して効率的に送信することが可能な記号へ情報をマッ
ピングすることによって情報を変調させる。変調された
情報は外部供給源から、媒体から、変調された情報自身
との干渉からノイズ信号を発生する場合がある。これら
のノイズ信号は変調した情報を、正しいものではないか
又は変調した情報の受信器によって認識不可能なその他
の形態へ変化させる場合がある。変調した情報の受信器
はこれらの信号を検知し且つ訂正し、且つ、必要な場合
には、送信器に対してその情報を再送することを要求す
ることが可能なものでなければならない。
【0004】デジタル形態におけるデータの送信は、誤
り訂正符号(ECC)と呼称される信号処理技術を使用
することを可能とする。誤り訂正符号は受信した情報に
おける誤りを検知し且つ訂正するための一般的な解決方
法である。ある数学的特性を示す多数の符号ワードを包
含する有限の符号によって特性付けされるBCH及びリ
ード−ソロモン符号が、衛星送信システム、CD−RO
M、コンピュータハードディスク、及びその他のシステ
ム等のデジタル情報システムにおいてデータをエンコー
ド即ち符号化するために一般的に使用される。特に、リ
ード−ソロモン符号は、有限フィールド演算を使用して
再生され且つデコードされる。リード−ソロモン符号
は、Stephen B. Wicker及びVija
y Bhargava「リードソロモン符号及びその適
用(Reed Solomon Codes and
Their Applications)」、IEEE
プレス、1994の参考書においてより詳細に説明され
ており、尚その参考書の内容を引用によって本明細書に
取込む。又、リード−ソロモン符号に精通していない読
者は上記参考書を参照すると良い。
【0005】リード−ソロモン符号は、通常、非二進B
CH符号として記述することが可能であるが、その他の
BCH符号のいずれにおいても見出されない特性を有し
ている。例えば、データ送信符号としてリード−ソロモ
ン符号をより有用なものとしている一層重要な特性のう
ちの1つは、(n,k)リード−ソロモン符号は、常
に、(n−k+1)に正確に等しい符号間の最小距離を
有しているということである。リード−ソロモン符号及
びBCH符号の両方、それらのデコーディング方法、及
び適用については、Stephen B. Wicke
r「デジタル通信及び格納用の誤り制御システム(Er
ror Control Systemsfor Di
gital Communication and S
torage)」、プレンティスフォール インコーポ
レイテッド、1995年の参考書においてより詳細に記
載されており、その参考書の記載内容を引用によって本
明細書に取込む。
【0006】通常、ガロア(Galois)フィールド
と呼称される有限フィールドGF(q)はpmの形態で
ある有限のグループのq個の要素を記述し、尚pは整数
であり且つmは正の整数である。有限フィールドGF
(q)からk個の情報記号{m 0,m1,...,
k-2,mk-1}からなるパケットを取るものと仮定す
る。これらの記号は多項式P(x)=m0+m1
+...+mk-2k-2+mk-1k-1を構成するために使
用することが可能である。リード−ソロモン符号ワード
cは、有限フィールドGF(q)内のq個の要素の各々
におけるP(x)を評価することによって形成される。
【0007】k個の情報値が全ての可能な値を取ること
を許容することによって完全な組の符号ワードが構成さ
れる。情報記号はGF(q)から選択されるので、それ
らは、各々、q個の異なる値を取ることが可能である。
従って、リード−ソロモン符号においてはqk個の符号
ワードが存在している。2つの符号ワードの和も1つの
符号ワードである場合に1つのコード即ち符号は線形で
あると言われる。以下の式(1)から、次数k−1の2
つの多項式の和がk−1以下の次数の別の多項式である
ので、リード−ソロモン符号は線形である。
【0008】
【数1】
【0009】情報記号kの数は符号の「次元」であると
言われる。次元という用語が使用される理由は、リード
−ソロモン符号ワードがGF(q)にわたって次元kの
ベクトル空間を形成するからである。各符号ワードはq
個の座標を有しているので(上の式(1)参照)、通
常、符号は長さn=qを有していると言われる。リード
−ソロモン符号(及びその他の線形符号)について説明
する場合に、それらは、典型的に、(n,k)符号とし
てそれらの次元kによって示される。
【0010】各リード−ソロモン符号ワードは、以下の
式(2)に示したように、k個の変数におけるq個の線
形方程式の系に対し式(1)によって関連付けることが
可能である。
【0011】
【数2】
【0012】(2)におけるこれらの式の任意のkを使
用してk個の変数でk個の方程式からなる系を構成する
ことが可能である。例えば、(2)における上の式にお
ける最初のkは以下の系を形成する。
【0013】
【数3】
【0014】この(3)における系は、以下の係数行列
(4)の行列式を計算することによってk個の情報記号
を{mo,m1,...,mk-2,mk-1}に対して固有の
解を有するものであることを示すことが可能である。
【0015】
【数4】
【0016】行列(4)の頂部行にわたって共通因子展
開を使用して、この行列の決定因子はバンダーモンド
(Vandermonde)行列のものへ還元し、且つ
全てのバンダーモンド行列は正則であり、従って1つの
解を有するものであることを示すことが可能である。式
(2)からのk個の式の組合わせによって形成される任
意の系に対する係数行列は、バンダーモンド行列形式に
還元させることが可能であり、従って式(2)における
任意のk個の式は情報座標の値を決定するために使用す
ることが可能である。
【0017】上述したように、リード−ソロモン符号は
誤りを訂正するために使用することが可能である。符号
ワードのt個のデータビット又は座標が送信期間中にノ
イズによって汚染されるか又は誤って受信されるものと
仮定する。式(2)における対応する式は誤っており且
つ、(3)における式からなる系内においてそれらのう
ちの1つ又はそれ以上のものが使用された場合には、誤
った解となる。長さq及び次元kのリード−ソロモン符
号は最大でt個の誤りを訂正することが可能である。
【0018】前述したリード−ソロモン符号をデコード
するために、ECCデコーダが、通常、根としてυ個の
誤りロケータ{X1}の逆数を有するべく定義される誤
りロケータ多項式を見つけ出すステップを実施する。誤
りロケータ多項式は、1組の部分的シンドロームから見
つけ出される。シンドロームは、誤りパターンeの関数
であるベクトルとして定義され、且つ送信された符号ワ
ードcとは独立している。シンドロームは、例えば、受
信した符号ワードのシーケンスに基づくシンドローム発
生器によってデコーダによって発生させることが可能で
ある。特に、シンドローム値は、受信した符号ワードに
おける受信したパリティ記号におけるビットのベクトル
和である。シンドローム値の計算は当該技術において公
知である。1組の部分的シンドロームから誤りロケータ
多項式を見つけ出すための2つの公知な技術はバーレカ
ンプ−マシィ(Berlekamp−Massey)ア
ルゴリズム及びユークリッド(Euclidean)ア
ルゴリズムであり、且つこれらの技術は通常シフトレジ
スタにおいて実現される。
【0019】誤りロケータ(locator)多項式が
与えられると、次のステップは、その係数が有限フィー
ルドからのものである多項式方程式の根を見つけ出すこ
とである。これらの根は誤り位置情報を与える。該方程
式の次数及び根の数は受信した符号ワード内で発生する
誤りの数に等しい。チェン(Chien)サーチアルゴ
リズムはフィールドGF(2m)における逐次的な要素
における誤りロケータ多項式を評価する、従って誤りを
見つけ出す系統的な手段である。チェンアルゴリズムは
誤りの位置を決定し且つフォーネィ(Forney)ア
ルゴリズムは各誤り位置においての誤りパターンを計算
する。
【0020】最近のディスクドライブは高い密度を達成
するためにバーストエラー訂正のためにリード−ソロモ
ンECCを使用している。オンザフライ、即ち動作中
に、誤り回復時間を最小とし且つデータの流れの中断を
回避するためにマルチバースト誤り補正が必要とされ
る。リード−ソロモンデコーダの一般的な傾向は、更に
より多くの記号エラーを訂正するものであり、その場合
に1個の記号は、典型的に、1バイトのデータである。
例えば、9又は10ビット記号が業界において実現され
ているが、記号は任意の寸法とすることが可能である。
通常、訂正されるエラーの数が増加するに従い、全体的
な訂正処理における性能は低下する。然しながら、ディ
スクデータレートが増加するに従い、多数の誤りが存在
する場合に低い待ち時間及び費用効果的なECCデコー
ダが必要とされる。
【0021】
【発明が解決しようとする課題】本発明は、以上の点に
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、大量のエラーが存在する場合であっても待
ち時間が低く且つ費用効果的なECCデコーダを提供す
ることを目的とする。
【0022】
【課題を解決するための手段】本発明の1つの側面によ
れば、訂正すべき記号エラーの数に拘わらずに一定のデ
コーディング待ち時間を有するデコーダが提供される。
例えば、本デコーダは1個又は最悪の場合に100個の
誤りを訂正するために同一のクロックサイクル数を使用
する。この特性のために、本デコーダは多数の誤りが発
生する信号を処理する場合に従来のデコーダと比較して
著しく優れた性能を有している。このタイプの誤り訂正
における決定論的なチェーンのタイプは、特に、コンピ
ュータのハードディスク駆動環境において重要であり、
その場合には、誤り訂正は特定した時間期間内に完了さ
れることが所望される。例えば、コンピュータハードデ
ィスクドライブの1つのセクタ時間内に訂正が完了する
ことが最適な場合がある。即ち、本デコーダはディスク
ドライブ媒体へアクセスするために必要とされる時間を
超えた付加的なチェーンを与えることなしにハードディ
スクドライブのアクセス速度で訂正を実施することが可
能である。
【0023】本発明の1つの側面によれば、ハードディ
スク制御器(HDC)ASICにおいてリード−ソロモ
ン符号をデコードするための改良したハードウエアアー
キテクチャが提供されており、それは記号誤りの数が増
加する場合であっても誤りを訂正するための一定の待ち
時間を提供する。訂正する記号の数が増加するに従って
デコーディングの処理はより長くなる。何故ならば、従
来、誤り多項式に対する誤りパターンを計算する前に誤
り多項式を解いているからである。本発明の1つの側面
においては、誤りロケータ多項式を解くステップは誤り
パターンを計算するステップと同時的に実施される。例
えば、本発明の1実施例によれば、リード−ソロモンデ
コーダにおいてチェンアルゴリズムとフォーネィアルゴ
リズムとを同時的に実行する装置が提供される。
【0024】本発明の1つの側面においては、受信した
符号ワードをデコードするデコーダ回路を有するデコー
ダが提供され、該デコーダはシンドローム情報を受取り
且つ誤りロケータ多項式を発生する誤りロケータと、受
信した符号ワードにおける1つ又はそれ以上の誤りの位
置を決定するために該誤りロケータ多項式を解くソルバ
と、受信した符号ワードの位置に対する誤り値を計算す
る誤りパターンコンピュータとを有しており、該誤りロ
ケータ多項式は誤り値が計算されるのと実質的に同時に
解かれる。1実施例によれば、該ソルバはチェンサーチ
回路を使用して誤りロケータ多項式を解く。本発明の別
の実施例によれば、該誤りパターンコンピュータはフォ
ーネィアルゴリズムを使用して誤り値を計算する。
【0025】本発明の更なる特徴及び利点及び本発明の
種々の実施例の構造及び動作について添付の図面を参照
して以下に詳細に説明する。図面中においては、同様の
参照番号は機能的に同一であるか又は同様の構成要素で
あることを表している。
【0026】
【発明の実施の形態】本発明の1実施例に基づく誤り訂
正デコーダ101のブロック図を図1に示してある。デ
コーダ101は1組の部分的シンドローム102を処理
し且つ誤り位置及び誤りパターンを発生する。換言する
と、その入力は部分的シンドローム102であり且つ出
力は誤り位置及びパターン103である。本デコーダ
は、1つ又はそれ以上のデータ供給源から情報を受取り
且つデコードする形態とされている通信システムの一部
とすることが可能である。上述したように、データ供給
源は、例えばコンピュータ、携帯電話、又はデジタルデ
ータを送信することが可能なその他のエンティティ等の
任意の情報供給源とすることが可能である。
【0027】図1に示したように、本デコーダは1組の
部分的シンドロームを受付け且つ誤りロケータ多項式を
見つけ出す誤りロケータ104を有している。使用する
ことが可能な1組の部分的シンドロームから誤りロケー
タ多項式を見つけ出すための2つの公知の技術はバーレ
カンプ−マシィ(Berlekamp−Massey)
アルゴリズム及びユークリッド(Eucledean)
アルゴリズムである。その他の記述を使用することも可
能である。
【0028】誤りロケータ多項式が与えられると、次の
ステップは、その係数が有限フィールドからのものであ
る多項式方程式の根を見つけ出すことである。これらの
根は受信した符号ワード内の誤り位置情報を与える。該
方程式の次数及び根の数は受信した符号ワードにおいて
発生する誤りの数に等しい。デコーダ101はソルバ1
05を有しており、それは誤りロケータ多項式を解いて
受信した符号ワード内の1つ又はそれ以上の誤り即ちエ
ラーの位置を決定する。例えば、以下に詳細に説明する
ように、公知のチェン(Chien)サーチアルゴリズ
ムを使用して誤りロケータ多項式を解くことが可能であ
る。
【0029】チェンサーチアルゴリズムは、フィールド
GF(2m)における逐次的な要素においての誤りロケ
ータ多項式を評価する系統的な手段であり、且つ受信し
た符号ワードにおける誤り位置を決定するために使用す
ることが可能である。デコーダ101は、更に、受信し
た符号ワードのビット位置における誤りの大きさを決定
するための誤りパターンコンピュータを有している。例
えば、以下に詳細に説明する公知のフォーネィ(For
ney)アルゴリズムを使用して誤りの大きさを決定す
ることが可能である。本発明の1実施例に基づくデコー
ダは、チェンサーチアルゴリズムを使用して誤り位置を
見つけ出し且つ同時的にフォーネィアルゴリズムを使用
して誤りパターンを計算することによってチェンアルゴ
リズムとフォーネィアルゴリズムとを結合している。特
に、チェンアルゴリズム及びフォーネィアルゴリズム
は、チェンサーチ回路内においてフォーネィ誤り値を計
算するために使用される項を累積することによって実施
することが可能である。
【0030】第一に、以下の説明は、チェンアルゴリズ
ム及びフォーネィアルゴリズム、及びそれらの適用に至
るまでの信号についての簡単な説明である。t誤り訂正
用BCH符号が、最初に、単一性のプリミティブ(原始
的)なn番目の根であるαを包含する最も小さなフィー
ルドGF(2m)を識別することによって構成される。
次いで、二進多項式が選択され、従ってそれはαのある
2tの連続する冪に対して0を有している。
【0031】
【数5】
【0032】二進ベクトルc=(co,c1
2,...,cn-1)は、それと関連する多項式c
(x)=c0+c1x...cn-1n-1がαのこれらと同
じ2tの連続する冪において0を有している場合にの
み、符号ワードである。送信した符号多項式c(x)
(信号)及び誤り多項式e(x)=e0+e1x+...
+en-1n-1の和として表すことが可能な受信した多項
式r(x)について検討する。2t個の0において受信
した多項式を評価することによりシンドロームのシーケ
ンスが得られる。表記法の複雑性を最小とするために、
ここで説明する符号は狭い意味での符号(b=1)であ
る。
【0033】
【数6】
【0034】式(5)における計算はGF(2m)、即
ち単一性のプリミティブなn番目の根を包含するフィー
ルドにおいて実施される。受信したワードが位置i1
2,i3,...,iυにおいてυ個のエラーを有して
いるものと仮定する。該符号は二進であるので、これら
の位置における誤りはeij=1の値を有している。シン
ドロームシーケンスはこれらの誤り位置によって表すこ
とが可能である。
【0035】
【数7】
【0036】{Xl}は誤りロケータであり、それらの
値は受信した符号ワードにおける誤りの位置を表す。式
(7)を展開すると、υ個の未知の誤り位置における2
t個の代数的なシンドローム位置のシーケンスが得られ
る。
【0037】
【数8】
【0038】この形式の方程式は冪和対称関数又はシン
ドロームデジット(syndrome digit)と
呼ばれる。それらは複数個の変数での非線形代数方程式
の系を形成するので、それらは直接的な態様で解くこと
は困難である。エンコーディング即ち符号化の分野にお
ける有名な数学者であるピーターソン(Peterso
n)の示すところによれば、BCHシンドローム方程式
は一層容易に解を得ることが可能な一連の線形方程式へ
変換することが可能である(この点に関しては、W.
W. Peterson「ボーズ−シャウドリ符号に対
するエンコーディング及び誤り訂正手順(Encodi
ng and Error−Correcting P
rocedures for the Bose−Ch
audhuri Codes)」、IRE・トランズア
クションズ・オン・インフォメーション・セオリ、Vo
l.IT−6、1960年9月の文献を参照すると良
く、尚この文献を引用によって本明細書に取込む)。Λ
(x)を、υ個の誤りロケータ{Xl}の逆数をその根
として有する誤りロケータ多項式であるとする。このΛ
(x)多項式は、以下の線形方程式の系によって定義さ
れる。
【0039】
【数9】
【0040】バーレカンプ(Berlekamp)によ
るアルゴリズム等のアルゴリズムを使用してピーターソ
ンのアプローチよりもより効率的な実現例に到達するこ
とが可能であり、且つこのアルゴリズムはE. R.
Berlekamp「代数的符号化理論(Algebr
aic Encoding Theory)」、マッグ
ローヒル出版社、1968年の参考書に引用されてお
り、尚該参考書を引用によって本明細書に取込む。
【0041】バーレカンプ−マシィアルゴリズムは、誤
りロケータ多項式を見つけることを可能とするが、誤り
の大きさの問題を見つけ出す問題が残っている。次式
(10)は既知のシンドローム値を誤りロケータ及び誤
り評価器多項式に対し関連付ける。
【0042】
【数10】
【0043】バーレカンプ−マシィアルゴリズムは、ピ
ーターソンアルゴリズムよりも多数の誤りを補正する場
合のより効率的な代替物として使用することが可能であ
る。バーレカンプのアルゴリズムはシフトレジスタを使
用して実現することが可能である(この点については、
J. L. Massey「シフトレジスタ合成及びB
CHデコーディング(Shift Register
Synthesisand BCH Decodin
g)」、IEEE・トランズアクションズ・オン・イン
フォメーション・セオリ、Vol.ET−15、No.
1、1969年1月の文献を参照すると良く、尚この文
献を引用によって本明細書に取込む)。
【0044】誤り多項式が得られると、チェン(Chi
en)サーチを使用して根を探し出すことが可能であ
る。チェンサーチはR. T. Chien「ボーズ−
シャウドリィ−ホッケンゲム符号用の循環的デコーディ
ング手順(Cyclic Decoding Proc
edure for the Bose−Chaudh
ri−Hocquenghem Codes)」、IE
EE・トランズアクションズ・オン・インフォメーショ
ン・セオリ、Vol.ET−10、1964年10月の
文献により詳細に記載されており、尚その文献を引用に
よって本明細書に取込む)。上述したように、チェンサ
ーチはフィールドGF(2m)における全ての要素にお
いての誤りロケータ多項式を評価する系統的な手段であ
る。
【0045】従来のチェンサーチ回路を図2に示してあ
る。回路200は符号ワードr012...rn-1を受
取り且つ入力バッファ201内に格納する。誤り検知器
/訂正器210が、受取った符号ワードのうちの1つ又
はそれ以上のビットが誤りであるかを否か決定し、且つ
誤りビットを訂正するために受取った符号ワードを修正
する。誤りロケータ多項式の各係数Λiを夫々の格納位
置208内に格納し、且つ1つ又はそれ以上の乗算器2
09A−209Tによってαiによって繰返し乗算し、
尚αはGF(2m)におけるプリミティブである。各組
の積をアキュムレータ207によって加算してAi=Λ
(αi)−1が得られる。αiがΛ(x)の根である場合
には、Ai=Λ(αi)−1=1であり、且つエラー即ち
誤りはα ―i=αn-iと関連するデータ符号ワードの座標
において誤り検知器210によって示される。次いで、
検知器210によって訂正ビットBiがセットされ且つ
アキュレータ202によって受取ったデータワードの受
取ったビットrn-iヘ加算される。Ai≠1である場合に
は、Biの値は検知器210によって0にセットされ且
つ対応する受取ったビットは不変のままである。修正さ
れた符号ワードは出力バッファ203内に格納され、そ
こでその符号ワードは受信システムによって使用される
か又は、例えば、符号ワード検証回路204によって検
証することが可能である。注意すべきことであるが、検
証は、結果的に得られるワードが有効な符号ワードであ
ることを確保するために、誤り訂正の後に符号ワード検
証回路204によって実施することが可能である。検証
は、例えば、結果的に得られるワードを有効な符号ワー
ドのリストと比較することによって実施することが可能
である。
【0046】又、符号ワード検証は、図3に示したよう
に、チェンサーチにおいて使用されるものと同様の回路
300を使用して実施することが可能である。図2の訂
正した出力ワード206のビットc0,c1
2,...,cn-1は格納位置301A−301Zにお
ける誤りロケータ多項式係数に取って代わる。訂正した
ワードに対するシンドローム{Si}は一度に1つづつ
計算される。訂正した出力ワード206のビットの各々
のシンドロームが0の値を有している場合には、訂正し
たワード206は有効な符号ワードとして受付けられ、
そうでない場合には、デコーダの失敗が検知器304に
よって示される。特に、cjijは、位置301A−3
01Zに夫々格納されている値によって乗算することに
より(乗算器303A−303Zによって)決定され、
且つcjijはj=0からn−1へ回路302によって
累算される。
【0047】並列チェンサーチ回路を、誤りロケータ多
項式の根を見つけ出すために使用することも可能であ
る。以下の例は最大次数6の誤りロケータΛ(x)多項
式を使用するものであるが、任意の次数の任意の誤りロ
ケータ多項式を使用することが可能であることを理解す
べきである。誤りロケータ多項式の次数は設計された誤
り訂正パワー(冪)と等しく、それは誤り訂正符号を使
用する適用例に依存して修正される。本デコーダを実現
するために使用される格納要素及び定数乗算器の量は多
項式の次数に比例する。
【0048】図4は別のスタンダードのチェンサーチ回
路を示している。図4において、複数個の格納位置40
2A−402Fが、夫々、6個の多項式係数Λ1乃至Λ6
でロードされる。誤りロケータ多項式の各係数Λiはαi
(項目401A−401F)によって繰返し乗算され且
つアキュムレータ403によって累算される。αiがΛ
(x)の根である場合には、即ちΛ(αi)=0である
場合には、α-1と関連する座標においてエラー即ち誤り
が見つかる。誤りロケータ多項式の1つの根が見つかる
度に、即ちアキュムレータ403の出力が1である場合
に、検知器404によって有効フラグ405が上げられ
る。一般的に、受信した符号ワードの1つの座標のみが
一度に評価される場合には、約2m−1個のクロックサ
イクルが必要とされる。
【0049】短縮されたリード−ソロモン符号でサーチ
の待ち時間が改善されている。特に、短縮した符号で取
扱う場合には全ての座標に対してテストを行う必要はな
い。リード−ソロモン符号、及び穴あけし且つ短縮化し
たタイプのリード−ソロモン符号が従来のデータデコー
ダにおいて使用するために適合されている。リード−ソ
ロモン符号は、その座標のうちのいずれかを削除するこ
とによって穴あけされ、従ってこれらの削除された座標
はテストすることが必要ではない。短縮化したリード−
ソロモン符号は、任意の座標においてリード−ソロモン
符号の断面を取ることによって形成される。このこと
は、与えられた座標が0である符号ワードの全てを取り
且つその座標を削除することによって実施される。その
結果得られるベクトルの集合が短縮化したリード−ソロ
モン符号である。
【0050】例えば、512バイトのデータセクタ、3
態様インターリーブ形態及び8ビット誤り訂正符号記号
を具備するハードディスクドライブ上で情報をエンコー
ディング即ち符号化する場合について検討するが、誤り
位置のうちの3分の1は存在しない。従って、全部で2
55個の座標のうちの3分の2のみをテストすることが
必要であるに過ぎない。誤り位置がα0乃至α180の範囲
内にあるものと仮定する。ロケータ多項式Λ(x)は誤
りロケータの逆数としてその根を有している。従って、
Λ(x)はΛ(α0)乃至Λ(α180)ではなく0に等し
いΛ(α-0)乃至Λ(α-180)で評価される。
【0051】図5は1998年8月27日付に出願され
た発明者がH. Yang etal.の米国特許出願
第09/141871号「並列チェンサーチ回路(PA
RALLEL CHIEN SEARCH CIRCU
IT)」という名称の米国特許出願に記載されている別
のチェンサーチ回路500を示しており、尚その米国特
許出願を引用によって本明細書に取込む。チェンサーチ
回路500と共に、誤り位置カウンタ506を設けるこ
とが可能であり、それは0に初期化され且つクロックサ
イクル毎にインクリメントされて誤り位置507を与え
る。図5に示した具体例は、上の説明に従うものであっ
て、且つ格納位置502A−502F内に格納されてい
る各係数Λiを、夫々、α-1乃至α-6(項目501A−
501F)を乗算することを包含している。この誤りロ
ケータ多項式の各係数Λiは、Λ(x)の評価を変化さ
せることからの結果として図4に示した如くαiの代わ
りにα―iである。乗算結果はアキュムレータ503に
よって累算され、その結果は検知回路504へ送られ
る。誤りロケータ多項式の根が見つかると、検知器50
4によって有効フラグ505が上げられる。
【0052】サーチプロセスを高速化させるために、二
重速度チェンサーチ回路600を図6に示したように使
用することが可能である。回路600において、2つの
サーチ回路が並列に稼動することが可能である。従っ
て、サーチ時間は半分に削減することが可能である。回
路600において、各係数Λi(図6においては、Λ1
Λ6)が夫々の格納位置601A−601F内に格納さ
れる。各サイクルにおいて、各係数Λiはα―i(α-1
至α-6(項目602A乃至602F))によって乗算さ
れ且つアキュムレータ603Bによって累算され、且つ
α-2i(α-2乃至α-12(項目602G乃至602L))
によって乗算され且つアキュムレータ603Aによって
累算される。検知器604Aが、各テストサイクルにお
いて、その符号ワードの偶数ビットが有効であるか否か
を検知する。検知器604Bは、検知器604Aによっ
て行われる検知と同時的に、その符号ワードの奇数ビッ
トが有効であるか否かを検知する。注意すべきことであ
るが、格納要素は2つの定数乗算器の間で共用すること
が可能であり(例えば、項目602B及び602Hは同
一の格納要素601Bから駆動することが可能であ
る)、且つ受信した符号ワードの2つの座標は各テスト
サイクルにおいてテストされる。並列チェンサーチ回路
の例については1998年8月21日付で出願された発
明者H. Yang et al.の「並列チェンサー
チ回路(PARALLEL CHIENSEARCH
CIRCUIT)」という名称の米国特許出願第09/
141,871号に記載されており、その特許出願を引
用によって本明細書に取込む。
【0053】種々の記号位置における誤りの大きさを計
算するためにフォーネィ(Forney)アルゴリズム
を使用することが可能であり、それによって誤りパター
ンが発生される。前述したように、リード−ソロモン符
号は、αがGF(2m)におけるプリミティブであり0
がαs,αs+l,...,αs+c-lである生成多項式によ
って完全に定義される。インデックス1,2,...,
υに対応する位置においてυ個のエラー即ち誤りが発生
したものと仮定する。従って、位置lに対する誤り位置
数はXlであると定義される。フォーネィアルゴリズム
によって与えれる誤りの値Ylは次式で与えられる。
【0054】
【数11】
【0055】尚、Ω(Xl -1)はx=Xl -1において評価
された誤り評価器多項式Ω(x)であり且つΛ′(Xl
-1)はx=Xl -1において評価された誤りロケータ多項
式Λ(x)の形式的導関数Λ′(x)である。Ω(x)
及びΛ′(x)多項式は次のように表される。
【0056】
【数12】
【0057】
【数13】
【0058】上述したように、本発明の1つの側面によ
れば、デコーダ回路が提供され、それはチェンサーチと
同時的にフォーネィアルゴリズムを実行する。特に、本
発明の1つの側面は、フォーネィアルゴリズムのコンポ
ーネントをチェンスタイルサーチ回路を使用して実現さ
せるという具現化を包含している。上述したように、チ
ェンサーチアルゴリズムはフィールドGF(2m)にお
ける全ての要素においての誤りロケータ多項式を評価す
る系統的手段である。i>0に対する誤りロケータ多項
式Λ(x)の各係数Λiはαiによって繰返し乗算され
る。次いで、各組の積が加算され且つ1と比較される。
その和が1である場合には、α-iがΛ(x)の根であ
る。
【0059】Λ′(Xl -1)、Ω(Xl -1)、Xl (l-s)
チェンサーチを実施するのと同一の態様で計算すること
が可能であるという点において、同一の概念をフォーネ
ィアルゴリズムに適用することが可能である。このこと
が可能であるのは、チェンサーチ回路が逐次的な態様で
誤り位置を見つけ出すからである。x=Xl -1において
Λ′(x)及びΩ(x)を評価し、且つチェンサーチ回
路によってXlが見つかった後にXl (1-s)を計算する代
わりに、Λ′(Xl -1)をΛ′(α0)、Λ′(α-1)、
Λ′(α-2)等から累算することが可能である。又、Ω
(Xl -1)はΩ(α0)、Ω(α-1)、Ω(α-2)等から
累算することが可能である。更に、Xl (l-s)は(α0
1-s、(α11-s、(α21-s等から累算することが可
能である。従って、Ylはチェンサーチの逐次的なステ
ップと同時的に累算することが可能である。
【0060】Λ(x)多項式が最大次数6を有している
上の例の場合には、Λ′(x)多項式の最大次数は5
(3個のゼロでない係数)であり、且つΩ(x)多項式
のものは5である。Λ′(Xl -1)、Ω(Xl -1)、Xl
(l-s)を評価するためのハードウエア回路を、夫々、図
7,8,9に示してあり、それらについて以下に説明す
る。
【0061】図7の回路700における格納(記憶)要
素はΛ(x)ロケータ多項式の3個の係数、即ちΛ1
Λ3、Λ5(夫々、項目701A,701B,701C)
の3つの係数によって初期化される。後のサイクルにお
いて、格納要素701Aは同一の値を維持する。その他
2つの格納要素701B及び701Cは、夫々、α
-2(項目702A)及びα-4(項目702B)によって
乗算されたそれらの現在の内容によってアップデートさ
れる。これら3個の格納要素の値は各処理サイクルにお
いてアキュムレータ703によって累算される。
【0062】図8に示した格納要素801A乃至801
Fは、夫々、Ω(x)多項式の係数、即ちΩ0乃至Ω5
よって初期化される。その後のサイクルにおいて、格納
要素801A内に格納されている値は同じ値を維持す
る。その他の5個の格納要素801B−801Fは、夫
々、ブロック802A−802Eにおいてα-1乃至α-5
によってそれらの現在の内容が乗算されることによって
アップデートされる。格納要素801A−801Fの値
は各処理サイクルにおいてアキュムレータ803によっ
て累算される。
【0063】図9に示した格納要素901はα0によっ
て初期化される。その後のサイクルにおいて、格納要素
901はブロック902においてα1-sによってその現
在の内容が乗算されることによって上書きされる。
【0064】図7−9に示した回路700,800,9
00を取ることによって、図10に示したフォーネィプ
ロセッサ1000を構成することが可能であり、それは
以下のフォーネィ公式を実行するような形態とされてい
る。
【0065】
【数14】
【0066】最初のクロックサイクルで、図10に示し
たフォーネィプロセッサは、実効的に、Xl=α0に対す
る誤りパターン1007を計算する。2番目のクロック
サイクルにおいて、該プロセッサはXl=α1に対する誤
りパターン1007を計算し、以下同様である。これら
の特定の受信した記号に対する誤りパターン1007
は、チェンサーチが受信した符号ワードの対応する位置
において誤りを見つけた場合に使用される。
【0067】図10に示したプロセッサ1000は、Ω
(Xl ―l)及びXl (l―s)の値が乗算器1003によっ
て乗算されるように、Ω(Xl ―l)を計算する回路10
01とXl (l-s)を計算する回路1002とを有してい
る。Λ′(Xl -1)は、回路1004によって計算する
ことが可能であり且つ上述した如くガロアフィールドイ
ンバータ1005によって反転させることが可能であ
り、その結果は乗算器1006によって上の乗算結果に
よって乗算することが可能である。
【0068】本発明の1つの側面においては、Xl (l-s)
項はフォーネィ方程式(14)におけるΩ(Xl -1)に
よって予め乗算されている。即ち、以下に示すように、
式(15)において示したように、フォーネィ方程式に
おいてXl (l-s)項とΩ(x)多項式とを結合させること
が可能である。
【0069】
【数15】
【0070】図8に示したΩ(x)多項式評価回路80
0は、図11に示した上の式(15)を発生する回路1
100に従って変化させることが可能である。回路11
00は、夫々、Ω0−Ω5の値で初期化される格納位置1
101A−1101Fを有している。フォーネィ方程式
(14)における予備乗算用Xl (l-s)項の1つの利点
は、図10における1つのガロアフィールド乗算器を除
去することである。図8における回路800に対する説
明した変化に対応する新たなフォーネィプロセッサ12
00を図12に示してある。プロセッサ1200はXl
(1-s)Ω(Xl -1)を計算する回路1201及びΛ′(X
l -1)を計算する回路1202を有している。Λ′(Xl
-1)は上述したようにガロアフィールドインバータ12
03によって反転させることが可能であり、その結果は
乗算器1204によって回路1201の出力により乗算
することが可能である。乗算器1204による乗算結果
は各評価サイクルにおいて逐次的に発生される符号ワー
ドの受取ったビットの誤りパターン1205である。
【0071】注意すべきことであるが、図11におい
て、定数乗算器1102A−1102Fの冪は図8にお
ける−1,−2,...,−5から−s+1,−s,−
s−1,...,−s−4へ変化されている。これら2
つの異なる組の定数乗算器のハードウエアのコストは変
数sの選択に依存して変化する場合がある。変数sの選
択がリード−ソロモン符号の生成多項式を定義するの
で、予備乗算用Xl (l-s)項の技術は、実際には、デコー
ダ回路を実現する場合の論理ゲートを節約する場合があ
る。同様に、Xl (l-s)項とΛ′(x)多項式とを結合さ
せることも可能である。sのある選択の場合には、Λ′
(x)との結合が実現した回路においてより少ないゲー
トを使用することとなる場合がある。ゲート節約の決定
は具体例によって特定のものである。
【0072】図13はチェンアルゴリズムとフォーネィ
アルゴリズムとを同時的に実行するために使用すること
の可能な例示的なデコーダ回路1300を示している。
例えば、図5からのチェンサーチ回路を使用することが
可能であり、即ち、回路1301は単一速度チェンサー
チエンジンとすることが可能である。一方、その他のチ
ェンサーチ回路を使用することも可能である。更に、図
12におけるフォーネィプロセッサ1200はフォーネ
ィプロセッサ1302として使用することが可能であ
る。回路1301及び1302によって行われる計算は
逐次的に行われるので、2つの別々の逐次的な操作を直
列化するチェーンを減少させるためにそれらを実質的に
同時に実施することが有益的である。理解すべきことで
あるが、チェーンの減少が観察されるようにステップを
正確に同時的に実施することは必要ではない。
【0073】全ての評価サイクルにおいて、チェンプロ
セッサ1301及びフォーネィプロセッサ1302は潜
在的な誤り位置1301及びパターン1305を与え
る。評価サイクルは、例えば、回路1300のクロック
サイクルとすることが可能である。チェンサーチ回路に
よって与えられる有効フラグ1303はこれらの誤り位
置1304及びパターン1305に資格を与える目的を
達成する。特に、有効フラグ1303がある与えられた
サイクルでアサート即ち活性化されると、対応する誤り
位置1304及びパターン1305が検知された誤りを
訂正するために使用される。そうでない場合には、チェ
ンプロセッサ1301の出力によって特定されることの
ないこれらの潜在的な誤り位置及びパターンはその他の
時間において無視される。
【0074】図13に示した回路1300に対する最悪
のデコーディング待ち時間は約2m−1クロックサイク
ルであり、その場合に短縮化した符号ワードを考慮する
ことなしに、有効なリード−ソロモン記号はGF
(2m)において定義される。注意すべきことである
が、回路1300の最悪な待ち時間はチェンサーチ回路
によって訂正されるべき誤りの数とは独立的である。図
5に関して上述したように、受取った符号ワードの幾つ
かの座標は使用されないので、短縮化したリード−ソロ
モン符号に対してクロックサイクルの数を更に減少させ
ることが可能である。フォーネィプロセッサはチェン型
サーチ回路を使用して実現することが可能であるので、
訂正されるべき誤りの数とは無関係に、全体的なデコー
ダも上限デコーディング待ち時間を有している。従っ
て、デコーダ回路1300は「一定待ち時間デコーダ」
と呼称することが可能である。
【0075】デコーディング待ち時間を更に減少させる
ことが所望される場合には、図6に関して上述した二重
速度チェンサーチ回路600をフォーネィアルゴリズム
用に実現することが可能である。例えば、図8における
Ω(x)多項式評価回路800は図14に示した回路1
400によって置換することが可能である。αの相次ぐ
冪を使用する図8に示した単一速度回路800と比較し
て、全てのクロックサイクルでαのより高い冪によって
各係数が乗算されるので速度が増加される。例えば、格
納要素Ω1(項目801B)は図8における全てのクロ
ックサイクルでα-1でその現在の内容が乗算されること
によってアップデートされ、一方格納要素Ω1(項目1
401B)は図14におけるα-2によって乗算され且つ
アップデートされる。図14に示したアキュムレータ1
403Aによって発生される上側の和は全ての偶数記号
誤り位置、即ちα0,α2,...等に対応しており,一
方アキュムレータ1403Bによって発生される下側の
和は全ての奇数記号誤り位置、即ちα1,α3,...等
に対して発生される。
【0076】回路1400はΩ(x)多項式の係数、Ω
0乃至Ω5によって夫々初期化される格納要素1401A
乃至1401Fを有している。その後のサイクルにおい
て、格納要素1401A内に格納されている値は初期化
された値Ω0と同一の状態を維持する。その他の5個の
格納要素1401B−1401Fは、夫々、ブロック1
402F−1402Jにおいてそれらの現在の内容がα
-2,α-4,...,α -10によって乗算されることによ
ってアップデートされる。格納要素1401A乃至14
01Fの値は各処理サイクルにおいてアキュムレータ1
403Aによて累算される。又、5個の格納要素140
1B−1401Fの値は、夫々、ブロック1402A−
1402Eにおいてα-1,α-2,...,α-5によって
乗算される。これらの乗算結果はアキュムレータ140
3Bによって加算される。
【0077】図7に示したΛ′(x)多項式評価回路及
び図9に示したXl (l-s)パワー(冪)回路も同じ態様で
修正することが可能である。その最終結果は、フォーネ
ィプロセッサが1つのクロックサイクルで2つの潜在的
な誤りパターンを計算することが可能となることであ
る。修正したΛ′(x)多項式評価回路は修正したXl (
l-s)パワー回路及び図6に示した二重速度チェンサーチ
回路と結合し、図15に示したような二重速度デコーダ
を発生することが可能である。
【0078】各評価サイクルにおいて、二重速度チェン
プロセッサ1501及び二重速度フォーネィプロセッサ
1502は偶数及び奇数の誤り位置及び誤りパターン情
報の両方を与える。より詳細に説明すると、二重速度チ
ェンプロセッサ1501は偶数誤り位置出力1504
と、奇数誤り位置出力1506と、それらの対応する有
効フラグ1503及び1505を発生する。又、二重速
度フォーネィプロセッサ1502は偶数1507及び奇
数1508誤りパターン情報を発生する。情報1503
−1508は、その後に、各評価サイクルにおいて受取
った符号ワードの1つ又は2つの誤りを訂正するために
訂正回路によって使用することが可能である。
【0079】図13に示した基本的な単一速度回路アー
キテクチャはより高い速度へスケーリングすることが可
能であることは容易に理解される。トリプル速度(3
X)デコーダが必要とされる場合には、本デコーダにお
ける全てのビルディングブロックは単一速度(1X)デ
コーダの場合の3倍多くのガロアフィールド定数乗算器
を包含することとなる。然しながら、3Xデコーダにお
ける格納要素の数は同一のままである。従って、nXデ
コーダは定数乗算器がn倍となるが1/nのデコーディ
ング待ち時間を有することになる。
【0080】全体的な符号ワード長と比較してデコーダ
が訂正すべく設計されている誤りの数が小さい場合に
は、チェンサーチ回路は殆どの時間において誤りを見つ
けることがない場合がある。図15に示したダブル(二
重)速度デコーダ構成の場合には、ダブル速度フォーネ
ィプロセッサが1つのクロックサイクルにおいて2つの
誤りパターンを計算するが、実際的な適用例において
は、誤りパターンは殆ど常に無視される。これらの考慮
事項から、可変ステップフォーネィプロセッサはチェン
サーチ回路から命令が与えられた場合に適宜の誤りパタ
ーンを計算するように構成することが可能である。従っ
て、フォーネィプロセッサは殆ど場合においてチェンサ
ーチ回路と同じく全速で稼動することが可能であり、且
つフォーネィプロセッサは特定の根が見つかった場合に
のみスローダウンする。根を見つけることに起因するプ
ロセッサのスローダウンは全体的なデコーディング待ち
時間のほんの僅かの部分であるに過ぎない。
【0081】図16は本発明の1実施例に基づく例えば
フォーネィプロセッサ等の可変速度多項式評価回路16
00の1実施例を示している。回路1600はΩ(x)
多項式の夫々の係数、Ω0乃至Ω5によって初期化される
多数の格納要素1601A−1601Fを有している。
その後のサイクルにおいて、格納要素1601A内にお
いて格納されている値は初期化された値Ω0と同じまま
である。その他の5個の格納要素1601B−1601
Fは乗算器1603A−1603Eの形態に依存する値
によってそれらの現在の値が乗算されることによってア
ップデートされる。
【0082】図16において、マルチプレクサ1603
A−1603Eはチェンサーチ回路から供給される有効
フラグによって制御される。ダブル速度(2X)チェン
サーチ回路の場合には、該マルチプレクサを制御するた
めに奇数有効フラグが使用される。奇数有効フラグがア
サート即ち活性化されない場合には、Ω1乃至Ω5で初期
化された格納要素1601B−1601Fが、夫々、α
-2(等価的には、最初にα-1で乗算され、次いで再度α
-1で乗算)乃至α-10(等価的には、最初にα- 5で乗算
し、次いで再度α-5で乗算)によってそれらの現在の値
が乗算されることによってアップデートされる。換言す
ると、フォーネィプロセッサ1600はそれが関連して
いるチェンサーチ回路と同じ速度で前進する。一方、奇
数有効フラグがアサート即ち活性化されると、格納要素
Ω1乃至Ω5が、最初に、1サイクルでα-1乃至α-5によ
ってそれらの現在の値が乗算されることによってアップ
デートされる。次のサイクルにおいて、それらは、α-1
乃至α-5によって再度それらの内容が乗算されることに
よってアップデートされる。換言すると、フォーネィプ
ロセッサ1600は1つのダブルステップサイクルと考
えられる2つの単一ステップサイクルを行う。注意すべ
きことであるが、フォーネィプロセッサ1600はチェ
ンサーチ回路に追いつくために1つのエキストラなクロ
ックサイクルを取る。このことは一度に1つの記号のみ
がデータバッファにおいて訂正することが可能である場
合には、図14に示したオリジナルのダブル速度回路と
比較して欠点となるものではない。その場合には、回路
1600と関連するデコーダがポーズ即ち休止状態とな
り、従って2つの根が同時的に見つかった場合には1サ
イクルを失う。
【0083】この構成の1つの利点は、XORツリーの
1つの加算回路を除去していることである。注意すべき
ことであるが、奇数及び偶数として示した図14におけ
る2つの加算回路が存在している。図16には単に1つ
の加算回路が示されているに過ぎない。大きな多項式次
数の場合、又はより高速のデコーダ構成の場合であって
も、回路間のハードウエアコストにおける差は顕著なも
のとなる。例えば、3Xチェンサーチエンジンは高性能
デコーダを発生するために可変速度フォーネィプロセッ
サで動作することが可能である。
【0084】図17は例えばフォーネィプロセッサ等の
本発明の別の実施例に基づく別の可変速度多項式評価回
路1700を示している。図17に示した評価回路17
00は3Xチェンサーチ回路によってどこで誤りが見つ
けられたかに依存して、所要に応じて単一、ダブル、又
はトリプルのステップサイクルを実施することが可能で
ある。この場合には、上述した具体例において3個の加
算回路が使用されているものと比較して、単に1つの加
算回路1705が必要とされるに過ぎない。さらに注意
すべきことであるが、マルチプレクサを選択するために
より多くの制御論理が必要とされるが、スタンダードの
トリプル速度Ω(x)多項式評価回路における3個の場
合と比較して、単に2個のバンクの定数乗算器が設けら
れているに過ぎない。
【0085】特に、回路1700はΩ(x)多項式の係
数、即ちΩ0乃至Ω5によって、夫々、初期化される多数
の格納要素1701A−1701Fを有している。その
後のサイクルにおいて、格納要素1701A内に格納さ
れている値は初期化された値Ω0と同じままに止まる。
その他の5個の格納要素1701B−1701Fは、マ
ルチプレクサ1702A−1702E及び1704A−
1704Eの形態に依存する値によってそれらの現在の
値が乗算されることによってアップデートされる。図1
7において、マルチプレクサ1702A−1702E及
び1704A−1704Eは、回路1700が関連して
いるチェンサーチ回路によって与えられる有効フラグに
よって制御される。
【0086】別の潜在的な利点は、より高いパワー即ち
冪の定数乗算器をより低いパワー即ち冪の代替物で置換
させることである。このことは、より低いパワー即ち冪
の定数乗算器をチェーン化させることによって達成され
る。例えば、図14に示した10個の定数乗算器はα-1
乃至α-10の範囲にわたっており、一方それらは図16
においてはα-1からα-5の範囲である。実際的には、よ
り低いパワー即ち冪の定数乗算器はより廉価で且つより
小型のものとなる傾向があり、且つ、実際的には、この
ことはマルチプレクサの付加的なコストを相殺すること
に貢献する。
【0087】以上、本発明の具体的実施の態様について
詳細に説明したが、本発明は、これら具体例にのみ制限
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形が可能であることは勿論であ
る。例えば、本デコーダ及び方法は任意の数の速度又は
任意の長さの符号ワードに対して適合させることが可能
である。
【図面の簡単な説明】
【図1】 本発明の1実施例に基づく誤り訂正デコーダ
を示した概略ブロック図。
【図2】 従来のチェン(Chein)サーチ回路を示
した概略ブロック図。
【図3】 従来の符号ワード検証回路を示した概略ブロ
ック図。
【図4】 別の従来のチェンサーチ回路を示した概略ブ
ロック図。
【図5】 短縮化した符号を使用した改良したチェンサ
ーチ回路を示した概略ブロック図。
【図6】 並列的に2つの根をサーチするチェンサーチ
回路を示した概略ブロック図。
【図7】 多項式評価回路を示した概略ブロック図。
【図8】 多項式評価回路を示した概略ブロック図。
【図9】 パワー(冪)回路を示した概略ブロック図。
【図10】 本発明の1実施例に基づくフォーネィ(F
orney)プロセッサを示した概略ブロック図。
【図11】 別の多項式評価回路を示した概略ブロック
図。
【図12】 本発明の1実施例に基づく別のフォーネィ
プロセッサを示した概略ブロック図。
【図13】 本発明の1実施例に基づく単一速度(1
X)デコーダを示した概略ブロック図。
【図14】 本発明の1実施例に基づくダブル速度(2
X)多項式評価回路を示した概略ブロック図。
【図15】 本発明の1実施例に基づくダブル速度(2
X)デコーダを示した概略ブロック図。
【図16】 本発明の1実施例に基づく可変速度多項式
評価回路を示した概略ブロック図。
【図17】 本発明の1実施例に基づく別の可変速度多
項式評価回路を示した概略ブロック図。
【符号の説明】
101 誤り訂正デコーダ 102 部分的シンドローム 103 誤りパターン 104 誤りロケータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ホンダ ヤン アメリカ合衆国, カリフォルニア 95070, サラトガ, ブロックトン レ ーン 19382 (72)発明者 ジョン ティー. ジル, サード アメリカ合衆国, カリフォルニア 94305, スタンフォード, サン ラフ ァエル プレイス 734

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 受信した符号ワードをデコードするデコ
    ーダ回路において、 シンドローム情報を受取り且つ誤りロケータ多項式を発
    生する誤りロケータ、 前記誤りロケータ多項式を解いて前記受信した符号ワー
    ド中の1つ又はそれ以上の誤りの位置を決定するソルバ
    ー、 前記受信した符号ワードの位置に対する誤り値を計算す
    る誤りパターンコンピュータ、を有しており、前記誤り
    ロケータ多項式が前記誤り値が計算されるのと実質的に
    同時に解かれることを特徴とするデコーダ回路。
  2. 【請求項2】 請求項1において、前記ソルバーがチェ
    ンサーチ回路を使用して誤りロケータ多項式を解くこと
    を特徴とするデコーダ回路。
  3. 【請求項3】 請求項1において、前記誤りパターンコ
    ンピュータがフォーネィアルゴリズムを使用して誤り値
    を計算することを特徴とするデコーダ回路。
  4. 【請求項4】 請求項1において、前記誤りロケータが
    バーレカンプ−マシィアルゴリズムを使用して誤りロケ
    ータ多項式を発生することを特徴とするデコーダ回路。
  5. 【請求項5】 請求項1において、前記誤りロケータが
    ユークリッドアルゴリズムを使用して誤りロケータ多項
    式を発生することを特徴とするデコーダ回路。
  6. 【請求項6】 請求項1において、前記ソルバーが、 複数個の格納要素であって、その各々が前記誤りロケー
    タ多項式の係数値で初期化される複数個の格納要素と、 複数個の乗算器であって、その各々が夫々の格納要素と
    関連しており、各乗算器が夫々の格納要素内に格納され
    ている値によって原始根を乗算することによって乗算を
    実施する複数個の乗算器と、 前記乗算の結果を累算するアキュムレータと、を具備し
    ている回路を有していることを特徴とするデコーダ回
    路。
  7. 【請求項7】 請求項1において、前記ソルバーが前記
    誤りパターンコンピュータの動作速度を制御する少なく
    とも1個の信号を発生することを特徴とするデコーダ回
    路。
  8. 【請求項8】 請求項6において、前記ソルバーが並列
    して動作する2個又はそれ以上の回路を有していること
    を特徴とするデコーダ回路。
  9. 【請求項9】 請求項1において、前記誤りパターンコ
    ンピュータが、 複数個の格納要素であって、その各々が誤り評価器多項
    式の係数値で初期化される複数個の格納要素と、 複数個の乗算器であって、その各々が夫々の格納要素と
    関連しており、各乗算器が夫々の格納要素内に格納され
    ている値によって原始根を乗算することによって乗算を
    実施する形態とされている複数個の乗算器と、 前記乗算の結果を累算するアキュムレータと、を具備し
    ている回路を有していることを特徴とするデコーダ回
    路。
  10. 【請求項10】 請求項9において、前記誤りパターン
    コンピュータが並列的に動作する2個又はそれ以上の回
    路を有していることを特徴とするデコーダ回路。
JP2000351419A 1999-11-17 2000-11-17 デジタルデータをデコーディングする装置及び方法 Pending JP2001196938A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44185999A 1999-11-17 1999-11-17
US09/441859 1999-11-17

Publications (1)

Publication Number Publication Date
JP2001196938A true JP2001196938A (ja) 2001-07-19

Family

ID=23754581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000351419A Pending JP2001196938A (ja) 1999-11-17 2000-11-17 デジタルデータをデコーディングする装置及び方法

Country Status (2)

Country Link
EP (1) EP1102406A3 (ja)
JP (1) JP2001196938A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647529B2 (en) 2000-01-18 2003-11-11 Matsushita Electric Industrial Co., Ltd. Chien's searching apparatus
JP2007274239A (ja) * 2006-03-30 2007-10-18 Fujitsu Ltd 誤り訂正装置
KR100978605B1 (ko) * 2008-01-31 2010-08-27 성균관대학교산학협력단 시스템 보안용 침해탐지방법 및 침해 탐지기
US8996966B2 (en) 2013-02-27 2015-03-31 Kabushiki Kaisha Toshiba Error correction device and error correction method
US9037950B2 (en) 2012-04-09 2015-05-19 Samsung Electronics Co., Ltd. Method for operating memory controller and devices having the same

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058876B1 (en) * 2002-02-21 2006-06-06 Ciena Corporation Method and apparatus for use in a decoder of a forward error correction (FEC) system for locating bit errors in a error locator polynomial
EP1370005A3 (en) * 2002-06-07 2003-12-17 Thomson Licensing S.A. Reed-Solomon decoder
EP1370003A1 (en) * 2002-06-07 2003-12-10 Deutsche Thomson-Brandt Gmbh Reed-Solomon Decoder
CN101483442B (zh) * 2009-02-11 2011-02-16 芯原微电子(上海)有限公司 根据Nand Flash多余空间来配置纠错能力的BCH解码器
US8621331B1 (en) 2011-06-03 2013-12-31 Altera Corporation Continuous parallel cyclic BCH decoding architecture
CN104820984B (zh) * 2015-04-24 2018-11-30 国家测绘地理信息局卫星测绘应用中心 一种卫星遥感三线阵立体影像处理系统及方法
CN109801489A (zh) * 2018-11-29 2019-05-24 深圳市元征科技股份有限公司 一种辅助驾驶的方法及服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866716A (en) * 1987-05-15 1989-09-12 Digital Equipment Corporation Real-time BCH error correction code decoding mechanism

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647529B2 (en) 2000-01-18 2003-11-11 Matsushita Electric Industrial Co., Ltd. Chien's searching apparatus
JP2007274239A (ja) * 2006-03-30 2007-10-18 Fujitsu Ltd 誤り訂正装置
JP4598711B2 (ja) * 2006-03-30 2010-12-15 富士通株式会社 誤り訂正装置
KR100978605B1 (ko) * 2008-01-31 2010-08-27 성균관대학교산학협력단 시스템 보안용 침해탐지방법 및 침해 탐지기
US9037950B2 (en) 2012-04-09 2015-05-19 Samsung Electronics Co., Ltd. Method for operating memory controller and devices having the same
US8996966B2 (en) 2013-02-27 2015-03-31 Kabushiki Kaisha Toshiba Error correction device and error correction method

Also Published As

Publication number Publication date
EP1102406A3 (en) 2003-11-19
EP1102406A2 (en) 2001-05-23

Similar Documents

Publication Publication Date Title
US6574774B1 (en) Physical block address recovery apparatus system and method for cyclic error correction codes
US7406651B2 (en) Forward Chien search type Reed-Solomon decoder circuit
US9088300B1 (en) Cyclic redundancy check for out-of-order codewords
JP4598711B2 (ja) 誤り訂正装置
US7788570B1 (en) Optimized Reed-Solomon decoder
US8176396B2 (en) System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
US7502988B2 (en) Decoding and error correction for algebraic geometric codes
JPH07312560A (ja) 誤り訂正符号化装置及び誤り訂正復号装置及び誤り訂正符号付きデータ伝送システム及び誤り訂正符号の復号方法
JPH0380727A (ja) データストリームのフレーム同期検出方法及び装置
Kwon et al. An area-efficient VLSI architecture of a Reed-Solomon decoder/encoder for digital VCRs
WO1999009694A2 (en) Reed-solomon decoder and vlsi implementation thereof
US8201061B2 (en) Decoding error correction codes using a modular single recursion implementation
US7461329B2 (en) Channel encoding adapted to error bursts
JP2001196938A (ja) デジタルデータをデコーディングする装置及び方法
JP2004032737A (ja) リード−ソロモン復号器
US5107506A (en) Error trapping decoding method and apparatus
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
US6651214B1 (en) Bi-directional decodable Reed-Solomon codes
JP2005506794A (ja) リード・ソロモン符号を復号するための方法及び復号器
Tang et al. Coding for error control
Khan et al. Hardware implementation of shortened (48, 38) Reed Solomon forward error correcting code
Park Design of the (248,216) Reed-Solomon decoder with erasure correction for Blu-ray disc
US8296632B1 (en) Encoding and decoding of generalized Reed-Solomon codes using parallel processing techniques
JP2000315955A (ja) 符号化方法、シンドローム演算方法、誤りビット数推定方法、誤りビット位置推定方法、復号方法および復号装置
Belavadi Satish Multiple layered Reed-Solomon codes in audio disks with a feedback system