Brevet FR2589600A1 — publié le 19870507

La présente invention concerne, d'une manière générale, des circuits de mémoire d'ordinateur et, en particulier, un circuit pour rafraichir, contr8ler et corriger des signaux de données emmagasinés dans une mémoire dynamique. Les mémoires à accès aléatoire (RAM) sont formées de cellules de stockage qui sont généralement des transistors bipolaires MOS ou TTL. Une cellule de stockage formée de transistors TTL fonctionne statiquement, de sorte qu'un signal de donnée mémorisé ne peut être perdu tant que les transistors sont sous tension. D'autre part, les cellules de stockage formées de transistors MOS fonctionnent dyna- miquement et les mémoires à accès aléatoires qui en sont composées sont appelées des mémoires à accès aléatoire dynamiques (DRAM). Les signaux de données sont emmagasinés sur des condensateurs parasites entre les bornes de canal et de source des transistors MOS. Un signal logique de niveau haut se caractérise par une charge électrique de valeur prédéterminée dans le condensateur. La charge décroissant en raison des courants de fuite, si, au terme d'une durée prédéterminée, le signal de donnée emmagasiné n'a pas été lu (par un microprocesseur, etc.), le signal logique de niveau haut peut devenir indifférenciable d'un signal logique de niveau bas et qu'il s'ensuit une perte de données. Il a été fabriqué des circuits pour rafratchir le signal de donnée mémorisé avant que la diminution de la charge dans le condensateur devienne critique. Dans de tels circuits de rafraîchissement DRAM connus, on utilise généralement des composants NMOS comprenant des générateurs d'adresse et des compteurs internes, etc., et ils délivrent toutes les deux millisecondes une impulsion de rafraîchissement d'environ 1 microseconde qui est appliquée à chaque cellule dans la mémoire. Il se trouve que les composants NMOS sont chers et un peu lents et, donc, les circuits de rafraîchissement DRAM connus sont, en pratique, très complexes et conséquents, occupant des surfaces de cartes de circuit importantes. Pour remplacer les circuits de rafraîchissement mentionnés ci- dessus, une technique fut mise au point, dans laquelle un micro- processeur était interrompu environ toutes les deux millisecondes pour exécuter un sous-programme de rafraîchissement qui provoquait la lecture de 128 emplacements successifs de mémoire DRAM. Un inconvénient évident de cette technique est qu'il faut un temps considérable au microprocesseur pour rafraîchir les emplacements de mémoire, alors qu'il pourrait, autrement, servir à des fonctions plus importantes. Pour assurer l'intégrité des données, les signaux de données qui sont lus par le microprocesseur (c'est-à-dire dans la mémoire DRAM) sont ordinairement contr8lés en ce qui concerne les erreurs de parité dues aux pertes de signal sus-mentionnées provenant des courants de fuite. Des circuits de contr8le et de correction de parité existants sont bien connus. Cependant, il s'avère que de tels circuits sont assez chers, qu'ils occupent des surfaces de cartes de circuit importantes et, qu'en pratique, ils fonctionnent indépendamment des circuits de rafraîchissement sus-mentionnés. Par exemple, les circuits de rafraîchissement fonctionnent habituellement de façon continue et cycliquement pour rafraîchir le contenu de mémoires DRAM (indépen- dament du microprocesseur y lisant les données), alors que les circuits de détection et de correction d'erreur de parité sont, en principe, activés seulement pendant que le microprocesseur lit les donnés dans la mémoire. Selon la technique antérieure, un cycle entier de bus de micro- -processeur était habituellement nécessaire après l'exécution de chaque instruction de lecture de mémoire du microprocesseur pour réaliser un contr8le de parité sur les données. En cas de détection d'une erreur, une remise à zéro du système avait lieu, d'o résultait une coupure catastrophique puisque les données emmagasinées dans les accumulateurs ou les registres internes du microprocesseur étaient bel et bien perdues et, si le microprocesseur commandait des connexions dans un autocommutateur privé ou un autre système de télécommunications, celles-ci étaient perdues. Selon la présente invention, un contrôleur à accès de mémoire direct (DMAC) est utilisé pour rafraîchir les emplacements de mémoire DRAM en. réalisant un transfert de données de la mémoire à un périphérique fictif. Le contrôleur DMAC est, de préférence, programmé pour acquérir périodiquement du microprocesseur la commande des bus de données et d'adresse, lire un emplacememnt de mémoire DRAM et le 3 2589600 délivrer à un périphérique fictif (c'est-à-dire à une adresse de périphérique définie pour laquelle il n'existe pas de périphérique correspondant). Par consequent, les cellules de mémoire associées à l'emplacement de mémoire DRAM sont rafraîchies du fait d'avoir été lues par le contrôleur DMAC. De même qu'avec le circuit de rafraîchissement DEAM connu mentionné en premier, la présente invention permet, indépendamment du microprocesseur lisant la mémoire DRM, de rafraîchir cette dernière et de surmonter, ainsi, l'inconvénient de la technique de rafraîchissement connue mentionnée en dernier qui occupe le micro- processeur pendant un temps non négligeable. Toutefois, contrairement au circuit connu mentionné en premier, le contrôleur DMAC est une puce semiconductrice bon marché qui nécessite, en pratique, très peu de circuits supplémentaires et qui est très rapide. De plus, selon la présente invention, des signaux de données apparaissant sur le bus de données du fait qu'ils ont été lus par le contrôleur DMAC sont appliqués à un circuit de contr3le de parité. S'il y a détection d'une erreur de parité, un signal est produit pour interrompre le microprocesseur qui exécute alors un sous-programme de restauration pour remémoriser le signal de donnSes erroné dans sa forme correcte. Ceci peut être réalisé, par exemple, en déchargeant un minidisque, etc. Comme le contrôle de parité et la restauration de données sont effectués pendant le rafraîchissement de la mémoire DRAM, à l'inverse de la technique antérieure o le contrôle d'erreur a lieu seulement pendant une instruction de lecture du microprocesseur, les erreurs de parité sont détectées et corrigées avant que le microprocesseur lise les signaux de données. Ainsi, comparé aux circuits de correction et de détection de parité connus, la fréquence des événements de remise à zéro du système est sensiblement réduite. Le circuit de contrôle de parité et de rafraîchissement de mémoire DRAM de la présente invention se conforme aux exigences de rapidité et de prix des composants des micro-ordinateurs modernes, et il occupe une surface de carte de circuit réduite. En fait, on a constaté qu'alors que les circuits connus de rafraîchissement de mémoire DRAM NMOS utilisent environ 25 % des cycles de bus de microprocesseur, un exemple de réalisation satisfaisant de la présente invention n'en utilise, en pratique, que 6,4 % seulement. D'une manière générale, l'invention consiste en un circuit pour rafraîchir, contrôler et corriger des signaux de données emmagasinés dans une mémoire dynamique, comprenant un bus de données relié à la mémoire dynamique, un contrôleur à accès de mémoire direct relié à la mémoire et au bus de données, pour lire périodiquement des signaux de données successifs, de sorte que ceux-ci apparaissent sur le bus de données, un circuit de contrôle de parité relié au bus de données, pour détecter des erreurs de parité dans les signaux de données et produire, en réponse, des signaux d'interruption, et un circuit de restauration relié au bus de données et au circuit de contrôle de narité oour recevoir les signaux d'interruption et, en réponse, produire et emmagasiner les versions correctes des signaux de données dans Ia F^oire dynamique, afin que des signaux de données successifs soient rafraîchis du fait d'avoir été lus par le contrôleur à accès de mémoire direct et que les erreurs de parité soient corrigées du fait que le circuit de restauration emmagasine les versions correctes des signaux de données dans la mémoire. Plus particulièrement, l'invention est un circuit pour rafraîchir, contrôler et corriger des signaux de données emmagasinés dans une mémoire dynamique, comprenant un contrôleur à accès de mémoire direct pour lire périodiquement des signaux de données successifs, un circuit de contrôle de parité relié audit contrôleur pour détecter des erreurs de parité dans les signaux de données lus par ledit contrôleur et produire, en réponse, des signaux d'inter- ruption, une mémoire non-volatile pour emmagasiner des versions correctes des signaux de données, et un microprocesseur relié à la mémoire nonvolatile, à la mémoire dynamique et au circuit de contrôle de parité pour recevoir les signaux d'interruption, lire les versions correctes des signaux de données dans la mémoire non-volatile et emmagasiner, en réponse, les versions correctes dans la mémoire dynamique, afin que les signaux de données emmagasinés dans la mémoire dynamique soient rafraîchis du fait d'être lus par le contrôleur à accès de mémoire direct et corrigés du fait que le microprocesseur emmagasine les versions correctes des signaux de données dans la mémoire dynamique. 2589600 L'invention concerne également une méthode pour rafraîchir, contr8ler et corriger des signaux de données emmagasinés dans une mémoire dynamique, comprenant les phases suivantes: transférer périodiquement des signaux de données emmagasinés dans des emplacements successifs de la mémoire dynamique à un périphérique fictif, détecter des erreurs de parité dans les signaux de données transférés et emmagasiner, en réponse, des versions correctes des signaux de données dans la mémoire dynamique, afin que les signaux de données soient rafraîchis du fait d'être transférés à un périphérique fictif et corrigés du fait que les versions correctes des signaux de données sont emmagasinés dans la mémoire dynamique. On comprendra mieux l'invention en se référant à la description détaillée ci-dessous et au dessin joint qui est un bloc-diagramme schématique d'un circuit de rafraîchissement, de contrôle de parité et de correction de mémoire DRAM selon un exemple de réalisation préféré de l'invention. Sur la Figure, un microprocesseur 1 est relié à une mémoire dynamique à accès aléatoire DRAM 2 par un bus de données 3, un bus d'adresse 4 et un bus de commande 5. En pratique, le microprocesseur l adresse, parle bus d'adresse 4, des données dans la mémoire 2. Dans la mémoire 2, les données sont lues ou emmagasinées en réponse à une séquence prédéterminée de signaux sur le bus de commande 5, d'une manière classique. Des signaux de commande spéciaux comprennent des signaux de lecture/écriture, de sélection de puce et d'adresse de mémoire valide. Un contrôleur à accès de mémoire direct DMAC 6 est relié aux bus 3, 4 et 5, respectivement. Les contrôleurs à accès de mémoire dynamique sont bien connus dans la technique pour effectuer des transferts de données entre des périphériques et la mémoire dans un système de microprocesseur. Cependant, selon la présente invention, le contrôleur 6 est utilisé pour rafraîchir des emplacements de la mémoire 2 en transférant des données de celle-ci à un périphérique fictif, (c'est-à-dire une adresse de périphérique sur la carte de mémoire du microprocesseur à laquelle ne correspond pas de péri- phérique). *6 2589600 Un circuit d'horloge 7 produit des signaux d'horloge en réponse à la réception de signaux d'un oscillateur 8. En particulier, le circuit d'horloge 7 produit un signal d'horloge sur une sortie C1 reliée à une entrée CLK du microprocesseur 1, pour synchroniser le fonctionnement du microprocesseur d'une manière connue. Un autre signal d'horloge est produit & la sortie C2 du circuit 7 et appliqué à une entrée de requête REQ du contrôleur 6, pour produire pério- diquement des requêtes de transfert DMA. En fonctionnement, le circuit est d'abord alimenté de sorte que le microprocesseur exécute un programme d'initialisation ou d'instructions de démarrage, d'une manière connue. Sous la commande du programme d'initialisation, le microprocesseur 1 initialise le contrôleur 6 en chargeant, dans des registres internes de ce dernier, une série d'instructions, des première et dernière adresses de mémoire valides DRAM et l'adresse du périphérique fictif. Les instructions chargées font fonctionner le contrôleur 6 mode dit "mode de vol de cycle en chaîne" ou, en anglais, "cycle steal chain mode". Dans ce mode de fonctionnement, le contrôleur 6 acquiert réellement ou "vole" la commande des bus d'adresse et de données 3 et 4 du microprocesseur 1 en réponse à la réception d'un signal de requête DMA du circuit d'horloge 7. Le contrôleur 6 effectue alors un transfert de données de la mémoire 2 au périphérique fictif, décrit plus en détail dans la suite. Après que les données de la dernière adresse valide de la mémoire 2 ont été transférées, le contrôleur 6 revient à la première adresse de mémoire selon le mode de fonctionnement "en chalne" sus-mentionné. En pratique, sous la commande du programme d'initialisation, le microprocesseur 1 fait également passer des données dans la mémoire 2 à partir d'une mémoire externe 12 telle qu'un minidisque ou une mémoire EPROM. La mémoire externe 12 a des entrées de données, d'adresse et de commande reliées respectivement aux bus 3, 4 et 5, d'une manière connue. Après le programme d'initialisation, le microprocesseur 1 exécute, en pratique, un ou plusieurs programmes d'application sous la commande d'un programme de système de fonctionnement, afin d'accéder périodiquement aux données emmagasinées dans la mémoire 2, d'une manière connue. 7 2589600 Pendant que le microprocesseur 1 exécute le programme, le circuit d'horloge 7 produit les signaux de requite DMA sus-mentionnés au rythme d'un toutes les 16 microsecondes. Le contrôleur 6 reçoit un premier signal de requête DMA et, 'en réponse, prend la commande ou acquiert le "contrôle" des bus de données et d'adresse 3 et 4, respectivement. Le contrôleur 6 lit alors un signal de données emmagasiné à la première adresse de mémoire valide de la mémoire 2 et tente de le mémoriser dans le périphérique fictif. Le fait de lire le signal de données emmagasiné à l'emplacement de mémoire entraîne le rafraîchissement des cellules de mémoire capacitives associées. Le contrôleur 6 abandonne alors le contrBle de bus au microprocesseur 1 qui continue l'exécution du programme. Environ 16 microsecondes plus tard, un second signal de requête DMA est délivré par le circuit d'horloge 7 et appliqué à l'entrée REQ du contrôleur 6. Le contrôleur 6 reprend le contrôle de bus et tait se rafraîchir les cellules de mémoire associées à une seconde adresse de mémoire valide de la mémoire 2, comme on l'a expliqué ci-dessus. Le transfert de données DMA de la mémoire 2 au périphérique fictif est répété jusqu'à ce que tous les emplacements successifs de la mémoire 2 aient été rafraîchis, Après le rafraîchissement du dernier emplacement d'adresse de mémoire valide de la mémoire 2, le contr81eur 6 revient au premier emplacement d'adresse de mémoire valide, comme on l'a expliqué ci-dessus. Les signaux de données apparaissant sur le bus de données 3 sont aussi appliqués aux entrées de données DATA d'un circuit de contrôle de parité 9. Le circuit de contrôle de parité 9 a des entrées de commande CTRL reliées au bus de commande 5 et une entree de bit de parité I reliée à une sortie de bit de parité PO de la mémoire 2. Une sortie de parité impaire t0 est reliée à une entrée de bit de parité P1 de la mémoire 2, et une sortie de parité paire %E est reliée à une entrée d'interruption INT du microprocesseur 1. Pendant l'exécution du programme d'initialisation, le circuit de contrôle de parité 9 produit un bit de parité pour chaque octet de données apparaissant sur le bus de données 3, en réponse au transfert de données de la mémoire externe 12 à la mémoire 2. Les bits de parité sont transmis par la sortie &0 et appliqués à l'entrée P1 de la 8 2589600 mémoire 2 pour y être emmagasinés. Les bits de parité arrivent dans le circuit de contrôle de parité 9,t en repartent par l'intermédiaire de fils spécifiques reliés à la ménmoire 2, et, ainsi, ils n'apparaissent pas sur le bus de données 3. En fonctionnement normal (c'est-à-dire pendant l'exécution d'un ou plusieurs programmes d'application suivant celle du programme d'initialisation), le circuit de contrôle de parité 9 détecte la parité d'un signal de données apparaissant sur le bus de données 3 du fait qu'il a été lu par le contrôleur 6 et le compare avec le bit de parité emmagasiné reçu de la mémoire 2. Le circuit de contrôle de parité 9 détermine donc la parité d'une combinaison du signal de données reçu et du bit de parité associé, et si aucune erreur de parité n'est détectée, il délivre un signal logique haut à sa sortie C0 et un signal logique bas A sa sortie CE. Par contre, si une erreur de parité est détectée, la sortie SE passe au niveau logique haut, produisant ainsi un signal d'interruption pour interrompre le microprocesseur 1. Les signaux d'interruption apparaissant à l'entrée INT du microprocesseur 1 du fait de la détection de parité paire sont masqués pendant l'exécution du programme d'initialisation, de sorte que le microprocesseur 1 n'est pas interrompu. L'adresse dans la mémoire 2 d'un signal de données contenant une erreur de parité apparaît sur le bus d'adresse 4 (du fait qu'il est adressé par le contrôleur 6), et elle est conservée à une entrée d'adresse ADD d'une bascule d'emplacement défaillant 10 en réponse à la réception par celleci d'un signal d'activation provenant du bus de commande 5. Une sortie de la bascule 10 est reliée au bus de données 3, pour transmettre l'adresse conservée au microprocesseur 1. Donc, s'il y a détection d'une erreur de parité dans un signal de données apparaissant sur le bus de données 3, le circuit de contrôle de parité 9 produit une interruption du microprocesseur 1 qui, à son tour, lit l'adresse d'emplacement défaillant conservée dans la bascule 10. A nouveau, un programme de restauration de données est exécuté par le microprocesseur 1 pour emmagasiner une version correcte du signal de données emmagasiné dans la mémoire externe 12 (tel qu'une 9 2589600 mémoire EPROM, un minidisque ou une autre mémoire non-volatile) à l'emplacement de la mémoire 2 correspondant à l'adresse de 1' emplacement défaillant. En pratique, comme on l'a expliqué ci-dessus, pendant l'exécution du programme de système de fonctionnement, le micro- processeur 1 lit et écrit des données dans la mémoire 2. Le circuit de contrôle de parité 9 produit un bit de parité à sa sortie ú0, du fait des données écrites dans la mémoire 2. Le bit de parité produit est chargé dans la mémoire 2 par l'intermédiaire de son entrée PI. En fonctionnement normal, l'entrée d'interruption INT du microprocesseur 1 n'est pas masquée, les données lues dans la mémoire 2 sont contr81ées pour les erreurs de parité, comme on l'a expliqué ci-dessus à propos du rafraîchissement de DMA, et le microprocesseur est interrompu s'il y a détection d'une erreur de parité. Une version correcte du signal de données est alors chargé dans la mémoire 2 suivant le programme de restauration, comme on l'a expliqué ci-dessus. Dans un prototype satisfaisant de l'invention, le micro- processeur est un modèle 68 000 de la marque MOTOROLA, la mémoire 2 a une contenance de 2 mégaoctects, avec des puces dynamiques RAM de 64 K-octets arrangées par deux en 16 blocs de 128 K-octets, le contrôleur 6 est un modèle MOTOROLA 68450 et le circuit de contrôle de parité 6 est un générateur/contr8leur de parité pair-impair modèle LS20 de Texas Instruments. L'oscillateur 8 est un oscillateur à cristal dont la fréquence est de 16,384 MHz environ et le circuit d'horloge 7 produit un signal d'horloge d'environ 8 MHz à sa sortie C1 et un signal de requête DMA d'environ 64 KHz à sa sortie C2 pour requérir du contrôleur 6 des transferts DMA toutes les 16 micro- secondes. Dans le prototype satisfaisant, le bus de données a une largeur de 16 bits, de sorte qu'un bit de parité est calculé pour chaque octet de huit bits. Ainsi, la sortie L0 du circuit de contrôle de parité 9 produit 2 bits de parité pour le stockage dans la mémoire 2, qui dans l'exemple de réalisation satisfaisant, contient des signaux de données de 18 bits compris de deux mots de données de 8 bits et de deux bits de parité correspondants. 2589600 En pratique, les mémoires dynamiques RAM telles que la mémoire 2 comprennent des circuits de décodage d'adresse pour décoder les adresse qui y sont demandées par le bus d'adresse 4 et produire des signaux de sélection de cellule de mémoire en rangée et en colonne. Dans l'exemple de réalisation satisfaisant, une carte de mémoire du microprocesseur est arrangée pour produire deux représentations de la mémoire 2; l'une à l'espace d'adresses de 000000 à 1FFFFF et l'autre à l'espace de 800000 à 9FFFFF en hexadécimal. Les adresses sur le bus d'adresse 4 sont décodées en utilisant des réseaux logiques programmables de sorte que les deux signaux de sélection en rangée et en colonne soient complètement décodés en réponse à la réception d'une adresse dans la première représentation de la mémoire 2, et que chacun des seize blocs soit sélectionné en rangée, un bloc seulement étant sélectionné en colonne, en réponse à la réception d'une adresse dans la seconde représentation de la mémoire 2. Ainsi, un bloc seul applique un signal de données au but de données 3, alors que tous les blocs sont rafraîchis en réponse à la réception du signal de sélection en rangée. Le microprocesseur utilise la première représentation pour écrire et lire des données dans la mémoire 2, alors que le contrôleur 6 utilise la seconde représentation pour effectuer le rafraîchissement. Selon le prototype satisfaisant, le contrôleur 6 régénère 128 emplacements (rangées de cellules de mémoire choisies) environ une fois toutes les deux millisecondes. Ainsi, toutes les 16 microsecondes environ, un emplacement est rafraîchi. En bref, la présente invention utilise un contrôleur à accès de mémoire direct pour effectuer du rafraîchissement de mémoire DRAM sans nécessiter de circuits de rafraîchissement complexes et coûteux. Les données apparaissant sur le bus de données, du fait d'avoir été lues par le contrôleur 6, sont appliquées à un circuit de contr8le de parité pour la détection et la correction des erreurs de parité. Donc, les erreurs de parité se produisant dans la mémoire 2 sont corrigées avant d'être lues par le microprocesseur, et la frécuence des remises à zéro du système est considérablement réduite, comparé aux circuits de contr8le et de correction de parité connus. il 2589600 Selon le prototype satisfaisant, le contrôleur 6 comprend aussi trois canaux DMA supplémentaires pour effectuer des transferts de données de mémoire à mémoire, de périphérique à mémoire et de périphérique à périphérique. Oi réalise ainsi une économie considérable de cemposants en utilisant le contrôleur à accès de mémoire direct à différentes fonctions. Des spécialistes de la technique ayant pris connaissance de l'invention peuvent alors imaginer d'autres exemples de réalisation ou variantes selon les principes de l'invention décrits ci-dessus. Par exemple, des circuits supplémentaires de correction et de détection d'erreur peuvent être utilisés plutôt que de faire exécuter le programme de restauration sus-mentionné, de façon à réduire encore le temps que le microprocesseur passe à la détection et à la correction d'erreur. Le circuit d'horloge 7 peut être réglé pour produire une requête DMA une fois toutes les deux millisecondes, et le contrôleur 6 peut être prévu pour effectuer une salve de 128 transferts de données d'emplacements de mémoires contigus de la mémoire 2 au périphérique fictif, en réponse à la réception d'un signal de requête DMA. Ainsi, si une pluralité d'emplacements de mémoire successifs de la mémoire 2 contiennent des données erronées, le microprocesseur est relevé de la tache d'exécuter des programmes de restauration successifs qui demandent du temps. De plus, des circuits spécifiques peuvent être utilisés pour exécuter le programme de restauration sus-mentionné à la place du microprocesseur 1. Ou, dans une autre variante, le contr leur 6 peut être utilisé pour exécuter le programme de restauration, de façon à occuper le microprocesseur moins longtemps. De tels exemples de réalisation ou variantes de l'invention sont considérés comme faisant partie du champ de la présente invention, définis dans les revendications jointes. 12 2589600 REVENDICATIONS 1) Circuit pour rafraîchir, contr8ler et corriger des signaux de données emmagasinés dans une mémoire dynamique (2), caractérisé en ce qu'il comprend: (a) un bus de données (3) relié à ladite mémoire dynamique (2), (b) un contrôleur à accès de mémoire direct (6) relié à ladite mémoire (2) et audit bus de données (3) pour lire périodiquement des signaux de données successifs de sorte que ceux-ci apparaissent sur ledit bus de données (3), (c) un circuit de contr8le de parité (9) relié audit bus de données (3) pour détecter des erreurs de parité dans lesdits signaux de données et engendrer, en réponse, des signaux d'interruption, et (d) un moyen de restauration relié audit bus de données (3) et audit circuit de contr8le de parité (9) pour recevoir lesdits signaux d'interruption et, en réponse, produire et emmagasiner des versions correctes desdits signaux de données dans ladite mémoire dynamique (2), afin que lesdits signaux de données successifs soient rafraichis du fait d'être lus par le contrôleur à accès de mémoire direct (6) et que les erreurs de parité soient corrigées du fait que ledit moyen de restauration emmagasine des versions correctes desdits signaux de données dans ladite mémoire (2). 2) Circuit selon la revendication 1, caractérisé en ce que ledit moyen de restauration consiste en une mémoire non-volatile (12) contenant lesdites versions correctes desdits signaux de données et un moyen pour les y retrouver et les emmagasiner dans ladite mémoire dynamique (2) en réponse à la réception desdits signaux d'inter- ruption. 3) Circuit selon la-revendication 2, caractérisé en ce que ledit moyen pour retrouver et emmagasiner lesdites versions correctes desdits signaux de données es- un microprocesseur (1). 4) Circuit selon l'une des revendications 1 à 3, caractérisé en ce qu'il comprend encore un circuit d'horloge (7) qui délivre des signaux de requête au contrôleur à accès de mémoire direct (6) pour lui faire lire périodiquement lesdits signaux de données emmagasinés dans ladite mémoire (2). 13 2589600 ) Circuit selon la revendication 2 ou 3, caractérisé en ce que ladite mémoire non-volatile (12) est un minidisque. 6) Circuit selon la revendication 2 ou 3, caractérisé en ce que ladite mémoire non-volatile (12) est une mémoire à lecture seule effaçable. 7) Circuit pour rafraîchir, contrôler et corriger des signaux de données emmagasinés dans une mémoire dynamique, caractérisé en ce qu'il comprend: - (a) un contrôleur à accès de mémoire direct (6) pour lire périodiquement des signaux de données successifs, (b) un circuit de contrôle de parité (9) relié audit contrôleur à accès de mémoire direct (6) pour détecter les erreurs de parité dans lesdits signaux de données lus par ledit contrôleur (6) et produire, en réponse, des signaux d'interruption, (c) une mémoire non-volatile (12) pour emmagasiner des versions correctes desdits signaux de données, et (d) un microprocesseur (1) relié à ladite mémoire non-volatile (12), à ladite mémoire dynamique (2) et audit circuit de contrôle de parité (9) pour recevoir lesdits signaux d'interruption, lire lesdites versions correctes desdits signaux de données dans ladite mémoire non-volatile (12) et les emmagasiner, en réponse, dans ladite mémoire dynamique (2). 8) Circuit selon la revendication 7, caractérisé en ce qu'il comprend encore un circuit d'horloge (7) pour engendrer un signal d'horloge et le transmettre audit contrôleur à accès de mémoire direct (6) de façon à en synchroniser le fonctionnement. 9) Méthode pour rafraîchir, contrôler et corriger des signaux de données emmagasinés dans une mémoire dynamique (2), caractérisée en ce qu'elle comprend les phases suivantes: (a) transférer périodiquement des signaux de données emmagasinés à des emplacements successifs de la mémoire dynamique (2) à un péri- phérique fictif, et (b) détecter des erreurs de parité dans lesdits signaux de données transférés et emmagasiner, en réponse, des versions correctes desdits signaux de données dans la mémoire dynamique (2), 14 2589600 afin que lesdits signaux de données soient rafraîchis en réponse au fait d'être transférés audit périphérique fictif et corrigés en réponse au fait que lesdites versions correctes des signaux de données soient emmagasinées dans ladite mémoire dynamique (2).