FR2604542A1 - Dispositif de traitement de donnees compose de 4 modules de traitement de donnees de construction en substance identique, avec une protection a la fois contre des defaillances simultanees portant sur un seul bit dans plusieurs modules de traitement de donnees et contre la defaillance d'un seul module de traitement de donnees - Google Patents

Dispositif de traitement de donnees compose de 4 modules de traitement de donnees de construction en substance identique, avec une protection a la fois contre des defaillances simultanees portant sur un seul bit dans plusieurs modules de traitement de donnees et contre la defaillance d'un seul module de traitement de donnees Download PDF

Info

Publication number
FR2604542A1
FR2604542A1 FR8712279A FR8712279A FR2604542A1 FR 2604542 A1 FR2604542 A1 FR 2604542A1 FR 8712279 A FR8712279 A FR 8712279A FR 8712279 A FR8712279 A FR 8712279A FR 2604542 A1 FR2604542 A1 FR 2604542A1
Authority
FR
France
Prior art keywords
data processing
code
modules
bytes
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.)
Granted
Application number
FR8712279A
Other languages
English (en)
Other versions
FR2604542B1 (fr
Inventor
Willibrordus Johannes Van Gils
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
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of FR2604542A1 publication Critical patent/FR2604542A1/fr
Application granted granted Critical
Publication of FR2604542B1 publication Critical patent/FR2604542B1/fr
Granted 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
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

UN DISPOSITIF DE TRAITEMENT DE DONNEES EST FORME DE QUATRE MODULES DE TRAITEMENT DE DONNEES 100, 102, 104, 106 QUI COMPRENNENT DES DISPOSITIFS DE TRAITEMENT DE DONNEES CORRESPONDANTS 12, 14, 16 ET DES MODULES DE MEMOIRE 28, 30, 32, 34 QUI Y SONT CONNECTES,CE SYSTEME DE TRAITEMENT DE DONNEES COMPRENANT UN RESEAU D'INTERCONNEXION, 82, 84, 86, 88 QUI EST ALIMENTE PAR LES MODULES DE TRAITEMENT DE DONNEES RESPECTIFS, AFIN D'APPLIQUER DES RESULTATS DE TRAITEMENT ENGENDRES BYTE PAR BYTE D'UN QUELCONQUE MODULE DE TRAITEMENT DE DONNEES A UN QUELCONQUE AUTRE MODULE DE TRAITEMENT DE DONNEES. CHAQUE MODULE DE TRAITEMENT DE DONNEES COMPREND UN DECODEUR D'ENTREE 54, 56, 58, 60 POUR RECEVOIR CE RESULTAT DE TRAITEMENT INTERCOMMUNIQUE ET POUR RECONSTRUIRE A PARTIR DE CELUI-CI UN RESULTAT DE TRAITEMENT PAR BYTE CORRECT A PARTIR DE RESULTATS DE TRAITEMENT MUTUELLEMENT INCONGRUENTS AINSI RECUS, MEME DANS LE CAS D'UNE DEFAILLANCE D'UN MODULE DE TRAITEMENT DE DONNEES POUR ALIMENTER LE DISPOSITIF DE TRAITEMENT LOCAL. DES CODES DE PROTECTION CONTRE LES ERREURS QUI SONT PRESENTES GARANTISSENT LE FONCTIONNEMENT CORRECT DU DISPOSITIF, MEME SI UN DES MODULES DE TRAITEMENT DE DONNEES FAIT DEFAUT D'UNE MANIERE ARBITRAIRE OU, EN VARIANTE, JUSQU'A TROIS ERREURS PORTANT SUR UN SEUL BIT DANS UN QUELCONQUE MOT DE CODE DE 32 BITS PARTICULIERS. SI UN MODULE DE TRAITEMENT DE DONNEES EST IGNORE COMME SYMBOLE D'EFFACEMENT, UNE ERREUR D'UN BIT PEUT ETRE CORRIGEE DANS LE MOT DE CODE DE 24 BITS PARTIEL.

Description

PHN 11 583 1
Dispositif de traitement de données composé de quatre modules de trai-
tement de données de construction en substance identique, avec une pro-
tection à la fois contre des défaillances simultanées portant sur un seul bit dans plusieurs modules de traitement de données et contre la défaillance d'un seul module de traitement de données
ARRIERE-PLAN DE L'INVENTION.
La présente invention concerne un dispositif de traitement de données qui est composé de quatre modules de traitement, de construction en substance identique, avec une protection à la fois contre des défaillances colncidentes portant sur un seul bit dans plusieurs modules de traitement de données et contre une défaillance arbitraire de données dans un seul module de traitement de données. Un dispositif de ce type est décrit dans le brevet des Etats-Unis d' Amérique N 4 512 020 (PHN 10 155) de la Demanderesse. Le dispositif connu fonctionne sur la base de symboles dits de quatre bits, tandis qu'un code optimum, tel qu'il est présenté, permet dans un mode dit "normal" de corriger deux erreurs arbitraires portant sur un seul bit, à une distance de Hamming minimum de cinq. Dans un mode "d'effacement", un des modules de traitement des données est ignoré, tandis que le code sur les trois symboles de quatre bits restants a une distance de Hamming de trois, ce qui permet de corriger une erreur de bit supplémentaire. Si deux quelconques des modules de traitement de données venaient à faire défaut simultanément, alors que leur identité est connue, les deux modules de traitement de données restants, en
l'absence d'autres erreurs, pourraient encore fonc-
tionner et atteindre les résultats corrects. La capa-
cité de protection contre les erreurs mentionnée plus haut peut être exprimée dans le profil de distance minimum de ce code à une redondance de 100% comme étant de (5, 3, 1). La définition du profil de distance
minimum est donnée ci-après.
RESUME DE L'INVENTION.
La technologie de traitement de données a évolué jusqu'à mener à des processeurs ayant une
largeur de bits accrue. L'invention a pour but d'amé-
liorer la capacité de protection contre les erreurs précitée pour la même valeur de redondance en utilisant
des symboles de 8 bits pour réaliser de manière opti-
male un profil de distance minimum de (7, 4, 1). C'est- à-dire que, dans le mode normal, la distance est de 7, permettant la correction de trois erreurs arbitraires portant sur un seul bit. Il est bien connu que ce degré de protection peut aussi être utilisé pour corriger jusqu'à deux erreurs arbitraires portant sur un seul bit et pour détecter jusqu'à quatre erreurs arbitraires portant sur un seul bit. D'autres permutations entre correction et détection sont bien connues. Dans le mode d'effacement, la distance de Hamming minimum de quatre permet une correction portant sur un seul bit, une détection d'erreur portant sur deux bits ou, en variante, une détection d'erreur portant sur trois bits. Le fait d'ignorer toute combinaison de deux modules de traitement de données en l'absence de toute
autre erreur permet encore aux deux modules de traite-
ment de données restants d'atteindre des. résultats corrects. Le but de l'invention est réalisé par un dispositif de traitement de données composé de quatre modules de traitement de données (100, 102, 104, 106) comprenant des dispositifs de traitement de données correspondants (12, 14, 16, 18) présentant une largeur de trajet de données d'au moins 2n bytes, des modules de codeur respectifs (20, 22, 24, 26) alimentés par les
dispositifs de traitement de données associés pour.
coder par byte un résultat de traitement de 2n bytes en un résultat de codage de n bytes, des modules de mémoire respectifs (28, 30, 32, 34) alimentés par le module de codeur associé pour stocker le résultat de codage, un réseau d'interconnexion (82, 84, 86, 88) alimenté par les modules de traitement de données respectifs pour appliquer des résultats de codage entre tous les modules de traitement de données, et des décodeurs d'entrée respectifs (54, 56, 58, 60) alimentés par le réseau d'interconnexion pour recevoir les résultats de codage en des groupes de quatre bytes et pour reconstituer, à partir de ceux-ci, un mot de données de deux bytes représentant le résultat de traitement à présenter au dispositif de traitement de données associé, le dispositif de traitement de données comprenant, en outre, un registre de mode destiné à commander les décodeurs d'entrée, respectivement, dans un premier, un deuxième et un troisième mode pour, dans un premier mode, accepter et assimiler tous les bytes d'un groupe, pour, dans chacun de quatre - deuxièmes modes respectifs, accepter et assimiler trois bytes d'un dit groupe, mais en rejetant un quatrième byte associé du groupe en question, et pour, dans chacun de six troisièmes modes respectifs, accepter et assimiler deux bytes d'un dit groupe, mais en rejetant une combinaison associée de deux bytes restants du groupe en question, et dans lequel les modules de codeur multiplient chaque byte d'un mot de données par une
matrice régulière et additionnent les bytes de multi-
plication pour produire un byte de code, les quatre bytes de code ainsi engendrés par les modules de codeur
respectifs constituant le mot de code d'un code présen-
tant une distance de Hamming minimum sur les bits de
sept, les trois bytes de code acceptés dans un quel-
conque deuxième mode constituant un mot de code partiel avec une distance de Hamming minimum sur les bits de quatre, les deux bytes acceptés dans un quelconque troisième mode constituant une représentation de tous
les bits du résultat de traitement associé.
r a
BREVE DESCRIPTION DES FIGURES.
L'invention sera expliquée ci-après pour une forme d'exécution préférée, à titré d'exemple, avec référence aux figures suivantes des dessins annexes:
la Fig. 1 représente un dispositif de trai-
tement de données conforme à l'invention; la Fig. 2 représente des matrices de contrôle de parité de neuf codes par rapport aux bases B43 et B95 ayant un profil de distance minimum de (7, 4, 1);
les Fig. 3a, 3'b, 3c donnent les représen-
tations binaires des éléments d'un champ de Galois particulier Gf(28); la Fig. 3d est une matrice dite de contrôle de parité redondante; la Fig. 4a donne un jeu de définitions de décodage; la Fig. 4b donne un jeu d'estimations de message; les Fig. 5a, 5b donnent une liste de toutes les classes d'erreurs corrigibles, de leur détection et de leur sélection d'estimation de message; la Fig. 6 donne les règles à mettre en oeuvre par un décodeur, et la Fig. 7 illustre une conception de décodage
globale.
DESCRIPTION D'UNE FORME D'EXECUTION PREFEREE.
La Fig. 1 illustre un dispositif de traitement de données conforme à l'invention. Les données sont constituées de mots, chaque mot comportant seize bits et représentant deux symboles d'un champ de Galois expliqué plus loin. Les mots de données apparaissent sur les lignes 62, 64, 66, 68. Ils sont traités dans
les éléments de traitement respectifs 12, 14, 16, 18.
En réaction, les éléments de traitement produisent des mots de résultat de données sur les lignes 90, 92, 94,
96 ou des mots d'adresse sur les lignes 70, 72, 74, 76.
Une unité de gestion de mémoire connue (non repré-
sentée) peut être prévue pour chaque module de mémoire.
Les mémoires locales 28, 30, 32, 34 sont adressées par
l'intermédiaire de décodeurs d'adresse 27, 29, 31, 33.
A partir de chaque mot de données de seize bits reçu, un symbole de code de huit bits est formé dans chacun des générateurs de code 20, 22, 24, 26, de sorte que les symboles de code formés à partir d'un mot de données forment ensemble un mot de code. Ces symboles de code sont présentés aux mémoires 28, 30, 32, 34, afin d'être stockés. Après lecture, les symboles de code sont régénérés dans les amplificateurs de lecture 36, 38, 40, 42. La régénération peut, en variante, être
réalisée sans stockage intermédiaire dans les mémoires.
Les symboles de code peuvent tous être appliqués à tous les registres 46, 48, 50, 52. Ces registres sont
connectés aux dispositifs de reconstruction ou déco-
deurs 54, 56, 58, 60 pour reconstuire les mots de
données à partir des mots de code en vue d'une présen-
tation aux lignes 62, 64, 66, 68. La combinaison des éléments 46, 54, 12, 20, 28 et 36 est incluse dans une seule zone d'isolation d'erreur séparée et il en va de même pour les zones suivantes. On suppose que les erreurs dans deux zones différentes sont indépendantes; dans de nombreux cas, cette exigence est satisfaite pour de nombreuses catégories d'erreurs, si chaque zone d'isolation d'erreur couvre, par exemple, une plaque à circuit imprimé séparée plus des composants, ou en
variante, un circuit intégré séparé. Lecircuit repré-
senté dans la figure forme donc quatre zones d'iso-
lation d'erreur respectives. La synchronisation des opérations dans les quatre zones d'isolation d'erreur a
été omise par souci de clarté. Les processeurs fonc-
tionnent conformément à des programmes. La construction des sous-systèmes dans les zones d'isolation d'erreur en question est identique, sauf en ce qui concerne les générateurs de code 20,, 22, 24, 26, qui mettent chacun en oeuvre un algorithme différent pour former les quatre symboles de code respectifs à partir du mot de
données de seize bits. De plus, la commande des dispo-
sitifs de reconstruction de données 54, 56, 58, 60 pet différer en fonction du mode de commande du système informatique. On a constaté que le mode normal, qui est à même de corriger jusqu'à trois erreurs de bit situées de manière arbitraire ou une erreur portant sur un seul symbole, est bien adapté à la correction d'erreurs se présentant dans la mémoire. Ces dernières erreurs sont habituellement indépendantes les unes des autres et de
plus sont souvent qualifiées "d'erreurs temporaires".
Des erreurs de symbole qui rendent un symbole entier
non fiable sont habituellement causées par un proces-
seur défectueux. Ces erreurs peuvent être traitées dans un mode d'effacement dans lequel toutes les données 23 et/ou tous les signaux de commande produits par une zone d'isolation d'erreur ou un module de traitement de données pouvant être sélectionné sont ignorés. On a constaté que ces erreurs de symbole sont habituellement d'une nature permanente. Cependant, elles ne doivent
pas être réparées à court terme dans ce système infor-
matique parce que les décodeurs peuvent commuter sur le mode d'effacement. On a constaté qu'il est avantageux de commuter sur le mode d'effacement aussitôt que nécessaire. De plus, chaque zone d'isolation d'erreur de la Fig. 1 comprend un registre d'erreurs séparé 148, , 152, 154 qui est commandé par des signauk de sortie provenant du décodeur en question 54, 56, 58, 60 et dont les signaux de sortie sont appliqués à l'unité de commande centrale 44. Finalement, des lignes de retour à l'état initial sont représentées pour les registres d'erreurs au départ de l'unité de commande centrale 44. La multiplicité de ces lignes de commande n'est pasreprésentée. De plus, chaque zone d'isolation
d'erreur comprend un registre de mode à 4 bits respec-
tivement 140, 142, 144, 146. Les registres de mode sont commandés par des signaux de sortie provenant des décodeurs associés 54, 56, 58, 60. Le contenu de chaque registre de mode commande le mode de fonctionnement du décodeur associé. Le réglage du registre d'erreurs est
co-commandé par le contenu du registre de mode associé.
Cette relation est indiquée chaque fois par une flèche supplémentaire. Finalement, chaque registre de mode reçoit des signaux de commande de l'unité de commande centrale 44. Dans. une- autre réalisation, la commande centrale est aussi répartie sur les quatre modules de traitement de données. Le système de communication destiné à la communication des messages de- commande
entre ces modules de commande répartis (non repré-
sentés) peut fonctionner conformément la demande de brevet neerlandais
antérieure N 84 02472 de la Demanderesse.
Le plan de communication prévoit un mau-
vais fonctionnement arbitraire d'un module
de traitement de données.
Dans le système de la figure 1, dans l'état exempt d'erreur, le même programme est exécuté dans toutes les
zones d'isolation. Ceci est aussi d'appli-
cation dans le mode normal. Cependant, si une pertur-
bation systématique apparaît dans une zone d'isolation
d'erreur donnée, l'erreur de symbole résultante présen-
tant un poids binaire pouvant atteindre 8 est détectée dans les autres zones d'isolation; ces zones commutent
sur le mode d'effacement, de sorte que la zone d'iso-
lation défectueuse n'entre plus en ligne de compte.
lation défectueuse n'entre plus en ligne de compte.
Dans la zone d'isolation défectueuse elle-même, la signalisation ne doit pas être correcte; il peut même arriver qu'une commande entièrement différente se produise (par exemple, suite à une défectuosité du registre de mode). Cependant, le système continue dans son ensemble à fonctionner correctement, grâce aux
trois autres zones d'isolation d'erreur.
CONSTRUCTION DE CODES POSSIBLES.
Dans cette section, les constructions de codes D4,23 sur le champ de Galois GF(28) présentant un
profil de distance minimum de (7, 4, 1) sont décrites.
A titre d'alphabet, on a pris GF(28) = 0,1,o,<2,.. 2 254, o O< est une racine primitive du polynôme primitif x8+x4+x3+x2+l (pour un traité détaillé de champs de Galois, voir F.J. MacWilliams et D.J.A. Sloane, "The Theory of Error-correcting Codes",
North Holland Publ. Cy. Amsterdam 1977).
Par rapport à une base<(b(0),<b(1),...a(b(7)> de GF(28) sur GF(2), les éléments de GF(28) peuvent être représentés comme des vecteurs binaires de longueur 8. Pourï GF2(8), (a0,al,...,a7) est la représentation binaire de si T= ai" b(i) i=0 Un code t4,22 sur GF(28) a une matrice de contrôle de parité systématique de la forme suivante: Pl0 P12
1 0H =
H = P21 P22
O 1 c< o Le problème consiste à trouver un octuple (b(0),b(1),...,b(7)) et un quadruple (PllPl2,P21,P22) tels que le code E 4,22 avec la matrice de contrôle de parité H ait un profil de distance minimum "grand" par rapport à la base<o b(O),pb(l),... pb(7)>. Il est possible de prouver que le profil de distance minimum d'un quelconque code C4,22 sur GF(28) ne comporte pas
d'éléments supérieurs à ceux du profil de (8, 4, 1).
Aucune expression analytique n'existe cependant pour le profil de distance minimum qui peut être réellement atteint. Les éléments du profil de distance minimum
constituent une série décroissante.
Le champ de Galois GF(28) a un très grand
nombre (1012) de bases, de sorte qu'il est irréa-
lisable de les évaluer toutes. De plus, chaque base différente donne lieu à un nombre appréciable de codes
différents, comme il ressort de la description d'une
forme d'exécution donnée ci-après. Par ailleurs, quoique la fraction de codes à profil de distance optimum soit très peu élevée, en lui-même le nombre de
ces codes optima est important. Cela étant, la stra-
tégie de recherche suivante est présentée. En premier lieu, nous nous sommes limités aux bases normales de GF(28) qui ne sont qu'au nombre de 16: Bj: =<" j.2i, i=0,1,2,....,7>,
o j = 5,9,11,15,21,29,39,43,47,53,55,61,63,87,91,95.
En soi, ces bases normales sont connues. Par rapport à chacune de ces bases normales, on a recherché des quadruples (PllP12,P21,P22) qui donnent de "bons" codes. Ces bases normales, en combinaison avec les 2554
quadruples possibles, donnent 2554x16 codes candidats.
Chacun de ces très nombreux codes donne lieu à un profil de distance minimum particulier. Il est possible de postuler une opération de recherche pour trouver des quadruples qui donnent des bons codes. Cette opération est décrite plus loin. Le résultat de cette recherche comprend tous les quadruples pour lesquels le code (4,2] correspondant produit un profil de distance minimum de (7, 4, 1) par rapport à une base normale donnée. Par rapport aux bases Bi, = i = 5,9,15,21,29,39,53,55,61,63,87,91, aucun code ( 4,22 présentant un profil de distance minimum de (7,
4, 1) ou (8, 4, 1) n'existe sur GF(28).
Par rapport aux bases Bll et B47, essentiel-
lement un seul code [4,23 ayant un profil de distance minimum de (7, 4, 1) existe, à savoir celui qui présente la matrice de contrôle de parité: _ 0 H= O 1 _/ 3 p 4 oỦi:é1l7 (de sorte quef E GF(24): est un élément
d'un sous-champ.
Par rapport aux bases B43 et B95, essentiel-
lement 9 codes ayant un profil de distance minimum de (7, 4, 1) existent, à savoir ceux présentant les matrices de contrôle de parité représentées sur la
Fig. 2.
On peut obtenir d'autres codes équivalents en permutant des colonnes de la matrice H associée et/ou en prémultipliant cette matrice H par des matrices
2 fois 2 régulières sur GF(28).
Par rapport aux bases normales de GF(28), des codes E4,2_ présentant un profil de distance minimum
de (8, 4, 1) n'existent pas. La description qui précède
est une démonstration limitée de la stratégie de recherche de codes. Par souci de concision, aucun autre
code n'a été présenté. On considère qu'il est extrê-
mement peu probable qu'un code (8, 4, 1) pourrait
réellement exister pour une autre base quelconque.
CONSTRUCTION DE DECODEUR.
La construction d'une forme d'exécution d'un
décodeur sera examinée ci-après.
Considérons le code t4,22 C sur le champ de Galois F: = GF(28) avec la matrice de contrôle de parité: Hs = [ H 1[ P 6p2 La matrice P6l
_/2-A 1 0
Gs = s 2 1 est une matrice de générateur de ce code, qui possède un profil de distance minimum de (7, 4, 1) par rapport a la base 843 =<43 (86 <172 <S9 178 S 101 202 149 a, (t,. , Dans l'hypothèse o M est la matrice binaire & fois 8 dont la ième rangée est la représentation binaire de 43x2I par rapport à la base B43. La représentation binaire des éléments de GF(28) = 0,l,#,ç2,...,.254, o " est une racine de x8+x4+x3+ x2+l=0, par rapport à la base B43, est donnée sur les Fig. 3a,.3b, 3c. Ainsi, l'image binaire de la matrice Gs est 3M M6 I a Gbin = |
| M2 M 0 I
et l'image binaire de Hs est
I 0 MT (MT)2
Hbin =
O0I (MT)6 MT
Pour le décodage, on utilise la matrice de contrôle de parité "redondante" représentée sur la
Fig. 3d.
Un mot de code c = (Clc2,c3,c4) du code ÀC4,2_7 C sur GF(28) est constitué de quatre symboles ci, i = 1,2,3,4 de 8 bits chacun. Le syndrome d'un mot de code altéré r = (rlr2,r3,r4) = (c1,c2,c3,c4) + (el'e2,e3'e4) est défini par
O I M6 M
A = (S1,s2,s3,s4) =I O M M2 (rlr2,r3,r4) x M6 M O I
M M2 I 0
Pour un vecteur binaire x, le poids wt(x) de x est défini comme étant le nombre de composantes dans x
égales à un (_ différentes de zéro).
On définira à présent un certain nombre d'ensembles. L'ensemble (*000) est défini par
{(x,0,0,0: xeF,x*O)3. Ceci correspond à une configu-
ration d'erreur qui n'altérerait que le premier symbole du mot de code. D'une manière analogue, les ensembles
(0*00), (00*0) et (000*) sont définis.
Les ensembles (ijkm), i,j,k,mE 0,1,21 sont définis par {((u,v,w,x):u,v,W, xE F,wt(u) = i,wt(v) = j,wt(w) = k
wt(x) = m}.
Ces ensembles définissent des configurations d'erreur qui perturberaient tout au plus deux bits dans un symbole de code quelconque. Un effacement, c'est-à-dire un module de traitement de données connu qui a fait défaut au-delà de ce qui est corrigible, sera désigné par "E". Les ensembles (Ejkm), j,k,m (0,1) sont définis par t(u,v,w,x):u,v,w,xeF,wt(v) = j,wt(w) = k,wt(x) = m} Dans cet ensemble, aucune limitation n'est imposée sur u parce qu'il est considéré comme un effacement et qu'il est complètement ignoré. Ces ensembles définissent des configurations d'erreur comportant tout au plus une erreur portant sur un seul bit en dehors du symbole de code effacé. (iEjk), (ijEk) et (ijkE) sont définis de manière analogue. Les ensembles définis par tous les quadruples précités sont
qualifiés de classes d'erreurs. L'ensemble U de confi-
gurations d'erreur corrigibles est la réunion des classes d'erreurs illustrées sur les Fig. 5a, 5b (première colonne). Un astérisque représente un symbole d'erreur arbitraire et un E, un symbole d'effacement, et des nombres entiers indiquent le nombre d'erreurs de
bit dans le symbole associé.
Pour une classe d'erreurs fixe dans l'ensemble U de configurations d'erreur corrigibles, les syndromes de ses éléments ont certaines propriétés en commun. Par exemple, toutes les configurations d'erreur e dans la classe d'erreurs (*000) ont en commun le fait que leurs syndromes s = (sl,s2,s3,s4) satisfont à sl = O,s2#O,s3t0,s4i0. Toutes les configurations d'erreur e dans la classe d'erreurs (iOjO) ont en commun le fait que leurs syndromes s = (s1,s2,s3ts4)
satisfont à wt(slM-6) = j et wt(s3M-6) = i. On utili-
sera ces propriétés communes par des éléments d'une classe d'erreurs dans le processus de décodage. A cet effet, on a construit un ensemble d'expressions booléennes, une pour chaque classe d'erreurs contenue
dans l'ensemble U de configurations d'erreur corri-
gibles, qui est tel que ces expressions booléennes
soient mutuellement exclusives et que chaque configu-
ration d'erreur dans une classe d'erreurs U satisfasse à l'expression booléenne correspondant à cette classe d'erreurs. Ces expressions booléennes sont données à titre d'exemple, en premier lieu parce qu'elles se - rapportent au code spécifique donné plus haut (qui est un code parmi un grand nombre), en second lieu parce que d'autres ensembles d'expressions booléennes peuvent
être choisis pour ce code particulier.
Pour toutes les classes d'erreurs contenant des éléments dont au moins deux symboles sont corrects, ceci peut être effectué facilement. S'il s'agit d'une configuration d'erreur qui a été prédite comme devant
se trouver dans une telle classe d'erreurs, l'esti-
mation du message est aussi directe, parce qu'au moins deux symboles (les symboles corrects) du mot de code
altéré du code [4,2 J déterminent le message corres-
pondant de manière unique.
Pour des classes d'erreurs contenant des éléments parmi lesquels trois symboles ont le poids un, il faut déterminer l'erreur de bit dans un des symboles. Si cette détermination est effectuée, on obtient deux symboles de mot de code corrects. Le
message émis est estimé à partir de ces symboles.
Pour construire les variables booléennes mentionnées plus haut, les définitions suivantes sont nécessaires. Par uj, on entend le vecteur binaire de longueur 8 comportant un un sur la j-ième position et
des zéros partout ailleurs.
DEFINITIONS.
La Fig. 4a donne un ensemble de définitions pour le démarrage. Les modes suivants du décodeur sont définis: RM = 1 si, et uniquement si, le décodeur fonctionne dans un mode aléatoire, c'est-à-dire si toutes les sorties des quatre tranches (modules de traitement de données) sont considérées dans le processus de décodage; EMi = 1 si, et uniquement si, le décodeur fonctionne dans le mode d'effacement i, c'est-à-dire si
la tranche i est considérée comme fonc-
tionnant mal (produisant un effacement); SMij = 1 si, et uniquement si, le décodeur fonctionne dans un mode simple, c'est-à-dire si seules les tranches i et j sont considérées comme fonctionnant correctement; 29 la Fig. 4b donne un ensemble d'estimations
pour le message.
Les Fig. 5a, 5b donnent une liste de toutes les classes d'erreurs (EC) corrigibles, l'expression
booléenne correspondante à utiliser (BE) et l'esti-
mation de message associé (ME) pour toutes les classes d'erreurs de configurations d'erreur corrigibles. Un astérisque indique à nouveau une erreur de symbole arbitraire. Un "E" indique un symbole d'effacement dont
l'emplacement est connu. Les nombres entiers 0,1,...
indiquent le nombre d'erreurs de bit dans le symbole associé. (Zéro indique un symbole correct). Les nombres
entiers 3,4,... seraient représentés par un astérisque.
Trois ou plus de trois erreurs de bit dans un symbole
(non-effacement), combinées avec une quelconque confi-
guration d'erreur différente de zéro dans les autres symboles ne pourraient pas être corrigées avec 100% d'efficacité. Par exemple, une configuration d'erreur e dans (1100) satisfait à l'expression booléenne RM fll f21 = 1, et le message peut être estime par m, (il con- vient de noter que les points faisant l'expression ET n'ont pas été représentés). Une configuration d'erreur e dans (10EO) satisfait à l'expression booléenne EM 3 h31 = 1,
et le message peut être estimé par m24. Une configu-
ration d'erreur e dans (1101) satisfait à l'expression booléenne RM t4j = 1 pour exactement un j dans
(1,...,8), et le message peut être estimé par n4j.
Il ressort des Fig. 5a, 5b que le décodeur
doit mettre en oeuvre les expressions logiques repré-
sentées sur la Fig. 6. La dernière expression de cette
figure indique la condition à respecter pour la géné-
ration d'un indicateur de détection si le syndrome produit est un syndrome différent de zéro qui ne
correspond pas à une configuration d'erreur corrigible.
La Fig. 7 illustre une conception globale d'un décodeur. Le décodeur comporte un registre de mode 202 contenant les valeurs de RM, EMi et SMij pour i,j = 1,2,3,4,i#j. Après une opération de décodage, le
registre de mode est aussi mis à jour. Une des stra-
tégies possibles pourrait consister à commuter du mode aléatoire au mode d'effacement dans le cas d'une erreur portant sur un seul symbole qui n'est pas une erreur
portant sur un seul bit. D'autres stratégies de commu-
tation dépendent de la statistique des erreurs de l'ensemble du système. Par souci de concision, elles ne
font pas l'objet d'une plus ample description.
Dans le décodeur, d'autres types de registres pourraient aussi être mis en oeuvre, par exemple un registre stockant les positions et les fréquences des
erreurs de bit.
En particulier, sur la Fig. 7, sur les entrées 210 apparaissent les quatre symboles de code rl,r2,r3,r4 éventuellement altérés. Dans le bloc 200
est présent un réseau destiné à déterminer les quan-
tités binaires fijgijhijtiij. Dans le bloc 204 est présent un réseau pour, sur la base de ces 60 valeurs, produire les signaux de prise de décision DSEL** et ISEL**, et pour mettre à jour le registre de mode et d'autres registres mentionnés plus haut. A cet effet, le bloc 204 reçoit également les signaux de commande de mode du registre de mode 202. Dans le bloc 208, sur la base des quatre symboles de code rl...r4, les six valeurs estimées possibles sur base de deux symboles corrects sont produites, de même que les trente-deux valeurs estimées pour chaque symbole présentant une correction portant sur un seul bit en position j. Sur
la ligne 212, ces trente-huit valeurs estimées pos-
sibles sont produites, tandis que les signaux de sélection apparaissentsur les lignes 214. Dans le bloc 206, un réseau est présent pour aiguiller la valeur estimée correcte qui apparaît sur la ligne 218 (il convient de noter que cette sélection ne doit pas toujours être unique), tandis que sur la sortie 216, est produit également un indicateur de détection destiné à signaler une erreur détectée incorrigible (il serait également possible qu'une erreur indétectable se présente). On a supposé dans ce qui précède qu'un mot de traitement comporte seize bits (c'est-à- dire deux
bytes) et qu'un mot de code comporte trente-deux bits.
Si le trajet de données dans le (micro)'processeur est encore plus large, d'une part, une transition vers des symboles de seize bits pourrait être envisagée, ce qui permettrait d'atteindre une capacité de protection contre les erreurs encore davantage accrue. D'autre part, l'appareil pourrait encore fonctionner avec des mots de code de quatre symboles, chaque mot de code ne se rapportant, par exemple, qu'à une moitié d'un mot
d'ordinateur. L'avantage en résiderait dans le trai-
tement simplifié de symboles de huit bits plutôt que de symboles de seize bits.
LE PROCESSUS DE RECHERCHE DE BONS CODES.
Le processus de recherche de bons codes sera décrit ci-après. Au départ d'une base <cb(0),"b(l),.... 0b(7)", l'algorithme de recherche détermine tous les quadruples Pll,P12,P21,P22, o pll, 254, Pll ç P12 254, Pl $ P21< 254, Pll, P22< 254, Pli # P22 ou (Pll = P22 et P125 P21), tels que le code (4,2_7 à matrice de contrôle de parité r 1 0 X 12
C -LP21 P22
o i ait un profil de distance minimum d'au moins (7,4,1) par rapport à la base < b(0) b(1).. b(7) >. Ceci peut être effectué par vérification d'un certain nombre de conditions sur les quadruples (Pll,P12,P21,P22)'
A cet effet, les définitions suivantes sont néces-
saires: V1: = {i: wt(oi) = 1} = {b(O),b(l),....b(7)}, V2 = {i: wt(i) = 21, W1: = {(Vl-v) mod 255: vl,vl Vll, W2:= {(v2-v2) mod 255: v2,v2 V2], W12: = {(Vl-v2) mod 255: vl Vliv2EV21, U = {(v2-vl) mod 255: vle V,1v2 EV2 3
Pour tous les v EV2: Xv: = {(u-v) mod 255: uE V2}.
Pour un ensemble X E{0,1,2,....,254}, X désigne le complément de X par rapport à {0,1,2,...,254: X =
t0,1,2,...,254}11X. La fonction Z(.) désigne le loga-
rithme de Zech qui est défini par l'équation: 1 + n =K Z(n){
1 +:<n =Z(n) pour n {1,2,3,...,2543.
Le code 4,2 7 à matrice de contrôle de parité Hc présente un profil de distance minimum mdp par rapport la base<a(b(O),cb(1),... pb(7)>, qui satisfait à * mdp> (3,2,1) si, et uniquement si, (A): Pll-P12 ' P21-P22; * mdp >,(4,3,1) si, et uniquement si, (A) et (B1): PllPl2,P21,P22 Wl; et (B2): Pll-P12,Pll-P22,P22-P2,P22-P21EW1;i et (B3): P12+Z(Pll+P22-Pl2-P21), P21+Z(Pll+P22-P12-P21), Pll+Z(-Pll-P22+Pl2+P21), P22+Z(-Pll-P22+P12+P21) E W1; * mdp >,(5,3,1) si, et uniquement si, (A) et (B1,B2,B3) et (C): Pour tous les i,j EVlxV1: i+Pll+Z(j-i+P12-Pll) G V1 ou i+p21+Z(j-i+P22- P21) V1; * mdp >,(6,4,1) si, et uniquement si, (A) et (B1,2,3) et (C) et (D1): PllP12,P21,P226E.W12; et (D2): Pll-P12,Pll-P21,P22-P12,P22-P21îEW12; et (D3): P12+Z(Pll+P22-_Pl2-P21), P21+Z(Pll+P22-Pl2-P21), Pll+Z(-Pll-P22+ P12+P21) P22+Z(-Pll-P22+Pl2+P21)E W12; et (D4): Pour tous les i,j EVlxV1: i+p21+Z(j-i+P22-P21), i+Pll+Z(j-i+P12-Pll), i-P12-Z(Pll+P22-P12-P21)+Z(ji+Pil-P21), i-Pll-Z(-Pll-P22+Pl2+P21)+Z(j-i+Pl2-P22) E VUi; *mdp>/(7,4,1) si, et uniquement si, (A) et (Bl,2,3).et (C) et (D1,2,3,4) et (El): Pour tous les u GV2: (PllE Xu ou P216 Xu) et (P126 Xu ou P226eXu) et (P12+ Z(Pll+P22-P12-P21)E Xu ou P22-P21E Xu) et (P22+Z(-Pll-P22+P12+P21)E Xu ou P12-Pll X7); et (E2): Pour tous les (i,j)IVlxV1: i+pll+Z(j-i+P12-Pll)e V2 ou i+P21+Z(j-i+Pl2-P21)E V2; et (E3): Pour tous les (u,v)E V2xV2: (u-v = P12-Pll) ou (u-v = P22-P21) ou ((u-v É P12-Pll) et (u-v # P22-P21) et (u+ pll+Z(v-u+Pl2-Pll)ú V1 ou u+p21+Z(v-u+p22-p2l)E Vl)); 2 et (E4): Pour tous les i EV1 et u eV2: (i+Pll+Z(u-i+P12-Pll) CV2 ou i+p21+Z(u-i+p22-P2l) E V2), et (i+p12+Z(u-i+Pll-P12)e V1 ou i+P22+Z(u-i+P21-P22) E V2, et (i+ p21+Z(u-i+p22-p21)lV1 ou i+Pll+Z(u-i+P12-Pll) V2) et (i+P22+Z(U-i+P21-P22) e I1 ou
i+p12+Z(u-i+pll-p12) E V2)-
DEFINITION ET PROPRIETES DU PROFIL DE DISTANCE MINIMUM
D'UN CODE.
Une définition exacte du profil de distance minimum d'un code est donnée ci-après, de même que
certaines de ses propriétés.
On prend en considération un code linéaire n,mJ de longueur n et de dimension m sur le champ F: =GF(2k) ayant une distance (de symbole) minimum S. Les éléments de F sont des symboles. Tout symbole c peut être représenté par un vecteur k binaire c. Le poids (binaire) wt(c) d'un symbole cE F par rapport à la représentation vectorielle choisie est défini comme
étant le nombre de uns dans la représentation vecto-
rielle binaire c de c. Le poids (binaire) d'un vecteur de symboles est défini comme étant la somme des poids
(binaires) de ses composants.
Le profil pondéral d'un vecteur n c= (c0,c1...i.,cnl) de symboles de F, qu'on qualifie de mot, est défini comme étant le vecteur wp(c): = (wp(clO) , wp(cil),...,wp(clS-l)) o la composante wp(clj) est définie par wp(clj) : = minimum {Zi ^wt(ci) n aç A
Aj -,l, 1...,n-l],IAj = n-j, i = 0,1,...,S-1i.
Par conséquent, wp(clj) est le minimum des poids de tous les vecteurs de longueur n-j obtenus à partir de c par suppression de j composantes de c. Par exemple, c = (1001,1101,0010) a un profil pondéral wp(c) = (6,3,1). Le profil de distance minimum d(C) du code linéaire C est défini par d(C) : = ((d(CIO),d(Cll),...d(CIS-i)), o d(Cij): = minimum{wp(clj): cEC, c # 0},
j = 0,1,...,S-l.
Si l'on prend n-j composantes arbitraires d'un mot de code différent de zéro arbitraire dans C, la somme des poids de ces n-j composantes est d'au moins d(CIj). Il existe aussi un mot de code dans le code C comportant n-j composantes dont les poids s'additionnent pour
donner exactement d(CIj).
Une paire (s,t) est qualifiée de description
d'un mot xSFn, s'il est possible de supprimer s composantes différentes de zéro de x, de telle sorte que la somme des poids des composantes restantes soit
égale à t. L'ensemble de toutes les descriptions
possibles de x est qualifié d'ensemble de descriptions
de x. Par exemple, l'ensemble de descriptions de
(1001,1101,0010) est t(0,6), (1;3), (1,4), (1,5),
* (2,1), (2,2), (2,3), (3,O)} et l'ensemble de descrip-
tions de (0000,1001,1000) est {(0,3), (1,1), (1,2),
(2,O)].
Un ensemble fini A ={(al,bl),(a2,b2),....
(ajAI,blAI)1 de paires de nombres naturels est qualifié de liste de paires si toutes les premières composantes ai,i=l,..., IAI des paires - dans A sont mutuellement différentes. Il est dit qu'un mot x est couvert par A, A étant une liste de paires, si au moins une de ses
descriptions (s,t) est couverte par au moins une paire
dans A, c'est-à-dire si au moins une paire (ai,bi) de A
satisfait à ai" s,bi>,t.
Considérons que T et U soient deux listes de paires. Le code C est dit simultanément correcteur de T et détecteur de U, s'il corrige toutes les erreurs e couvertes par T et s'il détecte toutes les erreurs e couvertes par U et non couvertes par T. Si U = 0, C est dit correcteur de T, si T = 0, C est dit détecteur de U. Il est immédiatement évident que C est simultanément correcteur de T et détecteur de U si, et uniquement si, 1. aucun de ses co-ensembles ne contient plus d'un mot couvert par T; 2. si un co-ensemble contient un mot couvert par T, il ne contient pas de mot couvert par U et non couvert par T. Ceci équivaut à dire qu'aucune différence entre deux mots différents dont l'un est couvert par T et l'autre par T ou U n'est un mot de code. La propriété suivante est une conséquence directe de ces remarques. Le code C est simultanément correcteur de T et détecteur de U si, et uniquement si, pour une paire quelconque (s,t) dans T et une paire quelconque (u,v) dans la réunion de T et de U, la composante d(CIs+u) de d(C) satisfait à l'inégalité d(CIs+u) > t+v+l
Si, dans un mot de code quelconque, e compo-
santes, o e<S-1, sont effacées, on obtient un ensemble de mots de code d'un code Cn-e,mJ C' sur GF(2k) avec un profil de distance minimum d(C') = (d(C'I0),...d(C-'In-e-1)), o d(C'Ij) satisfait à l'inégalité
d(C'lj) >,d(Clj+e).

Claims (4)

REVENDICATIONS R E V E N D I C A T I O N S
1.- Dispositif de traitement de données composé de quatre modules de traitement de données (100, 102, 104, 106) comprenant des dispositifs de traitement de données correspondants (12, 14, 16, 18) présentant une largeur de trajet de données d'au moins 2n bytes, des modules de codeur respectifs (20, 22, 24,
26) alimentés par les dispositifs de traitement de.
données associés pour coder par byte un résultat de traitement de 2n bytes en un résultat de codage de n bytes, des modules de mémoire respectifs-(28, 30, 32, 34) alimentés par le module de codeur associé pour
stocker le résultat de codage, un réseau d'intercon-
1 nexion (82, 84, 86, 88) alimenté par les modules de traitement de données respectifs pour appliquer des
résultats de codage entre tous les modules de trai-
tement de données, et des décodeurs d'entrée respectifs
(54, 56, 58, 60) alimentés par le réseau d'intercon-
nexion pour recevoir les résultats de codage en des groupes de quatre bytes et pour reconstituer, à partir
de ceux-ci, un mot de données de deux bytes repré-
sentant le résultat de traitement à présenter au
dispositif de traitement de données associé, le dispo-
sitif de traitement de données comprenant, en outre, un registre de mode destiné à commander les décodeurs d'entrée, respectivement, dans un. premier, un deuxième et un troisi&me mode pour, dans un premier mode, accepter et assimiler tous les bytes d'un groupe, pour, dans chacun de quatre deuxièmes modes respectifs, accepter et assimiler trois bytes d'un dit groupe, mais en rejetant un quatrième byte associé du groupe en question, et pour, dans chacun de six troisièmes modes respectifs, accepter et assimiler deux bytes d'un dit groupe, mais en rejetant une combinaison associée de deux bytes restants du groupe en question, et dans lequel les modules de codeur multiplient chaque byte d'un mot de données par une matrice régulière et additionne les bytes de multiplication pour produire un byte de code, les quatre bytes de code ainsi engendrés par les modules de codeur respectifs constituant le mot de code d'un code présentant une distance de Hamming minimum sur les bits de sept, les trois bytes de code acceptés dans un quelconque deuxième mode constituant un mot de code partiel avec une distance de Hamming minimum sur les bits de quatre, les deux bytes acceptés dans un quelconque troisième mode constituant une représentation de tous les bits acceptés du résultat de
traitement associé.
2.- Dispositif de traitement de données suivant la revendication 1, dans lequel les symboles de code sont définis dans un champ de Galois qui comporte
une base normale.
3.- Dispositif de traitement de données
suivant la revendication 1 ou 2, dans lequel le déco-
deur comprend: - une entrée pour recevoir un quelconque byte de code d'un mot de code; - un premier module de décodeur (200) alimenté par l'entrée pour déterminer des symboles de syndrome et au moyen de diverses multiplications de ces symboles par des puissances d'une matrice r2 engendrant des quantités booléennes caractéristiques (fijgijhijtij); - un deuxième module de décodeur alimenté par le premier module de décodeur (204) et interconnecté de manière bidirectionnelle à un registre de mode (202) pour, sous la commande du contenu d'un registre de mode et des quantités booléennes caractéristiques, engendrer un signal de sélection (DSEL**, ISEL**); - un troisième module de décodeur (208) alimenté en parallèle au moyen du premier module de décodeur par l'entrée pour émuler 32 valeurs estimées par correction pour autant d'erreurs portant sur un seul bit; - un module de sélection alimenté par l'entrée et par le troisième module de décodeur pour recevoir tous les symboles de code réels et émulés d'un mot de code, et également alimenté par le deuxième module de
décodeur, pour, sous la commande d'un signal de sélec-
tion "vrai" parmi une série de signaux exclusivement "faux", sélectionner au moins un symbole de code non
émulé correct et un autre symbole de code correct, ce.
dernier étant émulé ou non et pour sortir ces deux
symboles de code sur une sortie d'utilisateur (218).
4.- Dispositif suivant la revendication 3, dans lequel le module de sélection comporte une sortie d'erreur pour, sous la commande de signaux de sélection "faux" reçus de manière exclusive, sortir un indicateur de détection d'erreur tout en bloquant la sortie de
tout symbole de code.
FR8712279A 1986-09-05 1987-09-04 Dispositif de traitement de donnees compose de 4 modules de traitement de donnees de construction en substance identique, avec une protection a la fois contre des defaillances simultanees portant sur un seul bit dans plusieurs modules de traitement de donnees et contre la defaillance d'un seul module de traitement de donnees Granted FR2604542A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8621469A GB2194850B (en) 1986-09-05 1986-09-05 Data processing device

Publications (2)

Publication Number Publication Date
FR2604542A1 true FR2604542A1 (fr) 1988-04-01
FR2604542B1 FR2604542B1 (fr) 1994-12-16

Family

ID=10603758

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8712279A Granted FR2604542A1 (fr) 1986-09-05 1987-09-04 Dispositif de traitement de donnees compose de 4 modules de traitement de donnees de construction en substance identique, avec une protection a la fois contre des defaillances simultanees portant sur un seul bit dans plusieurs modules de traitement de donnees et contre la defaillance d'un seul module de traitement de donnees

Country Status (7)

Country Link
US (1) US4882731A (fr)
JP (1) JP2612000B2 (fr)
CA (1) CA1297590C (fr)
DE (1) DE3727586C2 (fr)
FR (1) FR2604542A1 (fr)
GB (1) GB2194850B (fr)
SE (1) SE466368B (fr)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032737T2 (de) * 1989-07-13 1999-04-29 Canon Kk Kodierung- und Dekodierungsvorrichtung geeignet für das Kopieren von Daten
JPH0458619A (ja) * 1990-06-28 1992-02-25 Canon Inc 誤り訂正システム
EP0481128B1 (fr) * 1990-10-16 1998-01-14 Koninklijke Philips Electronics N.V. Système de traitement de données basé sur un code de symbole (N,K) avec possibilités de correction d'erreurs des symboles et de réparation d'erreurs multiples
US5339404A (en) * 1991-05-28 1994-08-16 International Business Machines Corporation Asynchronous TMR processing system
US5375127A (en) * 1992-03-25 1994-12-20 Ncr Corporation Method and apparatus for generating Reed-Soloman error correcting code across multiple word boundaries
US6367046B1 (en) * 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
US5432801A (en) * 1993-07-23 1995-07-11 Commodore Electronics Limited Method and apparatus for performing multiple simultaneous error detection on data having unknown format
JP3412349B2 (ja) * 1994-12-28 2003-06-03 株式会社日立製作所 制御装置
US5576197A (en) * 1995-04-07 1996-11-19 Molecular Bio-Products Polymerase chain reaction container and methods of using the same
US7257763B1 (en) 2001-08-03 2007-08-14 Netlogic Microsystems, Inc. Content addressable memory with error signaling
US7283380B1 (en) 2001-08-03 2007-10-16 Netlogic Microsystems, Inc. Content addressable memory with selective error logging
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US6971053B1 (en) 2002-07-30 2005-11-29 Cypress Semiconductor Corp. Method for initiating internal parity operations in a CAM device
US7304873B1 (en) 2005-01-25 2007-12-04 Netlogic Microsystems, Inc. Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor
IE20050277A1 (en) * 2005-05-04 2006-11-29 Nat Univ Ireland Method and apparatus for generating error-correcting and error-detecting codes using zero-divisors and units in group rings
US8042029B2 (en) * 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
US8990631B1 (en) 2011-03-03 2015-03-24 Netlogic Microsystems, Inc. Packet format for error reporting in a content addressable memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0075985A1 (fr) * 1981-09-21 1983-04-06 Koninklijke Philips Electronics N.V. Dispositif de traitement de données pour le traitement de mots de données à symboles multiples, basé sur un code correcteur de symboles et ayant des modes de fonctionnement multiples
EP0178726A1 (fr) * 1984-10-16 1986-04-23 Koninklijke Philips Electronics N.V. Système de traitement de données composé de trois modules de traitement de données

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593396A (en) * 1982-10-08 1986-06-03 August Systems Process for a fault-tolerant data processing system with error detection and resistance to fault propagation
US4698814A (en) * 1984-02-06 1987-10-06 U.S. Philips Corporation Arrangement for checking the parity of parity-bits containing bit groups
JPS60212048A (ja) * 1984-04-06 1985-10-24 Nec Corp 符号修正型切替方式
US4648091A (en) * 1984-07-02 1987-03-03 General Electric Company Apparatus and method for decoding error correction coded information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0075985A1 (fr) * 1981-09-21 1983-04-06 Koninklijke Philips Electronics N.V. Dispositif de traitement de données pour le traitement de mots de données à symboles multiples, basé sur un code correcteur de symboles et ayant des modes de fonctionnement multiples
EP0178726A1 (fr) * 1984-10-16 1986-04-23 Koninklijke Philips Electronics N.V. Système de traitement de données composé de trois modules de traitement de données

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON INFORMATION THEORY. vol. 31, no. 3, Mai 1985, NEW YORK US pages 436 - 440; P. PIRET: 'Binary codes for compound channels' *
IEEE TRANSACTIONS ON INFORMATION THEORY. vol. 33, no. 6, Novembre 1987, NEW YORK US pages 911 - 917; W.J. VAN GILS: 'On combined symbol-and-bit error-control [4,2] codes over {0,1}^8 to be used in the (4,2) concept fault tolerant computer' *

Also Published As

Publication number Publication date
SE8703405D0 (sv) 1987-09-02
DE3727586A1 (de) 1988-03-10
GB8621469D0 (en) 1986-10-15
GB2194850B (en) 1990-10-31
JP2612000B2 (ja) 1997-05-21
US4882731A (en) 1989-11-21
GB2194850A (en) 1988-03-16
FR2604542B1 (fr) 1994-12-16
SE8703405L (sv) 1988-03-06
JPS6367644A (ja) 1988-03-26
SE466368B (sv) 1992-02-03
DE3727586C2 (de) 1997-12-11
CA1297590C (fr) 1992-03-17

Similar Documents

Publication Publication Date Title
FR2604542A1 (fr) Dispositif de traitement de donnees compose de 4 modules de traitement de donnees de construction en substance identique, avec une protection a la fois contre des defaillances simultanees portant sur un seul bit dans plusieurs modules de traitement de donnees et contre la defaillance d&#39;un seul module de traitement de donnees
EP0265336B1 (fr) Opérateur polynomial dans les corps de Galois, et processeur de traitement de signal numérique comportant un tel opérateur
Plank A tutorial on Reed–Solomon coding for fault‐tolerance in RAID‐like systems
US4547882A (en) Error detecting and correcting memories
EP0075985B1 (fr) Dispositif de traitement de données pour le traitement de mots de données à symboles multiples, basé sur un code correcteur de symboles et ayant des modes de fonctionnement multiples
US5099484A (en) Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection
Albertengo et al. Parallel CRC generation
US4928280A (en) Fast processor for multi-bit error correction codes
US5754563A (en) Byte-parallel system for implementing reed-solomon error-correcting codes
EP0108655B1 (fr) Système de détection et de correction d&#39;erreurs de transmission d&#39;un message binaire utilisant un code cyclique détecteur et correcteur d&#39;erreurs de type Reed-Solomon entrelacé
US5157671A (en) Semi-systolic architecture for decoding error-correcting codes
FR2512568A1 (fr) Systeme pour transferer des donnees binaires par une pluralite de canaux au moyen d&#39;un codeur operant par convolution
US6745363B2 (en) Early error detection using ECC
US7028248B2 (en) Multi-cycle symbol level error correction and memory system
US20150160922A1 (en) N-Valued Shift Registers with Inverter Reduced Feedback Logic Functions
FR2885708A1 (fr) Dispositif et procede pour determiner une position d&#39;une erreur de bit dans une sequence de bits
FR2673341A1 (fr) Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees.
EP0204612B1 (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é
FR2594976A1 (fr) Systeme de memoire a trois modules construit a l&#39;aide de puces de memoire d&#39;une largeur d&#39;un symbole et presentant une caracteristique de protection entre les erreurs, chaque symbole etant constitue de 2i + 1 bits
FR2871976A1 (fr) Decodeur ldpc
FR2961613A1 (fr) Procede de protection memoire configurable contre les erreurs permanentes et transitoires et dispositif apparente
Manasse et al. A reed-solomon code for disk storage, and efficient recovery computations for erasure-coded disk storage
WO2010128068A1 (fr) Procede de protection de circuits electroniques, dispositif et systeme mettant en œuvre le procede
FR2880962A1 (fr) Procede et circuit de controle d&#39;un jeu de donnees ayant plusieurs mots de donnees.
RU2681704C1 (ru) Способ кодирования и декодирования блокового кода

Legal Events

Date Code Title Description
CD Change of name or company name
CD Change of name or company name