JPH0828672B2 - 倍長単一誤り訂正2重誤り検出リード・ソロモン符号の復号器 - Google Patents

倍長単一誤り訂正2重誤り検出リード・ソロモン符号の復号器

Info

Publication number
JPH0828672B2
JPH0828672B2 JP5090845A JP9084593A JPH0828672B2 JP H0828672 B2 JPH0828672 B2 JP H0828672B2 JP 5090845 A JP5090845 A JP 5090845A JP 9084593 A JP9084593 A JP 9084593A JP H0828672 B2 JPH0828672 B2 JP H0828672B2
Authority
JP
Japan
Prior art keywords
double
error
byte
solomon code
check matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP5090845A
Other languages
English (en)
Other versions
JPH0629865A (ja
Inventor
博一 岡野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP5090845A priority Critical patent/JPH0828672B2/ja
Publication of JPH0629865A publication Critical patent/JPH0629865A/ja
Publication of JPH0828672B2 publication Critical patent/JPH0828672B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、エラー訂正処理装置、
特に、倍長単−誤り訂正2重誤り検出リード・ソロモン
符号の復号器に関するものである。
【0002】
【従来の技術】大容量の記憶装置においては、動作の信
頼度を向上させるために、誤り訂正/検出符号が必要で
ある。このため、1ビット誤り訂正/2ビット誤り検出
符号が用いられてきた。さらに半導体技術の進歩によ
り、数ビットの情報を1バイトとして、一個のメモリ素
子に格納されるようにもなった。この場合には、一個の
メモリ素子の障害のため数ビットまとめてエラーが生じ
る。この種の素子を用いた記憶装置に対しては、バイト
の誤りを検出または訂正可能な符号が効果的である。な
お、コンピュータでは、情報ビットとしては32,6
4,128が用いられる。本願発明は、このようなバイ
ト単位に誤り処理をする単−バイト誤り訂正2重バイト
誤り検出符号に関するものであり、特に、情報ビット1
28の場合に有効である。この種符号の従来例について
述べる。なお、本明細書において | | | | | | は行列の記号である。
【0003】まず、単−バイト誤り訂正2重バイト誤り
検出を行うリード・ソロモン符号の基本形を示す。符号
の最小距離は4である。GF(2b)の原始元をαとす
ると検査マトリクス(検査行列とも称す)は、q=2b
とし、3行q−1列の次式となる。 | 1 1 ・・・・1 1 | H = | α(q-2) α(q-3) ・・・・α 1 | (1) | α2(q-2) α2(q-3)・・・・α2 1 | さらに、3行3列の単位行列を加えることができる。 | 1 1 ・・・・1 1 100| H = | α(q-2) α(q-3) ・・・・α 1 010| (2) | α2(q-2) α2(q-3)・・・・α2 1 001| この符号の符号長はn=b×(2b+2)であり、b=
4のとき、n=72、情報ビットk=60となり、情報
ビット64、128の符号が構成できない。
【0004】次に、金田、藤原(”Single Byte Error
Correcting-Double Byte ErrorDetecting Codes for Me
mory Systems”, IEEE Trans. on Computer, C-31,NO.
7, July 1982)の符号は次式の検査マトリクスを用い
る。ここで、GF(24)を構成するg(x)=x4+x
+1の随伴行列をTとする。なお、Tとαは本質的に同
一である。 | 1 1 1 1 1 1 1 1 1 | H0 =| T11121314 1 T123 0 | | T321 1 T14131211 0 |(3) | 0 0 0 0 0 0 0 0 0 | として、さらに、H0の行を巡回させて、4倍の長さの
検査マトリクスHを作る。b=4であり、符号長n=9
×4×4=144、検査ビット長=16、情報ビット=
128である。モジュラ構成のため復号が複雑になる。
【0005】なお、金田、藤原 ”主記憶用誤り検出・
訂正符号”(日本電信電話公社、研究実用化報告第30
巻第4号、1981)に、各バイト位置において、バイ
ト誤り検出手段を用いる一般的な方法が述べられてい
る。
【0006】次に、特開昭52−123147号公報の
検査マトリクスは情報64ビットについて有効であり、
それについて述べられている。q=2bとしたとき、こ
の方法による検査マトリクスは次式になる。 | 1 1 ・・ 1 0 0 ・・ 0 1000 | H=| 0 0 ・・ 0 1 1 ・・ 1 0100 | |αq-2 αq-3 ・・ α 1 αq-2 αq-3 ・・ α 1 0010 |(4) |α2(q-2)α2(q-3)・・ α21 α2(q-2)α2(q-3)・・ α21 0001 | これは、左半分のq−1列の基本行列を行巡回して、右
半分におき、4列の単位検査マトリクスを加えている。
b=4のとき、n=15×2×4+4×4=136、情
報ビットは120となる。(2)式にこの方法を用いて
も、同じ列が生じるので、符号長が倍長にはならない。
情報ビットを128にするためには、3ブロック構造と
なり復号は複雑になる。なお、実際の復号法に関しては
実施例で述べる。
【0007】
【発明が解決しようとする課題】情報ビット128に対
して有効な単一バイト誤り訂正/2重バイト誤り検出符
号を構成する従来の符号はいずれも復号法が複雑にな
る。したがって、情報ビット128に対して有効な単一
バイト誤り訂正/2重バイト誤り検出符号の検査マトリ
クスを見いだし、復号動作が高速で、ハードウェア量の
少ない復号器を構成する必要がある。本発明はかかる問
題点を解決するために成されたものであって、情報ビッ
ト128に対して有効であり、一般的に、bビットを1
バイトとする単一バイト誤り訂正/2重バイト誤り検出
符号の検査マトリクスを見いだし、復号ステップあるい
は、ハードウェア量の少ない倍長単一誤り訂正2重誤り
検出リード・ソロモン符号の復号器を提供することを目
的とする。
【0008】
【課題を解決するための手段】本願の請求項1の倍長単
一誤り訂正2重誤り検出リード・ソロモン符号の復号器
は、bビットを1バイトとし、単一バイト誤り訂正/2
重バイト誤り検出符号を採用した情報伝送システムにお
けるエラー訂正処理装置において、q=2bとし、第1
行の要素が全て1である3行q−1列のリードソロモン
符号の検査行列に、さらに、3行3列の単位行列を付加
した行列の上部に111・・11を付加した行列と、同
様に、000・・0を付加した行列を連結した行列を求
め、第一行を第二行に加える、必要ならば、中央部の
(1000)tを右から4列目に移動して検査バイトに
対応する4行4列の単位行列を作り、さらに、必要なら
ば、(1110)tと(1101)tを前記4行4列の単
位行列の前に置いた行列を倍長単一誤り訂正2重誤り検
出リード・ソロモン符号の検査行列として用いると共
に、下記の(1)ないし(5)の手段を含み、リード・
ソロモン符号の性質を生かしたことを特徴とする。 (1)前記倍長単一誤り訂正2重誤り検出リード・ソロモ
ン符号の検査行列を用いて、受信系列から、シンドロー
ムC1、C2、C3、C4を発生させるためのシンドローム
生成手段。ただし、C1は検査行列第1行目、C2は検査
行列第2行目、C3は検査行列第3行目、C4は検査行列
第4行目に対応する。 (2)前記シンドロームがすべて零のとき誤りなしと判定
する手段。 (3)前記シンドロームより、誤りのあるバイト位置を求
める手段。 (4)前記シンドロームより、誤りの大きさを求める手
段。 (5)単一誤りのとき、前記誤りのあるバイト位置を求め
る手段の出力と、前記誤りの大きさを求める手段の出力
とにより、誤りを訂正する手段。
【0009】本願の請求項2の倍長単一誤り訂正2重誤
り検出リート゛・ソロモン符号の復号器は、請求項1の
倍長単一誤り訂正2重誤り検出リード・ソロモン符号の
検査行列の左からq−1バイトのAブロックと続くq−
1バイトのBブロックとに共通の各バイト位置のエラー
・バイト・ポインターを求める手段を含むことを特徴と
する。
【0010】本願の請求項3の倍長単一誤り訂正2重誤
り検出リート゛・ソロモン符号の復号器は、2重バイト
誤り検出手段を含むことを特徴とする。
【0011】本願の請求項4の倍長単一誤り訂正2重誤
り検出リート゛・ソロモン符号の復号器は、請求項1の
第1行の要素が全て1である3行q−1列のリードソロ
モン符号の検査行列として、 | 1 1 ・・・・1 1 | H = | α(q-2) α(q-3) ・・・・α 1 | | α2(q-2) α2(q-3)・・・・α2 1 | を用い、したがって、 | 1 1 ・・ 1 0 0 ・・ 0 11 1 0 0 0 | H=| 0 0 ・・ 0 1 1 ・・ 1 11 0 1 0 0 | | αq-2 αq-3 ・・ α 1 αq-2 αq-3 ・・ α 1 10 0 0 1 0 | | α2(q-2)α2(q-3)・α21 α2(q-2)α2(q-3)・α21 01 0 0 0 1 | を倍長単一誤り訂正2重誤り検出リード・ソロモン符号
の検査行列として用いることを特徴とする。
【0012】本願の請求項5の倍長単一誤り訂正2重誤
り検出リート゛・ソロモン符号の復号器は、請求項4の
シンドロームより、S0=C1+C2,S1=C3,S2=C
4とし、倍長単一誤り訂正2重誤り検出リード・ソロモ
ン符号の検査行列の左からq−1バイトのAブロックと
続くq−1バイトのBブロックとに共通の各バイト位置
αiにおいて、Z=(S0αi=S1 AND S1αi
2)を検査し、Zが真であるエラー・バイト・ポイン
ターを求める手段を含むことを特徴とする。
【0013】本願の請求項6の倍長単一誤り訂正2重誤
り検出リート゛・ソロモン符号の復号器は、請求項4の
シンドロームより、S0=C1+C2、S1=C3、S2=C4
とし、Z=S1 2+S0・S2=0が真のとき、単一誤り
とし、偽のときは2重誤りと判定する2重誤り判定手段
を含むことを特徴とする。
【0014】本願の請求項7の倍長単一誤り訂正2重誤
り検出リート゛・ソロモン符号の復号器は、請求項4の
倍長単一誤り訂正2重誤り検出リード・ソロモン符号の
検査行列を用い、ブロック化しないで、全ての各バイト
位置において、エラー・バイト・ポインターを求める手
段を含むことを特徴とする。
【0015】本願の請求項8の倍長単一誤り訂正2重誤
り検出リート゛・ソロモン符号の復号器は、さらに符号
長を伸張するために、請求項1または4の倍長単一誤り
訂正2重誤り検出リード・ソロモン符号の検査行列を基
礎の検査行列として用い、この行列の上部に111・・
11を付加した行列と、同様に、000・・0を付加し
た行列を連結した行列を求め、第一行を第二行に加えて
得られる、もしくは、この操作を繰り返して用いて得ら
れる次々に倍長となる、倍長単一誤り訂正2重誤り検出
リード・ソロモン符号の検査行列を用いることを特徴と
する。
【0016】
【作用】本発明に係る倍長単一誤り訂正2重誤り検出リ
ード・ソロモン符号の復号器は、効率的な検査マトリク
スを用いて、ハードウェア量の少ない復号器を構成して
おり、受信語を受け取るとシンドロームを発生させ、高
速に、単一バイト誤りを訂正し、2重バイト誤りを検出
する。
【0017】
【実施例】以下、本願発明をその実施例を示す図面を参
照して具体的に説明する。まず、単一誤り訂正2重誤り
検出(以下、SbEC−DbEDと称す)リード・ソロモ
ン(以下、RSと称す)符号の復号原理について述べ
る。SbEC−DbED RS符号の検査マトリクス
(1)式と等価な生成多項式はGF(2b)の原始元を
αとするとき次式となる。 G(x)=(x+α0)(x+α)(x+α2) (5) したがって、誤りパタ−ンをE(x)=ΣYii とす
るとシンドロ−ムは次式となる。 S0=E(1) =ΣYi1=E(α) =ΣYii (6) S2=E(α2)=ΣYii 2 まず既に知られている単一バイト誤り訂正(SbEC)
RS符号の復号法を示す。(6)式からi=1としてS
0=Y1,S1=Y11を得る。したがって誤りの位置
1、誤りの大きさY1は次式となる。 x1=S1/S01=S0 (7)
【0018】さて、SbEC−DbED RS符号の復号
を行うための誤り判定式は次式となることを説明する。 Z=S02 + S1 2 (8) まず、単−誤りのとき、Y1=αi、x1=αj とする
と、S0=αi、S1=αiαj、S2=αiα2j となる。
したがって、Z=S02+S1 2=αiiα2j) + (αi
αj)2 =0。 つぎに2重誤りのとき、Y1=αi、x1=αj、Y2
αr、x2=αs とすると、S0=αi+αr、S1=αiαj
+αrαs、S2=αiα2j+αrα2s となる。したがっ
て、Z=S02+S1 2=(αi+αr)・(αiα2j+αr
α2s) +(αiαj +αrαs2=αi+r(αj+αs2
≠0(∵αj≠αs)。 以上のことから、Z=0のとき単−誤り、Z≠0のとき
2重誤りと判定できることがわかる。もちろん、S0
1=S2 のとき誤りは生じていないとする。なお、単
−誤りのときはS0、S1、S2は非零であるから、S0
1、S2 のいずれかが0のときは誤り検出とする。な
お、単一バイト誤り訂正2重バイト誤り検出符号の誤り
検出は、(8)式と等価な次式を用いてもよい。すなわ
ち、各バイト位置αiにおいて、 Z=(S0αi=S1 AND S1αi=S2) (9) を検査し、Zが真であるエラー・バイト・ポインターを
もとめ、エラー・バイト・ポインターが算出できないと
き誤り検出とする。したがって、(8)、(9)式によ
って、誤り数を判定することが本発明の特徴の一つであ
る。
【0019】さて、本発明で用いる倍長SbEC−DbE
D RS符号の検査マトリクスを導く。まず、通常のS
bEC−DbED RS符号の検査マトリクス(2)式の
上部に11・・・1を付加した行列と同様に(2)式の
上部に00・・・0を付加した行列を続けて、次式のよ
うにしても符号の能力は同じである(金田、藤原 ”主
記憶用誤り検出・訂正符号”、日本電信電話公社、研究
実用化報告第30巻第4号、1981)。 | 1 1 ・・ 1111 0 0 ・・ 0 000| H=| 1 1 ・・ 1100 1 1 ・・ 1 100| | αq-2 αq-3 ・・ α 1010 αq-2 αq-3 ・・ α 1 010| (10) | α2(q-2)α2(q-3)・α21001 α2(q-2)α2(q-3)・α21 001| (9)式には、チェックビットに対応する単位検査マト
リクスがない。そこで、(9)式の第1行を第2行に加
えて次式を得る。 | 1 1 ・・ 1111 0 0 ・・ 0 000| H=| 0 0 ・・ 0011 1 1 ・・ 1 100| | αq-2 αq-3 ・・ α 1010 αq-2 αq-3 ・・ α 1 010| (11) | α2(q-2)α2(q-3)・α21001 α2(q-2)α2(q-3)・α21 001| (11)式のままで検査マトリクスとして用いることが
できるが、符号構成を効率良くするために、(11)式
の中央部の ( 1 0 0 0 )t を右から4列目に移動して単
位検査マトリクスを作り、真中の2列 ( 1 1 1 0 )t
( 1 1 0 1 )t を単位行列の前におき次式を得る。 | 1 1 ・・ 1 0 0 ・・ 0 11 1 0 0 0 | H=| 0 0 ・・ 0 1 1 ・・ 1 11 0 1 0 0 | | αq-2 αq-3 ・・α 1 αq-2 αq-3 ・・α 1 10 0 0 1 0 | | α2(q-2)α2(q-3)・・α21 α2(q-2)α2(q-3)・・α21 01 0 0 0 1 | Aフ゛ロック Bフ゛ロック K1K2 C1C2C3C4 Kフ゛ロック Cフ゛ロック (12) ただし、(12)式の最初のq−1列をAブロック、続
くq−1列をBブロック、続く2列をKブロック、続く
4列をCブロックとする。
【0020】この(12)式が倍長SbEC−DbED
RS符号のパリティ検査行列であり、符号の最小距離は
d=4である。この検査行列(12)式を見いだしたこ
とが本願発明の主要部分である(本願の請求項4)。こ
の符号は、1バイトがbビットのとき、符号長n=(2
b+2)×b×2ビットとなり、b=4のときn=14
4ビット、情報ビット128、チェックビット16の
(144,128)符号が構成できる。なお、本願発明
の要旨は、RS符号の基本の検査行列(1)式をもとに
倍長倍長SbEC−DbED RS符号の検査マトリクス
(12)式を発見したことにある。しかしながら、
(1)式は第一行目が全て1であるRS符号の検査行列
であれば良く、この検査行列は、例えば、(1)式の第
2行目で、第1、2、3行目を割り、第1行目と第2行
目を入れ替えて(1)式とは異なる表現の行列として容
易に求めることができる。本願発明の方法によって、こ
のような行列をもとにしても、倍長SbEC−DbED
RS符号の検査行列を求めることができる。このような
行列の線形操作は広く知られているので、本願発明の内
容に含まれているのは当然である(本願の請求項1)。
ただし、行列の線形操作に対応して誤り判定式Z等の表
現は若干異なったものとなる。さらに符号長を伸張する
ためには、本願発明の方法を繰り返し用いればよいこと
は、以上の説明から容易に分かる。すなわち、(12)
式の倍長単一誤り訂正2重誤り検出リード・ソロモン符
号の検査行列を基礎の検査行列として用い、この行列の
上部に111・・11を付加した行列と、同様に、00
0・・0を付加した行列を連結した行列を求め、第一行
を第二行に加えて得られる、もしくは、この操作を繰り
返し用いて得られる、次々に倍長となる、倍長単一誤り
訂正2重誤り検出リード・ソロモン符号の検査行列を求
めれば良い(本願請求項8)。
【0021】なお、金田、藤原 ”主記憶用誤り検出・
訂正符号”(日本電信電話公社、研究実用化報告第30
巻第4号、1981)に、A,Bブロックに分けること
なく、全ての各バイト位置において、バイト誤り検出手
段を用いる一般的な方法が述べられている。本願の請求
項7の発明の復号器はこの方法を用いる。検査行列(1
2)式の場合のバイト誤り検出は次のようになる。 (1) Aブロックのバイト誤り検出は、 C1≠0 AND C2=0 AND C3=αi・C1 AND C4=α
2i・C1 (2) Bブロックのバイト誤り検出は、 C1=0 AND C2≠0 AND C3=αi・C2 AND C4=α
2i・C2 (3) Kブロックのバイト誤り検出は、 シンドロームのうち、一つが零で、他の三つが等しい。 (4) Cブロックのバイト誤り検出は、 シンドロームのうち、一つが非零で、他の三つが零。な
お、どのバイト位置においてもバイト誤りが検出されな
いときは、2重誤りが検出されるとする(本願請求項
3)。この方法によると、ハードウェア量は増加する
が、高速復号できる。
【0022】さて、つぎに、検査行列として(12)式
を用いる単一誤り訂正2重誤り検出リード・ソロモン符
号の復号法について述べる。情報ディジットを(12)
式の下に示したように、ブロック A,B,K,Cのよ
うに分ける。シンドロームを C1,C2,C3,C4 と
する。ただし、C1は検査行列第1行目、C2は検査行列
第2行目、C3は検査行列第3行目、C4は検査行列第4
行目に対応する。そして、 S0=C1+C2, S1=C3, S2=C4 (13) とおくと、S0,S1,S2 は(1)式のSbEC−DbE
D RS符号のシンドロームと同様に扱うことができ
る。復号手順は次のようになる。 (1)C1=C2=C3=C4=0のとき誤りは生じていな
い。 (2)ブロックKの単一誤りを検出して訂正する。これ
は、例えばC1=C2=C3≠0,C4=0のときK1ディ
ジットを大きさC1で訂正するという方法を用いれば良
い。C1+C2+C3+C4で誤りの大きさを求めると効率
が良い。 (3)ブロックCの単一誤りを検出して訂正する。これ
は、例えば C1≠0、C2=C3=C4=0のときC1ディ
ジットを大きさC1で訂正するという方法を用いれば良
い。C1+C2+C3+C4で誤りの大きさを求めると効率
が良い。 (4)(C1≠0 AND C2≠0)でA,Bブロック
間、C1とC2、K1とC3、K2とC4の2重誤りを検出す
る。 (5)Z=S1 2+S02 ≠0で(4)以外の全ての2重誤り
を検出する。 (6)(4),(5)以外は、AまたはBブロック内の単一誤りと
判定し、C1= 0(C2≠0)のときAブロック、C2=
0(C1≠0)のときBブロックを、それぞれ、誤り位
置X1=S1/S0、誤りの大きさY1=S0 によって訂正
する。
【0023】ここで、2重誤り検出について、詳述す
る。上記(2)でKブロックの単一誤りを訂正しているの
で、上記(4)は明かである。(C1≠0 AND C2≠
0)で検出される2重誤りは、K1とC4、K2とC3もあ
るが、これらも含めて、(8)式で検出できることを以
下に説明する。ただし、誤りの大きさをαi、αj、Aま
たはBブロックの誤り位置をαsとする。 (イ)同一ブロック内 *A,Bそれぞれのブロック内の2重誤りは(8)式で検出できることは既 に述べた。 *Cブロック内 C1とC2::(C1≠0 AND C2≠0) C1とC3::C1=αi、C2=0、C3=S1j、C4=S2=0、 S0=C1+C2=αi、Z=S02+S1 2i・0+α2j2j≠0 C1とC4::C1=αi、C2=0、C3=0、C4=αj、 Z=αi・αj+0=αi+j≠0 C2とC3::C1=0、C2=αi、C3=αj、C4=0、 Z=αi・0+α2j2j≠0 C2とC4::C1=0、C2=αi、C3=0、C4=αj、 Z=αi・αj+0=αi+j≠0 C3とC4::C1=0、C2=0、C3=αi、C4=αj、 Z=0・αi2j2j≠0 *Kブロック内 K1とK2::C1=αij、C2=αij、C3=αi、 C4=αj、Z=0・αj2i2i≠0 (ロ)2ブロック間 *AブロックとBブロック間・・・(C1≠0 AND C2≠0) *CブロックとA(Bも同様なので省略)ブロック間、 AとC1:C1=αij、C2=0、C3=αiαs、C4=αiα2s、 Z=(αijiα2s2i2si+j+2s≠0 AとC2:C1=αi、C2=αj、C3=αiαs、C4=αiα2s、 Z=(αijiα2s2i2si+j+2s≠0 AとC3:C1=αi、C2=0、C3=αiαsj、C4=αiα2s、 Z=αi・αiα2s+(αiαsj)22j≠0 AとC4:C1=αi、C2=0、C3=αiαs、C4=αiα2sj、 Z=αiiα2sj)+(αiαs)2i+j≠0 *KブロックとA(Bも同様なので省略)ブロック間 AとK1:C1=αij、C2=αj、C3=αiαsj、C4=αiα2s、 Z=αi・αiα2s+(αiαsj)22j≠0 AとK2:C1=αij、C2=αj、C3=αiαs、C4=αiα2sj、 Z=αiiα2sj)+(αiαs)2i+j≠0 *KブロックとCブロック K1とC1:C1=αij、C2=αi、C3=αi、C4=0、 Z=αj・0+α2i2i≠0 K1とC2:C1=αi、C2=αij、C3=αi、C4=0、 Z=αj・0+α2i2i≠0 K1とC3:(C1≠0 AND C2≠0) K1とC4:C1=αi、C2=αi、C3=αi、C4=αj Z=0・αj2i2i≠0 (C1≠0 AND C2≠0) K2とC1:C1=αij、C2=αi、C3=0、C4=αi、 Z=αj・αi+0=αi+j≠0 K2とC2:C1=αi、C2=αij、C3=0、C4=αi、 Z=αjαi+0=αi+j≠0 K2とC3:C1=αi、C2=αi、C3=αj、C4=αi、 Z=0・αi2j2j≠0 (C1≠0 AND C2≠0) K2とC4:(C1≠0 AND C2≠0) 以上、説明したようにZZ=(C1≠0 AND C2≠
0) OR (Z=S1 2+S02≠0)が真であること
を検出することによって、すべての2重バイト誤りが検
出できる。
【0024】以上の復号アルゴリズムを用いた倍長単一
誤り訂正2重誤り検出リード・ソロモン符号の復号器に
ついて詳述する。第1図は倍長単一バイト誤り訂正2重
バイト誤り検出リード・ソロモン符号の復号器の機能的
ブロック図、第2図は倍長単一誤り訂正2重誤り検出リ
ード・ソロモン符号の復号器の復号動作を示す復号フロ
ーチャート、第3図は倍長単一誤り訂正2重誤り検出リ
ード・ソロモン符号の復号器(その1)、第4図はパタ
ーン一致による誤り位置検出回路、第5図は倍長単一誤
り訂正2重誤り検出リード・ソロモン符号の復号器(そ
の2)である。
【0025】以下の説明では、分かりやすくするため
に、(12)式の検査マトリクスを用いた符号を例に説
明する。まず、第1図の倍長単一バイト誤り訂正2重バ
イト誤り検出リード・ソロモン符号の復号器の機能的ブ
ロック図について述べる。シンドローム生成手段 10は
受信系列から、シンドロームC1、C2、C3、C4を生成
させる。ただし、C1は検査行列第1行目、C2は検査行
列第2行目、C3は検査行列第3行目、C4は検査行列第
4行目に対応する。誤り無し判定手段 11 はシンドロー
ムC1、C2、C3、C4がすべて零のとき誤りなしと判定
する。ブロックK、C単一誤り訂正手段 12 は、シンド
ロームのうち、一つが零で、他の三つが等しいことを検
出しKブロックの単一誤りを訂正し、シンドロームのう
ち、一つが非零で、他の三つが零であることを検出しC
ブロックの単一誤りを訂正する。2重誤り判定手段 13
はS0=C1+C2,S1=C3,S2=C4とし、ZZ=
(C1≠0 AND C2 ≠0) OR (Z=S1 2+S0
2≠0)が真のときは2重誤り、偽のときは単一誤りと
判定する。A、Bブロック単一誤り訂正手段 14 は、ま
ず、誤り位置、大きさ算出手段 15 で、ZZが偽を検出
したとき、C1≠0(C2=0)であれば、Aブロック
の、C1=0(C2≠0)であれば、Bブロックの単一誤
りと判定し、さらに、位置x1=S1/S0と誤りの大き
さY1=S0を算出する。ついで、単一誤り訂正実行手段
16 は、誤りの訂正を実行する。誤り検出手段 17 は、
ZZが真の時、誤り検出とし誤り訂正の実行を行わな
い。ただし、ブロックK、C単一誤り訂正手段 12 の訂
正の実行を2重誤り判定手段 13 の動作より優先させ
る。
【0026】第2図の倍長単一誤り訂正2重誤り検出リ
ード・ソロモン符号の復号器の復号動作を示す復号フロ
ーチャートについて述べる。N1,N2、・・は復号ステ
ップである。まず、ステップN1で、シンドローム生成
手段 10によって、受信系列から、生成したシンドロー
ムC1、C2、C3、C4がすべて零であるか判定し、零の
ときは、N2で、誤り無し判定手段 11 によって誤りな
しと判定する。ブロックK、C単一誤り訂正手段 12
は、N3で、シンドロームのうち、一つが零で、他の三
つが等しいことを検出したとき、N4でKブロックの単
一誤りを訂正し、N5でシンドロームのうち、一つが非
零で、他の三つが零であることを検出したとき、N6で
Cブロックの単一誤りを訂正する。N7で、2重誤り判
定手段 13 はS0=C1+C2,S1=C3,S2=C4と
し、ZZ=(C1≠0 AND C2 ≠0)OR (Z=S
1 2+S02≠0)の真・偽を判定する。ZZが偽を検出
したとき、A、Bブロック単一誤り訂正手段 14 におい
て、まず誤り位置、大きさ算出手段 15 で、N9で、C1
≠0(C2=0)であれば、N10でAブロックの、C1=
0(C2≠0)であれば、N11でBブロックの単一誤り
と判定し、さらに、N12で、位置x1=S1/S0と誤り
の大きさY1=S0を算出する。ついで、単一誤り訂正実
行手段 16 は、誤りの訂正を実行する。N8で、ZZが
真の時、誤り検出手段 17 は誤り検出とし誤り訂正の実
行を行わない。次に、復号器のブロック図を示す。な
お、ガロア体の元の表現は、ベクトル表現と指数表現お
よび随伴行列による表現があるが、適宜、効率の良くな
る方を使用すれば良い。以下の復号器では一例を示した
のであって、本発明は元の表現を限定しない。もちろ
ん、本願発明と同様の検査行列を行および列の並び替
え、線形変換によって操作した行列も本願発明のなかに
含まれる。
【0027】まず、第3図に、倍長単一誤り訂正2重誤
り検出リード・ソロモン符号の復号器(その1)を示
す。実線はビツト幅がb、点線はビット幅1ビットの信
号である。+ 23,24 はExclusive OR回
路、ROM VE 25 はベクトル表現の元を指数表現に
変換するROM、回路 22 はパタ−ン一致による誤り位
置検出回路であり、詳細を第4図に示す。MU26 は加
算回路であり、指数表現の元の加算を求める回路であ
る。1C 27 は1の補数を求める回路であり、MU 26
と組合せて、元の除算を行うためのものである。CI 2
8 は一致検出回路、ZD34 は全て零検出回路である。
さて、C1=C2=C3=C4=0 のときOR 21 の出力
は0であり、これを反転して誤りなしの信号とする。回
路 22 によりブロックK,Cの誤り位置を求め、+ 23
で誤りの大きさを求めて回路 38 で誤りを訂正する。そ
して、+ 24 でS0=C1+C2 を求め、MU 26 の出力
1/S0 が誤り位置x1 となる。誤りの大きさはS0
1 である。CI 28 の出力はZ=S1 2+S02≠0の
とき1となるので、これを反転した信号と、C1≠0 A
ND C2≠0 の信号、A,Bブロック内の単一誤りの
ときS0、S1、S2 は非零なので、回路 35 の出力信号
の、これら3つを回路 30 でORをとると誤り検出信号
となる。これを反転して、A,Bブロックの誤り訂正信
号として、回路 22 の出力が零のときのみ動作させるよ
うにして、AND 31 に信号を送り、A,Bプロック内
単一誤りを訂正するために、大きさS0をAND 31 よ
り出力するようにする。C1が零のときAND 33,C1
が非零のときAND 32 がそれぞれ動作し、誤りの大き
さS0を送り、誤り位置x1をもとにブロックA,Bの単
一誤りを訂正する。
【0028】第4図の回路は、第3図の回路 22 であ
り、はパターン一致による誤り位置検出回路である。こ
れは例ば、K4ディジットの誤りはC1=C2=C3≠0,
C4=0によって検出する。
【0029】さらに、倍長単一誤り訂正2重誤り検出リ
ード・ソロモン符号の復号器(その2)を第5図に示
す。第3図におけるZ=S1 2+S02=0の判定を、並
列にビット位置iにおいて、Z=(S0αi=S1 AND
1αi=S2) を判定し、エラー・バイト・ポインタ
ーを求める。回路 51,52,53 等は第3図の回路 21,29,2
2 と同じである。回路 55 でS0αi=S1 i、回路 56 で
1αi=S2 を判定し、両方成立すれば回路 57 より
A,B両ブロックに誤り位置信号を出力する(エラー・
バイト・ポインターを求める手段、本願請求項2、
5)。誤りの大きさS0はC1≠0のときブロックAに、
C1=0のときはブロックBに送られて、誤り位置信号
の出力されている箇所を訂正する。ここで、回路 55,56
は、同一の回路設計が可能であることは明かである。
回路 61 の出力が1で、かつ回路 62 の出力が1のとき
ブロックA,Bの訂正が行われる。したがって回路 63
より誤り訂正信号が出力される。以上の復号器におい
て、A、B両ブロックの単一誤りが同じ判定式 Z=S1
2+S02=0(またはS0αi=S1 AND S1αi
2)が真で検出されるので復号器が簡単になる(本願
請求項2、3、5、6)。
【0030】なお、第5図において、エラー・バイト・
ポインターの信号を回路 61 で集めてORをとり、その
信号出力が無いとき2重誤りを検出しているが、この回
路を取り除き、Z=S1 2+S02=0を判定する回路を
付加し、2重誤りを検出することができることは明かで
ある(2重バイト誤り検出手段または2重誤り判定手
段、本願請求項3、6)。
【0031】さて、回路55、56をA,Bブロック共
通とせず、A,Bブロックにそれぞれ回路55、56を
設ける構成とすると本願の請求項7の発明になる。ハー
ドウェア量は増えるが、この復号器の方が復号動作は高
速になる。本願の請求項7の発明になる復号器は、第5
図の復号器から容易に構成できるので、復号器の図面は
省略する。
【0032】
【発明の効果】以上のように本願発明によれば、単一誤
り訂正2重誤り検出リード・ソロモン符号の検査マトリ
クスを基に符号長を倍にすることができる、また、この
符号はリード・ソロモン符号の性質を残しているので、
効率的な倍長単一誤り訂正2重誤り検出リード・ソロモ
ン符号の復号器が構成できる。この復号器の利点を以下
にまとめる。 (1)情報ビット128、チェックビット16の(14
4,128)符号が構成できる。コンピュータのメイン
メモリは符号長64、128なので、実用上重要であ
る。 (2)各バイト位置で誤りの検出を行う場合は復号動作が
高速になる。 (3)A、B両ブロックの単一誤りが同じ判定式Z=S1 2
+S02=0(またはS0αi=S1 AND S1αi=S
2)が真で検出されるので復号器が簡単になる。
【図面の簡単な説明】
【図1】倍長単一バイト誤り訂正2重バイト誤り検出リ
ード・ソロモン符号の復号器の機能的ブロック図であ
る。
【図2】倍長単一誤り訂正2重誤り検出リード・ソロモ
ン符号の復号器の復号動作を示す復号フローチャートで
ある。
【図3】倍長単一誤り訂正2重誤り検出リード・ソロモ
ン符号の復号器(その1)である。
【図4】パターン一致による誤り位置検出回路である。
【図5】倍長単一誤り訂正2重誤り検出リード・ソロモ
ン符号の復号器(その2)である。
【符号の説明】
10 :シンドローム生成手段 11 :誤り無し判定手段 12 :ブロックK、C単一誤り訂正手段 13 :2重誤り判定手段 14 :A、Bブロック単一誤り訂正手段 15 :誤り位置、大きさ算出手段 16 :単一誤り訂正実行手段 17 :誤り検出手段 22,53 :パターン一致による誤り位置検出回路 25 :元のベクトル表現を指数表現に変換するRO
M 26 :加算回路(元の積を求める回路) 28 :一致回路 55,56,57:エラーバイトポインター検出回路

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 bビットを1バイトとし、単一バイト誤
    り訂正/2重バイト誤り検出符号を採用した情報伝送シ
    ステムにおけるエラー訂正処理装置において、q=2b
    とし、第1行の要素が全て1である3行q−1列のリー
    ドソロモン符号の検査行列に、さらに、3行3列の単位
    行列を付加した行列の上部に111・・11を付加した
    行列と、同様に、000・・0を付加した行列を連結し
    た行列を求め、第一行を第二行に加える、必要ならば、
    中央部の(1000)tを右から4列目に移動して検査
    バイトに対応する4行4列の単位行列を作り、さらに、
    必要ならば、(1110)tと(1101)tを前記4行
    4列の単位行列の前に置いた行列を倍長単一誤り訂正2
    重誤り検出リード・ソロモン符号の検査行列として用い
    ると共に、下記の(1)ないし(5)の手段を含む、リ
    ード・ソロモン符号の性質を生かしたことを特徴とす
    る、倍長単一誤り訂正2重誤り検出リード・ソロモン符
    号の復号器。 (1)前記倍長単一誤り訂正2重誤り検出リード・ソロモ
    ン符号の検査行列を用いて、受信系列から、シンドロー
    ムC1、C2、C3、C4を発生させるためのシンドローム
    生成手段。ただし、C1は検査行列第1行目、C2は検査
    行列第2行目、C3は検査行列第3行目、C4は検査行列
    第4行目に対応する。 (2)前記シンドロームがすべて零のとき誤りなしと判定
    する手段。 (3)前記シンドロームより、誤りのあるバイト位置を求
    める手段。 (4)前記シンドロームより、誤りの大きさを求める手
    段。 (5)単一誤りのとき、前記誤りのあるバイト位置を求め
    る手段の出力と、前記誤りの大きさを求める手段の出力
    とにより、誤りを訂正する手段。
  2. 【請求項2】 前記倍長単一誤り訂正2重誤り検出リー
    ド・ソロモン符号の検査行列の左からq−1バイトのA
    ブロックと続くq−1バイトのBブロックとに共通の各
    バイト位置のエラー・バイト・ポインターを求める手段
    を含むことを特徴とする請求項1記載の倍長単一誤り訂
    正2重誤り検出リート゛・ソロモン符号の復号器。
  3. 【請求項3】 2重バイト誤り検出手段を含むことを特
    徴とする請求項1記載の倍長単一誤り訂正2重誤り検出
    リート゛・ソロモン符号の復号器。
  4. 【請求項4】 前記第1行の要素が全て1である3行q
    −1列のリード・ソロモン符号の検査行列として、 | 1 1 ・・・・1 1 | H = | α(q-2) α(q-3) ・・・・α 1 | | α2(q-2) α2(q-3)・・・・α2 1 | を用い、したがって、 | 1 1 ・・ 1 0 0 ・・ 0 11 1 0 0 0 | H=| 0 0 ・・ 0 1 1 ・・ 1 11 0 1 0 0 | | αq-2 αq-3 ・・ α 1 αq-2 αq-3 ・・ α 1 10 0 0 1 0 | | α2(q-2)α2(q-3)・α21 α2(q-2)α2(q-3)・α21 01 0 0 0 1 | を前記倍長単一誤り訂正2重誤り検出リード・ソロモン
    符号の検査行列として用いることを特徴とする請求項1
    記載の倍長単一誤り訂正2重誤り検出リード・ソロモン
    符号の復号器。
  5. 【請求項5】 S0=C1+C2,S1=C3,S2=C4と
    し、前記倍長単一誤り訂正2重誤り検出リード・ソロモ
    ン符号の検査行列の左からq−1バイトのAブロックと
    続くq−1バイトのBブロックとに共通の各バイト位置
    αiにおいて、Z=(S0αi=S1 AND S1αi
    2)を検査し、Zが真であるエラー・バイト・ポイン
    ターを求める手段を含むことを特徴とする請求項4記載
    の倍長単一誤り訂正2重誤り検出リート゛・ソロモン符
    号の復号器。
  6. 【請求項6】 S0=C1+C2、S1=C3、S2=C4 と
    し、Z=S1 2+S0・S2=0が真のとき、単一誤りと
    し、偽のときは2重誤りと判定する2重誤り判定手段を
    含むことを特徴とする請求項4記載の倍長単一誤り訂正
    2重誤り検出リート゛・ソロモン符号の復号器。
  7. 【請求項7】 ブロック化しないで、全ての各バイト位
    置において、エラー・バイト・ポインターを求める手段
    を含むことを特徴とする請求項4記載の倍長単一誤り訂
    正2重誤り検出リート゛・ソロモン符号の復号器。
  8. 【請求項8】 さらに符号長を伸張するために、前記倍
    長単一誤り訂正2重誤り検出リード・ソロモン符号の検
    査行列を基礎の検査行列として用い、この行列の上部に
    111・・11を付加した行列と、同様に、000・・
    0を付加した行列を連結した行列を求め、第一行を第二
    行に加えて得られる、もしくは、この操作を繰り返して
    用いて得られる次々に倍長となる、倍長単一誤り訂正2
    重誤り検出リード・ソロモン符号の検査行列を用いるこ
    とを特徴とする請求項1または請求項4記載の倍長単一
    誤り訂正2重誤り検出リート゛・ソロモン符号の復号
    器。
JP5090845A 1993-03-25 1993-03-25 倍長単一誤り訂正2重誤り検出リード・ソロモン符号の復号器 Expired - Lifetime JPH0828672B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5090845A JPH0828672B2 (ja) 1993-03-25 1993-03-25 倍長単一誤り訂正2重誤り検出リード・ソロモン符号の復号器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5090845A JPH0828672B2 (ja) 1993-03-25 1993-03-25 倍長単一誤り訂正2重誤り検出リード・ソロモン符号の復号器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP59247822A Division JPS61126826A (ja) 1984-11-22 1984-11-22 倍長単一誤り訂正2重誤り検出リ−ド・ソロモン符号の復号器

Publications (2)

Publication Number Publication Date
JPH0629865A JPH0629865A (ja) 1994-02-04
JPH0828672B2 true JPH0828672B2 (ja) 1996-03-21

Family

ID=14009928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5090845A Expired - Lifetime JPH0828672B2 (ja) 1993-03-25 1993-03-25 倍長単一誤り訂正2重誤り検出リード・ソロモン符号の復号器

Country Status (1)

Country Link
JP (1) JPH0828672B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601448B2 (en) * 2017-06-16 2020-03-24 International Business Machines Corporation Reduced latency error correction decoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
JPS5857783B2 (ja) * 1978-11-20 1983-12-21 日本電信電話株式会社 誤り検出訂正方式
JPS5710557A (en) * 1980-06-20 1982-01-20 Sony Corp Error correcting method
JPH0426253A (ja) * 1990-05-21 1992-01-29 Nec Corp 振幅ジッタ抑圧方式

Also Published As

Publication number Publication date
JPH0629865A (ja) 1994-02-04

Similar Documents

Publication Publication Date Title
US7278085B1 (en) Simple error-correction codes for data buffers
US8230292B2 (en) Method and apparatus for correcting and detecting multiple spotty-byte errors within a byte occurred in a limited number of bytes
US4494234A (en) On-the-fly multibyte error correcting system
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US5856987A (en) Encoder and decoder for an SEC-DED-S4ED rotational code
US20050204268A1 (en) Decoding and error correction for algebraic geometric codes
JP2011514743A (ja) 受信したシンボル列におけるフェーズドバーストエラー、消失、シンボルエラー、及び、ビットエラーを検出及び訂正するための方法及びシステム
Okano et al. A construction method of high-speed decoders using ROM's for Bose–Chaudhuri–Hocquenghem and Reed–Solomon codes
KR20180085651A (ko) 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic
US20050149834A1 (en) (18, 9) Error correction code for double error correction and triple error detection
JP2001524274A (ja) 短縮ファイア符号エラートラッピング復号方法および装置
RU2448359C1 (ru) Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
EP1102406A2 (en) Apparatus and method for decoding digital data
US10567007B2 (en) Device and method of processing a data word using checkbits
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
KR102532623B1 (ko) Raid에 맞춤화된 bch 인코딩 및 디코딩 방법, 및 그 장치
US20220345157A1 (en) Multibyte error detection
JPH0828672B2 (ja) 倍長単一誤り訂正2重誤り検出リード・ソロモン符号の復号器
KR100330642B1 (ko) 오류정정방법및오류정정장치
US9160370B2 (en) Single component correcting ECC using a reducible polynomial with GF(2) coefficients
Lu et al. New decoder for double-error-correcting binary BCH codes
JP2691973B2 (ja) 単一誤り訂正および多重誤り検出bch符号の復号装置
JP2665268B2 (ja) サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器
JPH0656586B2 (ja) データ処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term