FR2672403A1 - Procede de correction d'erreurs et dispositif pour sa mise en óoeuvre. - Google Patents

Procede de correction d'erreurs et dispositif pour sa mise en óoeuvre. Download PDF

Info

Publication number
FR2672403A1
FR2672403A1 FR9106389A FR9106389A FR2672403A1 FR 2672403 A1 FR2672403 A1 FR 2672403A1 FR 9106389 A FR9106389 A FR 9106389A FR 9106389 A FR9106389 A FR 9106389A FR 2672403 A1 FR2672403 A1 FR 2672403A1
Authority
FR
France
Prior art keywords
error
calculator
value
coefficient
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9106389A
Other languages
English (en)
Other versions
FR2672403B1 (fr
Inventor
Man-Young Lee
Hak-Song Park
Young-Cheol Kim
Tae-Yong Kim
Yong-Jin Choi
Jae-Moon Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of FR2672403A1 publication Critical patent/FR2672403A1/fr
Application granted granted Critical
Publication of FR2672403B1 publication Critical patent/FR2672403B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • 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
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

L'invention se rapporte à un procédé de correction d'erreurs et un dispositif pour sa mise en œuvre. Plus particulièrement, le procédé et dispositif selon l'invention sont aptes à corriger une erreur sur deux mots dans un bloc de n mots accompagné d'une matrice de contrôle de parité H. Le dispositif selon l'invention est avantageusement composé des portes logiques OU exclusives, se qui réduit la taille du circuit et augmente sa rapidité de fonctionnement. L'invention s'applique à un système de communication numérique ou à des systèmes de mémoire numérique.

Description

: 1
Procédé de correction d'erreurs et dispositif pour sa mise
en oeuvre.
La présente invention a trait à une technique de correction d'erreurs, et plus particulièrement à un procédé de correction d'erreurs et à un dispositif pour samiseen oeuvre pour une protection de données numériques, en utilisant un code de correction d' erreurs dans lequel jusqu'à une erreur
de deux mots peuvent être corrigées.
D'une manière générale, un dispositif de correc-
tion d'erreurs est appliqué à un système de communications numériques ou à un système de mémoire numérique, et peut corriger des erreurs générées dans les données devant être
reçues ou reproduites.
En tant qu'exemple de la technique de correction d'erreurs classique, on peut citer la demande de brevet japonais publiée NO Sho 57-25047 intitulée "Error Correction Method" par SONY Corporation of Japan, publiée le 9 Février
1982 Cette publication divulgue un procédé pouvant corri-
ger même une erreur de deux mots dans un bloc de données
possédant N mots, dont chacun est constitué de N bits.
Les descriptions détaillées sont les suivantes.
Les K syndromes 50 à SK-1 sont obtenus à partir d'un bloc de données V constitué de N mots devant être
reçu et d'une matrice de contrôle de parité H par l'opéra-
tion H suivante r Se T si T | ST i
HV - I
I I
I I
I SKC 2 1
I I
L 8 K _ i Ici, la matrice de contrôle de parité H possède n colonnes et k rangées, et chacun des éléments dans une rangée prédéterminée est choisi parmi (= 1) 2 m-2, o l'élément k est une valeur de racine satisfaisant à l'équation F(X) = 0 Ainsi, deux valeurs identiques ne sont pas trouvées à l'intérieur de la rangée prédéterminée, et
les éléments dans les autres rangées sont choisis par l'élé-
vation à une puissance des éléments correspondants de la rangée prédéterminée La matrice de contrôle de parité H est représentée comme suit: ) j)(n j) a a (n 2) a (K)(n a) a e.d a *.# a 2 À 2 a Dans le cas d'une erreur de mot double ei et ej, les équations pour les syndromes 50, Si, 52, 53 sont les suivantes: $O = eit ej i j S, a *ei+ a e 2 i Sz =Y ei+ a ej 3 i 3 j 8 3 a -ci+ a ej Les équations ci-dessus peuvent être modifiées comme suit: a F I I I H ai I I I I k. -1 2 (n- a (K a e j - te 1 1 t 1 (a So + St)(a 8 a + 53) = (a Si + S)2 Si l'équation est à nouveau modifiée, le polynôme d'emplacement d'erreur suivant est obtenu: I 2 i I (Sr Sa + St)a + (st 82 t SO a 3)a + (Si 83 + Sz 2)= O Sa Sz + S 2 = A St $z À 9 o $ = B Si 53 + Sa 2 Les emplacements d'erreurs pour une erreur de deux mots peuvent être calculés en utilisant les coefficients A, B
et C de l'équation polynôme.
lIl Dans le cas o il n'y a pas d'erreurs:
A = B = C = O, 50 = O, 53 = O
l 2 l Dans le cas d'une erreur d'un mot: Lorsque A = B = C = 0, 50 $ O, et 53 $ 0, une erreur d'un mot est déterminée Un emplacement d'erreur i peut être facilement obtenu de l'équation i = Sl/50, et une correction d'erreur peut être effectuée en utilisant
ei = SN.
l 3 l Dans le cas d'une erreur de deux mots: Dans le cas d'une erreur de deux mots ou plus, les relations A $ O, B $ O et C $ O sont satisfaites La relation suivante est alors satisfaite: Aa i +Ba + C=O
dans laquelle i va de zéro à n-1.
Si on suppose que les relations B/A = D et C/A = E sont satisfaites, les équations suivantes sont obtenues: j D= a +a i J E a a Par conséquent, l'équation suivante est tirée des équations ci-dessus: 2 i I Ga + Da +E = O O Ici, lorsque la différence de deux emplacements d'erreurs est t, c'est-à-dire lorsque la relation j = i + t est satisfaite, les équations suivantes sont obtenues: D ( 1 + t) D O+ a I-i E = a 2 i, t Ainsi, l'équation suivante peut en outre être extraite: t 02 ( 1 + a)2 __ = _ = a t t + a t E a Les valeurs de t + O t pour t = 1 à (n-l) sont préalablement mémorisées dans une mémoire morte, et t est obtenu en détectant une concordance entre un signal de sortie de la mémoire morte et une valeur de D 2/E calculée à partir du mot reçu S'il n'y a pas concordance, l'erreur
est déterminée pour être de trois mots ou plus.
Ainsi, les relations suivantes sont supposées: t X 1 +a _ t D
Y 1 + " = X
E Par dérivation, les équations suivantes sont vérifiées: i D X j OD. a _ _ y Des équations ci-dessus, les emplacements d'erreurs i et j sont obtenus Les configurations d'erreurs ei et ej sont alors représentées comme suit: (a SO + Si) Si o Y O (a Sa + Si) S Si
T àj = l -à = -
D X D
Les emplacements d'erreurs et les configurations d'erreurs sont obtenus grâce au processus précité de sorte que l'erreur du mot reçu aux emplacements d'erreurs correspondants peut
être corrigée selon les configurations d'erreurs.
Cependant, dans le procédé proposé dans la demande de brevet japonais publiée NO Sho 57-25047, afin d'obtenir
les emplacements d'erreurs, le polynôme d'emplacement d'er-
reur ci + D d i + E = O est résolu pour obtenir deux ra-
cines d, d à partir desquelles sont obtenus les empla- cements d'erreurs i et j, rendant le circuit nécessaire pour
les opérations exagérément compliqué, et le délai d'opé-
ration extraordinairement long.
Par conséquent, un des buts de la présente inven-
tion est de proposer un procédé de correction d'erreurs pou-
vant obtenir des valeurs d'erreurs sans l'étape de calcul
d'un polynôme d'emplacement d'erreur.
Un autre but de la présente invention est de pro-
poser un dispositif de correction d'erreurs qui présente un
délai plus court et un circuit plus simplifié.
Afin d'atteindre ces buts, un procédé de correction
d'erreurs de la présente invention comporte les étapes con-
sistant à:
obtenir quatre syndromes 50 o, si 52 et 53 en uti-
lisant l'opération suivante d'un bloc de données V consti-
tué de N mots reçus et d'une matrice de contrôle de parité H r SO a t I t T I Si
H V = I
I 52 1
I I
L 53 J
déterminer qu'il n'y a pas d'erreur lorsque les syndromes 50, 51, 52 et 53 satisfont Sa =Sl= 52 = 53 = 0; calculer D = 50 52 + 512 à partir des syndromes q , 51, 52 et 53 et déterminer si D est égal à zéro; calculer les coefficients 6 1 et 2 ' si D n'est pas égal à zéro; Se 53 + SI 52 S 53 +Sz D a 2 t obtenir le coefficient suivant K et la valeur Tr(K), lorsque les coefficients 1 et 6 2 ne sont pas égaux à zéro: K = k + k 1 2 ' + k = kn + k a + k 2 a 2 '-+ k 3 a 3 + k a 4 + ks a 5 + k 6 a 6 + k 7 a q Tr(K) = ko Tr( 1) + kt Tr(a) + k 3 Tr(a 3) + k 3 Tr(a 3) + k 4 Tr(a 4) + k 5 Tr(a 5) + k 6 Tr(a 6) + k 7 Tr(a i) obtenir les emplacements d'erreurs suivants X 1 et ' X 2 à partir du coefficient K: X t:XI d I X a =( 1 +XI)a I o, à partir de Tr( o 5) = 1, l'expression suivante est obtenue: X l "lkg,kg;k 2,kj,k 4,ks,k 6,k 7 l r L i I I I L = (x o,X 1,x 2,X 3 X 4 IX S,X 6 e X 7) obtenir les valeurs d'erreur suivantes Y 1 et Y 2 à partir des emplacements d'erreurs X 1 et X 2: * X 2 z+S Yt
X +X 2
So X I +Si Y 2 X +Xz
en corrigeant ainsi les erreurs de deux mots lors-
que K EGF ( 28).
Un dispositif de Correction d'erreurs de la pré-
sente invention afin d'atteindre l'autre but de la présente invention comporte: un calculateur de syndromes afin de calculer des syndromes SO, 51, 52 et 53 à partir de N mots reçus;
un premier calculateur de coefficients pour cal-
culer les coefficients suivants 6 et 2 à partir des syndromes Il Si 53 +S 52 a t =+ D Sl 53 f 58 a 2 c 2
un second calculateur de coefficient afin de cal-
culer le coefficient suivant K à partir des coefficients 1 et 2 K = CI 2
un calculateur de valeur X 1 pour calculer une va-
leur X à partir du coefficient K; un calculateur de valeurs d'emplacements d'erreurs afin de calculer les emplacements d'erreurs suivants X et X 2 à partir de la valeur X X t Xt a t X = ( 1 + Xl)
un calculateur de valeurs d'erreurs afin de rece-
voir les valeurs d'emplacements d'érreurs X 1 et X 2 et en-
suite calculer les valeurs d'erreurs suivantes Y 1 et Y 2 Sa X 2 +S Y, X t +x 8 S X l +Si
Y 2 -
X I X a un discriminateur d'erreurs afin de déterminer combien d'erreurs se sont produites, caractérisé en ce que le calculateur de valeurs x 1 utilise des portes logiques OU exclusif qui satisfont aux équations suivantes: x o =k 3 +ks +k 6 z t =ka +k 2 +k 4 X 2 =ka +k 3 +k 4 +k 6 x 3:k +k +k 3 +k 4 4 =ka +k, x g =kl +k 2 +k 3 +k 4 +k 6 z 6 =ko +k, +k 3 + k 4 +k 7 X -7 =ko k +k +k 2 +k 4 Les buts précités,ainsi que d'autres avantages de
la présente invention,ressortiront mieux de la description
du mode de réalisation préféré de la présente invention en référence aux dessins annexés, sur lesquels: la Figure 1 est un schéma de circuit logique à appliquer à un mode de réalisation préféré du dispositif de correction d'erreurs selon la présente invention; la Figure 2 est un schéma synoptique du mode de réalisation préféré du dispositif de correction d'erreurs selon la présente invention; et la Figure 3 est un organigramme représentant le
fonctionnement du dispositif représenté sur la Figure 2.
Tout d'abord, un code de correction d'erreurs uti-
lisé dans la présente invention sera expliqué.
Si un élément >lA GF (qm)l pour être q =Aq existe, des propositions suivantes: k m I q ) k-O m Tr(a +,) = Tr(a)+Tr($); a,/ i GF(q) Tr(a) = Tr(a 3) m Tr(Ca) = C Tr(a); a e GF(q) l'équation suivante est obtenue: Tr( 8) = O Si y E GF(q) et O E GF(q) sont satisfaits, les équations suivantes sont obtenues: m a m t q q q 2 q q O=r +( + 6 r +, +( 8 + 6+,+ 8)r )r 1 q -A =O (Tr(r)-r)-r (Tr(O)) ( 2)
Ainsi, lorsqu'un élément supérieur à GF(qm) satis-
faisant Tr() = 1 est choisi et que Tr(O) est égal à zéro, l'élément > défini dans l'équation ( 1) satisfait à 8 =
de l'équation ( 2) Ainsi, si on déduit x 2 + x = K du poly-
nome d'emplacement d'erreur 6 (x) = x 2 + x + K et si on sup-
pose que x et K respectivement correspondent à > et 8 des r propositions, alors, lorsque Tr(G) = O, les racines du polynôme d'emplacements d'erreurs 6 (x) sont obtenues, et
la valeur x est représentée comme dans l'équation ( 1).
Egalement, K peut être donné par K = ka + kt a + k 2 a a + k 3 a 3 + k 4 " 4 + k 5 a + k 6 a + k 7 a et en prenant les traces pour les deux membresde K E GF( 2 m), il est donné par Tr(K) = ko Tr( 1) + kt Tr(a) + k 2 Tr(a 2) + k 5 Tr(a S) + k 4 Tr(a 4) + k 5 Tr(a S) + k 6 Tr(a 6) + k 7 Tr(ca 7) à, e a a t 3) m-1 qk En utilisant Tr( Q) = S et p GGF(qm)
k = O-
des propositions précitées pour calculer les valeurs de traces des deux côtés de l'équation ( 3), elles sont données par Tr( 1) = Tr(a) a Tr(a 2) = Tr(a 3) = Tr(a 4) = Tr(a 6) = Tr(a 7): O,
et alors Tr(d 5) devient " 1 ".
En résultat, la valeur Tr(K) devient nulle uni-
quement lorsque K 5 devient nul, de sorte qu'il existe des
racines du polynôme d'emplacements d'erreurs O (x) C'est-
à-dire que si les propositions établissent Tr(K) comme
étant nul, il existe une valeur x de GF(qm) satis-
faisant à x 2 + x = K Ici, si K E GF( 2) et Tr(K) = K 5 = O
est satisfaite, une racine est obtenue en utilisant le pro-
cédé suivant.
i) Un élément K satisfaisant à Tr(K) = 1 est, qui est vérifié comme suit: 7 k Tr(a 5) E (a S) k=O : a S + ()+ (a)4 + + (a) I 8 :i- ii) Pour Tr(K)Q, x est obtenu comme dans l'Equation ( 1), c'est-à-dire, X: 'A ( 6 + 4 2)r 4 + ( 8 +# à te 4)4 à + (e + Z: + 4 +; I)r 1 s
+ (d, +f a O + 4 + & + O O)T: -
+ (+ O a+ 04 + + O 4 +,)r 4 4 + ( + +e++, S + 86 +'O À m + O 6 4)t 2 S *( 4) En réécrivant l'Equation ( 4) par rapport à, x est donné par: X ' ( 7 2 +r 4 + S + 7 -r 6 '+; ' 2 +r À 4 +r I 2 a) + (r ' +r a-+, ' 2 + r 4 +r it 2)98 a + (r 8 +r 16 + 7 3 2 +' 6 4 +r t 2 S)t 4 + (r 16 ±r 3 2 +r 6 4 +'r 1 2 8)a o + (r 3 2 +r 6 4 +r I 2 8)6 16 +' (r 6 4 ±r 2 8) 3 2 + r 1 2 8 $ 6 4 àa,( 5) iii) En substituant = 5 dans l'équation ( 5), les coefficients respectifs peuvent être obtenus de x = ( 1 +a S)0 +(t+a 2 +a 4 +a 6) 2 + (l+a) + 3 a +a-)6 3 +( 1 +a +a 3 +a ') 4 + (a +a 2 4 +a +) +( 4 7) 3 2 + (a +a 2 +a 3 +a 5) 4 4 () iv) Chaque 1) O X valeur x pour a = 1 à c 7 est obtenue, = 1; a + 2 + a 4 + O a + a 1 a ( 01101011) 2) O = a; X = a 3 + a a + a 6 + a 7
= ( 00010111)
3) = a 2; x = a + a 3 + a 5 OF a 6 Q a;
( 01010111)
4) _ a; x 1+ a + 3 + s
= ( 10110100)
) d = a 4 x _ G + a 2 + a 3 + a 5 + + a 7
= ( 01110111)
6) 8 =,a 2 ;
X 1
( 10000000)
7), z a &; X = 1 + a 2 + a S
= ( 10100100)
8) 8 = a; = -a 4 +a O
= ( 00001010)
v) En considérant l'équation de matrice obtenue de l'étape iv, on obtient: K = c 2 / a i z ( 7) = (ka,kr,k,kq,k 4, ks,kv,k 7) alors ce qui suit est vérifié: Xi = lka kl,k 2,k 3,k 4,ks,k 6,k 7 l (x o, X t,X 2,X 3 i X 4,X S,X 6 I' I I I I
1 0000000
x 7) ( 8) De X 1 = K X M, et Xi = (X o l X t l X 'z* 2 X 3 Z 4,X 5 lz 6 l X I) K = (ka,ka,kt,k I,kk,ks,k 6,k 7) en réécrivant l'Equation ( 6), M est donné par r xl e
= a = 1 -
X l a l al =G e i I i I I J M = L X 1 Ainsi, une racine X 1 de l'équation x 2 + x = K être obtenue A cet instant, chaque valeur des éléments x 7-de X 1 est donnée à partir de l'équation ( 8): -I t + 1 < x o = k 3 + k 5 + k 6 x = kg + k 2 + k 4 X 2 ko + k 3 + k 4 + k 6 x 3 = k 1 + k 2 + k 3 + k 4 X 4 S ka + k 7 xs = kl + k 3 + k 3 + k 4 X 6 = ko+ k + k 2 + k k + k 4 k 7 X 7 = -ko + kt + kz + k 4
Ici, k doit être " O " pour satisfaire à Tr(K) = k 5 = 0.
Tr(K) = k 5 = O. J l'équation précitée Ainsi en complétant le procédé pour obtenir la
racine X 1, l'autre racine X 2 est obtenue à partir de l'équa-
tion X 2 = X 1 + 1.
Puisque les emplacements d'erreurs réels peuvent être obtenus en multipliant respectivement X 1 et X 2 par 1 ', ils sont donnés par X Xt C I X = X 2 a l I J , it 4 ae a ( 10) 54 $ 3 +St 52 o, = Sc Sa +Si 2 peut x à o 4 fa 6 ( 9) Egalement, les valeurs d'erreurs Y 1 et Y 2 sont déterminées i par
SQ X 2 +SI
Yt 1 -_
X 1 +X I
I ( 11)'
Sa X 1 +Si I
Y 2 = J
X l +X 2 La Figure 1 représente un schéma de circuit logi-
que utilisant des portes OU exclusif pour réaliser l'équa-
tion ( 9) Ensuite, en substituant x = a 1 x' dans le poly-
nôme d'emplacement d'erreurs doubles î (x) = x 2 + 5 1 x + 2 on obtient a (X ') X,à ? '+K
Alors, K = 2/ 612 de l'équation ( 7) est obtenu.
La Figure 2 est un schéma synoptique d'un mode
de réalisation préféré d'un dispositif de correction d'er-
reurs selon la présente invention.
En référence à la Figure 2, une borne d'entrée
désigne une entrée pour des données reçues et est re-
liée aux entrées d'un dispositif de mémoire tampon 100 et d'un calculateur de syndromes 120 La sortie du dispositif de mémoire tampon 100 est reliée à une première entrée d'un
premier additionneur 110 qui, à son tour, délivre des si-
gnaux de sortie par l'intermédiaire d'une borne de sortie La sortie du calculateur de syndromes 120 est reliée à une troisième borne d'entrée d'un calculateur de valeur d'erreur 180, à une première entrée d'un premier calculateur
de coefficients 130 et à une première entrée d'un discrimina-
teur d'erreur 160 Une première borne de sortie du premier calculateur de coefficients 130 est reliée à une entrée d'un second calculateur de coefficients 140, à la première
borne d'entrée du premier additionneur 110, et à une pre-
mière borne d'entrée du second multiplicateur 171 Une se-
conde sortie du premier calculateur de coefficients 130 est reliée à une seconde entrée du discriminateur d'erreur 160 Une seconde sortie du second calculateur de coefficients est reliée à une troisième entrée du discriminateur d'erreur 160 La sortie du discriminateur d'erreur 160 est
reliée à une première entrée d'un circuit de commande 190.
La sortie d'un calculateur d'emplacements d'erreurs 150 est reliée à une première entrée d'un second additionneur 111
et à une seconde entrée d'un premier multiplicateur 170.
La sortie du second additionneur 111 est reliée à une se-
conde entrée du second multiplicateur 171 La sortie du premier multiplicateur 170 est reliée à une seconde entrée
du calculateur de valeur d'erreur 180 et à une seconde en-
trée du circuit de commande 190 La sortie du second multi-
plicateur 171 est reliée à une troisième entrée du cal-
culateur de valeur d'erreur 180 et à une troisième entrée du circuit de commande 190 La sortie du calculateur de valeur d'erreur 180 est reliée à une première entrée d'un enregistreur tampon 101 La sortie de l'enregistreur tampon 101 est reliée à une seconde entrée du premier additionneur Une sortie du premier additionneur 110 est reliée à une sortie 115 La première à la huitième:bornes de sortie du circuit de commande 190 sont reliées à des bornes de
* commande du dispositif de mémoire tampon 100, au calcula-
teur de syndromes 120, au premier calculateur de coefficients
, au second calculateur de coefficients 140, au calcula-
teur d'emplacements d'erreurs 150, au discriminateur d'er-
reurs 160, au calculateur de valeurs d'erreurs 180, et à
l'enregistreur tampon 101, respectivement.
Le fonctionnement du dispositif de correction
d'erreurs représenté sur la Figure 2 sera expliqué en réfé-
rence à la Figure 1.
Les données reçues, appliquées par l'intermédiaire de la borne d'entrée 105,sont simultanément délivrées au
dispositif de mémoire tampon 100 et au calculateur de syn -
dromes 120.
Le dispositif de mémoire tampon 100 retarde les données reçues délivrées par l'intermédiaire de la borne
d'entrée 105 du temps de traitement nécessaire du calcula-
teur de syndromes 120, des premier et second calculateurs de coefficients 130 et 140, du calculateur d'emplacements d'erreurs 150, du second additionneur 111, des premier et
second multiplicateurs 170 et 171, du calculateur de va-
leurs d'erreurs 180, et de-l'enregistreur tampon 101, et ensuite délivre les données reçues retardées à la première
entrée du premier additionneur 110.
Le calculateur de syndromes 120 mémorise les données reçues délivrées en série depuis la borne d'entrée dans sa mémoire, et lorsque l'entrée de données reçues correspondant à un bloc a été achevée, les syndromes 50, Si, 52 et 53 sont alors calculés en utilisant l'équation suivante r Sa 1 l i T | St l H V = l
I I
L $ 3 J
Le premier calculateur de coefficients 130 dé-
livre les coefficients 6 l 1 2 et D en utilisant l'opé-
ration suivante des syndromes 50 à 53 reçus du calculateur de syndromes 120:
SO 53 +SI 52
Si 2 ES S 2 SI 53 t 52 2 Cr 2 = si 2 +Su 52 D=St 2 +Sc Sa
Ensuite, le premier calculateur de coefficients 130 déli-
vre les deux coefficients 6 2 au second calculateur de coefficients 140 et aux premier et second multiplicateurs
et 171 par l'intermédiaire de la première borne de sor-
tie, et délivre le coefficient D au discriminateur d'er-
reurs 160 par l'intermédiaire de la seconde borne de sor-
tie Ici, les deux coefficients 6 1 et 62 sont des coef-
ficients du polynôme d'emplacements d'erreurs quadratique (y) y, + 1 Y + 6 2 Le second calculateur de coefficients 140 calcule le troisième coefficient K en utilisant l'opération suivante
des deux coefficients 6 1 et O'2 reçus du premier calcula-
teur de coefficients 130 (Y 2 K
et ensuite, par l'intermédiaire de la première sortie, dé-
livre le coefficient calculé K au calculateur d'emplacements
d'erreurs 150.
Le calculateur d'emplacements d'erreurs 150 dé-
livre la première valeur d'emplacement d'erreur Xi au se- cond additionneur 111 et au second multiplicateur 171 par l'intermédiaire du circuit représenté sur la Figure 1 Le second additionneur 111 ajoute " 1 " à la première valeur d'emplacement d'erreur X 1 pour fournir la seconde valeur
d'emplacement d'erreur X 2 au premier multiplicateur 170.
Le premier multiplicateur 170 multiplie la seconde valeur d'emplacement d'erreur X 2 par le premier coefficient 5 1 pour la délivrer au calculateur de valeur d'erreur 180 Le second multiplicateur 171 multiplie la première valeur d'emplacement d'erreur X 1 par le second coefficient c 2
pour la délivrer au calculateur de valeurs d'erreurs 180.
Le calculateur de valeurs d'erreurs 180 calcule les va-
leurs d'erreur Y 1 et Y 2 en utilisant la première valeur
d'emplacement d'erreur X 1 et la seconde valeur d'emplace-
ment d'erreur X 2 comme indiqué ci-dessous: SO X a EST X +Xa sa X + Si Y 2 a _
X I +X 2
* et ensuite délivre les valeurs d'erreurs Y 1 et Y 2 à l'en-
registreur tampon 101.
L'enregistreur tampon 101 mémorise les deux va-
leurs d'erreurs Y 1 et Y 2 reçues du calculateur de valeurs
d'erreurs 180 Ensuite, lorsque le mot reçu contenant l'er-
reur est délivré à la première entrée du premier addition-
neur 110, l'enregistreur tampon 101 délivre les valeurs
d'erreurs Y 1 et Y 2 à la seconde entrée du premier addition-
neur 110. Le premier additionneur 110 additionne les valeurs d'erreurs Y 1 et Y 2 appliquées à la seconde borne d'entrée par l'enregistreur tampon 101 aux données reçues appliquées à la première borne d'entrée par le dispositif de mémoire tampon 100 et ensuite corrige des erreurs générées dans les
données reçues.
Le discriminateur d'erreurs 160 contrôle les syndromes 50 à 53 reçus du calculateur de syndromes 120, le coefficient D reçu du premier calculateur de coefficients 130, et la valeur reçue du second calculateur de coefficients , et ensuite détermine l'existence ou l'absence d'une erreur, la génération d'une erreur d'un mot, la génération d'une erreur de deux mots, ou la génération d'une erreur
de trois mots ou plus.
Le circuit de commande 190 délivre des signaux de commande pour une synchronisation normalisée au dispositif de mémoire tampon 100, au calculateur de syndromes 120, aux premier et second calculateurs de coefficients 130 et , au calculateur de valeur K 150, au discriminateur d'erreurs 160, au calculateur de valeur d'erreur 180 et
à l'enregistreur tampon 101, respectivement.
Le fonctionnement du dispositif représenté sur la
Figure 2 sera décrit en détail selon l'organigramme de fonc-
tionnement représenté sur la Figure 3.
Le circuit de commande 190 délivre un signal de
de commande de calcul de syndromes au calculateur de syn-
dromes 120, lui donnant instruction de calculer des syn-
dromes (au cours de l'étape 200).
Après l'étape 200, le circuit de commande 190 de-
mande au discriminateur d'erreurs 160,à l'aide d'un signal de commande de discrimination d'erreur, de déterminer si les syndromes sont tous nuls Si, à cet instant, lorsque
le signal résultat de discrimination reçu du discrimina-
teur d'erreurs 160 indique que 50 = 51 = 52 = 53 = 0, le
circuit de commande 190 constate une condition d'absen-
ce d'erreur et met alors fin à l'opération de correction
d'erreurs l(au cours de l'étape 201).
Lorsque le signal résultat de la discrimination appliqué au discriminateur d'erreur 160 indique qu'un ou îS plusieurs syndromes sont différents de zéro au cours de l'étape 201, le circuit de commande 190 délivre le signal
de commande de calcul de coefficients au premier calcula-
teur de coefficients 130, donnant instruction au premier calculateur de coefficients de calculer D (au cours de l'étape 202) et délivre également le signal de commande de discrimination d'erreur au discriminateur d'erreurs , donnant instruction au discriminateur d'erreurs de
déterminer si D est égal à zéro (au cours de l'étape 203).
* Si le signal résultat de la discrimination reçu du discriminateur d'erreurs 160 indique D = 0, le circuit
de commande 190 commande le calculateur de valeurs d'er-
reur 180 et l'enregistrement tampon 101 pour corriger des
erreurs de un mot (au cours de l'étape 204).
Et, si le signal résultat de la discrimination
indique que D $ 0, le circuit de commande 190 donne ins-
truction au premier calculateur de coefficients 130 de calculer les deux coefficients C 1 et 6 2 du polynme 1 et 2 du polynôme d'emplacements d'erreurs quadratique C (y) = y 2 + G 1 y +
2 = O (au cours de l'étape 205).
L'étape 206 détermine si le signal résultat de discrimination provenant du discriminateur d'erreurs 160 indique que U 1 = O et 62 = O Si le signal résultat de discrimination reçu dans le discriminateur d'erreurs 160 indique que 1 = O ou 62 = 0, cela signifie qu'il y a trois ou plus d'erreurs (au cours de l'étape 209) Et si le signal résultat de discrimination indique que e 1 Y O et 6 2 y 0, le circuit de commande 190 délivre un signal de commande, donnant instruction au second calculateur de
coefficients 140 de calculer K et Tr(K) (au cours de l'é-
tape 207).
Après l'étape 207, on détermine si le signal ré-
sultat de discrimination reçu dans le discriminateur d'er-
reur 160 satisfait à Tr(K) '= O (au cours de l'étape 208).
Si le signal résultat de discrimination reçu dans le dis-
criminateur d'erreur 160 indique que Tr(K) $ 0, le cir-
cuit de commande 190 constate la génération des trois er-
reurs ou plus (au cours de l'étape 209) Et si le signal résultat de discrimination reçu dans le discriminateur d'erreur 160 indique que Tr(K) = 0, le circuit de commande donne instruction au calculateur de valeur X 1 150 de calculer la valeur X 1 Egalement au cours de la même étape (étape 210), le premier multiplicateur 170 multiplie la valeur X 1 par la valeur 6 1 pour calculer la valeur Xl, et le second multiplicateur 171 multiplie la valeur X 2 par
la valeur 2 pour calculer la valeur X 2 (au cours de l'é-
tape 210).
A la suite de l'étape 210, le circuit de commande délivre un signal de commande au calculateur de valeur
d'erreur 180, lui donnant instruction de calculer les va-
leurs d'erreur Y 1 et Y 2 (au cours de l'étape 211).
Après l'étape 211, le circuit de commande 190 commande l'enregistreur tampon 101 conformément aux valeurs d'emplacements d'erreurs X 1 et X 2 reçues des premier et second multiplicateurs 170 et 171 au cours de l'étape 210, faisant ainsi délivrer par l'enregistreur tampon 101 les valeurs d'erreurs mémorisées Y 1 et Y 2 reçues du calculateur de valeur d'erreur 180 au premier additionneur 110 A cet instant, le premier additionneur 110 additionne les valeurs d'erreur reçues de l'enregistreur tampon 110 au mot reçu comportant l'erreur et reçu du dispositif de mémoire tampon , corrigeant ainsi une erreur de deux mots dans le mot reçu
(au cours de l'étape 212).
Conformément à la présente invention, le procédé
et le dispositif uitilisés pour corriger des erreurs ou-
bles sur GF( 28), reçoit la valeur du second calculateur de valeurs de coefficient 140, et délivre les données en
utilisant les portes OU exclusif représentées sur la Figure -
1, étant ainsi plus rapide et plus simple, et possédant
également une taille de puce plus petite que celle utili-
sant la table ROM classique.
R E V E N D ICATIONS
1 Procédé de correction d'erreurs caractérisé par les étapes consistant à:obtenir quatre syndromes SO, 51, 52 et 53 en utilisant l'opération suivante d'un bloc de données VT constitué de N mots reçus et d'une matrice de contrôle de parité H r SO n I
I I
T I S, I
H V = I I
I 52 i
I I
L 83 J
déterminer qu'il n'y a pas d'erreur lorsque les syndromes SO, 51, 52 et 53 satisfont à SO = 51 = 52 = 53 = O; calculer D = S 52 + S 2 à partir des syndromes SO, 51, 52 et 53 et déterminer si D est égal à zéro; calculer les coefficients 6 1 et 6 2 ' si D n'est pas égal à zéro: $a 58 +SI $ 2 a: 8 S 53 +Sa 2
' 2 =
D obtenir le coefficient suivant K et la valeur Tr(K), lorsque les coefficients 6 1 et 6 2 ne sont pas égaux à zéro: K d 12 ko + k, + k a 2 + k 3 a 3 + k 4 a 4 + ks a + k 6 a 6 + ki a 7 Tr(K) = kg Tr( 1) + k 1 Tr(a) + k 2 Tr(a 2) + k 3 Tr(a 3) + k 4 Tr(a 4) + ks Tr(a À) + k 6 Tr(a 6) + k 7 Tr(a 7) obtenir les emplacements d'erreurs suivants X et X 2 à partir du coefficient K: X Xl a i X a =(l+ 'X)r o, à partir de Tr( 5) = 1, l'expression suivante est obtenue: Xi = lka,kl,k 2,k 3,k 4,ks,k 6,k 7 l r 01101011 n l 00010111 t 01010111 t 10110100
I 01110111
I 10000000
I 10100100
= (X a X t,X 2,Zx 3,X 4,X 5,x 6,X 7) obtenir les valeurs d'erreur suivantes Y 1 et Y 2 à partir des emplacements d'erreurs X 1 et X 2: Sa X 2 +SI
Y 1 =
X 1 +X
Sa X I +S$ Y 2 z
X +X 2
en corrigeant ainsi une erreur de deux mots lorsque KEGF( 2). 2 Dispositif de correction d'erreurs comportant: un calculateur de syndromes ( 120) pour calculer des syndromes 50, 51, 52 et 53 à partir de N mots reçus; un premier calculateur de coefficients ( 130) pour calculer les coefficients 6-1 et G 2 à partir desdits syndromes avec SO 53 +Si 82 a t = D Si S 3 + 52 2 D un second calculateur de coefficients ( 140) pour
de calculer le coefficient K à partir desdits coef-
ficients 61 et 6 2 avec K = d 112 un calculateur de valeur X 1 ( 150) pour calculer une valeur X 1 à partir du coefficient K; un calculateur de valeurs d'emplacements d'erreurs afin de calculer les emplacements d'erreurs X 1 et X 2 à partir de la valeur Xl avec X 1 I-Xl d 1 X 2 = (l+X,)a un calculateur de valeurs d'erreurs ( 180) pour recevoir lesdites valeurs d'emplacements d'erreurs X 1 et X 2 et ensuite calculer les valeurs d'erreurs Y et Y 2 avec
SO X 2 +S
Y 1 X +Xe S Oa X +si
Y 2 -
X, +Xa
un discriminateur d'erreurs ( 160) afin de détermi-
ner combien d'erreurs se sont produites; caractérisé en ce que le calculateur de valeurs
X 1 ( 150) utilise des portes logiques OU qui satis-
font aux équations suivantes: x o =k 3 +ks +k 6 x, =ko +k 3 k+ k 4 X 2 =ko +k 3 +k 4 +k 6 x 3 =k, +k; 2 +k 3 +k 4 X 4 =ko +k 7 X _ =kt + k 2 +k 3 +k 4 +ke X 6 =ka +kt +k 2 +k 4 +k 7 x 7 =ko +kt +k 2 +k 4 3 Dispositif de correction d'erreurs selon la reven- dication 2, caractérisé en ce que lesdites portes logiques
sont des portes OU exclusif.
FR9106389A 1991-01-31 1991-05-28 Procede de correction d'erreurs et dispositif pour sa mise en óoeuvre. Expired - Lifetime FR2672403B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910001859A KR930007928B1 (ko) 1991-01-31 1991-01-31 오류정정방법 및 장치

Publications (2)

Publication Number Publication Date
FR2672403A1 true FR2672403A1 (fr) 1992-08-07
FR2672403B1 FR2672403B1 (fr) 1995-03-17

Family

ID=19310703

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9106389A Expired - Lifetime FR2672403B1 (fr) 1991-01-31 1991-05-28 Procede de correction d'erreurs et dispositif pour sa mise en óoeuvre.

Country Status (7)

Country Link
US (1) US5315601A (fr)
JP (1) JP2644639B2 (fr)
KR (1) KR930007928B1 (fr)
DE (1) DE4117726C2 (fr)
FR (1) FR2672403B1 (fr)
GB (1) GB2252431B (fr)
IT (1) IT1250495B (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772390B2 (en) 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities
JP4836608B2 (ja) * 2006-02-27 2011-12-14 株式会社東芝 半導体記憶装置
KR101502895B1 (ko) 2010-12-22 2015-03-17 주식회사 케이티 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템
KR101544480B1 (ko) 2010-12-24 2015-08-13 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
KR101585146B1 (ko) 2010-12-24 2016-01-14 주식회사 케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
KR101483127B1 (ko) 2011-03-31 2015-01-22 주식회사 케이티 클라우드 스토리지 시스템에서 리소스를 고려한 자료분배방법 및 장치
KR101544483B1 (ko) 2011-04-13 2015-08-17 주식회사 케이티 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
KR101544485B1 (ko) 2011-04-25 2015-08-17 주식회사 케이티 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
KR20210138241A (ko) 2020-05-12 2021-11-19 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099160A (en) * 1976-07-15 1978-07-04 International Business Machines Corporation Error location apparatus and methods

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1161565A (fr) * 1980-06-20 1984-01-31 Yoichiro Sako Methode de correction d'erreurs
CA1170776A (fr) * 1980-07-18 1984-07-10 Yoichiro Sako Methode de correction d'erreurs dans des blocs de donnees
JPS5725047A (en) * 1980-07-23 1982-02-09 Sony Corp Error correcting method
JPS5961332A (ja) * 1982-09-30 1984-04-07 Nec Corp 誤り訂正回路
USRE33332E (en) * 1983-03-12 1990-09-11 Sony Corporation Apparatus for correcting errors
EP0136587B1 (fr) * 1983-09-06 1991-04-17 Kabushiki Kaisha Toshiba Circuit de correction d'erreur
JPS641333A (en) * 1987-06-24 1989-01-05 Matsushita Electric Ind Co Ltd Quadratic equation factorization device
JP2532917B2 (ja) * 1988-04-20 1996-09-11 三洋電機株式会社 デ―タ誤り検出回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099160A (en) * 1976-07-15 1978-07-04 International Business Machines Corporation Error location apparatus and methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
E.R. BERLEKAMP: "Algebraic coding theory", 1968, McGraw-Hill Book Co., New York, US *

Also Published As

Publication number Publication date
JPH04248630A (ja) 1992-09-04
DE4117726A1 (de) 1992-08-06
KR920015197A (ko) 1992-08-26
JP2644639B2 (ja) 1997-08-25
IT1250495B (it) 1995-04-08
GB2252431B (en) 1994-11-16
GB9110490D0 (en) 1991-07-03
ITMI911471A0 (it) 1991-05-29
DE4117726C2 (de) 1994-11-10
FR2672403B1 (fr) 1995-03-17
KR930007928B1 (ko) 1993-08-21
ITMI911471A1 (it) 1992-08-01
GB2252431A (en) 1992-08-05
US5315601A (en) 1994-05-24

Similar Documents

Publication Publication Date Title
EP0265336B1 (fr) Opérateur polynomial dans les corps de Galois, et processeur de traitement de signal numérique comportant un tel opérateur
EP0466591B1 (fr) Procédé et système de transmission numérique de données en série
CH657950A5 (fr) Procede et dispositif pour la transmission de donnees dans une distribution permettant une correction d&#39;erreurs.
FR2672403A1 (fr) Procede de correction d&#39;erreurs et dispositif pour sa mise en óoeuvre.
FR2491278A1 (fr) Procede pour la correction d&#39;erreurs dans une transmission de donnees, dans laquelle un bloc comprend n mots composes chacun de m bits
FR2501437A1 (fr) Convertisseur serie-parallele
EP0097579B1 (fr) Système de radiocommunications à sauts de fréquence, à redondance inter-paliers
FR2540690A1 (fr) Verificateur de codeur
EP0238382B1 (fr) Dispositif de démultiplexage de paquets d&#39;un signal de radiodiffusion de type MAC/PAQUETS
EP0049652A1 (fr) Dispositif de compression et dispositif de décompression temporelle de données
EP0350368B1 (fr) Dispositif pour le codage et la mise en forme de données pour enregistreurs à têtes tournantes
EP0204612A1 (fr) Procédé de transmission, avec possibilité de correction de paquets d&#39;erreurs, de messages d&#39;information et dispositifs de codage et de décodage pour la mise en oeuvre de ce procédé
FR2523386A1 (fr) Procede et dispositif pour corriger des signaux recus binaires deformes
FR2476952A1 (fr) Generateur de signaux de base et de signaux de test de television et systeme comportant un tel dispositif
JPH04334234A (ja) 多重処理形atmセル誤り訂正回路
EP0690584A1 (fr) Circuit de localisation d&#39;erreurs d&#39;un décodeur Reed-Solomon
EP0112429B1 (fr) Système de transmission de données par séquences répétitives
US6880121B2 (en) Parallel processing syndrome calculating circuit and reed-solomon decoding circuit
EP1076933A1 (fr) Dispositif de correction d&#39;erreurs et lecteur de disque optique comportant un tel dispositif
EP0165147B1 (fr) Codeur-décodeur de codes de blocs, paramètrable
EP0750400B1 (fr) Circuit de calcul de syndrome
EP0320352B1 (fr) Circuit intégré de calcul numérique pour calculs glissants du type convolution
US6145113A (en) Series reed-solomon decoder synchronized with bit clock signal
EP0766407B1 (fr) Méthode et appareil pour encodage du type Reed-Solomon d&#39;un champ d&#39;identification utilisant des mots de 4 bits
EP0245152B1 (fr) Processeur de calcul de la transformée de Fourier discrète comportant un dispositif de test en ligne