JPH09507117A - リードソロモン復号化器 - Google Patents

リードソロモン復号化器

Info

Publication number
JPH09507117A
JPH09507117A JP7513257A JP51325795A JPH09507117A JP H09507117 A JPH09507117 A JP H09507117A JP 7513257 A JP7513257 A JP 7513257A JP 51325795 A JP51325795 A JP 51325795A JP H09507117 A JPH09507117 A JP H09507117A
Authority
JP
Japan
Prior art keywords
register
error
syndrome
registers
value
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
JP7513257A
Other languages
English (en)
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.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
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 Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH09507117A publication Critical patent/JPH09507117A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics

Landscapes

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

Abstract

(57)【要約】 リードソロモン復号化器(199)は、n個のmビットシンボルを含む符号語を処理することによって、誤り位置多項式σ(x)の係数を決定し、その後誤り評価多項式ω(x)を生成する。復号化器は、シンドローム値を格納するシンドロームレジスタ(103)のバンク(B103)と、誤り位置多項式σ(x)の係数を蓄積する誤り位置レジスタ(101)のバンク(B101)と、中間多項式τ(x)の係数を蓄積する中間レジスタ(102)のバンク(B102)とを有している。復号化器(199)は更に、所与の符号語に対して、2フェーズの誤り位置反復を行うことによって誤り位置レジスタおよび中間レジスタ中の値を更新するレジスタ更新回路(50)を有している。先行技術とは対照的に、本発明のレジスタ更新回路(50)は、中間多項式τ(x)の係数を各誤り位置反復の第1フェーズ中に更新し、誤り位置多項式σ(x)の係数を各誤り位置反復の第2フェーズ中に更新する。更に対照的に、本発明の復号化器(199)は、誤り位置レジスタ(101)のバンクおよび中間レジスタ(102)のバンクを一つずつしか必要としなく、パラレルデータ転送よりもシリアルデータシフトを容易にし、その結果、回路実体を減少させる。

Description

