Brevet FR2633767A1 — publié le 19900105

1. La présente invention se rapporte à un dispositif à mémoire et, plus particulièrement,à un test de fonction pour un moyen de détection et de correction d'erreurs prévu dans le dispositif à mémoire. Dans un dispositif à mémoire, c'est-à-dire, plus particulièrement, une mémoire morte programmable effaçable électriquement ou EEPROM, il y a une possibilité que le contenu de la donnée stockée au préalable dans un agencement de cellules de la mémoire soit affecté et changé par l'opération d'écriture ou de lecture d'une donnée dans ou d'une zone de la mémoire à proximité de celle de la donnée précédemment stockée. Pour cette raison, le dispositif à mémoire est usuellement pourvu d'un moyen pour détecter et corriger des erreurs de la donnée qui y est stockée. Par exemple, ce type de moyen fonctionne de manière que, lorsque des éléments de donnée sont inscrits dans un agencement de cellules de mémoire, un code de vérification d'erreurs (appelé ci-après "ECC") soit formé par rapport à chaque élément de donnée, ce code de vérification d'er- reurs soit inscrit, en même temps que l'élément de donnée correspondant, à une adresse assignée dans l'agencement de cellules de mémoire et, si la donnée est ensuite extraite, la détection et la correction des erreurs dans la donnée soient accomplies par rapport à chaque élément lu de donnée en utilisant les ECC formés au moment de l'écriture. Des exemples de ce type de dispositif à mémoire sont révélés dans les publications de brevets japonais N s 62-32822 et 62-32823. Le système révélé dans la publication du brevet japonais N 62-32823 accomplit la détection et la correc- tion des erreurs de donnée de manière qu'une donnée de 8 bits soit stockée avec un ECC de 4 bits attaché à la donnée. La figure 2 donne un schéma-bloc o la construction d'un dispositif conventionnel à mémoire tel que celui révélé dans la publication du brevet japonais NI 62-32822 ayant pour fonctionsd'accomplir la détection et la correction des erreurs de donnéeest schématiquement illustrée. Comme le montre la figure 2, un dispositif à mémoire 10 (comme une EEPROM) connecté entre des bus de données 21a et 21b est constitué d'un circuit de formation de ECC interne Il, d'un agencement de cellules de mémoire 12 et d'un circuit 13 de détection/correction d'erreurs. Un processeur (non représenté) prévu comme moyen d'accès assigne une opération de lecture et d'écriture. Si, au moment de l'écriture, la donnée est fournie par le processeur à l'agencement de cellules de mémoire 12 via le bus de données côté entrée 21a et la ligne de signaux de donnée D, le circuit de formation de ECC interne 11 forme un ECC interne pour la donnée et stocke ce code dans une adresse assignée de l'agencement de cellules de mémoire via une ligne E de signaux ECC. Au moment de la lecture, la donnée et le ECC interne correspondant sont lus des adresses assignées de l'agencement de cellules de mémoire 12, et le circuit 13 de détection/correction d'erreurs accomplit la détection et la correction des erreurs dans la donnée en utilisant l'ECC interne et ensuite applique la donnée au bus de données 21b côté sortie. Il y a diverses méthodes pour accomplir la vérification des erreurs pour ce système. Par exemple, le circuit 13 de détection/ correction d'erreurs calcule, au moment de la lecture, un ECC par rapport à la donnée lue de la même manière que dans le cas de la formation de ECC au moment de l'écriture, compare ce ECC avec le ECC interne formé dans le circuit de formation de ECC interne 11 au moment de l'écriture, et détecte une erreur de la donnée par le résultat de la comparaison, pour ensuite corriger cette erreur. Cette méthode est révélée dans la publication de brevet japonais N 62-32825. Traditionnellement, un test de fonction pour le circuit 13 de détection/correction d'erreurs est accompli usuellement à la manière suivante. Comme cela est indiqué par la ligne en pointillé de la figure 2, un commutateur de changement 14 et un registre-15 pour enregistrer un ECC établi de l'extérieur (que l'on appellera ci-après "registre de ECC externe") sont prévus, et le registre de ECC externe 15 est sélectivement connecté à l'agencement de cellules de mémoire 12. Pour accomplir un test de fonction, le commutateur de changement 14 est permuté au c6té du registre de ECC externe 15, et un ECC externe souhaité pour les tests de fonction, dont le contenu est connu, est établi dans le registre 15 à partir de l'exté- rieur, par exemple du processeur (non représenté). En même temps, la donnée pour les tests de fonction, dont le contenu est connu (par exemple uniquement des données "0" comme 00000000 si la donnée est une donnée de 8 bits), est introduite via la ligne de signaux de donnée D. ECC et la donnée ainsi fournie sont temporairement stockés, en combinaison l'un avec l'autre, dans l'agencement de cellules de mémoire 12. La donnée ainsi stockée est extraite et on vérifie si oui ou non la donnée lue est corrigée de manière appropriée dans le circuit 13 de détectionAcorrection d'erreurs sur la base du ECC externe avant de l'appliquer au bus de données côtésortie 21b. Pour accomplir le test de fonction pour le circuit de détection/correction d'erreurs dans le dispositif à mémoire ainsi construit, la donnée et un ECC établi de l'extérieur pour les essais de fonction, dont les contenus sont connus, doivent être temporairement stockés dans l'agencement de cellules de mémoire. Pour cette raison, le procédé de test prend du temps et est fastidieux. Il y a également un problème d'un défaut de l'agencement de cellules de mémoire influençant les résultats du test car, dans ce test, les données et ECC sont temporairement stockés dans l'agencement de cellules de mémoire. Etant donné ces problèmes, la présente invention a pour objet un dispositif à mémoire capable de rédpire le temps pris pour accomplir le test de fonction pour ce moyen de détection/correction d'erreurs ainsi que de prévenir toute influence de défauts, dans l'agencement de cellules de mémoire,sur le test. A cette fin, la présente invention offre un dispositif à mémoire ayant pour fonction de détecter et de corriger des erreurs dans la donnée stockée, le disposi- tif à mémoire ayant: un moyen pour produire un code de détection/ corrrection d'erreurs par rapport à la donnée à stocker; un moyen formant mémoire pour stocker la donnée et le code de détection/correction d'erreurs; un moyen de détection/correction d'erreurs pour détecter et corriger des erreurs dans la donnée en utilisant le code de détection/correction d'erreurs lorsque la donnée est extraite du moyen formant mémoire; et un moyen à test de fonction sélectivement et directement connecté au moyen de détection/correction d'erreurs, le moyen à test de fonction accomplissant un test de fonction pour le moyen de détection/correction d'erreurs en émettant, à l'essai, un code souhaité de détection/correction d'erreurs établi de l'extérieur du dispositif à mémoire, le contenu du code de détection/correction d'erreurs étant connu au préalable; o l'on détermine si le fonctionnement du moyen de détection/ correction d'erreurs est normal ou non,sur la base de l'information à la sortie de ce moyen en réponse au code de détection/correction d'erreurs à l'entrée à l'essai dans le moyen de détection/correction d'erreurs, du moyen à test de fonction ou de fonctionnement. Dans le dispositif à mémoire selon la présente invention, le moyen à test de fonction sélectivement et directement connecté au moyen de détection/correction d'erreurs/et adapté à accomplir le test de fonction pour le moyen de détection/correction d'erreurs permet d'établir directement un code souhaité de détection/correction d'erreurs dans le moyen de détection/correction d'erreurs à partir de l'extérieur, sans qu'il soit fourni par l'agencement de cellules de mémoire. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant un mode de réalisation de l'invention et dans lesquels: - la figure 1 donne un schéma-bloc de la construc- tion d'un dispositif à mémoire représentant un mode de réalisation de la présente invention; et - la figure 2 donne un schéma-bloc de la construc- tion d'un dispositif conventionnel à mémoire. Un mode de réalisation de la présente invention sera décrit ci-dessous en se référant aux dessins joints. La figure I donne un schéma-bloc d'un dispositif à mémoire qui représente un mode de réalisation de la présente invention. Le dispositif à mémoire 100 est prévu entre des bus de données 21a et 21b et une opération de lecture ou d'écriture du dispositif à mémoire est assignée par un processeur (non représenté) prévu comme moyen d'accès. Le dispositif à mémoire 100 a: un moyen générateur d'un code de détection/correction d'erreurs constitué d'un circuit de formation de ECC interne 11; un moyen formant 23 mémoire constitué d'un agencement de cellules de mémoire 12; un moyen de détection/correction d'erreurs constitué d'un çircuit de calcul de ECC 22, d'un circuit comparateur 23, d'un circuit décodeur 24 et d'un circuit de correction 25; et un moyen à test de fonction constitué d'un registre 31 pour enregistrer un ECC établi de l'extérieur (appelé ci-après "registre de ECC externe") et un commutateur de changement 32 et adapté à tester les fonctions du moyen de détection/ correction d'erreurs. Le commutateur de changement 32 maintient la connexion à une borne b pendant une opération ordinaire d'écriture ou de lecture, comme le montre la figure 1. Au moment de l'écriture de la donnée, la donnée est fournie par le processeur à l'agencement de cellules de mémoire 12 via le bus de données21a côté entrée et la ligne de signaux de donnée D. En réponse à cela, le circuit de formation de ECC interne 11 forme un ECC interne (code de détection/correction d'erreurs)pour la donnée fournie et stocke ce code à une adresse assignée de l'agencement de cellules de mémoire 12 via une ligne E de signaux de ECC. Au moment de la lecture, la donnée et le ECC interne correspondant sont lus des adresses assignées de l'agence- ment de cellules de mémoire 12 et le circuit 22 de calcul de ECC calcule ECC à partir de la donnée ainsi extraite, de la même manière que l'opération du circuit de formation de ECC interne 11. Comme, dans le commutateur de changement 32, la connexion à la borne b est maintenue, le circuit comparateur 23 peut comparer ECC calculé à ECC interne extrait de l'agencement de cellules de mémoire 12. Si, par suite de cette comparaison, ces codes coïncident l'un avec l'autre, la donnée est émise vers le bus de données 21b via la ligne de signaux de donnée D et le circuit de correction 25,sans traitement par ce circuit. Si, en résultat de la comparaison effectuée par le circuit comparateur 23, ECC calculé par le circuit de calcul 22 ne coïncide pas avec ECC interne de l'agencement de cellules de mémoire 12, ECC interne stocké dans l'agence- ment 12 est décodé par le circuit décodeur 24. La donnée extraite de l'agencement 12 est alors corrigéepar le circuit de correction 25 sur la base de ECC ainsi décodé et est ensuite émise vers le bus de données 21b. Pour accomplir le test de fonction pour le moyen de détection/ correction d'erreurs du dispositif à mémoire 100, le commutateur de changement 32 est passé au côté d'une borne a. L'instruction d'accomplir cette opération de changement est envoyée par le processeur (non représenté) via le bus de données 21b et la ligne de signaux de changement 32a. Un ECC souhaité pour le test de fonction, dont le contenu est connu, est établi dans le registre de ECC externe 31, de l'extérieur du dispositif à mémoire 100, par exemple, par le processeur. En même temps, la donnée pour le test de fonction, dont le contenu est connu (par exemple uniquement des données "0" comme 00000000 si la donnée est une donnée à 8 bits) est stockée dans l'agencement de cellules de mémoire 12. La donnée ainsi stockée est lue et on vérifie si oui ou non la donnée lue est corrigée de manière appropriée sur la base de ECC pour le test de fonction avant sa fourniture au bus de données cté sortie 21b du dispositif à mémoire 100. La présente invention s'applique à des dispositifs à mémoire pour divers types d'utilisation. Par exemple, on peut l'appliquer à une EEPROM qui est prévue comme section de mémoire d'un micro-ordinateur incorporé dans une carte à circuit intégré. La ligne de signaux de donnée et la ligne de signaux de ECC dans le dispositif à mémoire peuvent être des lignes de signaux en série pour fournir une donnée de 8 bits et un ECC de 4 bits ou bien peuvent être des lignes de signaux en parallèle,appropriés à la fourniture des éléments de la donnée et de ECC en parallèle. Selon la présente invention, comme on l'a décrit ci-dessus, le moyen de test de fonction pour accomplir le test de fonction pour le moyen de détection/correction d'erreurs est sélectivement et directement connecté à ce moyen, pour ainsi permettre à un code souhaité de détection/ correction d'erreurs d'être établi,dans le moyen de détection/correction d'erreurs, de l'extérieur, sans être fourni par l'agencement de cellules de mémoire. Il est ainsi possible de réduire le temps pris pour le test de fonction ainsi que d'accomplir ce test pour le moyen de détection/correction d'erreurs sans aucune influence des défauts dans l'agencement de cellules de mémoire sur les résultats du test. R E V E N DI C A T I ON S 1.- Dispositif à mémoire ayant pour fonction de détecter et de corriger des erreurs dans une donnée stockée, caractérisé en ce qu'il comprend: un moyen (11) pour produire un code de détection/ correction d'erreurs par rapport à la donnée stockée; un moyen formant mémoire (12) pour stocker ladite donnée et ledit code de détection/correction d'erreurs; un moyen de détection/correction d'erreurs (22, 23, 24) pour détecter et corriger des erreurs dans ladite donnée en utilisant ledit code de détection/correction d'erreurs lorsque ladite donnée est extraite dudit moyen formant mémoire; et un moyen de test de fonction (31, 32) sélective- ment et directement connecté audit moyen de détection/ correction d'erreurs, ledit moyen de test de fonction accomplissant un test de fonction pour ledit moyen de détection/correction d'erreurs en émettant, à l'essai, un code souhaité de détection/correction d'erreurs établi à l'extérieur du dispositif à mémoire, le contenu dudit code étant connu au préalable; et en ce que l'on détermine si oui ou non la fonction dudit moyen de détection/correction d'erreurs est normal sur la base de l'information à la sortie dudit moyen de détection/correction d'erreurs en réponse audit code de détection/correction d'erreurs introduit à l'essai dans ledit moyen de détection/correction d'erreurs par ledit moyen de test de fonction. 2.- Dispositif selon la revendication 1, caractérisé en ce que la mémoire (12) précitée est une EEPROM. 3.- Dispositif selon la revendication 1, caractérisé en ce que la mémoire (12) précitée est une section de mémoire incorporée dans une carte à circuit intégré. 4.- Dispositif selon la revendication 3, caractérisé en ce que le dispositif à mémoire est une EEPROM