Brevet FR2634961A1 — publié le 19900202

La présente invention concerne d'une façon générale un dispositif de correction d'erreurs et, plus particulièrement, un dispositif de correction d'erreurs approprié pour la transmission de signaux. Un système de transmission de signaux numériques est géné- ralement pourvu d'un mode de correction d'erreurs qui exécute une correction d'erreurs standard. Récemment, différents supports d'enregistrement sont apparus à partir desquels on a dérivé des signaux de différentes qualités. En considérant que le système de transmission de signaux peut être utilisé dans des conditions sévères, on a proposé que le système de transmission de signaux soit également pourvu d'un autre mode de correction d'erreurs qui exécute une correction d'erreurs plus performante que celle du pre- mier mode de correction d'erreurs. Les codes de correction d'erreurs (ECC) du premier mode de correction d'erreurs sont représentés, par exemple, par des codes d'hexadécimal codé binaire (BCH) étendus à correction d'erreurs simples (SEC)-détection d'erreurs doubles (DED)(n,i,d), alors que les codes de correction d'erreurs (ECC) du deuxième mode de correc- tion d'erreurs sont représentés, par exemple, par des codes BCH étendus à détection d'erreurs doubles (DED)-détection d'erreurs triples (TED) (n', i',d'), o n et n' sont les longueurs de code, i et i' sont les longueurs de données et d et d' sont les distances minimales, respectivement. Si les codes de correction d'erreurs sont définis, par exemple, par une zone de Galois (24),ils devien- nent alors des codes BCH étendus (15,10,4) pour le premier mode de correction d'erreurs et ils deviennent également des codes BCH étendus (15,6,6) pour le deuxième mode de correction d'erreurs. Le code BCH étendu est réduit d'un bit de données à partir du code BCH normal, dans le premier mode de correction d'erreurs (15,11,3) et dans le deuxième mode de correction d'erreurs (15,7,4), de sorte que la capacité de correction d'erreurs est renforcée pour fournir l'extensibilité. Un polyn5me générateur Gl(x) du premier mode de correction d'erreurs dans le cas de la zone de Galois (24) est exprimé par l'équation suivante G,(x) = (x4 + x + 1) (x + 1)... (1) En outre, un polynôme générateur G2(x) du deuxième mode de correction d'erreurs dans le cas de la zone de Galois (24) est exprimé par l'équation suivante G2(x) = (x + x + l)(x + l)(x + x3+ x + x + 1)... (2) On suppose que Ml(x) et M2(x) sont des polynômes de trans- mission des premier et deuxième modes de correction d'erreurs. On suppose également que S1 est le reste quand Ml(x) et M2(x) sont divisés par (x4+ x+ 1), p est le reste quand Gl(x) et M2(x) sont divisés par (x+ 1) et S3 est le reste quand M2(x) est divisé par x 3 x2 (x4 + x3 + x2 + x + 1), des syndromes S1 et P sont alors générés par le premier mode de correction d'erreurs, alors que des syndro- mes S1, P et S3 sont générés par le deuxième mode de correction d'erreurs. C'est-à-dire que le syndrome S3 n'est pas généré dans le premier mode de correction d'erreurs. Comme on l'a décrit plus haut, les syndromes S1 et P sont générés dans le premier mode de correction d'erreurs et les syn- dromes S1, P et S3 sont générés dans le deuxième mode de correc- tion d'erreurs. En conséquence, le syndrome S3 n'est pas généré dans le premier mode de correction d'erreurs, de sorte que les premier et deuxième modes de correction d'erreurs ne peuvent pas être mis en oeuvre en commun à la fois d'un point de vue logiciel et d'un point de vue matériel. I1 en résulte que le dispositif de correction d'erreurs de l'art antérieur ne peut pas être simplifié en agencement de circuit. Un but de la présente invention est de fournir un disposi- tif de correction d'erreurs perfectionné qui puisse supprimer les défauts trouvés dans l'art antérieur. Plus spécifiquement, un but de la présente invention est de fournir un dispositif de correction d'erreurs dans lequel les premier et deuxième modes de correction d'erreurs puissent être mis en oeuvre par un seul dispositif commun. Un autre but de la présente invention est de fournir un dispositif de correction d'erreurs qui puisse avoir un agencement simplifié. Un autre but encore de la présente invention est de fournir un dispositif de correction d'erreurs à un coût de fabrication réduit. Selon un aspect de la présente invention, un dispositif de correction d'erreurs comprend: (a) un moyen pour détecter un mode de correction d'erreurs d'informations numériques en entrée; (b) un moyen pour générer un premier jeu de syndromes pour un premier mode de correction d'erreurs quand les informations numériques d'entrée sont détectéesdans le premier mode de correc- tion d'erreurs; (c) un moyen pour générer un deuxième jeu de syndromes pour un deuxième mode de correction d'erreurs quand les informa- tions numériques en entrée sont détectéesdansledeuxièmemode de correction d'erreurs; (d) un moyen pour générer des quasi-syndromes pour le deuxième mode de correction d'erreurs en ajoutant un syndrome sup- plémentaire au premier jeu de syndromes quand les informations numériques en entrée sont détectées dans lepremier mode de correc- tion d'erreurs; et (e) un moyen de correction d'erreurs pour appliquer un procédé de correction d'erreurs aux informations numériques en entrée selon les syndromes générés pour le deuxième mode de correc- tion d'erreurs malgré le mode de correction d'erreurs des informa- tions numériques en entrée. Selon un autre aspect de la présente invention, un dispo- sitif de correction d'erreurs comprend: (1) un moyen générateur de syndromes recevant des informa- tions numériques en entrée et un signal d'identification représen- tant un mode de correction d'erreursdes informations numériques en entrée pour générer un jeu de syndromes pour les informations numériques en entrée selon le signal d'identification; (2) un moyen de détection de condition d'erreur connecté au moyen générateur de syndromes pour engendrer un signal indicateur de condition d'erreur selon le jeu de syndromes; (3) un moyen à table de correction d'erreurs connecté au moyen détecteur de condition d'erreur pour engendrer un signal de position d'erreur selon le signal indicateur de condition d'erreur; et (4) un circuit de correction d'erreurs recevant les infor- mations numériques en entrée et connecté au moyen à table de cor- rection d'erreurs pour corriger les erreurs de bit incluses dans les informations numériques en entrée selon le signal de position d'erreur obtenu du moyen à table de correction d'erreurs. D'autres caractéristiques et avantages de la présente inventicn seront mis en évidence dans la description suivante, donnée à titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels: la Figure 1 est un schéma fonctionnel représentant un exemple de réalisation d'un dispositif de correction d'erreurs selon la'présente invention; et la Figure 2 est un organigramme auquel on se référera pour expliquer le fonctionnement du dispositif de correction d'erreurs représenté sur la Figure 1. On va décrire en détail dans la suite un exemple de réali- sation d'un dispositif de correction d'erreurs selon la présente invention en se référant aux Figures 1 et 2. La Figure 1 est un schéma fonctionnel représentant un agencement de circuit d'un exemple de réalisation d'un dispositif de correction d'erreurs selon la présente invention. Sur la Figure 1, on verra que des données numériques repro- duites, par exemple, à partir d'un support d'enregistrement ou l'équivalent (non représenté) sont appliquées à une borne d'entrée de données 1. Un signal d'horloge est fourni à une borne d'horloge 2 et un signal de synchronisation de charge est appliqué à une borne d'entrée de charge 3. Une borne d'entrée de commande 4 reçoit un signal de commande ou l'équivalent ajouté aux données qui sont appliquées à la borne d'entrée de données 1. On doit noter que le signal de commande appliqué à la borne d'entrée de commande 4 contient un signal d'identification qui est utilisé pour identi- fier un premier mode de correction d'erreurs et un deuxime mode de correction d'erreurs. Selon le premier mode de correction d'erreurs, l'opération de correction d'erreurs normale est exécu- tée, alors que, selon le deuxième mode de correction d'erreurs, une opération de correction d'erreurs plus performante que celle du premier mode de correction d'erreurs est exécutée. On a représenté un circuit identificateur de mode 5 qui détecte le signal d'identification dans le signal de commande appli- qué à la borne d'entrée de commande 4. Si le signal d'identifica- tion est à "1", par exemple, le circuit identificateur de mode 5 identifie le premier mode de correction d'erreurs, alors que, si le signal d'identification est à "O", le circuit identificateur de mode 5 identifie le deuxième mode de correction d'erreurs. Un générateur de syndromes 6 reçoit les données numériques de la borne d'entrée de données 1 en réponse au signal d'horloge de la borne d'horloge 2. Le générateur de syndromes 6 réagit au signal de sortie du circuit identificateur de mode 5 pour générer les syndromes S1 et P pour le premier mode de correction d'erreurs et les syndromes S1, S3 et P pour le deuxième mode de correction d'erreurs. Dans ce cas, dans le premier mode de correction d'er- reurs, le syndrome S3 n'est pas généré par le générateur de syn- dromes 6, de sorte que le syndrome S3 est amené à être converti en syndrome Sl3 dans le générateur de syndromes 6. En d'autres termes, quand unecorrection d'erreurs simples (SEC) est exécutée dans le premier mode de correction d'erreurs,lacorrection d'erreurs simples est également effectuée dans le deuxième mode de correction d'er- reurs. Si une erreur se produit à la position de bit i o ce est une racine d'une zone de Galois GF (24), on a alors S1 = ciet S3 =.3i. Ainsi, S3 = (o(i)3 = S1. Un circuit identificateur de condition d'erreur 7 exécute les opérations suivant l'opération 26 dans l'organigramme consti- tuant la Figure 2, qui sera décrite dans la suite, en identifiant ainsi la condition d'erreur. Les résultats identifiés sont fournis à un dispositif de visualisation (non représenté), ceux-ci étant de la sorte visualisés respectivement selon les conditions telles que l'absence d'erreur, une seule erreur, une erreur double et une erreur triple ou plus. Alors que les erreurs simples et les erreurs doubles peuvent être corrigées par le dispositif de 263-4 96 1 correction d'erreurs de la présente invention, les erreurs en plus des erreurs triples ne peuvent pas être corrigées par le disposi- tif de correction d'erreurs de la présente invention mais elles peuvent être compensées par un circuit d'interpolation suivant (non représenté). Dans le cas de plus d'une erreur triple, un indi- cateur correspondant est fourni au circuit d'interpolation. Dans cet exemple de réalisation, les syndromes S1, S3 et P fournis par le générateur de syndromes 6 au circuit identificateur de condition d'erreur 7 sont constitués de 4 bits, de 4 bits et de 1 bit, res- pectivement. Des mémoires mortes (ROM) 8 et 9 sont prévues. Une seule sortie de la mémoire ROM 8 est effectivement utilisée pour la correction d'une seule erreur (SEC) dans les premier et deuxième modes de correction d'erreurs, et les sorties des mémoires ROM 8 et 9 sont toutes les deux utilisées pour la correction d'une erreur double (DEC) dans le deuxième mode de correction d'erreurs. Des signaux à huit bits (4 bits pour S1 et 4 bits pour 53) provenant du circuit de détection de condition d'erreur 7 sont fournis aux mémoires ROM 8 et 9 comme données d'adresse. Dans le cas de l'exis- tence d'une erreur, des signaux de position d'erreur à 4 bits sont engendrés par les mémoires ROM 8 et 9 et sont ensuite envoyés à des circuits à bascules 10 et 11, respectivement. Chacun des cir- cuits à bascules 10 et 11 est constitué d'un compteur à 4 bits. Ces circuits à bascules 10 et 11 reçoivent le signal d'horloge de la borne d'horloge 2 et reçoivent également le signal de charge de la borne d'entrée de charge 3. Les circuits à bascules 10 et 11 reçoivent les informations de position d'erreur. Chaque fois que les circuits à bascules 10 et 11 comptent le même nombre de si- gnaux d'horloge correspondant aux valeurs verrouillées, ils engen- drent le signal "1". Les signaux de sortie des circuits à bascules 10 et ll sont fournis à une borne d'entrée d'un circuit OU-exclusif 13 par l'intermédiaire d'un circuit OU 12. Un circuit à retard 14 est constitué, par exemple, d'un registre à décalage et il reçoit le signal d'horloge de la borne d'horloge 2 pour un décalage du signal d'horloge. Le circuit à retard 14 retarde les données appliquées à partir de la borne d'entrée 1 d'une longueur de mot et fournit les données ainsi retardées à l'autre borne d'entrée du circuit OU-exclusif 13, les données comportant une erreur étant de la sorte corrigées par le signal de sortie du circuit OU 12. En conséquence, dans le circuit OU-exclusif 13, une correction d'er- reur simple est effectuée dans le premier mode de correction d'erreurs et une erreur double ou plus d'erreurs sont corrigées dans le deuxième mode de correction d'erreurs et sont ensuite en- voyées à une borne de sortie 15. On va décrire le fonctionnement du dispositif de correc- tion d'erreurs de l'invention représenté sur la Figure i en se référant à l'organigramme constituant la Figure 2. A la suite du Début du fonctionnement, dans l'étape 21, le signal d'identification est détecté dans le signal de commande appliqué à la borne d'entrée de commande 4 par le circuit identi- ficateur de mode 5. Le programme se poursuit jusqu'à l'étape de décision suivante 22, dans laquelle il est déterminé en fonction du signal d'identification si le mode de correction d'erreurs est le premier mode de correction d'erreurs ou le deuxième mode de correction d'erreurs. S'il est déterminé que le mode est le premier mode de correction d'erreurs comme on l'a représenté par un NON dans l'étape 22, le programme se poursuit jusqu'à l'étape suivante 23. Dans l'étape 23, le générateur de syndromes 6 reçoit les don- nées numériques de la borne d'entrée de données 1 et calcule les syndromes S1 et P. Dans l'étape suivante 24, le syndrome S3 est 1 1 mis à la place du syndrome 53. S'il est déterminé que le mode est le deuxième mode de correction d'erreurs comme on l'a représenté par un OUI dans l'étape 22, le programme se poursuit jusqu'à l'étape 25, dans la- quelle le générateur de syndromes 6 reçoit les données numériques de la borne d'entrée de données 1 et génère les syndromes S1, S3 et P du deuxième mode de correction d'erreurs. Les syndromes ainsi calculés S1, S3 et P sont fournis au circuit de détection de condi- tion d'erreur 7. Dans l'étape 26, il est déterminé par le circuit de détec- tion de condition d'erreur 7 si S1 = O. S'il en est ainsi, il est déterminé dans l'étape 27 si P = O. Si P= O, il est déter- miné dans l'étape 28 si S3 = O. Si 53= O, ou si les syndromes S1, P et S3 sont tous à "O", le programme se poursuit jusqu'à l'étape 29. Dans l'étape 29, il est déterminé que les données-correspon- dantes ne contiennent pas d'erreur, et les données provenant du circuit à retard 14 sont directement fournies à la borne de sortie par l'intermédiaire du circuit OU-exclusif 13. S'il n'est pas déterminé dans l'étape 27 que P= O ni dans l'étape 28 que S3= O, il est déterminé dans l'étape 30 que l'erreur ne peut pas être corrigée. Les données correspondantes provenant du circuit à retard 14 ne sont pas corrigées et elles sont fournies au circuit d'interpolation par l'intermédiaire du circuit OU-exclu- sif 13, le circuit d'interpolation étant connecté au dernier étage de la borne de sortie 15. Ainsi, les données sont interpolées par le circuit d'interpolation. Il est déterminé dans l'étape 31 si S13 + S3 = O, c'est- à-dire, si la correction d'erreur est la correction d'erreur sim- ple. Si S13 + S3 = O, le programme se poursuit jusqu'à l'étape 32. Dans l'étape 32, il est déterminé si P= O, c'est-à-dire,si l'erreur est l'erreur de bit de numéro pair ou non. Si ce n'est pas le cas, c'est-àdire, s'il est déterminé que l'erreur est l'erreur de bit de numéro impair (P= 1), le programme se poursuit jusqu'à l'étape 33, dans laquelle l'erreur est détermindécomme erreur simple. Quand les données à 8 bits provenant du circuit détecteur de condition d'erreur 7 sont fournies aux mémoires ROM 8 et 9 comme données d'adresse, la mémoire ROM 8 génère de son côté sortie une information de position d'erreur qui indique la position de l'erreur de bit. Cette information de position d'erreur est ver- rouillée dans le circuit à bascules 10. L'information d'adresse envoyée à la mémoire ROM 9 est effectivement déterminée comme incorrecte et la mémoire ROM 9 ne génère pas de données de son côté sortie. Le circuit à bascules 10 génère le signal de sortie "1" en réponse à l'information de position d'erreur et fournit son signal de sortie au circuit OU-exclusif 13 par l'intermédiaire du circuit OU 12, le bit erroné des données correspondantes pro- venant du circuit à retard 14 est inversé et il est envoyé à la borne de sortie 15 comme données correctes avec un bit corrigé. S'il est déterminé dans l'étape 32 que P= O, le programme se poursuit jusqu'à l'étape 34. Dans l'étape 34, il est déterminé que l'erreur ne peut pas être corrigée. Par conséquent, les don- nées correspondantes provenant du circuit à retard 14 ne sont pas corrigées et elles sont directement fournies au circuit d'inter- polation connecté au dernier étage de la borne de sortie 15 par l'intermédiaire du circuit OU-exclusif 13. Ainsi, les données correspondantes sont interpolées par le circuit d'interpolation. S'il n'est pas déterminé dans l'étape 31 que S13+ S3= 0, ou s'il n'est pas déterminé que l'erreur est l'erreur simple, le programme se poursuit jusqu'à l'étape 35. Dans l'étape 35, il est déterminé si P= O, ou il est déterminé si l'erreur est l'erreur de bit de numéro pair. Si c'est le cas, o s'il est déterminé que l'erreur est l'erreur de bit de numéro paire (P= O) comme on l'a représenté par un OUI dans l'étape 35, le programme se poursuit jusqu'à l'étape 36, o il est déterminé que l'erreur est une erreur double. Quand les données à 8 bits provenant du circuit détecteur de condition d'erreur 7 sont fournies aux mémoires ROM 8 et 9 comme information d'adresse, les mémoires ROM 8 et 9 engendrent du côté de leurs sorties des signaux d'information de position - d'erreur - qui indiquent laposition de l'erreur de bit. Les si- gnaux d'information de position d'erreur sont respectivement ver- rouillés dans les circuits à bascules 10 et 11. Les circuits à bascules 10 et ll réagissent aux signaux d'information de position d'erreur pour engendrer les signaux de sortie à "1" qui sont four- nis au circuit OU-exclusif 13 par l'intermédiaire du circuit OU 12. Dans le circuit OU-exclusif 13, le bit d'erreur des données corres- pondantes provenant du circuit à retard 14 est inversé et il est envoyé à la borne de sortie 15 comme données correctes dans les- quelles une erreur double est corrigée. S'il est déterminé que P= O n'est pas satisfaite, comme on l'a représenté par un NON dans l'étape 35, le programme se poursuit jusqu'à l'étape 37. Dans l'étape 37, il est déterminé que l'erreur ne peut pas être corrigée. En conséquence, les données - 10 correspondantes provenant du circuit à retard 14 ne sont pas cor- rigées et elles sont envoyées au circuit d'interpolation connecté au dernier étage de la borne de sortie 15 par l'intermédiaire du circuit OUexclusif 13. Ainsi, l'erreur est interpolée par le circuit d'interpolation. Comme on l'a décrit plus haut, les premier et deuxième modes de correction d'erreurs sont mis en oeuvre en commun de sorte que le dispositif de correction d'erreurs de la présente invention peut être simplifié du point de vue agencement de circuit. Bien que des codes d'hexadécimal codé binaire BCH soient décrits dans l'exemple de réalisation mentionné plus haut, le code n'est pas limité aux codes BCH et d'autres codes tels que le code de Reed-Solomon ou l'équivalent peuvent être utilisés pareillement. Bien que le polynôme générateur ne soit pas limité au poly- nBme générateur mentionné plus haut, un polynôme partiel du poly- nôme générateur du premier mode de correction d'erreurs peut être contenu dans le polynôme générateur du deuxième mode de correction d'erreurs. Selon la présente invention, telle qu'établie plus haut, puisqu'une partie du syndrome du deuxième mode de correction d'er- reurs, qui n'est pas généré dans le premier mode de correction d'erreurs, est générée à partir d'une partie ou de l'ensemble du syndrome du premier mode de correction d'erreurs, les agencements de circuit pour les premier et deuxième modes de correction d'er- reurs peuvent être réalisés en commun. Ainsi, le dispositif de correction d'erreurs de la présente invention peut être simplifié du point de vue agencement de circuit et il peut être fabriqué à faible coût. On doit remarquer que la description ci-dessus est présen- tée à titre d'exemple sur un seul exemple de réalisation préféré de l'invention et il est évident que beaucoup de modifications et de variantes de celui-ci pourraient être effectuées par l'homme de l'art sans sortir de l'esprit ou du cadre des nouveaux concepts de l'invention, de sorte que le cadre de l'invention ne doit être déterminé que par les revendications annexées. 1! REVENDICATIONS 1. Dispositif de correction d'erreurs comprenant: (a) un moyen (5) pour détecter des modes de correction d'erreurs d'informations numériques en entrée; (b) un moyen (6) pour générer un premier jeu de syndromes (S1,P) pour un premier mode de correction d'erreurs quand les informations numériques en entrée sont détectées comme mettant en oeuvre le premier mode de correction d'erreurs; (c) un moyen (6) pour générer un deuxième jeu de syndromes (S1,S3,P) pour un deuxième mode de correction d'erreurs quand les informations numériques en entrée sont détectées comme mettant en oeuvre le deuxième mode de correction d'erreurs; (d) un moyen (6) pour générer des quasi-syndromes (S13,Sl, P) pour le deuxième mode de correction d'erreurs en ajoutant un syndrome supplémentaire (S13) aux syndromes (S1,P) pour le premier mode de correction d'erreurs quand les informations numériques en entrée sont détectées comme mettant en oeuvre le premier mode de correction d'erreurs; et (e) un moyen de correction d'erreur (10,11,12,13) pour appliquer un procédé de correction d'erreurs aux informations numériques en entrée selon les syndromes générés pour le deuxième mode de correction d'erreurs malgré les modes de correction d'er- reurs des informations numériques en entrée. 2. Dispositif de correction d'erreurs selon la revendica- tion 1, dans lequel un polynôme générateur Gl(x) pour le premier mode de correction d'erreurs est inclus dans un polynôme générateur G2(x) pour le deuxième mode de correction d'erreurs. 3. Dispositif de correction d'erreurs comprenant: (1) un moyen générateur de syndromes (6) recevant des in- formations numériques en entrée (1) et un signal d'identification (4) représentant un mode de correction d'erreurs des informations numériques en entrée pour générer un jeu de syndromes pour les informations numériques en entrée selon le signal d'identification; (2) un moyen détecteur de condition d'erreur (7) connecté au moyen générateur de syndromes (6) pour engendrer un signal indi- cateur de condition d'erreur selon le jeu de syndromes; (3) un moyen à table de correction d'erreurs (ROM 8 et 9) connecté au moyen détecteur de condition d'erreur (7) pour engen- drer un signal de position d'erreur selon le signal indicateur de condition d'erreur; et (4) un circuit de correction d'erreurs (10,11,12, 13) rece- vant les informations numériques en entrée et connecté au moyen à table de correction d'erreurs (8,9) pour corriger les erreurs de bit incluses dans les informations numériques en entrée selon le signal de position d'erreur obtenu du moyen à table de correction d'erreurs. 4. Dispositif de correction d'erreurs selon la revendica- tion 3, dans lequel le circuit de correction d'erreurs (10,11,12, 13) comprend un circuit à bascules (10,11) pour convertir le signal de position d'erreur en un signal de synchronisation, et un circuit OUexclusif (13) recevant les informations numériques en entrée et le signal de synchronisation pour corriger les erreurs de bit incluses dans les informations numériques en entrée. 5. Dispositif de correction d'erreurs selon la revendica- tion 4, dans lequel le circuit de correction d'erreurs (10,11,12, 13) reçoit un signal de position d'erreur du moyen à table de correction d'erreurs (8,9) quand le signal indicateur de condition d'erreur indique que le nombre d'erreurs de bit incluses dans les informations numériques en entrée est inférieur à trois.