JP2005176244A - スポッティバイト誤り訂正・検出方法及び装置 - Google Patents
スポッティバイト誤り訂正・検出方法及び装置 Download PDFInfo
- Publication number
- JP2005176244A JP2005176244A JP2003416978A JP2003416978A JP2005176244A JP 2005176244 A JP2005176244 A JP 2005176244A JP 2003416978 A JP2003416978 A JP 2003416978A JP 2003416978 A JP2003416978 A JP 2003416978A JP 2005176244 A JP2005176244 A JP 2005176244A
- Authority
- JP
- Japan
- Prior art keywords
- error
- byte
- bit
- syndrome
- error correction
- 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.)
- Granted
Links
Images
Abstract
【解決手段】 入力情報データ30に対して、符号を表現するパリティ検査行列Hと入力情報データ30とを基に生成した検査情報Cを付加することにより送信語31を生成する符号化回路2と、情報伝送路中に誤りを含んだ受信語32に対して、このパリティ検査行列Hを基に生成したシンドロームSを用いて誤りを訂正する復号回路4を設け、特に前記シンドロームSを構成する複数のビットを、パリティ検査行列Hの構成に対応して複数のグループに分けて、この各グループ毎のビット値を所定のロジックに従って順次判断していくことにより、パリティ検査行列Hや復号手順を統一的に扱うことが可能となり、誤りの発生状態に柔軟に対応できるようになる。
【選択図】 図1
Description
さらに、1バイト誤りを訂正し、また2バイト誤りを検出する符号(SbEC-DbED符号と称する)は、リードソロモン符号(Reed-Solomon符号)およびその改良した効率のよい符号として提案されており、多くの計算機システム等の主記憶装置にすでに採用されている(例えば、非特許文献3参照)。
要するに、本発明は、従来の符号技術では存在しない、bビットからなるバイト中の2ビット、3ビット等のtビット(tは1以上b以下の整数)までのビット誤りである1スポッティバイト誤りを訂正するとともに、任意の2バイトにおける2スポッティバイト誤りを検出する符号機能(St/bEC-Dt/bED)を備えることにより、従来よりも検査ビット数を少なくして符号化率を向上させ、またビット誤りの発生状態に柔軟に対応できる符号機能を提供することを目的としている。
また、前記H″は、H″=[h0 〃、h1 〃、…、hb-1 〃]に示すランクt以上のr行b列の2元行列であって、前記h0 〃、h1 〃、…、hb-1 〃はそれぞれ有限体(ガロア体)GF(2r)上の要素で2元r次の列ベクトルであり、t=bであれば前記H″はb×bのランクbの行列であり、t<bであれば最小ハミング距離t+1を有する2元(b、b−r)のパリティ検査行列Hに等しくなり、また、R≧b+2rとしγを2を底とする(R−q)/2次の有限体GF(2r(R-q)/2)の原始元であって、φを加法のもとでGF(2r)からGF(2(R-q)/2)への準同形写像とするときに、γiH″=[γiφ(h0 〃) γiφ(h1 〃) γiφ(h2 〃)・・γiφ(hb-1 〃)]が成立するように構成されることを特徴としている。
また、前記誤り訂正手段は、前記シンドロームデコード手段により出力されたビット誤りポインタを基に、誤りビットに該当する前記受信語のビット値を反転させることにより誤り訂正後の受信語を生成するビット反転手段を備えることを特徴としている。
また、bビットであるバイト長よりも小さな整数ビット長tを選ぶことにより、従来のバイト誤り制御符号(t=bに相当)と比較して、検査ビット数を大幅に少なくすることが可能となる。これにより、符号長に対する検査ビット数の占める割合を小さくさせて符号化率を格段に向上することが可能となり、高効率かつ高信頼性のあるデータ伝送を実現することができる。
なお、本実施形態で対象とするディジタルデータとは、0と1との組合せの信号(2進化符号)であり、ビット誤りの発生とは、符号語(バイト)中の任意のビットが、0→1または1→0になることを意味することとする。また、バイト誤りの発生とは、bビットからなる符号語中のすべてのビットを含む任意のビットが0→1または1→0になること、さらに、スポッティバイト誤りの発生とは、bビットからなる符号語中のtビット(t≦b)までが0→1または1→0になることを意味することとする。なお、本実施の形態で、「誤り」とある場合、特に明記していない限り、前記「ビット誤り」、「バイト誤り」、「スポッティバイト誤り」のすべてを包含していることとする。
図1は、本発明のスポッティバイト誤り訂正・検出装置100(以下、スポッティバイト装置100と略す)の概略構成を示すブロック図である。図1に示すように、スポッティバイト装置100は、符号化回路2、メモリ3、復号回路4等を備えた構成になっている。
符号化回路2は、対象のディジタルデータ(以下、入力情報データ30と称する)に対して誤りの訂正・検出を行う検査情報を生成する回路である。なお、検査情報は、任意個の検査ビットより構成されている。
ここでは、スポッティバイト装置100の全体動作について説明する。図2は、全体動作の処理手順を示すフローチャートである。
符号化回路2は、入力情報データ(D)30が入力されると、詳細については後述するパリティ検査行列(H)を用いて検査情報(C)を生成する(ステップS200)。符号化回路2は、この検査情報(C)を入力情報データ(D)30に付加して、送信語(V)31としてメモリ3に送出する(ステップS201)。メモリ3を経て誤りを含む可能性のある受信語(V′)32は、復号回路4に入力される(ステップS202)。
前記の(式1)から分かるように、パリティ検査行列Hは、情報部のビット列HRと、検査部に対応するビット列Iとに基本的に分けられ、つまりH=[HR I]という形で構成される。
H′=[h0′、h1′、…、hb-1′] ……… (式2)
H″=[h0 〃、h1 〃、…、hb-1 〃] ……… (式3)
ここで、t=bであれば行列H″はb×bのランクbの行列(例えば、b×bの単位行列)であり、t<bであれば最小ハミング距離t+1を有する2元(b、b−r)符号の検査行列に等しい。すなわち、このときtビット誤り検出符号のパリティ検査行列Hに等しくなる。
γiH″=[γiφ(h0 〃) γiφ(h1 〃) γiφ(h2 〃)・・γiφ(hb-1 〃)]
……… (式4)
ここで、φは加法のもとでGF(2r)からGF(2(R-q)/2)への準同形写像(homomorphism)である。すなわち、φ:GF(2r)→GF(2(R-q)/2)である。また、バイトはbビットの長さを有するが、最後の2バイトは(R−q)/2ビットの長さを有する。(R−q)/2>bでは、bビットより大きな値を有するが、例外的にこれも他のバイトと同様にバイトとして扱うこととする。このとき、最大符号長Nは、N=b(2(R-q)/2−1)+R−qである。
(1)1スポッティバイト誤り訂正(St/bEC)の機能を有している証明:
バイト中のtビットの誤りを訂正する1バイト内tビット誤り訂正である1スポッティバイト誤り訂正は、前述したシンドローム生成回路1が生成するシンドローム(S)33を用いて行うようにしている。ここで、シンドローム(S)33と前記パリティ検査行列(H)との関係は、S=V′・HTで表される。いま、受信語(V′)32が元々の送信語(V)31に対して誤りパターン(E)を含み、V′=V+Eで表されるとき、シンドローム(S)33は、
S=V′・HT=(V+E)・HT=V・HT+E・HT
となる。
前述したように、V・HT=0の関係が成立していることから、結局、シンドロームS=E・HTが成り立つ。つまり、シンドローム(S)33は、送信語(V)31に影響されずに誤りパターン(E)のみで決まることから、シンドローム(S)33に基づいて1スポッティバイト誤り訂正を行うことが可能か否かは、パリティ検査行列(H)と誤りパターン(E)とから計算されるE・HTの値の結果によって決定できるものである。
次に、このパリティ検査行列(H)が、2バイトのt/b誤り検出の機能を有していることを示すためには、1バイトにおけるt/b誤りのシンドロームが他の任意の2バイトのt/b誤りによるシンドロームと一致しないことを証明する必要がある。以下、これを4つの条件に分けて証明する。
いま、受信語V′を構成する最後の3バイトを除いた他のバイト(各バイトのバイト幅はbビット)に対して、異なる3バイト間にe1、e2、e3のt/b誤りがそれぞれ生じたとき、シンドロームSとして下記の(式9)の関係が成立したと仮定する。
e1H″、e2H″、e3H″をそれぞれx、y、zと表すと、前記の(式9)より次の(式10)〜(式12)の関係がそれぞれ成立することがわかる。
x+ y = z ……… (式10)
γix+γjy =γk z ……… (式11)
γ2ix+γ2jy =γ2kz ……… (式12)
γ2ix2+γ2jy2=(γ2kz)z=(γ2ix+γ2jy)z …… (式13)
さらに、(式13)の右辺のzに対し、前記(式10)のzを代入することにより、最終的に次の(式14)が得られる。
γ2ixy+γ2jxy=0 ……… (式14)
次に、受信語(V′)32の最後の3バイト中の1バイトとこの3バイトを除くその他の2バイト(iバイト目及びjバイト目)間に、前記と同様な3バイトの誤りが生じたとき、そのシンドロームの関係として下記に示す(式15)〜(式17)が成立したと仮定する。ここで、e1、e2、e3は、bビット幅を有するEt/bに属するt/b誤りであり、e10、e20はそれぞれ(R−q)/2ビット幅を有する受信語(V′)32の最後の2バイトに対する誤りである。
γ ix+γ jy =0 ……… (式19)
前記(式19)の両辺を2乗して変形し、さらに前記(式18)とから、下記の(式20)の関係が得られる。
γ2ix2+γ2jy2 =(γ2ix+γ2jy)x+γ2jy2+γ2jyx
=γ2jy(y+x)=0 ……… (式20)
また、受信語V′の最後の3バイト中の2バイトのt/b誤りによるシンドロームとこの3バイトを除く他の1バイト(iバイト目)におけるt/b誤りのシンドロームとの関係において、下記の(式21)〜(式23)に示す関係が成立したとする。
したがって、前述した(a)〜(d)における証明結果より、前記(式1)に示すパリティ検査行列(H)が、受信語(V′)32に対する任意の2バイト誤りを検出するDt/bEDの機能を有することを証明できた。
前記(1)ではSt/bEC機能を、前記(2)ではDt/bEDの機能を有していることを証明したが、行列H′をb行b列の単位行列Ibとする場合、前記(式1)に示すパリティ検査行列(H)は、前述したSt/bEC-Dt/bEDの機能に加えて、単一のbビットのバイト誤りを検出する機能をも有している。これは、次のようにして証明することができる。
特に、tより大きい1バイト誤りでは、誤りパターン(E)の重み(つまり、誤りパターン(E)に含まれている“1”の数)は明らかにtよりも大きいことから、t/b誤りにおけるシンドロームSIとは明らかに異なって1バイト内のtビットを越える誤りを検出することができることになる。また、最後の2バイトのうち、1バイトにtビットを越える誤りが生じたときも、同様の考えで明らかなように、1バイト内のtビットを越える誤りを検出することが可能である。
したがって、前記の(式1)に示すパリティ検査行列(H)において、H′=Ibとしたとき、(式1)に示すパリティ検査行列(H)が、受信語(V′)32に対して単一のbビットのバイト誤りを検出するSbEDの機能を有していることを証明できたことになる。
γ0=(1000)T、 γ1=(0100)T、 γ2=(0010)T、
γ3=(0001)T、 γ4=(1100)T、 γ5=(0110)T、
γ6=(0011)T、 γ7=(1101)T、 γ8=(1010)T、
γ9=(0101)T、 γ10=(1110)T、 γ11=(0111)T、
γ12=(1111)T、 γ13=(1011)T、 γ14=(1001)T
また、t=5、6、7については、行列H″としてtビット誤り検出符号を適用すればよい。そして、8列を有する行列を構成することから、これらすべてのtに対し、結果的に、前記の(式25)に示した7×8の7ビット誤り検出符号の検査行列をH″として使用すればよい。
このように、前記ではパリティ検査行列(H)の構成例を示したが、次に、このパリティ検査行列(H)を用いて処理する符号化と復号の具体的な方法とその回路構成について示す。
まず、図1に示す符号化回路2が行う符号化方法について説明する。
符号化回路2は、入力情報データD(行ベクトル)30と、パリティ検査行列(H)の情報部HRとを用いて、検査情報C(行ベクトル)を生成する。この検査情報(C)の生成は、下記の(式28)により求めることができる。
C=D・HR T ……… (式28)
具体的には、符号化回路2は、入力情報データ(D)30の情報ビット長64ビット、及び検査ビット長15ビットを基に、図3に示したパリティ検査行列Hである(136、121)S3/8EC-D3/8ED符号を生成した後、さらに、情報部の後半56ビットに相当する列ベクトル56列と検査部で重み1を有さない1列とを足し合わせた合計57列を削除した符号ビット長79ビット、情報ビット長64ビットを有する(79、64)S3/8EC-D3/8ED符号を生成する。図4は、前記(79、64)S3/8EC-D3/8ED符号を示している。
そして、符号化回路2によって生成した検査情報(C)を、入力情報データ(D)30に付加して生成した情報[D、C]が符号語を構成し、これがメモリ3に書き込まれる送信語(V)31となる。
次に、送信語(V)31に誤りが生じたとき(受信語32に誤りが含まれているとき)、その誤りに対する訂正・検出処理が、図4に示す(79、64)S3/8EC-D3/8ED符号を用いて生成されるシンドロームSの値に基づいて可能なことを示す。
前記(79、64)S3/8EC-D3/8ED符号が、前記の(式1)に示した3段構成を有するパリティ検査行列(H)を基礎にして構成されていることから、上段より得られるq=7ビットのシンドロームをSI、中段より得られる(R−q)/2=4ビットのシンドロームをSII、下段より得られる(R−q)/2=4ビットのシンドロームをSIIIとする。
V′・HT=S=[SI SII SIII] ……… (式29)
ここで、SI ∈GF(2q)はq次の行ベクトルであり、SII、SIII∈GF(2(R-q)/2)はそれぞれ(R−q)/2次の行ベクトルである。
このとき、t/b誤りパターン(E)とシンドローム(S)との間には、以下に示す関係が存在し、これによって復号回路4は誤りの訂正および検出ができる。
図6は、復号回路4における誤りの訂正および検出の処理ロジックを示したフローチャートである。
(1−1)SII=0、SIII=0の場合:受信語V′は正しいと判定する(ステップS601)。
(1−2)SII=0、SIII≠0の場合:最後のバイトに誤りが存在し、E=SIIIよりSIIIを用いて訂正できる(ステップS602)。
(1−3)SII≠0、SIII=0の場合:最後から2番目のバイトに誤りが存在し、E=SIIよりSIIを用いて訂正できる(ステップS603)。
(1−4)SII≠0、SIII≠0の場合:訂正できない誤りを検出したと判定する(ステップS604)。
(2−1)SII≠0、SIII=0、またはSII=0、SIII≠0の場合の場合: 受信語V′中に訂正できない誤りを検出と判定する(ステップS606)。
(2−2)SII=0、SIII=0の場合:最後から3番目のバイトに誤りが存在したと判定する。このとき、E・H′T=SIを満足するt/b誤りEを求めることにより、このバイトを訂正できる。また、このような関係を満足しない誤りEであるとき、訂正できない誤りを検出したと判定する(ステップS607)。
(2−3)SII≠0、SIII≠0の場合:E・H′T=SI、E・(γiH”)T=SII、かつE・(γ2iH”)T=SIIIがすべて成立するとき、iバイト目にこれらの関係を満足するt/b誤りEが生じたと判定し、E・H′T=SIより誤りEを求めて訂正する。このとき、これらの関係を満足するiが見つからなかったとき、またはこのような関係を満足するt/b誤りEが求められなかったとき、訂正できない誤りを検出したと判定する(ステップS605)。
図1に示したように、復号回路4は、シンドローム生成回路1および誤り訂正回路5等から構成されている。そして、図7に示すように、誤り訂正回路5は、シンドローム(S)を基にしてビット誤りポインタ37及びバイト誤りポインタ36を生成するシンドロームデコード回路6、前記バイト誤りポインタ36を基にして誤り訂正の可否を判断する誤り検出回路7、前記ビット誤りポインタ37を基にして所定のビット値を反転させる反転回路8を含んでいる。
他方、誤り検出回路7では、詳細は後述するが、シンドロームデコード回路6で生成されたバイト誤りポインタ36およびシンドローム33を基にして、図6に示すロジックに従って誤り訂正が可能であるか否かを判別する。前記判別の結果、誤り訂正が不可能とみなされたときは訂正不可能誤り検出信号であるUCE(Uncorrectable Error)35の値を出力するようにしている。例えば、前記UCE35の値が“1”であれば、誤り検出回路7は2個のt/b誤りを含む訂正不可能な誤りを検出したことを示している。
次に、シンドローム生成回路1、シンドロームデコード回路6、誤り検出回路7、および反転回路8の具体的な構成例を、図4に示すS3/8EC-D3/8ED符号を用いて説明する。
ここでは、シンドローム生成回路1の構成について詳細に説明する。
まず、シンドローム生成回路1では、N=79(=64+15)ビットからなる受信語(V′)32を、下記の(式30)に示すように表現したとき、この受信語(V′)32を入力して下記の(式31)に示すようなS0、S1、…S14からなるR=15ビットのシンドロームSを生成する。前述したように、図4に示すS3/8EC-D3/8ED符号のパリティ検査行列が3段構成を有することから、これに対応してシンドロームSも3つの部分に区分けし、SI=(S0S1S2S3S4S5S6)、SII=(S7S8S9S10)、SIII=(S11S12S13S14)とする。
S=( SI | SII | SIII )
=(S0S1S2S3S4S5S6|S7S8S9S10|S11S12S13S14)…(式31)
次に、シンドロームデコード回路6について説明する。シンドロームデコード回路6の全体構成を図9に示す。図9に示すように、シンドロームデコード回路6は、誤りパターン生成回路61、バイト誤りポインタ生成回路62(0)…62(7)、62(P0)、62(P1)、62(P2)(以下、代表として62(x)と称する)、バイト内ビット誤りポインタ生成回路63(0)…63(7)(以下、代表として63(x)と称する)を備えている。
一方、シンドロームSのうち、残りのSII、SIIIについては、バイト誤りポインタ生成回路62(x)に入力される。
前述したように、この誤りパターン(E)とシンドローム(SI)との関係は、SI=E・H′Tが成り立っている。また、前記(式25)に示す7行8列の行列H′の構成より、次のことが言える。
これは、前記の(式25)に示す行列H′の構成が、前部に7×7の正方行列、後部にすべて「1」を要素とする1列が存在することによる。つまり、E7=0であって他の7ビット中に誤りがあれば、この誤りは7ビットのシンドロームSI=(S0S1…S6)のパターンに等しくなる。また、最後のビットに誤りがあって(すなわちE7=1)、他の7ビット中に1ビットまたは2ビットの誤りが存在するとき、他の7ビットの誤りパターンは前記7ビットからなるSIをそれぞれ反転したパターンに一致する。つまり、E0=<S0>、E1=<S1>、E2=<S2>、E3=<S3>、E4=<S4>、E5=<S5>、E6=<S6>、E7=1となる。ここで、<Si>はSi(i=0、1、…、6)を反転したビット情報を表す。すなわち、E7=1のときで他に1ビットまたは2ビットの誤りがあるとき、シンドロームSIの重みは6または5となるはずで、これを反転した<Si>の重みは1または2となる。また、この反転した<Si>が最後のビット誤りを除く7ビットの誤りパターンとなる。
また、図10中の下部に示す7×7ソート回路40bは、反転ゲート回路48から出力されたSIの反転情報<SI>の7ビットを入力する場合のソート回路である。反転情報<SI>に1ビットまたは2ビットの「1」が存在するとき、7×7ソート回路40bの出力W0、W1の上位2ビットの論理和を2入力ORゲート回路42で実行する。ここで、W0、W1がの少なくとも何れか1つは「1」であり他のWiがすべて「0」の場合、<S0>から<S6>のパターンをANDゲート回路43、さらにはORゲート回路42を通ったE0からE6の7ビットの誤りパターン(E)を得ることができる。
したがって、これらのいずれかのとき、ORゲート回路42を通してE7=1を得ることができる。その他の場合、E7=0である。
これから、SII=E・(γH″)Tは、次の(式35)に示す関係がすべて成立していなければならない。
次に、誤り検出回路7について述べる。この誤り検出回路7は、受信語(V′)32中にt/b誤りをそれぞれに有している2バイトの誤り、およびバイト中にtビットを越える誤り等、訂正することが不可能な誤りを検出する機能を有している。誤り検出回路7が前述したような訂正不可能な誤りを検出したとき、UCEの信号35を「1」として出力するようにしている。このための論理は次のように考えればよい。シンドロームSが非零であり、かつ図9に示すバイト誤りポインタ生成回路62(x)からのバイト誤りポインタEBXがすべて「0」である情報が入力されたとき、誤り検出回路7は、符号として何らかの誤りを検出したにもかかわらず、すべてのバイトにおいて訂正できる誤りが存在していないケースと判断する。つまり、訂正できない誤りが存在してこれを検出した場合であることを表すために、UCEの信号35を「1」に設定する。
最後に、反転回路8の構成について述べる。例えば、情報バイト1に対して具体的に構成した反転回路8を図15に示す。図15に示す反転回路8は、誤りの箇所を具体的に指摘された入力ビットについて、現在のビット値の反転を行って受信語(V′)32を訂正する回路である。前述したように、Kビットからなる受信情報に対して、各入力ビットに誤りが存在するか否かを示すビット誤りポインタEbは、バイト内ビット誤りポインタ生成回路63(x)によって生成されるので、このビット誤りポインタEbを用いて反転回路を構成すればよい。具体的には例えば、図15には、情報バイト1に対する反転回路を示している。
また、以上の説明では、主としてメモリ装置に着目して本発明の適用を述べたが、本発明はそれに限定されるものではなく、例えば、このようなバイト単位で物理的に独立した回路、モジュール、装置から構成され、この中で限定した数の誤りが生じる可能性の高い一般の情報システム等に適用可能である。また、光通信回路、バス線回路等の通信または伝送のための回路、装置またはシステムにも適用可能である。
2 符号化回路
3 メモリ(または情報伝送路)
4 復号回路
5 誤り訂正回路
6 シンドロームデコード回路
7 誤り検出回路
8 反転回路
20 多入力パリティチェック回路
21 多入力パリティチェック回路
30 入力情報データ
31 送信語
32 受信語
33 シンドローム
34 出力情報データ
35 訂正不可能誤り検出信号(UCE)
36 ビット誤りポインタ
37 バイト誤りポインタ
40a 7×7ソート回路
40b 7×7ソート回路
41 3入力論理和(ORゲート)回路
42 2入力論理和(ORゲート)回路
43 2入力論理積(ANDゲート)回路
44 7入力AND/NANDゲート回路
45 5入力NORゲート回路
50 8入力NORゲート回路
51 5入力パリティチェック回路
61 誤りパターン生成回路
62 バイト誤りポインタ生成回路
63 バイト内ビット誤りポインタ生成回路
70 2入力ANDゲート回路
75 15入力ORゲート回路
76 11入力NORゲート回路
77 2入力ANDゲート回路
81 排他的論理和回路
Claims (18)
- 入力情報データを基に送信語を生成する符号化手段と、情報伝送路中で誤りが発生した前記送信語を受信語として入力して前記誤りを訂正または検出する復号手段とを備える誤り訂正・検出装置であって、
前記符号化手段は、符号を表現するパリティ検査行列と前記入力情報データとを基に生成した検査情報を前記入力情報データに付加することにより前記送信語を生成し、
前記復号手段は、前記パリティ検査行列を基に前記受信語のシンドロームを生成するシンドローム生成手段と、
前記シンドローム生成手段により生成されたシンドロームを構成する複数のビットを、前記パリティ検査行列の構成に対応して複数のグループに分け、前記各グループ毎のビット値を基に前記受信語の誤りを訂正または検出する誤り訂正手段とを備えることを特徴とする誤り訂正・検出装置。 - 前記パリティ検査行列は、b(bは2以上の整数)ビットを1バイトとした際、前記入力情報データが複数のバイトから構成される場合に、1バイト中の任意のt(tは1以上b以下の整数)ビット誤りを訂正する機能を有することを特徴とする請求項1に記載の誤り訂正・検出装置。
- 前記パリティ検査行列は、b(bは2以上の整数)ビットを1バイトとした際、前記入力情報データが複数のバイトから構成される場合に、1バイト中の任意のt(tは1以上b以下の整数)ビット誤りを訂正する機能を有するとともに、任意の2バイトにおける各バイト内のtビット誤りを検出する機能を有することを特徴とする請求項1に記載の誤り訂正・検出装置。
- 前記パリティ検査行列は、b(bは2以上の整数)ビットを1バイトとした際、前記入力情報データが複数のバイトから構成される場合に、1バイト中の任意のt(tは1以上b以下の整数)ビット誤りを訂正する機能、および任意の2バイトにおける各バイト内のtビット誤りを検出する機能を有するとともに、1バイト中のtビットを超える誤りを検出する機能を有することを特徴とする請求項1に記載の誤り訂正・検出装置。
- 前記パリティ検査行列Hは、R行N列を有する次の行列Hであり、
また、前記H″は、H″=[h0 〃、h1 〃、…、hb-1 〃]に示すランクt以上のr行b列の2元行列であって、前記h0 〃、h1 〃、…、hb-1 〃はそれぞれ有限体(ガロア体)GF(2r)上の要素で2元r次の列ベクトルであり、t=bであれば前記H″はb×bのランクbの行列であり、t<bであれば最小ハミング距離t+1を有する2元(b、b−r)のパリティ検査行列Hに等しくなり、また、R≧b+2rとしγを2を底とする(R−q)/2次の有限体GF(2r(R-q)/2)の原始元であって、φを加法のもとでGF(2r)からGF(2(R-q)/2)への準同形写像とするときに、γiH″=[γiφ(h0 〃) γiφ(h1 〃) γiφ(h2 〃)・・γiφ(hb-1 〃)]が成立するように構成されることを特徴とする請求項1〜4の何れか1項に記載の誤り訂正・検出装置。 - 前記誤り訂正手段は、前記シンドロームを構成する複数のビットを区分した複数のグループのうち第1のグループに含まれるビット値を基に、b(bは2以上の整数)ビットを1バイトとした際のバイト単位のバイト誤りパターンを生成するバイト誤りパターン生成手段と、
前記バイト誤りパターン生成手段により生成したバイト誤りパターン、及び前記第1のグループ以外のグループに含まれるビット値を基に、前記受信語の何れのバイトに誤りが含まれているかを検出するバイト誤りポインタと、前記検出されたバイト誤りポインタの示すバイト内で何れのビットが誤っているかを検出するビット誤りポインタとを出力するシンドロームデコード手段とを備えることを特徴とする請求項1〜5の何れか1項に記載の誤り訂正・検出装置。 - 前記誤り訂正手段は、前記シンドローム生成手段により生成されたシンドロームと、前記シンドロームデコード手段により出力されたバイト誤りポインタとを基に、前記バイト中に訂正することができないビット誤りを検出する誤り検出手段を備えることを特徴とする請求項6に記載の誤り訂正・検出装置。
- 前記誤り検出手段は、前記受信語のビット誤りを訂正できないことを検出した場合に、訂正不可信号を出力することを特徴とする請求項7に記載の誤り訂正・検出装置。
- 前記誤り訂正手段は、前記シンドロームデコード手段により出力されたビット誤りポインタを基に、誤りビットに該当する前記受信語のビット値を反転させることにより訂正後の受信語を生成するビット反転手段を備えることを特徴とする請求項6〜8の何れか1項に記載の誤り訂正・検出装置。
- 入力情報データを基に送信語を生成する符号化処理と、情報伝送路中で誤りが発生した前記送信語を受信語として入力して前記誤りを訂正または検出する復号処理とを備える誤り訂正・検出方法であって、
前記符号化処理は、符号を表現するパリティ検査行列と前記入力情報データとを基に生成した検査情報を前記入力情報データに付加することにより前記送信語を生成し、
前記復号処理は、前記パリティ検査行列を基に前記受信語のシンドロームを生成するシンドローム生成処理と、
前記シンドローム生成処理により生成されたシンドロームを構成する複数のビットを、前記パリティ検査行列の構成に対応して複数のグループに分け、前記各グループ毎のビット値を基に前記受信語の誤りを訂正または検出する誤り訂正処理とを備えることを特徴とする誤り訂正・検出方法。 - 前記符号化処理は、b(bは2以上の整数)ビットを1バイトとした際、前記入力情報データが複数のバイトから構成される場合に、1バイト中の任意のt(tは1以上b以下の整数)ビット誤りを訂正する機能を有する前記パリティ検査行列を生成することを特徴とする請求項10に記載の誤り訂正・検出方法。
- 前記符号化処理は、b(bは2以上の整数)ビットを1バイトとした際、前記入力情報データが複数のバイトから構成される場合に、1バイト中の任意のt(tは1以上b以下の整数)ビット誤りを訂正する機能を有するとともに、任意の2バイトにおける各バイト内のtビット誤りを検出する機能を有する前記パリティ検査行列を生成することを特徴とする請求項10に記載の誤り訂正・検出方法。
- 前記符号化処理は、b(bは2以上の整数)ビットを1バイトとした際、前記入力情報データが複数のバイトから構成される場合に、1バイト中の任意のt(tは1以上b以下の整数)ビット誤りを訂正する機能、および任意の2バイトにおける各バイト内のtビット誤りを検出する機能を有するとともに、1バイト中のtビットを超える誤りを検出する機能を有する前記パリティ検査行列を生成することを特徴とする請求項10に記載の誤り訂正・検出方法。
- 前記符号化処理により生成されるパリティ検査行列Hは、R行N列を有する次の行列Hであり、
また、前記H″は、H″=[h0 〃、h1 〃、…、hb-1 〃]に示すランクt以上のr行b列の2元行列であって、前記h0 〃、h1 〃、…、hb-1 〃はそれぞれ有限体(ガロア体)GF(2r)上の要素で2元r次の列ベクトルであり、t=bであれば前記H″はb×bのランクbの行列であり、t<bであれば最小ハミング距離t+1を有する2元(b、b−r)のパリティ検査行列Hに等しくなり、また、R≧b+2rとしγを2を底とする(R−q)/2次の有限体GF(2r(R-q)/2)の原始元であって、φを加法のもとでGF(2r)からGF(2(R-q)/2)への準同形写像とするときに、γiH″=[γiφ(h0 〃) γiφ(h1 〃) γiφ(h2 〃)・・γiφ(hb-1 〃)]が成立するように構成されることを特徴とする請求項10〜13の何れか1項に記載の誤り訂正・検出方法。 - 前記誤り訂正処理は、前記シンドロームを構成する複数のビットを区分した複数のグループのうち第1のグループに含まれるビット値を基に、b(bは2以上の整数)ビットを1バイトとした際のバイト単位のバイト誤りパターンを生成するバイト誤りパターン生成処理と、
前記バイト誤りパターン生成処理により生成したバイト誤りパターン、及び前記第1のグループ以外のグループに含まれるビット値を基に前記受信語の何れのバイトに誤りが含まれているかを検出するバイト誤りポインタと、前記検出されたバイト誤りポインタの示すバイト内で何れのビットが誤っているかを検出するビット誤りポインタとを出力するシンドロームデコード処理とを含むことを特徴とする請求項10〜14の何れか1項に記載の誤り訂正・検出方法。 - 前記誤り訂正処理は、前記シンドローム生成処理により生成されたシンドロームと、前記シンドロームデコード処理により出力されたバイト誤りポインタとを基に、前記バイト中に訂正することができないビット誤りを検出する誤り検出処理を含むことを特徴とする請求項15に記載の誤り訂正・検出方法。
- 前記誤り検出処理は、前記受信語のビット誤りを訂正できないことを検出した場合に、訂正不可信号を出力することを特徴とする請求項16に記載の誤り訂正・検出方法。
- 前記誤り訂正処理は、前記シンドロームデコード処理により出力されたビット誤りポインタを基に、誤りビットに該当する前記受信語のビット値を反転させることにより訂正後の受信語を生成するビット反転を含むことを特徴とする請求項15〜17の何れか1項に記載の誤り訂正・検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003416978A JP3743915B2 (ja) | 2003-12-15 | 2003-12-15 | スポッティバイト誤り訂正・検出方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003416978A JP3743915B2 (ja) | 2003-12-15 | 2003-12-15 | スポッティバイト誤り訂正・検出方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005176244A true JP2005176244A (ja) | 2005-06-30 |
JP3743915B2 JP3743915B2 (ja) | 2006-02-08 |
Family
ID=34736029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003416978A Expired - Fee Related JP3743915B2 (ja) | 2003-12-15 | 2003-12-15 | スポッティバイト誤り訂正・検出方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3743915B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006095489A1 (ja) * | 2005-03-04 | 2006-09-14 | Tokyo Institute Of Technology | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 |
KR100833600B1 (ko) | 2006-08-25 | 2008-05-30 | 삼성전자주식회사 | 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치 |
US8196011B2 (en) | 2006-02-15 | 2012-06-05 | Hitachi Ulsi Systems Co., Ltd. | Error detection and correction circuit and semiconductor memory |
CN109947674A (zh) * | 2017-12-20 | 2019-06-28 | 瑞萨电子株式会社 | 数据处理器件和数据处理方法 |
-
2003
- 2003-12-15 JP JP2003416978A patent/JP3743915B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006095489A1 (ja) * | 2005-03-04 | 2006-09-14 | Tokyo Institute Of Technology | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 |
US8230292B2 (en) | 2005-03-04 | 2012-07-24 | Tokyo Institute Of Technology | Method and apparatus for correcting and detecting multiple spotty-byte errors within a byte occurred in a limited number of bytes |
US8196011B2 (en) | 2006-02-15 | 2012-06-05 | Hitachi Ulsi Systems Co., Ltd. | Error detection and correction circuit and semiconductor memory |
KR100833600B1 (ko) | 2006-08-25 | 2008-05-30 | 삼성전자주식회사 | 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치 |
CN109947674A (zh) * | 2017-12-20 | 2019-06-28 | 瑞萨电子株式会社 | 数据处理器件和数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3743915B2 (ja) | 2006-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4036338B2 (ja) | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 | |
US7962837B2 (en) | Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix | |
US11740960B2 (en) | Detection and correction of data bit errors using error correction codes | |
US20180019767A1 (en) | Error correction and decoding | |
US8806295B2 (en) | Mis-correction and no-correction rates for error control | |
US7996748B2 (en) | ECC for single 4-bits symbol correction of 32 symbols words with 22 maximum row weight matrix | |
JP2589957B2 (ja) | 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム | |
JP2012050008A (ja) | 誤り検出訂正方法および半導体メモリ装置 | |
JP3743915B2 (ja) | スポッティバイト誤り訂正・検出方法及び装置 | |
Badack et al. | Modified DEC BCH codes for parallel correction of 3-bit errors comprising a pair of adjacent errors | |
TWI664636B (zh) | 錯誤檢查和糾正解碼器 | |
Neelima et al. | Half diagonal matrix codes for reliable embedded memories | |
Rao et al. | Encoder and adaptive decoder for a (15, 6, 2) DEC-TED BCH code | |
JP2006101429A (ja) | バイト内複数スポッティバイト誤り訂正・検出方法及び装置 | |
Sim et al. | Design of Two Interleaved Error Detection and Corrections Using Hsiao Code and CRC | |
JP2006060465A (ja) | スポッティバイト誤り訂正・検出方法及び装置 | |
JP3879082B2 (ja) | バイト誤り訂正・検出装置 | |
CN111782438B (zh) | 一种改进的抗辐射加固矩阵码译码电路 | |
KR102633829B1 (ko) | 버스트 에러 정정 코드 생성 방법, 컴퓨터 판독 가능한 기록 매체, 컴퓨터 프로그램 및 장치 | |
US20220190846A1 (en) | Single error correct double error detect (secded) error coding with burst error detection capability | |
US20240106462A1 (en) | G-ldpc decoder and g-ldpc decoding method | |
EP1724687B1 (en) | ECC for single 4-bits symbol correction of 32 symbols words based on a matrix having a maximum row weight of 21 | |
EP1724686B1 (en) | ECC for single 4-bits symbol correction of 32 symbols words based on a matrix having a maximum row weight matrix of 22 | |
JPH1165944A (ja) | データ誤り検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20031215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20031216 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040521 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040827 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050921 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051108 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121202 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131202 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |