Brevet FR2614127A1 — publié le 19881021

CIRCUIT DE DETECTION D'ERREUR CAPABLE DE DETECTER DES ERREURS DE TRANSFERT PAR RAFALES DANS UNE MEMOiRE MOi1NS RECEMMENT UTILISEE La présente invention se rapporte à un circuit de détectiond'erreur pour une mémoire moins récemment uti- lisée (mémoire LRU). Une mémoire LRU est un algorithme qui permet de déterminer sur quelle page ou sur quel segment de mémoire principale il faut écrire en surcharge sur la base du temps écoulé depuis le dernier accès à cette mémoire. Un circuit de détection d'erreur pour une telle mémoire est connu. Toutefois, un inconvénient du circuit de détection d'erreur de l'art antérieur réside en ce qu'il n'est pas capable de détecter des erreurs de bits de données causées par des erreurs d'enregistrement en cas de transfert par rafales. Une solution à ce problème serait d'employer des techniques de détection d'erreur par bit de parité. Toutefois, l'addition de ces bits de parité se traduirait par une augmentation du matériel informatique et l'allongement du cycle de la mémoire LRU. Un but de l'invention est donc de proposer un circuit de détection d'erreur capable de détecter des erreurs de bits de données causées par des erreurs d'enregistrement en cas de transfert par rafales. Le circuit de détection d'erreur de l'invention comporte une mémoire LRU comportant une série de cellules de mémorisation de bit pour mémoriser des bits de données qui indiquent une relation entre les dates les plus récentes d'accès à chacune des zones de mémoire d'adresse. Des bits de données d'entrée d'actualisation sont générés par une logique d'actualisation LRU, en réponse au fait qu'une source extérieure a accédé à la mémoire LRU et les bits de données d'entrée d'actualisation ainsi générés sont envoyés à la mémoire LRU pour que celle-ci génère des bits de données de sortie actua- lisés. L'un des bits de données d'entrée d'actuali- sation change de valeur avant d'être envoyé au circuit de détection d'erreur. Les processus de changement de valeur du bit étant effectués à l'entrée et à la sortie de la mémoire LRU, les bits de données exe mpts d'erreur ne sont pas affectés. Le processus de changement de valeur à la sortie de la mémoire fait qu'une chaine ne contenant que des zéro ou des un dans la mémoire LRU est convertie en une distribution qui peut être détectée comme étant illégale par le circuit de détection d'erreur. On va décrire l'invention plus en détail en se référant aux dessins joints, sur lesquels: - la figure 1 est un diagramme par blocs d'un circuit de détection d'erreur pour une mémoire LRU conforme à une réalisation de l'invention; et - la figure 2 est une illustration des relations entre les données mémorisées dans la mémoire LRU de la figure 1 et les zones de mémoire d'adresses associées. En se reportant à la figure 1, elle représente un circuit de détection d'erreur pour une mémoire LRU (mémoire de gestion d'une mémoire principale gérée en y écrivant en surcharge sur la position la moins récemment utilisée) conforme à l'invention. Le circuit de détection d'erreur comporte un registre 1 de demande d'adresse qui reçoit, en provenance d'une source extérieure de demande, non représentée, un signal d'entrée de demande d'adresse RQT et envoie une adresse de lecture de colonne RA à un tableau 2 de mémoire d'adresses qui comprend quatre zones de mémoire ou zones de mémoire d'adresses 0,1,2 et 3 pour mémoriser les indications valides ou invalides du contenu d'une mémoire tampon. Des comparateurs 3 sont prévus pour comparer les signaux de sortie du tableau de mémoire d'adresses et le bit de poids fort de l'adresse provenant du registre 1 (correspon- dant à un bloc) de demande d'adresse. Pour donner un signal de 'coincidence lorsqu'une coincidence apparait dans le comparateur. Les signaux de sortie des comparateurs 3 sont envoyés à un circuit 4 de décision concernant le nombre de coincidences qui envoie un signal de sortie à une logique 5 d'actua- lisation LRU si le nombre de coincidences dépasse une valeur prédéterminée comme on va le décrire. Lorsqu'elle reçoit un signal d'entrée provenant du circuit de décision 4, la logique 5 d'actuali- sation LRU génère des bits d'actualisation et des données d'actualisation qui seront envoyés à une mémoire LRU 9. Les bits d'actualisation indiquent quel bit ou quels bits de la mémoire LRU 9 sont à actualiser et à envoyer dans un registre 6 d'écriture de bit LRU. Le signal de sortie du registre 6 est envoyé à la mémoire 9 pour actualiser ses bits mémorisés. Les données d'actualisation provenant de la logique d'actualisation 5 sont envoyées à un registre 7 d'écriture des données - LRU et à la mémoire LRU 9. La mémoire LRU 9 est initialisée par un circuit, non représenté, avec une chaîne de bits "001000". Une porte NON ET 10, qui agit comme dispositif de changement de valeur, a une entrée reliée à la troisième position de bit du registre 7 à partir de sa position de bit de poids fort et une sortie reliée à la troisième position de bit de la mémoire LRU 9 à partir de sa position de bit de poids fort. Par conséquent, les données mémorisées dans le registre 7 des données d'écriture LRU sont toutes des zéro binaires. On envoie également l'adresse de lecture de colonne RA en provenance du registre de demande, d'adresse 1 à un registre d'adresses de lecture/écriture LRU 8 et donc à la mémoire LRU 9 sous forme d'adresse de lecture/écriture RWA. Dans la réalisation représentée, la mémoire LRU 9 présente une configuration à 6 bits ne compor- tant pas de bits de détection d'erreur. Le bit qui se trouve à la position binaire "c", ou troisième position du bit de poids fort de la mémoire 9 a changé de valeur à l'entrée, du fait de la porte NON ET 10 et à la sortie du fait d'une seconde porte NON ET 11. Les données mémorisées dans les positions de bit "a","b","d","e" et "f" de la mémoire LRU 9 sont combinées avec le signal de sortie de la porte NON ET 11 à l'entrée d'un détecteur de distribution illégale 12. Le détecteur 12 a pour fonction de détecter une erreur lorsque les signaux de sortie combinés présentent une distribution illégale et de générer un signal d'erreur E. Les mêmes signaux de sortie combinés apparaissent à l'entrée d'un circuit 13 de décision concernant la zone de mémoire à remplacer pour déterminer si la zone de données doit ou non être remplacée et pour générer un signal de sortie RLL (zone à remplacer). On va indiquer ci-dessous le mode opératoire du circuit de détection d'erreur de l'invention en se référant à la figure 2 qui représente les relations entre les valeurs binaires des positions de bit "a" à "f" de la mémoire 9 et les dates les plus récentes auxquelles elles se sont référées aux différentes zones de mémoire d'adresses. Sur la figure 2 on voit que la position "a" s'est référée à la zone 1 de mémoire d'adresses plus récemment qu'elle ne s'est référée à la zone O de mémoire d'adresses. Dans cet exemple, c'est une valeur binaire "1" qui est mémorisée à -la position de bits "a". Si une valeur binaire "0" était mémorisée à la position "a" la direction de la flèche "a" de la figure 2 serait inversée pour indiquer que cette position s'est référée à la zone 0 de mémoire d'adresses plus récemment qu'à la zone 1. Ceci s'applique également aux autres positions de bit de la mémoire LRU 9. La mémoire LRU 9 es actualisée à chaque accès, de sorte que la zone de mémoire d'adresses rangée dans le registre est actualisée pour indiquer qu'il -s'agit de la zone à laquelle il a été accédé le plus récemment. Le Tableau 1 ci-dessous indique les valeurs binaires de données qui sont dans la mémoire LRU 9 lorsqu'elle est séquentiellement actualisée aux zones de mémoire d'adresse 0 à 3 comme indiqué sur le Tableau 2. Sur le Tableau 1, les données non actualisées sont laissées en blanc. Le remplacement des données se fait sur la base d'un algorithme qui est l'inverse de celle de l'algo- rithme avec lequel les données sont actualisées comme décrit ci-dessus. De façon spécifique, les données mémorisées dans la mémoire LRU 9 sont remplacées de la façon décrite ci-dessous. TABLEAU 1 Dits LRU b c d f Zones de mémoire d'adresses 0 0 0 O. 1 I 0 0 2 - - _ _ 0 _ _ lI Les blancs du Tableau 2 sont des niveaux binaires qui sont ignorés. Par exemple, du fait qu'à la zone de mémoire d'adresses O, les positions de bits "a", "b" et "c" sont écrites avec des un binaires et que les positions de bit "d", "e" et "f"i sont iaissées en blanc, la zone de mémoire d'adresses 0 peut être remplacée. Il n'y a pas de distribution de données valide autres.que celles représentées sur le Tableau 2 et par conséquent, toute autre distribution de données est traitée comme étant illégale et la mémoire LRU 9 est identifiée comme étant erronée. Le circuit de détection d'erreur de l'invention est caractérisé par le changement de valeur de l'un des signaux d'entrée dans la mémoire LRU, c'est- à-dire le bit qui doit venir à la position "c", ainsi que par un changement de valeur ultérieur du bit de sortie provenant de cette position. Par conséquent, l'algorithme logique de l'invention prend en compte ces changements de valeur de bit. L'erreur d'enregis- tement en cas de transfert par rafales est une erreur qui fait que la mémoire LRU sera chargée avec une chaîne complète de zéro ou une chaine complète de un. Sans le processus de changement de valeur du bit, de telles distributions erronées ne peuvent TABLEAU 2 Bits LRUb cd e a b c d Àf Zones ce mémoire d'adressesraiaer.. -O L 1 1 1 m 2 0 0 I pas être détectées comme étant erronées puisqu'elles ne sont pas illégales en fonction de l'algorithme du Tableau 2. Par contre, le processus de changement de valeur du signal de sortie du bit de la position "c" fait que ces distributions sont converties en une chaîne de "001000" ou "110111" qui peuvent être détectées comme étant illégales. Par ailleurs, les processus de changement de valeur combinés à l'entrée et à la sortie du.bit de position "c" permettent d'envoyer, sans les modifier, les bits exempts d'erreur dans le détecteur 12 de distribution illégale et dans le circuit 13 des décisions concernant la zone de mémoire d'adresses à remplacer. Par conséquent on peut détecter tout type d'erreur d'enregistrement en cas de transfert par rafales sans modifier le matériel informatique et sans en ajouter de supplé- mentaire. REVENDICATIONS 1. Circuit de détection d'erreur pour une mémoire tampon présentant une pluralité de zones de mémoire d'adresses, comportant: une mémoire moins récemment utilisée (LRU) com- -5 prenant une série de cellules de mémorisation de bits pour y mémoriser une série-de bits, lesdits bits mémo- risés indiquant les relations entre les dates les plus récentes de référence pour chacun desdits niveaux d'adresses; un moyen (5) pour générer des bits d'entrée d'actualisation en réponse au fait qu'une source extérieure accède à ladite mémoire LRU (9) et pour envoyer les bits d'entrée d'actualisation ainsi générés dans ladite mémoire LRU pour faire que cette mémoire génère des bits de sortie actualisés; un moyen (10) pour changer la valeur de l'un desdits bits d'entrée d'actualisation avant son envoi dans ladite mémoire LRU; un circuit de détection d'erreur (12) sensible auxdits bits de sortie actualisés pour y détecter une erreur; et un moyen (11) pour changer la valeur de l'un desdits bits de sortie actualisés, de position binaire significative correspondant à celui dudit bit d'entrée d'actualisation dont la valeur a été changée, avant son envoi dans ledit circuit de détection d'erreur (12). 2. Circuit de détection d'erreur pour une mémoire tampon présentant une pluralité de niveaux d'adresses comportant: un registre de demande d'adresses (1) pour rece- voir une demande en provenance d'une source extérieure et pour générer des bits les plus significatifs et des bits les moins significatifs. une mémoire d'adresses (2) présentant une plura- lité de cellules pour mémoriser lesdits bits les moins significatifs provenant dudit registre de demande d'adres- ses (1) pour définir les niveaux d'adresses; une pluralité de comparateurs (3) pour détecter une coincidence entre chacun des contenus desdites cellules et chacun desdits bits les plus significatifs provenant dudit registre de demande d'adresses et pour générer un signal de sortie de coincidence provenant de chacun desdits comparateurs, en réponse à la détection d'une coincidence par chacun desdits comparateurs; un circuit de décision (4) pour générer un signal de sortie lorsque le nombre desdits signaux de coincidence dépasse une valeur prédéterminée; une mémoire la moins récemment utilisée (mémoire LRU) comprenant une série de cellules de mémorisation de bits pour y mémoriser une série de bits, lesdits bits mémorisés indiquant les relations entre les dates les plus récentes de référence aux différents niveaux d'adresses; une logique d'actualisation (5) pour faire dériver du signal de sortie dudit circuit de décision (4) des bits d'entrée d'actualisation en réponse au fait qu'une source extérieure accède à ladite mémoire LRU (9) et pour envoyer les bits d'entrée d'actualisation ainsi générés dans ladite mémoire LRU pour faire que cette mémoire génère des bits de sortie actualisés; un moyen (10) pour changer la valeur de l'un desdits bits d'ehtrée d'actualisation avant son envoi dans ladite mémoire LRU; un circuit de détection d'erreur (12) sensible auxdits bits de sortie actualisés pour y détecter une erreur; et un moyen (11) pour changer la valeur de l'un desdits bits de sortie actualisés, de position bi- naire significative correspondant à celui dudit bit d'entrée d'actualisation dont la valeur a été changée, avant son envoi dans ledit circuit de détection d'er- reur (12).