JPH0464211B2 - - Google Patents
Info
- Publication number
- JPH0464211B2 JPH0464211B2 JP59249424A JP24942484A JPH0464211B2 JP H0464211 B2 JPH0464211 B2 JP H0464211B2 JP 59249424 A JP59249424 A JP 59249424A JP 24942484 A JP24942484 A JP 24942484A JP H0464211 B2 JPH0464211 B2 JP H0464211B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- multiplexer
- ordered
- error correction
- output
- 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
Links
- 238000012937 correction Methods 0.000 claims description 46
- 208000011580 syndromic disease Diseases 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral 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
- H03M13/151—Cyclic 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
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Description
(産業上の利用分野)
この発明は概して誤り訂正装置の分野に関し、
特にリード・ソロモン(Reed−Solomon)誤り
訂正装置に関する。 (従来の技術) リード・ソロモン誤り訂正は当該技術分野では
知られているものである。バールカンプ(E.
Berlekamp)著、代数符号化理論(1968年)、第
10章;ピーターソン及びウエルドン(Peterson
and Weldon)著、誤り訂正符号、第2版(1972
年);リン(S.Lin)著、誤り訂正符号(1974
年);符号化理論の発展における主要論文(1974
年)(ピーターソン編集);リン及びコステロ
(Costello)著、誤り制御符号:基礎と応用
(1983年)、278及び531−2を参照のこと。またこ
のような文献としてリード・ソロモン符号の高速
度複号処理と題し、チエン(Chien)他による米
国特許第4142174号(1977年8月15日出願)、及び
ガロワ・フイールド(Galois Field)コンピユー
タと題しバールカンプによる米国特許出願第
4162480号(1977年1月28日出願)も参照のこと。 この技術によれば、リード・ソロモン誤り訂正
装置は一般的に汎用デイジタル・コンピユータを
用い、ガロワ・フイールド処理を実行する周辺演
算装置を制御するものであつた。 10誤り訂正符号のように大きな誤り訂正可能符
号においては、必要とする誤り訂正アルゴリズム
を全てハードウエア処理することは費用がかかり
過ぎるものと考えられている。しかし、誤り訂正
アルゴリズムを全てソフトウエア処理していたの
では余りにも低速のものとなつてしまうと思われ
る。 (発明の要約) 本発明は10誤り訂正リード・ソロモン符号を用
いるものである。本発明装置は符号化、シンドロ
ーム生成及びチエン検索を実行し、誤り位置付け
多項及び誤り値の係数をマイクロプロセツサにお
いてソフトウエアにより解く。更に、本発明装置
は誤り検出及びバースト誤り捕捉を実行すること
ができる。 本発明の誤り訂正装置は共通な一組のレジスタ
と2組の固定フイールド乗算器とを用い、指定さ
れた全ての誤り訂正機能を実行する。このレジス
タ及び乗算器の構成はコントローラの制御のもと
に2組のマルチプレクサにより制御される。この
誤り訂正装置の機能はコントローラの制御を介
し、マイクロプロセツサによりプログラムされて
いる。 (実施例) 第1図は本発明による10誤り訂正リード・ソロ
モン誤り訂正装置のブロツク図である。符号化及
び復号化に用いる数式は他で説明されているが、
特にバールカンプ著、代数符号理論(1968年)の
第10章、リン及びコステロ著、誤り制御符号:基
礎と応用(1983年)の第6章、特に第6、5章及
び第278頁を参照のこと。しかし、簡単な要約が
適当である。 誤り訂正は本質的に3ステツプの処理、即ち(a)
情報の符号化、(b)その復号化及び(c)誤りの訂正か
らなる。 符号化情報はnシンボルの符号ワードC(X)を形
成し、例えば光学デイスク記録装置にデータを転
送して記録するものからなる。符号ワードC(X)は
k情報シンボルI(X)及びn−kパリテイ・チエツ
ク・シンボルP(X)からなる。各シンボルはmビツ
トからなる。パリテイ・チエツク・シンボルは生
成多項式G(X)により情報シンボルXn-kI(X)を割
算することにより得られる。割算の結果は無視さ
れるQ(X)、及び余りr(X)からなる。この余りr(X)
はパリテイ・チエツク・シンボルを構成し、C(X)
の下位位置n−kに付加される。(I(X)をXn-kに
より乗算し、C(X)の上位位置kに情報シンボルを
設定する。)リード・ソロモン符号により、1つ
の誤りを訂正するパリテイ・チエツク・シンボル
の数は、訂正されるべき誤り数tの2倍でなけれ
ばならない。誤りの次数が除数の次数に対応する
ので、10誤り訂正符号のために用いられる生成多
項式は20の次数を有する。生成多項式それ自体は
それぞれX−αi形式の20の根からなる。ただし、
αiは2進のm倍であり、 αi=An-1αm-1+An-2αm-2+…… +A1α1+A0α0 かつαは既約多項式P(X)の根である。この実施例
において、既約多項式はP(X)=X8+X4+X3+X2
+1 である。 P(α)=0であるので、 α8=α4+α3+α2+1 この既約多項式により表わされたガロワ・フイ
ールド(28)の要素の対数表(表1)は次のよう
になる。各フイールド要素は(X8+X4+X3+X2
+1)を法としてαi(ただし、i=0、1、2…
…255)の冪(べき)である。左の数字はフイー
ルド要素のαのべきに対応するフイールド要素の
数である。表の始めにおいて、各ビツトはαim倍
の係数Aiに対応し、右端の表はA0、左端の表は
A7である。
特にリード・ソロモン(Reed−Solomon)誤り
訂正装置に関する。 (従来の技術) リード・ソロモン誤り訂正は当該技術分野では
知られているものである。バールカンプ(E.
Berlekamp)著、代数符号化理論(1968年)、第
10章;ピーターソン及びウエルドン(Peterson
and Weldon)著、誤り訂正符号、第2版(1972
年);リン(S.Lin)著、誤り訂正符号(1974
年);符号化理論の発展における主要論文(1974
年)(ピーターソン編集);リン及びコステロ
(Costello)著、誤り制御符号:基礎と応用
(1983年)、278及び531−2を参照のこと。またこ
のような文献としてリード・ソロモン符号の高速
度複号処理と題し、チエン(Chien)他による米
国特許第4142174号(1977年8月15日出願)、及び
ガロワ・フイールド(Galois Field)コンピユー
タと題しバールカンプによる米国特許出願第
4162480号(1977年1月28日出願)も参照のこと。 この技術によれば、リード・ソロモン誤り訂正
装置は一般的に汎用デイジタル・コンピユータを
用い、ガロワ・フイールド処理を実行する周辺演
算装置を制御するものであつた。 10誤り訂正符号のように大きな誤り訂正可能符
号においては、必要とする誤り訂正アルゴリズム
を全てハードウエア処理することは費用がかかり
過ぎるものと考えられている。しかし、誤り訂正
アルゴリズムを全てソフトウエア処理していたの
では余りにも低速のものとなつてしまうと思われ
る。 (発明の要約) 本発明は10誤り訂正リード・ソロモン符号を用
いるものである。本発明装置は符号化、シンドロ
ーム生成及びチエン検索を実行し、誤り位置付け
多項及び誤り値の係数をマイクロプロセツサにお
いてソフトウエアにより解く。更に、本発明装置
は誤り検出及びバースト誤り捕捉を実行すること
ができる。 本発明の誤り訂正装置は共通な一組のレジスタ
と2組の固定フイールド乗算器とを用い、指定さ
れた全ての誤り訂正機能を実行する。このレジス
タ及び乗算器の構成はコントローラの制御のもと
に2組のマルチプレクサにより制御される。この
誤り訂正装置の機能はコントローラの制御を介
し、マイクロプロセツサによりプログラムされて
いる。 (実施例) 第1図は本発明による10誤り訂正リード・ソロ
モン誤り訂正装置のブロツク図である。符号化及
び復号化に用いる数式は他で説明されているが、
特にバールカンプ著、代数符号理論(1968年)の
第10章、リン及びコステロ著、誤り制御符号:基
礎と応用(1983年)の第6章、特に第6、5章及
び第278頁を参照のこと。しかし、簡単な要約が
適当である。 誤り訂正は本質的に3ステツプの処理、即ち(a)
情報の符号化、(b)その復号化及び(c)誤りの訂正か
らなる。 符号化情報はnシンボルの符号ワードC(X)を形
成し、例えば光学デイスク記録装置にデータを転
送して記録するものからなる。符号ワードC(X)は
k情報シンボルI(X)及びn−kパリテイ・チエツ
ク・シンボルP(X)からなる。各シンボルはmビツ
トからなる。パリテイ・チエツク・シンボルは生
成多項式G(X)により情報シンボルXn-kI(X)を割
算することにより得られる。割算の結果は無視さ
れるQ(X)、及び余りr(X)からなる。この余りr(X)
はパリテイ・チエツク・シンボルを構成し、C(X)
の下位位置n−kに付加される。(I(X)をXn-kに
より乗算し、C(X)の上位位置kに情報シンボルを
設定する。)リード・ソロモン符号により、1つ
の誤りを訂正するパリテイ・チエツク・シンボル
の数は、訂正されるべき誤り数tの2倍でなけれ
ばならない。誤りの次数が除数の次数に対応する
ので、10誤り訂正符号のために用いられる生成多
項式は20の次数を有する。生成多項式それ自体は
それぞれX−αi形式の20の根からなる。ただし、
αiは2進のm倍であり、 αi=An-1αm-1+An-2αm-2+…… +A1α1+A0α0 かつαは既約多項式P(X)の根である。この実施例
において、既約多項式はP(X)=X8+X4+X3+X2
+1 である。 P(α)=0であるので、 α8=α4+α3+α2+1 この既約多項式により表わされたガロワ・フイ
ールド(28)の要素の対数表(表1)は次のよう
になる。各フイールド要素は(X8+X4+X3+X2
+1)を法としてαi(ただし、i=0、1、2…
…255)の冪(べき)である。左の数字はフイー
ルド要素のαのべきに対応するフイールド要素の
数である。表の始めにおいて、各ビツトはαim倍
の係数Aiに対応し、右端の表はA0、左端の表は
A7である。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
n=2m−1、mビツト・シンボル(ただし、実
施例ではm=8である)をもつ10誤り訂正リー
ド・ソロモン・コードの生成多項式は次のようで
ある。 G(x)=2t-1 πi=0 (X−αi) 又は G(x)=X20+α17X19+α60X18+α79X17 +α50X16+α61X15+α163X14 +α26X13+α187X12+α202X11 +α180X10+α221X9+α225X8 +α83X7+α239X6+α156X5+α164X4 +α212X3+α212X2+α188X+α190. このようにして伝送された符号ワードC(X)は共
に生成多項式と、その各因数又は根との倍数であ
る。従つて、受信ワードR(X)に誤りが含まれてい
ないときは、生成多項式又はその各根により受信
ワードR(X)を割算した結果は、ある商及び0の余
りとなる。受信ワードR(X)に誤りが含まれている
かについて調べるためには、受信ワードR(X)を生
成多項式又はその全ての根により割算した後、余
り又は複数の余りが全て0であるかについて調べ
ればよい。 誤り訂正のためには、訂正されるべき誤り数の
2倍に等しいシンドローム数を発生することが必
要である。この実施例においては、10誤りを訂正
するので、20のシンドロームを生成しなければな
らない。このシンドロームは受信ワードR(X)を生
成多項式G(X)の根(X−αi)により割算した後の
余りと定義することができる。これはαi即ちR
(αi)における受信ワードR(X)の多項知を評価す
ることに等しい。このような根は20あるので、20
のシンドロームがある。このシンドロームは誤り
位置及び誤り値に対して数学的に次の関係があ
る。 Sj= 〓i YiXj i ただし、Xiは誤り位置、Yiは誤り値、Sj=R
(j)である。従つて、 R(αj)=〓YiXj i XiはGF(28)の要素であり、αmod(X8+X4+X3
+X2+1)のべきである。αのべきは誤つたシ
ンボルの位置に対応する。即ちXi=α95のときは、
Rの第95シンボルに誤がある。また、誤り値Yiは
GF(28)の要素であり、誤りパターンに直接対応
している。従つて、この符号は誤りのある1つの
シンボルにおける8ビツト誤りの全パターンの訂
正が可能である。 誤り位置は次の方法によりシンドロームから導
き出すことができる。まず、誤り位置多項式の係
数をバールカンプの代数符号理論の第154頁に示
すバールカンプのアルゴリズムにより計算する。
リン及びコステロの第155頁〜第158頁も参照のこ
と。10誤り訂正符号の誤り位置項式 σ(X)=σ10X10+σ9X9+σ8X8+…… +σ2X2+σ1X+1=0 は、誤り位置Xiに対して次のような関係がある。 σ(X)=π(1−XiX) −jが受信ワードの位置に対応し、多項式σ(X)
をαjにて評価した場合に、α-jがσ(X)の根、即ち
1−Xiαj=0のときは、誤り位置多項式の第1形
式の総和は0となる。これはXj=α-jのときに生
ずる。誤り位置のチエン検索は、各αjのべき(j
=0、1、2、3……k、kは情報シンボルの数
である)に対する多項式σ(X)の第1形式を評価
し、その結果が0か0でないかを調べることから
なる。 この検索はパリテイ・チエツク・シンボルの誤
りを無視し、かつパリテイ・チエツク・シンボル
の位置に対応するαのべきにおいて多項式を評価
しないことにより短縮される。 誤り位置Xiがチエン検索により位置付けされる
と、誤り値Yiを評価することができる。誤り多項
式S(z)は S(z)=1+(S1+σ1)z+(S2+σ1S1 +σ2)z2+……(S〓+σ1S〓-1 +σ2〓-2+……σ〓)z〓 ここでνは誤り(最大)数である。次の誤り評価
多項式において、zに対する誤り位置の逆数、即
ち、z=X-1 iを置換することにより、誤り値Yiを
判断することができる。 ハードウエタ リード・ソロモン誤り訂正の数学的な背景を説
明したので、本発明による誤り訂正装置の種々の
要素を説明する。この誤り訂正装置の動作は後述
する。 誤り訂正装置10は2つの主要要素、即ちコン
トローラ12及び誤り訂正(ECC)アレー部1
4から構成される。コントローラ12は双方向デ
ータ伝送用のバス16を介してマイクロプロセツ
サ(図示なし)に接続されている。また、コント
ローラ12にはバス16のデータ方向を制御する
読み出し/書き込み線18及びクリア線20が接
続されている。コントローラ12にはECC入力
データ線22、ECC出力データ線24、チエン
検索出力データ線26及び各種の制御信号線28
も接続されている。双方向データ用のバス16、
ECC入力データ線22、ECC出力データ線24
及びチエン検索出力データ線26は全て8ビツト
を並列に伝送する8本線の接続である。 ECCアレー部14に戻るが、ECCアレー部1
4は20個のレジスタ30からなり、その入力はそ
れぞれ20の排他的論理和ゲート32に接続されて
いる。排他的論理和ゲート32の2組の入力のう
ち、1組を20個の上側マルチプレクサ34の出力
に接続し、また他の組の組を20個の下側マルチプ
レクサ36の出力に接続している。各レジスタ3
0の出力をそれぞれ逆方向に20個のガロワ・フイ
ールド乗算器S0〜S19にそれぞれ接続している。
各乗算器S0〜S19の出力は逆対応の上側マルチプ
レクサ34のA入力として接続される。更に、レ
ジスタ30の最上位レジスタ38の出力は先頭排
他的論理和ゲート40に接続されており、この排
他的論理和ゲート40の出力はフイードバツク・
マルチプレクサ42(の“B”入力)を介してガ
ロワ・フイールド並列乗算器アレー44の各乗算
器G0〜G19にフイードバツク接続として接続され
ている。更に、この最上位レジスタ38の出力は
フイードバツク・マルチプレクサ42のA入力と
して直接供給される。ガロワ・フイールド並列乗
算器アレー44の各乗算器G0〜G19の出力は、対
応する次数の下側マルチプレクサ36にA入力と
して接続され、次いで下側マルチプレクサ36の
出力は対応する次数の排他的論理和ゲート32に
1組の入力として接続される。ECC入力データ
線22は、第1に排他的論理和ゲート40に、第
2に下側マルチプレクサ36の各B入力に並列
に、第3に出力マルチプレクサ50のA入力を介
してECC出力データ線に、第4に最下位の上側
マルチプレクサ48のB入力に出力を接続してい
るアンド・ゲート46の1組の入力として接続さ
れている。レジスタ30(レジスタ38を除く)
の出力は更に上側マルチプレクサ(マルチプレク
サ48を除く)のB入力にそれぞれ接続されてい
る。レジスタ30の出力はガロワ・フイールド乗
算器S1,S2,S3,S4,S5,S6,S7,S8,S9及び
S10に接続され、更に次のような方法にて9つの
排他的論理和ゲート52の1組の入力としてそれ
ぞれ接続されている。即ちレジスタ30の出力
(S10及びS9に関するもの)は初段の排他的論理和
ゲート70(第2図を参照)の入力として接続さ
れている。この排他的論理和ゲート70の出力は
次の排他的論理和ゲート72(第2図を参照)の
第1入力組として接続されている。この排他的論
理和ゲート72の他の入力はレジスタ30(S8に
関するもの)からのものである。この排他的論理
和ゲート72の出力は次の排他的論理和ゲート7
4の第1入力組として接続され、この排他的論理
和ゲート74の他の入力組はレジスタ30(S7に
関するもの)からの出力であり、以下排他的論理
和ゲート64まで続く。その最後の排他的論理和
ゲート64の出力はコントロール12へのチエン
検索出力である。 各レジスタ30、マルチプレクサ34,36,
42,50、排他的論理和ゲート32,52及び
乗算器S0〜S19、G0〜G19の入力及び出力は全てαi
((i=0、1、2……7)のべきに各線が対応す
る8ビツト幅である。排他的論理和ゲート32,
52はこのビツトについて個々に動作し、即ち第
1入力組の最下位ビツトは他の入力組の最下位ビ
ツトと排他的論理和がとられる。これは、2つの
シンボルのガロワ・フイールド加算としてこの技
術分野で知られているものである。しかし、各乗
算器は8ビツトの全部が1つのグループにて動作
する。乗算器S0〜S19、G0〜G19の論理を次の表
に示す。
施例ではm=8である)をもつ10誤り訂正リー
ド・ソロモン・コードの生成多項式は次のようで
ある。 G(x)=2t-1 πi=0 (X−αi) 又は G(x)=X20+α17X19+α60X18+α79X17 +α50X16+α61X15+α163X14 +α26X13+α187X12+α202X11 +α180X10+α221X9+α225X8 +α83X7+α239X6+α156X5+α164X4 +α212X3+α212X2+α188X+α190. このようにして伝送された符号ワードC(X)は共
に生成多項式と、その各因数又は根との倍数であ
る。従つて、受信ワードR(X)に誤りが含まれてい
ないときは、生成多項式又はその各根により受信
ワードR(X)を割算した結果は、ある商及び0の余
りとなる。受信ワードR(X)に誤りが含まれている
かについて調べるためには、受信ワードR(X)を生
成多項式又はその全ての根により割算した後、余
り又は複数の余りが全て0であるかについて調べ
ればよい。 誤り訂正のためには、訂正されるべき誤り数の
2倍に等しいシンドローム数を発生することが必
要である。この実施例においては、10誤りを訂正
するので、20のシンドロームを生成しなければな
らない。このシンドロームは受信ワードR(X)を生
成多項式G(X)の根(X−αi)により割算した後の
余りと定義することができる。これはαi即ちR
(αi)における受信ワードR(X)の多項知を評価す
ることに等しい。このような根は20あるので、20
のシンドロームがある。このシンドロームは誤り
位置及び誤り値に対して数学的に次の関係があ
る。 Sj= 〓i YiXj i ただし、Xiは誤り位置、Yiは誤り値、Sj=R
(j)である。従つて、 R(αj)=〓YiXj i XiはGF(28)の要素であり、αmod(X8+X4+X3
+X2+1)のべきである。αのべきは誤つたシ
ンボルの位置に対応する。即ちXi=α95のときは、
Rの第95シンボルに誤がある。また、誤り値Yiは
GF(28)の要素であり、誤りパターンに直接対応
している。従つて、この符号は誤りのある1つの
シンボルにおける8ビツト誤りの全パターンの訂
正が可能である。 誤り位置は次の方法によりシンドロームから導
き出すことができる。まず、誤り位置多項式の係
数をバールカンプの代数符号理論の第154頁に示
すバールカンプのアルゴリズムにより計算する。
リン及びコステロの第155頁〜第158頁も参照のこ
と。10誤り訂正符号の誤り位置項式 σ(X)=σ10X10+σ9X9+σ8X8+…… +σ2X2+σ1X+1=0 は、誤り位置Xiに対して次のような関係がある。 σ(X)=π(1−XiX) −jが受信ワードの位置に対応し、多項式σ(X)
をαjにて評価した場合に、α-jがσ(X)の根、即ち
1−Xiαj=0のときは、誤り位置多項式の第1形
式の総和は0となる。これはXj=α-jのときに生
ずる。誤り位置のチエン検索は、各αjのべき(j
=0、1、2、3……k、kは情報シンボルの数
である)に対する多項式σ(X)の第1形式を評価
し、その結果が0か0でないかを調べることから
なる。 この検索はパリテイ・チエツク・シンボルの誤
りを無視し、かつパリテイ・チエツク・シンボル
の位置に対応するαのべきにおいて多項式を評価
しないことにより短縮される。 誤り位置Xiがチエン検索により位置付けされる
と、誤り値Yiを評価することができる。誤り多項
式S(z)は S(z)=1+(S1+σ1)z+(S2+σ1S1 +σ2)z2+……(S〓+σ1S〓-1 +σ2〓-2+……σ〓)z〓 ここでνは誤り(最大)数である。次の誤り評価
多項式において、zに対する誤り位置の逆数、即
ち、z=X-1 iを置換することにより、誤り値Yiを
判断することができる。 ハードウエタ リード・ソロモン誤り訂正の数学的な背景を説
明したので、本発明による誤り訂正装置の種々の
要素を説明する。この誤り訂正装置の動作は後述
する。 誤り訂正装置10は2つの主要要素、即ちコン
トローラ12及び誤り訂正(ECC)アレー部1
4から構成される。コントローラ12は双方向デ
ータ伝送用のバス16を介してマイクロプロセツ
サ(図示なし)に接続されている。また、コント
ローラ12にはバス16のデータ方向を制御する
読み出し/書き込み線18及びクリア線20が接
続されている。コントローラ12にはECC入力
データ線22、ECC出力データ線24、チエン
検索出力データ線26及び各種の制御信号線28
も接続されている。双方向データ用のバス16、
ECC入力データ線22、ECC出力データ線24
及びチエン検索出力データ線26は全て8ビツト
を並列に伝送する8本線の接続である。 ECCアレー部14に戻るが、ECCアレー部1
4は20個のレジスタ30からなり、その入力はそ
れぞれ20の排他的論理和ゲート32に接続されて
いる。排他的論理和ゲート32の2組の入力のう
ち、1組を20個の上側マルチプレクサ34の出力
に接続し、また他の組の組を20個の下側マルチプ
レクサ36の出力に接続している。各レジスタ3
0の出力をそれぞれ逆方向に20個のガロワ・フイ
ールド乗算器S0〜S19にそれぞれ接続している。
各乗算器S0〜S19の出力は逆対応の上側マルチプ
レクサ34のA入力として接続される。更に、レ
ジスタ30の最上位レジスタ38の出力は先頭排
他的論理和ゲート40に接続されており、この排
他的論理和ゲート40の出力はフイードバツク・
マルチプレクサ42(の“B”入力)を介してガ
ロワ・フイールド並列乗算器アレー44の各乗算
器G0〜G19にフイードバツク接続として接続され
ている。更に、この最上位レジスタ38の出力は
フイードバツク・マルチプレクサ42のA入力と
して直接供給される。ガロワ・フイールド並列乗
算器アレー44の各乗算器G0〜G19の出力は、対
応する次数の下側マルチプレクサ36にA入力と
して接続され、次いで下側マルチプレクサ36の
出力は対応する次数の排他的論理和ゲート32に
1組の入力として接続される。ECC入力データ
線22は、第1に排他的論理和ゲート40に、第
2に下側マルチプレクサ36の各B入力に並列
に、第3に出力マルチプレクサ50のA入力を介
してECC出力データ線に、第4に最下位の上側
マルチプレクサ48のB入力に出力を接続してい
るアンド・ゲート46の1組の入力として接続さ
れている。レジスタ30(レジスタ38を除く)
の出力は更に上側マルチプレクサ(マルチプレク
サ48を除く)のB入力にそれぞれ接続されてい
る。レジスタ30の出力はガロワ・フイールド乗
算器S1,S2,S3,S4,S5,S6,S7,S8,S9及び
S10に接続され、更に次のような方法にて9つの
排他的論理和ゲート52の1組の入力としてそれ
ぞれ接続されている。即ちレジスタ30の出力
(S10及びS9に関するもの)は初段の排他的論理和
ゲート70(第2図を参照)の入力として接続さ
れている。この排他的論理和ゲート70の出力は
次の排他的論理和ゲート72(第2図を参照)の
第1入力組として接続されている。この排他的論
理和ゲート72の他の入力はレジスタ30(S8に
関するもの)からのものである。この排他的論理
和ゲート72の出力は次の排他的論理和ゲート7
4の第1入力組として接続され、この排他的論理
和ゲート74の他の入力組はレジスタ30(S7に
関するもの)からの出力であり、以下排他的論理
和ゲート64まで続く。その最後の排他的論理和
ゲート64の出力はコントロール12へのチエン
検索出力である。 各レジスタ30、マルチプレクサ34,36,
42,50、排他的論理和ゲート32,52及び
乗算器S0〜S19、G0〜G19の入力及び出力は全てαi
((i=0、1、2……7)のべきに各線が対応す
る8ビツト幅である。排他的論理和ゲート32,
52はこのビツトについて個々に動作し、即ち第
1入力組の最下位ビツトは他の入力組の最下位ビ
ツトと排他的論理和がとられる。これは、2つの
シンボルのガロワ・フイールド加算としてこの技
術分野で知られているものである。しかし、各乗
算器は8ビツトの全部が1つのグループにて動作
する。乗算器S0〜S19、G0〜G19の論理を次の表
に示す。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
以上の表において、符号の左の数は出力数を表
わし、一方等号の右の数は入力数を表わす。プラ
ス符号は排他的論理和に等価なモジロ(modulo)
2の加算を表わす。 上記表の数学的意味は、例により説明するのが
最良である。GF(2m)の2要素、Y(α)及びA
(α)の乗算は、 Y(α)=Yn-1αm-1 +Yn-2αm-2+……Y0α0、 A(α)=An-1αm-1 +An-2αm-2+……A0α0 としたときは Y(α)A(α)=Yn-1αm-2(An-1αm-1 +An-2αm-2……A0α0)Yn-2αm-2 (An-1αm-1+An-2αm-2……A0α0) *** +Y0α0(An-1αm-1+An-2αm-2 +……A0α0). と表わすことができる。このことから Y(α)A(α)=Yn-1(An-1αm-1αm-1 +An-2αm-2αm-1+……A0α0αm-1) +Yn-2(An-1αm-1αm-2 +An-2αm-2αm-2+……A0α0αm-2 *** +Y0(An-1αm-1α0 +An-2αm-2α0+……A0α0α0 =Yn-1A(αm-1) +Yn-2A(αm-2) *** +Y0A(α0) となる。 生成多項式G(X)のG0の係数である A(α)=α190とすると、 A(α0)=α190 A(α1)=α191 A(α2)=α192 *** A(α7)=α197、and Y(α)α190=Y7α197+Y6α196 +Y5α195+……Y0α190. 第1表から α190=α7+α5+α3+α2+α1 α191=α6+α0 α192=α7+α1 α193=α4+α3+α0 α194=α5+α4+α1 α195=α6+α5+α2 α196=α7+α6+α3 α197=α7+α3+α2+α0 各αiは、積Y(α)α190からなる8項であり、
Z(α)により表わすことができる。 Z(α)=Y1α0+Y3α0+Y7α0 +Y0α1+Y2α1+Y4α1+Y6α1 +Y1α2+Y2α2+Y3α2+Y7α2 +Y2α3+Y5α3 +Y1α4+Y5α4+Y6α4 +Y0α5+Y2α5+Y6α5+Y7α5 +Y1α6+Y3α6+Y7α6 +Y0α7+Y2α7+Y4α7 Z(α)が Z(α)=Z7α7+Z6α6+……Z0α0、 により表わされるときは、 Z0=Y4+Y2+Y7 Z1=Y0+Y2+Y4+Y6 Z2=Y1+Y2+Y3+Y7 Z3=Y2+Y5 Z4=Y1+Y5+Y6 Z5=Y0+Y2+Y6+Y7 Z6=Y1+Y3+Y7 Z7=Y0+Y3+Y4 となる。 視察からZiのこれら最終式はG0=α190の第2表
に対応することが明らかである。 上記の表から乗算器S0〜S19は固定された定数
α0〜α19により入力をそれぞれ乗算し、一方乗算
器G0〜G19は生成多項式G(X)の対応係数、即ち
α190,α188……α17により入力を乗算する。 乗算器S0〜S19の各入力は関連するレジスタ3
0から供給される。これに対し乗算器G0〜G19に
対する各入力は単一信号源である。マルチプレク
サ42から供給される。この結果、同一シンボル
が並列に20の定数G0〜G19により乗算される。 上記の乗算論理を実際に実行することにより、
回路を簡単にし、また反復される論理パターンを
共用することにより冗長性を少なくしようとする
ものである。例えば、乗算器S2において、パター
ン“6+7”は式“3”及び“4”において反復
される。“6+7”の1回路のみを実行する必要
があり、かつその出力を“3”及“4”回路の両
方に入力として供給することが必要である。乗算
器G0〜G19と関連する論理は、異なる多数の乗算
器に現われる項を全体に共通する作成することに
より大幅に簡単化することが可能なものであるこ
とが理解できる。論理式を実行する実際の回路を
選択することは当該技術に習熟した者の範囲に含
まれるものとみなされている。 以上に付け加えるに、次の制御線をコントロー
ラ12とECCアレー部14との間に接続する。
即ち、初期化設定線56をコトローラ12と各レ
ジスタ30のクリア入力との間に接続する。初期
化設定線56を付勢すると、各レジスタ30はク
リアされる。マスタ・クロロツク線58も同様に
コントローラ12と各レジスタ30との間に接続
する。10個のσエネーブル・クロツク信号60
を、第1図に示すように乗算器S1に接続されて
いるレジスタ62を先頭にして10個のレジスタ3
0にそれぞれ供給する。第2図を参照する。マル
チプレクサ選択線1を上側マルチプレクサ34の
マルチプレクサ選択入力に接続する。マルチプレ
クサ選択線2を下側マルチプレクサ36の選択入
力に接続する。エネーブル検出線をアンド・ゲー
ト46及びフイードバツク・マルチプレクサ42
の選択入力Sに接続する。パリテイ・シンドロー
ム読み込み選択線をフイードバツク・マルチプレ
クサ42のエネーブル入力EN及び出力マルチプ
レクサ50の選択入力Sに接続し、これが「オ
フ」のときは出力マルチプレクサ50のB入力を
選択し、かつフイードバツク・マルチプレクサ4
2を減勢する。これが減勢されたときは、フイー
ドバツク・マルチプレクサ42は全て零を出力す
る。 符号化 誤り訂正装置を簡単に説明したので、その符号
化動作をここで説明する。 伝送した符号ワードは2つの部分、即ち第1部
分のk情報シンボル及び第2部分の2tパリテイ・
チエツク・シンボルに分割可能であり、各シンボ
ルは長さが8ビツトである。一つの符号ワードに
おけるシンボルの最大数は255(2m−1、m=8)
である。10誤り訂正リード・ソロモン符号のパリ
テイ・チエツク・シンボル数は20(t=10)であ
る。以下において、nは伝送すべき符号ワードの
長さに等しとみなし、n−kはパリテイ・チエツ
ク・シンボル数に等しい。多項式で表わす伝送し
た符号ワードC(X)は C(X)=o-K-1 〓i=0 CiXi+o-1 〓i=0 CiXi Whereo-1 〓i=0 CiXi=Xn-kI(X)、 ando-k-1 〓i=0 CiXi=r(X)、 である。ただし、r(X)はG(X)によりXn-kI(X)を
割算した結果の剰余である。即ち生成多項式は Xn-kI(X)+r(X)=Q(X)G(X)、 又は C(X)=Q(X)G(X)、 であり、Q(X)は不使用の商であり、r(X)はn−k
パリテイ・チエツク・シンボルを構成する。 符号化装置は、G(X)によりXn-kI(X)を割算し、
Xn-kI(X)に付加できるように剰余r(X)を伝送す
る。 誤り訂正装置10は情報シンボルを次のように
符号化する。マルチプレクサ50の出力は最初は
ECC入力データをECC出力データ線24上に出
力するように設定される。上側マルチプレクサ3
4はA入力を通過させるように設定される。フイ
ードバツク・マルチプレクサ42はB入力を通過
させるように設定させる。アンド・ゲート46は
デイスエーブルされる。このように設定される
と、ECCアレー部14は第3図に示すような等
価回路で動作する。 情報シンボルはECC入力データ線22を介し
て1つずつ上位のものを先にして伝送される。各
情報シンボルはECC入力データ線22を介して
先頭排他的論理和ゲート40に、次いでフイード
バツク・マルチプレクサ42を介して乗算器アレ
ー44に送られ、そこで生成多項式G(X)の係数で
あるシンボルが20個の乗算器G0〜G19により乗算
される。その乗算出力は直接、線54から得ら
れ、下側マルチプレクサ36を介して排他的論理
和ゲート32の1組の入力に渡す。マスタ・クロ
ツクは各情報シンボルに対して1回のクロツク動
作をすることにより、排他的論理和ゲート32に
現われる情報をレジスタ30に書き込む。 これにより書き込まれた情報はレジスタ30の
出力から得ることができる。この出力は前述のよ
うに上側マルチプレクサ34(B入力)を介して
排他的論理和ゲート32の第2組の入力と乗算さ
れる。第2情報シンボルがECC入力データ線2
2に出力されたときは、乗算器G0〜G19により乗
算された第1情報シンボルの結果は、排他的論理
和ゲート32にて乗算された第2情報シンボルの
結果と排他的論理和がとられる。レジスタ30
は、第2のマスタ・クロツクが入力されると、こ
の排他的論理和の結果を記憶する。この処理は、
全情報シンボルが乗算器アレー44を介してクロ
ツク駆動されるまで続く。 当該技術分野で知られているように、以上の一
連の動作により生成多項式G(X)によりXn-kを乗
算した情報シンボルを割算する。割算すると、20
シンボルからなる剰余がレジスタ30内に剰余と
して残る。パリテイ・チエツク・シンボルである
剰余を取り出すため、コントローラ12は、出力
マルチプレクサ50のB入力を選択してレジスタ
38の出力とECC出力データ線24とを接続し、
更にフイードバツク・マルチプレクサ42をデイ
スエーブルする。これにより全て0を排他的論理
ゲート32に送る。上側マルチプレクサ34の設
定は変更することなく保持される。これにより排
他的論理和ゲート32の論理機能を論理和機能に
変換することになり、シンボルを1のレジスタか
ら他のレジスタに修飾することなく転送させる。 このように接続されると、ECCアレー部14
は第4図に示す等価回路として機能する。まず、
出力マルチプレクサ50のB入力が選択される
と、レジスタ38の第1パリテイ・シンボルが得
られる。マスタ・クロツクがレジスタ30をクロ
ツク駆動すると、前段のレジスタのシンボルが次
のレジスタに読み込まれ、第2パリテイ・シンボ
ルがレジスタ38の出力から得られる。19以上即
ち総計20回のマスタ・クロツクのパルスにより各
パリテイ・シンボルがECC出力データ線24に
クロツク出力される。全てのパリテイ・シンボル
がクロツク出力されると、符号ワードC(X)の終り
となる。 情報シンボルI(X)は最上位が最初に得られるも
のであることに注意すべきである。k個の情報シ
ンボルが存在するものとすると、I0+I1X+I2X2
+……Ik-1Xk-1、シンボルIk-1Xk-1がECC入力デ
ータ線22に現われる。このシンボルはECCア
レー部14に供給されて割算される。また、これ
によりI(X)多項式においてn−kより大きい次数
の最上位の符号ワードC(X)を出力することにな
る。この変換により情報シンボルIk-1Xk-1をXn-k
により乗算することになるので、 C1Xn-1=Xn-1Ik-1Xk-1 又は C1Xn-1=Ik-1Xn-1 となる。剰余r(X)もECC出力データ線24に、
最上位を最初にして供給される。従つて、 Co-k-1Xn-k-1=r19X19 かつ C0=r0X0 となる。 最上位のレジスタ38の後に右端からI(X)を供
給することは、Xn-kI(X)をG(X)により割算する
ことと等価であるが、これは当業者に明らかなこ
とであり、下記に説明する通常の割算回路を考慮
すれば明らかになるであろう。 誤り検出 符号化処理から符号ワードC(X)は生成多項式G
(X)の倍数、即ち C(X)=G(X)Q(X) であることを知る。 符号ワードを誤りなく受信したときは、生成多
項式G(X)により符号C(X)を割算した結果は、剰余
r(X)が0値となる。従つて、当該装置は、誤り検
出において生成多項式G(X)により符号ワードC(X)
を割算し、マイクロプロセツサに対してレジスタ
30の内容をシフト出力して剰余r(X)が0となる
ことを調べるように設定し、マイクロプロセツサ
により0についての試験を実行させることができ
る。 動作において、回路はやや変わつた方法にて設
定され、割算及び試験を実行する。コントローラ
12はコントローラ12からのエネーブル検出線
を付勢することによりアンド・ゲート46をエネ
ーブルする。コントローラ12は下側マルチプレ
クサ36のA入力、上側マルチプレクサ34のB
入力及びフイードバツク・マルチプレクサ42の
A入力を選択する。このように設定されたとき
は、ECCアレー部14は第5図に示すようにな
る。 符号ワードはECC入力データ線22にシンボ
ル毎に、最上位を最初にして供給する。シンボル
はレジスタ30を介して最下位レジスタから最上
位レジスタへとクロツク入力され、次いでフイー
ドバツク・マルチプレクサ42を介して乗算器ア
レー44にフイードバツクされ、ここで最上位シ
ンボルは乗算器G0〜G19により、生成多項式の係
数に対して乗算される。この処理は、各符号ワー
ド・シンボルが最下位レジスタ39にクロツク入
力されるまで続き、その時点では割算の剰余がレ
ジスタ30に存在している。 その後、マルチプレクサ50のB入力が選択さ
れ、レジスタ38をECC出力データ線24に接
続する。フイードバツク・マルチプレクサ42が
デイセーブルされ、0がシンボルとして排他的論
理和ゲート32に入力される。ここで、この回路
は第3図に等価のものとなる。レジスタ30は20
回クロツク駆動され、マイクロプロセツサに剰余
を入力して0値について試験させる。剰余のシン
ボルに0でないものがあつたときは、符号ワード
C(X)に誤りが発生していることになる。 シンドロームの生成 符号ワードC(X)が伝送され、ワードR(X)=C(X)
+E(X)を受信ワードとし、E(X)を誤りワードとす
ると、 R(X)=C(X)+E(X) C(X)は生成多項式G(X)の倍数であるから、 G(X)=2t-1 πi=0 (X−αi) C(X)=Q(X)(X−α0)(X−α1) ……(X−α2t-1) 以上のことから、αi=α0、
α1、α2……α2t-1のときは、符号ワードC(αj)=
0であることが解る。従つて、 R(αi)=0+E((αi) 更に、各αi、i=0、1、2……2t−1にて評
価した受信ワードR(X)が0のときにのみ、受信ワ
ードR(X)は送信した符号ワードC(X)であることも
解る。もし何らかの誤りが発生すると、αi(i=
0、1、2……2t−1)におけるR(X)の評価の1
つ以上が0値とならない。誤りの位置及びその値
は0でない値から計算することができる(シンド
ロームとして知られている)。 この実施例における2tシンドロームはSi=R
(αi)(i=0、1、2……19、t=10)である。 シンドロームSiはX−αiによりR(X)を割算する
ことにより算出することができる。この割算によ
り次式の結果を得る。 R(X)=C(X)(X−αi)+Bi、 ただし、剰余Biは、GF(2m)における定数であ
る。この等式の両辺におけるXをαiにより置換す
ると、 R(αi)=C(αi)(αi−αi)+Bi、 Si=0+Bi=Bi 受信ワードR(X)を排他的論理和ゲート32の1
組の入力としてシンボル毎に供給する第6図に示
すような回路により割算を実行することができ
る。この排他的論理和ゲート32では排他的論理
和をその2つの入力組における対応する次数の各
ビツトについてビツト毎に行なう。排他的論理和
ゲート32の出力はビツト毎にレジスタ30に記
憶される。レジスタ30の出力はビツト毎にαiに
り乗算回路62に供給される。乗算回路62の8
次の出力は排他的論理和ゲート32の第2入力セ
ツトとして供給される。 受信ワードR(X)の各シンボルがαiの乗算回路6
2を介してクロツク駆動されると、シンドローム
Siからなる剰余即ち余りがレジスタ30に残る。
このレジスタ30の内容はECCアレー部14か
らマイクロプロセツサにクロツクにより転送さ
れ、マイクロプロセツサにおいてシンドロームSi
を他の19シンドロームと関連させて誤り位置多項
式の係数を計算するのに用いることができる。 第1図を参照すると、制御回路は、上側マルチ
プレクサ34のA入力を選択し、かつ下側マルチ
プレクサ36のB入力を選択することにより、シ
ンドロームSi(i=0、1、2……19)を計算す
るようにECCアレー部14を設定する。上側マ
ルチプレクサ34のA入力を選択することによ
り、第6図に示すように乗算器S0,S1,……S19
を排他的論理和ゲート32に接続させる。下側マ
ルチプレクサ36のB入力を選択することによ
り、ECC入力データ線22を排他的論理和ゲー
ト32の他の入力に接続させる。これらは第6図
のR(X)入力に等価である。受信ワードR(X)は
ECC入力データ線22を介して最上位を最初に
してシンボル毎に供給される。その後、ECCア
レー部14はn回クロツク駆動され、並列に20シ
ンドロームS0,S1,……S19を算出する。 シンドロームS0,S1,……S19は、算出された
後、レジスタ30に入力される。次いでコントロ
ーラ12は上側マルチプレクサ34のB入力及び
下側マルチプレクサ36のA入力を選択し、フイ
ードバツク・マルチプレクサ42をデイスエーブ
ルして0シンボル・データを排他的論理和ゲート
32に供給し、ECCアレー部14を20回クロツ
ク駆動することにより、ECCアレー部14から
ECC出力データ線24に20個の全シンドローム
を読み出す。 チエン検索 マイクロプロセツサがシンドロームSi(i=0、
1、2……19)を受け取つた後、バールカンプの
アルゴリズムを用いてこのシンドロームから誤り
位置多項式σ(X)の係数を計算する。σ(X)の係数が
解ると、αiにおける多項式 σ(X)=σ10X10+σ9X+σ8X8 +……σ2X2+σ1X+1、 の評価により、σ(αi)=0のときは、α-iにて1
つの誤り位置を導き出す。これは、 σ10(αi)+σ9(αi)9+……+σ2(αi)2 +σ1(αi)=1 に等しい。 第2図に示すような回路は、チエン検索機能を
実行する。この回路は、10個のレジスタ30と、
対応するべきαによりレジスタ30の内容を乗算
してレジスタ30にフイードバツクする乗算器
S1,S2,S3……S10と、互に直列に接続されると
共にレジスタ30の出力に接続された9個のモジ
ユロ2の加算ゲート52とからなる。レジスタ3
0の他の入力は、誤り位置多項式の係数σ1,σ2,
……σ10からなる。これらの入力はレジスタ30
に初期設定される。その後、レジスタ30内に値
σ10α10、σ9α9、σ8α8……σ1α1を形成するように
レ
ジスタ30は1回クロツク駆動される。加算器5
2によりこれらレジスタ30をモジユロ2の加算
をすることにより、チエン検索出力データ線26
にα、即ちσ(α)−1における誤り位置多項式の
評価を得る。このチエン検索出力はコントローラ
12により評価される。この評価の結果が1に等
しいとき、即ちチエン検索出力データ線26上の
8ビツト出力の最小位ビツトのみが0値でないと
きは、1つの誤り位置が検出されたことになる。
誤りの位置はα-1である。位置α-1は、α-1=
α255-1=α254であるので、受信ワードR(X)におけ
るX254に対応し、その符号は循環的な乗算のもで
ある。 コントローラ12がチエン検索出力のシンボル
が1の値であることを判断すると、このことをマ
イクロプロセツサに通知する。誤りの実際の位置
はマイクロプロセツサ内のカウンタに設定され
る。 α2における誤り位置多項式を評価するため、レ
ジスタ30をもう1回クロツク駆動することによ
り、再度αi(i=1、2、……10)のべき数によ
りレジスタ30の内容を乗算する。もし、誤りが
検出されると、位置X253には誤りがある。受信ワ
ードR(X)の可能とする各位置における誤り多項式
を評価するため、レジスタ30を符号ワードの最
大長に対応した総計255回だけクロツク駆動しな
ければならない。しかし、パリテイ・チエツク・
シンボルに発生する誤りについては通常問題とす
るものではない。従つて、パリテイ・チエツク・
シンボルは受信ワードR(X)、即ち R0、R1X、R2X2……R2t-1X2t-1 の最下位置に発生するので、tを誤り数とすると
きは、レジスタ30は255−2t回だけクロツク駆
動させればよい。 第1図を参照するに、コントローラ12は以下
のようにECCアレー部14を条件設定して乗算
器S1〜乗算器S10に対応するレジスタ30に誤り
位置多項式σ(X)の係数を最初に設定することによ
り、チエン検索機能を実行する。即ち、レジスタ
30をまず0に初期設定して下側マルチプレクサ
のB入力を選択することにより、ECC入力入力
データ線22を排他的論理和ゲート32に接続す
る。レジスタ30の内容が0であるので、レジス
タ30に図に示す右から左へ情報をロードしたと
きは、排他的論理和ゲート32は情報を変化させ
ることなく、ECC入力データ線22を介してレ
ジスタ30に転送する。従つて、誤り位置多項式
σ(X)の係数は、最下位の係数σ1を最初に、かつ最
上位の係数を最後にして得られる。σ1がマイクロ
プロセツサによりECCアレー部14に送られる
と、コントローラ12はσ1エネーブル信号60を
介してレジスタ62をエネーブルしてクロツク駆
動する。同じような処理をσ1〜σ10について実行
し、誤り位置多項知の各係数をレジスタ30に個
別的にクロツク入力する。これらの係数がロード
されると、コントローラ12はECC入力データ
線22に0値のシンボルを出力するので、排他的
論理和ゲート32は論理和ゲートに変化すること
になり、上側マルチプレクサ34から出力された
情報を変化させることなくレジスタ30に渡す。
コントローラ12は上側マルチプレクサ34のA
入力を選択し、乗算器S1,S2……S10を排他的論
理和ゲート32に接続する。次にレジスタ30は
1回クロツク駆動され、α1における誤り位置多項
式を評価する。レジスタ30の出力“S1”〜
“S10”は第2図に示すように接続された排他的論
理和ゲート52に入力されるので、レジスタ30
のモジユロ2の和がチエン検索出力データ線26
に得られる。チエン検索出力はフイードバツクと
してコントローラ12に供給され、更にコントロ
ーラ12はこの出力をフイードバツクとしてマイ
クロプロセツサに供給する。チエン検索出力が以
上で述べたように1に等しいときは、1つの誤り
位置を検出したことになる。コントローラ12は
レジスタ30を2m−2t−1回クロツク駆動する。
ただし、mは符号シンボルの長さであり、2tはパ
リテイ・チエツク・シンボルの数である。 誤り位置が検出された後、その位置の誤りの値
は以上述べたようにYiについて誤り値の式を解く
ことにより検出することができる。 バースト誤りの捕捉 本発明の回路はバースト誤りの捕捉も実行でき
る。リード・ソロモン符号はサイクリツクなもの
であるから、最大長tの単一バーストの誤りを捕
捉するのに用いられる。ただし、tは、誤りを1
符号ワード内の連続的なシンボルに限定したとき
の符号の誤り訂正能力である。 コントローラ12は、バースト誤りを捕捉する
ために、上側マルチプレクサ34のB入力、下側
マルチプレクサ36のA入力及びマルチプレクサ
42のB入力を選択する。この構成の回路は生成
多項式G(X)により受信ワードXn-kR(X)を割算す
るようにセツトされる。入来する受信ワードR(X)
は最上位を最初にしてECCアレー部14にシン
ボル毎に巡還される。ECCアレー部14は受信
ワードR(X)のnシンボルに対してn回クロツク駆
動される。受信ワードR(X)の全シンボルがECC
アレー部14にクロツク入力された後、コントロ
ーラ12はECC入力データ線22をデイスエー
ブルし、全て0のシンボルを出力する。次にコン
トローラ12はレジスタ30を更にn−2t回又は
ECC出力データ線24にt以上の0が検出され
るまで、クロツク駆動する。ただし、tは符号の
長さである。この時点でバースト誤りの大きさは
次のt以下のレジスタ30に存在し、対応してシ
フトされた受信ワードR(X)のシンボルに対して次
のt以下の0でないシンボルの内容を直接モジユ
ロ2で加算することによつてバースト誤りを訂正
するのに用いられる。ピータソン及びウエルドン
著、誤り訂正符号、第2刷(1972年)、第11章、
特に第11.3章を参照のこと。 実施例における要素数は特許請求の範囲を限定
するものでないと解釈されるべきである。
わし、一方等号の右の数は入力数を表わす。プラ
ス符号は排他的論理和に等価なモジロ(modulo)
2の加算を表わす。 上記表の数学的意味は、例により説明するのが
最良である。GF(2m)の2要素、Y(α)及びA
(α)の乗算は、 Y(α)=Yn-1αm-1 +Yn-2αm-2+……Y0α0、 A(α)=An-1αm-1 +An-2αm-2+……A0α0 としたときは Y(α)A(α)=Yn-1αm-2(An-1αm-1 +An-2αm-2……A0α0)Yn-2αm-2 (An-1αm-1+An-2αm-2……A0α0) *** +Y0α0(An-1αm-1+An-2αm-2 +……A0α0). と表わすことができる。このことから Y(α)A(α)=Yn-1(An-1αm-1αm-1 +An-2αm-2αm-1+……A0α0αm-1) +Yn-2(An-1αm-1αm-2 +An-2αm-2αm-2+……A0α0αm-2 *** +Y0(An-1αm-1α0 +An-2αm-2α0+……A0α0α0 =Yn-1A(αm-1) +Yn-2A(αm-2) *** +Y0A(α0) となる。 生成多項式G(X)のG0の係数である A(α)=α190とすると、 A(α0)=α190 A(α1)=α191 A(α2)=α192 *** A(α7)=α197、and Y(α)α190=Y7α197+Y6α196 +Y5α195+……Y0α190. 第1表から α190=α7+α5+α3+α2+α1 α191=α6+α0 α192=α7+α1 α193=α4+α3+α0 α194=α5+α4+α1 α195=α6+α5+α2 α196=α7+α6+α3 α197=α7+α3+α2+α0 各αiは、積Y(α)α190からなる8項であり、
Z(α)により表わすことができる。 Z(α)=Y1α0+Y3α0+Y7α0 +Y0α1+Y2α1+Y4α1+Y6α1 +Y1α2+Y2α2+Y3α2+Y7α2 +Y2α3+Y5α3 +Y1α4+Y5α4+Y6α4 +Y0α5+Y2α5+Y6α5+Y7α5 +Y1α6+Y3α6+Y7α6 +Y0α7+Y2α7+Y4α7 Z(α)が Z(α)=Z7α7+Z6α6+……Z0α0、 により表わされるときは、 Z0=Y4+Y2+Y7 Z1=Y0+Y2+Y4+Y6 Z2=Y1+Y2+Y3+Y7 Z3=Y2+Y5 Z4=Y1+Y5+Y6 Z5=Y0+Y2+Y6+Y7 Z6=Y1+Y3+Y7 Z7=Y0+Y3+Y4 となる。 視察からZiのこれら最終式はG0=α190の第2表
に対応することが明らかである。 上記の表から乗算器S0〜S19は固定された定数
α0〜α19により入力をそれぞれ乗算し、一方乗算
器G0〜G19は生成多項式G(X)の対応係数、即ち
α190,α188……α17により入力を乗算する。 乗算器S0〜S19の各入力は関連するレジスタ3
0から供給される。これに対し乗算器G0〜G19に
対する各入力は単一信号源である。マルチプレク
サ42から供給される。この結果、同一シンボル
が並列に20の定数G0〜G19により乗算される。 上記の乗算論理を実際に実行することにより、
回路を簡単にし、また反復される論理パターンを
共用することにより冗長性を少なくしようとする
ものである。例えば、乗算器S2において、パター
ン“6+7”は式“3”及び“4”において反復
される。“6+7”の1回路のみを実行する必要
があり、かつその出力を“3”及“4”回路の両
方に入力として供給することが必要である。乗算
器G0〜G19と関連する論理は、異なる多数の乗算
器に現われる項を全体に共通する作成することに
より大幅に簡単化することが可能なものであるこ
とが理解できる。論理式を実行する実際の回路を
選択することは当該技術に習熟した者の範囲に含
まれるものとみなされている。 以上に付け加えるに、次の制御線をコントロー
ラ12とECCアレー部14との間に接続する。
即ち、初期化設定線56をコトローラ12と各レ
ジスタ30のクリア入力との間に接続する。初期
化設定線56を付勢すると、各レジスタ30はク
リアされる。マスタ・クロロツク線58も同様に
コントローラ12と各レジスタ30との間に接続
する。10個のσエネーブル・クロツク信号60
を、第1図に示すように乗算器S1に接続されて
いるレジスタ62を先頭にして10個のレジスタ3
0にそれぞれ供給する。第2図を参照する。マル
チプレクサ選択線1を上側マルチプレクサ34の
マルチプレクサ選択入力に接続する。マルチプレ
クサ選択線2を下側マルチプレクサ36の選択入
力に接続する。エネーブル検出線をアンド・ゲー
ト46及びフイードバツク・マルチプレクサ42
の選択入力Sに接続する。パリテイ・シンドロー
ム読み込み選択線をフイードバツク・マルチプレ
クサ42のエネーブル入力EN及び出力マルチプ
レクサ50の選択入力Sに接続し、これが「オ
フ」のときは出力マルチプレクサ50のB入力を
選択し、かつフイードバツク・マルチプレクサ4
2を減勢する。これが減勢されたときは、フイー
ドバツク・マルチプレクサ42は全て零を出力す
る。 符号化 誤り訂正装置を簡単に説明したので、その符号
化動作をここで説明する。 伝送した符号ワードは2つの部分、即ち第1部
分のk情報シンボル及び第2部分の2tパリテイ・
チエツク・シンボルに分割可能であり、各シンボ
ルは長さが8ビツトである。一つの符号ワードに
おけるシンボルの最大数は255(2m−1、m=8)
である。10誤り訂正リード・ソロモン符号のパリ
テイ・チエツク・シンボル数は20(t=10)であ
る。以下において、nは伝送すべき符号ワードの
長さに等しとみなし、n−kはパリテイ・チエツ
ク・シンボル数に等しい。多項式で表わす伝送し
た符号ワードC(X)は C(X)=o-K-1 〓i=0 CiXi+o-1 〓i=0 CiXi Whereo-1 〓i=0 CiXi=Xn-kI(X)、 ando-k-1 〓i=0 CiXi=r(X)、 である。ただし、r(X)はG(X)によりXn-kI(X)を
割算した結果の剰余である。即ち生成多項式は Xn-kI(X)+r(X)=Q(X)G(X)、 又は C(X)=Q(X)G(X)、 であり、Q(X)は不使用の商であり、r(X)はn−k
パリテイ・チエツク・シンボルを構成する。 符号化装置は、G(X)によりXn-kI(X)を割算し、
Xn-kI(X)に付加できるように剰余r(X)を伝送す
る。 誤り訂正装置10は情報シンボルを次のように
符号化する。マルチプレクサ50の出力は最初は
ECC入力データをECC出力データ線24上に出
力するように設定される。上側マルチプレクサ3
4はA入力を通過させるように設定される。フイ
ードバツク・マルチプレクサ42はB入力を通過
させるように設定させる。アンド・ゲート46は
デイスエーブルされる。このように設定される
と、ECCアレー部14は第3図に示すような等
価回路で動作する。 情報シンボルはECC入力データ線22を介し
て1つずつ上位のものを先にして伝送される。各
情報シンボルはECC入力データ線22を介して
先頭排他的論理和ゲート40に、次いでフイード
バツク・マルチプレクサ42を介して乗算器アレ
ー44に送られ、そこで生成多項式G(X)の係数で
あるシンボルが20個の乗算器G0〜G19により乗算
される。その乗算出力は直接、線54から得ら
れ、下側マルチプレクサ36を介して排他的論理
和ゲート32の1組の入力に渡す。マスタ・クロ
ツクは各情報シンボルに対して1回のクロツク動
作をすることにより、排他的論理和ゲート32に
現われる情報をレジスタ30に書き込む。 これにより書き込まれた情報はレジスタ30の
出力から得ることができる。この出力は前述のよ
うに上側マルチプレクサ34(B入力)を介して
排他的論理和ゲート32の第2組の入力と乗算さ
れる。第2情報シンボルがECC入力データ線2
2に出力されたときは、乗算器G0〜G19により乗
算された第1情報シンボルの結果は、排他的論理
和ゲート32にて乗算された第2情報シンボルの
結果と排他的論理和がとられる。レジスタ30
は、第2のマスタ・クロツクが入力されると、こ
の排他的論理和の結果を記憶する。この処理は、
全情報シンボルが乗算器アレー44を介してクロ
ツク駆動されるまで続く。 当該技術分野で知られているように、以上の一
連の動作により生成多項式G(X)によりXn-kを乗
算した情報シンボルを割算する。割算すると、20
シンボルからなる剰余がレジスタ30内に剰余と
して残る。パリテイ・チエツク・シンボルである
剰余を取り出すため、コントローラ12は、出力
マルチプレクサ50のB入力を選択してレジスタ
38の出力とECC出力データ線24とを接続し、
更にフイードバツク・マルチプレクサ42をデイ
スエーブルする。これにより全て0を排他的論理
ゲート32に送る。上側マルチプレクサ34の設
定は変更することなく保持される。これにより排
他的論理和ゲート32の論理機能を論理和機能に
変換することになり、シンボルを1のレジスタか
ら他のレジスタに修飾することなく転送させる。 このように接続されると、ECCアレー部14
は第4図に示す等価回路として機能する。まず、
出力マルチプレクサ50のB入力が選択される
と、レジスタ38の第1パリテイ・シンボルが得
られる。マスタ・クロツクがレジスタ30をクロ
ツク駆動すると、前段のレジスタのシンボルが次
のレジスタに読み込まれ、第2パリテイ・シンボ
ルがレジスタ38の出力から得られる。19以上即
ち総計20回のマスタ・クロツクのパルスにより各
パリテイ・シンボルがECC出力データ線24に
クロツク出力される。全てのパリテイ・シンボル
がクロツク出力されると、符号ワードC(X)の終り
となる。 情報シンボルI(X)は最上位が最初に得られるも
のであることに注意すべきである。k個の情報シ
ンボルが存在するものとすると、I0+I1X+I2X2
+……Ik-1Xk-1、シンボルIk-1Xk-1がECC入力デ
ータ線22に現われる。このシンボルはECCア
レー部14に供給されて割算される。また、これ
によりI(X)多項式においてn−kより大きい次数
の最上位の符号ワードC(X)を出力することにな
る。この変換により情報シンボルIk-1Xk-1をXn-k
により乗算することになるので、 C1Xn-1=Xn-1Ik-1Xk-1 又は C1Xn-1=Ik-1Xn-1 となる。剰余r(X)もECC出力データ線24に、
最上位を最初にして供給される。従つて、 Co-k-1Xn-k-1=r19X19 かつ C0=r0X0 となる。 最上位のレジスタ38の後に右端からI(X)を供
給することは、Xn-kI(X)をG(X)により割算する
ことと等価であるが、これは当業者に明らかなこ
とであり、下記に説明する通常の割算回路を考慮
すれば明らかになるであろう。 誤り検出 符号化処理から符号ワードC(X)は生成多項式G
(X)の倍数、即ち C(X)=G(X)Q(X) であることを知る。 符号ワードを誤りなく受信したときは、生成多
項式G(X)により符号C(X)を割算した結果は、剰余
r(X)が0値となる。従つて、当該装置は、誤り検
出において生成多項式G(X)により符号ワードC(X)
を割算し、マイクロプロセツサに対してレジスタ
30の内容をシフト出力して剰余r(X)が0となる
ことを調べるように設定し、マイクロプロセツサ
により0についての試験を実行させることができ
る。 動作において、回路はやや変わつた方法にて設
定され、割算及び試験を実行する。コントローラ
12はコントローラ12からのエネーブル検出線
を付勢することによりアンド・ゲート46をエネ
ーブルする。コントローラ12は下側マルチプレ
クサ36のA入力、上側マルチプレクサ34のB
入力及びフイードバツク・マルチプレクサ42の
A入力を選択する。このように設定されたとき
は、ECCアレー部14は第5図に示すようにな
る。 符号ワードはECC入力データ線22にシンボ
ル毎に、最上位を最初にして供給する。シンボル
はレジスタ30を介して最下位レジスタから最上
位レジスタへとクロツク入力され、次いでフイー
ドバツク・マルチプレクサ42を介して乗算器ア
レー44にフイードバツクされ、ここで最上位シ
ンボルは乗算器G0〜G19により、生成多項式の係
数に対して乗算される。この処理は、各符号ワー
ド・シンボルが最下位レジスタ39にクロツク入
力されるまで続き、その時点では割算の剰余がレ
ジスタ30に存在している。 その後、マルチプレクサ50のB入力が選択さ
れ、レジスタ38をECC出力データ線24に接
続する。フイードバツク・マルチプレクサ42が
デイセーブルされ、0がシンボルとして排他的論
理和ゲート32に入力される。ここで、この回路
は第3図に等価のものとなる。レジスタ30は20
回クロツク駆動され、マイクロプロセツサに剰余
を入力して0値について試験させる。剰余のシン
ボルに0でないものがあつたときは、符号ワード
C(X)に誤りが発生していることになる。 シンドロームの生成 符号ワードC(X)が伝送され、ワードR(X)=C(X)
+E(X)を受信ワードとし、E(X)を誤りワードとす
ると、 R(X)=C(X)+E(X) C(X)は生成多項式G(X)の倍数であるから、 G(X)=2t-1 πi=0 (X−αi) C(X)=Q(X)(X−α0)(X−α1) ……(X−α2t-1) 以上のことから、αi=α0、
α1、α2……α2t-1のときは、符号ワードC(αj)=
0であることが解る。従つて、 R(αi)=0+E((αi) 更に、各αi、i=0、1、2……2t−1にて評
価した受信ワードR(X)が0のときにのみ、受信ワ
ードR(X)は送信した符号ワードC(X)であることも
解る。もし何らかの誤りが発生すると、αi(i=
0、1、2……2t−1)におけるR(X)の評価の1
つ以上が0値とならない。誤りの位置及びその値
は0でない値から計算することができる(シンド
ロームとして知られている)。 この実施例における2tシンドロームはSi=R
(αi)(i=0、1、2……19、t=10)である。 シンドロームSiはX−αiによりR(X)を割算する
ことにより算出することができる。この割算によ
り次式の結果を得る。 R(X)=C(X)(X−αi)+Bi、 ただし、剰余Biは、GF(2m)における定数であ
る。この等式の両辺におけるXをαiにより置換す
ると、 R(αi)=C(αi)(αi−αi)+Bi、 Si=0+Bi=Bi 受信ワードR(X)を排他的論理和ゲート32の1
組の入力としてシンボル毎に供給する第6図に示
すような回路により割算を実行することができ
る。この排他的論理和ゲート32では排他的論理
和をその2つの入力組における対応する次数の各
ビツトについてビツト毎に行なう。排他的論理和
ゲート32の出力はビツト毎にレジスタ30に記
憶される。レジスタ30の出力はビツト毎にαiに
り乗算回路62に供給される。乗算回路62の8
次の出力は排他的論理和ゲート32の第2入力セ
ツトとして供給される。 受信ワードR(X)の各シンボルがαiの乗算回路6
2を介してクロツク駆動されると、シンドローム
Siからなる剰余即ち余りがレジスタ30に残る。
このレジスタ30の内容はECCアレー部14か
らマイクロプロセツサにクロツクにより転送さ
れ、マイクロプロセツサにおいてシンドロームSi
を他の19シンドロームと関連させて誤り位置多項
式の係数を計算するのに用いることができる。 第1図を参照すると、制御回路は、上側マルチ
プレクサ34のA入力を選択し、かつ下側マルチ
プレクサ36のB入力を選択することにより、シ
ンドロームSi(i=0、1、2……19)を計算す
るようにECCアレー部14を設定する。上側マ
ルチプレクサ34のA入力を選択することによ
り、第6図に示すように乗算器S0,S1,……S19
を排他的論理和ゲート32に接続させる。下側マ
ルチプレクサ36のB入力を選択することによ
り、ECC入力データ線22を排他的論理和ゲー
ト32の他の入力に接続させる。これらは第6図
のR(X)入力に等価である。受信ワードR(X)は
ECC入力データ線22を介して最上位を最初に
してシンボル毎に供給される。その後、ECCア
レー部14はn回クロツク駆動され、並列に20シ
ンドロームS0,S1,……S19を算出する。 シンドロームS0,S1,……S19は、算出された
後、レジスタ30に入力される。次いでコントロ
ーラ12は上側マルチプレクサ34のB入力及び
下側マルチプレクサ36のA入力を選択し、フイ
ードバツク・マルチプレクサ42をデイスエーブ
ルして0シンボル・データを排他的論理和ゲート
32に供給し、ECCアレー部14を20回クロツ
ク駆動することにより、ECCアレー部14から
ECC出力データ線24に20個の全シンドローム
を読み出す。 チエン検索 マイクロプロセツサがシンドロームSi(i=0、
1、2……19)を受け取つた後、バールカンプの
アルゴリズムを用いてこのシンドロームから誤り
位置多項式σ(X)の係数を計算する。σ(X)の係数が
解ると、αiにおける多項式 σ(X)=σ10X10+σ9X+σ8X8 +……σ2X2+σ1X+1、 の評価により、σ(αi)=0のときは、α-iにて1
つの誤り位置を導き出す。これは、 σ10(αi)+σ9(αi)9+……+σ2(αi)2 +σ1(αi)=1 に等しい。 第2図に示すような回路は、チエン検索機能を
実行する。この回路は、10個のレジスタ30と、
対応するべきαによりレジスタ30の内容を乗算
してレジスタ30にフイードバツクする乗算器
S1,S2,S3……S10と、互に直列に接続されると
共にレジスタ30の出力に接続された9個のモジ
ユロ2の加算ゲート52とからなる。レジスタ3
0の他の入力は、誤り位置多項式の係数σ1,σ2,
……σ10からなる。これらの入力はレジスタ30
に初期設定される。その後、レジスタ30内に値
σ10α10、σ9α9、σ8α8……σ1α1を形成するように
レ
ジスタ30は1回クロツク駆動される。加算器5
2によりこれらレジスタ30をモジユロ2の加算
をすることにより、チエン検索出力データ線26
にα、即ちσ(α)−1における誤り位置多項式の
評価を得る。このチエン検索出力はコントローラ
12により評価される。この評価の結果が1に等
しいとき、即ちチエン検索出力データ線26上の
8ビツト出力の最小位ビツトのみが0値でないと
きは、1つの誤り位置が検出されたことになる。
誤りの位置はα-1である。位置α-1は、α-1=
α255-1=α254であるので、受信ワードR(X)におけ
るX254に対応し、その符号は循環的な乗算のもで
ある。 コントローラ12がチエン検索出力のシンボル
が1の値であることを判断すると、このことをマ
イクロプロセツサに通知する。誤りの実際の位置
はマイクロプロセツサ内のカウンタに設定され
る。 α2における誤り位置多項式を評価するため、レ
ジスタ30をもう1回クロツク駆動することによ
り、再度αi(i=1、2、……10)のべき数によ
りレジスタ30の内容を乗算する。もし、誤りが
検出されると、位置X253には誤りがある。受信ワ
ードR(X)の可能とする各位置における誤り多項式
を評価するため、レジスタ30を符号ワードの最
大長に対応した総計255回だけクロツク駆動しな
ければならない。しかし、パリテイ・チエツク・
シンボルに発生する誤りについては通常問題とす
るものではない。従つて、パリテイ・チエツク・
シンボルは受信ワードR(X)、即ち R0、R1X、R2X2……R2t-1X2t-1 の最下位置に発生するので、tを誤り数とすると
きは、レジスタ30は255−2t回だけクロツク駆
動させればよい。 第1図を参照するに、コントローラ12は以下
のようにECCアレー部14を条件設定して乗算
器S1〜乗算器S10に対応するレジスタ30に誤り
位置多項式σ(X)の係数を最初に設定することによ
り、チエン検索機能を実行する。即ち、レジスタ
30をまず0に初期設定して下側マルチプレクサ
のB入力を選択することにより、ECC入力入力
データ線22を排他的論理和ゲート32に接続す
る。レジスタ30の内容が0であるので、レジス
タ30に図に示す右から左へ情報をロードしたと
きは、排他的論理和ゲート32は情報を変化させ
ることなく、ECC入力データ線22を介してレ
ジスタ30に転送する。従つて、誤り位置多項式
σ(X)の係数は、最下位の係数σ1を最初に、かつ最
上位の係数を最後にして得られる。σ1がマイクロ
プロセツサによりECCアレー部14に送られる
と、コントローラ12はσ1エネーブル信号60を
介してレジスタ62をエネーブルしてクロツク駆
動する。同じような処理をσ1〜σ10について実行
し、誤り位置多項知の各係数をレジスタ30に個
別的にクロツク入力する。これらの係数がロード
されると、コントローラ12はECC入力データ
線22に0値のシンボルを出力するので、排他的
論理和ゲート32は論理和ゲートに変化すること
になり、上側マルチプレクサ34から出力された
情報を変化させることなくレジスタ30に渡す。
コントローラ12は上側マルチプレクサ34のA
入力を選択し、乗算器S1,S2……S10を排他的論
理和ゲート32に接続する。次にレジスタ30は
1回クロツク駆動され、α1における誤り位置多項
式を評価する。レジスタ30の出力“S1”〜
“S10”は第2図に示すように接続された排他的論
理和ゲート52に入力されるので、レジスタ30
のモジユロ2の和がチエン検索出力データ線26
に得られる。チエン検索出力はフイードバツクと
してコントローラ12に供給され、更にコントロ
ーラ12はこの出力をフイードバツクとしてマイ
クロプロセツサに供給する。チエン検索出力が以
上で述べたように1に等しいときは、1つの誤り
位置を検出したことになる。コントローラ12は
レジスタ30を2m−2t−1回クロツク駆動する。
ただし、mは符号シンボルの長さであり、2tはパ
リテイ・チエツク・シンボルの数である。 誤り位置が検出された後、その位置の誤りの値
は以上述べたようにYiについて誤り値の式を解く
ことにより検出することができる。 バースト誤りの捕捉 本発明の回路はバースト誤りの捕捉も実行でき
る。リード・ソロモン符号はサイクリツクなもの
であるから、最大長tの単一バーストの誤りを捕
捉するのに用いられる。ただし、tは、誤りを1
符号ワード内の連続的なシンボルに限定したとき
の符号の誤り訂正能力である。 コントローラ12は、バースト誤りを捕捉する
ために、上側マルチプレクサ34のB入力、下側
マルチプレクサ36のA入力及びマルチプレクサ
42のB入力を選択する。この構成の回路は生成
多項式G(X)により受信ワードXn-kR(X)を割算す
るようにセツトされる。入来する受信ワードR(X)
は最上位を最初にしてECCアレー部14にシン
ボル毎に巡還される。ECCアレー部14は受信
ワードR(X)のnシンボルに対してn回クロツク駆
動される。受信ワードR(X)の全シンボルがECC
アレー部14にクロツク入力された後、コントロ
ーラ12はECC入力データ線22をデイスエー
ブルし、全て0のシンボルを出力する。次にコン
トローラ12はレジスタ30を更にn−2t回又は
ECC出力データ線24にt以上の0が検出され
るまで、クロツク駆動する。ただし、tは符号の
長さである。この時点でバースト誤りの大きさは
次のt以下のレジスタ30に存在し、対応してシ
フトされた受信ワードR(X)のシンボルに対して次
のt以下の0でないシンボルの内容を直接モジユ
ロ2で加算することによつてバースト誤りを訂正
するのに用いられる。ピータソン及びウエルドン
著、誤り訂正符号、第2刷(1972年)、第11章、
特に第11.3章を参照のこと。 実施例における要素数は特許請求の範囲を限定
するものでないと解釈されるべきである。
第1図はこの発明の好ましい実施例による
ECCアレー部及びコントローラのブロツク図、
第2図はチエン検索機能を実行するように接続さ
れたECCアレー部のブロツク図、第3図は符号
化機能を実行するように接続されたECCアレー
部のブロツク図、第4図はシフト・レジスタ機能
を実行するように接続されたECCアレー部のブ
ロツク図、第5図は誤り検出機能を実行するよう
に接続されたECCアレー部のブロツク図、およ
び第6図はシンドロームSiの生成を実行するよう
に接続されたECCアレー部のブロツク図である。 10……誤り訂正装置、12……コントロー
ラ、14……ECCアレー部、16……バス、2
2……ECC入力データ線、24……ECC出力デ
ータ線、30……レジスタ、32,52,64,
70,72……排他的論理和ゲート、34……上
側マルチプレクサ、36……下側マルチプレク
サ、44……ガロワ・フイールド並列乗算器アレ
ー、50……出力マルチプレクサ、G0〜G19……
乗算器、S0〜S19……ガロワ・フイールド乗算器。
ECCアレー部及びコントローラのブロツク図、
第2図はチエン検索機能を実行するように接続さ
れたECCアレー部のブロツク図、第3図は符号
化機能を実行するように接続されたECCアレー
部のブロツク図、第4図はシフト・レジスタ機能
を実行するように接続されたECCアレー部のブ
ロツク図、第5図は誤り検出機能を実行するよう
に接続されたECCアレー部のブロツク図、およ
び第6図はシンドロームSiの生成を実行するよう
に接続されたECCアレー部のブロツク図である。 10……誤り訂正装置、12……コントロー
ラ、14……ECCアレー部、16……バス、2
2……ECC入力データ線、24……ECC出力デ
ータ線、30……レジスタ、32,52,64,
70,72……排他的論理和ゲート、34……上
側マルチプレクサ、36……下側マルチプレク
サ、44……ガロワ・フイールド並列乗算器アレ
ー、50……出力マルチプレクサ、G0〜G19……
乗算器、S0〜S19……ガロワ・フイールド乗算器。
Claims (1)
- 【特許請求の範囲】 1 訂正すべき誤りの数をtとし、mを任意の数
とするときに、mビツトをそれぞれ保持するよう
にされた2t組のレジスタと、 次数によりそれぞれ順序付けされたmビツト2
組の入力の排他的論理和をとり、かつ順序付けさ
れた1組の出力をするようにされると共に、各出
力を対応する次数の前記レジスタの入力に接続し
た2t組の排他的論理和ゲートと、 順序付けされたmビツトの2入力間でそれぞれ
選択をして順序付けされたm個の出力に選択した
組を設定するようにされると共に、第1組の入力
をA組、第2組の入力をB組とし、各出力を対応
する次数の排他的論理和ゲートの順序付けされた
第1組の入力に接続した2t組の上側マルチプレク
サと、 順序付けされたmビツト2組の入力間でそれぞ
れ選択をして順序付けられた出力に選択した組を
設定するようにされると共に、第1組の入力をA
組、第2組の入力をB組とし、各出力を対応する
次数の排他的論理ゲートの順序付けされた第2組
の入力に接続した2t組の下側マルチプレクサと、
i(i=0、1、2……2t−1)がその次数に対
応し、αiがガロワ・フイールド(2m)のm項であ
るときに、順序付けされたmビツト入力をαiによ
りそれぞれ乗算するようにした2t組の第1ガロ
ワ・フイールド乗算器であつて、順序付けされた
前記乗算器の入力をそれぞれ逆に順序付けされた
前記レジスタの入力に接続し、かつ順序付けされ
た前記乗算器の出力をそれぞれ逆に順序付けされ
た上側マルチプレクサのA入力組に接続した前記
第1ガロワ・フイールド乗算器と、 順序付けされたmビツト入力を G(X)=2t-1 πi=0 (X−αi) から得た生成多項式G(X)の対応する次数の係数に
より乗算するようにそれぞれ順序付けされた2t組
の第2ガロワ・フイールド乗算器と、 順序付けされたmビツト2組の入力間で選択を
して順序付けされたm個の出力に選択した組を設
定するようにされると共に、第1組の入力をA
組、第2組の入力をB組とし、前記出力を前記各
第2ガロワ・フイールド乗算器の入力に接続し、
前記レジスタの最上位の出力を前記A組に接続さ
せたフイードバツク・マルチプレクサと、 次数により順序付けされたmビツト2組の入力
の排他的論理和をとつて順序付けされた1組出力
に供給するようにされると共に、第1組の各入力
を前記レジスタの最上位の出力に接続し、かつ各
出力を前記フイードバツク・マルチプレクサのB
入力組に接続した先頭排他的論理和ゲートと、 前記レジスタの最上位の出力に接続した誤り訂
正出力データ線と、 前記先頭排他的論理和ゲートの第2組の入力及
び前記各下側マルチプレクサのB入力組に接続さ
れ、順序付けされたmビツトからなる誤り訂正入
力データ線と、 エネーブル検出信号と順序付けされたmビツト
の前記誤り訂正入力データ線との論理積をとり、
順序付けされている結果を前記上側マルチプレク
サの最下位のB入力組に供給するアンド・ゲート
と、 対応する次数の前記第1組のガロワ・フイール
ド乗算器に接続された前記レジスタに接続され、
順序付けされたt個のσエネーブル信号σi(i=
1、2、3……t)と、 次数により順序付けされたmビツト2組の入力
の排他的論理和をそれぞれとり、順序付けされた
1組の出力を供給すると共に、第1組の入力を対
応する次数の前記第1ガロワ・フイールド乗算器
に接続された前記レジスタの出力に接続し、第2
組の入力を、次に上位の前記ガロワ・フイールド
乗算器に接続された前記レジスタの出力に第2組
の入力を接続した最上位ゲートを除く、次に上位
のチエン排他的論理和ゲートの出力に接続し、最
下位の出力をチエン検索出力データ線に導くt−
1次のチエン排他的論理和ゲートと、 前記各マルチプレクサのA又はB入力組を選択
し、前記エネーブル検出信号を供給し、前記σエ
ネーブル信号を選択的に供給し、前記各レジスタ
をクリアする信号を供給し、かつ前記各レジスタ
をクロツク駆動する信号を供給する手段を含む制
御手段と、 を備えた誤り訂正装置。 2 特許請求の範囲第1項記載の誤り訂正装置に
おいて、前記制御手段は、 前記上側マルチプレクサのB入力組を選択する
手段と、 前記下側マルチプレクサのA入力組を選択する
手段と、 前記フイードバツク・マルチプレクサのB入力
組を選択する手段と、 からなり、データを符号化させる手段を備えるこ
とを特徴とする誤り訂正装置。 3 特許請求の範囲第1項記載の誤り訂正装置に
おいて、前記制御手段は、 前記上側マルチプレクサのB入力組を選択する
手段と、 前記下側マルチプレクサのA入力組を選択する
手段と、 前記フイードバツク・マルチプレクサのA入力
組を選択する手段と、 エネーブル検出信号を前記アンド・ゲートに供
給する手段と、 からなり、符号化したデータにおける誤りを検出
するようにした手段を備えることを特徴とする誤
り訂正装置。 4 特許請求の範囲第1項記載の誤り訂正装置に
おいて、前記制御手段は 前記上側マルチプレクサのB入力組を選択する
手段と、 前記各排他的論理和ゲートにm個の零ビツトを
供給する手段と、 からなり、前記レジスタからデータを修飾するこ
となくシフトさせる手段を含むことを特徴とする
誤り訂正装置。 5 特許請求の範囲第1項記載の誤り訂正装置に
おいて、前記制御手段は、 前記上側マルチプレクサのA入力組を選択する
手段と、 前記下側マルチプレクサのB入力組を選択する
手段と、 からなり、符号化したデータからシンドロームSi
(i=0、1、2……2t−1)を発生する手段を
含むことを特徴とする誤り訂正装置。 6 特許請求の範囲第1項記載の誤り訂正装置に
おいて、前記制御手段は 前記レジスタを零を内容とした初期化設定をす
る手段と、 前記下側マルチプレクサのB入力組を選択する
手段と、 ガロワ・フイールド乗算器Si(i=1、2、…
…2t)の第1組の対応する次数に接続したレジス
タを順次最下位から最上位へ選択的にエネーブル
してクロツク駆動する手段と、 からなり、チエン検索誤り位置多項式の係数σi
(i=1、2……t)をガロワ・フイールド乗算
器の前記第1組の対応する次数に接続された前記
レジスタにロードする手段を含むことを特徴とす
る誤り訂正装置。 7 特許請求の範囲第6項記載の誤り訂正装置に
おいて、前記制御手段は、 前記上側マルチプレクサのA入力組を選択する
手段と、 前記レジスタを少なくともn−k回クロツク駆
動する手段と、 チエン検出出力データ線を符号ワードにおける
シンボルに対応してそれぞれクロツク駆動した後
に1に等しい値について監視する手段と、 からなり、nを符号ワードの長さとし、かつkを
情報シンボルの数としたときに、αi(i=1、2
……n−k)における誤り位置多項式を評価する
手段を含むようにしたことを特徴とする誤り訂正
装置。 8 特許請求の範囲第1項記載の誤り訂正装置に
おいて、前記制御手段は、 前記上側マルチプレクサのB入力組を選択する
手段と、 前記下側マルチプレクサのA入力組を選択する
手段と、 前記フイードバツク・マルチプレクサのB入力
組を選択する手段と、 前記レジスタをn−k回クロツク駆動して前記
誤り訂正入力データ線の入力データを前記生成多
項式G(X)により割算する手段と、 前記レジスタをn−k回又は前記誤り訂正出力
データ線にt以上の零値のシンボルが現われるま
でクロツク駆動する手段と、 からなり、符号化したデータにおけるバースト誤
りを捕捉する手段を含むことを特徴とする誤り訂
正装置。 9 特許請求の範囲第1項記載の誤り訂正装置に
おいて、前記ガロワ・フイールド(2m)はm=8
としたときに、ガロワ・フイールド(28)であ
り、αは既約多項式 P(X)=X8+X4+X3+X2+1 の根であることを特徴とする誤り訂正装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/564,273 US4584686A (en) | 1983-12-22 | 1983-12-22 | Reed-Solomon error correction apparatus |
| US564273 | 1983-12-22 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60223230A JPS60223230A (ja) | 1985-11-07 |
| JPH0464211B2 true JPH0464211B2 (ja) | 1992-10-14 |
Family
ID=24253818
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59249424A Granted JPS60223230A (ja) | 1983-12-22 | 1984-11-26 | 誤り訂正装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4584686A (ja) |
| EP (1) | EP0147041B1 (ja) |
| JP (1) | JPS60223230A (ja) |
| CA (1) | CA1222829A (ja) |
| DE (1) | DE3484503D1 (ja) |
Families Citing this family (118)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60186942A (ja) * | 1984-02-24 | 1985-09-24 | Victor Co Of Japan Ltd | デイジタル乗算回路 |
| US5027315A (en) * | 1984-09-28 | 1991-06-25 | Advanced Micro Devices, Inc. | Programmable logic array using internally generated dynamic logic signals as selection signals for controlling its functions |
| US4747103A (en) * | 1985-03-21 | 1988-05-24 | Canon Kabushiki Kaisha | Signal processing apparatus for correcting decoding errors |
| JPH0728227B2 (ja) * | 1985-06-07 | 1995-03-29 | ソニー株式会社 | Bch符号の復号装置 |
| US4841300A (en) * | 1986-06-18 | 1989-06-20 | Mitsubishi Denki K.K. | Error correction encoder/decoder |
| DE3751958T2 (de) * | 1986-09-30 | 1997-04-10 | Canon K.K., Tokio/Tokyo | Fehlerkorrekturgerät |
| US4875211A (en) * | 1986-12-10 | 1989-10-17 | Matsushita Electric Industrial Co., Ltd. | Galois field arithmetic logic unit |
| US4845713A (en) * | 1987-06-08 | 1989-07-04 | Exabyte Corporation | Method and apparatus for determining the coefficients of a locator polynomial |
| DE3852999T2 (de) * | 1987-06-30 | 1995-06-14 | Matsushita Electric Ind Co Ltd | Galois-feld-recheneinheit. |
| WO1989002123A1 (en) * | 1987-08-24 | 1989-03-09 | Digital Equipment Corporation | High bandwidth reed-solomon encoding, decoding and error correcting circuit |
| US5140595A (en) * | 1987-09-21 | 1992-08-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
| US4979173A (en) * | 1987-09-21 | 1990-12-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
| US4835775A (en) * | 1987-10-13 | 1989-05-30 | Cyclotomics, Inc. | Hypersystolic reed-solomon encoder |
| US4843607A (en) * | 1987-12-17 | 1989-06-27 | Cyclotomics, Inc. | Multiple error trapping |
| US4916702A (en) * | 1988-06-17 | 1990-04-10 | Cyclotomics, Inc. | Elongated burst trapping |
| JPH0267013A (ja) * | 1988-09-01 | 1990-03-07 | Mitsubishi Electric Corp | ガロア体演算回路 |
| US5107506A (en) * | 1990-01-25 | 1992-04-21 | Digital Equipment Corporation | Error trapping decoding method and apparatus |
| IT1243094B (it) * | 1990-02-14 | 1994-05-24 | Silvio Cucchi | Sistema e dispositivi per la correzione di errori in trasmissioni digitali |
| 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 |
| JPH04315332A (ja) * | 1991-04-15 | 1992-11-06 | Hitachi Ltd | 誤り訂正装置 |
| US5638386A (en) * | 1991-09-20 | 1997-06-10 | Hitachi, Ltd. | Recording apparatus |
| US5329535A (en) * | 1992-04-30 | 1994-07-12 | International Business Machines Corporation | Variable block lengths on-the-fly error correcting decoder |
| US5444719A (en) * | 1993-01-26 | 1995-08-22 | International Business Machines Corporation | Adjustable error-correction composite Reed-Solomon encoder/syndrome generator |
| JPH06314978A (ja) * | 1993-04-28 | 1994-11-08 | Nec Corp | チェン・サーチ回路 |
| US5463642A (en) * | 1993-06-29 | 1995-10-31 | Mitsubishi Semiconductor America, Inc. | Method and apparatus for determining error location |
| US5465261A (en) * | 1993-08-03 | 1995-11-07 | National Semiconductor Corporation | RAM based architecture for ECC circuits |
| US5642367A (en) * | 1994-02-07 | 1997-06-24 | Mitsubishi Semiconductor America, Inc. | Finite field polynomial processing module for error control coding |
| US5771244A (en) * | 1994-03-09 | 1998-06-23 | University Of Southern California | Universal Reed-Solomon coder/encoder |
| US5912905A (en) * | 1994-03-25 | 1999-06-15 | Mitsubishi Denki Kabushiki Kaisha | Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes |
| US5699368A (en) * | 1994-03-25 | 1997-12-16 | Mitsubishi Denki Kabushiki Kaisha | Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes |
| FR2721774B1 (fr) * | 1994-06-27 | 1996-09-06 | Sgs Thomson Microelectronics | Décodeur reed-solomon. |
| WO1997011530A1 (fr) * | 1995-09-20 | 1997-03-27 | Hitachi, Ltd. | Procede de decodage d'une grappe d'erreurs du code de reed-solomon et dispositif correspondant |
| GB2318954B (en) * | 1996-10-29 | 2001-05-23 | Daewoo Electronics Co Ltd | Reed-solomon decoder for use in advanced television |
| US5936978A (en) * | 1996-12-05 | 1999-08-10 | Telefonaktiebolaget L M Ericsson (Publ) | Shortened fire code error-trapping decoding method and apparatus |
| KR100480685B1 (ko) * | 1997-04-04 | 2005-05-16 | 엘지전자 주식회사 | 에러정정회로 |
| US5970075A (en) * | 1997-06-18 | 1999-10-19 | Uniden San Diego Research And Development Center Inc. | Method and apparatus for generating an error location polynomial table |
| US6163871A (en) * | 1998-05-29 | 2000-12-19 | Adaptec, Inc. | RAM based error correction code encoder and syndrome generator with programmable interleaving degrees |
| US6279137B1 (en) | 1998-12-08 | 2001-08-21 | Lsi Logic Corporation | System and method for a storage-efficient parallel Chien Search |
| US6571368B1 (en) * | 2000-02-02 | 2003-05-27 | Macronix International Co., Ltd. | Systolic Reed-Solomon decoder |
| US7155656B1 (en) * | 2003-05-01 | 2006-12-26 | Hellosoft Inc. | Method and system for decoding of binary shortened cyclic code |
| TWI309364B (en) * | 2005-09-02 | 2009-05-01 | Infortrend Technology Inc | Method and controller for processing data multiplication in raid system |
| US20070089023A1 (en) * | 2005-09-30 | 2007-04-19 | Sigmatel, Inc. | System and method for system resource access |
| US20070268905A1 (en) * | 2006-05-18 | 2007-11-22 | Sigmatel, Inc. | Non-volatile memory error correction system and method |
| US8650352B2 (en) * | 2007-09-20 | 2014-02-11 | Densbits Technologies Ltd. | Systems and methods for determining logical values of coupled flash memory cells |
| US8365040B2 (en) | 2007-09-20 | 2013-01-29 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
| US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
| US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
| US8607128B2 (en) | 2007-12-05 | 2013-12-10 | Densbits Technologies Ltd. | Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications |
| US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
| US8335977B2 (en) | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
| US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
| WO2009074979A2 (en) * | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
| WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
| WO2009118720A2 (en) * | 2008-03-25 | 2009-10-01 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
| US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
| US8407554B2 (en) * | 2009-02-03 | 2013-03-26 | Complete Genomics, Inc. | Method and apparatus for quantification of DNA sequencing quality and construction of a characterizable model system using Reed-Solomon codes |
| US8762818B1 (en) * | 2009-03-05 | 2014-06-24 | Marvell International Ltd. | System and methods for performing decoding error detection in a storage device |
| US8458574B2 (en) * | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
| US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
| US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
| US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
| US8305812B2 (en) * | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
| US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
| US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
| US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
| US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
| US8626988B2 (en) * | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
| US9037777B2 (en) * | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
| US8607124B2 (en) * | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
| US8700970B2 (en) * | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
| US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
| US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
| US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
| US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
| US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
| US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
| US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
| US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
| US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
| US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
| US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
| US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
| US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
| US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
| US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
| US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
| US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
| US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
| US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
| US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
| US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
| US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
| US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
| US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
| US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
| US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
| US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
| US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
| US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
| US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
| US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
| US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
| US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
| US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
| US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
| US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
| US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
| US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
| US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
| US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
| US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
| US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
| US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
| US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
| US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
| US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
| US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
| US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3648236A (en) * | 1970-04-20 | 1972-03-07 | Bell Telephone Labor Inc | Decoding method and apparatus for bose-chaudhuri-hocquenghem codes |
| US4162480A (en) * | 1977-01-28 | 1979-07-24 | Cyclotomics, Inc. | Galois field computer |
| US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
| US4410989A (en) * | 1980-12-11 | 1983-10-18 | Cyclotomics, Inc. | Bit serial encoder |
| JPS58219852A (ja) * | 1982-06-15 | 1983-12-21 | Toshiba Corp | エラ−訂正回路 |
-
1983
- 1983-12-22 US US06/564,273 patent/US4584686A/en not_active Expired - Fee Related
-
1984
- 1984-11-08 DE DE8484307709T patent/DE3484503D1/de not_active Expired - Lifetime
- 1984-11-08 EP EP84307709A patent/EP0147041B1/en not_active Expired
- 1984-11-19 CA CA000468136A patent/CA1222829A/en not_active Expired
- 1984-11-26 JP JP59249424A patent/JPS60223230A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60223230A (ja) | 1985-11-07 |
| DE3484503D1 (de) | 1991-05-29 |
| US4584686A (en) | 1986-04-22 |
| EP0147041A3 (en) | 1988-02-03 |
| CA1222829A (en) | 1987-06-09 |
| EP0147041A2 (en) | 1985-07-03 |
| EP0147041B1 (en) | 1991-04-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0464211B2 (ja) | ||
| US6374383B1 (en) | Determining error locations using error correction codes | |
| US7404134B2 (en) | Encoding/decoding device using a reed-solomon encoder/decoder | |
| US6148430A (en) | Encoding apparatus for RAID-6 system and tape drives | |
| US8694872B2 (en) | Extended bidirectional hamming code for double-error correction and triple-error detection | |
| EP0112988A2 (en) | Syndrome processing for multibyte error correcting systems | |
| EP0364475A1 (en) | MULTI-PASS ERROR CORRECTION METHOD AND APPARATUS FOR PRODUCT CODES. | |
| US5905740A (en) | Apparatus and method for error correction | |
| RU2008148940A (ru) | Способ и устройство кодирования с исправлением ошибок | |
| CN101765976B (zh) | 错误检测装置和错误校正/错误检测解码装置和方法 | |
| EP0793351A1 (en) | Apparatus for computing error correction syndromes | |
| KR102783025B1 (ko) | 에러 정정 코드 디코더, 이를 포함하는 메모리 컨트롤러, 및 에러 정정 코드 디코팅 방법 | |
| EP0753942A2 (en) | Word-wise processing for reed-solomon codes | |
| JP2009094605A (ja) | 符号誤り検出装置および誤り検出符号生成装置 | |
| JPS61277231A (ja) | エラ−バ−スト訂正を行う情報伝送方法及びこの方法を使用する符号化・復号化装置 | |
| US6643819B1 (en) | Hybrid root-finding technique | |
| US6405339B1 (en) | Parallelized programmable encoder/syndrome generator | |
| KR102532623B1 (ko) | Raid에 맞춤화된 bch 인코딩 및 디코딩 방법, 및 그 장치 | |
| JPH0476540B2 (ja) | ||
| JPH09307458A (ja) | エラー訂正向け多項式評価装置 | |
| EP0341851A2 (en) | Method and apparatus for interleaved encoding | |
| US5787100A (en) | Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder | |
| TWI514778B (zh) | 用於bch碼字之縮短秦式搜尋演算法延時的方法及電路 | |
| JP3139499B2 (ja) | 誤り訂正処理装置 | |
| US9287898B2 (en) | Method and circuit for shortening latency of Chien'S search algorithm for BCH codewords |