CA1190655A - Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes - Google Patents

Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes

Info

Publication number
CA1190655A
CA1190655A CA000411702A CA411702A CA1190655A CA 1190655 A CA1190655 A CA 1190655A CA 000411702 A CA000411702 A CA 000411702A CA 411702 A CA411702 A CA 411702A CA 1190655 A CA1190655 A CA 1190655A
Authority
CA
Canada
Prior art keywords
code
symbols
symbol
bits
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000411702A
Other languages
French (fr)
Inventor
Thijs Krol
Bernardus J. Vonk
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.)
Koninklijke Philips NV
Original Assignee
Thijs Krol
Bernardus J. Vonk
N.V. Philips Gloeilampenfabrieken
Philips Electronics N.V.
Koninklijke Philips Electronics N.V.
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 Thijs Krol, Bernardus J. Vonk, N.V. Philips Gloeilampenfabrieken, Philips Electronics N.V., Koninklijke Philips Electronics N.V. filed Critical Thijs Krol
Application granted granted Critical
Publication of CA1190655A publication Critical patent/CA1190655A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Abstract

ABSTRACT:
"Computer system based on a symbol-correcting code having two operating modes".

A computer system is described which is based on a symbol-correcting code. The code words consist of a number of code symbols. In the normal operating mode of the error correction members, correction is possible of all errors which are either limited to one code symbol or which concern only two arbitrarily situated code bits.
During operation in the erasure mode, a predetermined code symbol within the code word is not taken into account;
therefore, it may contain an arbitrary, unknown error.
Moreover, an error can be corrected which concerns only one arbitrarily situated code bit. In the selection mode, two predetermined code symbols within the code word are not taken into account. The data words can be reconstructed from the others. The mode is controlled by the content of the mode register (110). The mode register is controlled by the output signals (106) of syndrome generators (102).

Description

"A data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operatirIg modes'1.

The inven-tion relates to a data processing device for the processing of data words which are composed of k-2p-2~ 2 data symbols by means of code words which are formed from the associated data words by means of an error-correcting code, said code words containing n = 2p code symbols, all symbols consisting of m = 2s~ ~ bits and forming part of a Galois field GF (2 ) = ~, a , a ...

2m-2~
a ~, said device comprising a first input for a data word, first multiplier means Eor multiplying the data word by a generator matrix [G] consisting of nxk matrix elements each of m bits in order to form a code word, processing means for processing the code word in order to form a processing result, and recon-struction means for reconstructing, using a parity check matrix [R] which is orthogonal to the generator matrix [G], the second data word associated with the processing result for output on a first output. A device of this kind is known ~rom Canadian Patent No~ 1,163,373 which issued on March 6, 198~ in the name of A~plicant. The known device specifically concerns a multiprocessor computer system in which the digital data processing is organized according to n parallel processors for each processing the data word and in which the data storage is organized according to n memories which each store one respective code symbol of a resulting code word. The known device implements an error-correcting code which can operate in two modes:
a) in a first, symbol-correcting operating mode one arbitrarily disturbed symbol can be corrected;
b) in a second mode, referred to as the erasure mode, by ignoring a given symbol, for example a suspect symbol, a one-bit error in addition to the ignored symbol can be Pll N 10.155 C~ ~IK/KS

