JP2726902B2 - 広帯域巾のリード‐ソロモンエンコード、デコード及びエラー修正回路 - Google Patents

広帯域巾のリード‐ソロモンエンコード、デコード及びエラー修正回路

Info

Publication number
JP2726902B2
JP2726902B2 JP50773288A JP50773288A JP2726902B2 JP 2726902 B2 JP2726902 B2 JP 2726902B2 JP 50773288 A JP50773288 A JP 50773288A JP 50773288 A JP50773288 A JP 50773288A JP 2726902 B2 JP2726902 B2 JP 2726902B2
Authority
JP
Japan
Prior art keywords
output signal
error
signal
galois field
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.)
Expired - Lifetime
Application number
JP50773288A
Other languages
English (en)
Other versions
JPH02501256A (ja
Inventor
マイケル シー リッグル
リー イー ウェン
パク ニン ヒュイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DEIJITARU EKUITSUPUMENTO CORP
Original Assignee
DEIJITARU EKUITSUPUMENTO CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DEIJITARU EKUITSUPUMENTO CORP filed Critical DEIJITARU EKUITSUPUMENTO CORP
Publication of JPH02501256A publication Critical patent/JPH02501256A/ja
Application granted granted Critical
Publication of JP2726902B2 publication Critical patent/JP2726902B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】 先行技術 発明の分野 本発明は、VLSI構造を用いて、リード−ソロモンエン
コード、デコード及びエラー修正機能を広い帯域巾で且
つ短い待ち時間で実行し、2進デジタルデータにおける
多数の記号エラーを修正できるようにすることに関す
る。
関連技術の説明 電子的な通信及びデータ処理システムは、2進‘0'及
び‘1'を表わす電磁信号を送信し、受信しそして記憶す
る。データチャンネルに沿ったデータの転送中に又は種
々の磁気、光学もしくは他の記憶媒体にデータを記憶し
たりそこからデータを検索したりするプロセスの間に、
データ値のエラーが生じることがある。これらのエラー
は、データチャンネルの電磁ノイズや記憶媒体の欠陥に
よるものである。間隔を置いてランダムに生じる1ビッ
トづつのエラー及び多数のビットが連続して生じるエラ
ー「バースト」は、信頼性の高いシステム、即ち、修正
したデータに多数のエラーを生じることのないシステム
を用いて確認し、修正しなければならない。少なくと
も、エラーデータは、これを確認してエラーフラグをた
て、これが作用しないようにしなければならない。
エラーのない送信が生じるまでデータの送信を繰り返
すという高度な機能を有するデータ通信システムとは異
なり、磁気、光学又は他の記憶媒体に記憶されたエラー
データは、それらを修正できない限り永久的に失われた
まゝとなる。記憶又は送信の前にデータをエンコード
し、そして受信又は検索に続いてデコードすることによ
り、エラーを検出及び修正してからデータを次の用途へ
と送り出すことができる。リード−ソロモンコードは、
磁気記録媒体において遭遇する独立した及びバースト状
の形式のエラーに対して有用である。エンコード、デコ
ード及びリード−ソロモンコードについての資料は、特
に、The MIT Press、第2版(1972年)のペターソン及
びウェルドン著の「エラー修正コード」という論文や、
その他の多数の論文に述べられている。
2進データ記憶及び検索システムについては、適用媒
体、ここでは磁気ディスクと考える、にデータを記憶す
る前に、エラー修正が開始される。先ず、K個のデータ
記号と、N−K個のエラー修正コード(ECC)記号とで
構成されるN個のmビット記号の(N,K)リード−ソロ
モンコードワードを用いてデータがエンコードされる。
ECC記号は冗長なものであり、エラーのあるデータ記号
を確認すると共に最大T=(N−K)個のデータ記号を
再構成するに必要な情報を与える。
1つの記号は、一連のm個のビット、例えば、6又は
10個のビットより成る。ディスクのセクタに記憶される
2進デジットのデータ流は、通常、一連の8、16又は32
ビットワードより成り、これらを一連のデータ記号に変
換しなければならない。コードワードのN個の記号は、
a(x)で表わされたデグリーN−1についてのxの多
項式の係数を表わす。但し、deg(a)=N−1であ
る。ECC記号は、ガロアフィールドにおけるN−K個の
連続する根GF(2m)を有する生成元多項式g(x)に
よって均一に分割できるように形成され、ここで、各EC
C記号は、GF(2m)のエレメントαiである。生成元多
項式g(x)は、エラー修正機構の規模及び複雑さに基
づいて選択され、即ち、いかに多くの記号を検出及び修
正したいかに基づいて選択される。(N,K)コードにお
いては、deg(a)=N−Kである。K個のデータ記号d
iを係数とするデグリーK−1についてのxの多項式を
d(x)とすれば、コードワードa(x)は次のように
なる。
a(x)=d(x)*x(N-K)+e(x) 但し、e(x)は、[d(x)*x(N-K)/g(x)]の
残りである。e(x)の係数は、ECC記号eiである。生
成元多項式g(x)によってデータ記号多項式d(x)
を分割するこのプロセスは、各々の記憶されたコードワ
ードa(x)をg(x)で均一に分割できるようにす
る。検索されたコードワードy(x)にエラーがない場
合には、y(x)がa(x)に等しく、g(x)で均一
に分割することができる。y(x)をg(x)で均一に
分割できない場合には、そのコードワードがエラーベク
ターp(x)を含むと仮定され、これを探索して修正し
なければならない。ここで、y(x)=a(x)+p
(x)である。
エラー位置決め多項式NU(x)、エラー評価多項式W
(x)のファクタは、コードワード内のエラーデータ記
号を探索し、そして受け取った記号にモジュロ2を追加
したときに正しい記号を与える値を指示する。NU(x)
の項は、y(x)をg(x)のファクタで分割すること
によって得られるエラーシンドロームSiからバーレカン
プ・メッセイ(Berlekamp Massey)アルゴリズムを用い
て計算される。シンドロームが非ゼロである場合には、
コードワードの部分がエラーとなる。探索されるエラー
は、そのエラー探索される多項式NU(x)の根を計算す
ることによって見つけられ、次いで、シンドローム及び
NU(x)を用いてW(x)の値を見つけることによって
修正データ記号を決定することができる。デジタル環境
において根を見つける場合には、通常、チーン(Chie
n)のサーチアルゴリズムが使用される。生成元多項
式、シンドローム計算、エラー位置決め及びエラー評価
多項式の評価についての技術を使用するリード−ソロモ
ンエンコード/デコードシステムは、リグル氏等の米国
特許第4,413,339号に開示されている。
多数の計算がソフトウェアにおいて実行され又はハー
ドウェアにおいて繰り返し実行されると共に、NU(x)
及びW(x)多項式やNU(x)の全ての根を計算する必
要があり、更には、エラーデータ記号を修正する前にW
(x)を評価する必要があるために、公知のデコーダ
は、特に、多数のデータエラーに遭遇したときに、待ち
時間が長く、帯域巾が小さく、そしてコストが高いとい
った1つ以上の欠点で悩まされている。それ故、ディス
クのソフトエラーレートは、デコーダのコスト又は低い
処理速度の点から、約1×10−6に制限されている。
又、安価な高速リード−ソロモンシステムにも、1セク
タ当たり最大で約4つの記号しか修正できないという制
限があり、これにより、データ記憶装置に対する許容ソ
フトエラーレートが制限されるという欠点がある。クロ
スインターリーブのリード−ソロモンデコードは、適度
な帯域巾を有し、多数の記号エラーを修正できるが、デ
ィスクブロックの短いディスクシステムに対し過大な記
憶オーバーヘッドをもたらし、ディスクドライブに許さ
れた正味のデータ密度を低減させる。これでは、ECCシ
ステムを実施する主たる目的の1つ、即ち、ディスクド
ライブに高密度のデータ記憶を行なえるようにするとい
う目的を満足できない。このようなディスクドライブ
は、データ記憶密度が高いことから本来データエラーレ
ートの高いものである。
そこで、本発明の目的は、セクタ化されたデータ記憶
装置における高いソフトビットエラーレートを修正する
一方、許容できる低いハードビットエラーレートを確保
することである。
本発明の別の目的は、リード−ソロモンエラー修正機
能を高い帯域巾で且つ短い待ち時間で実施して、標準的
なディスクブロック内のデータ記憶オーバーヘッドを最
小にして多数の記号エラーを修正できるようにすること
である。
本発明の更に別の目的は、バーレカンプ−メッセイ、
ウェング及び変形チーンアルゴリズムを実行するための
パイプライン及び流れ制御プロセスを実施すると共に、
エラー位置多項式の程度を計算しそしてバーレカンプ−
メッセイアルゴリズムの制御を行なう新規なアルゴリズ
ムを提供して、リード−ソロモンエラー修正機能をハー
ドウェアで実時間で実行できるようにすることである。
本発明の更に別の目的及び効果は、以下の説明に述べ
られており、又、その説明から一部分が明らかであり、
又は本発明を実施することによって明らかとなろう。本
発明の目的及び効果は、請求の範囲に特に指摘した手段
及びその組合せによって実現することができよう。
関連出願 1987年5月15日に出願されそして本発明と同じ出願人
に譲渡されたリー・ジョーウェング氏の「実時間BCHエ
ラー修正コードデコード機構(Real-Time BCH Error Co
rrection Code Decoding Mechanism)」と題する米国特
許出願第050,725号を参考としてここに取り上げる。
又、1987年6月26日に出願されそして本発明と同じ出
願人に譲渡されたリー・ジョーウェング氏の「データエ
ンコード及びデコード装置において多数の逆数を計算す
るための装置(Apparatus for computing Multiplicati
ve Inverses in Data Encoding and decoding Device
s)」と題する米国特許出願第067,712号も参考としてこ
こに取り上げる。
発明の要旨 上記の目的を達成するために、ここに広く実施する本
発明の目的によれば、エラー誘起媒体を通過した2進デ
ータ記号diにおけるエラーを検出して修正するための回
路において、データ記号を複数のリード−ソロモン第1
コードワードa(x)にエンコードしそしてこの第1コ
ードワードをエラー誘起媒体に送り出すエンコーダ手段
と、エラーが誘起されている第1コードワードに等しい
複数の検索されたコードワードy(x)を上記エラー誘
起媒体から受け取りそして各々の検索されたコードワー
ドを、エラーの位置及び値を計算するに必要な時間以内
の間保持するバッファ手段と、検索されたコードワード
の各記号がバッファ手段から出てくるときにその検索さ
れたコードワードから複数のエラー位置及び修正ベクタ
ーを実時間で計算するためのデコーダ手段と、上記エラ
ー位置及び修正ベクターに応答して、エラーデータ記号
がバッファ手段から出てくるときにそれを修正するため
の修正手段とを具備することを特徴とする回路が提供さ
れる。
本明細書の一部分を構成する添付図面は、本発明の好
ましい実施例を示しており、この添付図面と、上記の説
明と、好ましい実施例の以下の詳細な説明とによって、
本発明の原理が良く理解されよう。
図面の簡単な説明 第1図は、本発明の好ましい実施例を構成する集積回
路の全構造体を示すブロック図、 第2図は、第1図の回路のECC発生機によって行なわ
れる主たる段階を示す電気回路図、 第3図は、第1図のシンドロームコンピュータ、エラ
ー位置決めNU(x)及びエラー評価W(x)コンピュー
タ、ファクタNU(x)、評価W(x)及び修正ベクター
YIコンピュータ回路によって行なわれるデコードプロセ
スのフローチャート、 第4図は、シンドローム計算回路、第1図の回路のシ
ンドロームコンピュータブロック16の一部分及び第3図
のフローチャートのステップ102の一部分を示す電気回
路図、 第5図は、変形シンドローム計算回路の一部分、第1
図の回路のシンドローム計算ブロックの別の部分及び第
3図のフローチャートのステップ102の一部分を示す電
気回路図、 第6図は、エラー位置決め多項式NU(x)の計算、第
3図のステップ104、及び第1図のエラー位置決めNU
(x)及びエラー評価W(x)回路18の一部分を示すフ
ローチャート、 第7図は、第6図のフローチャートに示されたバーレ
カンプのアルゴリズムの実行を示す電気回路図、 第8図は、第6図のフローチャートに示されたバーレ
カンプのアルゴリズムの実行の残り部分を示す電気回路
図、 第9図は、第7図の回路364であるガロアフイールド
組合せの逆数計算器を示す電気回路図、 第10図は、エラー評価多項式W(x)を計算する回
路、即ち、第3図のステップ106を示す電気回路図、 第11図は、コードワードの各記号に対しエラー位置決
め多項式NU(x)の値を実時間で計算する回路、即ち、
第3図のステップ108、110及び112を示す電気回路図、 第12図は、コードワードの各記号に対しエラー評価多
項式W(x)の値を実時間で計算する回路、即ち、第3
図のステップ114を示す電気回路図、 第13図は、コードワード記号のエラー位置及び修正ベ
クターを実時間で計算する回路、即ち第11図及び第12図
の回路より成り、第3図のステップ116、118及び120を
含んでいる回路を示す電気回路図、 第14図は、第13図の回路524であるガロアフィールド
除算計算器を示す電気回路図、 第15図は、本発明の回路における計算及びデータ転送
に対する時間の割り当てを示すタイミング図、 第16図は、GFα-33乗算器として働く排他的オア回路
網の電気回路図、 第17図は、GFα-32乗算器として働く排他的オア回路
網の電気回路図、 第18図は、GFα1乗算器として働くシフト−1回路と
して知られている排他的オア回路網の電気回路図、 第19図は、GFα2乗算器として働くシフト−2回路と
して知られている排他的オア回路網の電気回路図、 第20A図は、第16図のα-33乗算器及び第18図のα1
算器を用いて[SYMBOL A]×α-33及び[SYMBOL A]×
α-32の計算を行なうための回路の電気回路図、 第20B図は、第19図のα30乗算器及びシフト−2回路
を用いて[SYMBOL B]×α30及び[SYMBOL B]×α32
計算を行なうための回路の電気回路図、 第21図は、第18図のシフト−1回路を用いて乗算回路
のほゞ半分を除去するような第4図のシンドローム計算
回路の好ましい実施例を示す電気回路図、 第22A図は、第19図のシフト−2回路を用いた第13図
のNUeven回路を示す第2の好ましい実施例を示す図、 第22B図は、第19図のシフト−2回路を用いた第13図
のNUodd回路の第2の好ましい実施例を示す電気回路
図、そして 第23図は、第18図のシフト−1回路を用いた第12図の
エラー評価多項式W(x)の第2の好ましい実施例を示
す電気回路図である。
好ましい実施例の説明 以下、添付図面を参照して、本発明の好ましい実施例
を詳細に説明する。
リード−ソロモンエラー検出及び修正回路の好ましい
実施例が第1図にブロック図の形態で示されており、参
照番号10で一般的に示されている。ここに実施するよう
に、回路10は、データ処理システム(図示せず)のデー
タバス28から2進データを受け入れ、これらのデータビ
ットをK個のmビットデータ記号diに変換する。ここ
で、iは1ないしKである。データ記号diは、エラー修
正コード(ECC)発生器14に送られると同時に、マルチ
プレクサ15を経てデータ記憶ディスク26に送られる。
本発明によれば、データ記号を複数のリード−ソロモ
ン第1コードワードa(x)にエンコードしてこの第1
コードワードをエラー誘起媒体に送り出すエンコーダ手
段が設けられている。ここに実施するように、ECC発生
器14は、根αi、−34<i<34を有する生成元多項式g
(x)を用いてN−K個のECC記号eiを発生する。ここ
で、i=0ないしN−K−1である。そして、αは、ガ
ロアフィールドGF(2m)の原始エレメントである。N
は、コードワードの長さを表わしており、<2mの整数
である。N−K個のECC記号eiは乗算器15によってK個
のデータ記号diに付加されて、N記号リードソロモン
(N,K)コードワードa(x)を形成する。これは、デ
ータ記憶ディスク26に記憶されたN個の記号aiより成
る。各コードワードごとにヘッダフィールドも与えら
れ、このヘッダフィールドは、コードワード間の分離や
他の記憶機能を果たすが、ここでは詳細に述べない。記
憶装置26は、データが記憶されたり検索されたりすると
きにエラーを生じることのあるエラー誘起媒体を含むも
のの一例である。
コードワードa(x)の記号が記憶装置26に記憶され
たりそこから検索されたりするときにこれら記号に対し
てエラーが生じる。ディスクから読み取るときは、コー
ドワードa(x)は、エラーのある記号を含むことがあ
るので、y(x)と示される。エラーが全く存在しない
ときには、y(x)がa(x)に等しくなるか又は同じ
ことであるがp(x)=0となる。
本発明によれば、エラーが誘起された第1コードワー
ドに等しい複数の検索されたコードワードy(x)をエ
ラー誘起媒体から検索しそして各々の検索されたコード
ワードを、エラー位置及び値を計算するに充分な時間、
好ましくはエラー位置及び値を計算するに必要な時間以
内の間、保持するためのバッファ手段が設けられてい
る。ここに実施されるように、データ記憶ディスク26か
ら読み取られたデータ記号は、データバッファ22に保持
される。本発明は、更に、検索されたコードワードの各
記号がバッファ手段から出てくるときに複数のエラー位
置及び修正ベクターを上記検索されたコードワードから
実時間で計算するためのデコーダ手段も備えている。
又、ここで実施されるように、シンドロームコンピュー
タ16、エラー位置決め及びエラー評価コンピュータ18、
及びエラー修正ベクターコンピュータ20を含むデコード
手段は、バッファ22に保持されているデータ記号に対し
エラー位置決め及び修正ベクターを計算する。
ここで実施するように、シンドロームコンピュータ16
は、データ記憶装置26に対してコードワード記号が読み
取られたときにシンドロームの計算を開始する。エラー
位置決め及びエラー評価コンピュータ18は、シンドロー
ムコンピュータ16で計算されたシンドロームを用いてバ
ーレカンプ−メッセイアルゴリズムを解くことによりエ
ラー位置決め多項式NU(x)を計算する。エラー評価多
項式W(x)の項も、シンドロームコンピュータ16から
のシンドローム及びNU(x)の値を用いて、コンピュー
タ18において計算される。
本発明によれば、エラー位置及び修正ベクターに応答
して、エラーのあるデータ記号がバッファ手段から出て
くるときにこれら記号を修正するための修正手段が設け
られている。ここに実施されるように、各データ記号
d′iがバッファ22から放出されるときに、コンピュー
タ20は、変形チーンサーチアゴリズムを用いてエラー位
置決め多項式NU(x)を計算し、エラー評価多項式W
(x)を評価して、修正ベクターYIを計算し、このベク
ターは、排他的オア回路24により、バッファ22から放出
されるデータ記号と排他的オアされる。デコードされた
コードワードのデータ記号は、コンバータ27によって16
ビットデータワードに変換され、データ処理装置16のビ
ットデータバス28へ返送される。
バッファ22からデータが放出されるときにエラーの位
置及び値を実時間で「パイプライン化」即ち高速計算す
ることは、短い待ち時間又は短い保持時間を達成する上
で重要な要素であり、これらの達成により、本発明の回
路で広い帯域巾を得ることができる。
リード−ソロモンエラー修正機能を実行するためにVL
SI論理を用いると、好ましい実施例の回路では、磁気デ
ィスクや、磁気テープや、エラーレートが本来高い光学
ディスクのようなセクタ化されたデータ記憶装置に対
し、デコードされたデータの許容エラーレートを低くす
ることができる。この回路は、記号480個の標準的なデ
ィスクセクタサイズを用いて、1秒当たり約70メガビッ
トの広い帯域巾と、ピーク帯域巾において約144マイク
ロ秒という短い待ち時間とを与える。このような標準サ
イズの場合、32個までのビット記号を修正しなければな
らず、これは、ある初期のデータ記憶システムよりも67
0倍も高い密度のオーバーヘッドが要求される。
好ましくは、第1図に示すように、磁気ディスク26上
に記憶される2進データビットは、データ処理システム
(図示せず)から16ビットデータバス28を経て受け取ら
れる。情報ワード及びエラー検出コード(EDC)ワード
の両方より成る2進データは、コンバータ12において、
一連のK個の記号に変換される。ここで、各記号は長さ
がmビットである。好ましい実施例では、各記号は長さ
が10ビットであり、そしてKは48ないし941個のデータ
記号から選択することができる。10ビット記号は、デー
タワード及びEDCワードから組み立てられ、各ワードは1
6ビット長さである。16ビットワードは、全てのデータ
ワード及びEDCワードがdiで表わされた10ビットデータ
記号に変換されてしまうまで起倒に変換される。完全な
記号を形成するに充分ないっぱいのビットが加えられ
る。データ記号diは、記憶ディスク26及びECC発生器14
に送られる。
ここで実施するように、エンコーダ手段は、ECC発生
器14を含んでいる。データ記号diのエラーを検出して修
正するのに用いられるECC記号eiは、生成元多項式g
(x)を用いてECC発生器14によって計算される。選択
されるエラー修正コードは、原始多項式x10+x3+1
によって発生されたガロアフィールドGF(210)に対し
て対称的なリード−ソロモンコードである。好ましい実
施例のリード−ソロモンコードについては、生成元多項
式g(x)が次のように定められる。
式1 ここで、αiは、GF(210)のエレメントである。GF
(210)は1023個のエレメントを含んでおり、従って、
N=1023個の記号のコードワードを形成することができ
る。好ましい実施例のコードワードは、第1図の集積回
路10の設計によりN=115ないし1008に制限される。生
成元多項式g(x)は、67個のECC記号を形成するよう
に選択され、それ故、N−Kは67であり、これは、セク
タ又はコードワード当たり32個までの記号のエラーを修
正するに充分なもので、セクタ当たり35個までの全ての
エラーを100%の確率で検出することができ、且つセク
タ当たり35より大きな全てのエラーを高い確率で検出す
ることができる。多項式g(x)は、その個々の項まで
拡張したときに、対称的な係数を有して、数学的に以下
に定義するガロアフィールド乗算回路を1/2に減少で
き、即ち、各αi項がxの種々の累乗の係数としてg
(x)に2回現われるように定められる。式2及び3は
式1の拡張であり、式3はg(x)の個々の項を示す。
式2 g(x)=(x+α-32)(x+α32)...(x+α33) 式3 g(x)=x67+α3566+α14665+α57264+α
4763+α50562+α95061+α82060+α81259
+α17758+α25957+α53056+α44455+α
97454+α34953+α25552+α26151+α898
50+α100449+α49648+α63647+α71546
α47545+α24744+α95743+α6342+α37
41+α67340+α69139+α59838+α78837+α
18836+α4135+α55234+α55233+α4132
+α18831+α78830+α59829+α69128+α
67327+α3726+α6325+α95724+α24723
+α47522+α71521+α63620+α49619+α
100418+α89817+α26116+α25515+α349
14+α97413+α44412+α53011+α25910+α
1779+α8128+α8207+α9506+α5055+α
474+α5723+α1462+α35x+1 第2図は、ECC発生器14により使用される回路で、a
(x)をg(x)で除算することにより67個のECC記号e
iを発生する回路を示している。数学的に、コードワー
ドa(x)は、係数aiを有する多項式であり、データ記
号diに付加される67個のECC記号eiより成る。以下の例
においては、厳密に413個のデータ記号が選択される。
以下で述べるシンドローム変更子は、この413個のデー
タ記号の選択に基づくものである。a(x)が記号aiを
係数としてもつxのK−1次多項式であると考えると、
次のようになる。
式4 a(x)*xN-K=aN-1N-1+aN-2N-2・・・・+
1N-K+10N-K 多項式の第1のK個の項の係数はdiであり、そして最後
のN−K個、即ち67個の項の係数はゼロであり、eiと交
換される。ECC記号は、第2図の回路によって示された
ように、d(x)*xN-Kをg(x)で除算することに
よって発生され、これは、第2図の回路で示されたよう
に、入ってくるデータ流diをg(x)で除算したものに
達する。回路14は、67個のシフトレジスタE(0)、E
(1)・・・E(66)を備えており、その各々は10ビッ
トの並列シフトレジスタであるのが好ましく、括弧内の
数字はそのレジスタによって表わされるxの累乗であ
る。413個のデータ記号のデータ流は、データ記号が記
憶ディスク26に送り込まれるときにECC発生器14に読み
込まれる。次いで、発生器14のモードは、データゲート
42及びフィードバックゲート44の両方を阻止することに
よって切り換えられ、回路14からのECC記号がデータ記
号に付加されるべく転送されるようになる。また、フィ
ードバックゲートを阻止すると、ECC発生器が次のセク
タのデータのためにクリアされる。○記号(その1つが
第2図に46で示されている)は、並列排他的オア、もし
くはモジュロ2加算機能を示している。xαi記号(そ
の1つが48で示されている)は、ガロアフィールドをα
iで乗算することを意味し、これは、入力記号の指数を
iだけ上昇させることに等しく、例えば、αjxαi=α
i+jである。ここで、i+jはモジュロ1023と計算され
る。全てのGF乗算演算は、モジュロの原始多項式x10
3+1である。
ガロアフィールドについての乗算は、次のように定義
される。p及びqがいずれか2つの10ビット記号であっ
て、各ビットがp0、p1・・・p9そしてq0、q1・・・q9で
ある場合には、GF乗算関数は次のように定義される。
式5 p×q=[(p9x9+p9x8・・・p0x0)(q9x9+q9x8・・
・q00)]、 モジュロx10+x3+1 =x9[p9(q0+q7)+p8(q1+q8)+p7(q2+q
9)+p6q3 +p5q4+p4q5+p3q6+p2q7+p1q8+p0q9] +x8[p9(q6+q9)+p8(q0+q7)+p7(q
1+q8) +p6(q2+q9)+p5q3+p4q4+p3q5+p2q6 +p1q7+p0q8] +x7[.... 他の項(x7ないしx0)は、多項式モジュロx10+x3
+1の通常の積である。p及びqのエレメントは2進デ
ジットであるから、式pi(qj+qk)の係数は、pi.AND.
(qj.XOR.qk)に等しく、ハードウェアにおいて通常の
やり方で計算される。積は論理積(AND)であり、括弧
内の加算は、排他的オア(XOR)のモジュロ2加算であ
る。
リード−ソロモンコードは繰返し性のものであるか
ら、67記号の「コセット・リーダ」は、67個のECC記号
が回路14からシフトされて出されたときにこれらの記号
と排他的オアされる。コセットリーダは、回路10のデコ
ーダ位置が誤って解釈されて不適当にシフトされたセク
タを受け入れるのを防止する。コセットリーダと排他的
オアされたビットのシフトにより、回路10は、そのセク
タの全てのデータを>32のエラーを含むものとして解釈
する。以下で述べるデータ読み取り動作中に、ディスク
セクタから読み取られた67個のECC記号が同じコセット
リーダ記号と再び排他的オアされて、それらをECC記号
から取り除き、記号がシフトされない限りそれ以上の計
算には何の作用も及ぼさない。このとき、デコード回路
の通常の機能によって過剰なエラーが発生される。
コセットリーダは、通常のやり方でECC記号と排他的
オアされる。本発明の67個のコセットリーダ記号は、本
発明のリード−ソロモンコードをサブセットとして含む
リード−ソロモンコードのコードワードから選択され
る。経験的に決められているように、コセットリーダを
選択したコードワードは、非ゼロ記号が67以下でなけれ
ばならない。最適なコセットリーダを選択する既知の方
法はないが、表1に示す好ましい実施例のコセットリー
ダは、コードワードの記号が100個までのビットでシフ
トされた場合に33個以上のエラーを生じる。最後の記号
で始めて、8進のコセットリーダ記号は、次のようにな
る。
ディスクのユーザによって種々の長さのデータ記憶時
間が決定された後に、コードワードy(x)がディスク
26から読み取られる。コードワード記号にはエラーが考
えられるので、a(x)がここでy(x)によって表わ
される。y(x)にエラーがなければ、a(x)=y
(x)である。第3図のフローチャートは、回路10のデ
コーダ部分によって行なわれる事象シーケンスを示して
おり、このデコーダ部分は、シンドローム発生手段(ス
テップ102)と、エラー位置決め多項式NU(x)を計算
する(ステップ104)と共に、エラー評価多項式W
(x)を計算する(ステップ106)ための手段と、エラ
ー位置決め多項式NU(x)の値を計算する(ステップ10
8、110及び112)と同時にエラー評価多項式W(x)の
値を計算する(ステップ14)ための手段と、NU(x)の
各根及びW(x)の値が計算されたときに、コードワー
ドy(x)のエラー記号を修正してエラーのない記号ai
を実時間で形成する(ステップ116、118、120及び122)
ための手段とを備えている。第3図において、Nは記号
のコード長さを表わし、そしてIは記号番号を表わす。
第1図のシンドロームコンピュータ16は、多項式S
(x)の係数であるシンドロームsiを発生する(第3図
のステップ102)。第4図は、コードワードy(x)の
記号がディスク26のセクタから読み取られるのと同時に
S(x)を計算するのに用いられる回路を示している。
第4図の回路によって行なわれる計算は、次のとおりで
ある。
式6 計算は、S33ないしS-33と示された10ビット巾のレジ
スタ、GF乗算器、加算器及びアンドゲート(その各々が
Sコンピュータである)のアレイより成るガロアフィー
ルド乗算手段によって実行される。第2図の場合と同様
に、xα記号は、GF乗算演算を指示し、0記号は、モジ
ュロ2加算又は排他的オアを指示する。モードの切り換
えは、479個の記号が67個全部のSコンピュータに転送
されてしまった後にフィードバックゲート150をデアサ
ートすることによって行なわれ、この点において、67個
全部のアンドゲート(その1つが152で示されている)
が阻止され、それと同時に、480番目の記号が67個のS
コンピュータに入力される。フィードバックゲート150
を阻止すると、全てのSコンピュータがクリアされ、次
のセクタに対してシンドロームを計算する。
第2の好ましい実施例では、第4図のシンドロームコ
ンピュータのガロアフィールド乗算手段を半分の記号ク
ロック(70ns)で動作させることにより、たとえこの乗
算手段が半分のレートで入力記号を受け入れたとして
も、ハードウェアの実質的な減少が達せられる。これに
より、各乗算器を1つの完全な記号周期中に2回使用し
て2つの部分シンドロームを発生することができ、これ
により、67個のα乗算器のうちの34個しか組み込む必要
がないので、ハードウェアの節約が達成される。各々の
隣接する乗算器は、簡単な関数によって関係付けされ
る。例えば、α-33を取り出し、これにα1を乗算するこ
とにより(−33+1=−32)α-32を求めることができ
る。α1で乗算することは、1度シフトを行なってビッ
ト9とビット2の排他的オアをとることに等しい。
10ビット記号9876543210が与えられると、この記号を
α1で乗算したものは、8765439と2109との排他的オアに
等しくなる。これは、α-32乗算器よりも構成するのに
非常に簡単であり且つ小規模である。シンドロームコン
ピュータにある偶数番号の全てのα乗算器は、このよう
にして奇数番号のα乗算器から得られる。この同じハー
ドウェア減少技術は第1図のYIコンピュータ20にも用い
られ、これについては以下で詳細に述べる。
67個のシンドローム値Siは、次いで、第5図の変形シ
ンドローム回路200のS′(K)レジスタに送られる。
シンドローム値S33を除き、シンドローム値は乗算器に
入力され、その1つが番号204で識別されている。これ
は、第4図のS計算回路を解除し、読み込まれるべき次
のコードワードに対するシンドロームを計算させる。
又、回路200は、第1図のシンドローム発生器16の一部
分である。変形シンドローム関数は、GF(210)のコー
ド記号を最大1023個の記号からこの例で用いられる480
個の記号に短縮し、この短縮されたコードの変形シンド
ロームを第5図のSYレジスタ210に記憶する。変形シン
ドロームの計算は、67個のシンドロームS(K)を、
S′(−33)ないしS′(33)と示されたS′(K)レ
ジスタへブロードサイド・ロードすることから始まる。
同時に、レジスタ202がクリアされ、0001010101に等し
いα462の値がロードされる。S′(K)レジスタに接
続されたマルチプレクサは、次に上位のS′(K)レジ
スタへ続く。GF乗算器206において行なわれる第1の乗
算は、S(−33)xα462であり、これは次いでシフト
レジスタSY(0)へシフトされる。マルチプレクサ208
は、α462信号をレジスタ202から分離し、GFxα544乗算
器の整列をとって、シンドロームS(−33)がレジスタ
S′(−33)にシフトされたときに、α462及びα544
GF積であるレジスタ202の内容によって乗算されるよう
にする。それ故、レジスタSY(K)の各変形シンドロー
ムは、S′(K)レジスタからのシンドローム値に、
(α462)(α544n-1を乗算したGF積である。xα544
関数に、式5によって定義されたものと同じGF乗算であ
るが、10ビット記号の出力ビットをOiとしてそして入力
ビットをIiとすれば、次のような排他的オア演算によっ
て行なうこともできる。
回路200のα462及びα544乗算器は、好ましい実施例
の回路においてプログラム可能であり、コードワードの
長さが480記号から変った場合には変更しなければなら
ない。
エラー位置決め多項式NU(x)を発生する手段が第1
図に回路18として示されている。ここで、変形シンドロ
ームSY(K)を使用し、ウェングによって変形されたバ
ーレカンプ−メッセイアルゴリズムを用いてNU(x)を
計算すると共に、リグルによって示唆されたデータ流れ
技術を用いて処理速度が高められる(第3図のステップ
104)。これは、第6図のフローチャートとしてより完
全に示されている。
第6図のフローチャートは、NU(x)の計算中に行な
われる個々のステップを示している。第6図は、以下で
詳細に述べるように、同時に行なわれる動作を示すため
に、クロックサイクル又は状態によって区分に分けられ
る。明瞭化のために、チャートのある区分で計算された
量がチャートの他のボックスに利用できるようにされる
が、接続線は示されていない。
第6図の初期状態がステップ252に示されている。ス
テップ252の量Dは、コード距離の整数値N−K+1=6
8である。ステップ260で計算された量Yは、DU=0のと
きに0となるように定められる。状態マシン(図示せ
ず)は、67回繰り返される処理ステップを制御する。第
7図も参照すれば、状態1の間に、マルチプレクサ(図
示せず)は、32記号巾のGF乗算器350を32個のSYレジス
タ210(SY(1)−SY(32))及び32個のNUレジスタ352
へ接続する。GF積は、NU及びSYレジスタにおいて式5で
定めたように行なわれる。これにより、第6図のステッ
プ254が完了する。第6図の積X(I)は、非シフトレ
ジスタ(図示せず)へシフトされず、単一ビット記号DU
が10ビットバス356に現われるまで第7図の+T関数354
によってツリー形態でSY(0)と排他的オアされる。こ
れにより、第6図のステップ256が完了する。+T関数
は、全ての入力の連鎖状排他的オア和である。n個の入
力Ijがある場合には、出力O=I01・・・In
ある。最大速度については、排他的オアが次のようなツ
リー状とされる。
状態1の間に、単一の10ビット記号がDUレジスタ358
にクロックされると共に、状態2の間に、レジスタ358
の出力段にクロックされる。それと同時に、第6図のス
テップ258に示されたように、カウンタ変数LLMRを含ん
だ第7図のカウントレジスタ360は、1だけ減少され
て、0より小さい状態であるかどうかテストされる。0
より小さい場合には、ゲート362がイネーブルされる。
第6図のステップ260に示されたように、状態2の間に
は、第7図のシフトレジスタ358のDUの値が出力へシフ
トされ、これを用いて、(1)以下で述べるように、Y
の新たな値が計算されると共に第7図の反転プロセス36
4が行なわれ、(2)Q=DUPの新たな値が計算され
(第7図のGF乗算器366によって行なわれる第6図のス
テップ262)そして(3)DU=0であるかどうかのテス
トが行なわれる(第7図の論理テスト368及び第6図の
ステップ264)。DU=0でありそしてLLMMR<0である場
合には、ENがゲート362によりフラグとしてセットされ
る。反転演算364は、リー・ジョーウェングによって開
発された手順に基づいて行なわれ、これが第8図に示さ
れている。
第7図のGF反転回路364が第9図に詳細に示されてい
る。第9図の回路は、入力記号を32乗しそしてそれに−
33乗に下げられた入力記号を乗算することによって入力
記号αnの逆数α-nを計算する。α32nxα-33nの結果は
α-nである。これを行なうために10ビット記号αnがα
32n排他的オア回路網400に入力される。ビット入力I1
及びビット出力Oiは次の通りである。
各○は、排他的オアを表わす。値α32nは、αnで乗算さ
れて、α33nが得られる。α33nは、GF(210)のサブフ
ィールドGF(25)のエレメントであるから、いかなる
α33nについても考えられる非ゼロの値は31のみであ
る。得られる10ビットのうちの選択された5つ(I0
1、I2、I3、I5)を用いると、以下の表5によって
定められる論理回路網を構成することができる。これ
は、α33nの31個の逆数(即ち、全てα-33n)を出力す
る。Oiは、入力ビットIiから得られるα-33n回路網の出
力ビットである。入力ビットは、記号α33nの10ビット
であり、出力ビットは、記号α33nの10ビットであり、
そして出力ビットは、記号α-33nの10ビットである。
αnを反転するための最終的な動作は、前記した式5に
基づいてα32nにα-33nを乗算してα-nを得ることであ
る。
ENがセットされた場合には、状態3の間に、LLMRがそ
の符号ビットの補数をとっており(第6図のステップ26
8)、NR入力内容はNUの内容と取り換えられ(ステップ2
70)そしてPの値がYの値と交換される。ENがセットさ
れない場合には、NRがアップ方向に(上位の項に向かっ
て)シフトされる。又、状態3の間に、NUの入力内容
は、NR0Qと排他的オアされたNU出力と交換され(第6
図のステップ274)、SYレジスタはアップ方向にシフト
される(ステップ266)。これが完了すると、67個のル
ープの1つが完成し、第6図のステップ276においてR
によってカウントされる。第67番目のループの間に、SY
レジスタのシフトが除去され、W(x)の計算の準備が
なされる。各ループの間にLLMRのテストが行なわれ、LL
MR<0になるように確保される。さもなくば、T=32以
上のエラーがコードワードにあり、セクタを修正するこ
とができない。67の全てのステップが行なわれた後、最
終的なNU(I)は、0<1<(T+1)及びNU(0)=
1に対しエラー位置決め多項式NU(x)の係数となる。
第10図の回路448は、エラー評価多項式W(x)を計
算する手段を備えている。ここに実施するように、エラ
ー評価多孔質W(x)の根を計算する手段は、W個のレ
ジスタ450、変形シンドローム54のレジスタ210、エラー
位置決め多項式NVのレジスタ352、乗算器350、及び第3
図の手順を実行する(特に、ステップ106を含む)ツリ
ー式加算器354とを備えている。簡単化のために、計算
を逆の形態でステップ106に示す。W′(x)の係数
は、W(x)の係数を逆の順序にしたものに過ぎない。
説明のため: 式7 p(x)=p0+p1X+p22+・・・pkk である場合には、 p′(x)=pk+pk-1X+pk-22+・・・p0k となる。S′(x)及びNU′(x)についても同じこと
がいえる。NU(x)コンピュータのモードは、第10図に
示すW(x)コンピュータモードに変化する。マプチプ
レクサ(図示せず)は、NUレジスタ352及びSYレジスタ2
10をGF乗算器350に接続しそしてW(x)の計算全体に
わたりツリー式排他的オア機能を果たすようにセットさ
れる。10ビットバス356は、W(I)シフトレジスタ450
のレジスタW(31)に接続される。
新たな状態1で始めて、SY及びNUの積はGF乗算器350
で乗算され、そして装置354によってツリー式排他的オ
アされる。これらの動作については既に上記した。単一
の10ビット記号はバス356からレジスタW(31)へ入力
される。状態2の間に、全てのW(I)レジスタの内容
は、32本の10ビット記号バス452を経て全てのW(I−
1)レジスタへ入力され(W値をダウン方向にシフトす
る)、そして全てのSY(I)の値はSY(I+1)にシフ
トされる(SY(I)の値をアップ方向にシフトする)。
状態1及び2は、32個のサイクルが完了するまで繰り返
される。W(I)レジスタ450の内容はエラー評価多項
式W(x)の係数を含みそしてNU(I)レジスタ352は
エラー位置決め多項式NU(x)の係数を含む。次いで、
NU(I)及びW(I)の値が次の関数に転送される(第
3図のステップ108、110、112及び114)。レジスタ21
0、352及び450は、次のコードワードのNU(x)及びW
(x)を計算する準備ができることは明らかである。
第13図の回路は、エラー位置決め多項式NU(x)を解
くと同時に、それに対応するエラーの値をNU(x)及び
W(x)から得、そして各記号が第1図のバッファ22か
らシフトされて出されるたびにコードワードy(x)の
エラー記号を修正してエラーのない記号aiを得るための
手段を備えており、これは、(1)NU(x)の各項を解
き、奇数及び偶数の累乗項を加算して、各々、NUodd
(x)及びNUeven(x)を得(第3図のステップ10
8)、(2)それと同時にW(x)を評価し、そして
(3)NUodd(x)及びW(x)の計算値から導出され
たエラー位置及びエラー値によって指示されたようにy
(x)のエラーを修正するという段階を含んでいる。所
与のコードワード記号に対してp(x)の非ゼロ係数で
ある修正記号即ち修正ベクターYIを発生するために、第
1図のエラー値計算回路20は、NU(x)の32個の記号値
と、常に1であるNU(x)の最下位係数と、セクタ内の
各コードワード記号に対するW(x)の32個の記号値と
を実時間で且つ対応する記号が第1図のバッファ22から
シフトされて出されるたびに評価する。これらの評価の
結果は、実際の修正多項式p(x)を発生するように操
作される。
エラー位置を決定するための通常のやり方は、チーン
サーチを使用することであり、xについて考えられる全
ての適正な値がテストされてNU(x)の根が見い出され
る。これらの根に基づいて、エラーのある記号が識別さ
れ、W(x)が評価され、y(x)が後で修正される。
然し乍ら、標準的な技術では、本発明よりも長い待ち時
間が必要である。待ち時間が短いという効果を与えるた
めに、W(x)の同時評価を行なえるようにチーンサー
チを変更し、データの流れをパイプライン化し、そして
エラーのある記号が第1図のバッファ22から出てデータ
処理バス28へ送られる途中でこれらの記号を識別し、実
時間で修正するようにされる。これには、各記号がバッ
ファから出てくるときにNU(x)及びW(x)の値を計
算するようにチーンサーチを本発明によって変更するこ
とが必要である。この際には、記号が正しいかどうかの
判断がなされる。もし正しくなければ、NU(x)及びW
(x)から計算されたp(x)の非ゼロ係数により、排
他的オア回路24においてエラー記号が修正される。
第11図の回路480は、10ビットシフトレジスタ及びガ
ロアフィールド乗算回路網を各々含む複数のガロアフィ
ールド乗算手段より成るものであり、この回路480は、
各コード記号がタイミングを合わせて第1図のバッファ
22を出るときにNU(αi)を評価する。ここで、iは、
第1図の記号送出バッファ22の番号である。各クロック
サイクル中に、各NUレジスタNU1ないしNU32の内容がレ
ジスタに接続されたGF乗算器によって乗算され、これに
より、各クロックサイクルごとにNUの根αiについての
テストが行なわれる。回路480の各NUレジスタの内容
は、各々の対応するデータ記号ごとに一度その対応する
GF乗算器によって乗算される。xの偶数累乗についての
NUの値及びxの奇数累乗についてのNUの値は、別々に加
算され、NUeven及びNUoddと称される。これにより、第
3図のステップ110及び112が完了する。NUoddは、次の
エラー値計算で必要とされる。NU(x)の計算と同時に
W(x)も、各記号送出バッファ22ごとに一度第12図の
回路500によって評価される。特に、第12図の回路500
は、各記号ごとにW(αi)xα341を計算し、これは第
3図のステップ116に対応している。
第13図を参照すれば、回路480は第11図に示したもの
と同じ回路であり、そして回路500は第12図に示したも
のと同じ回路である。加算器520は、NUodd及びNUevenの
和としてNU(x)を計算する。NU(x)=1の場合に
は、コードワード送出バッファ22のi番目の記号にエラ
ーがあり、ゲート522がゲート528及び530の1つの入力
をイネーブルする。これは第3図のステップ120に対応
する。これと同時に、そしてi番目の記号が正しいかど
うかに拘りなく、ドライバ回路524は、i番目のコード
ワード記号の正しい値、又は修正ベクトルを計算する。
これは、第3図のステップ116にYIとして示されてお
り、これについては以下で詳細に述べる。又、同時に、
論理ゲート526は、NUodd=0であるかどうかチェックす
る。これが0であって且つNUeven=1である場合には、
ゲート528がシステムフラグをセットし、回路10のデコ
ードされた出力にエラーがあることを第1図のデータ処
理システム28に指示する。エラーデータは、データ処理
システムへ送られるまでに廃棄される。又、NUodd=0
である場合には、修正ベクターYIが排他的オア回路24へ
送られない。というのは、第13図のゲート530が開放状
態にロックされるからである。これは、第3図のステッ
プ118に対応する。NUodd=0の間に見つかったエラー位
置は、デコードプロセスの不良を指示する。
第14図に詳細に示された第13図のドライバ回路524
は、第9図のGF反転回路と同様に動作するが、第2入力
及び第3乗算器が追加されている。ドライバ524は、第1
4図の記号αmによって表わされたステップ114からのZ
を、第14図の記号αnによって表わされたNUoddで除算す
ることにより、修正ベクターYIを計算する(第3図のス
テップ116)。従って、それにより得られる修正ベクタ
ーは次のようになる。
式8 YI=W(αi)(α34i) これにより、第3図のステップ116が完了する。
第1図の回路24は、バッファ22からのデータ流を修正
ベクターと排他的オアすることにより(第3図のステッ
プ122)エラーのあるコードワード記号を修正する。記
号にエラーがない場合には、第13図のゲート530がオー
プンであり、修正ベクターがゼロであり、従って、排他
的オア回路24は、データ記号を不変のまゝにする。バッ
ファのデータ流をエラー値の計算と同期させて修正ベク
ターが正しいデータ記号と一致するようにしなければな
らない。
第1図のバッファ回路22は、ディスクデータポート26
から読み出されたデータに対する大型の先入れ先出し記
憶ユニットであり、バッファにデータを入力してから約
2セクタ分の時間の後に修正回路24へデータを供給す
る。好ましい実施例においては、入力記号が各々の記号
読み取り時間ごとに一度シフトレジスタにラッチされ、
30ビットワードが発生される。シフトされて入力された
3個の記号より成る各グループが保持レジスタに書き込
まれ、その後、バッファに転送され、そこで、そのグル
ープは2セクタ分の遅延時間が終るまで保持され、その
ときに、3個の記号より成るグループは読み取りシフト
レジスタによって受け取られ、一度に1記号づつ第1図
のデータ修正関数24に送り込まれる。
デコード回路によって行なされる最終的な機能は、修
正された10ビット記号を第1図のコンバータ27によって
16ビットのデータワード及びEDCワードに変換すること
である。第1データワードのビット0−9は第1記号の
ビット0−9である。第2データワードのビット10-15
は第2記号のビット0−5である。全てのデータワード
について変換を行ない、記号413のビット0−7が最終
データワードのビット8−15となりそして413番目のビ
ット8及び9が破棄されるようにする。
第15図を参照し、第1図の回路10の動作について説明
する。第15図は、エンコード及びデコード回路によって
実行される主たるデータシフト及び計算についての時間
割り当てを示している。回路10の部分間のデータ流は一
方向性であり、即ち、ハンドシェイクは行なわれない。
各部分は、手前の部分が新たなデータを供給する準備が
できたときにそのデータを受け取る準備ができる。チッ
プは、1つの単一クロックソースを有していてデータを
同期的に操作する。好ましい実施例におけるクロックの
サイクルタイムは、公称870nsであり、これは記号時間
の半分である。好ましい実施例では、全記号時間が140n
sである。
データ記号がデータ記憶装置26から第1図のバッファ
22及びシンドロームコンピュータ16へ読み取られる(各
々、第15図の時間スロット600及び602)ようにしてデコ
ードが開始される。時間スロット604においてもECC記号
がシンドロームコンピュータ16に読み込まれる。バッフ
ァ22は、時間スロット600の間に読み取ったデータを約
2セクタ分の時間中保持し、時間スロット606までデー
タを放出しない。時間スロット602のデータが第1図の
シンドロームコンピュータ16に読み込まれると、シンド
ロームコンピュータは時間スロット608の間にデータの
処理を開始する。シンドローム及び変更シンドロームの
計算に続いて、エラー評価多項式W及びエラー位置決め
多項式NUが時間スロット610及び612の間に計算され、こ
れらは、時間スロット606においてデータ記号がバッフ
ァ22から放出されるときに時間スロット614において修
正ベクターYIを計算するのに使用される。
時間スロット608の間のシンドロームの計算が完了し
た後に、シンドロームコンピュータ16は、時間スロット
616において次のコードワードに基づいて計算を開始す
る準備ができ、これらデータに対するシンドロームは時
間スロット618の間に計算されそしてエラー評価及びエ
ラー位置決め多項式は、各々、時間スロット620及び622
の間に計算される。時間スロット624の間の修正ベクタ
ーは、時間スロット616のデータに対し、それらが時間
スロット626の間にバッファ22から放出されたときに計
算される。
このタイミング図は、本発明の改良されたアルゴリズ
ム及び回路によって考えられるパイプラインモードを明
確に示している。
第2の好ましい実施例においては、シンドロームコン
ピュータについて第4図に示され、エラー評価多項式W
(x)コンピュータについて第12図又は第13図に示され
そしてNUodd及びNUevenコンピュータについて第11図又
は第13図に示されたGFxαi乗算を実施するのに用いられ
る排他的オア回路網(.XOR.)のハードウェアを節約す
る。本発明のzαi乗算器を実施するためには、第16図
に示されたα-33乗算器のような排他的オア回路網を構
成することが必要である。記号は排他的オアゲートで
ある。入力は10ビット記号[SYMBOL A]でありそして出
力は10ビット記号[SYMBOL A]×α-33である。
この形式の排他的オア回路網のサイズは、大型であ
り、第16図のα-33乗算器として59個の排他的オアゲー
トをそして第17図のα-32乗算器として60個の排他的オ
アゲートを必要とする。これらの大型の排他的オア回路
網は、VLSIレベルで実施するのは複雑であり、それ故、
小型のシリコン集積回路にそれらを多数組み込むことは
困難である。本発明の第2の好ましい実施例は、これら
のGF乗算回路の個数及び複雑さを減少する改良されたガ
ロアフィールド乗算手段を提供する。
ガロアフィールドにおいては、αixαj=αi+jであ
る。例えば、α-33とα1とを乗算することによってα
-32が形成される。それ故、所与のα乗数は、より簡単
な乗数の積から構成することができる。第18図の回路
は、α1乗算回路、即ちシフト−1回路を示しており、
これは1つの排他的オアゲートを用いてモジュロ2加算
(ビット9.Xor.ビット2)を実行し、出力ビット3を発
生すると共に、あるクロス接続された入力及び出力ライ
ンを用いてビットを転換し、所望の出力を発生すること
ができる。第19図の回路は、α2乗算回路、即ちシフト
−2回路を示しており、これは、2つの排他的オアゲー
ト及びクロス接続された入力及び出力で構成され、所望
の出力を発生する。第20a図及び第20b図の回路は、複雑
なα乗数α-33又はα30と簡単な乗数α1又はα2との積
によって、通常2つの複雑な乗数を必要とする出力をい
かに形成して、それにより、回路の複雑さを著しく低減
するかを示している。第20a図においては、α-33及びα
1乗算器は、59個の排他的オアゲート又は1つのα-32
算回路網という正味の節約で、入力記号[SYMBOL A]と
α-33との積及びα-32との積より成る出力を発生する。
同様に、第20b図に示すように、α30乗算器及びシフト
−2回路を用いて[SYMBOL B]xα30及び[SYMBOL B]
xα32の値が形成され、α32乗算器を除去することがで
きる。
本発明のGF乗算手段にこの技術を用いることにより、
シンドロームコンピュータや、エラー位置決め及びエラ
ー評価コンピュータによって必要とされた複雑な排他的
オア回路網の約半分が除去される。第21図は、GF乗算器
の複雑さを減少する技術を用いるように第2の好ましい
実施例によって構成された第4図のシンドロームコンピ
ュータを示している。図示を簡単化するために、S(−
30)ないしS(−33)レジスタとそれに関連したGF乗算
器、及びマルチプレクサ(MUX)のみが示されて説明さ
れ、その他の部分は繰り返しである。シンドロームコン
ピュータの機能は、既に上記した。GF乗算手段のハード
ウェア減少技術をシンドロームコンピュータに適用する
ことについてのみ説明する。
第1図のシンドロームコンピュータ16は、第4図又は
第21図のシンドローム計算回路により、1つの記号を、
その両方の好ましい実施例において約140ns(1ちつの
全記号クロック)ごとに処理する。第21図に示されたシ
ンドローム計算回路の第2の好ましい実施例において
は、シンドローム計算回路は、2対1マルチプレクサに
よってモジュロ2加算器に接続された2つの10ビットレ
ジスタと、保持レジスタと、複雑なGF乗算排他的オア回
路網と、簡単なシフト−1マルチプレクサとで各々構成
された複数のガロアフィールド乗算手段より成る。
シンドロームコンピュータ16が計算を開始する前に、
第21図の全てのSレジスタ702、704、706及び708がリセ
ットライン738の信号によってクリアされる。記号クロ
ックの最初の半分、即ち約70nsの間に、2対1マルチプ
レクサ(2対1MUX)710及び712がイネーブルされて、奇
数番号のSレジスタS(−33)、S(−31)、等の内容
を、加算器714及び716でのGF加算により、第1図のディ
スク26からの10ビットデータ記号にモジュロ2加算でき
るようにする。それにより得られる和は保持レジスタ71
8及び720に保持される。これらの保持レジスタの内容
は、次いで、α-31及びα-33のGF乗算器722及び724によ
って乗算され、それにより得られた積がS(−31)及び
S(−33)レジスタ704及び708にロードされる。S(−
31)レジスタ704の内容は、[(手前のS(−31)レジ
スタの内容)+(ディスク26からのデータ記号)]xα
-31であり、そしてS(−33)レジスタ708の内容は、
[(手前のS(−33)レジスタの内容)+(ディスク26
からのデータ記号)]xα-33である。
約70nsの次の半分の記号クロックにおいて、2対1の
MUX710及び714がイネーブルされ、偶数番号のSレジス
タ702及び706(第21図にはその2つのみが示されてい
る)の内容を選択肢、そしてこれら偶数番号のSレジス
タの内容を加算器714及び716においてディスク26からの
データ入力バス上の同じ10ビット記号に加える。その結
果が保持レジスタ718及び720に記憶される。これらの保
持レジスタ718及び720の内容も、第21図のα-31及びα
-33のGF乗算器722及び724によって乗算され、その出力
の値は、次いで、シフト−1回路726及び728によって乗
算され、その結果がレジスタ702及び706に記憶される。
S(−30)レジスタ702の内容は、[(手前のS(−3
0)レジスタの内容)+(ディスク26からのデータ記
号)]xα-30であり、そしてS(−32)レジスタ706の
内容は、[(手前のS(−32)レジスタの内容)+(デ
ィスク26からのデータ記号)]xα-32である。この加
算及び乗算が、ディスクから検索された次の10ビットデ
ータ記号に対して繰り返される。
シンドロームコンピュータの第1の好ましい実施例で
は、Sの出力値が、第4図に示すように、各Sレジスタ
に組み合わされた各加算器の出力から与えられる。第2
の好ましい実施例では、第21図の1本の出力ライン、例
えば、730が2つのSレジスタ706、708に対する出力を
与える。半分の記号クロックごとに、Sの1つの値がマ
ルチプレクサ732へ出力され、該マルチプレクサは、そ
の記号をライン734及び736を経て第5図の各S′レジス
タへ送る。
第22a図及び第22b図は、NUodd及びNUevenを計算する
ための第11図又は第13図のエラー位置決め多項式NU
(x)計算回路480を示しており、これは、第2の好ま
しい実施例に基づいて、GF乗算器の複雑さを低減する技
術を利用するように構成される。第22a図及び第22b図
は、この技術の実施を説明するためにこれら計算機の僅
かな部分しか示していない。第22a図及び第22b図の回路
は、第1の好ましい実施例における第11図又は第13図の
等価回路480と同じ機能を果たし、それ故、これら回路
の機能についてはこれ以上説明しない。GF乗算器のハー
ドウェア減少技術をエラー位置決めコンピュータに適用
することについてのみ説明する。
第22a図及び第22b図に示された第2の好ましい実施例
では、NUeven及びNUoddコンピュータは、2対1のマル
チプレクサによって保持レジスタに接続された2つの10
ビットシフトレジスタと、複雑なGF乗算排他的オア回路
網と、シフトレジスタの内容にαiの値を繰り返し乗算
する簡単なシフト−2乗算器とを各々含んだ複数のガロ
アフィールド乗算手段で構成される。NU計算器が計算を
開始する前に、1組の10ビット記号値が、バス456の接
続部(図示せず)から、全ての偶数番号のNUレジスタ75
0、752(そのうちの代表的な2つのみが示されている)
と、全ての奇数番号のNUレジスタ771、773(そのうちの
代表的な2つのみが示されている)とにロードされる。
約70nsの最初の半分の記号クロックの間に、2対1のMU
X754、755がイネーブルされ、NU(30)及びNU(29)レ
ジスタ750、771の内容を保持レジスタ756、777へ各々コ
ピーする。次いで、保持レジスタ756、777の内容がα30
及びα29のGF乗算器758、779で乗算される。これらGF乗
算器758、779の出力は、それに対応するNU(30)及びNU
(29)レジスタ750、771へロードされて戻される。この
とき、NU(30)レジスタ750の内容は、[手前のNU(3
0)レジスタの内容]α30であり、そしてNU(29)レジ
スタ771の内容は、[手前のNU(29)レジスタの内容]
α29である。
次の半分に記号クロックの間に、2対1のMUX754、77
5がイネーブルされ、NU(32)及びNU(31)レジスタ75
2、773の内容をそれらの各々の保持レジスタ756、777に
コピーする。次いで、保持レジスタの内容が同じα30
びα29のGF乗算器758、779で乗算される。GF乗算器75
8、779の出力値は、各シフト−2回路762、783において
α2で乗算された後に、対応するNU(32)及びN(31)
レジスタ752、773にロードされて戻される。ここで、NU
(32)レジスタ752の内容は[手前のNU(32)レジスタ
の内容]α31に等しい。このプロセスが次の記号クロッ
クにおいて繰り返される。
第23図は、第12図又第13図のエラー評価多項式W
(x)コンピュータ回路500を示しており、この回路
は、第2の好ましい実施例により、GF乗算器の複雑さを
低減する技術を利用するように構成されている。第23図
は、この技術の実施を説明するために上記コンピュータ
の僅かな部分しか示していない。第23図の回路は、第1
の好ましい実施例における第12図又は第13図の等価回路
500の場合と同じ機能を実行し、従って、この回路の機
能についてはこれ以上説明しない。GF乗算器のハードウ
ェア減少技術をエラー評価コンピュータに適用する場合
のみについて説明する。
エラー評価回路800は、第22a図及び第22b図のNUodd及
びNUeven回路と同じ形態の複数のガロアフィールド乗算
手段より成り、これは、NUレジスタの内容にαiを繰り
返し乗算し、上記と同様に機能する。W(x)の偶数値
は、半分の記号クロック中に計算されて偶数Wレジスタ
に記憶され、そして奇数値は、次の半分の記号クロック
中に計算されて奇数Wレジスタに記憶される。偶数番号
のα乗算器しか設けられておらず、奇数のα乗算器はシ
フト−1回路によって与えられる。
各半分の記号クロック中にW値の半分のみが計算され
てツリー状加算器802で加算されるので、アキュムレー
タ804は、加算器802の偶数及び奇数出力を記憶して加算
し、第13図に示すように修正ベクターの計算値としてW
(x)の全値を形成する。
第2の好ましい実施例の技術をシンドロームコンピュ
ータに適用することにより、34個の複雑なGF乗算排他的
オア回路網しか必要とされず、これに対し、第1の好ま
しい実施例ではアルゴリズムをハードウェアで実施する
のに67個が必要とされた。同様に、この技術では、NUev
en、NUodd及びWコンピュータに必要とされる排他的オ
ア回路網が64から32に減少される。
更に別の効果及び変更が当業者に明らかであろう。そ
れ故、本発明は、その広い観点において、図示されて説
明された特定の詳細、代表的な装置及び解説のための例
に限定されるものではない。従って、請求広範囲から逸
脱せずに、上記とは異なったやり方でも本発明を実施で
きることが明らかであろう。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヒュイ パク ニン アメリカ合衆国 マサチューセッツ州 01604 ワーチェスター フランク ス トリート 63 イースト ヴィュー ア パートメント 97 (56)参考文献 特開 昭60−223230(JP,A) 特開 昭63−318819(JP,A) 特開 昭53−10239(JP,A) 特表 平2−500319(JP,A) 特表 平2−503855(JP,A) 米国特許4397022(US,A) 米国特許4413339(US,A) IEEE Transactions on Computers,Vol. C−33,No.2(Feb.1984)P. 178−189 IBM Technical Dis closure Bulletin(J uly 1984)Vol.27,No.2, P.1308−1309

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】リードーソロモンコードワードをつくるた
    めにリードーソロモンエラー修正コードを使用してエン
    コードされている2進データ記号におけるエラーを検出
    し、そして修正する装置において、各コードワードはそ
    の中に所定数のデータ記号を含んでおり、 A.この所定数のデータ記号を有する少なくとも一つのコ
    ードワードを受け、そしてその受けたデータ記号の各々
    を所定時間後転送するバッファ手段22、 B.i)エラー位置決め式を決定し、そしてそのエラー位
    置決め式の根を求めてエラーの位置を求めることによ
    り、そしてii)関連エラー値を求めることにより、受け
    たコードワード毎にエラー位置とエラー値とを計算する
    ためのデコーダ手段16、18、20、そして C.計算されたエラー位置とエラー値に応答して、エラー
    を持つ受けたデータ記号の各々を前記のバッファ手段か
    らの記号の転送時に修正する修正手段22、24 を備え、前記のデコーダ手段は、前記の受けたコードワ
    ードと関連した信号にαiを反復して掛けるための複数
    のガロアフイールド乗算手段を含み、各ガロアフイール
    ド乗算手段は、 1.第1の所定期間中第1の入力信号を通し、そして第2
    の所定期間中第2の入力信号を通して第1の出力信号を
    得るマルチプレクサ710、754もしくは775、 2.第1の出力信号に第1の所定値を乗じて第2の出力信
    号を得る第1のガロアフイールド乗算器722、758もしく
    は779、 3.前記のマルチプレクサへ第1の入力信号を与え、そし
    て第1の所定期間中第2の出力信号を蓄積するよう結合
    されている第1のレジスタ704、750もしくは771、 4.第2の出力信号に第2の所定値を乗じて第3の出力信
    号をつくる第2のガロアフイールド乗算器726、762もし
    くは783、そして 5.前記のマルチプレクサへ第2の入力信号を与え、そし
    て第2の所定時間中第3の出力信号を蓄積する第2のレ
    ジスタ702、752もしくは773を含み、 前記のデコーダ手段は、所定時間に前記の第1と第2の
    レジスタの中の選択されたレジスタの内容を組み合わ
    せ、そしてその組み合わせをエラー位置と関連エラー値
    を求めるのに利用することを特徴とする装置。
  2. 【請求項2】前記のデコーダ手段は、コードワードデー
    タ記号を受けるときコードワード毎にシンドロームSi
    を計算する計算手段を含み、この計算手段は、 i.シンドローム多項式関数SXの係数Siを発生する複数
    のシンドロームコンピュータと、 ii.短縮コードに対応するようSXの係数を補正する補正
    シンドローム計算器200と を備える請求項1に記載の装置。
  3. 【請求項3】前記のデコーダ手段は、エラー位置決め式
    と関連したエラー位置決め多項式関数NU(x)の値と、
    受けたデータ記号のそれぞれに対するエラー評価多項式
    関数W(x)の値とを同時に補正係数から計算する手段
    を含み、ここで、 NU(x)S(x)=W(x)モジュロxt, であり、S(x)はSiにおける係数を持つxの多項式で
    あり、そしてtはリードソロモンコードが修正できるエ
    ラーの数である請求項2に記載の装置。
  4. 【請求項4】前記のデコーダ手段は、 A.前記のバッファから転送され、受け取られたデータ記
    号のそれぞれに対応するNUodd(αi),NUeven(αi)そ
    してW(αi)を同時に評価する手段480、500、ここで
    αiはコードワード位置に対応し、そしてNUeven(αi
    とNUodd(αi)とはαiで計算されたエラー位置決定多
    項式のそれぞれ偶数項と奇数項であり、そして B.NUodd(αi)+NUeven(αi)を計算し、同時に前記
    の受け取られたデータ記号の各々に対応する補正ベクト
    ルYIを計算する手段522、524、 を含み、ここで YI=W(αi*α33i/NUodd(αi) であり、NUodd(αi)+NUeven(αi)が所定値に等し
    いときのαiと関連の前記の受け取られたデータ記号の
    各々をYIと組み合わせることにより修正手段がエラーを
    修正する請求項3に記載の装置。
  5. 【請求項5】シンドロームと関連している入力信号に繰
    り返しαiを乗じるガロアフイールド乗算器手段を含
    み、この乗算器手段は a.帰還信号と入力信号とに応答して第1の出力信号を生
    じる論理AND回路152、 b.この第1の出力信号に応答して、第2の出力信号を得
    るため所定時間に所定値を第1の出力信号に乗ずるガロ
    アフイールド乗算器xαi、 c.第2の出力信号を蓄積する蓄積レジスタSi、そして d.この蓄積された第2の出力信号をデータ信号へ加え、
    そしてその合計を論理AND回路152への入力信号として与
    えるガロアフイールド加算器 を備える請求項2に記載の装置。
  6. 【請求項6】各シンドロームコンピュータが信号に繰り
    返しαiを乗ずるガロアフイールド乗算器手段を含み、 このガロアフイールド乗算器手段は、 A.第1の所定期間中第1の入力信号を通過させ、そして
    第2の所定期間中第2の入力信号を通過させて第1の出
    力信号を得るマルチプレクサ710、 B.第1の出力信号をデータ信号へ加えて第2の出力信号
    を得るモジュロー2加算器714、 C.第2の出力信号に第1の所定値を乗じて第3の出力信
    号をつくる第1のガロアフイールド乗算器722、 D.マルチプレクサに第1の入力信号を与え、そして第1
    の所定時間中第3の出力信号を蓄積するよう結合された
    第1のレジスタ704、 E.第3の出力信号に第2の所定値を乗じて第4の出力信
    号をつくる第2のガロアフイールド乗算器726、そして F.マルチプレクサに第2の入力信号を与え、そして第2
    の所定時間中第4の出力信号を蓄積するよう結合された
    第2のレジスタ702 を備え、所定の反復回数後前記の第1と第2のレジスタ
    の内容がシンドローム多項式S(x)の係数Siに対応
    する請求項2に記載の装置。
  7. 【請求項7】エラー位置決め多項式関数NU(x)の値を
    計算する手段480がNU(x)の係数と関連の信号αiを繰
    り返して乗ずるガロアフイールド乗算器手段を含み、こ
    の乗算器手段は、 A.蓄積のための入力信号を受ける入力口と、蓄積された
    信号を出力信号として供給する出力口とを有する蓄積手
    段、そして B.出力信号に所定値を乗ずることにより入力信号を再帰
    的に発生するガロアフイールド乗算器 を備える請求項3に記載の装置。
  8. 【請求項8】エラー評価装置の多項式W(x)の値を計
    算する手段500が、W(x)の係数と関連の信号にαi
    繰り返し乗ずる複数のガロアフイールド乗算器手段を含
    み、各ガロアフイールド乗算器手段は、 A.蓄積のための入力信号を受ける入力口と、蓄積された
    信号を出力信号として供給する出力口とを有する蓄積手
    段、そして B.出力信号を所定時間に乗算するガロアフイールドによ
    り入力信号を再帰的に発生するガロアフイールド乗算器 を備える請求項3に記載の装置。
  9. 【請求項9】リードーソロモンコードワードをつくるた
    めリードーソロモンエラー修正コードを使用してエンコ
    ードされている2進データ記号におけるエラーを検出
    し、そして修正する方法において、各コードワードはそ
    の中に所定数のデータ記号を含んでおり、 A.所定数のデータ記号を有する少なくとも一つのコード
    ワードを受け、そしてその受けたデータ記号の各々を所
    定時間バッファに保持する段階、 B.i)エラー位置決め式を決定し、そしてエラー位置に
    対応する前記のエラー位置決め式の根を求めることによ
    り、そしてii)関連エラー値を決定することにより、受
    けたコードワード毎にエラー位置とエラー値とを計算す
    る段階、 C.その受けたデータ記号の各々を所定期間後に前記のバ
    ッファ手段から転送する段階、そして D.計算されたエラー位置と関連エラー値とに応答して、
    記号がバッファから転送されるときエラーを有する前記
    の受けたデータ記号の各々を修正する段階を備え、前記
    の計算段階は、前記の受けたコードワードと関連した信
    号にαiを反復して掛けるガロアフイールド乗算を、 1.第1の所定期間中第1の出力信号を通し、そして第2
    の所定期間中第2の入力信号を通して第1の出力信号を
    得る段階、 2.ガロアフイールド乗算器内で第1の出力信号に第1の
    所定値を乗じて第2の出力信号をつくる段階、 3.第1の所定期間中第2の出力信号を第1のレジスタ内
    に蓄積する段階、 4.ガロアフイールド乗算器内で第2の出力信号に第2の
    所定値を乗じて第3の出力信号をつくる段階、 5.第2の所定時間内に第3の出力信号を第2のレジスタ
    に蓄積する段階、 6.その蓄積された第2の出力信号を第1の所定期間中に
    マルチプレクサへ結合する段階、 7.その蓄積された第3の出力信号を第2の所定期間中に
    マルチプレクサへ結合する段階、そして 8.前記の第1と第2のレジスタの中の選択されたレジス
    タの内容を所定時間に処理して、前記の受け取られたコ
    ードワードに応答するエラー位置とエラー値とを求める
    段階 によって遂行することを特徴とする方法。
  10. 【請求項10】前記のエラー位置とエラー値とを計算す
    る段階は、 a.コードワードデータ記号を受けるときコードワード毎
    にシンドロームSiを計算する段階と、 b.エラー位置決め多項式関数NU(x)の値と、エラー評
    価多項式関数W(x)の値とを前記の受けたコードワー
    ド毎に同時に計算する段階を含み、ここで、 NU(x)S(x)=W(x)モジュロxt, であり、S(x)は係数Siを持つxの多項式であり、t
    はリードソロモンコードが修正できるエラーの数であ
    り、そしてNU(x)はエラー位置決め式と関連している
    請求項9に記載の方法。
  11. 【請求項11】前記のエラー位置とエラー値とを計算す
    る段階は、 a.前記のバッファから転送され、受け取られたデータ記
    号のそれぞれに対応するNUodd(αi),NUeven(αi)そ
    してW(αi)を同時に評価する段階、ここでαiはコー
    ドワード位置に対応し、そしてNUeven(αi)とNU
    odd(αi)とはαiで計算されたエラー位置決定多項式
    のそれぞれ偶数項と奇数項の和であり、そして b.NUodd(αi)+NUeven(αi)を計算し、同時に前記
    の受け取られたデータ記号の各々に対応する補正ベクト
    ルYIを計算する段階 を含み、ここで YI=W(αi*α33i/NUodd(αi) であり、NUodd(αi)+NUeven(αi)が所定値に等し
    いときのαiと関連の前記の受け取られたデータ記号の
    各々をYIと組み合わせることによりエラーを修正する請
    求項9に記載の方法。
  12. 【請求項12】前記のシンドロームSiを計算する段階
    が、 a.複数のシンドロームコンピュータ内でシンドローム多
    項式S(x)の係数Siを発生する段階と、 b.ガロアフイールド(2m)にわたり短縮コードに対応
    するようS(x)の係数を補正する段階 とを含む請求項10に記載の方法。
  13. 【請求項13】前記のシンドローム多項式S(x)の係
    数Siを発生する段階が、 a.帰還信号と入力信号とに応答して論理AND回路から第
    1の出力信号を発生する段階、 b.ガロアフイールド乗算器内で、所定時間に第1の出力
    信号に所定値を乗じて第2の出力信号を得る段階、 C.第2の出力信号を蓄積レジスタに蓄積する段階、そし
    て d.この蓄積された第2の出力信号をデータ信号へモジュ
    ロー2加算器内で加え、そしてその合計を論理AND回路
    へ入力信号として与える段階 を備える請求項12に記載の方法。
  14. 【請求項14】前記のシンドローム多項式S(x)の係
    数Siを発生する段階が、 i.マルチプレクサ内で、第1の所定期間中第1の入力信
    号を通過させ、そして第2の所定期間中第2の入力信号
    を通過させて第1の出力信号を得る段階、 ii.モジュロー2加算器内で第1の出力信号をデータ信
    号へ加えて第2の出力信号を得る段階、 iii.ガロアフイールド乗算器内で、第2の出力信号に第
    1の所定値を乗じて第3の出力信号をつくる段階、 iv.第1の所定時間中に第3の出力信号を第1のレジス
    タに蓄積する段階、 v.ガロアフイールド乗算器内で、第3の出力信号に第2
    の所定値を乗じるガロアフイールド乗算を行って第4の
    出力信号をつくる段階、 vi.第2の所定時間中に第2のレジスタに第4の出力信
    号を蓄積する段階、 vii.蓄積された第3の出力信号をマルチプレクサへ第1
    の所定時期間中に結合する段階、 viii.蓄積された第4の出力信号をマルチプレクサへ第
    2の所定時期間中に結合する段階、そして ix.段階i−viiiを所定回数反復する段階 を備え、前記の第1と第2のレジスタは、所定回数の反
    復後、シンドローム係数Siに関連の信号を含んでいる請
    求項12に記載の方法。
  15. 【請求項15】前記のエラー評価多項式関数W(x)の
    値を計算する段階がガロアフイールド乗算を含み、この
    ガロアフイールド乗算は、 A.入力信号を受ける入力口と、蓄積された入力信号を出
    力信号として供給する出力口とを有する蓄積手段に入力
    信号を蓄積する段階、そして B.ガロアフイールド乗算器により出力信号を再帰的に乗
    算を施して入力信号を発生する段階 を備える請求項9に記載の方法。
  16. 【請求項16】前記のエラー評価多項式関数W(x)の
    値を計算する段階が、受けたコードワードと関連の信号
    にαiを掛けるガロアフイールド乗算を含み、そしてこ
    のガロアフイールド乗算は、 i.マルチプレクサ内で第1の所定期間中第1の入力信号
    を通し、そして第2の所定期間中第2の入力信号を通し
    て第1の出力信号を得る段階、 ii.ガロアフイールド乗算器内で第1の出力信号に第1
    の所定値を乗じて第2の出力信号をつくる段階、 iii.第1の所定期間中第2の出力信号に第1のレジスタ
    内に蓄積する段階、 iv.ガロアフイールド乗算器内で第2の出力信号に第2
    の所定値を乗じて第4の出力信号をつくる段階、 v.第2の所定時間内に第4の出力信号を第2のレジスタ
    に蓄積する段階、 vi.その蓄積された第3の出力信号を第1の所定期間中
    にマルチプレクサへ結合する段階、 vii.その蓄積された第4の出力信号を第2の所定期間中
    にマルチプレクサへ結合する段階、そして viii.所定回数前記の段階i−viiを反復する段階を備
    え、所定回数の反復後前記の第1と第2のレジスタが、
    エラー評価多項式の係数に関連した信号を含んでいる請
    求項9に記載の方法。
JP50773288A 1987-08-24 1988-08-23 広帯域巾のリード‐ソロモンエンコード、デコード及びエラー修正回路 Expired - Lifetime JP2726902B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8837887A 1987-08-24 1987-08-24
US13220687A 1987-12-21 1987-12-21
US136,206 1987-12-21
US088,378 1987-12-21

Publications (2)

Publication Number Publication Date
JPH02501256A JPH02501256A (ja) 1990-04-26
JP2726902B2 true JP2726902B2 (ja) 1998-03-11

Family

ID=26778592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50773288A Expired - Lifetime JP2726902B2 (ja) 1987-08-24 1988-08-23 広帯域巾のリード‐ソロモンエンコード、デコード及びエラー修正回路

Country Status (2)

Country Link
JP (1) JP2726902B2 (ja)
CA (1) CA1310421C (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2723455B1 (fr) * 1994-08-05 1996-10-31 Sgs Thomson Microelectronics Circuit d'inversion d'elements d'un corps de galois
JP3345385B2 (ja) 2000-01-18 2002-11-18 松下電器産業株式会社 チェンサーチ装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin(July 1984)Vol.27,No.2,P.1308−1309
IEEE Transactions on Computers,Vol.C−33,No.2(Feb.1984)P.178−189

Also Published As

Publication number Publication date
JPH02501256A (ja) 1990-04-26
CA1310421C (en) 1992-11-17

Similar Documents

Publication Publication Date Title
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
US5157669A (en) Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
US5027357A (en) ECC/CRC error detection and correction system
US5659557A (en) Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
EP0567148B1 (en) Operating circuit for galois field
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US5446743A (en) Coefficient updating method and apparatus for Reed-Solomon decoder
US4567594A (en) Reed-Solomon error detecting and correcting system employing pipelined processors
US8812940B2 (en) Programmable error correction capability for BCH codes
JP3970337B2 (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
JPH0831803B2 (ja) 誤り訂正のための方法と装置
US6092233A (en) Pipelined Berlekamp-Massey error locator polynomial generating apparatus and method
JPH10135846A (ja) リードソロモン復号器
KR20040075952A (ko) 인트라-디코더 컴포넌트 블록 메시징
KR20040075954A (ko) 에러 정정 디코더에서의 이중 치엔 탐색 블록
US5365529A (en) Circuitry for detecting and correcting errors in data words occurring in Reed-Solomon coded blocks and determining when errors are uncorrectable by syndrome analysis, Euclid's algorithm and a Chien search
JPH0936753A (ja) 記号長コードに従って冗長情報を発生するためにデータのブロックをエンコードする方法、一連のデータワードとしてエンコーダにより受取られるブロックフォーマット化されたデータを記号長リードソロモンコードに従ってエンコードする方法、およびワード形式エンコーダ
KR100258952B1 (ko) 새로운 다항식 배열 구조를 채용한 리드-솔로몬(rs) 복호기와그 복호방법
KR20040075953A (ko) 에러 정정 디코더용 치엔 탐색 셀
JP3345385B2 (ja) チェンサーチ装置
EP0329775B1 (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit and method
EP1420517A1 (en) Reed-solomon error-correcting circuit, euclid's algorithm and apparatus
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
JP2726902B2 (ja) 広帯域巾のリード‐ソロモンエンコード、デコード及びエラー修正回路
KR100747487B1 (ko) 리드-솔로몬 복호 장치 및 수정된 유클리드 알고리즘연산회로