JPS59163650A - High-speed correcting circuit for byte error - Google Patents
High-speed correcting circuit for byte errorInfo
- Publication number
- JPS59163650A JPS59163650A JP58038553A JP3855383A JPS59163650A JP S59163650 A JPS59163650 A JP S59163650A JP 58038553 A JP58038553 A JP 58038553A JP 3855383 A JP3855383 A JP 3855383A JP S59163650 A JPS59163650 A JP S59163650A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- syndrome
- register
- error
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
【発明の詳細な説明】
本発明は単一バイト誤りを訂正する回路に関し特(二高
速に誤りを訂正する回路に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a circuit for correcting single byte errors, and more particularly to a circuit for correcting errors at high speed.
磁気ディスクファイル等のファイル装置のデータ信頼性
を向上するためにしばしばファイア(Fire)符号、
さらにファイア符号を高速復号可能なように修正した修
正ファイア符号が使用されている。Fire codes are often used to improve the data reliability of file devices such as magnetic disk files.
Furthermore, a modified fire code is used, which is a modified fire code that can be decoded at high speed.
(以下ではバイト誤り訂正符号と呼ぶ)が用いられるよ
うになった。しかしながら、バイト誤り訂正符号を高速
復号可能なように修正する方法とその回路的構成はこれ
まで知られていない。(hereinafter referred to as a byte error correction code) came to be used. However, a method for modifying a byte error correction code so that it can be decoded at high speed and its circuit configuration have not been known so far.
従って本発明の目的は、高速復号可能なバイト誤り訂正
符号とその復号回路を提供するにある。Therefore, an object of the present invention is to provide a byte error correction code that can be decoded at high speed and a decoding circuit thereof.
本発明の誤り引止回路は、パリティ検査行列Hに従って
データを符号化するシステムにおいて、K+3パイ)(
Kは情報バイト数)の符号ブロックに生じた単一バイト
誤りを高速に復号する回路を提供する。ここで、mを任
意の偶数の正整数とした時、Iはmxm単位行列、−は
次数m1位数elの任意の既約多項式91(3)のm
X mコンパニオン行列で、為は次数m1位数e、の任
意の既約多項式92oOのm X mコンパニオン行列
である。elとelは互いに素で、情報バイト数にはK
= el 11 e2で与えられる。バイトはmビッ
トを表わす。The error prevention circuit of the present invention can be used in a system that encodes data according to a parity check matrix H.
A circuit is provided for quickly decoding a single byte error occurring in a code block where K is the number of information bytes. Here, when m is an arbitrary even positive integer, I is an mxm identity matrix, and - is m of an arbitrary irreducible polynomial 91(3) of degree m1 order el.
is an m X m companion matrix of an arbitrary irreducible polynomial 92oO of degree m1 and order e. el and el are relatively prime, and the number of information bytes is K.
= el 11 e2 is given. A byte represents m bits.
本発明の誤シ訂正回路は前記検査行列Hの第1行、第2
行および第3行にそれぞれ対応するシン)”ロームSO
,SlおよびSlを生成するシンドローム生成回路と、
シンドロームSo、S+およびSlから誤シのあるバイ
トの位置を求める復号回路とから構成される。The error correction circuit of the present invention is arranged in the first and second rows of the parity check matrix H.
Shin corresponding to row and 3rd row respectively)” ROHM SO
, a syndrome generation circuit that generates Sl and Sl;
It consists of a decoding circuit that finds the position of the byte with an error from the syndromes So, S+, and Sl.
シンドロームSO,S、およびSZの生成回路はそれぞ
れmビットのフィードバック・シフトレジスタで構成さ
れる。Slの生成回路の場合にはフィードバック・ルー
プ内に行列T1の乗算回路が、s2生成回路の場合には
行列T:の乗算回路がそれぞれ挿入される。(So生成
回路には単位行列工の乗算回路が挿入されるが、これは
何も挿入しないのと同一である。)
復号回路はシンドロームs1及びs2生成回路のシフト
・レジスタの内容がシンドロームSoの内容と一致する
までSl及びSZのレジスタをそれぞれシフトシ、それ
ぞれのシフト回数に基づいて誤シのあるバイト位置を計
算する回路である。The generation circuits for the syndromes SO, S, and SZ each consist of an m-bit feedback shift register. In the case of the S1 generation circuit, a multiplication circuit of the matrix T1 is inserted in the feedback loop, and in the case of the s2 generation circuit, a multiplication circuit of the matrix T: is inserted. (Although a unit matrix processor multiplication circuit is inserted into the So generation circuit, this is the same as inserting nothing.) The decoding circuit determines whether the contents of the shift registers of the syndrome s1 and s2 generation circuits are the same as those of the syndrome So. This circuit shifts the S1 and SZ registers until they match the contents, and calculates the position of the erroneous byte based on the number of shifts.
本発明の誤り訂正回路の特徴は、両式(1)のパリティ
検査行列Hで表わされるバイト誤シ訂正符号を用いる点
にある。A feature of the error correction circuit of the present invention is that it uses a byte error correction code expressed by the parity check matrix H of both equations (1).
行列Hの中の行列■+ ’r、 、 %は次の通りであ
る。The matrix ■+'r, , % in the matrix H is as follows.
(:’mxm行列
TI: 91(Xiのコンパニオン行列(tnXm行
列)9t(Xiは次数m2位数e1の既約多項式、gt
(Xlの位数はelで、これよりTt=Tt=I(。(:'mxm matrix TI: 91 (companion matrix of Xi (tnXm matrix) 9t (Xi is an irreducible polynomial of degree m2 and order e1, gt
(The order of Xl is el, so Tt=Tt=I(.
T2: 次数m9位数e!の既約多項式9*(Xlの
コンパニオン行列(rnxm行列)。T2: Order m9 order e! The irreducible polynomial 9*(companion matrix (rnxm matrix) of Xl.
14 。14.
位数e2よりTx=Tz=1.) K: 情報バイト数。バイト2mビット。From the order e2, Tx=Tz=1. ) K: Number of information bytes. Byte 2m bits.
elと82は互いに素とするとK = el・02ココ
テ、91(xl = ao+ aI X+αaX2+・
・・・・・+αrIX(α=0又は1)とするとコンパ
ニオン行列T1はである。コンパニオン行列nは次の性
質を持つことが容易に証明される。ベクトルE=(do
4・・・ζ−1)t(tは転置記号で、d、=O又は1
)に対応する多項式ヲE(Xl=c4+AX−1−c4
!+・・−・−・+d X 、!−すると、次の性
質IJLIが成り立つ。If el and 82 are relatively prime, then K = el・02kokote, 91(xl = ao+ aI X+αaX2+・
...+αrIX (α=0 or 1), the companion matrix T1 is. It is easily proven that the companion matrix n has the following properties. Vector E=(do
4...ζ-1) t (t is the transposition symbol, d, = O or 1
) corresponding to the polynomial E(Xl=c4+AX-1-c4
! +・・−・−・+dX、! - Then, the following property IJLI holds true.
性質t&l : THE+ぜE=Oとなるのはt−)
=Omod elの時に限られる。Property t&l: THE+ZE=O is t-)
= Limited to Omod el.
同様に、既約多項式9Jt3 = bo+ bs X十
んゾ+・・−・+ b、、、、、x (h、= o又
は1)のコンパニオン行列T2は性質(bl : T
!’E +7’、、’E = 0となるのはi −jy
Qmod e怠の時に限られる。Similarly, the companion matrix T2 of the irreducible polynomial 9Jt3 = bo + bs
! 'E +7',, 'E = 0 is i - jy
Qmod e Limited to times of laziness.
前記パリティ検査行列Hが単一バイト誤シ訂正能力を有
することは、前記性質fat 、 (blを用いて容易
(=証明される。That the parity check matrix H has the ability to correct single-byte errors is easily proven using the properties fat, (bl.
以下図面を用いて本発明の詳細な説明する。The present invention will be described in detail below using the drawings.
第1図は、前記パリティ検査行列Hに則したエンコーダ
回路(符号化回路)を示すブロック図である。第1図に
おいて、回路1,2および3はそれぞれmビットのレジ
スタである。回路4.5および6はそれぞれmビットの
排他的0R(EXCLUSIVE−OR)回路である。FIG. 1 is a block diagram showing an encoder circuit (encoding circuit) conforming to the parity check matrix H. In FIG. 1, circuits 1, 2 and 3 are each m-bit registers. Circuits 4.5 and 6 are each m-bit EXCLUSIVE-OR circuits.
又、回路7は前記行列T1の乗算回路、回路8は前記行
列1の乗算回路である。Further, circuit 7 is a multiplication circuit for the matrix T1, and circuit 8 is a multiplication circuit for the matrix 1.
K(=e11I82)個の情報バイトを”%−I Dk
−! Dk−s・・・、DI、Do(D、はm次元列ベ
クトル)と表わせばチェックバイトco 、 Cs 、
C! (C6はm次元列ベクトル)は次式で生成され
る。K (=e11I82) information bytes as "%-I Dk
-! Expressed as Dk-s..., DI, Do (D is an m-dimensional column vector), check bytes co, Cs,
C! (C6 is an m-dimensional column vector) is generated by the following equation.
(ここで、Tl“、T:はそれぞれ行列T1.T、の2
乗を表わす。)
第1図の回路において、データ入力線を介して情報バイ
トDk−1t Dk−z+・・・・・・、D□、Doを
この順に入力すれば両式(2)に則したチェックパイ)
C0,C,及びC!が生成される。ここで、C0,C1
及びC3はそれぞれレジスター、2及び3の出力である
。(Here, Tl", T: are 2 of the matrix T1.T, respectively.
represents the power. ) In the circuit shown in Figure 1, if the information bytes Dk-1t Dk-z+..., D□, Do are input in this order via the data input line, a check pie conforming to both equations (2) is obtained.
C0, C, and C! is generated. Here, C0, C1
and C3 are the outputs of registers 2 and 3, respectively.
前記T1乗算回路7及び−乗算回路8は、次のように構
成される。例えば91(3)= テ+X2+ 1とする
と、コンパニオンマトリクスTlは次式で衣わされT1
乗算回路7への入力をベクトルA=(α。α1a2α3
)(ここで、α、=0又は1、tは転置記号)、出力を
ベクトルB = (bob、h、b、>t<ここで6.
=0又は1)とするとT1乗算回路の出力BはB=T−
Aで表わされる。すなわち、
ある。)従って、’T11=よる乗算回路は第2図のよ
うになる。The T1 multiplication circuit 7 and the -multiplication circuit 8 are configured as follows. For example, if 91(3) = Te + X2 + 1, the companion matrix Tl is given by the following formula, T1
The input to the multiplication circuit 7 is expressed as vector A=(α.α1a2α3
) (where α, = 0 or 1, t is the transpose symbol), and output the vector B = (bob, h, b, >t<where 6.
= 0 or 1), the output B of the T1 multiplier circuit is B = T-
It is represented by A. In other words, there is. ) Therefore, the multiplication circuit according to 'T11= is as shown in FIG.
第2図において回路100は2人力の排他的OR回路で
ある。In FIG. 2, circuit 100 is a two-person exclusive OR circuit.
一般の9□(3)、 9.(XIに対応するコンパニオ
ン行列T1及びT、による乗算回路も同様に構成される
のでこれ以上の説明は要しない。General 9□(3), 9. (The multiplication circuit using the companion matrices T1 and T corresponding to XI is similarly configured, so no further explanation is necessary.
第1図のエンコーダ回路はシンドローム生成にも利用さ
れる。受信された情報バイト及びチェッ式で生成される
。The encoder circuit of FIG. 1 is also used for syndrome generation. Generated from received information bytes and check formula.
ル、Tはmxm行列。)
両式(3)に従ったシンドロームを前記第1図の回路を
用いて生成するには、受信情報バイトDA−I+はレジ
スタ2のみに、C2はレジスタ3のみにそれぞれに入力
するように制御する。受信バイトの入力が終了すると、
レジスタ1,2及び3からは両式(3)で表わされるシ
ンドロームS。、S、及びS2がそれぞれ出力される。le, T is an mxm matrix. ) To generate the syndrome according to both equations (3) using the circuit shown in FIG. do. After entering the received bytes,
From registers 1, 2, and 3, the syndrome S expressed by both equations (3). , S, and S2 are output, respectively.
符号化(チェックバイトの生成)とシンドロームの生成
は以上のように行われる。Encoding (check byte generation) and syndrome generation are performed as described above.
次にシンドロームから誤シバイトのパターンと位置を解
読する復号回路を説明する。Next, a decoding circuit for decoding the pattern and position of an erroneous sybyte from the syndrome will be explained.
いま、ノ゛番目(0く)°<k−1)の情報バイトに誤
9パターンE(Eはm次元列ベクトル)の誤りが生じた
とすると、シンドロームS。、Sl及びS2は次式で表
わされることが両式(2) 、 (31より容易に示さ
れる。Now, if an error of 9 patterns E (E is an m-dimensional column vector) occurs in the th (0th) degree < k-1) information byte, syndrome S occurs. , Sl, and S2 are easily shown by the following equations (2) and (31).
ここでシンドロームS0.S、及びS、のみが既仰であ
り、誤シバターンEと誤シ位置)は未知数である。復号
は既知数S0.Sl及びS、から誤シバターンEと誤シ
位置ノ゛を求めることである。式(4)より誤リパター
ンEはS。と一致するから、EはS。より直ちに求めら
れる。誤り位置ノは次のように求められる0誤り位置を
求めるため(=は、第1図の回路においてシンドローム
81のレジスタ2とシンドロームS2のレジスタ3を、
それぞれシンドロームS。Here, syndrome S0. Only S, S, and S have already been mentioned, and the wrong turn (E) and the wrong position (E) are unknown. Decoding is performed using known number S0. The purpose is to find the erroneous shift pattern E and the erroneous shift position from Sl and S. From equation (4), the incorrect repattern E is S. Since it matches, E is S. more immediately required. The error position is found as follows: 0 To find the error position (=, in the circuit of FIG. 1, register 2 of syndrome 81 and register 3 of syndrome S2 are
Syndrome S respectively.
のレジスタ1の出力に一致するまでシフトする。Shift until it matches the output of register 1.
但し、このシフトにおいてデータ入力線は論理ゼロに保
持し、又S0のレジスタ1はシフトしな〜bStレジス
タ2およびS!レジスタ3の出力は盃回目のシフトで、
それぞれT181 、 Tt St (但しSlおよび
S2はレジスタの内容の初期値)となる。既に述べたよ
う+: T、 −I 、 T、’ =Iであるからレ
ジスタ2及びレジスタ3の最大シフト回数はそれぞれe
l−1及びe、−1である0
いま、r1回目のシフトで88レジスタ2の内容がSo
レジスタ1に一致したとすると、両式(4)よりSo
=< 5t−T4 +JE =E (O<7.<es
1 )である。従って前記性質(alよりτ1+)w
Omod e1換言すれば、
丁−−ノ゛ mod em ・・・・
・・ (5)が成立する。However, in this shift, the data input line is held at logic zero, and register 1 of S0 is not shifted ~bSt register 2 and S! The output of register 3 is the first shift of the cup,
T181 and Tt St (however, Sl and S2 are the initial values of the register contents), respectively. As already mentioned, since +: T, -I, T,' = I, the maximum number of shifts for register 2 and register 3 is e
0 which is l-1 and e, -1 Now, the contents of 88 register 2 are So at the r1th shift.
If it matches register 1, So from both equations (4)
=< 5t-T4 +JE =E (O<7.<es
1). Therefore, the above property (τ1+ from al)w
Omod e1 In other words, ding--no゛ mod em...
...(5) holds true.
同様(二、r8回目のシフトでS、レジスタ3の内容が
80レジスターに一致したとすると、両式(4)よりS
o= T、’S、= T、”E = Eである。前記性
質(blよりr、+)=0 、換言mod e。Similarly (2nd, r, if the contents of S register 3 match the 80th register at the 8th shift, then from both equations (4) S
o = T, 'S, = T, "E = E. The property (from bl, r, +) = 0, in other words mod e.
すれば、
r’a−ノmod e、 、 (O<rfie2−1
) ・・・”・(6)鵞
が成立する。以上をまとめると、
となる。Then, r'a-mod e, , (O<rfie2-1
)...”・(6) Goose is established.To summarize the above, we get.
ここで、rlと−は既知であり、ノ゛が未知数である。Here, rl and - are known, and n is an unknown quantity.
両式(7)は1中国人の剰余定理(Chinsuse
RemalnderTh@orem) ’によって容易
に解くことができる。Both equations (7) are based on the Chinese remainder theorem.
RemalnderTh@orem)' can be easily solved.
すなわち、両式(7)を満たすノ(0く)くに−1゜k
=61” ez )は下式で求められる。In other words, the value that satisfies both equations (7) is -1゜k
=61''ez) is obtained by the following formula.
ノ=に−(へr□+へz)。。dk ・・・・・・
(8)ココテ、(へ−、十へ”! )m6d kはへ
r1+へ−をkで割った時の余りを示す。ノ = ni - (he r □ + he z). . dk・・・・・・
(8) Kokote, (he-, ten-he”!) m6d k indicates the remainder when r1+he- is divided by k.
但賦に=61°@Pへ=’l@lへ=6?1ゝ“1及α
2は
αe+αzes” 1mod k ”””
(912
′Ir:高たす定数で
から求められる。式(8)のようにハマτ1”!’二そ
れぞれ定数へ及びへを掛けて加算して得られる数へrI
+へT2をkで割った時の余りをkから引き算したもの
に等しい。However, = 61° @ P = 'l @ l = 6?1ゝ "1 and α
2 is αe + αzes” 1 mod k “””
(912 ′Ir: is a constant that increases. As shown in equation (8), rI
+ is equal to the remainder when T2 is divided by k, which is subtracted from k.
第3図の(!L)及び(blは、以上の原理を用いた復
号のフローチャートを示す。但し、第3図(alと第3
図(blは行先/帰先記号Aを介してつながっている。(!L) and (bl) in Figure 3 show a flowchart of decoding using the above principle.
Figure (bl is connected via the destination/return symbol A.
図のようにシンドロームに関してS。=S1=S、=0
0時は誤シ無しである。So、 S、及びS!の中の1
個のみが非ゼロの時はチェックノ2イ) C0,C1又
はcoの中の1バイト誤シと判定する。S regarding the syndrome as shown. =S1=S,=0
At 0:00, there is no error. So, S, and S! 1 in
If only the number is non-zero, check 2) It is determined that one byte in C0, C1 or co is incorrect.
例えば、S0≠o 、 s、=o 、 s、=oの時は
チェックバイトC0に誤りがある(情報バイト及びチェ
ックバイ) C,、C,には誤シがない)。For example, when S0≠o, s,=o, s,=o, there is an error in check byte C0 (information byte and check byte C, , C, has no error).
又、So、 S、、 S2の中の2個が非零の時(例え
ばs0= o 、 S1≠O,S、≠0の時)は訂正不
可能誤り。Also, when two of So, S, and S2 are non-zero (for example, when s0=o, S1≠O, S, ≠0), it is an uncorrectable error.
すなわち2バイト以上の誤シが生じたと判定する。In other words, it is determined that an error of 2 or more bytes has occurred.
S0≠O、S、≠0かつS、≠0の時は情報バイトに誤
シが生じていると判定し、前述した復号手順を実行する
。When S0≠O, S≠0 and S≠0, it is determined that an error has occurred in the information byte, and the above-described decoding procedure is executed.
スナワち、シンドローム・レジスタS、及びシンドロー
ム・レジスタS、の内容がシンドローム・レジスタS0
に一致するまでシフトする。The contents of syndrome register S and syndrome register S are syndrome register S0.
Shift until it matches.
但し、第3図のフローのように、レジスタS1の内容が
el−1回以内のシフトでレジスタS0に一致しない場
合、又はレジスタS、の内容がe、−1回以内のシフト
でレジスタS0に一致しない場合には訂正不可能誤り、
すなわち2バイト以上の誤りが生じたと判定する。ここ
で、第3図のフローチーy −トではシンドローム・レ
ジスタS1のシフトが終了した後にシンドロームψレジ
スタSPシフトを開始するように書いであるが、実際に
はレジスタS1とS、のシフトを同時C二並行に行う。However, as shown in the flowchart in Figure 3, if the contents of register S1 do not match register S0 within el-1 shifts, or if the contents of register S do not match register S0 within e,-1 shifts, If they do not match, it is an uncorrectable error;
In other words, it is determined that an error of 2 bytes or more has occurred. Here, in the flowchart of FIG. 3, it is written that the syndrome ψ register SP shift is started after the shift of the syndrome register S1 is completed, but in reality, the shifts of registers S1 and S are performed at the same time. Do it in two parallels.
第4図は、以上の復号原理を実現した復号回路を示す。FIG. 4 shows a decoding circuit that realizes the above decoding principle.
図において、回路1,2及び3はそれぞれ既ニ述べたシ
ンドローム書レジスタS0.S、及び82回路7,8は
それぞれ既に述べたT、 、 T、乗算回路である。図
において、シンドローム・レジスタS1とS、は同時に
シフトされる。回路12はシンドローム・レジスタSの
シフト回数を計数するカウンタであり、回路13はシン
ドローム・レジスタS、のシフト回数を計数するカウン
タである。回路10 、11はそれぞれレジスタS。と
S□及びレジスタS0とS、を比較する比較回路である
。In the figure, circuits 1, 2 and 3 are respectively the syndrome registers S0. S, and 82 circuits 7 and 8 are the already mentioned T, , and T multiplication circuits, respectively. In the figure, syndrome registers S1 and S are shifted simultaneously. The circuit 12 is a counter that counts the number of shifts of the syndrome register S, and the circuit 13 is a counter that counts the number of shifts of the syndrome register S. Circuits 10 and 11 are each a register S. This is a comparison circuit that compares S and S and registers S0 and S.
Soと81が一致すると回路10は出力信号線20を介
してカウンター2の計数動作を停止させる。同様にSと
Sが一致すると回路11は出力信号線21を介してカウ
ンター3の計数動作を停止させる。従って、カウンター
2にはSがSに一致するまでに要したシフト回数r、が
保持され、カウンター3にはS、がSoに一致するまで
に要したシフト回数rが保持される。When So and 81 match, the circuit 10 stops the counting operation of the counter 2 via the output signal line 20. Similarly, when S and S match, the circuit 11 stops the counting operation of the counter 3 via the output signal line 21. Therefore, the counter 2 holds the number of shifts r required until S matches S, and the counter 3 holds the number r of shifts required until S matches So.
ここで、前記第3図のフローチャートより、シンドロー
ム・レジスタS、に必要なシフト回数は最大el−1回
、シンドローム・レジスタS、に必要なシフト回数は最
大e −1回である。Here, from the flowchart of FIG. 3, the maximum number of shifts required for the syndrome register S is el-1 times, and the maximum number of shifts required for the syndrome register S is e-1 times.
シンドローム・レジスタS1と82は同時に並行してシ
フトされるから、シンドロームゆレジスタに必要な最大
シフト数はe −1とe −1のいずれか大きい方に等
しい。Since syndrome registers S1 and 82 are shifted simultaneously and in parallel, the maximum number of shifts required for the syndrome registers is equal to the greater of e-1 and e-1.
カウンター2の計数値がe r−1を越えてもSlと8
0(ニ一致しない場合、又はカウンター3の計数値が8
、−1を越えてもS、がSoに一致しない場合には訂正
不可能abが生じたとじ【、誤り訂正動作は終了する。Even if the count value of counter 2 exceeds e r-1, Sl and 8
0 (if they do not match or the count value of counter 3 is 8)
, -1 but S does not match So, an uncorrectable ab has occurred, and the error correction operation ends.
そうでない場合、すなわち、シンドローム・レジスタS
!及びS、がシンドロームS。にそれぞれet−1回、
e、−1回以内のシフト回数で一致した場合には回路1
5によって誤り位置が計算される。If not, i.e. syndrome register S
! and S, is syndrome S. et-1 time each,
e, if the number of shifts within -1 matches, circuit 1
The error position is calculated by 5.
回路15は前記シフト回数r1及びr!から、両式(8
)に従ってpb位置ノ°を計算する回路である。The circuit 15 calculates the number of shifts r1 and r! From, both formulas (8
) is a circuit that calculates the pb position no.
すなわち、回路15はノ= k −(A、r1+へτり
mod kを計算する回路である。That is, the circuit 15 is a circuit that calculates τ mod k to = k - (A, r1+).
ここで、比較回路10と11、カウンター2と13は市
るが、ファームウェア方式でも実現できる。多くの磁気
ディスク装置はマイクロプログラム制御方式(ファーム
ウェア方式)を採用しているので、回路15の計算機能
をファームウェアで実施するのは比較的容易であるし、
この場合回路15を実現するに必要なハードウェア回路
がいらなくなる利点がある。Here, the comparison circuits 10 and 11 and the counters 2 and 13 are available, but they can also be implemented using firmware. Since many magnetic disk drives employ a microprogram control method (firmware method), it is relatively easy to implement the calculation function of the circuit 15 using firmware.
In this case, there is an advantage that the hardware circuit required to realize the circuit 15 is not required.
以上の説明から明らかなように、本発明の復号回路では
、シンドローム・レジスタS1の最大シフト回数はel
−1回、シンドローム・レジスタS、の最大シフト回数
はe −1回である。シンドロームレジスタS、とS、
は同時にシフトされるから、復号に必要なシンドローム
・レジスタのシフト回数はel−1とe −1のいずれ
か大きい方に等しい。従って、復号時間はシンドローム
・レジスタのシフト時間(e−1とe −1のいずれか
大きい方)と!
計算時間()=に−(へr1+へ”x)mod kを計
算する時間)の和に等しい。As is clear from the above explanation, in the decoding circuit of the present invention, the maximum number of shifts of the syndrome register S1 is el.
−1 times, and the maximum number of shifts of the syndrome register S is e −1 times. Syndrome register S, and S,
are shifted simultaneously, so the number of syndrome register shifts required for decoding is equal to the larger of el-1 and e-1. Therefore, the decoding time is the syndrome register shift time (whichever is greater of e-1 and e-1)! Calculation time () = equal to the sum of - (r1 + x) time to calculate mod k).
一方、通常の復号方法では、情報バイト数k(=e拳e
)i二等しいシフト回数が必要とされる2
から、本発明により復号時間をかなり短縮することが可
能である。On the other hand, in the normal decoding method, the number of information bytes k (= e k
) i2 Since a number of shifts equal to 2 is required, it is possible to considerably reduce the decoding time with the present invention.
以上より、本発明のバイト誤り訂正回路は高速に誤すを
復号することが可能であり、本発明の目的を十分達成で
きる。As described above, the byte error correction circuit of the present invention can decode errors at high speed, and the object of the present invention can be fully achieved.
第1図は本発明によるバイト誤シ訂正/メ符号第3図f
a−1、(blは復号方法を示すフローチャート、第4
図は復号回路のブロック図である。
図において、1,2.3はシンドローム・レジスタ4、
5.6は排他的OR回路、7,8はそれぞれglLxl
及びg、00のコンパニオン行列T1及び′r2を乗算
する回路、100は排他的OR回路、10 、11は一
致を検出するための比較回路、15は信号r及びr、に
基づいて誤りのあるバイトの位置を計算する回路をそれ
ぞれ示す。
オ 1 ロ
ア 22
オ 3 図
(0,)FIG. 1 shows a byte error correction/me code according to the present invention.
a-1, (bl is a flowchart showing the decoding method, 4th
The figure is a block diagram of a decoding circuit. In the figure, 1, 2.3 is syndrome register 4,
5.6 is an exclusive OR circuit, 7 and 8 are each glLxl
and g, a circuit for multiplying companion matrices T1 and 'r2 of 00, 100 is an exclusive OR circuit, 10, 11 are comparison circuits for detecting a match, 15 is an erroneous byte based on signals r and r, The circuits for calculating the position of are shown respectively. O 1 Roa 22 O 3 Figure (0,)
Claims (1)
行列。TIは次数m2位数61の任意の既約多項式r、
(x)のmxmコンパニオン行列で、T2は、次数m9
位数82の任意の既約多項式〇! (X)のmxmコン
パニオン行列である。但し、亀とe!は互いに素で、情
報バイト数にはk =e1・elである。パイ前記検査
行列の第1.第2及び第3行に対応してシンドロームS
、、S、及びS2をそれぞれ生成する第1゜M2及びi
3のシンドローム舎レジスタと、シンドロームの生成終
了後、前記第2及び第3のシンドローム・レジスタをシ
フトし、前記第2のシンドローム拳レジスタの内容St
が前記第1のシンドローム拳レジスタの内容S0に一致
するまでに要したシフト回数を計数し、保持する第1の
カウンタト、前記第3のシンドローム・レジスタの内容
S2が前記第1のシンドローム・レジスタの内容Soに
一致するまでに要したシフト回数を計数し保持する第2
のカウンタと、前記第1及び第2のカウンタに保持され
たシフト回数に基づいて誤りのあるバイトの位置を計算
する回路とから構成される高速バイト誤り訂正回路。[Claims] Parity check matrix (where m is an arbitrary positive integer, t is an m×m unit matrix. TI is an arbitrary irreducible polynomial r of degree m2 and order 61,
(x) mxm companion matrix, T2 is of order m9
Any irreducible polynomial of order 82! It is an mxm companion matrix of (X). However, Kame to e! are relatively prime, and the number of information bytes is k = e1·el. The first .pi of the check matrix. Syndrome S corresponding to the second and third rows
, , S, and S2, respectively.
After the syndrome generation is completed, the second and third syndrome registers are shifted, and the contents of the second syndrome register St
a first counter that counts and holds the number of shifts required until S0 matches the content S0 of the first syndrome register; A second function that counts and holds the number of shifts required to match the content So.
and a circuit for calculating the position of an erroneous byte based on the number of shifts held in the first and second counters.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58038553A JPS59163650A (en) | 1983-03-09 | 1983-03-09 | High-speed correcting circuit for byte error |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58038553A JPS59163650A (en) | 1983-03-09 | 1983-03-09 | High-speed correcting circuit for byte error |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59163650A true JPS59163650A (en) | 1984-09-14 |
Family
ID=12528478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58038553A Pending JPS59163650A (en) | 1983-03-09 | 1983-03-09 | High-speed correcting circuit for byte error |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59163650A (en) |
-
1983
- 1983-03-09 JP JP58038553A patent/JPS59163650A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4030067A (en) | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes | |
Wolf et al. | On the probability of undetected error for linear block codes | |
US6574774B1 (en) | Physical block address recovery apparatus system and method for cyclic error correction codes | |
EP0114938A2 (en) | On-the-fly multibyte error correction | |
Meggitt | Error correcting codes and their implementation for data transmission systems | |
JPS63244935A (en) | Method and system for detecting and correcting errors | |
US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
EP0233075B1 (en) | Method and apparatus for generating error detection check bytes for a data record | |
JPH03136524A (en) | Error detection and correction system to long burst error | |
JP2006244259A (en) | In-byte plural spotty byte error correction/detection method and device limiting error byte number | |
US8694872B2 (en) | Extended bidirectional hamming code for double-error correction and triple-error detection | |
WO1997000559A1 (en) | Dedicated alu architecture for 10-bit reed-solomon error correction module | |
GB1105583A (en) | Error detection and/or correction of digital information | |
JPS6316929B2 (en) | ||
JPH0728227B2 (en) | Decoding device for BCH code | |
US7093183B2 (en) | Symbol level error correction codes which protect against memory chip and bus line failures | |
US20140013181A1 (en) | Error Correction Coding Using Large Fields | |
US9191029B2 (en) | Additional error correction apparatus and method | |
EP1102406A2 (en) | Apparatus and method for decoding digital data | |
US7100103B2 (en) | Efficient method for fast decoding of BCH binary codes | |
JPS59163650A (en) | High-speed correcting circuit for byte error | |
WO1994015406A1 (en) | Method of and circuit for correcting errors | |
JPH0351008B2 (en) | ||
US3500320A (en) | Error correcting means for digital transmission systems | |
JP2691973B2 (en) | Decoding device for single error correction and multiple error detection BCH code |