i, ...
, ., ss PHN 10.155 2 16.8.1982 correeted.
The inventors of -the presen-t invention have found that a family of error-correc-ting codes exists which has more extensive error-correcting proper-ties and whi,ch, moreover, can be used in ma,ny different categori~s oi` data processing devices. In order to tlerive full beneLit th~re-from, a data~processing device in accordance with the in-ven~ion is characterized in that the reconstruction means comprise:
a) second multiplier means with a second input for receiving the proeessing result for multiplicatlon by a paritY check matrix [R] = [S] [H~ [T] in order to form a number of at least (n-k)=2t ~ 2 syndrome symbols on a se-cond output, ~S] being a non-singular matrix consis-ting of lS (mkxmk) bits, the matrix [H] comprising a first sub-matrix of kxk symbols in the form of an identity matrix and a second sub-matrix of kx(n-k) symbols whose determinant is not equal to 1=a 9 the absolute values modulo (2 -1) of the differences between the exponents of -the symbols written as powers of (a) being at least equal to (m) on each respeet-ive row and on eaeh respeetive column of the matrix [H1,while eaeh (kxk) sub-matrix of [H]is non singular, the matrix T eonsisting of (nmxnm) bits in nxn bloeks whieh are arranged in rows and columns and eaeh of whieh bloeks eonsists of mxm bits, eaeh row and eaeh column of bloeks eomprising (n-1) bloeks which consist exclusively of "0"
bits, each row of bits and each column of bits cont~ining exactly one "1" bit and for the remainder exclusively "0"
bits;
b) a mode register whieh has a third input and a third output, a first state of -the mode register eon-trolling a "normal" mode for proeessing the code words as forming part of a eode with a minim11m H~mming-distance of -three over the symbols or a minimum TT~mming-distance of fi-ve over the bits, n respeetive seeond states of the mode register controlling an erasure operation for a eode sym-bol uniquely assoeiated wi-th -the respeetive seeoncl state s~

PHN 10~155 3 1~).8.1982 in order to process -the remaining non~erased cGde symbols as forming a code word of a code having a min;m1~m distan-e of three over the bits;
c) a data reconstruction ~levice with a fourth input for receiving -the processing result and a fifth input for receiving the syndrome symbols~ and with a fourth output for formlng a reconstructed data word on the basis of associated sub-sets of k code symbols;
d) a selection device with a sixth input which is connected to the second output in order to receive the syndrome symbols and a seventh input which is connected to the third output in order to receive the state information from the mode register, and also with a sixth output which is connected to the third input and a seventh output for supplying on the basis of the syndrome symbols and the state of the mode register, a selection signal for indi-cating -the error~free code symbols and for supplying a set signal for the mode register;
e) a gating device with inputs which are connected to the fourth output and the seventh output for the se-lection of a corrected data word.
Notably in the normal mode a more extensive cor-rection of errors is thus realized for a minimnm ~T,tmming-distance of five, two arbitrary one-bit errors can thus be corrected. It is known that for such a miniml~m H~mming-distance two other operating modes are feasible:
a) correc-tion of one bit error and detection of two further one-bit erro~s, b) detection of four arbitrary one-bit errors. "Arbi-trary" is to be understood -to mean herein "arbitrarily lo-cated". The matrix [H] already represents a considerable family of codes all o~ which are systematic codes. By multiplication by the matrix [S], non-systematic codes may also be obtained~ The matrix [T] is a so-called permu-ta-tion matrix whereby rows, columns and, moreover7 bits within the symbols can be permuta-ted~ When ~S] and [T] are identity matrices, the original code remains unmodified.

PHN 10.155 4 16.8.1982 The mode register can be set on the basls of previously de-tected errors. Generally, -for n=4, the mocle :regl~ster should contain at least three bits for the five operating modes. Said solution is par-ticularly suitable for use with so-called "w:ild" logic. If pre~erence is to be given to regular logic (read-on:Ly memories and programmable logic arrays) 7 I;he reconstruction means may comprise:
a) second multiplier means with a second input for receiving the processing result for multiplica-tion by a parity check matrix [R] = rs] . [H] . [T~ in order to form a number of at least (n-k)=2t 2 syndrome symbols on a second output, rs] being a non-singular matrix consisting of (mkxmk) bits, the matrix [H~ comprising a first sub-ma-trix of kxk symbols formed as an identity rnatrix and a second sub-matrix of kx (n-k) symbols whose deterrninant is not equal to a=l 7 the absolute ~alues modulo (2m-1) of -the differences between the exponents of the symbols expressed as powers of (a) being at least equal to (m) on each res-pecti~e row and each respective column of the ma-trix [H], each (kxk) sub-matrix of [H] being non-singular, the matrix [T~ consisting of (nmxnm) bits in nxn blocks which are arranged in rows and columns and each of which blocks consists o~ m~m bits, each row and each column of blocks comprising (n-1) blocks which consist exclusively of 1l0'l bits, each column of bits cont~;ning exactly one "1'l bit and for the remainder exclusively "0" bits;
b) a mode register which has a third input and a third output 7 a firs-t state of the mode register controlling a normal mode for processing the code words as forming part of a code with a mi ni mllm ~mmi ng_distance of three o~er the symbols or a mi ni mllm ~T~mmi ng-distance of five over the bits, n respecti~e second states o~ the mode register controlling an erasure operation for a code symbol uniquely associated with the respective second state ln order to pro-cess the remaining non-erased code symbo]s as forming a codeword of a code having a minimum distance of three o-ver the bits;

PHN 10.155 5 16.8.1982 c) correction determ-inin~ means which have an eighth input which is connected to the second output in or~er to receive the syndrome symbols and a ninth input which is connected to the third output in order to receive the state informa-tion from the mode regist0r, and also having an eighth output for supplying a correc-tor signal and a ninth output for supplying an error indication signal, the latter output being connected to the third input o-f the mode register;
d) correction means, which have a tenth input, ~or receiving at least the data symbols of the processing re-sult and for modulo-2 addition thereof to the corrector signal in order to supply a corrected data word on a tenth output. The two solutions are closely related and are lS equally usable for all codes per se. It has been round that multi-bit errors in a single symbol are caused notably by processor errors, for example, in a multipro-cessor computer system; one-bit errors, however, are often due to memory malfunctions and of a temporary nature (so-called "soft errors"). It is to be noted that in -the above definitions the valves of the exponent "h" of the symbol valve 0 = a is supposed to be "minus infinity".
Preferably, for n=4, k=2, the ma-trix ~ is chosen from: _ rH1] = 0 10 6 in which a is an eleme,nt of -the Galois field GF~2 ) gene rated with the primiti~e and irreducible polynomial qr(X)=x ~x-~1, and a 0 a5 a9 [ 2]
0 a a9 a5 in which aJ is an element o~ the Galois field GF(2 ) gene-rated by the primitive ancl irreclucib]e polynomial /~l(x) -PHN 10il55 6 16.8.1982 x -~x3~ ith a limited amount of redundancy, a large variety o~ one-symbol arrors and one-bit errors can thus be corrected.
Pre~erably7 the mode register contains n bits, each of which is assigned to a respective code symbol within the code word in order to control the erasure mode for this code symbol Encoding and decoding of the mode register thus remains simple.
Preferably~ there is provided an error register which comprises at least n bit locations and an elevanth input which is connected in parallel with the third input of the mode register in order to receive, upon detection of`
a correctable error in a symbol, a symbol indicator which is to be stored in an associated position of` tha error lS register, the symbol indicators received being continuous-ly combined with a stored symbol indicator by means of a symbol-wise logic OR-~unction, the error register having an ele-venth output for connection to an updating and con-trol device, and also a reset input for receiving a reset signal from the control device. Thus, in addition to the short-term signalling of an error, long-term signalling can also be updated. In cases of doubt a more qualif`ied judgment can thus be given concerning the reliability of` a symbol having a given sequence number within the code word.
Pref`er~bly~ the mode register has an additional data input and a load control input for receiving a con-trol word from the control device in order to control the data processing device in a gating mode so that a da-ta word is reconstruc-ted by the selec-tive erasure of` (n-k) code symbols on $he basis of` the k code symbols then remaining, without correction of` errors. The data processing device can thus continue even if (n-k) code symbols or code sy~l-bol locations contain more or less permanently unreliable data.
Preferably, thare is provided a detec-tor for d0tac-ting a multi~bit one-symbol error in the normal mode s PIIN 10.155 7 16.8.19~2 and for directly switching over the mode registar -to the erasure mode in reaction thereto, code sym'bo],s ha-ving the same symbol number as that in which -the multi-bit one-symbol error occurred being sub.se~luantly erasad. It has been found that such a multi-bit symbol error can 'be ad-vantageously usecl to indicate an unreliabla code symbol position.
Furthermore~ using the present code, a mul-ti-processor system according to the state of the art can be advantageously extended when each sub-system also com-prises its own mode register and its own error register for controlling the processing of the code symbols and for temporarily storing a detected errorO Comparatively large sections of the system may then exhibit substantial faults for a more or less prolonged period of time, with-out the operation of the entire system being end~gered.
BRIEF D~SCRIPTION OF THE FIGURES.
The invention will be described in detail here~
inafter with reference to some figures.
Figure 1 shows the sixteen elements of the Galois field GF(24).
Figure 2 shows the generator ma-trix and the parity check matrix of a specimen code.
Figure 3 shows the method of forming other codes having the same properties as that associated with Figure 2, Figure L~ shows the forming of the data symbols on the basis of all selections from the code symbols.
Figure 5 shows the forrning of an extended pari-ty check ma-trix [~ on the basis of the matrix [H¦.
Figure 6 shows an embodiment of a decoder.
Figures 7a, 7b show the matrix for the forming of the syndrome symbols as well as two addi-tional auxi-liary functions of code sym~ol,s~
Figure 8 shows the forming of the data symbols of Figure 4 utilizing the addi-tional functions.
Figura 9 shows the detec-tor for detecting -the PHN 10.155 8 16.8.1982 associated symbol class for each syndrome symbol, Figure 10 shows the translation of the content of the mode register into the various operating ~lodes.
Figure 1 1 shows the -translation of the syndrome symbol classes into the operating modes to be used.
Figure 12 shows the conditions to be satis~'ied in order to enable the relevant selec-tions to be made from the recons-tructed versions of the data word.
Figure 13 shows the circui-t for the selection of the version y32 of the data symbols.
Figure 1~ shows the circuit for the selection of the version y31.
Figure 15 shows the circuit for the selection of the version y30.
Figure 16 shows the circuit for the selection of the version y21.
Figure 17 shows the circuit for the selection of the version y20.
Figure 18 shows the circuit for the selection of the version ylO.
Figure 19 shows a circuit for deriving a number of control signals from the content of the mode register.
Figures 20a....d show the condi-tions for setting the respective bit positions of the error register.
25 Figures 21a.... 21f show the equations for de-riving the selec-tion signals for the respective versions of the data word, Figures 22a....22d show a simpler formula for the conditions for setting the error register.
Figure 23 shows the control device for -the error register as a logic circuit.
~igure 24 shows a multiprocessor computer system in which the invention is implemented.
Figure 25 shows the control device for the mode register as a logic circui-t.
Figure 26 shows a further embodiment of the decoder.

5~

P~IN 10.155 9 16.~.1982 D~SC-~IPTION OF THE CODE US~D.
The code used has been chosen in view of its symbol-Gorrecting proper-ties. A symbol consists Or a fixed number of, for example, m bits ancl may then have
2 different values. The set o~ 2 symbols then forms a Galois field GF(2 ) for which the algebraic operations are de~ined; f`or example, see the article by T.C. Bart0e et al, Informa-tion and Control, ~ol. 61 (1963), pages 79-98. In this respect 9 Figure 1 shows the sixteen ele-ments of the Galois field GF (24), that is to say once written as a series of powers and once as respective bit groups~ The bit groups can be formed by means of the pri-mitive and irreducible polynomial ~(x)=x~+x+1. In this case and in many other cases several such polynomials are ~easible. For example, the Galois field GF(2 ) may alter-natively be formed by the polynomial ~t(x)=x~+x3~1. The element (0000) is referred to as O and the element a =(0001) is referred to as 1.
The data words in the embodiment described con-sist of two symbols of four bi-ts; the (redundant) code words consist of four symbols of four bits. For -this code Figure 2 shows the generator matrix [G] and the parity _ _ check matrix H whose elements are each four-bit symbols.
~lultiplicatio n c If -the parity matrix [H~ according to [S] . [H] by a non-singular matrix [S] of 2x2 symbols pro-duces a transformed parity check matrix which imparts the same properties to the code as the original matrix [H~.
The following variables of the code words will now be defined~ Ws is the symb~ weight of a code word, that is to say the number of symbols of a code word which are not equal to the symbol () Wb is the bit weight of a symbol, that is to say the number of bits of a symbol which are not equal -to 0. The variable ds is the symbol weight of the code~ -that is to say the minimum symbol weight over all code words. In this respect it is assumed that the code words (0000) and the symbol O (0000) are permissible. However~ -the occurrence of the code word P~IN 10.1~5 10 16.8.19~2 (0000) does not influence symbol weight of the code, which is based on the other code words only. Furtherrnore, only linear codes are considered~ which means that the sum (bi-t-l~ise modulo-2) of two code words produces anoth~r code word. Consequently, the m;n~ml1m symbol wc:ight and the minimum cocLe distance are identical. Thi3 has beerl ~e-monstrated in the standard work in this f`ield ~'~rror correcting codes", by W.W.Peterson et al~ MIT~ Boston~
2nd edition, 1~71.
The code has the following properties:
1. Because all (2x2) sub-matrices of the parity check matrix [H] are non-singular~ the symbol weight ds of -the code is greater than or equal to 3. This means that in all cases one arbitrarily dist~rbed symbol can be fully corrected.
2. There is no code word having the symbol weight 4 (i.e.
without symbol 0) where the bit weight of all symbols equals 1.
All code words can be writ-ten as c = ~ai, aj, a7+i~a11+i~ a11+i 17+i) and for any combination i9 j~ satisfying o~ 3, there is no case where this results in the symbol weight 1 ~or the third and -the fourth symbol. I~ this were not true~ a pair of valves i, j would exist (i~j), with i, j ~ 0~ 1, 2~ 3 , so that a7+1+c 11+j~ ~a0 a1 a2~ a3~ and also 11+i+17+j~ ~ a, a1, a2, a3J

When all possibilities are written in full 9 it becomes apparent tha-t such a combination does not exist. There-for~, in the case of a symbol weight ~, a-t least one symbol has a bit weight ~ 2.
3. There is no code word having a symbol weight equal to 3 with two or three symbols having a bit weight equal to 1. It fol:Lows from -the generator matrix that all code words having a symbol weigh-t equal to 3 can be PH~ 10.155 11 16.8.1982 written as:
(O, ai, al 1~i a7~i, (ai ~ a7~i a1'1~
( a4~i ai O a9+i ) (ai a4~i a9~i O) Therein, i may have an arbitrary value (modulo-15), that is to say i ~O~ 1, 2 ... 1~. It follows directly ~rom the differences between the exponents of a that if one of the exponents has the value O, 1, 2 or 3, the other two can never have one of these four values.
All cases concerning two one-bit errors can thus be distinguished from one another. If this were not the case, in two different cases the code word thus disturbed would have to offer the same syndrome result after multi-plication by the parity check matrix ~H]. In other words, the bit-wise modulo-2 sum of two different error vectors should then form a code word~ because the latter should produce a zero syndrome after multiplication by the pari-ty check matrix. This could occur only in the following 20cases:
a) the symbol weigh~ of the code word is two (one-bit errors two by-two in the same symbol locations);
b) the symbol weight of the code word is three9 two sym-bols thereof having the bit weight 1; (two one-bit errors in the same symbol location, the others in res-pective further symbol locations);
c) the symbol wei~ht of the code word is four; all symbols have the bit wei~ht 1, all four one-bit errors in respec-tive different symbol locations.
However 9 none of -these cases can occur, so that two arbitrary one-bit errors can always be corrected.
~ one-symbol error can produce the same syndrome as two one-bit errors only in the following cases:
a) the symbol weight equals two;
b) the symbol weight equals three, two symbols -then havin~
the bit weigh-t 1O However9 none of -these cases occurs so PHN 10.155 12 16.8.1982 that an arbitrary symbol and also two arbitrary one-bit errors can always be corrected.
Furtherrnore, duringr erasure of` a code sym'bol whose error locator is known but the magnitude of the error ls no-t, moreover, a one-bit error can 'be corrected. This would be impossi'ble only if two different one-bit errors would cause the same syndrome during the erasure of the same symbol. This would be possible only if:
a. the symbol weight of the code word equals two;
b. the code word has a symbol weight three, two symbols having a bit weight equal to one.
However7 none of these cases occurs so that this one-bit error can also be corrected in the erasure mode.
Figure 3 shows all possibilities for obtaining, by multiplication of the same matrix9 all parity check matrices having the attractive properties described. Other (2x2) matrices can also be used for the multiplication, but no systematic codes are then obtained. Even though such codes have exactly the same error-correcting properties, the implernentation thereof requires additional components.
Further members of the same code family9 having,therefore, the same error-correc-ting propertiesg can be found by:
a. permutation of the sequence of code symbols within a code word;
b. permutation of the sequence of the code bits with-in the respective code symbols;
c. multiplication of the parity check matrix [H], written as a bit matrix, by a non~singular matrix ~T~
consisting of 8x8 bi-ts according to the formula [T~ . [~
d. starting with the other primitive and irreducible polynomial with inheren-t imaging of the series of powers in a on the sixteen elements of the Galois field G~ (2 ), if desirable, combined with one (or more) of the abovo modifi-cations in order to generate further members of the same code family-The extended code family descri'bed 'herein is,therefore, the only family having the described proper-ties s~

PIIN 10.158 13 1~ 8.1~2 for n=L~, k=2 and m=L~ (data words of two symbols of four bits and Q redundancy degree of 2: code words of four sym-bols) DESCRIPTION OF A DECODER.
The encoder for such a code implements the mwlti-plication of the data words by the generator matrix (which is derived each time from the parity check matrix in an elementary manner). This mul-tiplication can be performed, for example, by means of a read-only memory (ROM). The de-coder is more complex. It has been found that with the systematic codes of Fig1lre 3 the data words can always be reconstructed from an arbitray set of two (k) undis-turbed code symbolsO It is advantageous to use this prin-ciple for the construction of the decoderO
Figure 4 first of all shows the formation of the code symbols (cO, c1, c2, c3) from -the data symbols (dO, d1) by means of the generator matrix (Figure 3, second line). Also shown are the formation of (2) = (nk) = 6 feasible sets of two code symbols and, using the inverted generator matrix~ the reconstruction of the data symbols from the respective sets of code symbols.
In order to find the error location(s), first the set of possibly disturbed code symbols received is multi-plied in the decoder by an ex-tended parity check matrix [Q~.
This matrix is shown in Figure 5 and is derived from the original pari-ty check matrix by multiplication by an auxiliary matrix [A~. The matrix[A] is determined on the basis of the following requirements:
1. all 2x2 sub-matrices of [A~ are non-singular, so that any c~mbination of two rows of -the matrix [Q~ can be used as a pari-ty check matrix for defining the code;
2. each row of the matrix ¦ Q~ contains a single symbol O;
3. the rows of the matrix [A~ can be used for re calculating -the data symbols in -the manner shown in Figure L~
For the choice of the matrlx [A] various possibi-r-7~5 PHN 10.155 14 16.8.1982 lities exist within the limits imposed herein.
Figure 6 shows a bloc~ diagram o~ a decoder.
The code symbols arrive on input 100, that is to say bit~
serially, in parallel or mixed. ~lock 102 is the syndrome fo-rmer in which -the code words are multiplied by thc matrix LQ]as indicated. This results in the syndrome symbols sO, s1, s2, s3 which each correspond to a code symbol. ~f the code syrnbols are not disturbed, the syndrome equals zero;
the use of -the additional ma-trix [A~ has no effect thereon.
It has been found that the following cases occur:
a) If no error has occurred in the normal mode, all syndrome symbols have the value zero (Q).
b) If a one symbol error occurs in the normal mode in the code symbol location i (i ~ ~0, 1, 2 7 3 ~ ), the lS syndrome symbol si = 0, while all other syndrome symbols are not equal to ~ero.
c) I~ two one-bit errors occur in the code symbol locations i, j (i ~ j) 9 the associated syndrome symbols are indicated by the restriction:
si~aV~ aV~1 a~+2 av+3 ~ w w+1 w+2 w+3 sj~a , a , a , a in which a =hij, a =hji, and hij is the element o~ -the matrix [Q] in row i and colurnn j. The error loca-tor can be exactly de-termined from these data in all casesO For example, when the code symbols c3 and c2 are disturbed, the syndromes s3 and s2 are both elements of the set (a, a , a2 9 a3). The reverse is also applicable.
~ombinations which do not satis~y one o~ the above relations for the syndrome symbols cannot be correc-t-ed in the normal mode. Combinations which satisfy one of the above relations for the syndrome symbols, however 7 may also be due to a non-correctable ~ault or even by a non-detectable ~ault.
During operation in an erasure mode, for example for the supposedly incorrect code syrnbol in -the codo sym-bol location, -th:is code symbol is ignored. If not further ~ s~

PHN 100155 15 16.8.1982 error occurs in the code word, the syndrome symbol Si=O.
I~hen a one-bit error occurs in the code symbol location j~
the following is applicable:

s;~ ~a~ aV~l av~2 av~3 i in which a =hij in accordance with the earlier definit-ion. The blocl~ 102 of Figure 6 thus forms the ~our syn-drome words sO, s1, s2, s3 on its relevant outputs for each code word. These syndrome words are applied to the blocks 1 o4 and 1 o6 .
Block 104 is the data reconstruction device, for which purpose it receives the four syndrome symbols and, moreover -the (possibly disturbed) code symbols on in~
15 put 100. In block 1047 (kn)=6 versions of the data word are formed, each time on the basis of a different sub-set o~ code symbols which are assumed to be non-disturbed. ~nus, the data word Y32 which has been reconstructed on the basis of only the code symbols cZ and c3 appears on output 108;
the same is applicable to the other outputs of the block 104. In block 106 six signals (Figure 7b) are derived from the four syndrome symbols received in order to indicate which of the slx data symbols reconstruc-ted by the block 104 have been derived from non-disturbed code symbols. Figure 7a shows the binary represen-tation of the matrix [Q~ of Figure 5 (a binary representation of such a tra,nsformation matrix is customary); each of -the "1" bits represents a term which must taken into account for the ultimate result by way of an EXCLUSIVE-OR operation.
Figure 8 shows the respecti~e combinations. It is apparent that the data symbols can be reconstructed by means of the received code symbols by bitwise addition (modulo-2) of data symbols and code symbols, and by means of two additional functions: t1=(a 1c3~a~c1) and t2=(a C3~-a cO). These latter functions are formed in the block 10 in accordanc~ with an expression which is also shown in Flgure 7 5~

PHN 10.155 16 16.8,1982 The steps to be taken ~or the selection of` the appropriate pair from the six symbol pairs ~orrned 'by the block 104 will be described herelna~ter; the signall,in6r -takes place in block 109. Figure 9 indicates symbolically which logic ~unctions o~ the syncrome s~mbols are ~ormed, For example, i~ the synd:rome symbol s1 must form part o~' -the set (al, a5, a6, a7)9 this symhol is compared bit-wise with each of the ~our rele~ant elements of the Galois f'ield GF(24) of Figure 1. This condition has already been men-tioned wi-th respect to the localizing of two one-bit errors. lihen this condition is satisfied, the corresponding output signal bit in Figure 9 becomes "true".
The decoder can operate in nine different modes, that is to say:
the normal mode, referred to as RM
erasure mode, ignore code symbol "3": EM3 " " " " " "2": EM2 " " " " " "1": EM1 " ll ll llo": EMO
gating mode on code symbols 3 and 2: MOS 32 " " " " " 3 and 1: MOS 31 " " " " " 3 and 0: MOS 30 " " " " 2 and 1: MOS 21 " " " " " 2 and 0: MOS 20 n ~ 1 and 0: MOS 10 Eler~ent 110 o~ Figure 6 is a control and sig-nalling register. Figure 10 shows the embodiment com-prising a four-bit mode regis-ter and the necessary decoding.
Figure 11 shows the criteria to be satisfied by the signals p and q described and the mode signals to be ~ormad9 and also the fllling of the error signalling register which also contains four bi-ts. T'he abbreviations used ha~e the following rneaning:
EE: the relevant code symbol is erased BE: occurrence of a one-bit error DBE: occurrence o~' a two-bit error SSE: occurrence of a one-sym'bol error s~

Pl-IN 10.155 17 16.8.19~2 NE: no errors (or: no error detected).
The indices after -the let-ters indicatc the number of the code symbol to which the erasure or error lo-calization relates. A "1" in the columns for the variahles p and q now indicat0s that the relevant variable must also have this value~ ~ "0~' means that the relevant variable may not have the value "1". If no causal relationship e~ists, no indication i5 given. It is to be noted that if qi j=1, qi k= for k~j. Furthermore, if qij=qji=1, all other variables qkl~1.
In this embodiment~ the error is actually not corrected but the appropriate pair of code symbols on the basis of which the data symbols must be recovered is se-lected by error localization. Each correctable error occurs once in the table. The case NE (no errors) occurs twice: the system can thus utilize the first two code symbols (y10) in parallel as well as the last two code symbols (y32) in parallel. This means that the AND-gate 116 as well as 118 of the AND-gates 112 to 122 in Figure 6 are conductive (these AND-gates each operate over a width of 8 bits). This is because the interface unit 12~ comprises, for each bit~
line of the 8-bit wide output 126, an OR-gate having six inputs: each of these inputs is fed by a differen-t one of the AND-gates 112 to 122. If there is no error, -the two results y32 and y10 are identicalO This double dfinition of the case "NE" saves components as well as time in com-parison with other solutions.
Figure 12 shows the conditions to be satisfied for the respective selections from the data y32, y31, y30, y21, y20, ylO; these conditions are first shown as a sum of products which follows directly from the -table of Figure 11. Subsequently~ they are each shown again as a product of sum terms. This conversion also utili~es the property -that the signals RM, ~Mi and MOSij are disjunct:
at any instant only one of these eleven signals can be true. These rewritten functions can be relaized by means of fewer component.s and with a small signal delay time. The s PHN 10.155 18 16.8.1982 respective circuits for forming the control signals for the gates 112 to 122 in Figure 6 are shown in -the Figures 137 14, 15, 16, 17, 18. The parts of the f`unctlons -which depend only on the content of the mode register are showr in Figure 19O
The error regist0r, forming part o~ the elemen-t 110 in Figure 6, contains the following inf'ormation:
1) if there are no errors, the register contains exclusively ~eros;
2) if one one-bi-t error or one one-symbol error occurs, the error register contains a single "1 t~ which in-dicates the associated'code symbol;
3) if two one-bit errors occur, the error register contains two data "1" which indicate the associated code symbols;
4) in the erasure mode, the error register contains a "1" for the code symbol in which a one-bit error occurs;
all other bits of the error register are zero;
5) if a detectable, non-correctable error occurs, all bits of the error register are se-t to "1". The error register thus serves for the si-gnalling of actual errors or previous errors. The mode register~ however, serves for the ~co)control of the actual operating mode and the se-lection from the data y32.O..y10. In this embodiment both registers comprise as many bit posi-tions as there are code symbols in the code word. However, other choices are also feasible. For example, in a double-length error register of eight bits, one half is used for signalling the one-bit errors and the other hal~ for signalling one-symbol errors~
This extended embodiment will not be elaborated upon herein.
Thus, an error-signalling tetrade is supplied to the error register each time in order to be combined bit-wise with the information already stored. Thls means that it i5 not possible to distinguish one-sym'bol errors (suc-cessively) occurring in two different code words frola adouble one-bit error in the same code word. This is not objectionable, because t'he error register is used for ex-s~

PHN 10.155 19 16.8.1982 ternal signalling and not for direct control. The word tobe supplied to the error register is shown in Figure 11 (extreme right~hand column) which illustrates the relation-ship 'between the content of the mode register, the various criteria described and the type of error. The selection functions have already 'been derived from the table of' Figure 11. These functions inclicate -which version (of the six feasible versions) of the data word is to be used.
The content of the error register is partly determined by -these selection functions. The conditions under which the first, the second, the third and the fourth bi-t of the error register are successively made equal to "1" are shown in the Figures 20a...20d. These bits are also all set to "one" in the case of a detectable but non-correctable error;
the relevant condition, however, is not shown in Figures 20a...d. These conditions are derived from the selection functions.
Figures 21a...21f thus show the functions to be derived from configurations shown in Figures 13, 14, 15, 10, 17~ 18, respectively. For this purpose use is also made of the property that the variables RM, EMi and MOSij are mutually disjunct: at any given instant, at the most one of these variables can have -the value "1".
Use is also made of the following functions which can be derived from the table in Figure 10:

1~ M2 M3 I RM -1- EM2 = M . M M
2' M3 I RM + EM3 = M . M ~ M
Therein7 Mo- 7M3 indicate the valves of the re-levant mode register bits; a stroke over a variable indi-cates the in-verted value. For example9 from a comparison of (3~)-(Figure 12); (35)-(Figure 20); (40)-(Figure 21) i-t can be deduced that the value "1" must be applied to the 'bit position "0" of -the error register subject to the following condition:

PHN 10.155 20 16.~.1982 (R~l+EM1).SEL01.SEL10+(RM~EM2).SEL02.SEL20~(RM+EM3).SEL03.
SEL30 = 1.
By combination wit'h the expression given above~ the con-ditions shown in the Figures 22a...d are obtained. '~lese Figures also show the corresponding expressions for the other three 'bits of the error regis-ter.
Figure 23 shows a realization involving twelve AND~gates (&) 200...222, four OR-gates (OR) 224...230 and a NOR-gate 232 for forming the set conditions. The lo error register comprises four data flipflops 234..~240, whose clock control is not shown These flipflops also comprise a reset input (not shown). The formation of the OR-function between the old content of the data flipflops and a new error-indicating word is realized by means of 15 the OR-gates 2~2.. 248. When a detectable, non-correctable error arises, all syndrome symbols SO, S1, S2, S3 are different from zero. On the other hand, no "one" bit is applied to the error register (by way of the preceding OR-functions). This is due to the fact that the previously de-rived functions react only to a correctable error (by forming the value "1"). This fact is utilized to derive the function which signals a detectable, non-correctable error (a non-detectable error, o'bviously, does not cause a system response). Therefore, if all four functions of ~igure 22 are not true and, moreover, the functions p2 and p3 have the value zero, a logic "1" is applied to all bit positions of the error register by way of the NOR-gate (inverted output) 232. The error register can be attractively used as a short-term updating device: a number of recent errors can 'be indicated therein. Al-ternatively~ the error register may be used in a data processing systern as follows. The error register is periodically read and reset to zero by a supervision device~ This does not have a direct effect on the content of the mode register, as will appear herein-after. The supervision device operates, for example, undersoftware control~ The conten-t of the error register is then used, for example, ~or long~term updating: the number 5~

PIIN 10.155 21 16.8.1982 Or error indications occurring over a given period of time is summed for each code symbol. The code sym'bols whose sums are the lowest can -then be evaluated as ~eing the most reliable, so that thesc symbols are used in the gating mode.
The signalling of an uncorrectable error (gate 232) can be used to ge~erate an interrwpt signal or to control a retry. ~uch retries are customary in data processing le-vices The sub-operations required for such a retry depend on the kind o~ device and the actual data processing;~or the sake of 'brevity, they will not be elaborated upon herein.
Figure 24 shows a computer system in which the invention is implemented; the interconnection of the sub-systems has already been partly disclosed in said pre-15 pu'olished European Patent Application 0031183 (PHN 9652), be it for use with a less effective error-correcting code.
The data words consist of 8 bits which are assumed to be two symbols of four bits. In the quadruple system shown, each data word is processed in each processor and is re-2D presented each time by four code bits in the associated memory or on the output of the sub-computer. The data words appear on -the lines 62, 64, 66, 68 They are processed in the respective processor elements 12, 14~ 16, 180 In re-action there-to7 the processor elements generate data re-25 sult words on the lines 9Q, 92, gL~ 96 or address words on the lines 70, 72, 7~, 76. A known memory management unit ~not shown) may be provided for each of the relevant me-mories. The local memories 28, 307 329 34 are addressed via the address decoders 27, 29, 31, 33 From each 8-bi-t data word received, a 4-bit code symbol is ~ormed in each of the code genera-tors 20, 22, 24~ 26, so that the code symbols formed from one data word together form one code word. These code symbols are presented to the memories 28J 30, 32, 34 in order to be stored. The code symbols read are regene-35 rated in the read amplifiers 36, 38, 407 42. The regene-ration can alternatively be realized withou-t intermediate storage in the memories. The code symbols can all be appliecl to all registers 46, 48, 50, 52. These registers are connected to the recon-struction devices or decoders 54, 56, 58, 6() for reconstructing the data words from the code words for presentation to the lines 62, 64, 66, 68. I'he cornbin-ation o-f elements 46, 54, 12, 20, 28 and 36 is included in a single separatc error isolation zone and correspondingly for furlher zones. It is assume(l that the errors in two different error isolation zones are independent; in many casesthis requirement is satisfied for many categories of errors if each error-isolation zone covers, for example, a separate printed circuit board plus com-ponents, or alternatively a separate integrated circuit. The circuit shown in the Figure thus forms four respective error isolation zones. The synchronizationof the operations in the four error isolation zones has been omitted for the sake of clarity. The processors operate in accordance with relevant programs. The construction of the sub-systems in-the relevant error-isolation zones is similar, except for the code generators (20, 24, 26, 28) which each implement a differentalgorithm for forming the four respective code symbols from the 8-bit data word.Furthermore, the control of the data reconstruction devices 54, 56, 58, 60 may differ depending on the control mode of the computer system. For the descriptionof the possible interfacing b a peripheral apparatus, reference is made to the afore-said Canadian Patent ~o. 1,163,737.
The data reconstruction device may be constructed in accordance with the principle described with reference to Figure 6. During the erasure mode, allequipment of a selectable error isolation zone (FIA) may be ignored. It has beenfound that the normal mode which is capable of correcting two arbitarily situated bit errors or a one-symbol error is very well suited for the correction of errors occurring in the memory. These latter errors usually are mutually independent and, moreo-ver, are often so-called "soft e-rrors". Symbol errors which render an entire symbol unreliable are usually caused by a faulty processor. It has , , PTrIN 10.155 23 1~.8.1982 be~-n found that such symbol errors are usually of a per-manent nature. However~ they need not be repaired at short notice in this computer system~ because the decoder. can switch over to the erasure mode. The latter policy, howev~r, involves a new risk in that a one~symbol errox (~ Z bits in one symbol) and a ~urther one-bit error could occur at the same time. This cannot be corrected during operation in the normal mode (RM). Therefore, it is importan-t to switch over from the normal mode to the erasure mode as soon as possible. The switch is made subject to the following conditions:
a) the system ls previously in the normal mode (MoM1M2~l3=);
b) a one-symbol error whose bit weight is at least "2" occurs.
For the code symbol c3, the condition b) is satifsfied if:
S3 = O ~~ p3 = 1 Sl ~ ~a ~ a , a , a3~; q13 =
S1 ~ O -~ p1 = O
RM = 1.
(the first and third conditions produce a one-symbol error;
the opposite o~ the second condition produces a one-bit error~. The condition is there:~ore:
RM.p3.p1.q13 = 1.
For the other code words, the conditions are:
c2:RM.p2.p1.q12 = 1 c1:RM.p1.p2.q21 = 1 cO:RM.pO~p2.q20 = 1 Furthermore, each error-isolation zone in Figure 24 com-prises a separate error register (14~, 150, 152, 154) which is controlled by output signals from the relevant de-coder (54~ 56~ 581 60) and whose output signals are applied to the central control device 44~ Finally there are shown the relevant reset lines ~or the error re~isters from the S~

P-l\ 10.1,5 24 16.8.1982 central control unit L~4, rrhe multiplicicity of these con-trol lines is not shown. Fur-thermo-re, each ~rror-isolat~or zone in Figure 24 comprises a ~espective /~-bit Mode -rc-gister 1L~o~ 142~ 1L~4, 146. rrhe mode registers are con-trolled by output signals ~`rom the associated decoders(54, 56 9 58, 60). The content of each mode registQr con-trols the operating mode of the associated decoder. Fur-thermore, the setting of the error regis-ter is co~con-trolled by -the content of the associated mode register.
This relation is indicated each time by an additional arrow (parts of the circuit of Figure 23 would thus be situated in the error register in Figure 24). Finally, each mode register receives control signals from the central control device 44. The composition of these con-trol lines will be described hereinafter. In the error-~ree condition, the same program is executed in all iso-lation zones. This is also applicable in the normal mode.
However, if a systematic disturbance occurs in a given error isolation zone, the symbol error having probably the bit weight 2 resulting therefrom is detected in the other isolation zones; these zones will switch over to the erasure mode, so that the faulty isolation zone is no longer taken into account~ In the faulty isolation zone itself the signalling need not be absolutely correct; it may even occur tha-t comple-tely different control occurs (f`or example, due to a ~ailure of the mode register). How-ever, the system as a whole continues to operate correct-ly thanks to the three other error isolation zones.
Figure 25 shows the four-bit mode register and the associated control circuit. The condition signals are formed for the relevant mode bits by means of -the f`our ~ND
gates 250.~.256. These condition signals are applied7 via the OR~gates 258...264~ to the register proper which is formed by four da-ta flipflops 266...272. The clock control of these da-ta flipflops is not shown separately. The ou-tput data are combined in NOR~gate 274: the output signal there-of (RM) :indicates the normal mode. The circuit furthermore '~$
P~IN 10.155 25 16.8.1982 comprises an additional control input 276 and a four-hit data input 278. Using four ~ND-gates 280-286, ran~om external information can be input, for example under the control of the residential software of the control device s ~ of Figure 2L~. For example, the gating mode can be initiated under the influence of the long-term updatin~ of -the detected errors.
The condition signals for the mode register bits are also derived from the functions SELij formed in the lM Figures 13... 18; for example, for the flipflop 266:
R~l.p3~p1.SEL13=~M.p3.p1 (q13+EM3-~MOS20) = R~l p3.p1.q13.
E~3.~10S20 = R~.p3~p1.q13 (because, if RM=1, EM3 and MOS20 are equal to zero).
A "1" signal on the control input 288 then acts as an enable signalO This signal may be formed only in given data processing phases, for example when all detection sig-nals (Pi, SE~ij) have come to a rest.
Figure 26 shows a first alternative for the de-coder, which alternative utilizes a preprogrammed read-only memory (ROM). First of all, an 8-bit syndrome is formed from the 1~-bit code word by means of an exclusive OR-matrix (300). This syndrome contains the complete in-formation concerning the error Therefore, an 8~bit cor-rection word can be formed by means of a read-only memory 302. This correction word can be added bit-wise modulo-2 to the two data symbols (304) in order to reconstruct the non-distu~bed data word. Furthermore 9 the ~our signal bits to be applied to the error register 316 are to be formed a-t the same time. Since the system can opera-te in different modes, the read-only memory must also receive the four bits from the mode register 308, because the interpreta-tion of the syndrome is co-determined by the mode, Therefore, the read-only memory should have a capacity of 212 words of 12 bits. ~igure 25 also shows the binary version of -the parity check matrix. This can be implemented by means of 38 two input EXCLUSI~E OR gates. When these gates are arranged in a tree-like configuration, the implementation o~ this s~

PHN 10.155 26 16.8,1982 matrix introduces a delay of only three gate delay tirnes, The interaction between mode register and erro:r regi.stf~r takes place in the manner of Figure 23 and is not showIl separately; the ~urther control of the mode register 3-)8 i9 not shown s0parately 0ither.
It is alternatively possible to implement the parity check ma-trix with a further read-only memory, To this end, only the non-identity part o~ the parity check matrix (at top right in Figure 26) is used:
~ a6 a10 c (S) = (a10 a6 ) (CO) The result is added to C3, c2 (EXCLUSIVE-OR) in order to produce the two-symbol result s, The latter is used exactly as shown in Figure 26, The code can also be used for longer data words, For example, a 16-bit data word can be split directly into four symbol~s of four bits; these symbols are treated pair-wise each time. Evidently, a larger variation is then possible for dividin~ the system into a number of error isolation zones. Furthermore, the methods described are not restricted to symbols comprising at the most four bits,

Claims (8)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A data processing device for the processing of data words which are composed of k=2p - 2 data symbols by means of code words which are formed from the associated data words by means of an error-correcting code, said code words containing n=2p code symbols, all symbols consisting of m=2s bits and form-ing part of a Galois field GF(2m) = {0, a0, a1 ... a2m-2}, p and s being integers equal or greater than 2, said device com-prising a first input for a data word, first multiplier means for multiplying the data word by a generator matrix (G) consisting of nxk matrix elements each of m bits in order to form a code word, processing means for processing the code word in order to form a processing result, and reconstruction means for recon-structing, using a parity cheek matrix (R)=(S).(H).(T) which is orthogonal to the generator matrix (G), the second data word associated with the processing result for output of a first out-put, said reconstruction means comprising mode indicating means, for in a first state controlling a "normal" mode for processing the code words as forming part of a code providing a minimum Hamming-distance of three over the symbols, and in n respective erasure states indicating each time one associated received-symbol position of a code word as erased and for processing the remaining code symbols as a code providing a minimum Hamming-distance of at least three over the bits, wherein (S) is a non-singular mat-rix of (mx(n-k)) x (mx(n-k)) bits, the matrix (H) comprises a first submatrix of (n-k) x (n-k) symbols in the form of an iden-tity matrix and a second submatrix of (n-k) x k symbols whose determinant is not equal to 1=a0,while each (n-k) x (n-k) symbol submatrix of (H) is non-singular, the matrix (T) consisting of (nm x nm) bits in n x n blocks which are arranged in rows and columns and each of which blocks consists of m x m bits, each row and each column of blocks comprising (n-1) blocks which con-sist exclusively of "0" bits, each row of bits and each column of bits containing exactly one "1" bit and for the remainder exclusively "0" bits, whereby (H) produces a systematic code, which multiplied by (S) may produce a non-systematic code and multiplied by (T) may produce permutations of symbols or of bits within symbols; characterized in that said mode indicating means is a mode register having a third input and a third output and in said first state alternatively controls the processing of the code words as forming part of a code providing a minimum Hamming-distance of five over the bits; in that in said second submatrix the absolute values modulo (2m-1) of the differences between the exponents of symbols taken two by two written as powers of (a) being at least equal to (m) on each respective row and in each respective column of the matrix (H), in that the reconstruction means comprise a) second multiplier means with a second input for receiving the processing result for mul-tiplication by an extended parity check matrix (Q) = (A) x (R) of n rows of symbols by n columns of symbols to form a number of (n) syndrome symbols (SO ... S3) on a second output, wherein (A) is a matrix of (n) rows of symbols and (n-k) columns of sym-bols, wherein all (n-k) x (n-k) submatrices of A are non-singular so that any combination of (n-k) rows of matrix (Q) may be used as a parity check matrix, and wherein each row of matrix (Q) contains exactly one zero symbol; b) a data reconstruction device with a fourth input for receiving the processing result and a fifth input for receiving the syndrome symbols, and with a fourth output for forming versions of a reconstructed data word, each version being generated from an associated unique subset of k code symbols of the received processing result; c) a selec-tion device with a sixth input which is connected to the second output in order to receive the syndrome symbols and a seventh input which is connected to the third output in order to receive the state information from the mode register and also provided with a sixth output which is connected to the third input and a seventh output for supplying, on the basis of the syndrome symbols and the state of the mode register, a selection signal for indicating which of th versions of the reconstructed data word is derived from non-disturbed code symbols and supply-ing an update signal for the mode register; d) a gating device, with inputs which are connected to the fourth output and the seventh output for the selection of an error-free data word.
2. A data processing device for the processing of data words which are composed of k=2p - 2 data symbols by means of code words which are formed from the associated data words by means of an error-correcting code, said code words containing n=2p code symbols, all symbols consisting of m=2s bits and form-ing part of a Galois field GF(2m) ={0, a0, a1 ... }, p and s being integer equal or greater than 2, said device compris-ing a first input for a data word, first multiplier means for multiplying the data word by a generator matrix (G) consisting of (n x k) elements each of m bits in order to form a code word, processing means for processing the code word in order to form a processing result, and reconstruction means for reconstructing, using a parity check matrix (R) which is orthogonal to generator matrix (G), the second data word associated with the processing result for output on a first output, said reconstruction means comprising a) mode indicating means having a third input and a third output for in a first state controlling a "normal" mode processing the code words as forming part of a code providing a minimum Hamming-distance of at least three over the symbols, and in n respective erasure states indicating each time one asso-ciated received-symbol position of a code word as erased while for controlling the processing of the remaining code symbols as a code providing a minimum Hamming-distance of at least three over the bits; b) second multiplier means with a second input for receiving the processing result for multiplication by a parity check matrix (R) = (S) . (H).(T) in order to form a number of at least (n-k) syndrome symbols on a second output,wherein (S) is a non-singular matrix of (m x (n-k)) x (m x (n-k)) bits, the matrix (H) comprises a first submatrix of (n-k) x (n-k) symbols in the form of an identity matrix and a second submatrix of (n-k) x k symbols whose determinant is net equal to l-a0, while each (n-k) x (n-k) symbol submatrix of (H) is non-singular, the matrix (T) consists of nm x nm bits in n x n blocks which are arranged in rows and columns and each of which consists of (m x m) bits, each row and each column of blocks comprising (n-l) blocks which consists exclusively of "0" bits, each column and each row or bits containing exactly one "1" bit and for the remainder exclus-ively "0" bits; whereby the matrix (H) produces a systematic code, which multiplied by (S) may produce a non-systematic code and multiplied by (T) may produce permutations by symbols or bits within symbols; characterized in that in said second sub-matrix the absolute values module (2m-1) of the differences between the exponents of symbols written as powers of (a) being at least equal to (m) on each respective row and in each respec-tive column of the matrix (H), in that said mode indicating means is an n bit mode register and in said first state alternatively processes the code words as forming part of a code providing a minimum Hamming-distance of five over the bits, c) correction determining means are provided which have an eighth input which is connected to the second output in order to receive the syndrome symbols and a ninth input which is connected to the third output in order to receive the state information from the mode register, and also having an eighth output for supplying a corrector and a ninth output for supplying an error indication signal, the latter output being connected to the third input of the mode register; d) correction means are provided which have a tenth input for receiving at least the data symbols of the processing result and for modulo-2 addition thereof to the corrector in order to supply a corrected data word on a tenth output; e) an error register is provided which comprises at least n bit loca-tions, an eleventh input which is connected in parallel with the third input of the mode register in order to receive upon detection of a correctable error in a symbol, a symbol indicator which is to be stored in the associated position of the error register, and the symbol indicators received in the error register are continuously combined with a stored symbol indicator by means of a symbol-wise logic OR-function, the error register having an eleventh output for connection to an updating and control device, and also a reset input for receiving a reset signal from the control device.
3. A data processing device as claimed in Claim 1 or 2, characterized in that for n=4, k=2, the matrix [H] is chosen from:

in which (ai) is an element of the GaLois field GF(24) generated by means of the primitive and irreducible polynomial .pi.(x) =
x4+x+l, and in which aj is an element of the Galois field GF(24) generated by the primitive and irreducible polynomial .pi.'(x) = x4+x3+1.
4. A data processing device as claimed in Claim 1, char-acterized in that the mode register contains n bits, each of which is uniquely assigned to a respective code symbol within the code word in order to control the erasure mode therefor.
5. A data processing device as claimed in Claim 1, characterized in that there is provided an error register (110, 306) which comprises at least n bit locations and an eleventh input which is connected in parallel with the third input of the mode register in order to receive, upon detection of a correctable error in a symbol, a symbol indicator which is to be stored in the associated position of the error register, the symbol indicators received being continuously combined with a stored symbol indicator by means of a symbolwise logic OR-function (242-248), the error register having an eleventh output for connection to an updating and control device, and also a reset input for receiving a reset signal from the control device.
6. A data processing device as claimed in Claim 5, characterized in that the mode register has an additional data input (278) and a load control input (276) for receiving a control word from the control device in order to control the data processing device in a gating mode so that a data word is reconstructed by the selective erasure of (n-k) code symobls on the basis of the k code symbols then remaining, without correction of errors.
7. A data processing device as claimed in Claim 1 or 2, characterized in that there is provided a detector for detecting a multi-bit one-symbol error in the normal mode and for direclty switching over the mode register to the erasure mode in reaction thereto, code symbols having the same symbol number as that in which the multi-bit one-symbol error occurred being subsequently erased.
8. A multiprocessor computer system which is composed of n sub-computers which are situated in respective error isolation zones and which each comprise, for use in a data processing device as claimed in claim 1 or 2, a data reconstruc-tion device for receiving all code symbols of a code word to be processed and for reconstructing therefrom a data word, processor means for processing the data word in the same way as in the other sub-computers, a code generator for forming a code symbol from a processed data word so that the set of code symbols thus generated forms a code word, a memory for storing the code symbol formed, and an output for a code symbol, characterized in that each sub-computer further-more comprises its own mode register and its own error register for the control of the processing of the code symbols and the temporary storage of a detected error, respectively.
CA000411702A 1981-09-21 1982-09-17 Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes Expired CA1190655A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8104342 1981-09-21
NL8104342A NL8104342A (en) 1981-09-21 1981-09-21 CALCULATOR SYSTEM, BASED ON A SYMBOL-CORRECTING CODE WITH TWO WORKING MODES.

Publications (1)

Publication Number Publication Date
CA1190655A true CA1190655A (en) 1985-07-16

Family

ID=19838096

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000411702A Expired CA1190655A (en) 1981-09-21 1982-09-17 Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes

Country Status (8)

Country Link
US (1) US4512020A (en)
EP (1) EP0075985B1 (en)
JP (1) JPS58127252A (en)
AT (1) ATE14947T1 (en)
AU (1) AU552984B2 (en)
CA (1) CA1190655A (en)
DE (1) DE3265431D1 (en)
NL (1) NL8104342A (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8204038A (en) * 1982-10-20 1984-05-16 Philips Nv MULTIPROCESSOR CALCULATOR SYSTEM, CONTAINING N PARALLEL OPERATING CALCULATOR MODULES, AND CALCULATOR MODULE FOR USE IN SUCH A MULTIPROCESSOR CALCULATOR SYSTEM.
NL8400630A (en) * 1984-02-29 1985-09-16 Philips Nv DECODING DEVICE FOR A FLOW OF CODE SYMBOLS PROTECTED BY WORDS BY A DOUBLE REED-SOLOMON CODE WITH A MINIMUM HAMMING DISTANCE OF 5 ON THE CODE SYMBOLS AND A BLEACHING MECHANISM BETWEEN THE TWO CODES.
NL8403147A (en) * 1984-10-16 1986-05-16 Philips Nv DATA PROCESSING SYSTEM CONSTRUCTED FROM THREE DATA PROCESSING MODULES.
US4835713A (en) * 1985-08-06 1989-05-30 Pitney Bowes Inc. Postage meter with coded graphic information in the indicia
GB2189970B (en) * 1986-05-01 1990-03-28 British Broadcasting Corp Data conversion
GB2194850B (en) * 1986-09-05 1990-10-31 Philips Nv Data processing device
EP0566215B1 (en) * 1986-09-30 1996-11-20 Canon Kabushiki Kaisha Error correction apparatus
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system
JPS649539A (en) * 1987-07-02 1989-01-12 Hitachi Denshi Service Kk Protecting method for storing data
JP2881773B2 (en) * 1988-07-30 1999-04-12 ソニー株式会社 Error correction device
EP0386506A3 (en) * 1989-03-06 1991-09-25 International Business Machines Corporation Low cost symbol error correction coding and decoding
DE69031947T2 (en) * 1990-10-16 1998-07-16 Koninkl Philips Electronics Nv Data processing system based on an (N, K) symbol code and with symbol error correctability and multiple error repairability
EP0597511B1 (en) * 1992-10-09 1999-04-07 Koninklijke Philips Electronics N.V. Method of correcting errors and erasures in digital information, and device suitable for carrying out the method
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
FR2814612B1 (en) * 2000-09-26 2003-02-07 St Microelectronics Sa HIGH EFFICIENCY ERROR DETECTION AND / OR CORRECTION CODE
US9520993B2 (en) 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7565661B2 (en) 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7680834B1 (en) * 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US8046661B2 (en) * 2004-09-08 2011-10-25 Temarylogic Llc Symbol error correction by error detection and logic based symbol reconstruction
US7979404B2 (en) 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US7904913B2 (en) 2004-11-02 2011-03-08 Bakbone Software, Inc. Management interface for a system that provides automated, real-time, continuous data protection
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US7689602B1 (en) 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US8108759B2 (en) * 2006-12-14 2012-01-31 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8364648B1 (en) 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
JP5665725B2 (en) * 2011-12-13 2015-02-04 株式会社東芝 Encoding device and semiconductor memory system using the same
JP2023045450A (en) * 2021-09-22 2023-04-03 キオクシア株式会社 Syndrome calculation circuit, error correction circuit, and memory system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4077028A (en) * 1976-06-14 1978-02-28 Ncr Corporation Error checking and correcting device
GB1597218A (en) * 1976-12-11 1981-09-03 Nat Res Dev Apparatus for electronic encypherment of digital data
US4117458A (en) * 1977-03-04 1978-09-26 Grumman Aerospace Corporation High speed double error correction plus triple error detection system
NL7909178A (en) * 1979-12-20 1981-07-16 Philips Nv CALCULATOR WITH DISTRIBUTED REDUNDANCY DISTRIBUTED OVER DIFFERENT INSULATION AREAS FOR ERRORS.
US4355391A (en) * 1980-03-31 1982-10-19 Texas Instruments Incorporated Apparatus and method of error detection and/or correction in a data set
CA1170776A (en) * 1980-07-18 1984-07-10 Yoichiro Sako Method of error correction of blocks of data
US4382300A (en) * 1981-03-18 1983-05-03 Bell Telephone Laboratories Incorporated Method and apparatus for decoding cyclic codes via syndrome chains
US4414667A (en) * 1981-11-27 1983-11-08 Gte Products Corporation Forward error correcting apparatus

Also Published As

Publication number Publication date
US4512020A (en) 1985-04-16
JPS58127252A (en) 1983-07-29
EP0075985A1 (en) 1983-04-06
JPH045214B2 (en) 1992-01-30
DE3265431D1 (en) 1985-09-19
ATE14947T1 (en) 1985-08-15
EP0075985B1 (en) 1985-08-14
NL8104342A (en) 1983-04-18
AU8859282A (en) 1983-03-31
AU552984B2 (en) 1986-06-26

Similar Documents

Publication Publication Date Title
CA1190655A (en) Data processing device for processing multiple-symbol data-words based on a symbol-correcting code and having multiple operating modes
US4486882A (en) System for transmitting binary data via a plurality of channels by means of a convolutional code
US4402045A (en) Multi-processor computer system
US6275965B1 (en) Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords
US6751769B2 (en) (146,130) error correction code utilizing address information
US6101520A (en) Arithmetic logic unit and method for numerical computations in Galois fields
US6457154B1 (en) Detecting address faults in an ECC-protected memory
JPH0436487B2 (en)
US5856987A (en) Encoder and decoder for an SEC-DED-S4ED rotational code
US5537423A (en) Modular multiple error correcting code system
JP2612000B2 (en) Data processing device
US6519736B1 (en) Generating special uncorrectable error codes for failure isolation
US6539513B1 (en) Dual functioning symbol error correction code
JP2589957B2 (en) Coding method and memory system for single sub-block error and single bit error detection
US5459740A (en) Method and apparatus for implementing a triple error detection and double error correction code
US5535227A (en) Digital information error correcting apparatus for single error correcting (SEC), double error detecting (DED), single byte error detecting (SBED), and odd numbered single byte error correcting (OSBEC)
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US5956351A (en) Dual error correction code
US5754562A (en) Method and apparatus for encoding certain double-error correcting and triple-error detecting codes
Bruck et al. New techniques for constructing EC/AUED codes
US5805615A (en) Method and apparatus for encoding certain double-error correcting and triple-error detecting codes
US5488617A (en) Data processor system based on an (n, k) symbol code having symbol error correctibility and plural error mendability
US5771184A (en) System and method for solving quadratic equation in galois fields
CN114244376B (en) Data encoding method, system, device and medium
JPH0628343B2 (en) Product code decoding method

Legal Events

Date Code Title Description
MKEC Expiry (correction)
MKEX Expiry