JPS6041771B2 - double error correction circuit - Google Patents
double error correction circuitInfo
- Publication number
- JPS6041771B2 JPS6041771B2 JP53012588A JP1258878A JPS6041771B2 JP S6041771 B2 JPS6041771 B2 JP S6041771B2 JP 53012588 A JP53012588 A JP 53012588A JP 1258878 A JP1258878 A JP 1258878A JP S6041771 B2 JPS6041771 B2 JP S6041771B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- bits
- error correction
- syndrome
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の詳細な説明】
本発明は二重誤り訂正回路に関し、特に並列データに対
する二重ランダム誤り訂正回路に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a dual error correction circuit, and more particularly to a dual random error correction circuit for parallel data.
データ処理装置のメモリには信頼性を向上させるために
、従来から主として単一誤り訂正兼二重誤り検出ハミン
グ符号が用いられてきた。Conventionally, single error correction and double error detection Hamming codes have been mainly used in memories of data processing devices in order to improve reliability.
この符号化システムでは特定個数のデータビットに最少
個数のチェックビットを付加してメモリに記憶しておき
、メモリから読み出す時に生じる単一誤りを訂正し、か
つ又二重誤りを検出している。前記符号化システムの特
徴は付加されるチェックビットの個数が少なくて済むと
いうことと、簡単な回路によつて前記誤りが並列的に訂
正兼検出できることにある。しかしながら、メモリの信
頼性を更に向上させるには二重ランダム誤り訂正システ
ムを採用することが望ましい。この二重ランダム誤りは
、例えば、周知の二重誤り訂正■…符号すなわちボーゼ
シヨードウリ符号(Bose一Chaudhuri符
号)によつても訂正される。しかしこのBCH符号を採
用すると並列的に二重誤りを訂正するための相当多量で
かつ複雑な論理回路が必要になるという欠点をもつてい
る比較的簡単な回路によつて二重誤りを訂正できる符号
には多数決論号可能二重誤り訂正符号がある。この符号
を用いれば二重ランダム誤りが多数決論理によつて並列
的に訂正され得る。特許公告公報昭和4奔一2013号
に記述される直交ラテン方陣符号は前記多数決論号可能
二重誤り訂正符号の良好な一例てある。前記直交ラテン
方陣符号では、mを1より大きい任意の整数とするとイ
個のデータビットに4m個のチェックビットを付加する
ことにより二重ランダム誤りが訂正される。この符号を
用いた誤り訂正システムは簡単な多数決論理回路によつ
て二重誤りが並列的に訂正できるという利点を有してい
るものの、一個のデータビットに4m個の多重なチェッ
クビットを付加する必要があるという、欠点を併せもつ
ている。したがつて前記直交ラテン方陣符号よりも少な
い冗長度を有する多数決論号可能二重誤り訂正符号を用
いた誤り訂正システムの実現が望まれる〔ここで冗長度
は冗長度■(チェックビットの個数)/(チェックビッ
トの個数+データビットの個数)で定義され、前記ラテ
ン方陣符号の冗長度は4m/(d+4m)=4/(m+
4)で与えられる〕。しかしながら、これまで上述のよ
うな二重誤り訂正システムは存在しなかつた。本発明の
目的は従来の多数決復号可能二重誤り訂正符号よりも少
ない冗長度を有する多数決復号可能二重誤り訂正符号を
用いた新規な二重誤り訂一正回路を提供することにある
。This encoding system stores a specified number of data bits with a minimum number of check bits in memory, corrects single errors that occur when reading from memory, and also detects double errors. The features of the encoding system are that the number of check bits added is small and that the errors can be corrected and detected in parallel using a simple circuit. However, it is desirable to employ a dual random error correction system to further improve memory reliability. This double random error can also be corrected by, for example, the well-known double error correction ■... code, ie, the Bose-Chaudhuri code. However, when this BCH code is adopted, double errors can be corrected using a relatively simple circuit, which has the disadvantage of requiring a fairly large and complex logic circuit to correct double errors in parallel. The code includes a double error correcting code capable of majority voting. Using this code double random errors can be corrected in parallel by majority logic. The orthogonal Latin square code described in Patent Publication No. 4, 2013 is a good example of the double error correcting code capable of majority logic. In the orthogonal Latin square code, double random errors are corrected by adding 4m check bits to i data bits, where m is an arbitrary integer greater than 1. Although the error correction system using this code has the advantage that double errors can be corrected in parallel using a simple majority logic circuit, it adds 4m multiple check bits to one data bit. It also has the disadvantage of being necessary. Therefore, it is desired to realize an error correction system using a double error correction code capable of majority logic, which has less redundancy than the orthogonal Latin square code [here, redundancy is redundancy (number of check bits)] /(number of check bits + number of data bits), and the redundancy of the Latin square code is 4m/(d+4m)=4/(m+
4)]. However, until now there has been no dual error correction system as described above. SUMMARY OF THE INVENTION An object of the present invention is to provide a new double error correction circuit using a majority decodable double error correction code that has less redundancy than conventional majority decodable double error correction codes.
本発明の二重誤り訂正回路はmを3以上の任意の奇数と
して、d+艮(m−1)個のデータビットに伍+1個の
チェックビットを付加する符号−化回路と、前記データ
ビット及びチェックビットからシンドロームビツトを発
生する回路とこのシンドロームビツト発生回路の出力を
多数決論理によつて解続することによつて上記データビ
ット及びチェックビット内に生じた1個又は2個のラン
ダム誤りを訂正する多数決回路を有する復号回路とから
構成されている。The double error correction circuit of the present invention includes an encoding circuit that adds 5+1 check bits to d+(m-1) data bits, where m is an arbitrary odd number of 3 or more; One or two random errors occurring in the data bits and check bits are corrected by connecting a circuit that generates syndrome bits from check bits and the output of this syndrome bit generation circuit using majority logic. and a decoding circuit having a majority voting circuit.
以下図面を参照して本発明の詳細な説明する。The present invention will be described in detail below with reference to the drawings.
第1図はデータ処理装置内におけるメモリと本発明の誤
り訂正回路との関係を示すブロック図で5ある。第1図
において符号化回路1は演算回路4において発生された
データからチェックビットを生成する。このデータはチ
ェックビットと共にメモリ2に貯えられる。後に必要と
するときこのデータはチェックビットと共にメモリ2か
ら読み出一され、復号化回路3によつて誤りを訂正され
た後に再び演算回路4に供給される。以下では、本発明
に用いる多数決復号可能二重誤り訂正符号の構成及び前
記符号の符号化回路1と復号化回路3の構成を一例をも
つて説明する。FIG. 1 is a block diagram 5 showing the relationship between the memory in the data processing device and the error correction circuit of the present invention. In FIG. 1, an encoding circuit 1 generates check bits from data generated in an arithmetic circuit 4. This data is stored in memory 2 along with check bits. When needed later, this data is read out from the memory 2 together with the check bit, and after its errors are corrected by the decoding circuit 3, it is again supplied to the arithmetic circuit 4. Below, the configuration of the majority-decodable double error correction code used in the present invention and the configurations of the encoding circuit 1 and decoding circuit 3 of the code will be explained using an example.
最初にm=5の場合を例として前記符号及び回路構成を
説明する。この場合、m=5であるから31〔=d+艮
(m−1)〕個のデータビットに16(=伍+1)個の
チェックビットを付加することとなり本発明で用いる二
重誤り訂正符号が得られる。First, the above codes and circuit configuration will be explained using the case where m=5 as an example. In this case, since m=5, 16 (=5+1) check bits are added to 31 [=d+艮(m-1)] data bits, and the double error correction code used in the present invention is can get.
以下では前記31個のデータビットをDl,d2,d3
,・・,D3O,d3lと表わし、前記16個のチェッ
クビットをC。O,ClO9Cll9Cl29Cl39
Cl49C2O9C2l93O9C249C3O,C3
l,・・,C3,と表わす。ここでD,及びCIJは1
またはOのいづれかの値をとる。本発明による符号化回
路1は次の関係式(1),(2),(3),(4)に則
してデータビットからチェックビットを発生する。(こ
こで以後の全ての式において1記号は排他的0Rを示し
、Σ4は排他的0Rに関する総和を示すものとする。)
チェックビットを発生する前記関係式(1),(2),
(3),(4)をそれらの係数を与える符号化行列jに
よつて表わすとすれば玩は第2図で与えられる。Below, the 31 data bits are Dl, d2, d3.
, . . , D3O, d3l, and the 16 check bits are C. O, ClO9Cll9Cl29Cl39
Cl49C2O9C2l93O9C249C3O,C3
It is expressed as l,...,C3,. Here, D and CIJ are 1
or O. The encoding circuit 1 according to the present invention generates check bits from data bits in accordance with the following relational expressions (1), (2), (3), and (4). (Here, in all formulas that follow, the symbol 1 indicates exclusive 0R, and Σ4 indicates the summation regarding exclusive 0R.)
The above relational expressions (1), (2), which generate check bits,
If (3) and (4) are expressed by an encoding matrix j giving their coefficients, the equation is given in FIG.
但し、第211F5において空なる行列要素は0である
。第2図の行列比を用いれば前記関係式(1),(2)
,(3),(4)は次式のようなベクトルと行列の乗算
て表わされる。既に述べたように第1図の符号化回路1
は式(1),(2),(3)及び(4),あるいは式(
5)に則してデータビットとからチェックビットを発生
する。However, the empty matrix element in the 211F5 is 0. Using the matrix ratios in Figure 2, the above relational expressions (1) and (2) can be obtained.
, (3), and (4) are expressed by multiplying a vector and a matrix as shown in the following equation. As already mentioned, the encoding circuit 1 in FIG.
is the formula (1), (2), (3) and (4), or the formula (
5), a check bit is generated from the data bit.
例えばチェックビットClOは式(2)のようにデータ
ビットDl,d2,d3,d4,d5及びD26の排他
ビρRをとることにより生成されるが、これは、第3図
のように6個の入力を有する排他的0R回路5によつて
容易に実現される。他の14個のチェックビットCll
9Cl29Cl3?Cl49C2O9C2l9l9C2
49C′309C31,・・・C34を生成する回路も
同様式(2),(3)又は(4)に則してデータビット
の排他的0Rをとる回路によつて実現される。又チェッ
クビットC。Oは式(1)により、全てのデータビット
Dl,d2,d3,・・,D3O,d3lの排他的0R
をとつて生成される式(1)及び(2)に着目すればC
。Oは次式(6)によつても表わされる。従つて式(6
)によればチェックビットC。For example, the check bit ClO is generated by taking the exclusive bit ρR of the data bits Dl, d2, d3, d4, d5, and D26 as shown in equation (2), but this is generated using six This is easily realized by an exclusive 0R circuit 5 having an input. Other 14 check bits Cll
9Cl29Cl3? Cl49C2O9C2l9l9C2
The circuit that generates 49C'309C31, . Check bit C again. O is the exclusive 0R of all data bits Dl, d2, d3,..., D3O, d3l according to equation (1).
If we focus on equations (1) and (2) generated by taking
. O is also expressed by the following equation (6). Therefore, the formula (6
) according to check bit C.
Oは第3図の回路で発生されるチェックビットClO,
Cll,Cl2,Cl3及びCl4の排他的0Rをとつ
て生成される。すなわち、COOは第4図のように5個
の入力を.有する排他的0R回路6によつて発生される
。O is the check bit ClO generated in the circuit of FIG.
It is generated by taking the exclusive OR of Cll, Cl2, Cl3 and Cl4. In other words, COO receives five inputs as shown in Figure 4. is generated by an exclusive 0R circuit 6 having an exclusive 0R circuit 6.
以上のようにして生成された1帽のチェックビットCO
O9Cll9Cl29Cl39Cl49C2O9l9C
249C知・・,C34は31個のデータビットDl,
d2,・・,D3lと共にメモリに書き込まれる。必要
に応じて、これ,らのチェックビット、データビットは
メモリから読み出される。以下においてはメモリから読
み出されたチェックビット、データビットにはダツシユ
記号を付けて表わすものとする。すなわち読み出しされ
たチェックビットはC″00C″10C″11,C12
,σ139C5149C′20919C′249σ30
▼09C′34と表わし、データビットはd″1,d″
2,・・,d″ょと表わすものとする。メモリから読み
出されたこれらのビットに生じた2個以下の誤りはデコ
ーダ(復号化回路)によつて訂正される。以下において
デコーダについて説明する。第5図はデコーダのブロッ
ク図である。One check bit CO generated as above
O9Cll9Cl29Cl39Cl49C2O9l9C
249C knowledge..., C34 is 31 data bits Dl,
It is written to the memory together with d2,...,D3l. These check bits and data bits are read from memory as necessary. In the following, check bits and data bits read from memory will be represented with dashes. In other words, the read check bits are C″00C″10C″11, C12
,σ139C5149C'20919C'249σ30
▼Represented as 09C'34, data bits are d″1, d″
2, . Figure 5 is a block diagram of the decoder.
第5図のようにデコーダ40はシンドロームビツト発生
回路20と誤り訂正実行回路21とから構成されている
。メモリ2から読み出された前記31個のデ・ータビツ
ト及び1帽のチェックビットはまずシンドロームビツト
発生回路20に入力し1帽のシンドロームビツトに変換
される。このシンドロームビツトには誤りを訂正するの
に必要な情報が含まれており、この情報を誤り訂正実行
回路21が解読して誤り訂正を実行する。以下において
、まずシンドロームビツト発生回路20について説明す
る。シンドロームビツト発生回路20は1帽のチェック
ビットCOO9ClO9Cll9Cl29Cl39Cl
49C2O9゜O9C249C3O9゜゜9C34に対
応する1帽のシンドロームビツトSOO9SlO9Sl
l9Sl29Sl39Sl49S2O9l9S249S
珈09S34を発生するO例えばClOに対応するシン
ドロームビツトSlOは以下のように発生される。Cl
Oを発生する式は(2)式よりClO=Dl4d2ld
34d44d54d8であるがこれは次式のように書き
直される。シンドロームビツトSlOは上式の右辺Dl
,d2,d3,d4,d5,dぉ,ClOをそれぞれ読
み出された時の記号d″1,d゛2,d″3,d″4,
d″5,d″ぉ,c″10におきかえて得られる。As shown in FIG. 5, the decoder 40 is composed of a syndrome bit generation circuit 20 and an error correction execution circuit 21. The 31 data bits and one check bit read from the memory 2 are first input to the syndrome bit generation circuit 20 and converted into one syndrome bit. This syndrome bit contains information necessary to correct an error, and the error correction execution circuit 21 decodes this information and executes error correction. In the following, the syndrome bit generation circuit 20 will be explained first. The syndrome bit generation circuit 20 has one check bit COO9ClO9Cll9Cl29Cl39Cl.
1 hat syndrome bit SOO9SlO9Sl corresponding to 49C2O9゜O9C249C3O9゜゜9C34
l9Sl29Sl39Sl49S2O9l9S249S
The syndrome bit SlO corresponding to O, for example ClO, which generates S34 is generated as follows. Cl
The formula for generating O is ClO=Dl4d2ld from equation (2).
34d44d54d8, which can be rewritten as the following equation. The syndrome bit SlO is the right side Dl of the above equation.
, d2, d3, d4, d5, dら, symbols d''1, d゛2, d''3, d''4, when ClO are read respectively.
Obtained by replacing d″5, d″ら, c″10.
すなわちSlOは次の式によつて発生される。SlO=
d″14d″24d″31d″44d″54d″261
C″10同様にしてチェックビットの発生式(1),(
2),(3),(4)より以下のシンドロームビツトの
発生式(8),(9卜,[株],(11)が得られる。That is, SlO is generated by the following equation. SlO=
d″14d″24d″31d″44d″54d″261
Similarly to C″10, check bit generation formula (1), (
From 2), (3), and (4), the following syndrome bit generation formulas (8), (9, [shares], (11)) are obtained.
すなわち 一ーー −ーー −
ーー −“ノ上式(8),(9),Al,(11)は第
2図の符号化行列塊を用いれば下式のように行列とベク
トルの演算で表わすことができる。シンドロームビツト
発生回路20は上記1帽のシンドロームビツトを上記(
8),(9),[相],(11)式に従つて発生する回
路である。That is, one - - -
--- "The above equations (8), (9), Al, and (11) can be expressed by matrix and vector operations as shown in the following equation by using the encoded matrix block shown in Figure 2. Syndrome bit generation The circuit 20 converts the syndrome bit of the first cap into the above (
8), (9), [Phase], This is a circuit that generates according to equations (11).
例えばシンドロームビツトSlOの発生は(9)式つり
第6図のように7個の入力を有する排他的0R回路50
によつて実施できる。他の托個のシンドロームビツトも
同様にして発生される。前述したように、第5図の誤り
訂正実行回路21はシンドロームビツト発生回路20に
よつて発生されたシンドロームビツトを解読して誤りの
訂正を実行するので、シンドロームビツトは誤り訂正に
必要な情報を有していなければならない。式(8),(
9),(10,(11)によつて発生されたシンドロー
ムビツトが上記の誤り訂正に必要な情報を有しているこ
とは以下のようにして解る。まず、データビットd1に
生じた誤りをE,とすると、メモリから読み出されたデ
ータビットd1は下式(12)によつて表わされること
に注意する必要がある。すなわち、D,が誤つているな
らば誤りE,はE,=1であり、正しければ虜=Oであ
る。同様にチェックビットC,,に生じた誤りをEiJ
とすると、メモリから読み出されたチェックビットCi
jか下式(13)によつて表わされる。入すれば(7)
式が成立するのでSlOは下式(14)で表わされるこ
とが分る。For example, the generation of the syndrome bit SlO is performed using the formula (9), as shown in FIG.
It can be carried out by Other syndrome bits are generated in the same manner. As mentioned above, the error correction execution circuit 21 in FIG. 5 decodes the syndrome bits generated by the syndrome bit generation circuit 20 to correct errors, so the syndrome bits contain information necessary for error correction. Must have. Equation (8), (
9), (10, (11)) It can be seen as follows that the syndrome bits generated by It should be noted that, assuming E, the data bit d1 read from the memory is expressed by the following equation (12).That is, if D, is incorrect, the error E, is E,= 1, and if correct, the prisoner = O.Similarly, the error that occurred in the check bit C, , is EiJ
Then, check bit Ci read from memory
j is expressed by the following equation (13). If you enter (7)
Since the formula holds true, it can be seen that SlO is expressed by the following formula (14).
これは(9)式のSlO,すなわちSlO=d″14d
″24d″31d″41d″5,d″ぉ4C″10に表
わされているd″1,d″2,d″3,d″4,d″5
,d″26,C″10をそれぞれ誤りEl9e29e3
9e49e59e269ElOに置きかえたものに等し
い。This is SlO in equation (9), that is, SlO=d″14d
d″1, d″2, d″3, d″4, d″5 represented in ″24d″31d″41d″5, d″〉4C″10
, d″26, C″10 are wrong El9e29e3
Equivalent to replacing 9e49e59e269ElO.
同様に(8),(9),ACjj,(11)式のシンド
ロームビツトに表われている全てのd″,C″ょはそれ
ぞれ誤りEi,.Ejkに置きかえられることが示され
るので、結局全てのシンドロームビツトは誤りEi,.
Ejkだけで書きあられされる。以上のように全てのシ
ンドロームビツトは誤りEi..Ejkによつて表わさ
れるのて誤り訂正回路はまず必要なシンドロームビツト
から誤りEiを求め、ついで(12)式を書きかえた式
D,=d″61ejに上記の求められたE,を代人して
誤りを訂正し元のD,を求めることができる。Similarly, all d'' and C'' appearing in the syndrome bits of equations (8), (9), ACjj, and (11) are errors Ei, . Eventually all the syndrome bits are erroneous Ei, .
It is written only with Ejk. As mentioned above, all syndrome bits are error Ei. .. Since it is expressed by Ejk, the error correction circuit first finds the error Ei from the necessary syndrome bits, and then substitutes the above found E into the equation D,=d″61ej, which is a rewrite of equation (12). Then, the error can be corrected and the original D can be obtained.
以下において誤り訂正方法及び誤り訂正実行回路21に
ついて説明する。The error correction method and the error correction execution circuit 21 will be explained below.
最初にデータビットd1に生じた誤りを訂正する方法及
び回路について説明する。First, a method and circuit for correcting an error occurring in data bit d1 will be described.
式(8),(9),00,(11)の内でd″1を含ん
でいるシンドロームビツトはS。O,SlO,S9,S
34である。すなわちこれらは式(8),(9),(1
Cji,(11)よりである。 一”− 一
ーー ″″− 一”一いまS(X)を含む線形和A=S
OOlSl。lSl,lS2。lジ1S311S33を
作ると、この線形和は式(8),(9),Aa,(11
)よりである。The syndrome bits containing d″1 in equations (8), (9), 00, and (11) are S.O, SlO, S9, and S.
It is 34. In other words, these are equations (8), (9), (1
This is from Cji, (11). 1”- 1- ””- 1”1 Linear sum including S(X) A=S
OOlSl. lSl, lS2. When 1S311S33 is created, this linear sum is expressed as equations (8), (9), Aa, (11
) is better.
前述のようにシンドロームビツトに表われるd″,、C
″,,はそれぞれ誤りEi..Eijに置きかえられる
から、上記A,SlO,S2O,S34は次式(15)
,(16),(17),(18)に書き直される。すな
わち上記(15),(16),(17),(18)式を
注目すれば、誤りe1はSlO,S2O,Sl34,A
のどの式にも含まれており、かつ又SlO,S2O,S
34,Aはe1以外に共通の誤りビットを含んでいない
ことが分る。As mentioned above, d″,,C appearing in the syndrome bit
'',, are replaced with the errors Ei...Eij, respectively, so the above A, SlO, S2O, and S34 are expressed as the following equation (15)
, (16), (17), and (18). That is, if we pay attention to the above equations (15), (16), (17), and (18), the error e1 is SlO, S2O, Sl34, A
is included in any formula, and also includes SlO, S2O, S
It can be seen that 34,A does not include any common error bits other than e1.
この事実はあらゆる2個以下の誤りに対して、e1はS
lO,S2O,S34,の4個の内の3個をとる多数決
論理によつて正しく求まることを意味している。すなわ
ち誤りe1は次の(19)式によつて求まる。さらに前
述の(12)式、すなわちd″,=DjleiがD,=
d″,4e,と書きなおされることに着目すればd″1
の誤りは次の(20)式によつて訂正される。すなわち
(20)式によつてd1が求まる。(20)?龜i1ル
た誤りの訂正を実行する回路は例えば第7図によつて実
施される。第7図において60,61,62,65で示
される回路は2個の入力を有する排他的オアゲートてあ
り、63の回路は4個の入力を有する排他的オアゲート
であり、又64て示される回路は4個の入力を有する多
数決回路てある。多数決回路64は4個の入力のうち3
個以上の入力が同時に論理1になるときだけ出力が論理
1になる回路であつて例えばANDゲート、0Rゲート
によつて容易に実現できるのが既に知られている。一般
にデータビットD,(但し1≦j≦25)の誤りは以下
のように訂正されるのが示される。This fact shows that for any error of less than or equal to 2, e1 is S
This means that it can be correctly determined by majority logic that takes three out of four, lO, S2O, and S34. That is, the error e1 is determined by the following equation (19). Furthermore, the above-mentioned equation (12), that is, d″,=Djlei becomes D,=
If we pay attention to the fact that it is rewritten as d″, 4e, then d″1
The error is corrected by the following equation (20). In other words, d1 is determined by equation (20). (20)? A circuit for performing error correction is implemented, for example, as shown in FIG. In FIG. 7, the circuits 60, 61, 62, and 65 are exclusive OR gates with two inputs, the circuit 63 is an exclusive OR gate with four inputs, and the circuit 64 is an exclusive OR gate with four inputs. is a majority circuit with four inputs. The majority circuit 64 selects 3 out of 4 inputs.
It is already known that the output becomes a logic 1 only when two or more inputs become a logic 1 at the same time, and can be easily realized by, for example, an AND gate or an 0R gate. Generally, errors in data bits D, (where 1≦j≦25) are corrected as follows.
式(8).(9),Gα,(11)から分るようにデー
タビットd″j(1≦j≦25)を含んでいるシンドロ
ームビツトは一般にS。O,Sla,S2b,S3。の
形で表わされる。データビットd″,(1≦j≦25)
を含むシンドロームビツトS。Formula (8). As can be seen from (9), Gα, and (11), syndrome bits containing data bits d″j (1≦j≦25) are generally expressed in the form S.O, Sla, S2b, S3. Data bit d'', (1≦j≦25)
Syndrome bit S including.
O,Sla,S2b,S.3cとすればd″jの誤りは
下式によつて訂正される。Ej=多数決(Sla,S2
b,S3cA)但しA=S(X)11,S1〔a+沙〕
)1−飄1S2]但し、式(21)において( )記号
は〔X〕=XmOdLllO5,すなわち〔x〕はXを
5で割つた時の剰余を意味する。O, Sla, S2b, S. 3c, the error in d″j is corrected by the following formula: Ej = majority vote (Sla, S2
b, S3cA) However, A=S(X)11,S1 [a+sha]
)1-飄1S2] However, in formula (21), the symbol ( ) means [X]=XmOdLllO5, that is, [x] means the remainder when X is divided by 5.
式(21)がj=1の時には誤りを正しく訂正すること
は既に式(15),(16),・・,(20)を用いて
説明した。It has already been explained using equations (15), (16), . . . , (20) that equation (21) correctly corrects errors when j=1.
以下においてj=18の時にも式(21)が誤りを正し
く訂正することを示そう。j=18よりd″18を含ん
でいるシンドロームビツトは式(8),(9),QO,
(11)よりS。O,Sl3,S22及びS3lである
。式(21)によればEl8は下式によつて求められる
。但しA=SCX)1S101S121S241S21
1S311S33上式(22)のSl3,S22,S3
4,Aは式(8),(9),[株],(11)より下式
で表わされる(但しd″4及びCd″Ijをそれぞれ誤
りEj及びEijに置きかえる)。In the following, we will show that equation (21) correctly corrects errors even when j=18. Since j=18, the syndrome bit containing d″18 is expressed by equations (8), (9), QO,
From (11), S. O, Sl3, S22 and S3l. According to equation (21), El8 can be determined by the following equation. However, A=SCX) 1S101S121S241S21
1S311S33 Sl3, S22, S3 of the above formula (22)
4, A is expressed by the following formula from formulas (8), (9), [shares], and (11) (however, d''4 and Cd''Ij are replaced with errors Ej and Eij, respectively).
VVVVlVVAシV&JXVVAVノ式(23)を見
れば分るように、Sl3,S22,S34,Aはいづれ
もEl8を含み、かつEl8以外に共通の誤りを含んで
いない。As can be seen from equation (23) of VVVVlVVA, V&JXVVAV, Sl3, S22, S34, and A all contain El8, and do not contain any common errors other than El8.
従つてEl8はあらゆる2個以下の誤りに対してSl3
,S22,S34及びAの多数決をとることによつて得
られる。従つて前式(21)がj=18すなわちd″1
8の誤りノを正しく訂正し得ることが示された。Therefore, El8 is equal to Sl3 for any error of less than or equal to 2.
, S22, S34 and A by majority vote. Therefore, the previous equation (21) becomes j=18, that is, d″1
It was shown that 8 errors can be correctly corrected.
一般にd″,,(1≦j=≦25)の誤りも前式(21
)によつて訂正されることが示されるが説明は省略する
。In general, the error of d″,, (1≦j=≦25) is also caused by the previous equation (21
), but the explanation will be omitted.
前式(21)に従つたd″j(1≦j≦25)の誤り訂
正実行回路は既に説明した第7図のJd″1に対する誤
り訂正回路と同様に構成されるので説明は省略する。以
上ではd″j(1≦j≦25)の誤りを訂正する方法及
び回路について説明した。以下ではd″,(26≦j≦
31)の誤りを訂正する方法及び回路を)示そう。最初
にd″26の誤りを訂正する方法及び回路を説明する。The error correction execution circuit for d''j (1≦j≦25) according to the above equation (21) is constructed in the same manner as the error correction circuit for Jd''1 in FIG. 7, which has already been explained, so the explanation thereof will be omitted. Above, we have explained the method and circuit for correcting the error of d″j (1≦j≦25). Below, we will explain the method and circuit for correcting the error of d″, (26≦j≦
Let us show a method and circuit for correcting the error in 31). First, a method and circuit for correcting the error in d''26 will be explained.
式(8),(9),Ql,(11)から分るようにd′
26を含むシンドロームビツトはSOO9SlO9Sl
l9Sl2である。SOOを含む線形和B=SOO4S
2OlS2llS224S23lS244Sl3を作れ
ば、式(8),(9),Ql,(11)より、SlO,
Sll,Sl2,Bは誤りEi・Eijによつて下式で
表わされる前式(24)を見れば分るようにSlO,S
ll,Sl2,BはいづれもE26を含み、かつE26
以外に共通の誤りを含まない。As can be seen from equations (8), (9), Ql, and (11), d′
Syndrome bits containing 26 are SOO9SlO9Sl
It is l9Sl2. Linear sum B = SOO4S including SOO
If 2OlS2llS224S23lS244Sl3 is created, from equations (8), (9), Ql, (11), SlO,
As can be seen from the previous equation (24), Sll, Sl2, B is expressed by the following equation by the errors Ei and Eij, SlO, S
ll, Sl2, B all contain E26, and E26
Contains no other common errors.
従つてE26はあらゆる2個以下の誤りに対してSlO
,Sll,Sl2及びBの多数決をとることによつて得
られる。すなわちd″9の誤りは下式によつて訂正する
ことができる。式(25)に則してd″26の誤りの訂
正を実行する回路は例えば第8図のように実施される。Therefore E26 is SlO for any error of less than 2
, Sll, Sl2, and B by taking a majority vote. That is, the error in d''9 can be corrected using the following equation. A circuit for correcting the error in d''26 in accordance with equation (25) is implemented, for example, as shown in FIG.
第8図において回路70,71,72は排他的0R回路
、回路73は既に説明した4個の入力を有する多数決回
路である。データビットd″,(但し26≦j≦31)
を含むシンドロームビツトは前式(8),(9),(1
0),(11)から分るように一般にS。O,sabl
Sa(b+1)、Sa(5+。、の形としている。一般
にデータビットd″j(26≦j≦31)を含むシンド
ロームビツトをSOO9Sab)Sa(b+1)〜Sa
(b+2)とするれ一ぱd″,の誤りは下式(26)に
よつて訂正されることが示されるが説明は省略する。−
JV7J′
但し前式(26)においてくa+1〉記号は、く1+1
〉=2、く2+1〉=3及びく3+1〉=1を意味する
。In FIG. 8, circuits 70, 71, and 72 are exclusive 0R circuits, and circuit 73 is a majority circuit having four inputs as described above. Data bit d'', (26≦j≦31)
Syndrome bits including
0) and (11), generally S. O, sabl
Sa(b+1), Sa(5+., etc.) Generally, the syndrome bits including data bit d''j (26≦j≦31) are expressed as SOO9Sab)Sa(b+1)~Sa
It is shown that the error of (b+2) and 1pad'' is corrected by the following equation (26), but the explanation is omitted.-
JV7J' However, in the previous formula (26), the symbol ku1+1〉 is ku1+1
〉=2, 〉2+1〉=3 and 〉3+1〉=1.
又〔 〕記号は〔X〕=XmOdL]105を示す。Also, the symbol [ ] indicates [X]=XmOdL]105.
例えばd″31の誤りを訂正を実4行するには、式(8
),(9),AO,(11)よりd″31を含むシンド
ロームビツトはSOO9S329S339S34である
から式(26)より、d″31の誤りは下式で訂正され
る。11ゝ4j1W331ノ
前式(26)に則したd″j(26≦j≦31)の誤り
訂正実行回路は既に説明した第8図のd″26に対する
誤り訂正実行回路と同様に構成されるのて説明は省略す
る。For example, to correct the error in d″31 in 4 lines, the formula (8
), (9), AO, and (11), the syndrome bit containing d''31 is SOO9S329S339S34, so from equation (26), the error in d''31 is corrected by the following equation. 11.4j1W331 The error correction execution circuit for d''j (26≦j≦31) according to the previous equation (26) is constructed in the same way as the error correction execution circuit for d''26 in FIG. 8, which has already been explained. The explanation will be omitted.
以上においては第2図のm=5の場合の本発明ノによる
符号化行列比に則した符号化回路1と、シンドロームビ
ツト発生回路20とデータビットd″1,d″2,d″
3,・・,d″30,d″37の誤りを訂正する誤り訂
正実行回路21とから構成されている復号化回路40に
ついて説明した。In the above, the encoding circuit 1 conforming to the encoding matrix ratio according to the present invention when m=5 in FIG. 2, the syndrome bit generation circuit 20, and the data bits d''1, d''2, d''
3, .
次にmを3以上の任意の奇数とする一般の場合の本発明
による符号化方法及び誤り訂正方法を説明する。Next, the encoding method and error correction method according to the present invention will be explained in the general case where m is an arbitrary odd number of 3 or more.
m=5の時の符号化行列は第2図のH5で与えられた。
一般のmの場合の符号化行列は第9図のHmで与えられ
る。第9図のHmの中にある部分行ダ旧,は第10図で
与えられる。第9図及び第10図より符号化行列は0m
+1)x(支)十艮(m−1))の行列である。第9図
及び第10図を見れは符号化行列Hmの構成法は明白と
考えられるので、これ以下の説明は要しない。いまR=
d+?(m−1)個のデータビットをDl,d2,d3
,・・,DR−1,dRとし、動+1個のチェックビッ
トをCOO9ClO9Cll9Cl29個9Cl(m−
2)9C1(m−1)9C209C219C229を9
C2(m−1)9C309C319C32999C3(
m−1)とすればチェックビットはデータビット及び前
記符号化行列Hmを用いて下式のようにベクトルと行列
の乗算によつて生成される。上記チェックビットはデー
タビットと共にメモリに記憶される。The encoding matrix when m=5 is given by H5 in FIG.
The encoding matrix for the general case of m is given by Hm in FIG. The partial line in Hm in FIG. 9 is given in FIG. From Figures 9 and 10, the encoding matrix is 0m
It is a matrix of +1) As shown in FIGS. 9 and 10, the method of constructing the encoding matrix Hm is considered to be obvious, so no further explanation is necessary. Now R=
d+? (m-1) data bits Dl, d2, d3
,..., DR-1, dR, dynamic+1 check bits COO9ClO9Cll9Cl299Cl(m-
2) 9C1 (m-1) 9C209C219C229
C2(m-1)9C309C319C32999C3(
m-1), the check bit is generated by vector-matrix multiplication using the data bit and the encoding matrix Hm as shown in the following equation. The check bits are stored in memory along with the data bits.
但しR=d+?(m−1)である。However, R=d+? (m-1).
次にメモリから読み出されたチェックビット及びデータ
ビットにダツシユ記号をつけて表わせば?+1個のシン
ドロームビツトS(X),SlO,Sll,Sl2?
″″?S1(m−2)9S1(m−1)9S頒9S21
9S229019S2(m−1)9S309S319S
32919S3(m−1)は下式のように行列とベクト
ルの演算によつて生成される。Next, how can we represent the check bits and data bits read from memory by adding dash symbols? +1 syndrome bit S(X), SlO, Sll, Sl2?
″″? S1 (m-2) 9S1 (m-1) 9S distribution 9S21
9S229019S2 (m-1) 9S309S319S
32919S3(m-1) is generated by matrix and vector operations as shown in the following equation.
但しR=イ+?(m−1)である。However, R=I+? (m-1).
前式(29)で与えられるシンドロームビツトを用いて
データビットd′,(但し1≦j≦イ置(m−1))の
誤りを以下のように訂正することができる。Using the syndrome bit given by the above equation (29), an error in data bit d' (where 1≦j≦I (m-1)) can be corrected as follows.
前式(29)においてd″,(1≦j≦イ)を含むシン
ドロームビツトは一般にS(X),Sla,S知S3,
の形で表わされる。このS。O,Sla,S2b,ジを
用いてd″,(1≦j≦771′)の誤り訂正は下式(
30)で行うことができる。Vj−JV−Jノ
但し上式において〔 〕記号は〔X〕
XmOdulOmを意味する。In the previous equation (29), the syndrome bits including d'', (1≦j≦a) are generally S(X), Sla, S3,
It is expressed in the form of This S. The error correction for d″, (1≦j≦771′) using O, Sla, S2b, and ji is as follows:
30). Vj-JV-J However, in the above formula, the symbol [ ] means [X] XmOdulOm.
次に、前式(24)においてd″,≦イ+?(m−1)
を含むシンドロームビツトは一般にS。Next, in the previous equation (24), d″,≦i+?(m−1)
Syndrome bits containing S.
O,Sab9Sa(b+1)9Sa(b+2)の形で表
わされる。このSl9Sab9Sa(b+1)9Sa(
b+2)を用いて)d″,(d+1≦j≦ボ+艮(m−
1)の誤り訂正は下式(31)によつて行うことができ
る。但し上式において〔 〕記号〔X〕=
XmOdLllOmを意味し、又くa+1〉記号はく1
+1〉=2,〈2+1〉=3,〈3+1〉=1を意味し
ている。O,Sab9Sa(b+1)9Sa(b+2). This Sl9Sab9Sa(b+1)9Sa(
b+2) using)d″, (d+1≦j≦bo+艮(m−
Error correction in 1) can be performed using the following equation (31). However, in the above formula, [ ] symbol [X] = XmOdLllOm, and a+1> symbol is 1
It means +1>=2, <2+1>=3, and <3+1>=1.
従つて本発明による誤り訂正方法は前式(28)に従う
符号化方法、前式(29)に従うシンドロームビツト発
生方法と前式(30)及び(31)に従う誤り訂正の実
行方法に要約される。Therefore, the error correction method according to the present invention can be summarized as the encoding method according to the above equation (28), the syndrome bit generation method according to the above equation (29), and the error correction execution method according to the above equations (30) and (31).
すなわち、式(28)に則してd+艮(m−1)個のデ
ータビットから伍+1個のチェックビットが生成され、
これらデータビットとチェックビットは共にメモリに記
憶される。次にメモリから読み出されたイ+?(m−1
)個のデータビットど如+1個のチェックビット式に則
して?+1個のシンドロームビツトが生成され、次いで
前記伍+1個のシンドロームビツトを用いて、式(30
)及び(31)に則して、イ+?(m−1)個のデータ
ビットと師+1個のチェックビットに生じた2個以下の
ランダム誤りが訂正される。That is, 5+1 check bits are generated from d+(m-1) data bits according to equation (28),
Both data bits and check bits are stored in memory. The next I+? read from memory? (m-1
) data bits + 1 check bit according to the formula? +1 syndrome bits are generated, and then using the 5+1 syndrome bits, the formula (30
) and (31), i+? Two or less random errors occurring in the (m-1) data bits and master+1 check bits are corrected.
従つて、本発明による誤り訂正回路は前式(28)に則
した符号化回路、前式(29)に則したシンドロームビ
ツト発生回路及び前式(30)及び(31)に則した誤
り訂正実行回路を実現すれば良いことになる。Therefore, the error correction circuit according to the present invention includes an encoding circuit according to the above equation (28), a syndrome bit generation circuit according to the above equation (29), and an error correction execution circuit according to the above equations (30) and (31). It would be a good idea to realize the circuit.
既に説明したように本発明の一例、m=5の場合の符号
回路は第3図及び第4図のように実施され、シンドロー
ムビツト発生回路は第6図のように実施され、又誤り訂
正実行回路は第7図及び第8図のように実施された。As already explained, as an example of the present invention, when m=5, the code circuit is implemented as shown in FIGS. 3 and 4, the syndrome bit generation circuit is implemented as shown in FIG. 6, and the error correction execution circuit is implemented as shown in FIG. The circuit was implemented as in FIGS. 7 and 8.
同様に一般のm(但しmは奇数)の場合の前記符号化回
路、前記シンドロームビツト発生回路及び前記誤り訂正
実行回路も構成され得るので説明は省略する。尚以上の
説明では符号化回路と復号化回路との間にメモリを構成
したが、この他に伝送回線にも適用出来ることは明らか
である。以上のように本発明はmを3以上の任意の奇数
とした時、イ+?(m−1)のデータビットに?+1個
のチェックビットを付加することにより任意の二個以下
の誤りを訂正する構成を有している。Similarly, the encoding circuit, the syndrome bit generation circuit, and the error correction execution circuit for a general case of m (where m is an odd number) can also be constructed, so their explanation will be omitted. In the above description, a memory is configured between the encoding circuit and the decoding circuit, but it is clear that the present invention can also be applied to a transmission line. As described above, when m is any odd number greater than or equal to 3, the present invention provides the following method: i+? (m-1) data bit? It has a configuration that corrects any two or less errors by adding +1 check bit.
第1図はデータ処理装置内におけるメモリと本発明の誤
り訂正回路との関係を示すブロック図、第2図は本発明
において31個のデータビットから1帽のチェックビッ
トを発生するために用いられる符号行ダ旧.を示す図、
第3図及び第4図はチェックビットを発生する回路の一
例を示す図、第5図は復号化回路の一例を示すブロック
図、第6図はシンドロームビツトを発生する回路の一例
を示す図、第7図及び第8図は誤り訂正を実行する回路
の一例を示す図、第9図は本発明においてイ+?(m−
1)個のデータビットから伍+1個のチェックビットを
発生するために用いられる符号化行列Hmを示す図、第
10図は第9図の行列Hm内の部分行列H1を示す図て
ある。
図において、1は符号化回路、2はメモリ、3”は復号
化回路、4は演算回路、5,6,50,60,61,6
2,63,65,70,71及び72は排他的0R回路
、40は復号化回路、20はシンドロームビツト発生回
路、21は誤り訂正実行回路、64及び73は多数決回
路てある。FIG. 1 is a block diagram showing the relationship between memory in a data processing device and the error correction circuit of the present invention, and FIG. 2 is a block diagram used to generate one check bit from 31 data bits in the present invention. Code line old. A diagram showing
3 and 4 are diagrams showing an example of a circuit that generates a check bit, FIG. 5 is a block diagram showing an example of a decoding circuit, and FIG. 6 is a diagram showing an example of a circuit that generates a syndrome bit. FIG. 7 and FIG. 8 are diagrams showing an example of a circuit that performs error correction, and FIG. 9 is a diagram showing an example of a circuit that performs error correction. (m-
FIG. 10 is a diagram showing a submatrix H1 in the matrix Hm of FIG. 9. In the figure, 1 is an encoding circuit, 2 is a memory, 3'' is a decoding circuit, 4 is an arithmetic circuit, 5, 6, 50, 60, 61, 6
2, 63, 65, 70, 71 and 72 are exclusive 0R circuits, 40 is a decoding circuit, 20 is a syndrome bit generation circuit, 21 is an error correction execution circuit, and 64 and 73 are majority decision circuits.
Claims (1)
等があります▼個のデータビットに前記データビットを
もとに3m+1個のチェックビットを付加する符号化回
路と、前記付加されたデータビットとチェックビットを
もとに3m+1個のシンドロームビットを発生する回路
および前記シンドローム発生回路の出力を多数決論理に
よつて解読する多数決回路とを有し前記付加されたデー
タビットおよびチェックビット内に生じた任意の2個以
下の誤りを訂正する復号化回路とを含み構成されたこと
を特徴とする二重誤り訂正回路。1 Let m be any odd number of 3 or more ▲ There are mathematical formulas, chemical formulas, tables, etc. ▼ An encoding circuit that adds 3m + 1 check bits based on the data bits, and The circuit includes a circuit that generates 3m+1 syndrome bits based on data bits and check bits, and a majority circuit that decodes the output of the syndrome generation circuit by majority logic. 1. A double error correction circuit comprising: a decoding circuit for correcting any two or less errors that occur.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP53012588A JPS6041771B2 (en) | 1978-02-07 | 1978-02-07 | double error correction circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP53012588A JPS6041771B2 (en) | 1978-02-07 | 1978-02-07 | double error correction circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS54105444A JPS54105444A (en) | 1979-08-18 |
| JPS6041771B2 true JPS6041771B2 (en) | 1985-09-18 |
Family
ID=11809506
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP53012588A Expired JPS6041771B2 (en) | 1978-02-07 | 1978-02-07 | double error correction circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6041771B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57185752A (en) * | 1981-05-11 | 1982-11-16 | Kokusai Denshin Denwa Co Ltd <Kdd> | Reproduction relay system |
-
1978
- 1978-02-07 JP JP53012588A patent/JPS6041771B2/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS54105444A (en) | 1979-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4402045A (en) | Multi-processor computer system | |
| US5457702A (en) | Check bit code circuit for simultaneous single bit error correction and burst error detection | |
| US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
| US3688265A (en) | Error-free decoding for failure-tolerant memories | |
| JPH02148225A (en) | Data processing method and apparatus for calculating multipicative inverse element of finite field | |
| Peterson et al. | On codes for checking logical operations | |
| US6505318B1 (en) | Method and apparatus for partial error detection and correction of digital data | |
| US3891969A (en) | Syndrome logic checker for an error correcting code decoder | |
| JPS6041771B2 (en) | double error correction circuit | |
| US4868829A (en) | Apparatus useful for correction of single bit errors in the transmission of data | |
| Kennedy et al. | A coding theoretic approach to extending designs | |
| RU51428U1 (en) | FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY | |
| JP3654655B2 (en) | Data processing system | |
| Tang et al. | A new single-error correction scheme based on self-diagnosis residue number arithmetic | |
| Solov'eva | Perfect binary codes: bounds and properties | |
| RU2211492C2 (en) | Fault-tolerant random-access memory | |
| RU2758410C1 (en) | Fail-safe processor with error correction in two bytes of information | |
| RU204690U1 (en) | FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN TWO BYTES OF INFORMATION | |
| CN108242973A (en) | A kind of data error-correcting method and device | |
| US3474412A (en) | Error detection and correction equipment | |
| KR100292788B1 (en) | Error Detection and Correction Circuit | |
| RU2758065C1 (en) | Fault-tolerant processor with error correction in a byte of information | |
| RU2829012C1 (en) | Information storage device with high correcting capacity | |
| JP2684031B2 (en) | Data decryption method | |
| RU2037271C1 (en) | Error-correcting device |