【発明の詳細な説明】 リードソロモン復号化器 関連出願の相互参照 本出願は、1993年11月4日出願され現在は放棄された米国特許出願第08/147,6 50号の継続出願である。後者は、本明細書において参照のため援用されている。 本出願と同時に出願され、本明細書において参照のため援用されている特許出願 (発明者:Christopher P.Zook)には、米国特許出願第08/325,717号、発明の名称 “CYCLIC REDUNDANCY CHECK METHOD AND APPARATUS”;米国特許出願第08/325,8 50号、発明の名称“BURST ERROR CORRECTOR”;米国特許出願第08/325,831号、 発明の名称“FINITE FIELD INVERSION”;および米国特許出願第08/326,126号、 発明の名称“ERROR CORRECTION METHOD AND APPARATUS”が含まれる。米国特許 出願第08/147,650号と同時に出願された特許出願(すべて本明細書において参照 のため援用されている)には、米国特許出願第08/147,865号、発明の名称“DUAL PURPOSE CYCLIC REDUNDANCY CHECK”;現在は放棄された米国特許出願第08/148 ,068号、発明の名称“BURST ERROR CORRECTOR”、および現在は放棄された米国 特許出願第08/147,758号、発明の名称“FINITE FIELD INVERSION”が含まれる。 背景 1.発明の分野 本発明は、一般に、デジタルデータ通信システムに関し、特に、誤り訂正符号 の符号化および復号化に関する。 3.関連技術および他の考察 デジタルデータ通信システム(光学または磁気媒体への格納およびそれらから の検索を含む)、誤り制御システムは、典型的に、情報の転送速度を高め、同時 に、誤りレートを任意に低くするために使用されている。固定された信号対ノイ ズ比および固定された帯域幅の改善が、誤り訂正符号の使用によって行われ得る 。 誤りデータ符号化において、伝送されるか、または、格納されるデータが処理 され、付加的なデータシンボル(検査シンボルまたは冗長シンボルと呼ばれる) を得る。データと検査シンボルとが一緒になって符号語となる。伝送または検索 後、符号語は、数学的に処理され、誤りの位置と値についての情報を含む誤りシ ンドロームを得る。 リードソロモン符号は、一種の多重誤り訂正符号である。最もポピュラーな復 号化の方法の1つは、誤り位置多項式σ(x)[すなわち、Berlekamp-Masseyの アルゴリズムを用いた接続多項式]を生成し、誤り位置多項式から誤り評価多項 式ω(x)を生成し、誤り位置多項式の根探索を行って誤りの位置を検出し、誤 り位置多項式の根で誤り評価多項式を評価して誤り値を算出する方法である。 誤り検出および訂正のほとんどの論理回路は、Berlekamp-Masseyアルゴリズム を実行する。Berlekamp-Masseyアルゴリズムの各反復は2つの部分またはステー ジを有する。 ここで、dnは、不一致番号(discrepancy number)であり、τは、σを算出す るのに用いられる中間多項式である。τの2つの代替式の選択は、σ(x)の更 新の結果、σ(x)の次数が増加するか否かによる。増加すると、τ(x)はσ (x)に設定され、drは、dnに設定される。もし、τ(x)が、そうではなく て、dn -1Xσ(x)に設定されると、drは排除され得、再帰は、以下のように なる。 第2のステージは、第1のステージの結果を必要とする。回路の大きさを最小 にするために、シリアルに全ての算出を行い、シリアルに更新することが望まし い(空間消費パラレルバスを必要とするパラレルに行うのに対して)。使用され る体がGF(2m)であるとすると、シリアル化された実行に必要なクロックサ イクルの最小数は、1反復につき2m個のクロック、すなわち、1ステージにつ きm個のクロックである。 Zookに1989年7月4日に発行された米国特許第4,845,713号は、1反復につき 2m+1個のクロックおよびビットシリアル乗算器および加算器を用いる方法を 示している。しかし、それは、反転のために、4t+1個のmビットレジスタお よび2mxmのROMルックアップテーブルを用いる(tは、訂正可能な誤りの 数である)。また、τ(n+1)(x)の更新は、パラレルに行われる。 “Bit-Serial Reed-Solomom Decoders in VLSI,”1984と題するカリフォルニ ア工科大学のWhitingの博士論文に、種々の復号方法が記載されている。Whiting の好適な実行は、以下の改変された反復式を用いる。 もし、2mxmのROMルックアップテーブルが反転に用いられるなら、Whiti ngのインプリメンテーションは、2m個のクロックで反復を行う。更新はシリア ルに行われ得るが、dn -1は、各乗算器にパラレルにバスされなければならない 。Whitingのインプリメンテーションは、全体で、5(t+1)個のmビットレ ジスタを用いる。レジスタの数がtではなく、t+1に比例している理由は、σ0 は1に完全に等しいというわけではないからである。すなわち、数式2によっ て生成されるσ(x)が、ある定数によって乗算を施された数式1によって生成 されるσ(x)であるからである。Whitingは、また、以下の改変された反復式 を用いて述べている。 Whitingの第2の方法は、反転を用いないが、シリアルに更新するために、6 (t+1)+2個のmビットレジスタおよびdnを必要をし、drは各乗算器にパ ラレルにバスされなければならない。 Berlekamp-Masseyのアルゴリズムの公知のインプリメンテーションは、すべて 、2m個のクロックサイクルで反転を行うために、2mxmROM、シンボル幅 の信号経路および過剰な数のmビットレジスタの組み合わせを用いる。上記の反 復式のすべてに共通する本質的な問題は、σ(n+1)(x)はτ(n)(x)に依存し 、今度は、τ(n+1)(x)はσ(n)(x)に依存することである。それらのうち一 方または両方がdnに依存し、その結果、dnは、第1のm個のクロックサイクル の間に算出されなければならず、それから、σ(n+1)(x)およびτ(n+1)(x) の両方とも、第2のm個のクロックサイクルの間に算出されなければならない。 これは、σ(n+1)(x)またはτ(n+1)(x)を生成するために乗算に用いられた 場合に、σ(n)(x)およびτ(n)(x)の一方または両方を一時的に格納する必 要があることを意味する。従って、より効率的な方法が必要である。 要旨 リードソロモン復号化器は、n個のmビットシンボルを含む符号語を処理し、 誤り位置多項式σ(x)の係数を決定し、その後、誤り評価多項式ω(x)を生 成する。復号化器は、シンドローム値を格納するシンドロームレジスタの1つの バンクと、誤り位置多項式σ(x)の係数を蓄積する誤り位置指定レジスタの1 つのバンクと、中間多項式τ(x)の係数を蓄積する中間レジスタの1つのバン クとを備えている。その復号化器は、所与の符号語に対して誤り位置レジスタお よび中間レジスタにおいて値を更新するために、t個の誤り位置反復を行うレジ スタ更新回路をさらに含んでいる。各誤り位置反復は、2つのフェーズ、具体的 には、第1のフェーズまたはフェーズAと、第2のフェーズまたはフェーズBと を含んでいる。各フェーズは、m個のクロックサイクルを有する。誤り位置反復 が完了すると、2つのフェーズの誤り評価反復が行われ、中間レジスタに格納さ れている誤り評価多項式ω(x)の係数を決定する。 誤り位置多項式σ(x)の係数および中間多項式τ(x)の係数の両方が、同 じフェーズ(例えば、誤り位置反復の第2のフェーズ)の間に更新される従来技 術とは対照的に、本発明のレジスタ更新回路は、各誤り位置反復の第1のフェー ズの間に中間多項式τ(x)の係数を更新し、各誤り位置反復の第2のフェーズ の間に誤り位置多項式σ(x)の係数を更新する。誤り位置多項式σ(x)の係 数を更新するために必要とされる、現在の不一致値dnも、また、各誤り位置反 復の第1のフェーズの間に得られる。 従って、本発明の復号化器は、以下の再帰ルールをインプリメントする。 レジスタ更新回路は、各誤り位置反復の第1のフェーズの間に、現在の不一致 dnを決定する不一致決定回路を有する。不一致決定回路は、複数の「スライス 」からの乗算による積を加算し、現在の不一致dnを得る。各スライスは、シン ドロームレジスタのうちの1つと、誤り位置指定レジスタのうちの1つと、中間 レジスタのうちの1つと、1つの改変シンドロームレジスタとを備えている。 各スライスの乗算による積は、不一致生成内積生成回路によって生成される。 スライスの不一致寄与内積生成回路は、(第2の、すなわち、β基底表現の)ス ライスの改変シンドロームレジスタと、(第1の、すなわち、α基底表現の)中 間レジスタの内容との内積をとる。GF(2m)の1つの要素が標準すなわちα 基底で表現され、1つの要素がデュアルのすなわちβ基底で表現される場合に、 GF(2m)の2つの要素の積は、2つの要素の内積をとりその要素のうちの1 つに各クロックにおいてαを乗算することによって、シリアルに、すなわち、1 クロックにつき1つの出力ビットで生成され得る。従って、不一致寄与内積生成 回路によって生成される内積との連結において、改変シンドロームレジスタは、 最初、その対応するシンドロームレジスタのシンドローム値を受け取るが、各改 変シンドロームレジスタの回りに連結されている乗算器フィードバック回路によ って、シンドローム値のα倍数(α-multiple)を含むように更新される。従って 、各乗算による積(すなわち、スライスによって生成される乗算による積)が、 第1の項(スライスの誤り位置レジスタの係数)および第2の項(スライスのシ ンドローム値のα倍数[改変シンドロームレジスタに格納されているα倍数])か ら導かれる。これらの第1および第2の項は、スライスに含まれる不一致寄与内 積回路によって乗算される。 レジスタ更新回路は、また、第1の基底表現で現在の不一致の逆元(すなわち dn -1)を決定する不一致反転回路を含んでいる。この逆元は、1つ前の不一致 の逆元(すなわち、直ちに続く誤り位置反復におけるdn-1 -1)となる。不一致 反転回路はROM記憶ルックアップテーブルを利用しないが、そのかわりに、第 2の基底表現で不一致をシリアルに受け取り、その逆元を生成する。 レジスタ更新回路は、また、各誤り位置反復の第1のフェーズの間、前の不一 致の逆元(すなわちdn-1 -1)を、各誤り位置指定反復の第2のフェーズの間、 現在の不一致(dn)を選択的に格納した不一致レジスタDMを有する。前の不 一致の逆元(すなわちdn-1 -1)および現在の不一致(dn)の両方が、第1の基 底(すなわちα基底)表現で不一致レジスタに格納されている。前の不一致(す なわちdn-1 -1)は、不一致反転回路によって第1の基底表現で生成され、現在 の不一致(dn)は、dnを第2の基底表現から第1の基底表現に変換する変換回 路によって、第2の基底(すなわちβ基底)表現から第1の基底表現へ変 換された。 レジスタ更新回路は、また、各誤り位置反復の第1のフェーズの間、前の不一 致の逆元(dn-1 -1)から導かれた値(例えば、[誤り位置反復の第1のフェーズ の間に不一致レジスタに格納された]dn-1 -1のα倍数に誤り位置レジスタの係数 を乗算し、中間レジスタに格納された係数の更新に用いる値を得る更新乗算器ま たは内積回路を有する。その後(例えば、各誤り位置反復の第2のフェーズの間 )、更新乗算器回路は、現在の不一致dnから導かれた値、例えば、[誤り位置反 復の第2のフェーズの間に不一致レジスタに格納された]dnのα倍数に中間レジ スタの係数を乗算し、誤り位置レジスタに格納されている係数を更新するための 値を得る。現在の不一致dnのα倍数は、不一致レジスタに接続された乗算器フ ィードバック回路であって、不一致レジスタの値に体要素αを繰り返し乗算する 乗算器フィードバック回路によって得られる。 重要なことに、従来の技術とは対照的に、本発明の復号化器は、誤り位置レジ スタの1つのバンクと中間レジスタの1つのバンクしか必要としない。従来の技 術は、必然的に、誤り位置レジスタの2つのバンクを含んでいた。すなわち、誤 り位置多項式の更新された(新しい)係数を維持する第1のバンクと、(中間多 項式の係数を更新するのに用いられた)誤り位置多項式の古い係数を格納する第 2のバンクとである。同様に、従来技術は、中間レジスタの2つのバンクを用い ていた。すなわち、中間多項式の新しい(更新された)係数を維持する第1のバ ンクと、(誤り位置多項式の係数を更新するのに用いられた)中間多項式の古い 係数を格納する第2のバンクとである。従って、本発明の復号化器は、レジスタ の2つのバンクをなくすという効果がある。さらに、本発明の復号化器は、パラ レルデータ転送よりもむしろシリアルデータシフトを容易にするので、パラレル バス構造では増加する、回路の場所を減らすことができる。 図面の簡単な説明 本発明の上記のおよび他の目的、特徴、および利点は、添付の図面に示すよう な好適な実施態様についての下記のさらに詳しい説明によって明らかとなる。図 面において、同じ参照番号は同じ構成要素を示す。図面は一定の比率で縮小され ているとは限らず、本発明の原理を示す場合は強調されている。 図1は、本発明の1つの実施態様による誤り訂正システムを示すブロック図を 一般的に示す概略図である。 図2は、図1のシステムの復号化器を一般的に示すブロック図を示す概略図で ある。 図2Aは、本発明の1つの実施態様による(誤りおよび消去モードで動作する) 、消去訂正を組み込んだデコーダ回路をシンドローム生成器およびバッファと共 に示す概略図である。 図2Bは、本発明の1つの実施態様による(誤り単独モードで動作する)、消去 訂正を組み込まないデコーダ回路をシンドローム生成器、誤り/位置生成器、お よびバッファと共に示す概略図である。 図3Aは、本発明の1つの実施態様によるデコーダ回路のスライスの概略図であ る。 図3Bは、本発明の1つの実施態様による(誤りおよび消去モードの)デコーダ 回路の終端スライスの概略図である。 図3Cは、本発明の1つの実施態様による(誤り単独モードの)デコーダ回路の 集合的スライス回路の概略図である。 図3Dは、本発明の1つの実施態様による(誤り単独モードの)デコーダ回路の 終端スライスの概略図である。 図4は、GF(28)における逆元を計算する回路の概略図である。 図5は、内積生成器回路の概略図である。 図6は、本発明の1つの実施態様による改変シンドローム乗算回路の概略図で ある。 図7は、本発明の1つの実施態様によるコントローラの一部の概略図である。 図8は、デュアル(例えば、第2)基底から標準(例えば、第1)基底に翻訳 する回路の概略図である。 図9は、本発明の1つの実施態様による誤り訂正に含まれる一般的な工程を示 すフローチャートである。 図面の詳細な説明 図1は、本発明の1つの実施態様による、情報の復号化に係わる構造を概略的 に示す。図1は、入力データバス191にmビットデータ信号を生成するタイプの データ獲得装置190、ライン192の消去ポインタ信号、およびライン193の符号語 リセット信号を示す。 図1の誤り訂正システムは、バッファ194(RAM)、1バイトレジスタ195、根探 索および誤り/消去規模生成器196、消去位置値生成器197、タイマー/コントロ ーラ198、デコーダ回路199、シンドローム生成器200、データバッファ201、およ び加算器202を備えている。データ獲得装置190は、バス191のmビットデータを シンドローム生成器200とシステムバス203の両方に供給する。データ獲得装置19 0はまた、ライン193の符号語リセット信号をシンドローム生成器200、消去位置 値生成器197、およびタイマー/コントローラ198に送る。さらに、消去位置値生 成器197は、ライン192の消去ポインタ信号を受け取る。 システムバス203は、バッファ194、入力データバス191、レジスタ195の入力端 子、加算器202の出力端子、およびホストに接続された出力バス204に接続される 。 本出願と同時に出願され、本明細書において参考のため援用されている米国特 許出願第08/326,126号、発明の名称"ERROR CORRECTION METHOD AND APPARATUS" にさらに詳しく記載されているように、バッファ194は、それぞれが複数の符号 語を有する複数のデータブロックを内部に格納している。3つの動作が非同期で 実行される。すなわち、獲得装置190からの未訂正のデータブロックがバッファ1 94を満たし、バッファ194内の未訂正のデータブロックが、本明細書にて述べる 本発明によって訂正され、バッファ194内の既に訂正されたデータブロックが出 力バス204を介してホストに明け渡される。このような3つの動作は、非同期に 重複する方法で異なるセクターで同時に実行され得る。 本明細書で述べる本発明は符号語の復号化に関し、本明細書で示す特定のバッ ファリング方法に限定されない。符号語の復号化に関連して、デコーダ回路199 は、シンドローム生成器200からt個のmビットシンドローム、および消去位置 値生成器197からmビット消去位置値を受け取る。さらに、デコーダ回路199の動 作は、タイマー/コントローラ198によってこの回路に供給される信号によって 順序化される。一連の誤り位置反復の後、デコーダ回路199は、誤り位置多項式 σのt個のmビット係数のための最終値を得る。1つの符号語のためのこの一連 の誤り位置反復が完了すると、デコーダ回路199は一連の誤り規模反復を実行し て、この符号語のための誤り評価多項式ωを生成する。誤り評価多項式ωの係数 は、根探索および誤り/消去規模生成器196に転送され、ここで誤り規模Eが計 算される。誤り規模Eの計算の後、誤り規模Eは、加算器202で元のデータに加 算され、訂正されたバイトが得られる。本明細書に示すバッファリング方法では 、訂正されたバイトは次にバッファ194に戻される。 GF(2m)の一方の要素は標準またはα基底で表され、他方の要素はデュアルまた はβ基底で表される場合に、その2つの要素の積は、2つの要素の内積をとり要 素の一方に各クロックでαを乗算することによって、シリアルに、すなわちクロ ック毎に1出力ビットが生成され得る。従って、本明細書で用いられるように、 シンドローム、現在の不一致dn、および前の不一致dn-1のような値はα基底で 表される一方で、σ(x)およびτ(x)の係数のような値はβ基底で表される 。このような表現により、数式3(後述)の乗算のすべてを内積を用いてシリア ルに行うことが可能となる。 図2は、一般に、デコーダ回路199のブロック図である。デコーダ回路199は、 誤り位置またはσレジスタのバンクB101、中間またはτレジスタのバンクB102、 シンドロームレジスタのバンクB103、およびレジスタ更新回路50を備えている。 デコーダ回路199の様々な実施態様の詳細を図2A〜図2Bに関連して述べる。デコ ーダ回路199の一部が複数の「スライス」2071、2072、...、207t-1、208Aを形成 しているのが分かる。スライスについては、特に図3A、図3B、図3C、および図3D を参照して下記にさらに詳しく述べる。 デコーダ回路199は2つのモードのいずれかで操作され得る。すなわち、誤り および消去の復号化(誤りおよび消去モード)または誤りのみの復号化(誤り単 独モード)である。図2Aは、誤りおよび消去モードのデコーダ回路の詳細を示す 。図2Bは、誤り単独モードのデコーダ回路の詳細を示す。図2Aのデコーダ回路19 9は、2u+vがtより大きくない限り、u個の誤りおよびv個の消去(位置が 知られている誤り)を同時に訂正し得る。 図2Aは、誤りおよび消去モードにおけるスライス207おいて208Aに入力されま たこれらから出力される信号を示す。これらの信号は以下のmビット信号を含む 。すなわち、シンドロームデータ信号SYN、シンドローム後退シフト出力信号SBO 、シンドローム後退シフト入力信号SBI、シンドローム前進シフト入力信号SFI、 シンドローム前進シフト出力信号SFO、τ入力信号T1、τ出力信号T0、および不 一致関連入力信号Mを含む。1ビット不一致形成入力信号DN1が各スライス207、 208Aに入力され、一方、1ビット不一致形成出力信号DNOが各スライス207、208A から出力される。さらに、1ビット係数出力ラインSIGは、誤り位置レジスタ101 からの出力がシリアルに出力され得るように、各スライスから誤り位置生成器20 3に接続される。 図2Aは、レジスタ更新回路50に含まれる要素のいくつかを示す。これらの要素 は、内積回路209、不一致関連レジスタDM210、DMレジスタ制御MUX211、不一致反 転回路212、コントローラ213、β/α基底変換回路214、TI入力制御MUX215、ゼ ロ後退充填ANDゲート216、乗算器フィードバック回路218、および第1スライス τ-ANDゲート219を含む。レジスタ更新回路50に含まれるさらに他の要素として は、スライス207および298Aの非レジスタ構成要素が含まれる。これらについて 下記に述べる。 図2Aに示すように、スライス208Aからの出力信号DNOは、不一致反転回路212の 入力およびMUX215の第1入力ピンの両方に供給される。不一致反転回路212は2 つのmビット出力ポート、すなわち、ACCと標識化される第1出力ポートとINVと 標識化される第2出力ポートとを有する。後述するように、誤り位置反復の第1 フェーズの間に、現在の不一致値dn(β基底表現)がポートACCから出力される 。現在の不一致値dnはポートACCから、コントローラ213の入力ピンDNおよびβ /α基底変換回路214の両方に供給される。誤り位置反復の第2フェーズが終了 すると、不一致反転回路212は、第1フェーズの間に決定された不一致の反転値( dn -1)を出力する。この反転値は、次の反復の第1フェーズの間に、反転された 前の不一致(例えば、dn-1 -1)となる。 コントローラ213は、回路212から得られた非変換の現在の不一致値dnを用い て、図7に示す方法で信号GおよびCHANGE Lを生成する。信号CHANGE Lは、図3A 、 図3B、および図3Cに示す方法でANDゲート219の第1入力ピンおよびスライス207 および208Aに供給される。信号CHANGE Lは、接続多項式の長さの変化を意味する 。これは当業者には理解される。 DMレジスタ制御MUX211は、複数の選択可能なmビット入力を受け取る。これら の入力には、(基底変換回路214からのα基底表現の)現在の不一致、(反転回 路212からの)反転した前の不一致dn-1 -1、値α0、(消去位置値生成器197から の)消去位置値、および(乗算器フィードバック回路218からの)DMレジスタ210 の内容のα倍数が含まれる。次にDMレジスタ制御MUX211は、例えば反復フェーズ に従って可能な入力の間で選択するタイマー/コントローラ198によって制御さ れる。 DMレジスタ制御MUX211の出力ポートは、DMレジスタ210の入力ポートに接続さ れる。DMレジスタ210の出力ポートは、図3Aおよび図3Bに示される方法で、乗算 器フィードバック回路218、内積回路209の第1入力、およびスライス207および2 08Aに接続される。内積回路209は、α0を第2入力として受け取り、第1スライ スτ-ANDゲート219の第2ピンに供給するための出力信号を生成する。 図2Bの誤り単独復号化回路は、図2Aの誤りおよび消去デ復号化回路とはわずか に異なる。特に、図2Bの誤り単独モードでは、スライス207(t/2)-1〜207t-1は集 合的スライス回路217を形成し、DMレジスタ制御MUX211は消去位置値を受け取ら ない。 図2および図2Aから、例えば、デコーダ回路199はt個のスライス、特に名目 スライス207およびターミネータスライス208Aを有することが分かる。スライス2 07および208Aは、誤りおよび消去モードでは図2Aに示す方法で、また誤り単独モ ードでは図2Bに示す方法で互いに接続される。両モードにおいて、スライス207k は、k=1,2,...,t-1のときスライスkを表し、208Aはスライスtを表す。 図3Aは、誤りおよび消去モードでのスライス207の詳細を示し、図3Bは、誤り および消去モードでのスライス208Aの詳細を示す。図2Bに示すデコーダ回路のモ ードである誤り単独モードでは、スライス2071〜スライス207t/2(スライス207t /2 を含む)は、図3Aに示すスライス207と同一である。しかし、誤り単独モード では、スライス207(t/2)-1〜207t-1は集合スライス回路217(図3Cに示す)を形 成し、スライス208Bは図3Dに示す通りである。 既に述べたように、図3Aは、スライス207がレジスタ101、102、および103を含 むことを示している。また図3Aに示すように、シンドロームレジスタ103は、シ ンドローム生成器200からの(信号SYN)、または2つの隣接するスライスの一方 のシンドロームレジスタからの(信号SFIまたは信号SBIのいずれかを用いる)シ ンドロームデータにより、MUX104を介してロードされる。MUX104の選択ピンは、 反復数、反復フェーズ、および反復のタイプに従ってタイマー/コントローラ19 8によって制御される。誤り位置レジスタ101および中間レジスタ102はすべてゼ ロに初期化される。 レジスタ更新回路50にはスライス207の他の構成要素、特に、改変シンドロー ム乗算回路105、加算器106、不一致寄与内積回路107、加算器108、τ出力ANDゲ ート109、更新乗算器または内積回路110、係数選択MUX111、および加算器112が 含まれる。本明細書で述べる他のMUXにおけるように、係数選択MUX111は、反復 数、反復フェーズ、および反復のタイプに従ってタイマー/コントローラ198に よって制御される。 各スライスの乗算による積は、不一致生成内積生成回路107によって生成され る。スライスの不一致寄与内積生成回路107は、(第1またはα基底表現の)ス ライスの改変シンドロームレジスタ100と(第2またはβ基底表現の)スライス の中間レジスタ102の内容との内積をとる。一方の要素が標準またはα基底で表 され他方の要素がデュアルまたはβ基底で表されるGF(2m)の2つの要素の積は、 これら2つの要素の内積をとり各クロックで要素の一方にαを乗算することによ って、シリアルに、すなわちクロック毎に1つの出力ビットが生成され得る。従 って、不一致寄与内積生成回路107によって生成される内積に関連して、改変シ ンドロームレジスタ100は、先ず、対応するシンドロームレジスタ103のシンドロ ーム値を受け取るが、乗算器フィードバック回路105によってシンドローム値の α倍数を含むように更新される。 誤り位置レジスタ101の出力ピンは、内積回路107の第1ポートおよび係数選択 MUX111の第1ポートの両方に接続される。内積回路107の第2ポートは、改変シ ンドローム乗算回路105に接続される。図3Aに示すように、改変シンドローム乗 算回路105は、対となるシンドロームレジスタ103からのシンドローム値を受け取 る改変シンドロームレジスタ100を含む。改変シンドロームレジスタ100は、これ に接続されるα倍数フィードバック回路120を有し、これにより、改変シンドロ ームレジスタ100の出力は、レジスタ103に格納されたシンドローム値のα倍数で ある。図6は、例としての体GF(28)のための改変シンドローム乗算回路105 の詳細を示す概略図である。 各誤り位置反復の第1フェーズの間に、内積回路107は、(誤り位置係数レジ スタ101からの)mビット量σ(n)と、(改変シンドロームレジスタ100からの) レジスタ103に格納されたシンドローム値のα倍数であるmビット量との内積を とり、加算器106に供給するためのビットを生成する。加算器106は、内積回路10 7から得られるビットをラインDNIの(上流スライスからの)信号入力に加算して 、(下流スライスに供給するために)出力信号DNOを生成する。 係数選択MUX111は、中間レジスタ102の出力ポートに接続された第2入力ポー トを有する。MUX111の出力ポートは、内積レジスタ110の第1入力ポートに接続 される。内積レジスタの第2入力ポートは、既述の方法で、ラインMによってDM レジスタ210に接続される。内積レジスタ110の出力ポートは、ANDゲート109の第 1入力ピンおよび加算器112の第1入力の両方に接続される。加算器112の出力ポ ートは、誤り位置レジスタ101の入力ポートに接続される。誤り位置レジスタ101 のシリアル出力ポートは、加算器112の第2入力、およびシリアルラインSIGによ って根探索および誤り/消去規模生成器196の両方に接続される(図2A参照)。 中間レジスタ102の第2出力ポートは、加算器108の第1入力ポートに接続される 。加算器108の第2入力ポートは、ANDゲート109の出力ポートに接続される。AND ゲート109は、内積回路110の出力ポートに接続される第1入力ポートと、既述の 方法でラインCHANGE Lによってコントローラ213に接続される第2入力ポートと を有する。 図3A(スライス207)と図3B(スライス208B)とを比較してわかるように、図3 Bのスライス208A(誤りおよび消去モード)は、スライス207とはわずかに異なる 。特に、スライス208Aにおいては、MUX111、加算器108、ANDゲート109、およ び加算器112力削除されている。誤り位置レジスタ101の出力ポートは係数出力ラ インSIGにのみ接続されている。スライス208Aの不一致寄与内積回路107はそ の 第1のポートにおいて値α0を受け取る。その第2のポートは改変シンドローム 乗算回路105に接続されている。内積回路110は、中間レジスタ102の出力ポート に接続されている入力ポートを有する。内積回路110の出力は、位置係数レジス タ101の入力ポートにのみ(直接的に)接続されている。中間レジスタ102の出力 ポートはラインTOに接続されている。 図3Dのスライス208Aは(誤り単独モード)、位置係数レジスタ101、中間係数 レジスタ102、および内積回路110が削除されている点で、図3Cのスライス208A( 誤りおよび消去モード)とは異なる。 不一致反転回路212の構造は、「FINITE FIELD INVERSION」という名称で1993 年11月4日に提出され現在は放棄された米国特許出願第08/147,758号、およびそ の継続出願である米国特許出願第08/325,831号から理解され、その両方が本願に おいて参考のため援用される。 図5は、本発明の1つの実施例における内積発生回路107の概略図を示す。図 5に示される実施例において、体は体生成器X8+X4+X3+X2+1を有するG F(28)であると仮定する。本願において参考のため共に援用される、「FINIT E FIELD INVERSION」という名称で1993年11月4日に提出され現在は放棄された 米国特許出願第08/147,758号およびその継続出願である米国特許出願第08/325,8 31号に教示されるように、要素のβ表現はα0についての選択によって制御され る。実施例においては、α0はα-4である。 動作:概要 図9は本発明による符号語の誤り訂正に含まれる全体的な工程を示し、シンド ローム生成器200による、ステップ900における符号語に対するシンドロームS0 、S1,...S7の発生から始まっている。ステップ901はデコーダ回路199の初 期化を含む。初期化後、復号化回路は複数の誤り位置反復を行い(ステップ902( 1)〜902(8)、引き続いて複数の誤り評価反復を行う(ステップ903(1)〜903(8)) 。反復数は符号語内のチェックシンボル数に依存し、本実施態様においては8と して図示される。次に説明されるように、表1は誤り位置反復1中に発生する動 作を表し[ステップ902(1)]、表2は誤り位置反復2中に発生する動作を 表し[ステップ902(2)]、表3は誤り位置反復8中に発生する動作を表す[ステ ップ902(8)]。 誤り位置反復の目的は、誤り位置多項式σ(x)の係数を求めて誤り位置レジ スタ101に格納することである。誤り評価反復の目的は、中間レジスタ(τレジ スタ)102中の誤り評価多項式ω(x)の係数を求めることである。係数の最終 値を求めた後、ステップ904において[誤り位置レジスタ101中の]誤り位置多項 式σ(x)の係数はシリアルに根探索および誤り/消去規模生成器196に(ライ ンSIGを介して)伝送され、[中間レジスタ(τレジスタ)102中の]誤り評価多 項式ω(x)の係数はシリアルに根探索および誤り/消去規模生成器196に(ラ インTOを介して)伝送される。 ここでさらに説明されるように、それぞれの誤り位置反復は、第1のフェーズ (フェーズAとも呼ばれる)および第2のフェーズ(フェーズBとも呼ばれる) の2つのフェーズまたはステージを備える。それぞれの誤り位置反復のフェーズ A中、現在の不一致dnが生成され、中間レジスタ(τレジスタ)102中の係数値 が更新される。それぞれの誤り位置反復のフェーズB中、誤り位置レジスタ(σ レジスタ)101中の係数値が更新され、フェーズBの終わりにおいて、不一致dn -1 の反転が得られる(これは、次の誤り位置反復中、前回の不一致またはdn-1 - 1 の反転として知られるようになる)。 本発明の誤り位置反復は、以下の再帰的ルールに基づいたBerlekamp-Masseyア ルゴリズムのインプリメンテーションを含んでいる。 誤り位置反復の第1のmクロック(例えば、フェーズA)中、前回の反復のた めのτ(x)が計算される、すなわち、τ(n+1)(x)ではなくτ(x)( n)が計算される。本発明によれば、多項式τ(x)およびσ(x)の係数は同 時に更新される必要はない。なぜなら、これらは互いに依存しないからである。 すなわち、σ(n+1)(x)はτ(n)(x)に依存し、τ(n)(x)はσ(n-1)(x) ではなくσ(n)(x)に依存する。従って、τ(x)はσ(x)を用いて更新 され得、そして次にσ(x)はすでに更新されたτ(x)を用いて更新され得る 。τ(x)に対する最終的な更新は決して行われない(これは許容できる。なぜ なら、τ(x)はσ(x)の更新に対してのみ有効であり、さらに、一旦σ(x )に対する最終的な更新が行われると、τ(x)に対する最終的な更新は必要で ないからである。) τ(x)に対する再帰式は以下のように記載され得る。 これらの数式が有効であることを示すために、σ(n+1)(x)のための再帰式 はτ(x)(n+1)のための再帰式に代入され、その結果、以下の数式が得られる 。 これは、数式1と同じである。 誤り位置反復の第1のmクロック中、前回の反復の不一致の逆元(すなわち、 dn-1 -1)が使用される。本発明の有利な点に従って、dn-1 -1を求めるためには 、通常の2mxmROMではなく、シーケンシャルな方法が使用され得る。この シーケンシャルな方法は不一致反転回路212によって実行される。その方法は、 「FINITE FIELD INVERSION」という名称で1993年11月4日に提出され現在は放棄 された米国特許出願第08/147,758号およびその継続出願である米国特許出願第08 /325,831号により詳細に記載されており、その両方が本願において参考のため援 用される。 τ(n)(x)のための更新数式において、σ(x)の次数が変更されない場合 に第1の選択がなされ、σ(x)の次数が変更される場合に第2の選択がなされ る。信号CHANGE Lがσ(x)の次数が変更される反復を示すために使用される場 合、再帰式は数式3に従って記載され得る。 動作:シンドローム生成 図9に示されるシンドローム生成ステップ900は従来のものであり、当業者に よって理解され得る。Reed-Solomon符号語生成多項式を次のように仮定する。 データシーケンスD(x)は以下の方法で符号語C(x)に符号化される:C( x)=D(x)xt−(D(X)xt)modG(x)。改ざんされているかもしれ ない符号語R(x)=C(x)+E(x)が受け取られる場合、その符号語はバ ッファ194に格納されてシンドローム生成器200に送られる。少し後の点において 、バッファ194の非同期的制御によって決定されるように、符号語R(x)で訂 正される将来のバイトは図2のレジスタ195に送られる。シンドロームは、k= 0,1,...,t−1に対して、Sk=R(x)mod(x+αL+k)として計 算される。 動作:初期化 初期化ステップ901において(図9参照)、シンドローム値S0、S1、... S7はシンドロームレジスタ103にロードされる。さらに、誤り位置レジスタ101 、中間レジスタ102、およびその他の値が初期化される。 シンドローム値のローディングにおいて、k=1,2,...t−1に対して シンドロームSkはスライス207t-kにシフトされ、S0はスライス208Aにシフトさ れる。それぞれのスライスにおいて、例えば図3Aに示されるように、シンドロー ムはMUX104を介してSレジスタ103にシフトされる。従って、最初にシンドロー ムS0がスライス208Aのシンドロームレジスタ103にロードされる一方で、シンド ローム値S1、S2...S7はスライス2077、2076、...2071のそれぞれのシ ンドロームレジスタにロードされる。シンドローム値はシリアルにシンドローム 生成器200からそれぞれのレジスタ103にロードされる(1回につき1ビット)。 シンドロームがまず最初にSレジスタ103にシフトされた後、シンドロームの 順方向シフトが行われ、ここでそれぞれのSレジスタ103の内容がシリアルに( それぞれのスライスのSFO出力から)次のスライスのSFI入力にシフトされ、MUX1 04を介して次のスライスのSレジスタ103にゲートインされる。この初期化シフ トにおいて、スライスtの出力(ブロック208A)はスライス2071の入力を供給し 、これによって循環シフトを形成する。この循環シフト中、それぞれのスライス のSレジスタ103の出力もまたその対になったSMレジスタ100にシフトされる。 スライス208Aの誤り位置レジスタ101および中間レジスタ102において、スライ ス2071、2072、...2077は、符号語に対する第1の誤り位置反復の第1のフェ ーズの前に(タイマー/制御装置198によって)ゼロにリセットされる。 コントローラ213(例えば図2A参照)はCHANGE L信号をそれぞれのスライス のCHG入力に出力する。CHANGE L信号は第1の反復を開始する前に「1」に初期 化される。コントローラ213はまた、2つの変数LNおよびLMを維持する。こ の2つの変数はそれぞれ0および1に初期化される。また、DMレジスタ210はM UX211を介してα0のアルファ基底表現に初期化される。これはdn-1 -1に対する 初期値である。 動作:不一致生成 現在の不一致dnの生成についてのこの簡単な説明は、実際の誤り位置反復の 説明のための前置きである。数式3からdnのための数式を使用すると次のよう になる。 不一致dnは位置係数レジスタ101(すなわち、σレジスタ)の値およびシンド ロームから導かれることが分かる。位置係数レジスタ101に格納された値がベー タまたは第2の基底表現であるのに対し、シンドローム値はアルファまたは第1 の基底表現である。従って、これら2つの値を一緒に乗算するためには、これら の値の内の1つが繰り返しαと乗算されなければならない。図示される実施態様 において、シンドロームは、上に説明したように改変シンドローム乗算回路105 を使用してαと乗算される。 現在の不一致を生成する乗算は、(1つの実施例において図5により詳細に示 される)内積回路107を使用することによって部分的に達成される。内積回路107 は、より大きな内積(現在の不一致dnの項)の一部を形成する乗算器の一部を 備える。特に、内積回路107は(σレジスタ101および改変シンドローム乗算回路 105とともに)乗算構造を有し、この構造は、それぞれのクロックパルスに対し て加算器106に供給されるシリアルな出力を生成する。 加算器106は他のスライスの相当する乗算器のシリアルな出力を合計して、誤 り位置多項式の現在の不一致係数を有するシンドロームの内積を求める。従って 、すべてのスライスは同時に乗算を行い、クロックサイクルごとに1ビット出力 を生成することが理解される。この1ビット出力は(加算器106によって)他の スライスの出力に加算され、現在の不一致の1ビットを求める。さらに、不一致 dnの1ビットが生成されるクロックサイクル中は、そのビットは不一致反転回 路212に伝送される。 動作:誤り位置反復(フェーズA) 誤り位置反復中の復号化回路199の動作は表1、表2および表3を参照するこ とによって理解される。表は誤り位置反復1、2、および8それぞれの間の動作 を表す(ステップ902(1)、902(2)および902(8)をそれぞれ参照せよ)。上で述べ たように、それぞれの誤り位置反復は第1のフェーズ(フェーズAとしても知ら れる)および第2のフェーズ(フェーズBとしても知られる)の両方を含む。 それぞれの符号語に対する第1の誤り位置反復中、スライス2071〜2077および 208Aはすべて、誤り位置レジスタ(すなわちσレジスタ)101で初期化されたゼ ロを有する。従って、スライス2071〜2077は第1の反復のフェーズA中に発生す る不一致合計には全く寄与しない。しかしながら、第1の誤り位置反復中、(内 積回路107へのその他の入力のように、シンドロームS0およびα0によって初期 化された)スライス208Aは非ゼロ出力(基本的には、S0α0=S0)を生成する 。従って、フェーズAの第1のクロック中は、スライス207の内積回路107はそれ の積としてゼロの1ビットを出力する。これらのビットゼロはともに、加算器10 6によってスライス208Aの非ゼロ出力に加算され、その合計は現在の不一致dnの ビット0である。このようにして得られた現在の不一致dnのビット0は同じク ロックサイクル中に不一致反転回路212にシフトされ(図4参照)、不一致反転 回路212は直ちにその反転を開始する。 第1の誤り位置反転のそれぞれのクロックサイクル中、(もっぱら第1の反復 中スライス208Aから)現在の不一致の第1項のさらなるビットが求められ、不一 致反転回路212に供給される。 第1の反復のフェーズA中に、中間レジスタ(すなわち、τレジスタ)102は すべてゼロに初期化されている。第1の反復中、τ0(スライス2071のレジスタ1 02)はα0に初期化される。これは、DMレジスタ210がα0に初期化されており 、CHANGE Lが1に初期化されているという事実によるものである。 符号語に対する第1の反転以外の誤り位置反復中、中間レジスタ(τレジスタ )102の値が更新される。τレジスタ102の更新が行われる方法は、前回の反復の 結果に依存する(例えば、信号CHANGE Lによって示されるような長さの変更があ ったかどうか)。 基本的に、フェーズA中に中間レジスタ(τレジスタ)102の値を更新するた めに、復号化回路199は誤り位置レジスタ101(例えば、σレジスタ)中の値にdn-1 -1 を乗算する。これにより数式3が実現される。その一部は以下の通りであ る。 数量dn-1 -1は第1の反復に対してDMレジスタ210中でα0に初期化され、そ の後、不一致反転回路212によって生成され、MUX211を介してDMレジスタ210に ロードされる。 中間レジスタ102の更新についてさらに詳細に説明する。フェーズAの間、誤 り位置レジスタ101の内容は、MUXIIIを介して内積回路110の第1のポートに送信 される。内積レジスタの第2の入力ポートは、ラインMによってDMレジスタ21 0に接続されており、それによってdn-1 -1のα乗を受信する。内積回路110の出 力は、ANDゲート109に与えられ、かつ(もし信号CHANGE Lに要求されていれ ば)(加算器108により)中間レジスタ102(すなわちτレジスタ)の内容に加え られ、ラインTOを介して右側に隣接するスライスのτレジスタ102に与えられる 。もし信号CHANGE Lが要求しなければ、中間レジスタ102(すなわちτレジスタ )の内容は、内積回路110の出力に加えられずに、ラインTOを通って右側に隣接 するスライスのτレジスタ102に直接与えられる。したがって、すべてのスライ スの中間レジスタ102(すなわちτレジスタ)を更新するためには、フェーズA のすべてのクロックが必要になる。 誤り位置レジスタ(例えばσレジスタ)101における値は、誤り位置反復の第 1のフェーズの間は変化しない。しかしながら(シンドロームに初期的にロード されている)レジスタSM100における値は、各クロックサイクルの間、αフィ ードバックによりクロックされ続ける。各反復の第1のフェーズの間、当初のシ ンドローム値がレジスタ103内に維持される。 フェーズAの最後までには、現在の不一致の8ビットはすべて(第2の、すな わちβ基底の表現により)不一致反転回路212内にシフトされており、(変換回 路214により)第1の、すなわちα基底の表現に変換されており、かつ、フェー ズB中も用いることができるように、DMレジスタ210内に多重化されている(m uxed)。しかしながら、フェーズAの最後でも、不一致反転回路212は、dnの逆 元を生成するために、依然として別の8個のクロックサイクルを(例えばフェ ーズBの持続時間の間は)必要としている。 復号化回路199が実行するフェーズAは反復されるごとに異なるが、それは主 として、レジスタ103(したがってレジスタ100も)およびσレジスタ101がそれ ぞれ異なる値がロードされ/更新されているという事実によるものである。以下 に説明するように、フェーズBの間、シンドロームの値は巡回的にシフトされ、 またσレジスタの値は更新される。したがって、ある符号語の第2の誤り位置反 復の間、現在の不一致dnを産出する際には2つのスライス(例えば、スライス2 08Aおよびスライス2071)が動作状態である。同様に、不一致の生成に対しては 、第8の(最後の)誤り位置反復の間にすべてのスライスが動作状態になるまで 、第3の反復の間には3つのスライスが動作状態になり、第4の反復の間には4 つのスライスが動作状態になる(以下も同様)。フェーズAが実行されるたびに 最後には、デコーダ回路199はdnを既に生成しており、不一致反転回路212にdn を既にシフトしており、かつすべてのスライスの中間レジスタ102(すなわちτ レジスタ)を既に更新している。 動作:誤り位置反復、フェーズB 例示している実施の形態においては、フェーズBもまた8つのクロックサイク ルを有している。フェーズBの間には3つの主要な動作が発生する。すなわち、 シンドロームが隣接するスライスにシリアルにシフトされ、(次の誤り位置反復 の間ではdn-1 -1として知られることになる)dnの逆元の生成が完了し、かつ誤 り位置レジスタ(σレジスタ101)における値が、中間レジスタ102における値と 、フェーズA中に生成されたばかりのdnの値を用いて更新される。 各誤り位置反復のフェーズBの間には、デコーダ回路199は、次のフェーズA に備えて、新しいdnが次のフェーズAの間に生成することができるように、シ ンドロームの値をシリアルにシフトする。これに関連して、シンドロームの順方 向シフトが行われる。このシフトにおいては、各Sレジスタ103の内容がシフト アウトされ、スライスSFOは、次のスライスのSFI入力および次のスライスのSレ ジスタ103へと(MUX104を介して)出力される。スライス208Aの出力はスライス2 071の入力をフィードし、それによって巡回置換を形成する。このシフトの間、 スライスを転送することにより、出力シンドローム値はそのSMレジスタ100へ とシフトされる。 フェーズBの最初では、DMレジスタ210は、dn-1 -1ではなく、(フェーズA の間に決定されたばかりの)現在の反復のdnを含んでいる。DMレジスタ210に おけるdnの値は、(変換回路214により)αの表現に変換されている。このこと は、β基底の表現である中間レジスタ102(τレジスタ)の内容に対して内積演 算を行うために必要である。フェーズBの第1のクロックサイクルの後、DMレ ジスタの内容がフェーズBにおいて用いられるdnのα乗となるように、dnの値 とαとの積がとられる。 フェーズAの間、中間レジスタ102(すなわちτレジスタ)はシフトされた値 により更新されており、他方で、誤り位置レジスタ101(例えばσレジスタ)は 一定のままであった。一方、フェーズBの間は、誤り位置レジスタ(例えばσレ ジスタ)101が更新され、他方で、中間レジスタ102(すなわちτレジスタ)は一 定のままである。実際、誤り位置レジスタ102に格納されている誤り位置多項式 の各係数の値を更新するのに用いられるのは、中間レジスタ102(すなわちτレ ジスタ)である。 フェーズBの間、誤り位置多項式の各係数は数式3に従って更新される。 σ(n+1)(x)=σ(n)(x)−dnτ(n)(x) 中間レジスタ102(すなわちτレジスタ)の内容は、MUX111を介して、内積回路1 10の第1の入力ポートに与えられる。内積回路110は、τレジスタの内容および dn(dnはラインM上に与えられている)に対する内積を形成する。内積回路11 0の出力は、シリアルビット(フェーズBの1クロック毎に1ビット)であり、 またこのビットは単一ビット加算器112により、誤り位置レジスタ(例えばσレ ジスタ)101のシリアルにシフトアウトされた内容に加算される。したがって、 各スライスの誤り位置レジスタ(例えばσレジスタ)101の内容を更新するため には、8つのクロックサイクルが必要になる。上述した1つのスライスに関する 誤り位置レジスタ(例えばσレジスタ)101用の更新演算は、すべてのスライス について同時に発生する(もちろん、異なるスライスにおけるσレジスタ101の 値はそれぞれ異なる)。 したがって、次の誤り位置反復のフェーズAが始まると、フェーズAの演算は σレジスタ101において新しい値を用いて行われることになる。なぜなら、それ らの値は以前のフェーズBにおいて更新されているからである。また、フェーズ Bの最後までに、不一致反転回路212はdnの反転を既に完了している。dnの逆 元は、INV出力において得ることができ、かつMUX211を介してDMレジスタ21 0に与えられて、次の誤り位置反復のフェーズAの間にdn-1 -1として用いられる 。 最後の(第8の)誤り位置反復のフェーズBの最後に、符号語に関する誤り位 置多項式の各係数の最終値がσレジスタ101に格納される。 動作:誤り評価反復 ある符号語に関する最後の誤り位置反復が完了した後(例えば、図9のステッ プ902(8)以降)、その符号語に関する誤り位置反復の各係数の最終値は、σレジ スタ101に格納される。しかしながら、誤り評価多項式の各係数はまだ生成され ていない。好適には、図9のステップ903(1)〜903(8)に示すように、また別の( 誤り評価反復として別個に知られている)8つの反復を用いることによって、復 号化回路199は誤り評価係数を生成し、かつそれらの係数を中間レジスタ102(τ レジスタ)に格納する。 符号語に対する誤り位置多項式の各係数の最終値は、誤り評価多項式ω(x) を生成するために用いられる。誤り評価多項式ω(x)の各係数は、以下のよう に規定される。 ここで、k=0,1,...,t−1である。この誤り評価多項式ω(x)の形 式はdnを計算する場合の形式と同じであるので、復号化回路199は、両方の多項 式について同一の係数を得ることになる。これらの係数は、2フェーズ反復を( t個の誤りを訂正するとすれば)t回だけ行うことにより生成される。 誤り評価反復は誤り位置反復のフェーズAと類似してはいるが、以下の点が改 変されている。 (1)最後の誤り位置アルゴリズム反復(例えば図9のステップ902(8))のフ ェーズAの間は、各スライスにおけるシンドロームレジスタ103は逆方向にシフ トされる。すなわち、Sレジスタ103の内容がシフトアウトされ、SBOは、直 前のスライスのSBI入力および直前のスライスのSレジスタ103へとMUX104を介し て出力される。制御器213からの信号Gは、このようにシンドロームが逆方向に シフトされる間は「1」に設定される。 (2)最後の誤り位置反復(例えば図9のステップ902(8))のフェーズBの間 は、各スライスにおけるSレジスタ103は再び逆方向にシフトされ、かつ同時に 各スライスにおけるSレジスタ103の出力はSMレジスタ100へとシフトされる。 この逆方向シフトが行われる間、および逆方向シフトがそれに続いて行われるた びに、制御器213から出力された信号Gは、「0」に設定される。信号Gをこの ように設定すれば、多数の「0」がANDゲート216によりスライスt−1のS BI入力に強制的に与えられる。 (3)(ω反復としても知られている)各誤り評価反復のフェーズAの間、ス ライスtのDNO出力はωkである。ここで、kは、第1のω反復ではt−1で あり、第2のω反復ではt−2であり(以下も同様)、そして最後のω反復にお いては0である。ωkは、MUX215を介してスライス1のTI入力へとシフトされ る。 (4)各ω反復のフェーズBの間、Sレジスタ104は逆方向にシフトされ、か つSMレジスタ100にもシフトされる。σレジスタ101はシフトしない。 (5)図7に示すように、CHANGE Lの値は「0」に固定される。このことによ って、t回の反復が行われた後、スライスkにおけるτレジスタがωk-1を含ん でいるように、t個のレジスタの全体を単一のシフトレジスタとして作用させる ことが可能になる。 例えば、第1の誤り評価反復の8個のクロックが完了した後に、ω7の8ビッ トは、スライス2071のτレジスタ102にロードされる。第2の誤り評価反復が完 了した後に、ω6の8ビットは、スライス2071のτレジスタ102にロードされ、か つω7は、スライス2072のτレジスタ102に転送される。係数ω0〜ω7のすべ てがスライス2071〜208Aにそれぞれ格納されるまで、同様の処理が8つの誤り評 価反復のすべてにおいて継続的に行われる。 誤り評価反復の間、以前に決定された最終のσ係数はσレジスタ101において 依然として乱されていない(undisturbed)。 t回の反復が行われた後、誤り位置多項式および誤り評価多項式を、根探索お よび誤り/消去規模生成器196(図1を参照)に転送することができるように、 σレジスタおよびτレジスタはさらにm回シフトされる。 動作:係数転送 すべての誤り位置反復およびすべての誤り評価反復が完了した後、図9のステ ップ904に示されているように、デコーダ回路199は、(σレジスタ101に格納さ れている)誤り位置多項式の各係数の最終値と(τレジスタ102に格納されてい る)誤り評価多項式の各係数の最終値とを根探索および誤り/消去規模生成器19 6へと転送する。デコーダ回路199のスライスはそれぞれ、そのσレジスタ101に おける1つのσ係数と、そのτレジスタ102における1つのω係数とを有してい る。σレジスタ101およびτレジスタ102からの転送は、1クロック当たり1ビッ トのレートで(それぞれラインSIGおよびTO上で)発生する。ここで、2つ のレジスタ101および102からのシリアル転送は同時に発生する。したがって、根 探索および誤り/消去規模生成器196は、各スライスからのσ係数の1ビットと 、各スライスからのω係数の1ビットとを同時に受信する。 根探索および誤り/消去規模生成器196は、誤りパターンを加算器202へと供給 し、それによってレジスタ195から取り出された時のデータを訂正する。誤り位 置は、σ(x)に対して根探索を行うことによって見出される。すなわち、バイ トkは、σ(α-k)=0の時はいつも誤りである。その後、誤りの規模を次のよ うに計算する。 ここで、σ’はσの第1の導関数を表現している。 動作:消去 受信したシーケンスR(x)がv個の消去を含んでいるのなら、これらの消去 の位置は、誤り位置反復が最初にv回行われる間に入力される。これらの反復は 以下のように改変される。 (1)最初のv回の反復の各フェーズAの最後で、dnをDMレジスタ210にロ ードする代わりに、αをek乗した形の消去位置をMUX211を介してDMレジスタ2 10にロードする(図2A参照)。この命名法において、ekはk番目の消去の位置 、すなわちR(x)のek番目の係数である。 (2)最初のv回の反復の各フェーズBの最後で、dn -1をDM210にロードす る代わりに、α0をMUX211を介してDMレジスタ210にロードする。 (3)信号CHANGE Lは「1」に固定され、また各フェーズAの最後で、LNは LMとなり、LMはLM+1となる。これは図7に示すとおりである。 図3Bに詳しく示しているように、τは加算器112を含んでいないので、σrが生 成するのは、τ個の消去が存在しかつ誤りが存在していない時だけである(その ような場合、反復はすべて消去反復となり、スライスτにおけるσレジスタが非 零値を受信するのは最後の反復だけとなる)。 動作:誤りのみ復号化 図2Bは、(図2Aのシステムと異なって)消去訂正を導入しない本発明の誤り訂 正システムを示す。多くともt/2の誤りが訂正されるので、わずかt/2のBe rlekamp-Masseyアルゴリズムスライスだけが必要である。従って、図2Bの実施態 様において、スライス(t/2)+1からt−1は、図3Cに詳細を示す集合的改 変スライス回路217と置き換えられる。回路217のスライスは、Sレジスタ103お よび関連MUX104のみを有する。図2Bのシステムのスライスtは、図3Dに詳細を示 す改変スライス208Bと置き換えられる。図3Dのスライス208Bは、(関連MUX104と 共に)Sレジスタ103、改変シンドローム乗算回路105、および内積回路107のみ を有する。図2Bのシステムの初期化中、スライスk内のSレジスタ103には、前 回と同様に、St-kがロードされる。ここで、kは、1,2,...,t/2 である。S0は、前回と同様にスライス208Bにロードされ、残りのシンドローム は、回路217に含まれるSレジスタ103にロードされる。生成σ(x)にはt回の 繰り返しがあり、生成ω(x)にはt/2回の繰り返しがある。このシステムに よって計算されるω(x)は、以下の係数を有する。 ここで、kは、0,1,...,t/2−1である。 次に、σ(x)のt/2係数およびω(x)のt/2係数は、根探索および誤 り/消去規模生成器196に転送され、誤りを訂正する。根探索は前回のように実 施され、次に、誤り規模は、以下のように計算される。 「ERROR CORRECTION METHOD AND APPARATUS」という名称のZookらによって同 時に提出され、本願で参考のために援用している米国特許出願第08/ 号(弁護士登録番号1777-10)は、限定はされないが、本発明の1つの特定の使 用例を提供している。 本発明は、特に、好ましい実施態様で示され、好ましい実施態様を参照しなが ら説明したが、形式および詳細において種々の改変が本発明の精神および範囲を 逸脱しないでなされることが当業者によって理解され得る。例えば、本発明は、 誤り訂正が、限定はされないが、リードソロモン符号などの誤り訂正符号と共に 使用されるようにリアルタイムで行われる実施態様において説明した。しかし、 本発明は、2フェーズ計算の進歩的な機構が重要である、Berlekamp-Masseyアル ゴリズムの応用において使用され得る。進歩的なアプローチの主要な価値の1つ は、以前のアプローチと比較して半導体インプリメンテーションのシリコン面積 を最小化することであるため、本発明は、チップスペースが重要なところならど こでも有用である。
───────────────────────────────────────────────────── 【要約の続き】 フトを容易にし、その結果、回路実体を減少させる。

Claims (1)

  1. 【特許請求の範囲】 排他的な所有権または特権を請求する本発明の実施態様を以下に定義する。 1.複数の誤り位置反復を行うことによって符号語に対する誤り位置多項式の係 数を示す電気信号を生成する復号化器であって、該各誤り位置反復は2つのフェ ーズを含み、該復号化器は、 中間レジスタのバンクに格納された電気信号を該各反復の第1フェーズ中に更 新する第1回路手段であって、該中間レジスタのバンクに格納された電気信号は 、中間多項式τn(x)の更新された係数の値を表し、該第1回路手段は、 直前の誤り位置反復中に生成される前の不一致d(n-1) -1の逆元を表す電気信 号と、 第1誤り位置反復後のすべての誤り位置反復に対して該直前の誤り位置反復中 に更新された場合に、該誤り位置多項式σn(x)の更新された係数の値を表す 電気信号とを利用する、第1回路手段と、 現在の不一致dnを表す電気信号を該各誤り位置反復の該第1フェーズ中に生 成する第2回路手段であって、該第1誤り位置反復後のすべての誤り位置反復に 対して該直前の誤り位置反復中に更新された場合に、該誤り位置多項式σn(x )の係数を表す電気信号を利用する、第2回路手段と、 誤り位置反復中に該現在の不一致の逆元dn -1を表す電気信号を生成する反転 回路であって、該逆元dn -1が直後の誤り位置反復中に該前の不一致dn-1 -1の逆 元となる、反転回路と、 該誤り位置多項式σn+1(x)の係数を表す電気信号を各誤り位置反復の第2 フェーズ中に生成する、該第1および該第2回路手段に接続された第3回路手段 であって、該第3回路手段は、 該直前の誤り位置反復中に更新された場合に、該誤り位置多項式σn(x)の 係数を表す電気信号と、 該現在の不一致dnを表す電気信号と、 該第1フェーズ中に更新された場合に、該中間多項式τn(x)の係数を表す 電気信号とを利用する、第3回路手段と備えており、 これによって、該符号語の最終誤り位置反復の完了時に、該誤り位置多項式の 該係数の最終値を示す電気信号が誤り位置レジスタの該バンクに格納される、復 号化器。 2.リードソロモン復号化手順の少なくとも第1反復および第2反復を含む複数 の反復を実行し、誤り位置多項式の係数を得る誤り復号化器であって、各反復が 、第1フェーズおよび第2フェーズを含み、該復号化器は、 少なくとも各反復の該第1フェーズ中にシンドローム値を格納するシンドロー ムレジスタのバンクと、 該誤り位置多項式の係数の更新値を該第2反復の該第2フェーズ中に蓄積する 誤り位置レジスタのバンクであって、該誤り位置レジスタのバンクは、該第1反 復の該第2フェーズ中に得られる係数の値を該第2反復の該第1フェーズ中に格 納している、誤り位置レジスタのバンクと、 中間多項式の係数の更新値を該第2反復の該第1フェーズ中に蓄積し、該第2 反復の該第2フェーズ中に該中間多項式の該係数の該更新値を格納する、中間レ ジスタのバンクと、 該中間多項式の該係数の該更新値を該第2反復の該第1フェーズ中に該中間レ ジスタのバンクに蓄積し、該誤り位置多項式の該係数の該更新値を該第2反復の 該第2フェーズ中に該誤り位置レジスタのバンクに蓄積する、レジスタ更新回路 と を備えた誤り復号化器。 3.前記シンドローム値は、アルファ基底表現で前記シンドロームレジスタのバ ンクに格納され、前記誤り位置多項式の前記係数は、ベータ基底表現で前記誤り 位置レジスタのバンクに蓄積/格納され、前記中間多項式の前記係数は、ベータ 基底表現で前記中間レジスタのバンクに蓄積/格納される、請求項2に記載の復 号化器。 4.前記シンドロームレジスタのバンクは複数のシンドロームレジスタを備えて おり、前記誤り位置レジスタのバンクは複数の誤り位置レジスタを備えており、 前記中間レジスタのバンクは複数の中間レジスタを備えており、各シンドローム レジスタは該誤り位置レジスタの1つと対になってシンドローム/位置レジスタ 対を形成し、各中間レジスタは該誤り位置レジスタの1つと対になって中間/位 置レジスタ対を形成し、前記レジスタ更新回路は、 乗数積を加算してn−1番目の反復の第1フェーズ中に不一致値dn-1を得、 n番目の反復の第1フェーズ中に不一致値dnを得る不一致決定回路であって、 該各乗数積は対応するシンドローム/位置レジスタ対における値から導かれる、 不一致決定回路と、 該n−1番目の反復中にdn-1 -1を決定する不一致反転回路とをさらに備えて いる、請求項2に記載の復号化器。 5.dn-1を決定する前記不一致反転回路は、前記アルファ基底表現でdn-1 -1を 決定し、前記レジスタ更新回路は、 dnをベータ基底表現からアルファ基底表現に変換する変換回路と、 該アルファ基底表現のdnおよび該アルファ基底表現のdn-1 -1の一方を選択的 に格納する不一致レジスタと、 該不一致レジスタに接続された乗算フィードバック回路であって、該不一致レ ジスタ中の値に定数を繰り返し乗算する乗算フィードバック回路とをさらに備え ている、請求項4に記載の復号化器。 6.前記n番目の反復の前記第1フェーズにおいて、前記レジスタ更新回路は、 dn-1 -1および前記中間レジスタの前記更新値を蓄積する誤り位置レジスタの前 記バンクにその時格納されている値をオプションとして利用する、請求項4に記 載の復号化器。 7.前記n番目の反復の前記第2フェーズにおいて、前記レジスタ更新回路は、 不一致値dnおよび前記中間レジスタの前記バンクにその時格納されている値を 用いることにより、前記誤り位置多項式の前記係数の前記更新値を蓄積する、請 求項4に記載の復号化器。 8.前記不一致レジスタは、消去ポインタ値に対応する電気信号を格納する、請 求項5に記載の復号化器。 9.各乗数積は、前記シンドローム/位置レジスタ対における前記レジスタの第 1番目中の値と、該シンドローム/位置レジスタ対における前記レジスタの第2 番目中の値の倍数との積である、請求項4に記載の復号化器。 10.前記レジスタの前記第1番目は誤り位置レジスタであり、前記レジスタの 前記第2番目は前記シンドローム/位置レジスタ対のシンドロームレジスタであ る、請求項9に記載の復号化器。 11.前記シンドロームレジスタのバンクにおける対応するシンドロームレジス タに対の関係で接続された複数のシンドロームレジスタを備えた改変シンドロー ムレジスタのバンクであって、各改変シンドロームレジスタは、該改変シンドロ ームレジスタと対の関係にある該対応するシンドロームレジスタからシンドロー ム値を受け取るように接続されている、改変シンドロームレジスタのバンクと、 各改変シンドロームレジスタに接続された乗算器フィードバック回路であって 、該改変シンドロームレジスタ中の値に前記乗数積を得る際に使用される定数を 繰り返し乗算する乗算器フィードバック回路と をさらに備えている、請求項10に記載の復号化器。 12.各乗数積は、前記シンドローム/位置レジスタ対における前記レジスタの 第1番目中の値と、該シンドローム/位置レジスタ対における前記レジスタの第 2番目中の値のα倍数との積である、請求項9に記載の復号化器。 13.前記誤り位置多項式の前記係数を格納する誤り位置レジスタのバンクが1 つだけであり、前記中間多項式の前記係数を格納する中間レジスタのバンクが1 つだけである、請求項2に記載の復号化器。 14.前記シンドローム値は、アルファ基底表現で前記シンドロームレジスタの 前記バンクに格納され、前記誤り位置多項式の前記係数は、ベータ基底表現で前 記誤り位置レジスタの前記バンクに蓄積/格納され、前記中間多項式の前記係数 は、ベータ基底表現で前記中間レジスタの前記バンクに蓄積/格納される、請求 項4に記載の復号化器。 15.シンドローム値を格納するシンドロームレジスタのバンクと、 誤り位置多項式の係数を蓄積する誤り位置レジスタのバンクと、 中間多項式の係数を蓄積する中間レジスタのバンクと、 反復レジスタ更新回路であって、 乗数積を加算して第n反復中に現在の不一致dnを得る不一致決定回路であ って、各乗数積は、該シンドロームレジスタおよび該誤り位置レジスタの対に格 納された値から導かれる不一致決定回路と、 該不一致の逆元dn -1を決定する不一致反転回路と、 該第n反復中に、前回の第n−1反復における不一致の逆元dn-1 -1から導 かれる値に該誤り位置レジスタ中の該係数を選択的に乗算することによって、該 中間レジスタに格納された該係数を更新する際に使用される値を得、該中間レジ スタが更新された後に、該現在の不一致dnから導かれた値に該中間レジスタ中 の該係数を乗算することによって、該誤り位置レジスタに格納された該係数を更 新するための値を得る更新乗算回路とを備えた反復レジスタ更新回路と を備えたリードソロモン復号化器。 16.前記シンドローム値は、アルファ基底表現で前記シンドロームレジスタの 前記バンクに格納され、前記誤り位置多項式の前記係数は、ベータ基底表現で前 記誤り位置レジスタの前記バンクに蓄積/格納され、前記中間多項式の前記係数 は、ベータ基底表現で前記中間レジスタの前記バンクに蓄積/格納される、請求 項15に記載の復号化器。 17.前記不一致の前記逆元を決定する前記不一致反転回路は、アルファ基底表 現で前記不一致の前記逆元を決定する、請求項15に記載の復号化器。 18.前記レジスタ更新回路は、dnをベータ基底表現からアルファ基底表現に 変換する変換回路をさらに備えている、請求項15に記載の復号化器。 19.前記レジスタ更新回路は、 前記アルファ基底表現の前記不一致および前記アルファ表現の前記不一致の前 記逆元の一方を選択的に格納する不一致レジスタと、 該不一致レジスタに接続された乗算器フィードバック回路であって、該不一致 レジスタ中の値に定数を繰り返し乗算する乗算器フィードバック回路と をさらに備えている、請求項18に記載の復号化器。 20.各乗数積は、前記シンドローム/位置レジスタ対における前記レジスタの 第1番目中の値と、該シンドローム/位置レジスタ対における前記レジスタの第 2番目中の値の倍数との積である、請求項15に記載の復号化器。 21.前記レジスタの前記第1番目は、前記シンドローム/位置レジスタ対の誤 り位置レジスタであり、前記レジスタの前記第2番目は、前記シンドローム/位 置レジスタ対のシンドロームレジスタである、請求項20に記載の復号化器。 22.前記シンドロームレジスタのバンクにおける対応するシンドロームレジス タに対の関係で接続された複数のシンドロームレジスタを備えた改変シンドロー ムレジスタのバンクであって、各改変シンドロームレジスタは、該改変シンドロ ームレジスタが対の関係で接続された該対応するシンドロームレジスタからシン ドローム値を受け取るように接続されている、改変シンドロームレジスタのバン クと、 各改変シンドロームレジスタに接続された乗算器フィードバック回路であって 、該改変シンドロームレジスタ中の値に前記乗数積を得る際に使用される定数を 繰り返し乗算する乗算器フィードバック回路と をさらに備えている、請求項21に記載の復号化器。 23.各乗数積は、前記シンドローム/位置レジスタ対における前記レジスタの 第1番目中の値と、該シンドローム/位置レジスタ対における前記レジスタの第 2番目中の値のα倍数との積である、請求項15に記載の復号化器。 24.前記誤り位置多項式の前記係数を格納する誤り位置レジスタのバンクが1 つだけであり、前記中間多項式の前記係数を格納する中間レジスタのバンクが1 つだけである、請求項15に記載の復号化器。 25.前記乗算器は、前記誤り位置レジスタ中の前記係数または前記中間レジス タ中の前記係数のいずれかに前記不一致または該不一致の前記逆元のうち選択さ れた一方を選択的に乗算する、請求項15に記載の復号化器。 26.リードソロモン復号化器のための誤り訂正回路のスライスであって、該ス ライスは、 誤り位置多項式の係数を格納する誤り位置レジスタと、 中間多項式の係数を格納する中間レジスタと、 該誤り位置レジスタ中の該係数に第1の入力値を選択的に乗算することによっ て、第1の隣接するスライスに入力する係数を得、該中間レジスタが第2の隣接 するスライスからの係数によって更新された後に、第2の入力値に該中間レジス タ中の該係数を乗算することによって、該誤り位置レジスタに格納された該係数 を更新するための値を得る更新乗算回路と を備えたスライス。 27.前記誤り位置多項式の前記係数は、ベータ基底表現で前記誤り位置レジス タに格納され、前記中間多項式の前記係数は、ベータ基底表現で前記中間レジス タに格納される、請求項26に記載のスライス。 28.シンドロームレジスタと、 該シンドロームレジスタおよび前記誤り位置レジスタに格納された値から導か れる項を乗算する、不一致産出乗算器と をさらに備えている、請求項26に記載のスライス。 29.前記不一致産出乗算器は、前記誤り位置レジスタ中の値と前記シンドロー ムレジスタ中の値の倍数とを乗算する、請求項28に記載のスライス。 30.前記シンドロームレジスタからのシンドローム値を受け取るように接続さ れた改変シンドロームレジスタと、 該改変シンドロームレジスタに接続された乗算器フィードバック回路であって 、該改変シンドロームレジスタ中の値に定数を繰り返し乗算する乗算器フィード バック回路と をさらに備えており、該改変シンドロームレジスタの出力は前記不一致産出乗 算器に接続されている、請求項29に記載のスライス。 31.前記不一致産出乗算器の出力は、前記スライスにおける前記レジスタの第 1番目中の値と該スライスにおける前記レジスタの第2番目中の値のα倍数との 積である、請求項28に記載のスライス。 32.前記第2の入力値は不一致値であり、前記第1の値は該不一致値の逆元で ある、請求項26に記載のスライス。 33.前記不一致値および前記不一致値の前記逆元は、アルファ基底表現である 、請求項32に記載のスライス。 34.前記誤り位置多項式の前記係数を格納する誤り位置レジスタが、前記スラ イス中に1つだけあり、前記中間多項式の前記係数を格納する中間レジスタが、 該スライス中に1つだけある、請求項26に記載のスライス。 35.前記更新乗算器は、前記誤り位置レジスタ中の前記係数または前記中間レ ジスタ中の前記係数のいずれか一方に不一致値または該不一致値の逆元のうち選 択された一方を選択的に乗算する、請求項26に記載のスライス。 36.復号化回路の複数の反復中にリードソロモン符号語の復号化の一部として 誤り位置多項式を得る方法であって、該複数の反復は少なくとも前回の反復と現 在の反復を含み、各反復は第1フェーズおよび第2フェーズを含み、該方法は、 少なくとも各反復の第1フェーズ中に、シンドローム値をシンドロームレジス タのバンクにロードし、該シンドローム値を該シンドロームレジスタに格納する ことと、 現在の反復の第1フェーズ中に、前回の反復中に蓄積された該誤り位置多項式 の係数の値を誤り位置レジスタのバンクに格納することと、 現在の反復の第1フェーズ中に、該現在の反復の第1フェーズ中に該誤り位置 レジスタの該バンクに格納された該誤り位置多項式の該係数の該値を用いて、中 間多項式の係数の更新値を蓄積することであって、該中間多項式の該係数は、中 間レジスタのバンクに格納されることと、 該現在の反復の第2フェーズ中に、該中間レジスタの該バンクにその時格納さ れている該中間多項式の該係数を用いて、該誤り位置レジスタ中の該誤り位置多 項式の該係数の更新値を蓄積することと を包含する方法。 37.復号化回路のm回の反復中に、mビットのリードソロモン符号語の復号化 の一部として誤り位置多項式を得る方法であって、該m回の反復は少なくとも前 回の反復と現在の反復を含み、各反復は第1フェーズおよび第2フェーズを含み 、該方法は、 少なくとも各反復の第1フェーズ中に、シンドローム値を示すmビットの電気 信号をシンドロームレジスタのバンクにロードし、該シンドローム値を示す該電 気信号を該シンドロームレジスタに格納することと、 現在の反復の第1フェーズ中に、前回の反復中に蓄積された該誤り位置多項式 の係数の値に対応する電気信号を誤り位置レジスタのバンク中に格納することと 、 現在の反復の第1フェーズ中に、該現在の反復の第1フェーズ中に該誤り位置 レジスタの該バンクに格納された該誤り位置多項式の該係数の値に対応する該電 気信号を用いて、中間多項式の係数の蓄積された更新値に対応する電気信号を生 成することであって、該中間多項式の該係数に対応する該電気信号は、中間レジ スタのバンクに格納されることと、 該現在の反復の第2フェーズ中に、該中間レジスタのバンクにその時格納され ている該中間多項式の該係数に対応する該電気信号を用いて、該誤り位置レジス タ中の該誤り位置多項式の該係数の蓄積された更新値に対応する電気信号を生成 することと、 該誤り位置レジスタ中の該誤り位置多項式の該係数の蓄積された更新値に対応 する該電気信号を用いて、該符号語を訂正することと を包含する方法。
JP7513257A 1993-11-04 1994-10-18 リードソロモン復号化器 Pending JPH09507117A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14765093A 1993-11-04 1993-11-04
US147,650 1993-11-04
PCT/US1994/012136 WO1995012850A1 (en) 1993-11-04 1994-10-18 Reed-solomon decoder

Publications (1)

Publication Number Publication Date
JPH09507117A true JPH09507117A (ja) 1997-07-15

Family

ID=22522365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7513257A Pending JPH09507117A (ja) 1993-11-04 1994-10-18 リードソロモン復号化器

Country Status (6)

Country Link
US (1) US5446743A (ja)
EP (1) EP0729611B1 (ja)
JP (1) JPH09507117A (ja)
DE (1) DE69424877T2 (ja)
SG (1) SG47466A1 (ja)
WO (1) WO1995012850A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970004515B1 (ko) * 1993-12-29 1997-03-28 삼성전자 주식회사 리드-솔로몬 복호기의 오류위치다항식 연산방법 및 장치
US6125469A (en) * 1994-10-18 2000-09-26 Cirrus Logic, Inc. Error correction method and apparatus
KR0135824B1 (ko) * 1994-11-10 1998-05-15 윤종용 오류 위치 및 추정 다항식 계산방법 및 이를 이용한 리드-솔로몬 복호기
US5715262A (en) * 1995-07-12 1998-02-03 Lsi Logic Corporation Errors and erasures correcting reed-solomon decoder
US5701314A (en) * 1995-12-21 1997-12-23 Cirrus Logic, Inc. On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive
FR2743912B1 (fr) * 1996-01-24 1998-04-10 Matra Communication Circuit de resolution d'equation-cle et decodeur reed-solomon incorporant un tel circuit
US5872800A (en) * 1996-09-16 1999-02-16 Cirrus Logic, Inc. Write verify method for correcting unrecoverable sectors in a disc storage system using track level redundancy
US5751733A (en) * 1996-09-16 1998-05-12 Cirrus Logic, Inc. Interleaved redundancy sector for correcting an unrecoverable sector in a disc storage device
US5701304A (en) * 1996-09-16 1997-12-23 Cirrus Logic, Inc. Method for correcting unrecoverable sectors using track level redundancy in a disc drive storage system
US5844919A (en) * 1996-09-16 1998-12-01 Cirrus Logic, Inc. Sector and track level error correction system for disc storage systems
GB2318954B (en) * 1996-10-29 2001-05-23 Daewoo Electronics Co Ltd Reed-solomon decoder for use in advanced television
KR100200770B1 (ko) * 1996-12-20 1999-06-15 윤종용 에러정정방법 및 장치
JPH113573A (ja) * 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
US5991911A (en) * 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US6052815A (en) * 1997-11-14 2000-04-18 Cirrus Logic, Inc. ECC system for generating a CRC syndrome over randomized data in a computer storage device
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
US6047395A (en) * 1998-01-30 2000-04-04 Cirrus Logic, Inc. Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
EP1146515A1 (en) * 1998-02-25 2001-10-17 Matsushita Electric Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
US6272659B1 (en) 1998-05-18 2001-08-07 Cirrus Logic, Inc. Error correction code processor employing adjustable correction power for miscorrection minimization
US6412090B1 (en) 1998-06-18 2002-06-25 Globespanvirata, Inc. Galois field computation system and method
US6370671B1 (en) 1998-06-18 2002-04-09 Globespan, Inc. Configurable decoder and method for decoding a reed-solomon codeword
US6415413B1 (en) 1998-06-18 2002-07-02 Globespanvirata, Inc. Configurable Reed-Solomon controller and method
US6317858B1 (en) * 1998-11-09 2001-11-13 Broadcom Corporation Forward error corrector
US6662336B1 (en) 1999-07-06 2003-12-09 Cirrus Logic, Inc. Error correction method and apparatus
US20080282128A1 (en) * 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
JP3352659B2 (ja) * 2000-03-27 2002-12-03 松下電器産業株式会社 復号装置及び復号方法
US6694476B1 (en) * 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
GB2380296B (en) * 2000-10-25 2003-09-10 Samsung Electronics Co Ltd Method of accessing memory device
KR100370239B1 (ko) * 2000-10-25 2003-01-29 삼성전자 주식회사 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더
US6961197B1 (en) * 2001-12-28 2005-11-01 Marvell International Ltd. Correcting errors in disk drive read back signals by iterating with the Reed-Solomon decoder
US7751138B1 (en) 2001-12-28 2010-07-06 Marvell International Ltd. Correcting errors in disk drive read back signals by iterating with the Reed-Solomon decoder
US7467346B2 (en) * 2005-08-18 2008-12-16 Hitachi Global Storage Technologies Netherlands, B.V. Decoding error correction codes using a modular single recursion implementation
US7624330B2 (en) * 2005-12-12 2009-11-24 Lsi Corporation Unified memory architecture for recording applications
US7661057B2 (en) * 2006-02-01 2010-02-09 Broadcom Corporation Clocking Chien searching at different frequency than other Reed-Solomon (RS) ECC decoding functions
US7814374B2 (en) * 2007-01-19 2010-10-12 International Business Machines Corporation System and method for the capture and preservation of intermediate error state data
US8732558B1 (en) * 2007-04-25 2014-05-20 Samsung Electronics Co., Ltd. MPE-FEC system capable of selecting an FEC mode, a forward error correcting method performed in the MPE-FEC system, and an FEC mode selecting method performed in the MPE-FEC system
WO2009046534A1 (en) * 2007-10-11 2009-04-16 The Royal Institution For The Advancement Of Learning/Mcgill University Methods and apparatuses of mathematical processing
DE112011102474B4 (de) 2011-10-13 2021-08-12 Hyperstone Gmbh Hybride Dekodierung von BCH-Kodes für nichtflüchtige Speicher
US9686382B2 (en) 2014-08-04 2017-06-20 Honeywell International Inc. Double decoder system for decoding overlapping aircraft surveillance signals
TWI566096B (zh) * 2015-09-11 2017-01-11 慧榮科技股份有限公司 資料儲存系統與其相關方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777635A (en) * 1986-08-08 1988-10-11 Data Systems Technology Corp. Reed-Solomon code encoder and syndrome generator circuit
US4782490A (en) * 1987-03-16 1988-11-01 Cythera Corporation Method and a system for multiple error detection and correction
US4845713A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
JPH0827732B2 (ja) * 1991-01-22 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション 線形代数コード復号のためのキー方程式を解く方法
US5414719A (en) * 1992-04-24 1995-05-09 Sharp Kabushiki Kaisha Operating circuit for galois field

Also Published As

Publication number Publication date
EP0729611A1 (en) 1996-09-04
EP0729611A4 (ja) 1996-10-02
WO1995012850A1 (en) 1995-05-11
DE69424877D1 (de) 2000-07-13
US5446743A (en) 1995-08-29
SG47466A1 (en) 1998-04-17
DE69424877T2 (de) 2001-01-04
EP0729611B1 (en) 2000-06-07

Similar Documents

Publication Publication Date Title
JPH09507117A (ja) リードソロモン復号化器
US6374383B1 (en) Determining error locations using error correction codes
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
JP3233860B2 (ja) リードソロモン復号器
US6119262A (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
US6571368B1 (en) Systolic Reed-Solomon decoder
JPH09507110A (ja) 有限体反転
US6092233A (en) Pipelined Berlekamp-Massey error locator polynomial generating apparatus and method
WO2000057561A1 (en) Pipelined high speed reed-solomon error/erasure decoder
JPH07202715A (ja) 時間定義域代数エンコーダ/デコーダ
US5805617A (en) Apparatus for computing error correction syndromes
JP3834122B2 (ja) 誤り位置検出多項式計算装置
JP3245119B2 (ja) 新たな多項式配列構造を採用したリード−ソロモン復号器とその復号方法
JPH09505952A (ja) プログラム可能な冗長/シンドローム生成装置
KR100258951B1 (ko) 리드-솔로몬(rs) 복호기와 그 복호방법
JP2800723B2 (ja) リードソロモン復号器の誤り位置検出回路
JP2001196938A (ja) デジタルデータをデコーディングする装置及び方法
EP0329775B1 (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit and method
US6662336B1 (en) Error correction method and apparatus
EP0991196B1 (en) Method of correcting lost data and circuit thereof
EP0793352B1 (en) Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder
JP2000020333A (ja) 復号装置、演算装置およびこれらの方法
Lee et al. An efficient recursive cell architecture of modified Euclid's algorithm for decoding Reed-Solomon codes
JPH1065553A (ja) リードソロモン復号化器用多項式評価装置
JP2591611B2 (ja) t重誤り訂正符号の符号化復号化回路