Brevet FR2685973A1 — publié le 19930709

POINT MEMOIRE POUR MEMOIRE ASSOCIATIVE DESCRIPTION L'invention concerne un point mémoire pour mémoire associative et une mémoire associative compor- tant un plan mémoire constitué d'un ensemble de ces points. Pour toute application nécessitant un trai- tement associatif, les solutions actuelles font appel à l'utilisation de mémoires associatives comportant un plan mémoire constitué d'un ensemble de points mé- moire statiques CMOS Chaque point est constitué de six transistors pour mémoriser l'information et d'une logique de comparaison comprenant quatre transistors. Cette solution a été utilisée dans des mémoires asso- ciatives pour les calculateurs "Data Flow" (Matsushita Electrical Industrial, Japan) dont on pourra trouver une description dans l'article de Hiroshi Kadota and a L, intitulé "An 8-Kbit Content-Adressable and Reentrant Memory", paru dans IEEE Journal of Solid-State Circuits, volume SC-20, No 5, octobre 1988, pages 543-547. Cette solution a également été utilisée pour les réseaux locaux (AMD, Am 99 C 10) dont on pourra trouver l'annonce du circuit dans l'article intitulé "Donnez-lui le mot de passe, la mémoire se chargera de trouver l'information" d'Electronique Hebdo, N 97, page 19, 1989. Pour augmenter la capacité de stockage des mémoires associatives et répondre à des opérations ou à des contraintes spécifiques à certaines appli- cations que les cellules mémoire statiques ne peuvent satisfaire, plusieurs solutions de cellules mémoire ont été proposées Parmi ces contraintes spécifiques, on notera par exemple le cas de l'écriture simultanée sur plusieurs mots de la mémoire. Comme solution, on peut citer les cellules mémoire pseudo-statiques à huit transistors, utilisées dans une mémoire associative dédiée au traitement du signal et d'images On pourra en trouver une description détaillée dans l'article de Simon R Jones et a I, intitulé "A 9 Kbit Associative Memory for High-Speed Parallel Processing Applications", paru dans l'IEEE Journal of Solid-State Circuits, volume 23, N 2, avril 1988, pages 543-547. On peut citer également les cellules mémoire à sept transistors NMOS plus deux éléments résistifs de charge en poly-Si qui sont utilisés dans une mémoire associative pour les applications d'intelligence arti- ficielle, dont on pourra trouver une description détaillée dans l'article de Takeshi Ogura et a I, inti- tulé "A 20 Kb CMOS Associative Memory Lsi for Artificial Intelligence Applications", paru dans Proceedings of the IEEE int lors de la conférence Computer Design (ICCD 86), pages 574-577. On peut aussi citer les cellules mémoire dynamiques à cinq transistors, utilisées dans une mémoire associative pour accélérer les opérations de recherche dans les bases de données On pourra en trouver une description détaillée dans l'article de J.P Wade et Ch G Sodini, intitulé "Dynamic Cross- Coupled Bit-Line Content Addressable Memory Cell for High-Density Array", paru dans IEEE Journal of Solid- State Circuits, volume SC-22, N 1, février 1987, pages 119-121. Or la réalisation de mémoires associatives utilisant des solutions basées sur des plans mémoire constitués de points mémoire associatifs statiques à dix transistors en technologie CMOS tels que décrits précédemment, conduit à de faibles capacités de stockage Cela implique que pour résoudre un problème de recherche associative nécessitant une capacité de stockage importante, il faut un plus grand nombre de processeurs de mémoires associatives, ces solutions devenant alors des solutions très coûteuses. Les solutions basées sur des points mémoire associatifs dynamiques à cinq transistors en technologie NMOS, améliorent sensiblement la capacité de stockage, mais sont moins rapides étant donné qu'il y a nécessité d'une étape de rafraîchissement des points mémoire après chaque opération, d'o une source de consommation supplémentaire. La présente invention permet de résoudre ce problème Elle a pour objet un point mémoire de haute densité et une mémoire associative comprenant un plan mémoire constitué de tels points mémoire et dont le degré d'intégration et la capacitésont ainsi accr Gs. L'utilisation de tels points mémoire permet d'une part de mettre en oeuvre sur un seul circuit une capacité de stockage équivalente à 512 Kbit pour des applications ne nécessitant pas une gestion de réponses multiples (mémoires caches par exemple) et d'autre part, d'augmenter les domaines d'utilisation d'une mémoire associative, en utilisant le gain en surface obtenu pour intégrer des unités de traitement supplémentaires. Ainsi la présente invention permet de réaliser des mémoires associatives de large capacité, ainsi que d'élargir leurs domaines d'application du fait que l'on peut obtenir un gain de place pour une capacité de stockage donnée, ce qui permet de rajouter des opérateurs sur le circuit intégré. La présente invention a plus particuliè- rement pour objet un point mémoire pour mémoire associa- tive statique comprenant deux ensembles de transistors, un premier ensemble ayant une fonction de mémorisation des données et un deuxième ensemble ayant une fonction de comparaison entre la donnée mémorisée et une donnée que l'on applique à l'entrée du point, le résultat de comparaison étant obtenu sur une ligne de sélection S, le deuxième ensemble de transistors étant formé en partie par des transistors du premier ensemble. Selon un premier mode de réalisation, le premier ensemble comporte d'une part quatre transistors pour la mémorisation et d'autre part, deux transistors d'accès reliés à deux lignes de bits et à une ligne de mots, le deuxième ensemble comportant deux transis- tors, les deux transistors de décharge du point étant associés à ces deux transistors du deuxième ensemble pour assurer la fonction comparaison, la donnée à com- parer étant appliquée aux lignes de bits reliées aux deux transistors d'accès du point et la ligne de sélec- tion S étant préchargée lors des lectures-écritures et lors des comparaisons. Selon un deuxième mode de réalisation le premier ensemble comporte d'une part quatre transistors pour la mémorisation et d'autre part, deux transistors d'accès reliés à deux lignes de bits et à une ligne de mots, le deuxième ensemble comportant deux transis- tors, les deux transistors N assurant la décharge du point étant associés aux deux transistors du deuxième ensemble pour assurer la fonction comparaison, la donnée à comparer étant appliquée à deux autres lignes de bits (COMP, COMP) reliées aux deux transistors du deuxième ensemble. Conformément à un autre aspect de l'in- vention, les points mémoire sont réalisés en technologie CMOS. La présente invention a également pour objet une mémoire associative statique comprenant un plan mémoire constitué d'une matrice de points mémoire. La présente invention sera mieux comprise à l'aide de la description qui va suivre, faite à titre indicatif et nullement limitatif et à partir des dessins annexés sur lesquels: la figure 1 représente un schéma d'un point mémoire statique à dix transistors selon l'art antérieur, la figure 2 représente un schéma d'un point mémoire statique conforme à l'invention selon un premier mode de réalisation, la figure 3 représente le schéma d'un point mémoire statique conforme à l'invention selon un deuxième mode de réalisation. On va rappeler dans ce qui suit le fonction- nement d'un point mémoire statique à dix transistors conforme à l'état de la technique, ce point mémoire a été représenté sur le schéma de la figure 1. Dans une mémoire associative statique, chaque point mémoire du plan mémoire comporte un pemier ensemble de transistors assurant une fonction de mémori- sation et un deuxième ensemble assurant une fonction de comparaison. En effet, dans une mémoire de type mémoire associative, chaque point mémoire est associé, dans le plan mémoire, à une logique supplémentaire qui assure l'exécution des opérations de sélection dont le principe repose sur un test d'égalité ou de similarité. Le premier ensemble de transistors (assurant la fonction mémorisation) comporte quatre transitors formant un double inverseur. Les transistors formant ce double inverseur portent les références TR 3, TR 4, TR 7, TR 8 Cet ensemble de mémorisation comporte également deux transistors d'accès TR 9 et TR 10 qui sont reliés par leur grille à une ligne de mots WLI et par leur drain aux lignes de bits BIT et BIT. Le deuxième ensemble de transistors est formé par les transistors TR 1, TR 2, TR 5, TR 6, formant une porte de type OU EXCLUSIF Les transistors T 1 et T 2 sont reliés à l'ensemble de mémorisation par leurs sources (ou les drains) aux sources (ou aux drains) des transistors TR 3 et TR 4 et par leurs grilles aux grilles des transistors TR 3 et TR 4 et TR 7 et TR 8. La source (ou le drain) des transistors TR 5 et TR 6 est reliée à une ligne de sélection S Les grilles des transistors TR 5 et TR 6 sont reliées aux lignes de bits BIT et BIT. Les points Pl et P 2 sont les points de mémorisation de la donnée écrite dans le point mémoire. Une opération de lecture se déroule de la façon suivante: On suppose pour l'explication qu'une donnée a été enregistrée et qu'elle correspond à l'état 1. Ainsi, Pl est à l'état 1 et P 2 à l'état O On précharge les lignes de bits, BIT et BIT à des tensions comprises entre 2,5 v et 5 v On sélectionne la ligne de mots WLI par application d'une tension qui rend conducteurs les transistors TR 9 et TR 10 Selon l'exemple qui a été pris P 1 = 1 et P 2 =O, le point Pl ne peut se décharger, alors que la ligne BIT va se décharger à travers TR 4 et TR 10 On retrouve les valeurs de Pl et P 2 sur les lignes BIT et BIT. Une opération d'écriture se déroule de la façon suivante: on suppose par exemple que Pl est à l'état 1 et P 2 à l'état O et que l'on veut écrire O dans Pl et 1 dans P 2. On va alors rentrer un O au moyen de la ligne BIT et un 1 sur la ligne BIT On sélectionne ensuite la ligne de mots WLI en appliquant une tension correspondant à un état logique 1 pour la ligne WLI. Pl se décharge et provoque le basculement du point mémoire Le point P 2 passe alors à l'état 1. Une opération de comparaison se déroule de la manière suivante: On suppose que le point Pl est égal à 1 et le point P 2 est égal à O On applique une tension correspondant à l'état O sur la ligne WLI. On va supposer que l'on tombe sur le cas de l'égalité entre la donnée que l'on rentre et la donnée enregistrée. On précharge la ligne de sélection S, c'est-à-dire qu'elle est positionnée à l'état 1 On applique donc 1 sur la ligne BIT et O sur la ligne BIT Le transistor TR 5 devient passant et le transistor TR 1 reste bloqué La ligne de sélection S ne se décharge pas et reste à 1. Le transistor TR 6 est bloqué et le tran- sistor TR 2 est passant La ligne de sélection S ne peut pas non plus se décharger par ce chemin et reste à 1 Le fait que la ligne de sélection ne change pas d'état permet de conclure alors qu'il y a égalité entre la donnée entrée et la donnée mémorisée. Si la donnée entrée est différente du point enregistré en P 1, le transistor TR 5 est bloqué et le transistor TR 1 est également bloqué La ligne de sélec- tion S ne peut pas se décharger par ce chemin En revanche, le transistor TR 6 devient conducteur et le transistor TR 2 devient également conducteur Il y a création d'un chemin de décharge de la ligne S, chemin qui passe par les transistors TR 6 et TR 2 S se décharge et passe donc à l'état O On sait alors que la valeur entrée est différente du point mémorisé. La figure 2 représente un point mémoire statique à huit transistors correspondant à un premier mode de réalisation de L'invention. Le premier ensemb Le de transistors assurant La fonction de mémorisation du point est formé des transistors T 3, T 4, T 7 et T 8 et éga Lement des tran- sistors d'accès T 5 et T 6 Ces transistors d'accès sont re Liés d'une part à La Ligne de mots WLI et d'autre part, aux Lignes BIT et BIT. Conformément à L'invention, Le deuxième ensemb Le assurant La fonction de comparaison d'une donnée entrée à La donnée mémorisée dans Le point mémoire comporte deux transistors Tl et T 2 reliés aux transistors d'accès T 3, T 5, T 4 et T 6 La fonction de comparaison est assurée par La porte Logique OU EXCLUSIF réa Lisée par ces deux transistors Tl et T 2 associés aux transistors T 3 et T 4 du point de mémorisation. Les transistors Tl et T 2 sont re Liés à La Ligne de séLection S par Leur drain (ou source) et aux Lignes de bits par Leur gri L Le. Se Lon ce mode de réalisation, Les opérations de Lecture et d'écriture nécessitent que La Ligne de séLection S soit préchargée (S= 1) Ainsi L'on évite que Les transistors de La Logique de comparaison Tl et T 2 ne forment un chemin de décharge de La ce L Lu Le de mémorisation aux points Pl et P 2 et de ce fait, L'on évite de compromettre La stabilité du point mémoire. Le mode de fonctionnement du point mémoire conforme à ce premier mode de réalisation va être décrit dans La suite. Une opération de Lecture comporte Les étapes suivantes: On précharge la ligne de sélection S à 1 On précharge les lignes BIT et BIT (BIT= 1 et BIT=l), on positionne la ligne de mots WLI à 1 On suppose que P 1 = 1 et P 2 =O La ligne BIT va se décharger à travers T 4 et T 6 et on retrouve les valeurs Pl et P 2 sur les lignes BIT et BIT. Une opération d'écriture comporte les étapes suivantes: On veut par exemple écrire O au point Pl et I au point 2. On applique alors un O sur la ligne BIT et un 1 sur la ligne BIT On positionne la Ligne WLI à 1 Les transistors T 5 et T 6 sont conducteurs Le point Pl se décharge dans La ligne BIT à travers T 5, P 2 est forcé à 1 par le basculement du point mémoire. Une opération de comparaison comporte les étapes suivantes: On précharge la ligne de sélection S, S égale à 1. On suppose pour l'explication que la donnée que l'on entre est par exemple égale à O, c'est-à-dire différente de la donnée enregistrée qui se trouve au point P 1. Un O est donc appliqué sur la ligne de bits et un 1 sur la ligne BIT La ligne de mots WLI est à l'état O Ainsi le transistor T 1 est bloqué et Le transistor T 3 est bloqué Le transistor T 2 est conducteur et le transistor T 4 reçoit la valeur du point Pl et devient conducteur Ainsi un chemin de décharge pour la ligne S est créé, ce chemin de décharge passe par les transistors T 2 et T 4 S se décharge et passe à l'état O, état qui est différent de la valeur du point P 1. On peut conclure ainsi que la donnée entrée est différente de la donnée enregistrée car l'état de la ligne S est modifié. On va voir maintenant que lorsque la donnée entrée correspond à La donnée enregistrée au point P 1, L'état de la ligne S ne change pas. En effet, la ligne BIT est égale à 1, la ligne BIT est égale à 0, Pl est égal à 1 et P 2 est égal à O Le transistor T 1 est donc passant, le transistor T 3 est bloqué (L'état O de P 2 est appliqué sur sa grille) Le transistor T 2 est bloqué, T 4 est passant (sa grille est à l'état 1 provenant du point P 1) IL n'y a donc pas de chemin de décharge pour la ligne S. On voit donc que cette structure correspond à un point mémoire associatif statique présentant l'avantage d'avoir un encombrement moindre que celui de l'état de la technique. On a représenté sur la figure 3 un deuxième mode de réalisation d'un point mémoire conforme à l'invention Selon ce mode de réalisation, les transistors T 1 et T 2 de l'ensemble logique de compa- raison ont leur grille reliée à deux autres lignes de bits référencées COMP, COMP Ces lignes de bits permettent d'entrer La donnée à comparer à la donnée enregistrée, dans le point mémoire P 1. Ainsi, selon ce mode de réalisation, on n'a pas besoin de réaliser une précharge de la ligne de sélection S pendant les opérations de lecture-écriture, comme c'est le cas par exemple pour le mode de réalisation qui vient d'être décrit, relatif au schéma de la figure 2. Selon ce mode de réalisation, une opération de lecture se réalise de la manière suivante: Les lignes BIT et BIT sont positionnées à 1 On suppose par exemple que le point Pl est à 1 et le point P 2 à O On sélectionne la ligne de mots WLI en la positionnant à l'état 1 La ligne BIT se 1 1 décharge à travers les transistors T 6 et T 4 Ainsi on retrouve la valeur du point Pl sur la ligne BIT et la valeur du point P 2 sur la ligne BIT. Une opération d'écriture se déroule de la manière suivante: Dans le cas o l'on désire écrire un O au point Pl et donc un 1 au point P 2, on positionne la ligne BIT à O et la ligne BIT à 1 On sélectionne la ligne de mots WLI en la positionnant à l'état 1. Le point Pl se décharge à travers T 5 et se retrouve donc à l'état 0, tandis que le point P 2 est forcé à la valeur 1 par le basculement du point mémoire. Ainsi on retrouve les valeurs entrées par lignes BIT et BIT dans les points Pl et P 2. Une opération de comparaison se déroule de la manière suivante: On précharge la ligne de sélection S en la positionnant à 1 On positionne la ligne de mots à l'état O Puis l'on suppose que l'on entre la donnée O pour la comparer à la valeur du point enregistrée. On positionne par conséquent la ligne COMP à O et la ligne COMP à 1 Le transistor T 1 est donc bloqué, le transistor T 3 est également bloqué Le transistor T 2 est conducteur et le transistor T 4 est également conducteur On crée ainsi un chemin de décharge de la ligne S à travers les transistors T 2 et T 4 La ligne S qui avait été préchargée à l'état 1 change d'état pour passer à l'état O On peut conclure alors que la donnée entrée est différente de la donnée enregis- trée Dans le cas contraire, il n'y aura pas de chan- gement d'état de la ligne S et on conclura que la donnée entrée est égale à la donnée enregistrée. La structure qui vient d'être décrite permet d'éviter d'avoir à précharger la ligne de sélection lors des opérations de lecture- écriture car elle permet d'isoler la logique de comparaison du point mémoire. Cette structure du point mémoire peut être réalisée avec les technologies actuelles et de préférence avec une technologie à trois niveaux de métaux. Ainsi pour les deux architectures de point mémoire proposées, l'opération de sélection, c'est-à- dire de comparaison se déroule selon les étapes suivante: précharger les lignes de sélection S, positionner sur les lignes de bits (les lignes COMP pour la deuxième architecture) la donnée à comparer, ainsi que son complémentaire, effectuer la comparaison au moyen de la structure OU EXCLUSIF, formée par les transistors T 1, T 2, T 3, T 4. Si l'égalité est vérifiée, les lignes de sélection restent préchargées Dans le cas contraire, elles se déchargent à travers l'une des branches créées par les transistors T 1, T 3 ou T 2, T 4. Les deux structures qui viennent d'être décrites permettent donc d'avoir un encombrement moindre et par conséquent pour une surface de mémoire donnée d'augmenter sa densité d'intégration et sa capacité. Elles permettent comme on l'a vu à travers la descrip- tion de garantir une lecture non destructrice du contenu. REVENDICATIONS 1 Point mémoire pour mémoire associative statique comprenant deux ensembles de transistors, un premier ensemble ayant une fonction de mémorisation des données et un deuxième ensemble ayant une fonction de comparaison entre la donnée mémorisée et une donnée que l'on applique à l'entrée du point, le résultat de comparaison étant obtenu sur une ligne de sélection S, caractérisé en ce que le deuxième ensemble (T 1, T 2, T 3, T 4) de transistors est formé en partie par des transistors du premier ensemble (T 3, T 4, T 7, T 8, TS, T 6). 2 Point mémoire pour mémoire associative statique selon la revendication 1, caractérisé en ce que le premier ensemble comporte d'une part quatre transistors (T 3, T 4, T 7, T 8) pour la mémorisation, et d'autre part, deux transistors d'accès (T 5, T 6) reliés aux lignes de bits et à une ligne de mots et en ce que le deuxième ensemble comporte deux transis- tors, les deux transistors T 3 et T 4 étant associés à ces deux transistors du deuxième ensemble pour assurer la fonction comparaison, la donnée à comparer étant appliquée aux lignes de bits reliées aux deux tran- sistors d'accès du point et la ligne de sélection S étant préchargée lors des lectures-écritures et des comparaisons. 3 Point mémoire pour mémoire associative selon la revendication 1, caractérisé en ce que le premier ensemble comporte d'une part quatre transistors (T 3, T 4, T 7, T 8) pour la mémorisation, et d'autre part, deux transistors (T 5, T 6) d'accès reliés aux lignes de bits et à une ligne de mots et en ce que le deuxième ensemble comporte deux transistors, les deux transistors T 3 et T 4 étant associés aux deux transistors du deuxième ensemble pour assurer La fonction comparaison, La donnée à comparer étant appliquée à des lignes de bits COMP et COMP reliées aux deux transistors du deuxième ensemble. 5 4 Point mémoire selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est réalisé en technologie CMOS. 5 Mémoire associative statique caractérisé en ce qu'e L Le comprend un plan mémoire constitué d'une matrice de points mémoire se Lon l'une quelconque des revendications précédentes.