JP2732531B2 - オンザフライ誤り訂正装置 - Google Patents
オンザフライ誤り訂正装置Info
- Publication number
- JP2732531B2 JP2732531B2 JP63218675A JP21867588A JP2732531B2 JP 2732531 B2 JP2732531 B2 JP 2732531B2 JP 63218675 A JP63218675 A JP 63218675A JP 21867588 A JP21867588 A JP 21867588A JP 2732531 B2 JP2732531 B2 JP 2732531B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- value
- syndrome
- code word
- fly
- 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
Links
- 238000012937 correction Methods 0.000 title claims description 43
- 208000011580 syndromic disease Diseases 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims 5
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011534 incubation Methods 0.000 description 2
- 241001385733 Aesculus indica Species 0.000 description 1
- 101100462600 Solanum lycopersicum PAL5 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は誤り訂正装置に関するものであり、特にデイ
スクドライブを含む磁気記録装置用の誤り訂正に関する
ものである。
スクドライブを含む磁気記録装置用の誤り訂正に関する
ものである。
(従来の技術) 高速の磁気記録装置、特にデイスクドライブ、には
「オンザフライ」誤り訂正はあまり使われていない。そ
れには少なくとも二つの理由がある。コード訂正かつま
たは検出容量を上まわり誤りがあつたときに信頼できな
いこと、誤り訂正に使用する数学が複雑であるため、か
つまたはオンザフライ誤り訂正を実行する数学が極端に
複雑であるがために長い潜伏時間を要することがその理
由である。問題は相互に絡み合う。誤りを処理するため
にコードの容量を増やすと、同時に潜伏時間と複雑さも
増す。
「オンザフライ」誤り訂正はあまり使われていない。そ
れには少なくとも二つの理由がある。コード訂正かつま
たは検出容量を上まわり誤りがあつたときに信頼できな
いこと、誤り訂正に使用する数学が複雑であるため、か
つまたはオンザフライ誤り訂正を実行する数学が極端に
複雑であるがために長い潜伏時間を要することがその理
由である。問題は相互に絡み合う。誤りを処理するため
にコードの容量を増やすと、同時に潜伏時間と複雑さも
増す。
通常完全なセクタを含む各コード語は次のコード語を
読取つて解読する前に解読されて訂正されなければなら
ない。訂正に時間がかかると、読取つて解読すべき次の
コード語がデイスクドライブの読取りヘツドをを通過し
てしまうであろう。すると、そのコード語が再び読取り
ヘツドの下に来る迄デイスクが1回転するのを待たなけ
ればならない。
読取つて解読する前に解読されて訂正されなければなら
ない。訂正に時間がかかると、読取つて解読すべき次の
コード語がデイスクドライブの読取りヘツドをを通過し
てしまうであろう。すると、そのコード語が再び読取り
ヘツドの下に来る迄デイスクが1回転するのを待たなけ
ればならない。
ペイテルのIBM米国特許第4,494,234号と第4,504,948
号は本出願に最も近い先行技術である。これらの特許に
開示してあるのは、オンザフライのマルチバイト誤り訂
正方式であるが、それを実行するハードウエアが極めて
複雑で、数千とはいわないまでも数百の排他的論理和
(「XOR」)ゲートを使つている。
号は本出願に最も近い先行技術である。これらの特許に
開示してあるのは、オンザフライのマルチバイト誤り訂
正方式であるが、それを実行するハードウエアが極めて
複雑で、数千とはいわないまでも数百の排他的論理和
(「XOR」)ゲートを使つている。
(発明の要約) 本発明により提供されるオンザフライ誤り訂正装置は
比較的簡単なハードウエアで構成される。本質的に、解
読時には生成多項式(ジエネレータ多項式)による割算
の剰余を用いて、メモリの中の誤り値と誤り位置を求め
る。あるいはシンドロームを採用してもよい。更に1個
のシンドロームが直接誤り値を与え、剰余がメモリ内の
誤り位置を検索するように、生成多項式を構成してもよ
い。更に、他方のシンドロームとそれに対応するフイー
ルド要素とを掛けて、その結果を誤り値または第1のシ
ンドロームと比較することにより、誤り値が見つかるよ
うに解読器を構成してもよい。
比較的簡単なハードウエアで構成される。本質的に、解
読時には生成多項式(ジエネレータ多項式)による割算
の剰余を用いて、メモリの中の誤り値と誤り位置を求め
る。あるいはシンドロームを採用してもよい。更に1個
のシンドロームが直接誤り値を与え、剰余がメモリ内の
誤り位置を検索するように、生成多項式を構成してもよ
い。更に、他方のシンドロームとそれに対応するフイー
ルド要素とを掛けて、その結果を誤り値または第1のシ
ンドロームと比較することにより、誤り値が見つかるよ
うに解読器を構成してもよい。
インタリーブすることにより、多重誤り訂正が行われ
る。訂正ミスを起こすかもしれない大量の誤りは、訂正
の結果に通常の誤り検出法を適用して検出するのが好ま
しい。こうすれば精度の低いECCの形式を採用すること
ができる。
る。訂正ミスを起こすかもしれない大量の誤りは、訂正
の結果に通常の誤り検出法を適用して検出するのが好ま
しい。こうすれば精度の低いECCの形式を採用すること
ができる。
(実施例) 第1図は本発明によるデイスクドライブのオンザフラ
イ誤り訂正回路のブロツク図である。データはI/Oイン
タフエイス12を介して誤り訂正回路に直列に出入りす
る。データ転送の同期をとるための読取りクロツクと書
き込みクロツクもこのインタフエイスを介して供給さ
れ、サーボクロツクもこのインタフエイスを介してトラ
ツキング制御に使用される。標準読取り/書込み回路24
は変換用ヘツド22を介してデイスクドライブ20と実際の
情報を授受するためのものである。この回路は読取りデ
ータから読取りクロツクをつくる。サーボ位相ロツク発
振器(PLO)46は変換用ヘツド22または別のヘツド(図
示せず、設計上任意選択)からサーボ入力を受けてクロ
ツク制御回路42を経てI/O12にサーボクロツクを出力す
ると共に、読取り/書込み回路24に入力される書込みデ
ータのタイミングをとるために並列/直列変換器28のク
ロツク入力にもサーボクロツクを供給する。この回路の
大部分は通常の回路である。
イ誤り訂正回路のブロツク図である。データはI/Oイン
タフエイス12を介して誤り訂正回路に直列に出入りす
る。データ転送の同期をとるための読取りクロツクと書
き込みクロツクもこのインタフエイスを介して供給さ
れ、サーボクロツクもこのインタフエイスを介してトラ
ツキング制御に使用される。標準読取り/書込み回路24
は変換用ヘツド22を介してデイスクドライブ20と実際の
情報を授受するためのものである。この回路は読取りデ
ータから読取りクロツクをつくる。サーボ位相ロツク発
振器(PLO)46は変換用ヘツド22または別のヘツド(図
示せず、設計上任意選択)からサーボ入力を受けてクロ
ツク制御回路42を経てI/O12にサーボクロツクを出力す
ると共に、読取り/書込み回路24に入力される書込みデ
ータのタイミングをとるために並列/直列変換器28のク
ロツク入力にもサーボクロツクを供給する。この回路の
大部分は通常の回路である。
直列の書込みデータはマルチプレクサ44を介した書込
みクロツクの制御下で、マルチプレクサ26を経由して直
列化回路/並列化回路(SERDES)14に入力される。
みクロツクの制御下で、マルチプレクサ26を経由して直
列化回路/並列化回路(SERDES)14に入力される。
SERDESは書込みデータを1記号ずつ並列にしてラツチ16
に出力する。ラツチ16の出力はFIFOバツフア18とリード
ソロモンECC符号器/解読器30に接続されている。後者3
0は入力記号を生成多項式により割算する。変換用ヘツ
ド22が概ねデータを書込む位置にあるということをサー
ボPLOが示すと、データ記号がFIFO18から並列/直列変
換器(PISO)28へ受信した順序で出力される。並列/直
列変換器28はデータを直列に読取り/書込み回路24に供
給する。あらかじめ定められた数の記号から成るデータ
セグメントが1個終る毎に、データセグメントのデータ
記号を生成多項式で割つた剰余が符号器/解読器30から
PISO28に出力され、デイスクに記録されるデータセグメ
ントに付加される。本実施例では単一誤り訂正コードを
採用しており、この剰余は2個のチエツク語記号から成
る。
に出力する。ラツチ16の出力はFIFOバツフア18とリード
ソロモンECC符号器/解読器30に接続されている。後者3
0は入力記号を生成多項式により割算する。変換用ヘツ
ド22が概ねデータを書込む位置にあるということをサー
ボPLOが示すと、データ記号がFIFO18から並列/直列変
換器(PISO)28へ受信した順序で出力される。並列/直
列変換器28はデータを直列に読取り/書込み回路24に供
給する。あらかじめ定められた数の記号から成るデータ
セグメントが1個終る毎に、データセグメントのデータ
記号を生成多項式で割つた剰余が符号器/解読器30から
PISO28に出力され、デイスクに記録されるデータセグメ
ントに付加される。本実施例では単一誤り訂正コードを
採用しており、この剰余は2個のチエツク語記号から成
る。
読取り期間中は本質的に逆の処理が行われる。デイス
クからデータを読取るには、まず読取り/書込み回路24
はデータセクタの始まりを表わす同期マークを検出す
る。これで読取りタイミングと読取りクロツクを初期化
する。続いてクロツク制御回路42を介した読取りクロツ
クの制御下で、直列の読取りデータがマルチプレクサ26
を経由してSERDES14に入力される。
クからデータを読取るには、まず読取り/書込み回路24
はデータセクタの始まりを表わす同期マークを検出す
る。これで読取りタイミングと読取りクロツクを初期化
する。続いてクロツク制御回路42を介した読取りクロツ
クの制御下で、直列の読取りデータがマルチプレクサ26
を経由してSERDES14に入力される。
SERDES14は直列データを並列に変換して読取りデータ記
号をラツチ16を経由して FIFO18と符号器/解読器30に出力する。後者の回路30は
受信したチエツク語を含むコード語記号を生成多項式で
割算する。この割算の後、剰余(とシンドローム)によ
り誤りの位置と値の両方が単一に決まる。剰余(技術的
にはシンドロームとは異なるが)はシンドロームラツチ
32にラツチされる。ラツチ32の出力は特定の剰余と単一
の関係であからじめ定められた誤り値と誤り位置とを有
するメモリROM34の番地を指す。(あるいは、シンドロ
ームを用いて誤り値と位置を求めてもよい。このことは
後で第7図と第8図に関して説明する。)検索された誤
り値は排他的オア(XOR)アレイ38の1組の入力に出力
される。誤り位置は位置比較器36に出力される。その後
で、FIFO18に含まれるデータ記号が1個ずつとり出され
てXORアレイ38を介してクロツクされ、同時に位置比較
器36もクロツクされる。(位置比較器36は好ましくはカ
ウンタであり、ロードされた数から最高の計数値まで計
数する。)誤つた記号のクロツクが終了したことを位置
比較器36が示すと、XORの出力が可能となる(XOR38のEN
端子)。XORの出力は誤つた読取り記号に代わつて訂正
された読取りデータ記号である。読取りデータ記号と代
替の訂正された読取りデータ記号とは並列/直列変換器
(PISO)40に入力され、PISO40はそれらの記号を直列に
変換してI/O12の読取りデータ出力として出力する。
号をラツチ16を経由して FIFO18と符号器/解読器30に出力する。後者の回路30は
受信したチエツク語を含むコード語記号を生成多項式で
割算する。この割算の後、剰余(とシンドローム)によ
り誤りの位置と値の両方が単一に決まる。剰余(技術的
にはシンドロームとは異なるが)はシンドロームラツチ
32にラツチされる。ラツチ32の出力は特定の剰余と単一
の関係であからじめ定められた誤り値と誤り位置とを有
するメモリROM34の番地を指す。(あるいは、シンドロ
ームを用いて誤り値と位置を求めてもよい。このことは
後で第7図と第8図に関して説明する。)検索された誤
り値は排他的オア(XOR)アレイ38の1組の入力に出力
される。誤り位置は位置比較器36に出力される。その後
で、FIFO18に含まれるデータ記号が1個ずつとり出され
てXORアレイ38を介してクロツクされ、同時に位置比較
器36もクロツクされる。(位置比較器36は好ましくはカ
ウンタであり、ロードされた数から最高の計数値まで計
数する。)誤つた記号のクロツクが終了したことを位置
比較器36が示すと、XORの出力が可能となる(XOR38のEN
端子)。XORの出力は誤つた読取り記号に代わつて訂正
された読取りデータ記号である。読取りデータ記号と代
替の訂正された読取りデータ記号とは並列/直列変換器
(PISO)40に入力され、PISO40はそれらの記号を直列に
変換してI/O12の読取りデータ出力として出力する。
コード語のうち情報部分だけがFIFO18に保持される
が、符号器/解読器30に入力されるのはチエツク語を含
む全コード語である。
が、符号器/解読器30に入力されるのはチエツク語を含
む全コード語である。
好ましい実施例では、各記号は5ビツトから成る。し
たがつて、SERDES14の出力は5ビツトであり、ラツチ16
は5ビツトであり、すべてのPISO28,40は5ビツトを直
列に変換する。符号化と解読後の剰余−チエツク語は2
個の5ビツト記号から成る。
たがつて、SERDES14の出力は5ビツトであり、ラツチ16
は5ビツトであり、すべてのPISO28,40は5ビツトを直
列に変換する。符号化と解読後の剰余−チエツク語は2
個の5ビツト記号から成る。
ゼロでない解読された剰余は各々1個の誤り値と位置
とに単一に対応している。このような可能性は210通り
ある。したがつてROM34は1024個の10ビツトの定数を含
み、各10ビツトは5ビツトの誤り値と5ビツトの位置番
号とから成る。これらの定数は計算することもできる
が、符号器または符号器に類するものを用いてコード語
をつくり、コード語の中にすべての既知の可能性のある
誤りを含ませて、誤りのあるコード語を各々生成多項式
で割つて、剰余に既知の誤り値と位置とを付随させるこ
とにより定数を決めるのが好ましい。
とに単一に対応している。このような可能性は210通り
ある。したがつてROM34は1024個の10ビツトの定数を含
み、各10ビツトは5ビツトの誤り値と5ビツトの位置番
号とから成る。これらの定数は計算することもできる
が、符号器または符号器に類するものを用いてコード語
をつくり、コード語の中にすべての既知の可能性のある
誤りを含ませて、誤りのあるコード語を各々生成多項式
で割つて、剰余に既知の誤り値と位置とを付随させるこ
とにより定数を決めるのが好ましい。
別の好ましい実施例では、2個のコード語をインタリ
ーブする。こうすることにより2個の誤り訂正用コード
を用意しなくとも隣り合う2個の記号に含まれるバース
ト誤りを検出することが可能になる。
ーブする。こうすることにより2個の誤り訂正用コード
を用意しなくとも隣り合う2個の記号に含まれるバース
ト誤りを検出することが可能になる。
このインタリーブ方式では、各コード語の情報部分は
16個の記号から成り、2個のインタリーブコード語には
合計32個のデータ記号が含まれる。
16個の記号から成り、2個のインタリーブコード語には
合計32個のデータ記号が含まれる。
第2図にインターリーブ構成を示す。各セクタの始ま
りは同期マークであり、このビツトパターンはあらかじ
め定められる。セクタの同期マーク自体最初の偶数デー
タ記号から成る。この次にデータ記号1−31とチエツク
語記号0−3が続く。各奇数記号には1個のコード語が
付いている。各偶数記号には別のコード語が付いてい
る。2個のコード語はコード語群から成り、同時に解読
される。
りは同期マークであり、このビツトパターンはあらかじ
め定められる。セクタの同期マーク自体最初の偶数デー
タ記号から成る。この次にデータ記号1−31とチエツク
語記号0−3が続く。各奇数記号には1個のコード語が
付いている。各偶数記号には別のコード語が付いてい
る。2個のコード語はコード語群から成り、同時に解読
される。
各データセクタは好ましくは複数個のインタリーブコ
ード語群を含み、その数は設計上選ばれる。本発明では
読取り、解読、訂正をオンザフライ方式で実行すること
が可能なので、コード語群間に境界はない。
ード語群を含み、その数は設計上選ばれる。本発明では
読取り、解読、訂正をオンザフライ方式で実行すること
が可能なので、コード語群間に境界はない。
潜伏期間は1コード語群、この実施例では36記号を解
読する時間プラス第1図の素子32,34,38,40のゲート遅
延時間により決まる。第2図では潜伏期間は読取りデー
タ線と内部読取りデータ線との間隔により示されてい
る。また第2図では、2個の連続する記号S1とS2に仮の
6ビツトの誤りがあり、別々の偶数訂正タイミングパル
スと奇数訂正タイミングパルスに応答して別々の位置解
読回路から出力される誤りを訂正されたデータが示され
ている。
読する時間プラス第1図の素子32,34,38,40のゲート遅
延時間により決まる。第2図では潜伏期間は読取りデー
タ線と内部読取りデータ線との間隔により示されてい
る。また第2図では、2個の連続する記号S1とS2に仮の
6ビツトの誤りがあり、別々の偶数訂正タイミングパル
スと奇数訂正タイミングパルスに応答して別々の位置解
読回路から出力される誤りを訂正されたデータが示され
ている。
第3図は好ましい実施例によるインタリーブ解読器の
ブロツク図である。SERDES14(第1図)から出力された
データは読取り/書込み回路24(第1図)から出力され
る読取りクロツクに応答してクロツク制御回路42が発す
るクロツクの制御下で、ラツチ14に入力される。ラツチ
14の入力は両方のインタリーブコード語を含む。これら
はそのままの形でプログラム論理アレイ(PAL)56に入
力される。PAL56はそれらを生成多項式で割る。また、
2個のコード語のデータ部分はクロツク制御回路42の偶
数クロツクと奇数クロツクの制御下で2個のFIFO52,54
に別々に分けられて入力される。
ブロツク図である。SERDES14(第1図)から出力された
データは読取り/書込み回路24(第1図)から出力され
る読取りクロツクに応答してクロツク制御回路42が発す
るクロツクの制御下で、ラツチ14に入力される。ラツチ
14の入力は両方のインタリーブコード語を含む。これら
はそのままの形でプログラム論理アレイ(PAL)56に入
力される。PAL56はそれらを生成多項式で割る。また、
2個のコード語のデータ部分はクロツク制御回路42の偶
数クロツクと奇数クロツクの制御下で2個のFIFO52,54
に別々に分けられて入力される。
PAL56は2個の生成多項式割算器80,82(第4図)を含
み、ここではクロツク制御回路42の偶数信号と奇数信号
とにより入力ラツチ88,92を交互に動作可能にすること
により、入力コード語群がその成分に分けられてラツチ
88,92に入力される。各生成多項式割算器は同じ構造を
しており、ラツチ88,92の出力はXORゲート84の入力に接
続され、XORゲート84の他方の入力はXORゲート86の出力
に接続され、XORゲート84の出力はレジスタROと出力ラ
ツチ90とに接続されている。ROはガロア掛算器g1に接続
され、掛算器g1の出力はXOR86の一方の入力と、レジス
タR1とに接続されている。R1の出力はガロア掛算器g0に
より掛算されてXOR86の第2の入力に供給される。この
素子構成により、 X2+g1X+g0 という形の生成多項式によりガロア割算が行われる。
み、ここではクロツク制御回路42の偶数信号と奇数信号
とにより入力ラツチ88,92を交互に動作可能にすること
により、入力コード語群がその成分に分けられてラツチ
88,92に入力される。各生成多項式割算器は同じ構造を
しており、ラツチ88,92の出力はXORゲート84の入力に接
続され、XORゲート84の他方の入力はXORゲート86の出力
に接続され、XORゲート84の出力はレジスタROと出力ラ
ツチ90とに接続されている。ROはガロア掛算器g1に接続
され、掛算器g1の出力はXOR86の一方の入力と、レジス
タR1とに接続されている。R1の出力はガロア掛算器g0に
より掛算されてXOR86の第2の入力に供給される。この
素子構成により、 X2+g1X+g0 という形の生成多項式によりガロア割算が行われる。
好ましい実施例では、生成多項式g(X)は根α15と
α16から X2+α1X+α0 であり、αiはP(X)=X5+X2+1を法とするGF
(25)のm多重(m−tuple)フイールド要素である。
したがつて、g1=α2=00100、g0=α0=00001であ
り、例えば00100はm多重フイールド要素 αi=A4α4+A3α3+A2α2+A1α1+A0α0 の係数であり、αはP(X)の根である、すなわちP
(α)=α5+α2+1=0である。
α16から X2+α1X+α0 であり、αiはP(X)=X5+X2+1を法とするGF
(25)のm多重(m−tuple)フイールド要素である。
したがつて、g1=α2=00100、g0=α0=00001であ
り、例えば00100はm多重フイールド要素 αi=A4α4+A3α3+A2α2+A1α1+A0α0 の係数であり、αはP(X)の根である、すなわちP
(α)=α5+α2+1=0である。
それぞれのコード語のすべての記号を(RO)に入力し
終つた後、もう二種類のクロツクを用いて夫々のラツチ
90と94で剰余を利用することができる。これらのクロツ
クの間、タイミング信号CWアウトがラツチ90,94をクロ
ツクする。PAL56の出力は両ラツチ90,94から出力される
チエツク語出力として供給される。ラツチ90と94は同じ
出力を共有するので、前述の偶数信号と奇数信号により
交互に作動可能になる。このチエツク語出力は第1図に
示すように符号化中PISO28に供給されると共に、第3図
に示す4個の「シンドローム」ラツチ58−64にも供給さ
れる。偶数チエツク語の2個の記号は連続する信号CW1
とCW2に応答してラツチ58と60によりラツチされる。奇
数チエツク語の2個の記号は連続する信号CW1とCW2とに
応答してラツチ62と64にラツチされる。ラツチ58,60,6
2,64にチエツク語記号のロードを終了後、それらの出力
は一度に2個ずつROM66と68の10ビツトのアドレス入力
線に供給される。最初に偶数信号に同調してラツチ58と
60の出力が供給される。次に奇数信号に同調してラツチ
62と64の出力が供給される。各ROM66,68は1024×5のラ
ンダムアクセスメモリである。ROM66の内容は1024個の
5ビツト誤り値から成り、これらが10ビツトのアドレス
線に入力するチエツク語により検索される。ROM68の内
容は1024個の5ビツト誤り位置から成り、これらが10ビ
ツトのアドレス線に入力するチエツク語により検索され
る。好ましい実施例では16個のデータ記号だけが用いら
れてコード語の最長が31記号であるが、もしそのように
コード語記号を最大可能な数よりも少い数しか使用して
なければ、可能な誤り値と誤り位置の数は少ないのであ
るから、その分各ROMの内容を減らすことができる。
終つた後、もう二種類のクロツクを用いて夫々のラツチ
90と94で剰余を利用することができる。これらのクロツ
クの間、タイミング信号CWアウトがラツチ90,94をクロ
ツクする。PAL56の出力は両ラツチ90,94から出力される
チエツク語出力として供給される。ラツチ90と94は同じ
出力を共有するので、前述の偶数信号と奇数信号により
交互に作動可能になる。このチエツク語出力は第1図に
示すように符号化中PISO28に供給されると共に、第3図
に示す4個の「シンドローム」ラツチ58−64にも供給さ
れる。偶数チエツク語の2個の記号は連続する信号CW1
とCW2に応答してラツチ58と60によりラツチされる。奇
数チエツク語の2個の記号は連続する信号CW1とCW2とに
応答してラツチ62と64にラツチされる。ラツチ58,60,6
2,64にチエツク語記号のロードを終了後、それらの出力
は一度に2個ずつROM66と68の10ビツトのアドレス入力
線に供給される。最初に偶数信号に同調してラツチ58と
60の出力が供給される。次に奇数信号に同調してラツチ
62と64の出力が供給される。各ROM66,68は1024×5のラ
ンダムアクセスメモリである。ROM66の内容は1024個の
5ビツト誤り値から成り、これらが10ビツトのアドレス
線に入力するチエツク語により検索される。ROM68の内
容は1024個の5ビツト誤り位置から成り、これらが10ビ
ツトのアドレス線に入力するチエツク語により検索され
る。好ましい実施例では16個のデータ記号だけが用いら
れてコード語の最長が31記号であるが、もしそのように
コード語記号を最大可能な数よりも少い数しか使用して
なければ、可能な誤り値と誤り位置の数は少ないのであ
るから、その分各ROMの内容を減らすことができる。
偶数の誤り値はラツチ70に一時的にラツチされて、偶
数誤り値と奇数誤り値の両方がPAL56に供給され、続い
てグループの中の偶数コード語と奇数コードに対して誤
りを含む読取りデータ記号にガロア加算が行われる。偶
数と奇数の誤り位置は夫々加算カウンタ74と76に入力さ
れる。
数誤り値と奇数誤り値の両方がPAL56に供給され、続い
てグループの中の偶数コード語と奇数コードに対して誤
りを含む読取りデータ記号にガロア加算が行われる。偶
数と奇数の誤り位置は夫々加算カウンタ74と76に入力さ
れる。
次に、FIFO52と54の内容は共に偶数と奇数信号の制御
下で交互にクロツク出力されて、PAL56とラツチ78に入
力される。ラツチ78のイネーブル入力(EN)はPAL56に
接続されている。通常、ラツチ78に入力された各読取り
データ記号はPISO40にクロツク出力される。しかし、も
しカウンタ74または76が誤り位置を示したならば、PAL5
6はラツチ78の出力を禁止し、訂正された読取りデータ
の出力をPISO40に供給する。
下で交互にクロツク出力されて、PAL56とラツチ78に入
力される。ラツチ78のイネーブル入力(EN)はPAL56に
接続されている。通常、ラツチ78に入力された各読取り
データ記号はPISO40にクロツク出力される。しかし、も
しカウンタ74または76が誤り位置を示したならば、PAL5
6はラツチ78の出力を禁止し、訂正された読取りデータ
の出力をPISO40に供給する。
第4図はPAL56に含まれるこのプロセスの部分を示
す。偶数と奇数の誤り値96がXORアレイ102の一方の入力
として供給される。他方の入力はFIFO52と54の出力であ
る。誤り位置が決定されると、誤りのある記号がXORア
レイ102のこの入力に存在している。XORアレイ102の出
力はオアゲート100の制御下で出力可能となる。オアゲ
ート100の入力はカウンタ74と76から出力される偶数ま
たは奇数訂正可能信号である。オアゲート100の出力は
また 読取りデータラツチ78を出力不能にする。
す。偶数と奇数の誤り値96がXORアレイ102の一方の入力
として供給される。他方の入力はFIFO52と54の出力であ
る。誤り位置が決定されると、誤りのある記号がXORア
レイ102のこの入力に存在している。XORアレイ102の出
力はオアゲート100の制御下で出力可能となる。オアゲ
ート100の入力はカウンタ74と76から出力される偶数ま
たは奇数訂正可能信号である。オアゲート100の出力は
また 読取りデータラツチ78を出力不能にする。
XORアレイ102の出力は訂正されたデータをPISO40に供給
することにより、誤りのある記号の代替となる。
することにより、誤りのある記号の代替となる。
もしコード語に誤りがなければ、生成多項式による割
算の剰余はゼロになる。ゼロの場合には、カウンタ74ま
たは76で計数されない誤り位置を検索することになろ
う。あるいは剰余ゼロをすべて検出してカウンタの作動
を禁止する手段(図示せず)を設けてもよい。
算の剰余はゼロになる。ゼロの場合には、カウンタ74ま
たは76で計数されない誤り位置を検索することになろ
う。あるいは剰余ゼロをすべて検出してカウンタの作動
を禁止する手段(図示せず)を設けてもよい。
第5図に別の構成を示すが、ここではシンドロームS0
が直接誤り値を生成するように生成多項式の根が選ばれ
る。この図では偶数コード語が示されているが、好まし
い実施例では同じ構成が奇数コード語にも適用される。
この構成では、根はα0とα1であり、生成多項式は G(X)=X2+α18X+α1 g(1)=α18=00011 g0=α1=00010 となる。
が直接誤り値を生成するように生成多項式の根が選ばれ
る。この図では偶数コード語が示されているが、好まし
い実施例では同じ構成が奇数コード語にも適用される。
この構成では、根はα0とα1であり、生成多項式は G(X)=X2+α18X+α1 g(1)=α18=00011 g0=α1=00010 となる。
ここで、コード語のすべての記号は図の生成多項式割
算器を介してクロツクされ、最後の2入力がゼロにセツ
トされる。R0とR1の内容の和は(X−α0)で割つた剰
余を表わし、これがシンドロームS0である。これらのレ
ジスタの出力をXORアレイ106に供給することにより和が
つくられる。その出力はS0は誤り値である。
算器を介してクロツクされ、最後の2入力がゼロにセツ
トされる。R0とR1の内容の和は(X−α0)で割つた剰
余を表わし、これがシンドロームS0である。これらのレ
ジスタの出力をXORアレイ106に供給することにより和が
つくられる。その出力はS0は誤り値である。
前述のように、剰余は誤り位置をユニークに規定す
る。ここで剰余はレジスタR0とR1の出力を介してROM68
のアドレス入力に供給され、前述のように誤り位置を検
索する。
る。ここで剰余はレジスタR0とR1の出力を介してROM68
のアドレス入力に供給され、前述のように誤り位置を検
索する。
更に別の実施例では、第6図に示すように同じ生成多
項式を用いてシンドロームS1つくり、これが誤り位置を
表わす。こうすることにより誤り位置ROM68が必要でな
くなる。
項式を用いてシンドロームS1つくり、これが誤り位置を
表わす。こうすることにより誤り位置ROM68が必要でな
くなる。
前述のように、XOR106の出力は誤り値を与える。剰余
を(X−α1)で割つてシンドロームS1をつくる。乗数
g0の係数はα1である。したがつて(X−α1)で割つ
た剰余はたまたまR0の出力と乗数g0の出力の和となる。
この和はXORアレイ108により供給され、その入力は前述
のR0とg0の出力である。
を(X−α1)で割つてシンドロームS1をつくる。乗数
g0の係数はα1である。したがつて(X−α1)で割つ
た剰余はたまたまR0の出力と乗数g0の出力の和となる。
この和はXORアレイ108により供給され、その入力は前述
のR0とg0の出力である。
誤り位置はS1とαi、i=1,2,…31の積を位置iにお
ける誤り値を比較することにより、S1を用いて見つける
こともできる。積はS1とα1を掛けることにより決めら
れる。
ける誤り値を比較することにより、S1を用いて見つける
こともできる。積はS1とα1を掛けることにより決めら
れる。
GF(25)におけるコード語はフイード要素と同じ数、
すなわち31個の記号を有する。しかし好ましい実施例で
は、ゼロでないのはすべての可能なコード語記号の数よ
りも少ない。具体的には、18個だけであり、そのうち最
上位の16個だけがデータを含む。したがつてコード語の
うち31−18=13個の最上位の記号は誤りのあるデータを
訂正するのに重要ではない。したがつて、最初のデータ
誤り可能な位置は14であり、最初の13個の位置は無視す
ることができる。このことを実行するには、好ましくは
S1とα13とを掛ける、あるいはS1にα1を13回掛ける。
前置掛算器110がS1とα13の掛算を行う。
すなわち31個の記号を有する。しかし好ましい実施例で
は、ゼロでないのはすべての可能なコード語記号の数よ
りも少ない。具体的には、18個だけであり、そのうち最
上位の16個だけがデータを含む。したがつてコード語の
うち31−18=13個の最上位の記号は誤りのあるデータを
訂正するのに重要ではない。したがつて、最初のデータ
誤り可能な位置は14であり、最初の13個の位置は無視す
ることができる。このことを実行するには、好ましくは
S1とα13とを掛ける、あるいはS1にα1を13回掛ける。
前置掛算器110がS1とα13の掛算を行う。
掛算されたシンドロームS1・α13は誤り位置設定回路
128入力され、スイツチ112を経てレジスタR3に供給され
る。その後スイツチ112は掛算ループ側に閉じる。掛算
ループはレジスタR3とα1掛算器116を含む。R3の出力
はα1を掛けられてXORアレイ118とR3に入力される。XO
Rアレイ118の他方の入力はXORアレイ106から出力される
誤り値である。もし掛算された誤り位置と誤り値とが等
しければ、対応するデータ記号には誤りがある。また、
もし二つの入力が等しければ、XORアレイの出力はすべ
てゼロになる。これはノアゲート120で検査される。ノ
アゲート120はすべての入力がゼロのときのみハイにな
る。
128入力され、スイツチ112を経てレジスタR3に供給され
る。その後スイツチ112は掛算ループ側に閉じる。掛算
ループはレジスタR3とα1掛算器116を含む。R3の出力
はα1を掛けられてXORアレイ118とR3に入力される。XO
Rアレイ118の他方の入力はXORアレイ106から出力される
誤り値である。もし掛算された誤り位置と誤り値とが等
しければ、対応するデータ記号には誤りがある。また、
もし二つの入力が等しければ、XORアレイの出力はすべ
てゼロになる。これはノアゲート120で検査される。ノ
アゲート120はすべての入力がゼロのときのみハイにな
る。
各データ記号(偶数または奇数)がPISO40に進もうと
するとき、最初にラツチ78に入力されると共にXORアレ
イ38(第1図)に供給される。第6図には偶数部分104
だけが示されている。XORアレイ104の他方の入力は対応
する偶数または奇数の誤り値である。第6図では、XOR
アレイ106から出力される誤り値はXOR126に入力され、X
OR126の出力はゲートアレイ124に入力される。ノア120
が偶数コード語の誤り位置を検出したことを示したと
き、ゲートアレイ124の出力が可能になる。この出力は
第3図の訂正された読取りデータに接続されている。同
時に、ノア120の出力はまたラツチ78にも接続されてお
り、偶数の誤り位置が発見されたときラツチ78の出力を
不能にする。この結果、読取りデータの代わりに訂正さ
れた読取りデータがPISO40の入力に供給される。
するとき、最初にラツチ78に入力されると共にXORアレ
イ38(第1図)に供給される。第6図には偶数部分104
だけが示されている。XORアレイ104の他方の入力は対応
する偶数または奇数の誤り値である。第6図では、XOR
アレイ106から出力される誤り値はXOR126に入力され、X
OR126の出力はゲートアレイ124に入力される。ノア120
が偶数コード語の誤り位置を検出したことを示したと
き、ゲートアレイ124の出力が可能になる。この出力は
第3図の訂正された読取りデータに接続されている。同
時に、ノア120の出力はまたラツチ78にも接続されてお
り、偶数の誤り位置が発見されたときラツチ78の出力を
不能にする。この結果、読取りデータの代わりに訂正さ
れた読取りデータがPISO40の入力に供給される。
偶数記号に対してPISO40とラツチ78がクロツクされる
度毎に、R3がクロツクされてS1の新しいべき数がロード
され、XORアレイ118の入力をS1の新しいべき数に置き換
える。このプロセスは偶数コード語がすべて処理し終わ
る迄続けられる。
度毎に、R3がクロツクされてS1の新しいべき数がロード
され、XORアレイ118の入力をS1の新しいべき数に置き換
える。このプロセスは偶数コード語がすべて処理し終わ
る迄続けられる。
第6図に示した回路は偶数コード語用だけである。同
じことが奇数コード語にもくり返される。対応する偶数
または奇数記号がラツチ78に存在しているときのみノア
ゲート120の出力を可能とする手段を各々の回路が有す
る。
じことが奇数コード語にもくり返される。対応する偶数
または奇数記号がラツチ78に存在しているときのみノア
ゲート120の出力を可能とする手段を各々の回路が有す
る。
第7図は第5図に示した偶数の解読器部分の変形を示
す。剰余同様シンドロームの組は一個の誤り値と単一の
相関があるので、それらはXOR106(S0)と108(S1)か
らROM68に供給され、付随する誤り位置を調べる。
す。剰余同様シンドロームの組は一個の誤り値と単一の
相関があるので、それらはXOR106(S0)と108(S1)か
らROM68に供給され、付随する誤り位置を調べる。
第8図は第5図、第7図、第3図の変形を示す。ここ
ではあらかじめ付随関係をつけられた誤り値と位置の両
方をROM66と68から夫々検索するのにシンドロームが採
用されている。
ではあらかじめ付随関係をつけられた誤り値と位置の両
方をROM66と68から夫々検索するのにシンドロームが採
用されている。
これらの図に示すように、シンドロームは剰余を生成
多項式の根で割ることによりつくられる。コード語から
シンドロームを決定する他の方法もある。例えばフリツ
シユの米国特許第4,584,686号に示すように、コード語
自体を生成多項式の根で割る方法がある。
多項式の根で割ることによりつくられる。コード語から
シンドロームを決定する他の方法もある。例えばフリツ
シユの米国特許第4,584,686号に示すように、コード語
自体を生成多項式の根で割る方法がある。
第9図はインタリーブ解読器の他の実施例で、第3図
と異なる点はラツチ78が除かれていることである。ここ
では偶数と奇数の記号は共に前述のようにPAL56に供給
され、もし記号に誤りがなければそのまま出力される
が、誤りがあれば訂正されて出力される。
と異なる点はラツチ78が除かれていることである。ここ
では偶数と奇数の記号は共に前述のようにPAL56に供給
され、もし記号に誤りがなければそのまま出力される
が、誤りがあれば訂正されて出力される。
第10図はこの変形に別のインタリーブ符号器/解読器
80が加えられている。ここでは、FIFOから出力される偶
数と奇数の記号は共にXOR102に入力される。他方の入力
はゲート96から入力される。偶数か奇数がいずれか一方
の誤り位置がカウンタ74と76(第3図または第9図)に
より決定されたとき、オアゲート100により動作可能に
されなければ、ゲート96の出力は通常すべてゼロであ
る。オアゲート100により動作可能になつたとき、ゲー
ト96に存在している偶数または奇数の誤り値はXORアレ
イ102の他方の入力に供給され、そこでFIFOの誤りのあ
るデータ記号が訂正される。どちらの場合も、XORの結
果は正しく、PISO40に送られる。
80が加えられている。ここでは、FIFOから出力される偶
数と奇数の記号は共にXOR102に入力される。他方の入力
はゲート96から入力される。偶数か奇数がいずれか一方
の誤り位置がカウンタ74と76(第3図または第9図)に
より決定されたとき、オアゲート100により動作可能に
されなければ、ゲート96の出力は通常すべてゼロであ
る。オアゲート100により動作可能になつたとき、ゲー
ト96に存在している偶数または奇数の誤り値はXORアレ
イ102の他方の入力に供給され、そこでFIFOの誤りのあ
るデータ記号が訂正される。どちらの場合も、XORの結
果は正しく、PISO40に送られる。
また第10図にも別の好ましい符号器/解読器80が示さ
れている。これは第4図の符号器/解読器対80と82の置
き換えである。
れている。これは第4図の符号器/解読器対80と82の置
き換えである。
この図では、レジスタR0−R1とR2−R3は2個のアレイ
セルを有するシフトレジスタである。本質的に、各クロ
ツク毎に、R0は入力の5ビツトをコピーし、R1はR0の5
ビツトをコピーして出力を置き換える。R2−R3は同じよ
うに動作する。このようにして、両方のインタリーブデ
ータセグメントまたはコード語は各クロツク毎に入力ラ
ツチ88を経由して入力されるが、シフトレジスタR0−R1
とR2−R3により2個の別々のコード語に分けられる。出
力も同じである。この構成では掛算器g0,g1などを必要
としない。
セルを有するシフトレジスタである。本質的に、各クロ
ツク毎に、R0は入力の5ビツトをコピーし、R1はR0の5
ビツトをコピーして出力を置き換える。R2−R3は同じよ
うに動作する。このようにして、両方のインタリーブデ
ータセグメントまたはコード語は各クロツク毎に入力ラ
ツチ88を経由して入力されるが、シフトレジスタR0−R1
とR2−R3により2個の別々のコード語に分けられる。出
力も同じである。この構成では掛算器g0,g1などを必要
としない。
第11図は第6図の誤り位置設定回路の好ましい変形で
あり、第10図のシフトレジスタを採用している。ここで
は、誤り位置設定回路128のR3はシフトレジスタR4−R5
で置き換えられている。R4−R5はシフトレジスタR0−R1
とR2−R3と同じ働らきをする。代替のクロツクにより、
偶数または奇数の誤り位置がノアゲート120の出力から
得られ、誤り値がXORアレイ106の出力から得られる。も
し誤り位置が存在していることをノアゲート120が示せ
ば、ゲート124を動作可能にして、XORアレイ126へ誤り
値を供給する。XOR126は誤つているデータ記号を訂正す
る。しかし、もし誤り位置が存在しなければ、ゲート12
4は動作可能にならず、出力はすべてゼロであり、FIFO
から出力されるデータは訂正されないままでXOR126を通
過する。
あり、第10図のシフトレジスタを採用している。ここで
は、誤り位置設定回路128のR3はシフトレジスタR4−R5
で置き換えられている。R4−R5はシフトレジスタR0−R1
とR2−R3と同じ働らきをする。代替のクロツクにより、
偶数または奇数の誤り位置がノアゲート120の出力から
得られ、誤り値がXORアレイ106の出力から得られる。も
し誤り位置が存在していることをノアゲート120が示せ
ば、ゲート124を動作可能にして、XORアレイ126へ誤り
値を供給する。XOR126は誤つているデータ記号を訂正す
る。しかし、もし誤り位置が存在しなければ、ゲート12
4は動作可能にならず、出力はすべてゼロであり、FIFO
から出力されるデータは訂正されないままでXOR126を通
過する。
本発明の思想と範囲内で当業者は他の変形を考え得る
であろう。
であろう。
第1図は本発明の好ましい一実施例のブロツク図であ
る。第2図は6ビツトの誤りの訂正を示す好ましいイン
タリーブ構成のタイミング図である。第3図は本発明に
よるインタリーブ解読器である。第4図は第3図のプロ
グラム論理アレイの中身のブロツク図である。第5図は
別の解読器の構成であつて、シンドロームS0が誤り値を
与える。第6図は別の解読器の構成であつて、シンドロ
ームS0が誤り値を与え、シンドロームS1は誤り位置設定
回路と一緒に誤り位置を与える。第7図は別の解読器の
構成であつて、シンドロームS0が誤り値を与え、両シン
ドロームがメモリ内の誤り位置を検索する。第8図は別
の解読器の構成であつて、両シンドロームがメモリ内の
誤り値と位置の両方を検索する。第9図は別の好ましい
実施例であり、すべてのFIFOのデータがPLAのXORゲート
を通る。第10図はインタリーブ符号器/解読器の他の好
ましい実施例である。第11図はインタリーブ符号器/解
読器と訂正回路の他の好ましい実施例である。
る。第2図は6ビツトの誤りの訂正を示す好ましいイン
タリーブ構成のタイミング図である。第3図は本発明に
よるインタリーブ解読器である。第4図は第3図のプロ
グラム論理アレイの中身のブロツク図である。第5図は
別の解読器の構成であつて、シンドロームS0が誤り値を
与える。第6図は別の解読器の構成であつて、シンドロ
ームS0が誤り値を与え、シンドロームS1は誤り位置設定
回路と一緒に誤り位置を与える。第7図は別の解読器の
構成であつて、シンドロームS0が誤り値を与え、両シン
ドロームがメモリ内の誤り位置を検索する。第8図は別
の解読器の構成であつて、両シンドロームがメモリ内の
誤り値と位置の両方を検索する。第9図は別の好ましい
実施例であり、すべてのFIFOのデータがPLAのXORゲート
を通る。第10図はインタリーブ符号器/解読器の他の好
ましい実施例である。第11図はインタリーブ符号器/解
読器と訂正回路の他の好ましい実施例である。
フロントページの続き (72)発明者 ポール ツアング アメリカ合衆国 ミネソタ州 プリモ ス,トウェンティエイトス アベニュー ノース 10310 (56)参考文献 特開 昭59−165541(JP,A) 特開 平1−155721(JP,A) 米国特許4397022(US,A) 嵩忠雄 外3名「符号理論」初版、コ ロナ社、昭和50年2月、P.338−339
Claims (9)
- 【請求項1】オンザフライ誤り訂正装置であって、 エンコードされた符号ワードをデータ記憶装置から読み
出し、前記符号ワードをシンボルごとにバッファ及び割
算手段に同時に供給する手段を含み、 前記割算手段は、前記エンコードされた符号ワードをそ
の生成多項式で割算するものであって、少なくとも2つ
のレジスタと、相当する数のガロアフィールド掛算器と
を含み、前記符号ワードの全てのシンボルが割算された
後で前記レジスタにおける結果が剰余を含み、前記オン
ザフライ誤り訂正装置は、 前記符号ワードの全てのシンボルが割算された後で、前
記割算手段のレジスタに応答して、メモリにおいて誤り
位置と誤り値を検索し、誤り値をラッチに出力するとと
もに誤り位置をカウンタに出力する手段と、 前記ラッチ、前記カウンタ、前記バッファに応答して、
前記シンボルが前記バッファを通過する際にクロックが
供給されるのに伴って前記カウンタにクロックを供給
し、前記カウンタに含まれる誤り位置によって決定され
る時刻において前記ラッチ内の誤り値を訂正回路に供給
することにより、前記符号ワードの正しくないシンボル
を訂正する手段と、 をさらに含む前記オンザフライ誤り訂正装置。 - 【請求項2】オンザフライ誤り訂正装置であって、 エンコードされた符号ワードをデータ記憶装置から読み
出し、前記符号ワードをシンボルごとにバッファ及び割
算手段に同時に供給する手段を含み、 前記割算手段は、前記エンコードされた符号ワードから
少なくとも2つのシンドロームを発生するものであっ
て、少なくとも2つのレジスタと、相当する数のガロア
フィールド掛算器とを含み、前記符号ワードの全てのシ
ンボルとレジスタの数に相当する数のゼロ値シンボルと
が割算された後で前記レジスタにおける結果がシンドロ
ームS0とS1を含むように前記掛算器の値が選ばれてお
り、前記オンザフライ誤り訂正装置は、 前記割算手段のレジスタに含まれている前記少なくとも
2つのシンドロームに応答して、メモリにおいて誤り位
置と誤り値を検索し、誤り値をラッチに出力するととも
に誤り位置をカウンタに出力する手段と、 前記ラッチ、前記カウンタ、前記バッファに応答して、
前記シンボルが前記バッファを通過する際にクロックが
供給されるのに伴って前記シンボルをカウントし、前記
カウンタに含まれる誤り位置とカウントされたシンボル
の数によって決定される時刻において前記ラッチ内の誤
り値を訂正回路に供給することにより、前記符号ワード
の正しくないシンボルを訂正する手段と、 をさらに含む前記オンザフライ誤り訂正装置。 - 【請求項3】オンザフライ誤り訂正装置であって、 エンコードされた符号ワードをデータ記憶装置から読み
出し、前記符号ワードをシンボルごとにバッファ及び割
算手段に同時に供給する手段を含み、 前記割算手段は、前記エンコードされた符号ワードから
誤り値を含むシンドロームと剰余とを発生するものであ
って、少なくとも2つのレジスタと、相当する数のガロ
アフィールド掛算器とを含み、前記符号ワードの全ての
シンボルとレジスタの数に相当する数のゼロ値シンボル
とが割算された後で最下位のレジスタにおける結果がシ
ンドロームS0を含むように前記掛算器の値が選ばれてお
り、前記オンザフライ誤り訂正装置は、 前記レジスタにおける剰余に応答して、メモリにおいて
誤り位置を検索し、誤り値をラッチに出力するとともに
誤り位置をカウンタに出力する手段と、 前記ラッチ、前記カウンタ、前記バッファに応答して、
前記カウンタに含まれる誤り位置によって前記ラッチに
位置している誤り値を用いて、前記符号ワードの正しく
ないシンボルを訂正する手段と、 をさらに含む前記オンザフライ誤り訂正装置。 - 【請求項4】請求項3に記載のオンザフライ誤り訂正装
置であって、前記符号ワードは根α0を有する生成多項
式から形成され、前記シンドロームは根α0から形成さ
れている、前記オンザフライ誤り訂正装置。 - 【請求項5】オンザフライ誤り訂正装置であって、 エンコードされた符号ワードをデータ記憶装置から読み
出し、前記符号ワードをシンボルごとにバッファ及び割
算手段に同時に供給する手段を含み、 前記割算手段は、前記エンコードされた符号ワードから
少なくとも2つのシンドロームを発生するものであっ
て、第1のシンドロームは誤り値を含んでおり、前記割
算手段は、少なくとも2つのレジスタと、相当する数の
ガロアフィールド掛算器とを含み、前記符号ワードの全
てのシンボルとレジスタの数に相当する数のゼロ値シン
ボルとが割算された後で最下位レジスタにおける結果が
シンドロームS0を含むように前記掛算器の値が選ばれて
おり、前記オンザフライ誤り訂正装置は、 前記レジスタにおける前記少なくとも2つのシンドロー
ムに応答して、メモリにおいて誤り位置を検索し、誤り
値をラッチに出力するとともに誤り位置をカウンタに出
力する手段と、 前記ラッチ、前記カウンタ、前記バッファに応答して、
前記カウンタに含まれる誤り位置によって前記ラッチに
位置している誤り値を用いて、前記符号ワードの正しく
ないシンボルを訂正する手段と、 をさらに含む前記オンザフライ誤り訂正装置。 - 【請求項6】請求項5に記載のオンザフライ誤り訂正装
置であって、前記符号ワードは根α0を有する生成多項
式から形成され、前記第1のシンドロームは根α0から
形成されている、前記オンザフライ誤り訂正装置。 - 【請求項7】オンザフライ誤り訂正装置であって、 エンコードされた符号ワードをデータ記憶装置から読み
出す読み出し手段であって、前記符号ワードは、根α
と、P(X)を法とする要素αiの有限なフィールドと
を有する約されない多項式P(X)を用いてエンコード
されている、前記読み出し手段と、 前記読み出し手段に結合され、前記符号ワードを記憶す
るバッファと、 前記読み出し手段に結合され、第1及び第2の割算レジ
スタと、第1及び第2のガロアフィールド掛算器とを含
み、前記符号ワードから第1の割算レジスタ値と第2の
割算レジスタ値を発生し、前記第1の割算レジスタ値を
前記第1の割算レジスタに記憶し、前記第2の割算レジ
スタ値を前記第2の割算レジスタに記憶する割算手段
と、 前記割算手段に結合され、前記第1の割算レジスタ値と
前記第2の割算レジスタ値とを合計して前記符号ワード
の第1のシンドロームを求める第1シンドローム発生手
段であって、前記第1のシンドロームは誤り値を含む、
前記第1シンドローム発生手段と、 前記割算手段に結合され、前記第1の割算レジスタ値と
前記第1のガロアフィールド掛算器の出力とを合計して
前記符号ワードの第2のシンドロームを求める第2シン
ドローム発生手段と、 前記第2のシンドローム発生手段と前記第1のシンドロ
ーム発生手段とに結合され、前記誤り値を前記第2のシ
ンドロームと前記フィールド要素αiとの積の値と比較
し、前記フィールド要素αiを累乗することによりこれ
ら2つの値が等しくなって前記誤り値に対応する誤り位
置を含むようになるまで比較を続ける誤り位置決定手段
と、 前記バッファ、前記誤り位置決定手段、前記第1のシン
ドローム発生手段に応答して、前記誤り位置決定手段に
よって決定された誤り位置に位置している誤り値を用い
て、前記符号ワードの正しくないシンボルを訂正する訂
正手段と、 を含む前記オンザフライ誤り訂正装置。 - 【請求項8】請求項7に記載のオンザフライ誤り訂正装
置であって、前記符号ワードは根α0を有する生成多項
式から形成され、前記第1のシンドロームは根α0から
形成されている、前記オンザフライ誤り訂正装置。 - 【請求項9】請求項8に記載のオンザフライ誤り訂正装
置であって、前記符号ワードは根α1を有する生成多項
式から形成され、前記第2のシンドロームは根α1から
形成されている、前記オンザフライ誤り訂正装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US166085 | 1988-03-09 | ||
US07/166,085 US4890287A (en) | 1988-03-09 | 1988-03-09 | On-the-fly error correction |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01235423A JPH01235423A (ja) | 1989-09-20 |
JP2732531B2 true JP2732531B2 (ja) | 1998-03-30 |
Family
ID=22601763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63218675A Expired - Lifetime JP2732531B2 (ja) | 1988-03-09 | 1988-09-02 | オンザフライ誤り訂正装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US4890287A (ja) |
EP (1) | EP0331836B1 (ja) |
JP (1) | JP2732531B2 (ja) |
AU (1) | AU2242388A (ja) |
CA (1) | CA1301353C (ja) |
DE (1) | DE3855101T2 (ja) |
SG (1) | SG49737A1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241546A (en) * | 1991-02-01 | 1993-08-31 | Quantum Corporation | On-the-fly error correction with embedded digital controller |
US5280488A (en) * | 1990-11-08 | 1994-01-18 | Neal Glover | Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping |
US5243604A (en) * | 1990-12-18 | 1993-09-07 | Seagate Technology, Inc. | On-the-fly error correction |
US5263030A (en) * | 1991-02-13 | 1993-11-16 | Digital Equipment Corporation | Method and apparatus for encoding data for storage on magnetic tape |
US5638386A (en) * | 1991-09-20 | 1997-06-10 | Hitachi, Ltd. | Recording apparatus |
US5412194A (en) * | 1992-03-25 | 1995-05-02 | Storage Technology Corporation | Robust coding system |
US5329535A (en) * | 1992-04-30 | 1994-07-12 | International Business Machines Corporation | Variable block lengths on-the-fly error correcting decoder |
ES2144000T3 (es) * | 1992-05-19 | 2000-06-01 | Koninkl Philips Electronics Nv | Sistema expandido de comunicacion con proteccion de error. |
US5602857A (en) * | 1993-09-21 | 1997-02-11 | Cirrus Logic, Inc. | Error correction method and apparatus |
US5610929A (en) * | 1994-03-11 | 1997-03-11 | Fujitsu Limited | Multibyte error correcting system |
US5434719A (en) * | 1994-03-18 | 1995-07-18 | Seagate Technology, Inc. | Correction of header information in a magnetic disc drive |
US5642366A (en) * | 1994-07-05 | 1997-06-24 | Adaptec, Inc. | Global parity symbol for interleaved reed-solomon coded data |
US5761220A (en) * | 1994-09-19 | 1998-06-02 | Cirrus Logic, Inc. | Minimum latency asynchronous data path controller in a digital recording system |
US6125469A (en) * | 1994-10-18 | 2000-09-26 | Cirrus Logic, Inc. | Error correction method and apparatus |
US5771184A (en) * | 1995-10-12 | 1998-06-23 | Adaptec, Inc. | System and method for solving quadratic equation in galois fields |
US5787099A (en) * | 1995-10-12 | 1998-07-28 | Adaptec, Inc. | System and method for encoding and decoding data using numerical computations in galois fields |
US5812438A (en) * | 1995-10-12 | 1998-09-22 | Adaptec, Inc. | Arithmetic logic unit and method for numerical computations in galois fields |
US5889792A (en) * | 1996-10-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating syndromes associated with a block of data that employs re-encoding the block of data |
US5774648A (en) * | 1996-10-02 | 1998-06-30 | Mitsubishi Semiconductor Of America, Inc. | Address generator for error control system |
US6360348B1 (en) * | 1999-08-27 | 2002-03-19 | Motorola, Inc. | Method and apparatus for coding and decoding data |
US6735737B2 (en) * | 2000-02-18 | 2004-05-11 | Texas Instruments Incorporated | Error correction structures and methods |
US7458007B2 (en) * | 2000-02-18 | 2008-11-25 | Texas Instruments Incorporated | Error correction structures and methods |
KR100688549B1 (ko) * | 2005-05-24 | 2007-03-02 | 삼성전자주식회사 | 비휘발성 메모리를 지원하는 온더플라이 bcc 코덱시스템 및 방법 |
JP6131207B2 (ja) * | 2014-03-14 | 2017-05-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4397022A (en) | 1981-01-30 | 1983-08-02 | Weng Ming I | Weighted erasure codec for the (24, 12) extended Golay code |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4030067A (en) * | 1975-12-29 | 1977-06-14 | Honeywell Information Systems, Inc. | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes |
US4151510A (en) * | 1978-04-27 | 1979-04-24 | Honeywell Information Systems | Method and apparatus for an efficient error detection and correction system |
US4360916A (en) * | 1979-12-31 | 1982-11-23 | Ncr Canada Ltd.-Ncr Canada Ltee. | Method and apparatus for providing for two bits-error detection and correction |
US4473902A (en) * | 1982-04-22 | 1984-09-25 | Sperrt Corporation | Error correcting code processing system |
GB2124806B (en) * | 1982-08-06 | 1986-05-14 | Sony Corp | Method of correcting errors in binary data |
US4525838A (en) * | 1983-02-28 | 1985-06-25 | International Business Machines Corporation | Multibyte error correcting system involving a two-level code structure |
US4599722A (en) * | 1984-04-03 | 1986-07-08 | Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee | Apparatus for encoding and decoding digital data to permit error correction |
US4623999A (en) * | 1984-06-04 | 1986-11-18 | E-Systems, Inc. | Look-up table encoder for linear block codes |
JPH0728227B2 (ja) * | 1985-06-07 | 1995-03-29 | ソニー株式会社 | Bch符号の復号装置 |
US4706250A (en) * | 1985-09-27 | 1987-11-10 | International Business Machines Corporation | Method and apparatus for correcting multibyte errors having improved two-level code structure |
JPS62233932A (ja) * | 1986-04-03 | 1987-10-14 | Kenwood Corp | Bch符号の復号回路 |
US4849975A (en) * | 1987-11-10 | 1989-07-18 | International Business Machines Corporation | Error correction method and apparatus |
-
1988
- 1988-03-09 US US07/166,085 patent/US4890287A/en not_active Ceased
- 1988-09-02 JP JP63218675A patent/JP2732531B2/ja not_active Expired - Lifetime
- 1988-09-12 DE DE3855101T patent/DE3855101T2/de not_active Expired - Fee Related
- 1988-09-12 EP EP88308404A patent/EP0331836B1/en not_active Expired - Lifetime
- 1988-09-12 SG SG1996004527A patent/SG49737A1/en unknown
- 1988-09-20 AU AU22423/88A patent/AU2242388A/en not_active Abandoned
- 1988-11-25 CA CA000584156A patent/CA1301353C/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4397022A (en) | 1981-01-30 | 1983-08-02 | Weng Ming I | Weighted erasure codec for the (24, 12) extended Golay code |
Non-Patent Citations (1)
Title |
---|
嵩忠雄 外3名「符号理論」初版、コロナ社、昭和50年2月、P.338−339 |
Also Published As
Publication number | Publication date |
---|---|
EP0331836B1 (en) | 1996-03-13 |
EP0331836A3 (en) | 1990-11-28 |
CA1301353C (en) | 1992-05-19 |
DE3855101T2 (de) | 1996-08-01 |
JPH01235423A (ja) | 1989-09-20 |
DE3855101D1 (de) | 1996-04-18 |
AU2242388A (en) | 1989-09-14 |
SG49737A1 (en) | 1998-06-15 |
EP0331836A2 (en) | 1989-09-13 |
US4890287A (en) | 1989-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2732531B2 (ja) | オンザフライ誤り訂正装置 | |
EP0167627B1 (en) | Method and apparatus for decoding error correction code | |
US5946328A (en) | Method and means for efficient error detection and correction in long byte strings using integrated interleaved Reed-Solomon codewords | |
US4525838A (en) | Multibyte error correcting system involving a two-level code structure | |
US4099160A (en) | Error location apparatus and methods | |
US5996105A (en) | ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes | |
EP0155038B1 (en) | Fast decoder for reed-solomon codes which can also be used as an encoder, and recording/playback apparatus comprising such an encoder/decoder | |
US6275965B1 (en) | Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords | |
US4706250A (en) | Method and apparatus for correcting multibyte errors having improved two-level code structure | |
US4142174A (en) | High speed decoding of Reed-Solomon codes | |
US6192499B1 (en) | Device and method for extending error correction beyond one sector time | |
US4845714A (en) | Multiple pass error correction process and apparatus for product codes | |
EP0364172A2 (en) | Error detection and correction for a data storage system | |
US4504948A (en) | Syndrome processing unit for multibyte error correcting systems | |
JPH0697542B2 (ja) | インタ−リ−ブ回路 | |
US8102996B2 (en) | Scrambler, descrambler and method, and disc apparatus | |
EP0105499B1 (en) | Method capable of simultaneously decoding two reproduced sequences | |
US7607074B2 (en) | Error detecting code addition circuit, error detection circuit and method, and disc apparatus | |
US6163871A (en) | RAM based error correction code encoder and syndrome generator with programmable interleaving degrees | |
US5434719A (en) | Correction of header information in a magnetic disc drive | |
US4527269A (en) | Encoder verifier | |
US5255272A (en) | Predictive tape drive error correction apparatus | |
US5268908A (en) | Low data delay triple coverage code apparatus for on-the-fly error correction | |
US5243604A (en) | On-the-fly error correction | |
USRE34088E (en) | On-the-fly error correction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081226 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081226 Year of fee payment: 11 |