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
Application number
JP59249424A
Other languages
English (en)
Other versions
JPS60223230A (ja
Inventor
Robaato Furitsutsu Keisu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
REIZAA MAGUNETEITSUKU SUTOREIJI INTERN CO
Original Assignee
REIZAA MAGUNETEITSUKU SUTOREIJI INTERN CO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by REIZAA MAGUNETEITSUKU SUTOREIJI INTERN CO filed Critical REIZAA MAGUNETEITSUKU SUTOREIJI INTERN CO
Publication of JPS60223230A publication Critical patent/JPS60223230A/ja
Publication of JPH0464211B2 publication Critical patent/JPH0464211B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

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である。
【表】
【表】
【表】
【表】
【表】
【表】
【表】 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の論理を次の表
に示す。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】 以上の表において、符号の左の数は出力数を表
わし、一方等号の右の数は入力数を表わす。プラ
ス符号は排他的論理和に等価なモジロ(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-1i=0 CiXio-1i=0 CiXi Whereo-1i=0 CiXi=Xn-kI(X)、 ando-k-1i=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(αi9+……+σ2(αi2 +σ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……ガロワ・フイールド乗算器。

Claims (1)

  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 の根であることを特徴とする誤り訂正装置。
JP59249424A 1983-12-22 1984-11-26 誤り訂正装置 Granted JPS60223230A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 エラ−訂正回路

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