FR2817996A1 - Memoire cache a cellules dram - Google Patents

Memoire cache a cellules dram Download PDF

Info

Publication number
FR2817996A1
FR2817996A1 FR0016033A FR0016033A FR2817996A1 FR 2817996 A1 FR2817996 A1 FR 2817996A1 FR 0016033 A FR0016033 A FR 0016033A FR 0016033 A FR0016033 A FR 0016033A FR 2817996 A1 FR2817996 A1 FR 2817996A1
Authority
FR
France
Prior art keywords
flip
flop
cache memory
column
flops
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0016033A
Other languages
English (en)
Other versions
FR2817996B1 (fr
Inventor
Richard Ferrant
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Priority to FR0016033A priority Critical patent/FR2817996B1/fr
Publication of FR2817996A1 publication Critical patent/FR2817996A1/fr
Application granted granted Critical
Publication of FR2817996B1 publication Critical patent/FR2817996B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/043Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using capacitive charge storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Landscapes

  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

L'invention concerne une mémoire cache en circuit intégré et son procédé de commande, la mémoire comportant au moins un réseau matriciel (10) d'éléments de mémorisation (20) associés, en colonnes, à deux lignes de bit complémentaires (BLi, (CF DESSIN DANS BOPI) chaque élément comprenant, en série entre une première ligne de bit (BLi) et un potentiel de référence, un transistor (T) et un élément capacitif (C), la grille du transistor étant connectée â une ligne de mot (wLj). La mémoire comporte en outre, pour chaque colonne du réseau matriciel, un amplificateur de lecture (SAi) entre les lignes de bit et deux points de lecture complémentaires, au moins une première bascule de stockage temporaire d'une valeur à comparer à un des éléments de mémorisation de la colonne, et un unique élément de comparaison entre le contenu de la première bascule et un état fonction de l'état d'un desdits points de lecture.

Description

<Desc/Clms Page number 1>
I MÉMOIRE CACHE À CELLULES DRAM
Figure img00010001

La présente invention concerne une mémoire cache, couram- ment désignée dans la technique par le sigle CAM d'après l'expression anglo-saxonne"Content Adressed Memory".
La figure 1 représente une cellule d'une mémoire cache classique. Cette cellule 1 est associée à deux lignes de bit complémentaires BLi et BLi, représentées verticalement, à une ligne de mot WLj représentée horizontalement et à une ligne de résultat MATCH représentée horizontalement. Les lignes de bit sont communes à des colonnes de cellules 1 identiques, et les lignes de mot et de résultat sont communes à des rangées de cellules de la mémoire.
Une cellule d'une mémoire cache comprend un élément de mémorisation MEM et un élément de comparaison CMP délimités en figure 1 par des pointillés.
L'élément de mémorisation MEM comprend, entre les lignes BLi et BLi, la connexion en série d'un transistor MOS Tl, de deux inverseurs en antiparallèle INV1 et INV2 et d'un transistor MOS T2. Les grilles des transistors Tl et T2 sont reliées à la ligne de mot WLj. Pour mémoriser un état, on met un 1 sur la ligne de mot WLj. Les deux transistors Tl et T2 sont alors passants et les points ST et ST situés de part et d'autre des inverseurs prennent, respectivement, les états existants sur les lignes BLi
<Desc/Clms Page number 2>
et BLi. La ligne de mot WLj est ensuite remise à zéro, les transistors Tl et T2 sont bloqués, et l'état des points ST et ST est mémorisé.
L'élément de comparaison CMP comprend deux transistors MOS T3 et T4 en série entre les lignes BLi et BLi. Le point de connexion 2 de ces deux transistors est connecté à la grille d'un transistor T5 connecté entre la ligne de résultat MATCH et la masse. Pendant une étape de comparaison, la ligne WLj est maintenue à zéro, et les lignes BLi et BLi sont mises dans l'état que l'on veut comparer à celui préalablement mémorisé. Si on reproduit sur les lignes BLi et BLi l'état qui est mémorisé, le point 2 est à niveau bas (0) et le transistor T5 est bloqué.
L'état de la ligne de résultat MATCH (qui est maintenu à une tension haute Vdd par une résistance R ou tout autre moyen de mise à niveau haut) n'est donc pas modifié. En fait, comme la ligne MATCH est reliée à toutes les cellules d'une même rangée, on vérifie ainsi qu'un mot à comparer, préchargé dans les lignes BLi et BLi, est identique au mot mémorisé dans la rangée correspondante. Par contre, si un bit d'un mot à comparer diffère du bit correspondant du mot mémorisé, le point 2 de la cellule 1 correspondant passe à niveau haut, le transistor T5 correspondant devient passant et la ligne MATCH change d'état et passe à zéro.
La figure 2 représente un exemple classique d'une cellule cache 5 pourvue, en plus des éléments de la cellule 1 (figure 1), d'un registre de masque MAS délimité par un pointillé et permettant d'inhiber une cellule. Cela permet de comparer des mots dont on fixe certains bits comme étant indifférents. Pour atteindre ce résultat, on prévoit un transistor supplémentaire T6 entre le transistor T5 du comparateur CMP et la masse. Ce transistor T6 est rendu constamment passant quand on veut effectivement valider la comparaison de la cellule concernée et est rendu constamment ouvert quand on veut inhiber la comparaison. En effet, dans ce dernier cas, quel que soit l'état du transistor T5, la connexion vers la masse de la ligne de résultat MATCH pour la cellule concernée est constamment ouverte. Pour la
<Desc/Clms Page number 3>
commande du transistor T6, le registre MAS, dit de masquage, comprend des transistors Tl'et T2'et des inverseurs INV1'et INV2', similaires aux composants de l'élément de mémorisation MEM précédemment décrit de la cellule cache 1, mais disposés entre des lignes de bit additionnelles BLMi et BLMi, et associés à une ligne de mot additionnelle WLMj.
On remarquera que les éléments de mémorisation MEM et de masquage MAS des cellules mémoire s'apparentent à des cellules de type SRAM.
La figure 3 rappelle très schématiquement la structure d'un inverseur INV en technologie CMOS. Cet inverseur comprend deux transistors MOS complémentaires P et N en série entre une source de tension haute Vdd et la masse. L'entrée E de l'inverseur correspond aux grilles communes des transistors P et N, et la sortie S de l'inverseur correspond à la borne commune des deux transistors.
De ce qui précède, il découle qu'une cellule cache 1 (figure 1) sans registre de masque comprend neuf transistors MOS et qu'une cellule 5 (figure 2) avec registre de masque comprend seize transistors MOS.
Un objet de la présente invention est de proposer un circuit mémoire à cellules cache qui puisse être réalisé sous forme de circuit intégré avec une surface plus faible que les circuits de l'art antérieur.
L'invention vise, plus particulièrement, à réduire le nombre de transistors nécessaires dans un circuit mémoire à cellules cache.
Pour atteindre ces objets, la présente invention prévoit une mémoire cache en circuit intégré comportant : au moins un réseau matriciel d'éléments de mémorisation associés, en colonnes, à deux lignes de bit complémentaires, chaque élément de mémorisation comprenant, en série entre une première ligne de bit et un potentiel de référence, un transistor et un élément capacitif, la grille du transistor étant connectée à une ligne de mot ; et
<Desc/Clms Page number 4>
pour chaque colonne du réseau matriciel : un amplificateur de lecture entre les lignes de bit et deux points de lecture complémentaires ; au moins une première bascule de stockage temporaire d'une valeur à comparer à un des éléments de mémorisation de la colonne ; et un unique élément de comparaison entre le contenu de la première bascule et un état fonction de l'état d'un desdits points de lecture.
Selon un mode de réalisation de la présente invention, la mémoire comporte en outre, pour chaque colonne, une deuxième bascule de stockage temporaire des signaux complémentaires lus par l'amplificateur.
Selon un mode de réalisation de la présente invention, les fonctions respectives des deux bascules sont interchangeables.
Selon un mode de réalisation de la présente invention, la mémoire comporte en outre, pour chaque colonne, un unique registre de masque propre à inhiber la comparaison de la colonne correspondante.
Selon un mode de réalisation de la présente invention, la mémoire comporte un circuit de décodage de rangées pour sélectionner une rangée du plan mémoire, le circuit de décodage de rangée étant commandé : en écriture à partir d'un registre d'adresse ; et en lecture à partir d'un compteur permettant un défilement séquentiel de toutes les rangées.
Selon un mode de réalisation de la présente invention, chaque bascule est associée à des lignes d'entrée-sortie propres à être connectées à des bornes d'entrée-sortie du circuit mémoire.
Selon un mode de réalisation de la présente invention, le stockage d'une rangée de données dans les premières bascules s'effectue simultanément pour toutes ces bascules.
<Desc/Clms Page number 5>
La présente invention prévoit également un procédé de commande d'une mémoire cache qui consiste à comparer successive- ment le contenu de chaque rangée de cellules du plan de mémoire par rapport aux valeurs stockées dans les premières bascules.
Selon un mode de réalisation de la présente invention, on isole, pendant une comparaison, les amplificateurs de lecture des éléments de comparaison.
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente une cellule de mémoire cache classique ; la figure 2 représente une cellule de mémoire cache à masquage classique ; la figure 3 représente un exemple classique d'inverseur ; la figure 4 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un circuit mémoire selon la présente invention ; la figure 5 représente un premier mode de réalisation d'une colonne d'une mémoire cache selon la présente invention ; la figure 6 est un schéma plus détaillé du mode de réalisation de la figure 5 ; la figure 7 représente un deuxième mode de réalisation d'une colonne de mémoire cache selon la présente invention ; la figure 8 représente un troisième mode de réalisation d'une colonne de mémoire cache selon la présente invention ; et la figure 9 représente un quatrième mode de réalisation d'une colonne de mémoire cache selon la présente invention.
Les mêmes éléments ont été désignés par les mêmes références aux différentes figures. Pour des raisons de clarté, seuls les constituants de la mémoire cache qui sont nécessaires à la compréhension de l'invention ont été représentés aux figures et
<Desc/Clms Page number 6>
Figure img00060001

seront décrits par la suite. En particulier, les circuits d'adressage, de commande et de sélection de rangée n'ont pas été détaillés et ne font pas l'objet de la présente invention.
Une caractéristique de la présente invention est de proposer une mémoire cache en circuit intégré basée sur un réseau matriciel de cellules de type DRAM, c'est-à-dire constituées chacune d'un transistor associé à un condensateur de stockage.
Une autre caractéristique de la présente invention est de reporter, à l'extérieur du réseau matriciel, les éléments de comparaison et de prévoir un seul élément de comparaison par colonne d'éléments de mémorisation.
La figure 4 représente, sous forme de blocs et de façon très schématique, l'architecture d'une mémoire cache en circuit intégré selon la présente invention.
On prévoit un réseau matriciel ou plan 10 d'éléments de mémorisation 20 ayant tous la même structure. Chaque cellule ou élément de mémorisation 20 est associé, comme précédemment, à deux lignes de bit complémentaires BLi et BLi, représentées verticalement, et à une ligne de mot WLj représentée horizontalement. Les lignes de bit BLi et BLi sont communes à des colonnes d'éléments de mémorisation et les lignes de mot sont communes à des rangées d'éléments de mémorisation.
Chaque élément de mémorisation 20 comprend, entre la ligne BLi et la masse, la connexion en série d'un transistor MOS T et d'un élément capacitif C. La grille du transistor T est reliée à la ligne de mot WLj. La ligne BLi constitue une ligne de référence ou de précharge. Chaque colonne i du plan mémoire 10 est associée à un amplificateur de lecture SAi. La structure exposée ci-dessus reprend jusqu'ici une structure classique de mémoire DRAM.
Selon l'invention, chaque amplificateur de lecture SA est associé à un circuit 30 (CC) comprenant un élément de comparaison et au moins un élément (bascule) de stockage temporaire d'une valeur à comparer. Des modes de réalisation de circuits de
<Desc/Clms Page number 7>
comparaison et de stockage temporaire seront décrits par la suite en relation avec les figures 5 à 9.
Les éléments de comparaison des circuits 30 sont associés à une ligne de résultat MATCH commune à la rangée de circuits 30. L'état de la ligne de résultat MATCH est, par défaut, maintenu à une tension haute Vdd par une résistance ou tout autre moyen (non représenté) de mise à niveau haut. Comme la ligne MATCH est reliée à tous les circuits 30, on vérifie qu'un mot à comparer, stocké dans les circuits 30, est identique ou non à l'un des mots stockés dans le plan mémoire 10. Dans l'exemple de la figure 4, le plan mémoire représente un mot de n bits. Le circuit mémoire de l'invention comprend donc n amplificateurs de lecture SA1, SAi, SAn et n circuits de comparaison et de stockage temporaire CC1, CCi, CCn.
Une différence importante par rapport à une mémoire cache classique est que, selon l'invention, on ne compare pas simultanément un mot à comparer par rapport à tous les mots stockés dans le plan mémoire, mais on effectue la comparaison rangée par rangée. Par conséquent, une mémoire cache selon l'invention comprend un circuit 40 de décodage de rangée (RDEC) destiné à sélectionner, à partir d'un adressage, l'une des rangées j du plan mémoire 10 qui doit être lue par les amplificateurs et comparée par les circuits 30. Le circuit 40 reçoit des commandes de sélection de rangée (ligne de mot) soit d'un registre d'adresse 41 (ADD) soit d'un compteur 42 (CNT). La sélection entre le registre d'adresse 41 et le compteur CNT 42 s'effectue au moyen d'un multiplexer 43 commandé par un bloc 44 (CURL) de commande de la mémoire. Le rôle du registre d'adresse 41 est de permettre un stockage des différents mots dans le plan mémoire 10. Le rôle du compteur 42 est de permettre une comparaison successive du mot stocké temporairement dans les circuits 30 par rapport au contenu de toutes les rangées stockées dans le plan mémoire 10. Il s'agit donc d'une comparaison séquentielle.
On aurait pu penser qu'il était préjudiciable au fonctionnement d'une mémoire cache d'effectuer un examen séquentiel
<Desc/Clms Page number 8>
plutôt qu'un examen simultané comme dans un cas classique basé sur des éléments de mémorisation de type SRAM. Toutefois, l'inventeur s'est aperçu que les capacités en terme de rapidité de comparaison des mémoires cache classiques n'étaient plus exploitées en pratique en raison des progrès en terme de contenance de ces mémoires. En effet, il est désormais courant d'avoir une mémoire cache en circuit intégré constituée de rangées comprenant 1024 cellules, chaque mot représentant, par exemple, 64 cellules et la comparaison pouvant être effectuée sur 16 mots d'un coup. De plus, dans un circuit classique, comme la ligne de bit est commune, on peut comparer toutes les lignes en même temps. On sort donc dans cet exemple seize signaux de comparaison multipliés par le nombre de rangées (1024). On voit donc que la capacité des mémoires actuelles permettrait d'avoir environ 256000 comparaisons à la fois. Toutefois, les microprocesseurs ne peuvent pas traiter une telle quantité d'informations. On en est donc classiquement réduit à traiter par paquets des résultats fournis par une mémoire cache. Cela annule en partie le bénéfice d'une comparaison rapide.
Selon l'invention, on sélectionne l'exploitation des résultats de comparaison non plus au moyen du microprocesseur de traitement de la mémoire cache mais on compare une rangée de chaque plan mémoire à la fois. Cela représente, en reprenant l'exemple ci-dessus, 256 fois moins de résultats de comparaison disponibles simultanément. Dans l'exemple de la figure 4, on a représenté une seule matrice mémoire, c'est-à-dire qu'un seul plan de mots. Toutefois, avec les techniques de miniaturisation actuelles, ces plans peuvent être multipliés et on peut disposer, comme dans un circuit classique, d'au moins seize mots simultanément.
En réduisant le nombre de résultats disponibles simultanément, ces résultats sont susceptibles d'être traités simultanément par les microprocesseurs.
Selon l'invention, on ne modifie pas sensiblement la vitesse d'exploitation des résultats d'une comparaison. Cepen-
<Desc/Clms Page number 9>
dant, on réduit considérablement le nombre de transistors nécessaires dans la mémoire cache. En effet, un seul transistor est désormais nécessaire par élément de mémorisation du plan 10 au lieu de 9 ou 16 dans un élément de mémorisation classique. Le nombre de transistors ajoutés en sortie de chaque rangée est négligeable en raison du grand nombre de rangées susceptibles d'être réalisées dans le plan mémoire (par exemple, 1024 rangées). L'économie globale en nombre de transistors est de l'ordre de 16 millions par mégabits de capacité de stockage.
Le recours à des éléments de mémorisation de type DRAM nécessite un rafraîchissement. Lors de l'utilisation, ce rafraîchissement ne pose pas de problème dans la mesure où on lit séquentiellement toutes les rangées, ce qui conduit automatiquement à un rafraîchissement du plan mémoire. Hors utilisation, on peut prévoir de continuer à adresser séquentiellement les rangées du plan mémoire pour rafraîchir les cellules. Dans l'exemple de la figure 4, il suffit pour cela d'utiliser le compteur 42.
La figure 5 représente un premier mode de réalisation d'une colonne d'une mémoire cache selon l'invention.
Les deux lignes I/Oi et I/Oi d'entrée-sortie des amplificateurs de lecture SAi sont, selon l'invention, exploitées par le circuit 30 associé à chaque colonne. Un circuit 30 de l'invention se compose d'un élément 31 de comparaison (COMP), et d'un élément de mémorisation temporaire 32 contenant au moins un registre ou bascule (LATCH). Dans l'exemple de la figure 5, on utilise deux bascules 33 (LATCH 1) et 34 (LATCH 2). Une première bascule (par exemple, la bascule 33) est destinée à contenir le mot dont on souhaite effectuer la comparaison. La deuxième bascule 34 (optionnelle) est destinée à stocker temporairement l'information d'une rangée pendant que l'on effectue la lecture d'une autre rangée comme on le verra par la suite. Les bascules 33 et 34 reçoivent chacune les deux lignes d'entrée-sortie I/Oi et I/Oi. Pour permettre un chargement du mot à comparer dans la bascule 33, celle-ci reçoit en outre des lignes I/Oc et I/Oc d'entrée-sortie provenant du circuit de commande (44, figure 4).
<Desc/Clms Page number 10>
Figure img00100001

Ces lignes 1/Oc et 1/Oc permettent la mémorisation du bit à comparer dans la bascule 33 de la colonne associée. Pour le chargement de ce bit, il est nécessaire de pouvoir sélectionner la colonne dans la rangée. Pour cela, la bascule 33 est sélectionnée au moyen d'un signal Yi de sélection de colonne. Comme on le verra par la suite, l'un des signaux I/Oc et I/Oc constitue en fait le signal délivré par la bascule 33 à l'élément de comparaison 31. La même structure est reproduite pour la deuxième bascule 34 qui est associée à des lignes d'entrée-sortie 1/Os et 1/Os et au signal Yi.
L'élément de comparaison 31 est, dans le mode de réalisation représenté, constitué d'une porte logique de type OUExclusif (XOR) 35. Cette porte 35 reçoit les deux signaux directs ou les deux signaux complémentaires des bascules 33 et 34 selon le type de comparaison à effectuer. Sa sortie est reliée à la grille d'un transistor T5 de pincement de la ligne de résultat MATCH. Ce transistor T5 est, comme précédemment, relié entre la ligne MATCH et la masse. La fonction d'une porte OU-Exclusif fournit bien un résultat à l'état haut dans le cas où les deux bits comparés sont différents. Par conséquent, on respecte bien le fonctionnement d'une ligne de résultat classique dont l'état n'est pas modifié (maintenu à la tension haute Vdd) si les deux bits comparés sont identiques. Dans le cas où les deux bits comparés sont différents, le transistor T5 est rendu passant et la ligne MATCH change d'état et passe à zéro.
Pour la réalisation des portes logiques 35, on utilisera des "demi-portes", c'est-à-dire réalisées au moyen de transistors d'un seul type (par exemple, au moyen de transistors à canal N). En effet, il faut que la porte ne puisse pas remonter dans un état haut et forcer cet état, faute de quoi on risque un conflit sur la ligne de résultat MATCH. La réalisation d'une demi-porte est à la portée de l'homme du métier.
La figure 6 représente, de façon plus détaillée, la structure du circuit 30 de la figure 5.
<Desc/Clms Page number 11>
Un amplificateur de lecture SAi comprend, par exemple, entre des lignes BLi et BLi, la connexion en série d'un premier commutateur 51, de deux inverseurs en antiparallèle 52 et 53 et d'un deuxième commutateur 54. Les commutateurs 51 et 54 sont commandés par un signal Hi et sont destinés à isoler l'amplificateur SAi et le circuit 30 de la colonne (donc du plan mémoire) quand le signal Hi est inactivé. Lorsque le signal Hi est actif, il est possible, à travers l'amplificateur SAi, de lire une donnée de la colonne pour la stocker dans la bascule 34, ou d'écrire dans la colonne la donnée stockée préalablement dans cette bascule 34. On voit donc que la bascule 34 est utilisée non seulement pour stocker temporairement un élément lu dans le plan mémoire mais également lors de l'écriture. C'est ici le rôle des lignes d'entrée-sortie IlOs et I/Os de la bascule 34.
La bascule 33 comprend, entre les points 55 et 56 situés de part et d'autre des inverseurs 52 et 53 de l'amplificateur SAi, la connexion en série d'un premier commutateur 57, de deux inverseurs en antiparallèle 58 et 59 et d'un deuxième commutateur 60. Les points 61 et 62 situés de part et d'autre des inverseurs 58 et 59 sont par ailleurs reliés individuellement, par un commutateur 63 ou 64, à la ligne I/Oc ou 1/Oc.
Les commutateurs 57 et 60 sont commandés par un signal SEL qui a pour rôle d'activer ou de désactiver la bascule 33. Comme on le verra par la suite, les commutateurs 57 et 60 et le signal SEL sont optionnels dans le cas où chaque bascule 33 et 34 a un rôle dédié immuable. Dans ce cas, la bascule 33 est en permanence isolée de l'amplificateur de lecture dans la mesure où elle ne
Figure img00110001

sert qu'à stocker la valeur à comparer. Dans le mode de réalisation représenté par la figure 6, les bascules 33 et 34 ont été conçues pour pouvoir jouer chacune soit le rôle de la bascule contenant les données mémorisées soit le rôle de la bascule contenant la donnée à comparer. Elles ont donc la même structure.
La bascule 34 comprend, entre les points 55 et 56, la connexion en série d'un premier commutateur 66, de deux inverseurs 67 et 68 et d'un deuxième commutateur 69. Les points 70 et
<Desc/Clms Page number 12>
71 situés de part et d'autre des inverseurs 67 et 68 sont par ailleurs reliés individuellement, par des commutateurs 72 et 73, à la ligne 1/Os ou à la ligne 1/Os. Les commutateurs 66 et 69 sont commandés par un signal SEL qui a pour rôle d'activer la bascule 34. Dans la variante où la bascule 34 est dédiée à stocker temporairement la donnée lue par l'amplificateur, les commutateurs 66 et 69 sont, à la différence des commutateurs 57 et 60 de la bascule 33, indispensables. Les entrées de la porte XOR 35 sont reliées aux points 62 et 71. On pourra également les relier aux points 61 et 70 pour un même résultat.
Les commutateurs 63,64, 72 et 73 sont commandés, de préférence simultanément, par le signal de sélection de colonne Yi. Tous ces commutateurs sont, de préférence, réalisés au moyen de transistor MOS. Les transistors 51 et 54 ont leurs grilles reliées ensemble qui reçoivent le signal Hi. Les grilles des transistors 57 et 60 reçoivent le signal SEL. Les grilles des transistors 66 et 69 reçoivent le signal SEL'. Les grilles des transistors 63,64, 72 et 73 reçoivent le signal Yi.
Les signaux SEL, SEL'sont communs à toutes les colonnes de la mémoire. De même, lorsque les transistors 51 et 54 sont présents, le signal Hi est également commun à toutes les colonnes. Seul le signal de sélection de colonne Yi est individualisé par colonne.
Pour l'écriture du plan mémoire, le sélecteur 43 (figure 4) transmet une adresse de rangée externe (provenant du registre 41) au moyen du circuit 40 de décodage de rangée. L'écriture, par l'amplificateur SAi, s'effectue alors par l'intermédiaire de la bascule 34 recevant les données à rentrer par les lignes 1/Os et 1/Os. Pendant l'opération d'écriture dans le plan mémoire, les bascules 33 sont désactivées.
En lecture, lors de l'adressage d'une rangée courante au moyen du compteur 42 et du circuit de décodage 40, le contenu de toute la rangée adressée est transféré dans l'ensemble de bascules 34 de la rangée sélectionnée au moyen du signal SEL.
<Desc/Clms Page number 13>
Les éléments de commutation 66 et 69 sont passants, de préférence, uniquement pendant la période nécessaire au stockage des données dans les bascules 34, c'est-à-dire généralement un cycle d'horloge. Par ce stockage intermédiaire, le décodeur de rangée et les amplificateurs de lecture SAi sont disponibles et peuvent être utilisés à d'autres fins comme, par exemple, pour rafraîchir d'autres rangées pendant la comparaison.
Pour cette comparaison, les données à comparer ont été précédemment introduites dans les bascules 33 en utilisant les lignes d'entrée-sortie I/Oc et 1/Oc. Dans l'exemple de la figure 5, si les bascules 33 et 34 ont un fonctionnement dédié, les interrupteurs 57 et 60 sont en permanence ouverts, c'est-à-dire désactivés par le signal SEL'. On voit donc que le plan mémoire et les amplificateurs SAi sont isolés du reste du circuit pendant chaque période de comparaison.
Lorsqu'on utilise la sélection de colonne Yi pour partager les lignes d'entrée-sortie 1/Oc et I/Oc entre toutes les colonnes, l'opération de lecture est bien entendu légèrement plus longue.
En variante, on peut prévoir des lignes d'entrée-sortie pour chaque colonne au niveau des bascules 33 et 34. Dans ce cas, comme le circuit mémoire intégré comprend plusieurs plans 10, le signal de sélection Yi ne sert plus à sélectionner la colonne dans le plan mémoire mais un des plans mémoire. En effet, toutes les colonnes de rang i des différents plans mémoire partagent les mêmes lignes d'entrée-sortie.
La figure 7 représente un deuxième mode de réalisation simplifié d'une colonne d'une mémoire cache selon la présente invention. On y retrouve un amplificateur de lecture SAi ainsi qu'un élément de comparaison constitué d'une porte XOR 35 et du transistor T5. Une différence par rapport au mode de réalisation de la figure 5 est que l'on utilise une seule bascule 33 stockant la valeur à comparer. Dans ce mode de réalisation, une des entrées de la porte XOR 35 est directement reliée à la ligne I/Oi (ou à la ligne I/Oi) de l'amplificateur SAi. Fonctionnellement,
<Desc/Clms Page number 14>
cela revient à supprimer le transfert des données lues vers la bascule 34 (figure 5) et à utiliser directement l'amplificateur de lecture lors de la comparaison. Une telle solution simplifiée sera choisie, par exemple, lorsque les besoins de rafraîchissement du plan mémoire 10 seront moins critiques.
En effet, avec ce mode de réalisation il n'est pas possible d'utiliser les amplificateurs de lecture pour d'autres accès, donc le rafraîchissement, pendant les comparaisons.
Les figures 8 et 9 représentent deux autres modes de réalisation d'une colonne de mémoire cache selon l'invention. Ces deux modes de réalisation s'appliquent au cas où l'on souhaite utiliser un registre de masque pour inhiber une colonne afin de pouvoir comparer des mots dont certains bits sont indifférents.
Pour atteindre ce résultat, on prévoit un transistor supplémentaire T6 entre le transistor T5 et la masse. Ce transistor T6 est rendu constamment passant quand on veut effectivement valider la comparaison de la cellule concernée et est rendu constamment ouvert quand on veut inhiber la comparaison. Pour la commande du transistor T6, on prévoit un registre de masque 37 (MASK) constitué d'une cellule de mémorisation. Par exemple, il s'agira d'une bascule telle que celle décrite en relation avec la figure 6 pour les bascules 33 et 34. Elle comprend alors des transistors et des inverseurs. Ceux-ci peuvent être associés à des lignes de bit différentes. Toutefois, à la différence du cas classique (figure 2), le registre de masque n'est ici pas associé à une rangée particulière du plan mémoire. De plus, grâce à l'utilisation des bascules 33 et 34 et des commutateurs placés sur les lignes de bit correspondantes, on peut utiliser les lignes d'entrée-sortie associées à ces bascules pour précharger les bits d'activation ou de désactivation dans les registres 37.
La différence entre la figure 8 et la figure 9 correspond à la différence entre la figure 5 et la figure 7, c'est- à-dire au recours à deux bascules de stockage temporaire dans les modes de réalisation des figures 5 et 8 et à une seule bascule dans les modes de réalisation des figures 7 et 9.
<Desc/Clms Page number 15>
Par souci de clarté, les différents conducteurs d'entrée-sortie et de commande n'ont pas été illustrés aux figures 7,8 et 9. Ceux-ci se déduisent de l'exposé de la figure 6 précédente.
Un avantage de la présente invention est la simplicité des éléments de mémorisation par rapport à la solution classique.
L'expérience montre que, par exemple dans une filière telle que la filière HCMOS 8 de la société STMicroelectronics, dans laquelle la dimension minimum d'un motif est de 0,18 gm, on arrive à une structure d'une surface de 6,7 um2 pour réaliser une cellule à seize transistors du type de celle représentée à la figure 2. Une cellule d'un plan mémoire de l'invention peut désormais être réalisée, dans la même technologie, avec une surface de 0, 4 yam2. Le gain en surface dans le réseau matriciel est d'un rapport d'environ 16. De plus, ce gain en nombre de transistors est obtenu dans le réseau matriciel qui est la région la plus sujette à défauts de fabrication.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, la réalisation des circuits nécessaires à la commande, la génération et l'organisation des signaux (notamment leur synchronisation) est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus et de l'application.
Pour la constitution, la commande et les variantes envisageables au circuit de bascule utilisé selon l'invention, on pourra se référer, par exemple, au brevet américain nO 6 057 727 et à la demande de brevet européen nO 0 952 587 de la demanderesse.
De plus, bien que l'on ait fait référence à une combi-
Figure img00150001

naison logique de type OU-Exclusif dans la description qui précède, on pourra recourir à une combinaison de type NON-OU- Exclusif. Dans ce cas, le résultat de la comparaison n'indique plus, par un état haut, une identité entre tous les bits des mots à comparer. A l'inverse, le maintien d'un état haut indique que
<Desc/Clms Page number 16>
tous les bits des mots à comparer sont différents les uns des autres.
En outre, l'invention pourra être mise en oeuvre avec d'autres structures d'amplificateurs de lecture classiques utilisées dans des mémoires de type DRAM.

Claims (9)

REVENDICATIONS
1. Mémoire cache en circuit intégré, caractérisée en ce qu'elle comporte : au moins un réseau matriciel (10) d'éléments de mémorisation (20) associés, en colonnes, à deux lignes de bit complémentaires (BLi, BLi), chaque élément de mémorisation comprenant, en série entre une première ligne de bit (BLi) et un potentiel de référence, un transistor (T) et un élément capacitif (C), la grille du transistor étant connectée à une ligne de mot (WLj) ; et pour chaque colonne du réseau matriciel : un amplificateur de lecture (SAi) entre les lignes de bit et deux points de lecture complémentaires ; au moins une première bascule (33) de stockage temporaire d'une valeur à comparer à un des éléments de mémorisation de la colonne ; et un unique élément (31) de comparaison entre le contenu de la première bascule et un état fonction de l'état d'un desdits points de lecture.
2. Mémoire cache selon la revendication 1, caractérisée en ce qu'elle comporte en outre, pour chaque colonne, une deuxième bascule (34) de stockage temporaire des signaux complémentaires lus par l'amplificateur.
3. Mémoire cache selon la revendication 2, caractérisée en ce que les fonctions respectives des deux bascules (33, 34) sont interchangeables.
4. Mémoire cache selon l'une quelconque des revendications 1 à 3, caractérisée en ce qu'elle comporte en outre, pour chaque colonne, un unique registre de masque (37) propre à inhiber la comparaison de la colonne correspondante.
5. Mémoire cache selon l'une quelconque des revendications 1 à 4, caractérisée en ce qu'elle comporte un circuit de décodage de rangées (40) pour sélectionner une rangée du plan mémoire (10), le circuit de décodage de rangée (40) étant commandé :
<Desc/Clms Page number 18>
en écriture à partir d'un registre d'adresse (41) ; et en lecture à partir d'un compteur (42) permettant un défilement séquentiel de toutes les rangées.
6. Mémoire cache selon l'une quelconque des revendications 1 à 5, caractérisée en ce que chaque bascule est associée à des lignes d'entrée-sortie (1/Oc, I/Oc ; 1/Os, 1/Os) propres à être connectées à des bornes d'entrée-sortie du circuit mémoire.
7. Mémoire cache selon l'une quelconque des revendications 1 à 6, caractérisée en ce que le stockage d'une rangée de données dans les premières bascules (33) s'effectue simultanément pour toutes ces bascules.
8. Procédé de commande d'une mémoire cache selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il consiste à comparer successivement le contenu de chaque rangée de cellules du plan de mémoire (10) par rapport aux valeurs stockées dans les premières bascules (33).
9. Procédé selon la revendication 8, caractérisé en ce qu'il consiste, pendant une comparaison, à isoler les amplifiateurs de lecture (SAi) des éléments de comparaison (20).
FR0016033A 2000-12-08 2000-12-08 Memoire cache a cellules dram Expired - Fee Related FR2817996B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0016033A FR2817996B1 (fr) 2000-12-08 2000-12-08 Memoire cache a cellules dram

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0016033A FR2817996B1 (fr) 2000-12-08 2000-12-08 Memoire cache a cellules dram

Publications (2)

Publication Number Publication Date
FR2817996A1 true FR2817996A1 (fr) 2002-06-14
FR2817996B1 FR2817996B1 (fr) 2003-09-26

Family

ID=8857451

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0016033A Expired - Fee Related FR2817996B1 (fr) 2000-12-08 2000-12-08 Memoire cache a cellules dram

Country Status (1)

Country Link
FR (1) FR2817996B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015013043A1 (fr) 2013-07-26 2015-01-29 Micron Technology, Inc. Appareils et procédés de réalisation d'opérations de comparaison utilisant un circuit de détection

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523301A (en) * 1982-06-04 1985-06-11 Matsushita Electric Industrial Co., Ltd. Associative memory
US4794559A (en) * 1984-07-05 1988-12-27 American Telephone And Telegraph Company, At&T Bell Laboratories Content addressable semiconductor memory arrays
US5828593A (en) * 1996-07-11 1998-10-27 Northern Telecom Limited Large-capacity content addressable memory
DE19806999A1 (de) * 1997-05-29 1998-12-03 Lg Semicon Co Ltd Halbleiterspeicherelement und Verfahren zum Ausgeben von in Speicherzellen gespeicherten Daten
JPH1196772A (ja) * 1997-09-17 1999-04-09 Sony Corp 半導体メモリ装置
EP0952587A1 (fr) * 1998-03-26 1999-10-27 STMicroelectronics SA DRAM à structure rapide

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523301A (en) * 1982-06-04 1985-06-11 Matsushita Electric Industrial Co., Ltd. Associative memory
US4794559A (en) * 1984-07-05 1988-12-27 American Telephone And Telegraph Company, At&T Bell Laboratories Content addressable semiconductor memory arrays
US5828593A (en) * 1996-07-11 1998-10-27 Northern Telecom Limited Large-capacity content addressable memory
DE19806999A1 (de) * 1997-05-29 1998-12-03 Lg Semicon Co Ltd Halbleiterspeicherelement und Verfahren zum Ausgeben von in Speicherzellen gespeicherten Daten
JPH1196772A (ja) * 1997-09-17 1999-04-09 Sony Corp 半導体メモリ装置
EP0952587A1 (fr) * 1998-03-26 1999-10-27 STMicroelectronics SA DRAM à structure rapide

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 09 30 July 1999 (1999-07-30) *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015013043A1 (fr) 2013-07-26 2015-01-29 Micron Technology, Inc. Appareils et procédés de réalisation d'opérations de comparaison utilisant un circuit de détection
EP3025346A1 (fr) * 2013-07-26 2016-06-01 Micron Technology, INC. Appareils et procédés de réalisation d'opérations de comparaison utilisant un circuit de détection
EP3025346A4 (fr) * 2013-07-26 2017-03-29 Micron Technology, INC. Appareils et procédés de réalisation d'opérations de comparaison utilisant un circuit de détection
TWI603340B (zh) * 2013-07-26 2017-10-21 美光科技公司 用於使用感測電路執行比較運算之裝置與方法
US9799378B2 (en) 2013-07-26 2017-10-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
KR101874731B1 (ko) * 2013-07-26 2018-07-04 마이크론 테크놀로지, 인크 감지 회로를 사용하여 비교 동작들을 수행하기 위한 장치들 및 방법들
CN108288478A (zh) * 2013-07-26 2018-07-17 美光科技公司 用于使用感测电路执行比较运算的设备与方法
US10056122B2 (en) 2013-07-26 2018-08-21 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US10643673B2 (en) 2013-07-26 2020-05-05 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
CN108288478B (zh) * 2013-07-26 2022-05-17 美光科技公司 用于使用感测电路执行比较运算的设备与方法

Also Published As

Publication number Publication date
FR2817996B1 (fr) 2003-09-26

Similar Documents

Publication Publication Date Title
EP2284839A1 (fr) Dispositif de mémoire statique à cinq transistors et procédé de fonctionnement.
EP0626696B1 (fr) Mémoire dynamique avec des cellules de référence
KR20040008197A (ko) 비트라인을 고정된 전위로 유지하여 메모리에 고속 기입을하는 시스템 및 방법
FR2650694A1 (fr) Memoire vive pour machine de traitement de donnees
EP3080812B1 (fr) Systeme d&#39;ecriture de donnees dans une mémoire
JP2004234827A (ja) 破壊読出し型メモリおよびメモリ読出方法
EP3598451A1 (fr) Memoire sram / rom reconfigurable par connexions aux alimentations
FR2817996A1 (fr) Memoire cache a cellules dram
EP0952587B1 (fr) DRAM à structure rapide
EP3506264B1 (fr) Circuit mémoire
EP3503104B1 (fr) Circuit mémoire adapté à mettre en oeuvre des opérations de calcul
FR2801388A1 (fr) Procede de commande de memoire dram rapide et controleur adapte
EP0887804B1 (fr) Procédé et circuit de lecture pour mémoire dynamique
EP3503105B1 (fr) Circuit mémoire partitionné adapté à mettre en oeuvre des opérations de calcul
FR2773634A1 (fr) Amelioration des memoires a rafraichissement
FR2801410A1 (fr) Dispositif de memoire vive dynamique, et procede de lecture correspondant
FR2807562A1 (fr) Dispositif de lecture d&#39;une memoire
FR2819091A1 (fr) Rafraichissement de memoire dram
FR2802012A1 (fr) Memoire dram rapide
FR2784493A1 (fr) Adressage de cellules memoire d&#39;une memoire dynamique
WO2002049034A2 (fr) Amplificateur de lecture de cellules memoire a fonction logique de type ou-exclusif
EP0910094B1 (fr) Dispositif de mémoire vive dynamique à durée de rafraîchissement réduite, et procédé correspondant de rafraîchissement
EP0938095A1 (fr) Mémoire programmable non-volatile et procédé de programmation d&#39;une telle mémoire
EP1164593A1 (fr) Dispositif de régulation de tension pour cellule de référence d&#39;une mémoire vive dynamique, cellule de référence, mémoire et procédé associé
FR2769745A1 (fr) Dispositif de memoire vive dynamique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20070831