(57)【要約】【課題】リードソロモンデコーダを提供する。【解決手段】エラー位置多項式関数を入力されてチェンサーチしてエラー位置を探るチェンサーチ回路、エラーパターン多項式関数を入力されてフォーニーアルゴリズムを通じてエラーパターンを探るフォーニーアルゴリズム回路、及び前記チェンサーチ時、入力されたデータのコードワードの長さに対応する所定の初期シード値を指定して前記多項式の変数の指数乗項ｘ，ｘ２，ｘ３，...を予め求めて出力するシード生成回路を含み、前記チェンサーチは入力されたデータの順序と同じ方向に行われるリードソロモンデコーダ。【選択図】図６
2005218098.tif 000002
【特許請求の範囲】
【請求項１】
リードソロモンデコーダにおいて、
エラー位置多項式関数を入力され、チェンサーチしてエラー位置を探るチェンサーチ回路と、
エラーパターン多項式関数を入力され、フォーニーアルゴリズムのアプリケーションを通じてエラーパターンを探るフォーニーアルゴリズム回路と、
前記チェンサーチ時、入力されたデータのコードワードの長さに対応するシード値を指定し、前記多項式についての変数と関連した指数乗項を求めて出力するシード生成回路と、を含み、
前記チェンサーチは、入力されたデータの順序と同じ演算方向に行われることを特徴とするリードソロモンデコーダ。
【請求項２】
前記シード生成回路は、前記チェンサーチ回路及び前記フォーニーアルゴリズム回路と直列、または、並列に連結されることを特徴とする請求項１に記載のリードソロモンデコーダ。
【請求項３】
前記シード生成回路から出力されたシード値と、前記チェンサーチ回路及びフォーニーアルゴリズム回路から出力された多項式アレイとは、ガロアフィールド乗算回路を通じて順次に乗算されることを特徴とする請求項１に記載のリードソロモンデコーダ。
【請求項４】
前記ガロアフィールド乗算回路の動作は、前記多項式についての変数と関連した前記指数乗項を求めることを特徴とする請求項３に記載のリードソロモンデコーダ。
【請求項５】
前記リードソロモンデコーダは、前記ガロアフィールド乗算回路を含む修正ユークリッドアルゴリズム演算回路をさらに含むことを特徴とする請求項３に記載のリードソロモンデコーダ。
【請求項６】
前記チェンサーチ回路及びフォーニーアルゴリズム回路は、受信されたコードワードの入力順序と同じ演算方向に前記シード生成回路から予め求めた演算値と、前記演算値のアレイに対応する前記それぞれの多項式の係数値とをそれぞれ乗算し、前記乗算結果値を算出し、前記チェンサーチ回路及びフォーニーアルゴリズム回路の新たなデータ入力係数値として設定した後、順方向にエラー位置及びエラーパターンを求めることを特徴とする請求項３に記載のリードソロモンデコーダ。
【請求項７】
前記リードソロモンデコーダは、エラー位置多項式アレイ、エラーパターン多項式アレイ及びイレイジャー多項式アレイを選択して出力するマルチプレクサをさらに含むことを特徴とする請求項３に記載のリードソロモンデコーダ。
【請求項８】
前記ガロアフィールド乗算回路は、前記エラー位置多項式アレイ、またはエラーパターン多項式アレイ、またはイレイジャー多項式アレイにそれぞれ対応するシード値を乗算してエラーパターンを判断することを特徴とする請求項７に記載のリードソロモンデコーダ。
【請求項９】
前記リードソロモンデコーダは、前記シード値の逆数を求めて出力するインバースガロアフィールド回路をさらに含み、
前記ガロアフィールド乗算アレイ回路は、前記インバースシード値を用いて前記エラーパターンを求めることを特徴とする請求項３に記載のリードソロモンデコーダ。
【請求項１０】
リードソロモンデコーダにおいて、
入力されたデータからシンドローム多項式を生成するシンドローム生成回路と、
前記シンドローム多項式とＴＡフラッグとを入力されてイレイジャー多項式を生成するイレイジャー生成回路と、
前記シンドローム多項式と前記イレイジャー多項式とを入力され、エラー位置多項式関数とエラーパターン多項式関数とを出力する修正ユークリッドアルゴリズム回路と、
前記エラー位置多項式関数を入力され、チェンサーチしてエラー位置を探るチェンサーチ回路と、
前記エラーパターン多項式関数を入力され、フォーニーアルゴリズムのアプリケーションを通じてエラーパターンを探るフォーニーアルゴリズム回路と、
前記チェンサーチ時、ガロアフィールド値を生成してコードワードの長さに対応するシード値を指定するシード生成回路と、を含むことを特徴とするリードソロモンデコーダ。
【請求項１１】
前記シード生成回路は、前記シード値を順次に乗算し、前記多項式についての変数と関連した指数乗項を求めるガロアフィールド乗算回路をさらに備えることを特徴とする請求項１０に記載のリードソロモンデコーダ。
【請求項１２】
前記チェンサーチ回路は、前記コードワードの入力順序と同じ演算方向に前記シード生成回路から予め求めた演算値と、前記演算値のアレイに対応する前記エラー位置多項式の係数値とをそれぞれ乗算してエラー位置を求めることを特徴とする請求項１１に記載のリードソロモンデコーダ。
【請求項１３】
前記フォーニーアルゴリズム回路は、前記コードワードの入力順序と同じ演算方向に前記シード生成回路から予め求めた演算値と、前記演算値のアレイに対応する前記エラーパターン多項式の係数値とをそれぞれ乗算してエラーパターンを求めることを特徴とする請求項１１に記載のリードソロモンデコーダ。
【請求項１４】
エラー検査訂正回路において、
エラー位置多項式関数を入力され、チェンサーチしてエラー位置を探るチェンサーチ回路と、
エラーパターン多項式関数を入力され、フォーニーアルゴリズムのアプリケーションを通じてエラーパターンを探るフォーニーアルゴリズム回路と、
前記チェンサーチ時、入力データのコードワードの長さに対応するシード値を提供し、前記多項式の指数乗項を求めて出力するシード生成回路と、を含むリードソロモンデコーダと、
前記リードソロモンデコーダでのエラーの未訂正を判断する巡回冗長検査演算回路とを含み、
前記チェンサーチは、入力されたデータの順序と同じ演算方向に行われ、
前記チェンサーチ時、エラー位置についてのエラーパターン値が発生する度に、前記巡回冗長検査演算回路に入力して前記チェンサーチと前記巡回冗長検査演算とが同時に行われることを特徴とするエラー検査訂正回路。
【請求項１５】
前記シード生成回路は、前記シード値を反復乗算する前記ガロアフィールド乗算回路をさらに備えて前記多項式の変数の指数乗項を求め、
前記シード生成回路から出力されたシード値と、前記チェンサーチ回路及びフォーニーアルゴリズム回路から出力された多項式アレイとは、ガロアフィールド乗算回路を通じて多項式の係数値を順次にそれぞれ乗算することを特徴とする請求項１４に記載のエラー検査訂正回路。
【請求項１６】
前記チェンサーチ及びフォーニーアルゴリズムのアプリケーションを行う時、演算されたエラー位置値とエラーパターン値とを直ちに巡回冗長検査デコーダに入力し、前記チェンサーチと前記巡回冗長検査演算とが同時に進まれることを特徴とする請求項１４に記載のエラー検査訂正回路。
【請求項１７】
入力されたデータのエラーをチェックして訂正する方法において、
入力されたデータからエラー位置多項式を生成する段階と、
入力されたデータからエラーパターン多項式を生成する段階と、
入力されたデータと関連したコードワードに対応するシード値を順次的に乗算して前記多項式の変数項を演算する段階と、
前記エラー位置多項式と前記シード値とに基づいてチェンサーチしてエラー位置を求める段階と、
前記エラーパターン多項式と前記シード値とに基づいてフォーニーアルゴリズムを行ってエラーパターンを求める段階と、
前記エラー位置とエラーパターンと関連した前記入力データのエラーを訂正する段階と、を含むことを特徴とする方法。
【請求項１８】
前記方法は、前記エラー位置及び前記エラーパターン値を利用して、前記巡回冗長検査演算を行う段階をさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記チェンサーチ段階は、入力データの受信方向と同じ演算方向に進まれることを特徴とする請求項１７に記載の方法。
【請求項２０】
リードソロモンデコーディング後に巡回冗長検査を行う段階を含み、
前記リードソロモンデコーディング段階は、入力データと関連したコードワードに関連した適切な係数選択をするチェンサーチ段階を含み、前記チェンサーチ段階は、前記入力データの受信方向と同じ演算方向に行われることを特徴とするリードソロモンコーディング具現方法。
【請求項２１】
前記チェンサーチ段階及び前記巡回冗長検査実行段階は、同時に行われることを特徴とする請求項２０に記載のリードソロモンコーディング具現方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リードソロモン（Ｒｅｅｄ Ｓｏｌｏｍｏｎ；ＲＳ）デコーダに係り、具体的には高速の巡回冗長検査（Ｃｙｃｌｉｃ Ｒｅｄｕｎｄａｎｃｙ Ｃｈｅｃｋ；ＣＲＣ）演算を行える順方向のチェンサーチ方式のＲＳデコーダ回路に関する。
【背景技術】
【０００２】
ＲＳコードは、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｌ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードの一種であり、線形ブロックコードである。また、ＲＳコードは、ブロックエラー訂正コードの一種であり、デジタル通信及びデータ保存の応用分野、例えば、ハードディスク、ＣＤ、ＤＶＤ、バーコード、無線及び移動通信、衛星通信、デジタルテレビジョン等で広く使われている。
【０００３】
一般的に、ノイズまたは保存媒体の損傷のような様々な理由によって、データを伝送する途中または前記データを保存する途中にエラーが発生する恐れがある。ＲＳエンコーダは、一定のブロックのデータを取り、前記データに余分のビットを付加してコードワードを生成する。そして、ＲＳデコーダは、各ブロックデータとパリティチェックとを受け入れてエラー発生時、元のデータに復元する機能を行う。
【０００４】
図１は、一般的なＥＣＣシステムの概略的なブロック図である。
【０００５】
図１は、データ保存装置から読み取ったデータ、または、受信したデータのエラーをチェックして訂正するエラー検査訂正（Ｅｒｒｏｒ Ｃｈｅｃｋ ａｎｄ Ｃｏｒｒｅｃｔｉｏｎ；ＥＣＣ）システム１００を示すブロック図である。一般的に、データ保存装置の場合、前記データ保存装置は、チャンネルインターフェースのための２つの入出力ポートＮＲＺ ｉｎ １２/ＮＲＺ ｏｕｔ １４を有する。また、前記データ保存装置は、内部に別途のバッファインターフェースのための２つのバッファ入出力ポートＢＵＦ ｉｎ １６/ＢＵＦ ｏｕｔ １８を有する。
【０００６】
このような構造において、エンコーディングは、バッファ入力ポートＢＵＦ ｉｎ １６を通じて入ったデータをＣＲＣエンコーダ１０８、ＲＳエンコーダ１０４を通じてそれぞれのパリティチェックを生成する。この時、生成されたパリティチェックは、入力されたデータのメッセージに付加されて出力ポート１４に伝送される。
【０００７】
デコーディングの場合、入力ポート１２を通じて伝えられたデータについて、順方向エラー訂正（Ｆｏｒｗａｒｄ Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｏｎ；ＦＥＣ）を行うようになる。入力ポート１２に入力された信号は、ＲＳデコーダ１０２とＣＲＣデコーダ１１０とに同時に伝えられ、ＲＳデコーダ１０２は入力された信号のシンドロームを演算し、ＣＲＣデコーダ１１０は入力された信号のＣＲＣ値を演算する。この時、ＲＳデコーダのシンドローム値が‘０’ではない値である場合、ＲＳデコーダ１０２の修正ユークリッドアルゴリズム部（Ｍｏｄｉｆｉｅｄ Ｅｕｃｌｉｄ Ａｌｇｏｒｉｔｈｍ；ＭＥＡ）１１２は、ＭＥＡを適用してエラー位置多項式（Ｅｒｒｏｒ Ｌｏｃａｔｉｏｎ Ｐｏｌｙｎｏｍｉａｌ；ＥＬＰ）と、エラーパターン多項式（Ｅｒｒｏｒ Ｐａｔｔｅｒｎ Ｐｏｌｙｎｏｍｉａｌ；ＥＰＰ）とを演算する。そして、ＭＥＡ １１２は、演算結果をそれぞれチェンサーチ回路１１４とフォーニーアルゴリズム回路１１６とに出力する。チェンサーチ回路１１４とフォーニーアルゴリズム回路１１６のそれぞれは、ＭＥＡ １１２の出力信号について、チェンサーチとフォーニーアルゴリズムとを適用する。そして、チェンサーチ回路１１４は、チェンサーチを通じて伝えられたデータのエラー位置を求め、フォーニーアルゴリズム回路１１６は、フォーニーアルゴリズムを通じて伝えられたデータのエラーパターンを求める。
【０００８】
ＲＳデコーディング後、エラーの訂正が完全であるか否かを判断するために、ＲＳデコーディング後に求められたエラー位置とエラーパターンとを利用した追加のＣＲＣデコーディング１１８を行うようになる。最終的に、ＲＳデコーディングとＣＲＣデコーディング結果にエラーがない場合、バッファ出力ポートＢＵＦ ｏｕｔを通じてデータが出力される。
【０００９】
図２は、図１に示されたＲＳデコーダを示すブロック図である。
【００１０】
図２を参照すれば、ＲＳデコーダ１０２の場合、データ保存装置（図示せず）から受信されたデータｒ（ｘ）のコードワードについて、シンドロームを求めることにより始める。シンドローム多項式Ｓ（ｘ）は、シンドローム生成回路２０２から生成される。演算されたシンドローム値がいずれも‘０'である場合、別途のＲＳデコーディングは適用されない。また、コードワードについてのＣＲＣ演算値が‘０’である場合、最終的にデータの伝送中に発生したエラーがないと判断する。
【００１１】
求められたシンドローム値が‘０’でない場合、ＲＳデコーディングを行うが、この時、エラーモードとイレイジャーモードとを使用するＭＥＡ ２０６を適用する。
【００１２】
ＭＥＡ ２０６は、シンドローム多項式Ｓ（ｘ）とイレイジャー生成部２０４から生成されたイレイジャー多項式λ（ｘ）とを入力され、ＥＬＰ σ（ｘ）とＥＰＰ ω（ｘ）とを求めてチェンサーチ回路２０８とフォーニーアルゴリズム回路２１０とに出力する。
【００１３】
チェンサーチ回路２０８は、ＭＥＡ演算後、求められたＥＬＰ σ（ｘ）を利用してチェンサーチを通じて最終的にエラー位置を求め、フォーニーアルゴリズム回路２１０は、ＭＥＡ演算後に求められたＥＰＰ ω（ｘ）を利用して、フォーニーアルゴリズムを通じてエラーパターンを求める。
【００１４】
一方、図１のＥＣＣシステム１００は、ＲＳデコーダ１０２の未訂正を減らすために、別途のＣＲＣ演算器１２０を含む。ＣＲＣ演算器１２０は、エンコーディングを行う場合には、ＣＲＣエンコーダ１０８を利用してバッファ入力ポート１６に入力されたデータについてのＣＲＣエンコーディングを行う。
【００１５】
また、ＣＲＣ演算器１２０は、入力ポート１２に入ったデータをデコーディングする第１ ＣＲＣデコーダ１１０と、エラー位置とエラーパターンとを利用してデコーディングする別途の第２ ＣＲＣデコーダ１１８とを有する。入力ポート１２についてのＣＲＣデコーダ１１０は、入力ポート１２を通じて入力される信号を受信し、受信されたデータをＣＲＣデコーディングし、別途のＣＲＣデコーダ１１８は、ＲＳデコーディング後に求められたエラー位置とエラーパターンとを利用してＣＲＣデコーディングする。この時、第１ ＣＲＣデコーダ１１０から求めた入力ポート１２を通じて入力されたデータについてのＣＲＣ値と、第２ ＣＲＣデコーダ１１８から求めたエラー位置及びエラーパターンについてのＣＲＣ値とが同じ場合、ＣＲＣエラーはないと見なす。
【００１６】
一方、ＲＳデコーディングがシンボル単位で行われるので、第２ ＣＲＣデコーダ１１０，１１８もシンボル単位に合わせて演算がなされねばならない。
【００１７】
図３は、保存装置で主に使われるデータのフォーマットを示した図面である。
【００１８】
図３を参照すれば、データは、データセクタ５１２Ｂ、エンベデッドセクタナンバー２Ｂ、ＣＲＣ演算のための４Ｂ、及びＲＳ演算のための８０Ｂを含む。ＲＳデコーディング及び第２ ＣＲＣデコーダのＣＲＣデコーディングは、シンボル単位で行われる。
【００１９】
一般的なＲＳデコーダは、チェンサーチ及びフォーニーアルゴリズムの具現時、ＭＥＡ演算時に求められたＥＬＰ σ（ｘ）、ＥＰＰ ω（ｘ）を初期係数として使用する方法を利用する。このような方法を使用する場合、ＲＳデコーダはメッセージを受け入れる順序と逆にチェンサーチを行わねばならない。従って、従来のＲＳデコーダは、以後に進まれるＣＲＣ演算のために、エラー位置及びエラーパターンを保存して、再び逆順にＣＲＣデコーダに入力せねばならない問題がある。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明が解決しようとする課題は、データを受け入れる順序とチェンサーチを進行する順序とを同じ方向にして、全体的なＥＣＣの実行において、所要される時間を短縮できるＲＳデコーダを提供するところにある。
【課題を解決するための手段】
【００２１】
前記課題を解決するために、本発明の特徴によれば、ＲＳデコーダは、ＥＬＰ関数を入力されてチェンサーチしてエラー位置を探るチェンサーチ回路、ＥＰＰ関数を入力されてフォーニーアルゴリズムのアプリケーションを通じてエラーパターンを探るフォーニーアルゴリズム回路、及び前記チェンサーチ時、入力されたデータのコードワードの長さに対応するシード値を指定し、前記多項式についての変数と関連した指数乗項を求めて出力するシード生成回路を含み、前記チェンサーチは入力されたデータの順序と同じ演算方向に行われる。
【００２２】
望ましくは、前記シード生成回路から出力されたシード値と、前記チェンサーチ回路及びフォーニーアルゴリズム回路から出力された多項式アレイとは、ガロアフィールド（Ｇａｌｏｉｓ Ｆｉｅｌｄ；ＧＦ）乗算回路を通じて順次に乗算する。
【００２３】
より望ましくは、前記チェンサーチ回路及びフォーニーアルゴリズム回路は、受信されたコードワードの入力順序と同じ演算方向に前記シード生成回路から予め求めた演算値と、前記演算値のアレイに対応する前記それぞれの多項式の係数値とをそれぞれ乗算し、前記乗算結果値を算出し、前記チェンサーチ回路及びフォーニーアルゴリズム回路の新たなデータ入力係数値として設定した後、順方向にエラー位置及びエラーパターンを求めることができる。
【００２４】
前記課題を解決するために、本発明の他の特徴によれば、ＲＳデコーダは、入力されたデータからシンドローム多項式を生成するシンドローム生成回路、前記シンドローム多項式とＴＡフラッグとを入力されてイレイジャー多項式を生成するイレイジャー生成回路、前記シンドローム多項式と前記イレイジャー多項式とを入力されてＥＬＰ関数とＥＰＰ関数とを出力するＭＥＡ回路、前記ＥＬＰ関数を入力されてチェンサーチしてエラー位置を探るチェンサーチ回路、前記ＥＰＰ関数を入力されてフォーニーアルゴリズムのアプリケーションを通じてエラーパターンを探るフォーニーアルゴリズム回路、及び前記チェンサーチ時、ＧＦ値を生成してコードワードの長さに対応するシード値を指定するシード生成回路を含む。
【００２５】
前記課題を解決するために、他の実施例による本発明のＥＣＣ回路は、ＥＬＰ関数を入力されてチェンサーチしてエラー位置を探るチェンサーチ回路、ＥＰＰ関数を入力されてフォーニーアルゴリズムのアプリケーションを通じてエラーパターンを探るフォーニーアルゴリズム回路、及び前記チェンサーチ時、入力データのコードワードの長さに対応するシード値を提供し、前記多項式の指数乗項を求めて出力するシード生成回路を含むＲＳデコーダと、前記ＲＳデコーダでのエラーの未訂正を判断するＣＲＣ演算回路と、を含み、前記チェンサーチは入力されたデータの順序と同じ演算方向に行われ、前記チェンサーチ時、エラー位置についてのエラーパターン値が発生する度に、前記ＣＲＣ演算回路に入力して前記チェンサーチと前記ＣＲＣ演算とが同時に行われる。
【００２６】
望ましくは、前記シード生成回路は、前記シード値を反復乗算する前記ＧＦ乗算回路をさらに備えて前記多項式の変数の指数乗項を求め、前記シード生成回路から出力されたシード値と、前記チェンサーチ回路及びフォーニーアルゴリズム回路から出力された多項式アレイとは、ＧＦ乗算回路を通じて多項式の係数値を順次にそれぞれ乗算する。
【００２７】
本発明によるさらに他の実施例によれば、入力されたデータのＥＣＣ方法は、入力されたデータからＥＬＰを生成する段階と、入力されたデータからＥＰＰを生成する段階と、入力されたデータと関連したコードワードに対応するシード値を順次に乗算して前記多項式の変数項を演算する段階と、前記ＥＬＰと前記シード値とに基づいてチェンサーチしてエラー位置を求める段階と、前記ＥＰＰと前記シード値とに基づいてフォーニーアルゴリズムを行ってエラーパターンを求める段階と、前記エラー位置とエラーパターンと関連した前記入力データのエラーを訂正する段階と、を含む。
【００２８】
本発明による他の実施例によれば、ＲＳコーディング具現方法は、ＲＳデコーディング後にＣＲＣを行う段階を含み、前記ＲＳデコーディング段階は、入力データと関連したコードワードに関連した適切な係数選択をするチェンサーチ段階を含み、前記チェンサーチ段階は、前記入力データの受信方向と同じ演算方向に行われる。
【００２９】
この時、前記チェンサーチ段階及び前記ＣＲＣ実行段階は同時に行われる。
【発明の効果】
【００３０】
本発明によるＲＳデコーディング方法によれば、チェンサーチ時、初期係数としてコードワードの長さに対応する適切な係数を用いることにより、データが入った順にチェンサーチを進めてＲＳデコーディングに続くＣＲＣデコーディングタイミングを短縮できる。このような方法を適用する場合、チェンサーチ時、エラー位置についてのエラーパターン値を発生させる度に、ＣＲＣデコーダに入れることによって、チェンサーチと同時にＣＲＣ演算を行うことができる。また、ＣＲＣ演算とチェンサーチとがメッセージ入力順序と同一なので、別途のエラー位置とエラーパターンとについての保存が必要なくなる効果がある。
【発明を実施するための最良の形態】
【００３１】
本発明と、本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施例を例示する添付図面及び添付図面に記載された内容を参照せねばならない。
【００３２】
以下、添付された図面を参照して本発明の望ましい実施例を説明することにより、本発明を詳細に説明する。各図面に提示された同じ参照符号は同じ部材を示す。
【００３３】
本発明によるＲＳデコーディング方法は、コードワードの長さに対応する適切な係数を使用してチェンサーチ時に初期係数を決定し、データが入った順にチェンサーチを進行可能にする方法である。このような方法を適用する場合、チェンサーチ時、エラー位置についてのエラーパターン値を発生させる度に、前記エラーパターン値をＣＲＣデコーダに入力させることができ、チェンサーチと同時にＣＲＣ演算を行うことができる。また、ＣＲＣ演算とチェンサーチとがデータ入力順序と同一なので、別途のエラー位置とエラーパターンとについての保存が必要なくなる。
【００３４】
本発明によるＲＳデコーディングをするためには、チェンサーチ以前に適切な係数値を設定する必要がある。
【００３５】
図４は、一般的なチェンサーチ回路の構成を示した図面である。
【００３６】
図２及び図４を参照すれば、チェンサーチ回路４００は、多項式計算回路４０２と加算回路４０４とで構成される。多項式計算回路４０２は、ＥＬＰ σ（ｘ）の各項に対応する複数個のサブモジュール４０２＿０，４０２＿１，４０２＿２，...４０２＿ｅ−１を含む。それぞれのサブモジュールは、それぞれ加算回路４０６＿０，４０６＿１，４０６＿２，...４０６＿ｅ−１と、乗算回路４０８＿０，４０８＿１，４０８＿２，...４０８＿ｅ−１とで構成される。
【００３７】
チェンサーチ回路４００は、ローディング信号ＬＯＡＤに同期してＥＬＰの係数を加算回路４０６にローディングする。また、チェンサーチ回路４００の乗算回路４０８のそれぞれは、まずＥＬＰ σ（ｘ）の係数にαを乗算する。この時、クロック信号ＣＬＫに同期されてＥＬＰの係数にαを反復的に乗算する。前記乗算処理された値は、再びＥＬＰ σ（ｘ）の係数と設定され、同時にクロック信号毎に同期されて加算回路４０４で加算される。この加算の結果値が‘０'である位置が、エラー発生位置と判定される。このように探索されたエラー位置に該当するデータについてのエラー訂正が行われる。
【００３８】
図５は、本発明の一実施例によるＲＳデコーダの一部構成を示した図面である。
【００３９】
ＲＳデコーダ５００は、チェンサーチ回路５０２、フォーニーアルゴリズム回路５０４及びシード値生成回路５０６を含む。チェンサーチ回路５０２の回路構成は、図４の一般的な回路構成と類似しているが、別途のシード値生成回路５０６を通じてフォワードチェンサーチを支援する。
【００４０】
チェンサーチとフォーニーアルゴリズムとは、ＥＬＰ σ（ｘ）とＥＰＰ ω（ｘ）とを利用してエラーの位置とパターンとを探る方法である。チェンサーチアルゴリズムとフォーニーアルゴリズムとは別に適用されず、実際に共に適用される。即ち、ＲＳデコーダ５００のチェンサーチ回路５０２、フォーニーアルゴリズム回路５０４は、エラー位置を探ると同時にエラーパターンを探る構造となっている。
【００４１】
ＲＳデコーダ５００にＭＥＡを適用する場合、ＥＬＰ σ（ｘ）は、エラー発生位置の逆数を根として有する方程式で構成される。即ち、ＲＳデコーダ５００は、ＥＬＰ方程式の根を探った後、その値の逆数を取って実際のエラー発生位置を探ることができる。一般的に、ＥＬＰは高次方程式であるので、ＥＬＰ方程式の根を探ることが容易ではない。チェンサーチアルゴリズムは、あらゆるＧＦ元素を代入し、ＥＬＰ方程式を満足するかを検査して高次方程式であるＥＬＰ方程式の根を容易に探るようにする。即ち、チェンサーチアルゴリズムは、σ(x) = σ0 + σ1x + σ2x2 + ... + σe-2xe-2 + σe-1xe-1 = 0の根を探ることである。
【００４２】
例えば、σ(x) = σ0 + σ1x + σ2x2 + σ3x3 と仮定すると、ＭＥＡ演算回路を通じてσ0，σ1，σ2，σ3の値を求めることができる。また、ここで、ＭＥＡ演算回路を通じた係数値がそれぞれσ0= α100，σ1= α200，σ2= α300，σ3= α400 と仮定すれば、ＭＥＡ演算回路から出力されたＥＬＰはσ(x) = α100 + α200 x+ α300 x2 + α400 x3 となる。
【００４３】
若し、コードワードの長さが４６２であれば、上の多項式のｘにα-461からα0まで順次に代入して多項式の演算結果が‘０’となるかを探る。
【００４４】
フォワードチェンサーチのために、x=α-461について、先ず演算をし、その後、x=α-460，x=α-459，...x=α0の順序に演算をする。
【００４５】
一方、シード値生成回路５０６は、x=α-461について演算する時、x，x2，x3にα-461を代入して値を予め求める。その結果、チェンサーチ回路５０２の各ＥＬＰのアレイは、それぞれα100，α200，α300，α400となり、シード値生成回路５０６のアレイは、それぞれ１，α-461，(α-461)2，(α-461)3となる。そして、図５の各加算回路５０８＿０ないし５０８＿３には、それぞれＥＬＰの係数α100，α200，α300，α400が入力され、乗算回路５１０＿０ないし５１０＿３には、それぞれシード値生成回路５０６で計算された１，α-461，(α-461)2，(α-461)3値がそれぞれ入力される。従って、アレイのそれぞれの桁を乗算すれば、最終的なＥＬＰの新たな初期係数値を求めることができる。そして、第１加算回路５１２から求めた値が‘０'であれば、その位置がエラー発生位置と判定される。
【００４６】
図５のチェンサーチ回路５０２は、多項式の偶数次数項と奇数次数項とに分けて、第１加算回路５１２と第２加算回路５１４とで演算する構造を有する。第１加算回路５１２は、図４の加算回路４０４のように、あらゆる次数項を加算する機能をし、第２加算回路５１４は、ＥＬＰのうち奇数次数項についてのみ加算してx*σ'(x)(x=α-i)の値を別途に求める。これは、チェンサーチアルゴリズムとフォーニーアルゴリズムとを同時に適用するためのものであって、第２加算回路５１４で加算された奇数次数項多項式は、フォーニーアルゴリズムのためにインバースＧＦ ５１６を経てＧＦ乗算回路５１８に入力される。
【００４７】
フォーニーアルゴリズム５０４は、ＥＬＰ σ（ｘ）とＥＰＰ ω（ｘ）とを通じてエラーパターンを求める方法である。フォーニーアルゴリズムは次のような式で表現できる。
【００４８】
【数１】
2005218098.tif 000003
【００４９】
または、e(x) = ω(x) * (x*σ'(x))-1 , x=α-i
【００５０】
この時、σ'(x)はσ(x)を微分した導関数であって、次の通り整理される。
【００５１】
σ(x) = σ0 + σ1x + σ2x2 + ... + σe-2xe-2 + σe-1xe-1 
σ'(x) = σ1+ 2σ2x + 3σ3x2 + 4σ4x3 + 5σ5x4 + ...
= σ1 + σ3x2 + σ5x4 + ... 
∴ x*σ'(x) = σ1x + σ3x3 + σ5x5 + ... 
【００５２】
従って、フォーニーアルゴリズムの分母ｘ*σ（ｘ）は、σ（ｘ）の奇数次数項のみを計算した値である。
【００５３】
図５のフォーニーアルゴリズム回路５０４の各加算回路５２２＿０，５２２＿１，５２２＿２，...は、ＭＥＡ演算結果、求めたＥＰＰ ω（ｘ）の係数、即ち、ＥＰＰのアレイω０，ω１，ω２，ω３，...をローディング信号ＬＯＡＤに同期してローディングする。フォーニーアルゴリズム回路５０４の各乗算回路５２４＿０，５２４＿１，５２４＿２，....は、シード値生成回路５０６で、ｘ=α-iを入力して求めた(α-i)0，(α-i)1，(α-i)2，(α-i)3，....値（若し、コードワードの長さが４６２であれば、α-461から入力した値である）を演算する。
【００５４】
そして、第３加算回路５２０は、フォーニーアルゴリズム回路５０４のＥＰＰのアレイと、生成されたシード値アレイとをそれぞれの桁別に乗算演算をして新たな初期係数値を設定した後、各加算回路５２２と各乗算回路５２４とを通じてそれぞれの桁で乗算して求めた値を加算する。
【００５５】
インバースＧＦ ５１６は、例えばシンボルが１０ビットである場合、予め１０２４(即ち、２１０)個のインバースフィールドを求め、テーブルルックアップ方式で１―サイクルに演算をし、第２加算回路５１４でｘ*σ'（ｘ）を入力されてＧＦインバース値、即ち、（ｘ*σ'（ｘ））-1，ｘ=α-iを求める。
【００５６】
ＧＦ乗算回路５１８は、第２加算回路５１４で求めたｘ*σ'（ｘ）（ｘ=α-i）の値のインバース値（即ち、インバースＧＦ ５１６の出力値）と、第３加算回路５２０で求めたω（ｘ）（ｘ=α-i）の値とを入力されてこの２つの値を乗算することにより、最終的なエラーパターンを求めることができる。この時、インバースＧＦ ５１６は、ｘ*σ'（ｘ）値の逆数を出力するので、ＧＦ乗算回路５１８はω（ｘ）をｘ*σ'（ｘ）値で割ってエラーパターンを求めるようになる。
【００５７】
図５に示した本発明の一実施例によるＲＳデコーディング方法によれば、チェンサーチ時、初期係数をコードワードの長さに対応する適切な係数として代入することによって、データが入った順にチェンサーチを進行できる。
【００５８】
図６は、本発明の一実施例によるＲＳデコーダの構造を示した図面である。
【００５９】
図６を参照すれば、ＲＳデコーダ６００は、図５のＲＳデコーダ５００にイレイジャーモード回路６０２をさらに含む。イレイジャーモード回路６０２は、複数個の加算回路６０４及び複数個の乗算回路６０６を各サブモジュール別に一つずつ含んでいる。また、イレイジャーモードと同時にフォーニーアルゴリズムを行うために、図５のチェンサーチ回路のように、イレイジャー多項式λ（ｘ）のあらゆる次数項を加算する第４加算回路６０８、及び奇数次数項のみを別途に分けて加算する第５加算回路６１０を含む。
【００６０】
イレイジャーモード６０２の場合、ＲＳデコーダ６００は、イレイジャー多項式λ（ｘ）を追加で利用してエラーシンボル位置とイレイジャーシンボル位置とを探る。各加算回路６０４は、ローディング信号ＬＯＡＤに同期してイレイジャー多項式の各係数λ0，λ1，λ2，...をローディングし、各乗算回路６０６はローディング信号ＬＯＡＤに同期してシード値生成回路６１２でｘ=α-i値をローディングし、クロック信号ＣＬＫに同期して(α-i)0，(α-i)1，(α-i)2，(α-i)3，...値をそれぞれ演算する。各乗算回路６０６は、ｘ=α-i値を代入して演算した値と、各加算回路６０４から出力された係数とを乗算して加算回路６０８及び６１０に出力する。加算回路６１０は、イレイジャー多項式の奇数次数項のみを加算し、加算回路６０８はイレイジャー多項式のあらゆる次数項を加算する。
【００６１】
ＥＬＰの根はエラーシンボルとして常に処理され、イレイジャー多項式の根はＥＬＰの根ではない場合にのみ、イレイジャーシンボルとして処理する。また、最終的なエラーシンボルパターンを求めるために、フォーニーアルゴリズム回路でＧＦインバースフィールドを利用する。
【００６２】
図７は、本発明の一実施例によるシード値生成回路を示した図面である。
【００６３】
図７を参照すれば、シード値生成回路７００は、ＧＦ乗算回路７０２、２つのスイッチ７０４と７０６、及び複数個（２ｔ個）のフリップフロップ７０８＿１ないし７０８＿ｎを含む（ここで、ｔはｃｏｒｒｅｃｔａｂｌｅ ｓｙｍｂｏｌ ｃｏｕｎｔである）。
【００６４】
入力されたデータのコードワードの長さが４６２であれば、シードＳＥＥＤはシード値生成回路７００の初期値でα-461となる。シード値生成回路７００は、コードワードの長さに該当するＧＦ値を第１制御信号ＬＯＡＤに応答してローディングした後、第２制御信号ＧＥＮに応答してＧＦ乗算回路７０２を利用して２ｔ−１ほど反復して演算する。
【００６５】
シード値生成回路７００は、チェンサーチ及びフォーニーアルゴリズム回路に直列または並列に連結されたり、その内に共にローディングされることができる。
【００６６】
図８は、本発明の他の実施例によるシード値生成回路を示した図面である。
【００６７】
図８を参照すれば、シード値生成回路８００は、ＧＦ乗算回路８０２、マルチプレクス回路８０４、フリップフロップ８０６、デマルチプレクス回路８０８及び複数個のフリップフロップアレイ８１０＿１ないし８１０＿ｎを含む。
【００６８】
ＧＦ乗算回路８０２は、コードワードの長さに該当するＧＦ値ＳＥＥＤを入力されてローディングし、クロック信号ＲＲＣＬＫに同期されてフリップフロップ８０６から出力される信号に同期し、コードワードの長さに対応するシード値を生成する。複数個のフリップフロップアレイ８１０＿１ないし８１０＿ｎは、シード値生成回路８００により演算された値を保存するアレイである。ＧＦ乗算回路８０２で演算された値は、デマルチプレクサ８０８を通じて上がり順にフリップフロップアレイ８１０に保存される。
【００６９】
図９は、本発明によるＲＳデコーダの動作順序を示す構成図である。
【００７０】
図９を参照すれば、ＲＳデコーダ９００は、ＭＥＡ演算回路９０２、チェンサーチ及びフォーニーアルゴリズム演算回路９０４、マルチプレクサ９１４及び複数個のスイッチ９１８で構成される。チェンサーチ及びフォーニーアルゴリズム演算回路９０４は、シード値生成回路９０６、ＥＬＰ（σ）アレイ９０８、イレイジャー多項式（λ）アレイ９１０、及びＥＰＰ（ω）アレイ９１２を含む。
【００７１】
ＭＥＡ演算回路９０２から演算された３つの多項式σ（ｘ），λ（ｘ），ω（ｘ）は、チェンサーチ及びフォーニーアルゴリズム演算回路９０４に入力され、各多項式の初期係数がそれぞれの多項式のアレイ９０８、９１０、９１２に保存される。そして、各多項式のアレイに保存された初期係数は、マルチプレクサ９１４を通じて順次に出力されてＧＦ乗算回路９１６に入力される。ＧＦ乗算回路９１６では、各多項式のアレイに保存された係数値と、シード値生成回路９０６で生成されたシード値と同じ位置どうし乗算して新たな係数値を演算する。そして、最終的にエラー位置とエラーパターンとを求め、エラー訂正を行う。
【００７２】
本発明によるＲＳデコーダ回路によれば、チェンサーチ回路の初期係数を設定し、チェンサーチを行う場合、コードワードが受け入れられた順にチェンサーチを行うことができる。したがって、以後に進行されるＣＲＣ演算は、エラー位置が発生する度に、エラーパターンについてＣＲＣ演算を進行できる。したがって、本発明による方式でＣＲＣ演算を進行すれば、ＣＲＣ演算はチェンサーチ後、１サイクル後に終了されうる。
【００７３】
図１０は、本発明によるチェンサーチとＣＲＣ演算とのタイミング関係を示した図面である。
【００７４】
図１０を参照すれば、入力されたデータ１００２のチェンサーチは、図１０に示されたように、順方向１００４にチェンサーチ１００６が進まれる。その結果、チェンサーチ時、エラー位置についてのエラーパターン値が発生する度に、ＣＲＣデコーダに入れることによって、チェンサーチ１００６と同時にＣＲＣ演算１００８を行える。したがって、チェンサーチ及びフォーニーアルゴリズムの演算１００６とＣＲＣ演算１００８との差は、１サイクル１０１０の差であり、直ちに終了が可能である。
【００７５】
また、ＣＲＣ演算とチェンサーチの演算との方向がデータメッセージの入力順序と同一なので、別途のエラー位置とエラーパターンとについての保存が必要なくなる効果がある。
【００７６】
本発明は図面に示した一実施例を参考として説明されたが、これは例示的なものに過ぎず、当業者であれば、これから多様な変形及び均等な他の実施例が可能であるという点を理解できる。従って、本発明の真の技術的な保護範囲は、特許請求範囲の技術的思想により決まらねばならない。
【産業上の利用可能性】
【００７７】
本発明によるＲＳデコーダ回路は、デジタル通信及びデータ保存の応用分野、例えば、ハードディスク、ＣＤ、ＤＶＤ、バーコード、無線及び移動通信、衛星通信、デジタルテレビジョン等で使われることができる。
【図面の簡単な説明】
【００７８】
【図１】一般的なＥＣＣシステムの概略的なブロック図である。
【図２】図１に示されたＲＳデコーダを示したブロック図である。
【図３】保存装置で主に使われるデータのフォーマットを示した図面である。
【図４】一般的なチェンサーチ回路の構成を示した図面である。
【図５】本発明の一実施例によるＲＳデコーダの一部構成を示した図面である。
【図６】本発明の一実施例によるＲＳデコーダの構造を示した図面である。
【図７】本発明の一実施例によるシード値生成回路を示した図面である。
【図８】本発明の他の実施例によるシード値生成回路を示した図面である。
【図９】本発明によるＲＳデコーダの動作順序を示す構成図である。
【図１０】本発明によるチェンサーチとＣＲＣ演算とのタイミング関係を示した図面である。
【符号の説明】
【００７９】
５１２    第１加算回路
５１４    第２加算回路
５２０    第３加算回路
６００    ＲＳデコーダ
６０２    イレイジャーモード回路
６０４    加算回路
６０６    乗算回路
６０８    第４加算回路
６１０    第５加算回路
６１２    シード値生成回路
【図１】
2005218098.tif 000004
【図２】
2005218098.tif 000005
【図３】
2005218098.tif 000006
【図４】
2005218098.tif 000007
【図５】
2005218098.tif 000008
【図６】
2005218098.tif 000009
【図７】
2005218098.tif 000010
【図８】
2005218098.tif 000011
【図９】
2005218098.tif 000012
【図１０】
2005218098.tif 000013