Brevet FR2817997A1 — publié le 20020614

TEST D'UNE DRAM À LECTURE PAR CACHE La présente invention concerne les mémoires réalisées sous la forme d'un réseau matriciel de cellules mémoire en circuit intégré et, plus particulièrement, aux mémoires dynamiques (DRAM), c'est-à-dire nécessitant un rafraîchissement périodique des données que contiennent les cellules. Parmi ces mémoires dynamiques, la présente invention concerne les mémoires dont la lecture et/ou l'écriture s'effectue par l'intermédiaire d'éléments de mémorisation additionnels associés à chaque colonne du réseau matriciel de cellules mémoire. Ces éléments de mémorisation sont le plus souvent utilisés par deux et placés à une ou aux deux extrémités des colonnes du réseau matriciel en étant associés à un amplificateur de lecture. Chaque élément de mémorisation additionnel est généralement constitué d'une cellule mémoire de type SRAM permettant d'isoler la colonne de cellules DRAM et son amplificateur, et de stocker temporairement les données écrites ou lues dans la colonne DRAM correspondante. Chaque élément de mémorisation additionnel constitue ce que l'on appelle couramment une cellule cache constituée d'une bascule de mémorisation temporaire d'une donnée écrite ou lue, associée à des commutateurs permettant d'isoler le contenu de la bascule des lignes de bit et des lignes d'entrée-sortie de la mémoire. Des exemples de mémoire DRAM du type auxquels s'applique la présente invention sont décrits dans la demande de brevet euro- péen NO 0952587 et dans la demande de brevet français NO 2773634. Le recours à des cellules cache associées aux amplificateurs de lecture de colonnes DRAM permet d'améliorer la vitesse de lecture ou d'écriture de telles mémoires. En effet, cela permet d'isoler l'amplificateur et le réseau matriciel de cellules mémoire après avoir transféré une donnée dans une des bascules de mémorisation. L'amplificateur peut alors servir pour un autre accès, par exemple pour préparer une lecture suivante ou pour rafraîchir le réseau matriciel. Toutefois, l'introduction des cellules cache fait apparaître des difficultés supplémentaires dans le test des mémoires de ce type. Cette difficulté vient du fait que, avec les méthodes de test classiques, on ne peut pas déterminer si le défaut détecté dans une colonne provient d'une cellule de cette colonne, de l'amplificateur de lecture ou d'une des cellules cache. Pour le test, on commence par écrire un réseau de données dans l'ensemble du plan mémoire. Cette écriture s'effectue par l'intermédiaire du décodeur de colonne. On écrit dans une des deux cellules cache. Puis, le contenu des données est stocké temporairement et transféré à l'amplificateur de la colonne et enfin à la cellule en ayant sélectionné la rangée concernée. Puis, on prélève l'information dans la cellule mémoire. Cette information est transférée dans l'amplificateur puis dans une des deux cellules cache. Enfin, l'information est transférée de la cellule cache vers le décodeur de colonne et les tampons d'entrée-sortie (I/O buffer) pour interprétation. La présente invention vise à pallier les inconvénients des mémoires DRAM classiques à lecture par cellules cache. L'invention vise, plus particulièrement, à simplifier le test de ces mémoires et la détermination de l'endroit d'un défaut éventuel dans une colonne mémoire. Pour atteindre ces objets, la présente invention prévoit un circuit de mémoire volatile comprenant une pluralité de cellules mémoire en réseau matriciel et, associés à chaque colonne du réseau, au moins une paire d'éléments de mémorisation temporaire commandés indépendamment l'un de l'autre, et comportant, associé à chaque paire d'éléments de mémorisation temporaire, un circuit logique dédié au test du circuit mémoire et combinant les états respectifs des éléments de mémorisation temporaire. Selon un mode de réalisation de la présente invention le circuit logique réalise une fonction de type NON-OU-Exclusif des états des éléments de mémorisation temporaire, les sorties respectives des circuits logiques de toutes les colonnes étant reliées à une ligne de résultat préchargée dans un premier état. Selon un mode de réalisation de la présente invention le circuit logique exécute une fonction de type OU-Exclusif et une fonction de type NON-OU-Exclusif des états contenus dans les éléments de stockage temporaire, les résultats respectifs des combinaisons logiques étant utilisés pour maintenir ou non un état préchargé sur des lignes d'entrée-sortie complémentaires de la colonne concernée. Selon un mode de réalisation de la présente invention le circuit logique est activé au moyen d'un signal de commande de passage en mode test. La présente invention prévoit également un procédé de test d'un circuit de mémoire qui consiste : à écrire une information dans chaque cellule du réseau matriciel ; à introduire, dans un premier élément de mémorisation temporaire de chaque colonne, une information de référence correspondant à l'état d'information écrite dans le réseau matriciel ; à organiser la lecture successive des rangées du réseau matriciel en transférant les données correspondantes dans le deuxième élément de mémorisation temporaire de chaque colonne et à organiser la comparaison des contenus respectifs des éléments de mémorisation temporaire. Selon un mode de réalisation de la présente invention, on compare toutes les colonnes simultanément. Selon un mode de réalisation de la présente invention, on adresse successivement les différentes colonnes du circuit de mémoire pour effectuer la 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, sous forme de blocs et de façon très schématique, un mode de réalisation d'un circuit de lecture d'une colonne de mémoire dynamique selon la présente invention ; la figure 2 représente un mode de réalisation d'un amplificateur du circuit de lecture de la figure 1 ; la figure 3 représente un mode de réalisation d'une cellule cache du circuit de la figure 1 ; la figure 4 représente un premier mode de réalisation d'un élément de test logique du circuit de lecture de la figure 1 ; la figure 5 illustre un deuxième mode de réalisation de l'élément de test logique du circuit de lecture selon l'inven- tion ; et la figure 6 illustre schématiquement la fonction du circuit logique de la figure 5. 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 éléments qui sont utiles à la compréhension de l'invention ont été représentés aux figures et seront décrites par la suite. En particulier, les structures et fonctionnements des différents circuits de commande de la mémoire n'ont pas été détaillés et ne font pas, sauf précision contraire, l'objet de la présente invention. De même, le fonctionnement et l'exploitation des signaux d'entrée-sortie d'une mémoire dynamique à lecture par cellules SRAM sont considérés comme connus et ne seront pas détaillés hormis pour ce qui se rapporte aux procédures de test. La figure 1 représente un mode de réalisation d'un circuit 1 de lecture d'une colonne de cellules mémoire dynamiques selon l'invention. Ce circuit 1 est destiné à lire des cellules mémoire d'une colonne d'un réseau matriciel 2 de cellules 3 constituées chacune d'un transistor T et d'un condensateur C associés à une paire de lignes de bit BLd, BLr (ou colonne) et à une ligne de mot WL ou rangée. Chaque colonne comprend généralement une paire de lignes complémentaires (une ligne de bit directe BLd et une ligne de bit BLr dite ligne de bit de référence, complémentaire). Le transistor T est relié en série avec le condensateur C entre la ligne de bit BLd et un potentiel de référence (généralement la masse). La grille du transistor T est reliée à la ligne de mot WL. L'état logique du signal de données présent sur la ligne de bit est déterminé par le niveau de charge du condensateur de la cellule correspondante. Les lignes de bit sont communes à des colonnes de cellules, représentées verticalement, et les lignes de mot sont communes à des rangées de cellules, représentées horizontalement. Chaque paire de lignes de bit BLd, BLr que l'on désignera par la suite BLi, BLi est associée à un amplificateur de lecture SAi, intercalé entre les lignes de bit et des lignes I/Os et rios d'entrée-sortie du circuit mémoire. Généralement, des préamplificateurs supplémentaires sont intercalés entre les amplificateurs de lecture SAi et des bornes d'entrée-sortie. Les amplificateurs SAi sont bidirectionnels, et servent également lors de l'écriture de données dans chaque colonne. Chaque amplificateur SAi est associé à deux éléments de mémorisation temporaire 10, 20 de type cellule cache (cache A, cache B). Chaque cellule cache reçoit, de façon commandable, les signaux présents sur les lignes 1/Os et IlOs. Les sorties directes et complémentaires respectives A, B et A, B des éléments de mémorisation 10 et 20 sont reliées à des lignes d'entrée-sortie 1/Oi directe et 1/Oi complémentaire ou de précharge. Les cellules cache 10 de toutes les colonnes peuvent être sélectionnées simul- tanément par un signal SELA. Les cellules cache 20 de toutes les colonnes peuvent être sélectionnées simultanément par un signal SELB. Les signaux SELA et SELB commandent en fait des commuta- teurs intercalés sur les lignes IlOs et 1/Os d'entrée-sortie des amplificateurs SAi. Les éléments de mémorisation 10 et 20 sont par ailleurs commandés par des signaux YA et YB de sélection de colonne. La figure 2 représente un exemple d'amplificateur de lecture 30 (SAi) classique. Cet amplificateur comprend, entre les lignes BLi et BLi, la connexion en série d'un premier commutateur 31, de deux inverseurs en antiparallèle 32 et 33 et d'un deuxième commutateur 34. Les commutateurs 31 et 34 sont optionnels. S'ils existent, ils sont commandés par un signal H dont le rôle est d'isoler le circuit 1 de lecture de la colonne correspondante du plan mémoire. Lorsque ce signal H est activé, il est possible, à travers l'amplificateur 30, de lire une donnée dans la colonne et de la stocker dans une des cellules cache 10 ou 20, ou bien d'écrire dans la colonne la donnée stockée dans cette cellule cache. Lorsque le signal H est inactivé, l'amplificateur est isolé de la colonne. Les points situés de part et d'autre des inverseurs 32 et 33 constituent les lignes 1/Os et 1/Os respectivement. La figure 3 représente un exemple classique d'élément de mémorisation 10 ou 20 du circuit de lecture 1 de la figure 1. Un tel élément comprend, entre les lignes I/Os et IlOs, la connexion en série d'un premier commutateur 11, de deux inverseurs en antiparallèle 12,13 et d'un deuxième commutateur 14. Les commutateurs 11 et 14 sont commandés par le signal de sélection de la cellule cache concernée SELA ou SELB. Les points situés de part et d'autre des inverseurs 12 et 13 représentent les états mémorisés par la cellule cache. Ces points sont respectivement reliés, par des commutateurs 15 et 16 commandés par le signal de sélection de colonne YA ou YB, aux lignes d'entréesortie liai et liai respectivement. Les différents éléments de commutation sont généralement réalisés au moyen de transistors MOS. Les grilles des transistors MOS reçoivent alors les différents signaux de commande. Tout ce qui vient d'être décrit est classique et se déduit, par exemple, des publications citées précédemment. Selon la présente invention, on prévoit en outre, dans le circuit de lecture 1, un élément logique 40 dédié au test de la colonne mémoire. Ce circuit 40 (LOGIC) a pour objet d'effectuer une combinaison logique des états présents sur les noeuds A, A, B et B des cellules cache 10 et 20. En figure 1, les bornes A, - A, B et B des cellules 10 et 20 ont été directement reliées aux lignes liai et liai. En pratique, ces bornes correspondent aux points situés de part et d'autre des inverseurs des cellules cache (figure 3) et sont donc isolées des lignes d'entrée-sortie par les commutateurs de la cellule cache. La figure 4 représente un premier mode de réalisation d'un circuit logique 40 selon l'invention. Ce circuit a pour fonction de réaliser une combinaison de type OU-Exclusif directe et/ou inversé (XOR et/ou XNOR) des signaux A et B des cellules cache 10 et 20. Le résultat de cette combinaison est utilisé pour modifier ou non l'état présent sur les lignes d'entrée-sortie 1/oui et 1/oui lors du test du circuit mémoire. Dans l'exemple de la figure 4, la ligne liai est reliée à la masse par une première porte logique de type XOR 41 et la ligne liai est reliée à la masse par une porte logique 42 de type XNOR. De plus, chaque porte logique est activée, lors du test du circuit intégré, par un transistor Tl, T2 commandé par le signal TEST. Plus précisément, la porte logique 41 et son circuit d'activation comprennent cinq transistors. Deux transistors T3 et T4 en série, recevant sur leurs grilles respectives les signaux A et B, sont connectés entre le transistor Tl et la masse, le transistor Tl étant connecté à la ligne 1/oui. Deux transistors T5 et T6 en série, recevant sur leurs grilles respectives les - signaux A et B sont également connectés entre le transistor Tl et la masse. Le transistor Tl est, dans l'exemple représenté, à canal P tandis que les autres transistors sont à canal N. Côté porte 42, on retrouve la même structure. Deux transistors T7 et T8 à canal N en série, recevant sur leurs grilles respectives les signaux A et B, relient le transistor T2 à canal P à la masse, le transistor T2 étant relié à la ligne 1/oui. Deux transistors T9 et T10 à canal N en série, recevant sur leurs grilles respectives les signaux A et B, relient le transistor T2 à la masse. Lors du fonctionnement normal de la mémoire, le bloc logique 40 n'est pas activé, les transistors Tl et T2 sont bloqués. Par conséquent, le fonctionnement de la mémoire correspond à celui d'une mémoire classique. Dans un mode de test, le fonctionnement d'un bloc logique 40 est le suivant. Quand les états A et B sont identiques, les deux mémoires caches 10 et 20 sont identiques et la porte logique 41 provoque, par la mise en conduction des transistors T3 et T4 (le transistor Tl étant passant) une liaison de la ligne I/Oi à la masse. Cette ligne présente donc un état 0. Côté porte XNOR 42, l'un des transistors de chaque branche parmi les transistors T7, T8 ou T9, T10 est bloqué. Par conséquent, l'état de la ligne liai n'est pas modifié et reste dans un état où elle a été préchargée. A l'inverse, si les signaux A et B sont différents, la porte 42 forcera à la masse la ligne I/Oi tandis que la ligne liai restera à son état de précharge. Les signaux 1/oui et 1/oui peuvent être lus de façon classique par les tampons (buffers) d'entrée-sortie. Un état 0 sur la ligne 1/oui indique une identité entre le contenu des deux cellules cache 10 et 20 tandis qu'un état 1 indique qu'elles contiennent des valeurs différentes. On utilise la cellule 10 pour écrire une information dans le réseau mémoire depuis l'outil de test. La cellule 20 est utilisée pour stocker l'information lue. Une simple comparaison de l'état des deux cellules cache, après une lecture et une écriture, indique si la donnée est correcte ou s'il y a une erreur. Une lecture directe en utilisant un tampon d'entréesortie simplifié (qui ne nécessite pas de circuit de diagnostic) peut alors être mise en oeuvre. En particulier, on peut se contenter de ne stocker que des t pour le test. La lecture s'effectue en parallèle sur tous les mots de la rangée. La comparaison s'effectue ensuite de façon simultanée entre les deux cellules cache sur toute la rangée. La figure 5 représente un deuxième mode de réalisation d'un circuit logique selon l'invention. Selon ce mode de réalisation, on utilise une ligne de résultat MATCH commune à toutes les colonnes de la mémoire. Chaque circuit logique est ici constitué d'une seule porte de type NON-OU-Exclusif (XNOR). On retrouve donc des transistors T7, T8, T9, T10 comme dans la porte 42 (figure 4). En figure 5, deux circuits 40'i et 40'k ont été représentés. Chaque porte 40'i, 40'k relie la ligne MATCH à la masse. Les signaux Ai et Bi sont envoyés sur les grilles des transistors T7 et T10 de la porte 40lui. Les signaux Ai et Bi sont envoyés sur les grilles respectives de transistors T8 et T9 de la porte 40'i. A une de ses extrémités, la ligne MATCH est reliée, par des transistors Tll et T12 en série et de type complémentaire, à l'état haut (Vdd). Les transistors Tll et T12 sont commandés par un même signal d'activation TEST', actif à l'état haut, c'est-à-dire pendant le test de la mémoire. Le point milieu 45 de l'association en série des transistors Tll et T12 est relié, par un inverseur 46, à une borne de sortie OUT délivrant le résultat de la comparaison. La borne OUT est également reliée à la grille d'un transistor T13 à canal P reliant le niveau Vdd au point 45. La figure 6 représente un schéma simplifié fonctionnel du mode de réalisation de la figure 5. La ligne de résultat MATCH commune à toutes les colonnes est commandée par des portes logiques de type NON-OU-Exclusif (XNOR) 40lui dont les deux entrées reçoi- vent les états A et B des cellules cache 10 et 20 de la colonne i. Dans une phase de test, la ligne de résultat MATCH est pré chargée à un état haut au moyen des transistors Tll et T12 rendus passants par le signal TEST'. Si les contenus de toutes les cellules cache sont identiques le long de toute la rangée, tous les signaux Ai sont identiques aux signaux Bi correspondant. Par conséquent, pour chaque colonne, un des deux transistors de chaque association en série reliant la ligne MATCH à la masse est bloqué. La ligne MATCH reste donc à l'état haut et le signal OUT présente un niveau bas. Comme sa grille est au niveau bas, le transistor T13 est passant, ce qui confirme l'état. Dès qu'une des colonnes présente des cellules cache de résultats différents, la porte XNOR correspondante provoque le changement d'état de la ligne MATCH. La sortie de l'inverseur 46 bascule et le niveau OUT passe à l'état haut. Cela bloque le transistor T13 pour maintenir l'information. Que ce soit dans le mode de réalisation de la figure 4 ou dans celui de la figure 5, on remarquera que les portes logiques utilisées sont en fait des demi-portes, c'est-à-dire qu'elles ne peuvent pas forcer un état haut. Cela permet d'éviter un conflit avec la précharge effectuée soit sur la ligne de résultat MATCH soit sur l'une des lignes d'entrée-sortie I/Oi ou I/Oi dans le premier mode de réalisation. Le deuxième mode de réalisation de la figure 5 ne permet pas de localiser la colonne dans laquelle se produit un défaut. Par contre, un cycle de comparaison suffit pour tester toute une rangée de la mémoire. Dans le premier mode de réalisation, en utilisant le décodeur de colonne, on ne gagne pas de temps en lecture mais le test donne le résultat direct de la colonne comportant le défaut éventuel. Il n'est alors plus nécessaire de comparer les motifs enregistrés avec des motifs mémorisés. On sait grâce au bloc logique où se trouve le défaut dans la mesure où l'adresse de la rangée correspondante est connue par le décodeur de rangée. Le choix entre l'un ou l'autre des modes de réalisation dépend de l'application et du test souhaité. Par exemple, on pourra préférer le premier mode de réalisation pour organiser le remplacement d'une colonne défectueuse par une colonne de redon- dance et le deuxième mode de réalisation si la redondance est organisée en rangées. Un avantage de la présente invention est que l'on diminue le coût du test en divisant au moins par deux le nombre de cycles d'horloge nécessaires pour celui-ci. De plus, on simplifie considérablement la structure mise en oeuvre pour le test. Un autre avantage de la présente invention est que l'information est disponible directement sur le circuit intégré. On peut donc exploiter cette information pour organiser la redondance. L'invention s'applique quel que soit le type de mémoire dynamique pourvu qu'elle ait recours à deux cellules de type cache pour chaque colonne de circuit de lecture. La mise en oeuvre de la présente invention prend peu de place dans la mesure où elle s'effectue au niveau des amplificateurs de lecture et non pas des cellules individuelles. Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, l'adaptation des circuits de commande de la mémoire pour mettre en oeuvre la fonction de test de l'invention se déduit des indications fonctionnelles données ci-dessus. REVENDICATIONS 1. Circuit de mémoire volatile comprenant une pluralité de cellules mémoire (3) en réseau matriciel et, associés à chaque colonne du réseau, au moins une paire d'éléments de mémorisation temporaire (10,20) commandés indépendamment l'un de l'autre, caractérisé en ce qu'il comporte, associé à chaque paire d'éléments de mémorisation temporaire, un circuit logique (40, 401) dédié au test du circuit mémoire et combinant les états respectifs des éléments de mémorisation temporaire. 2. Circuit de mémoire selon la revendication 1, caractérisé en ce que le circuit logique (401) réalise une fonction de type NON-OU-Exclusif des états des éléments de mémorisation temporaire (10,20), les sorties respectives des circuits logiques de toutes les colonnes étant reliées à une ligne de résultat (MATCH) préchargée dans un premier état. 3. Circuit de mémoire selon la revendication 1, caractérisé en ce que le circuit logique (40) exécute une fonction de type OU-Exclusif et une fonction de type NON-OU-Exclusif des états contenus dans les éléments de mémorisation temporaire (10, 20), les résultats respectifs des combinaisons logiques étant utilisés pour maintenir ou non un état préchargé sur des lignes d'entrée-sortie complémentaires de la colonne concernée. 4. Circuit de mémoire selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le circuit logique (40, 40') est activé au moyen d'un signal de commande (TEST, TEST') de passage en mode test. 5. Procédé de test d'un circuit de mémoire selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste : à écrire une information dans chaque cellule (3) du réseau matriciel (2) ; à introduire, dans un premier élément de mémorisation temporaire (10,20) de chaque colonne, une information de référence correspondant à l'état d'information écrite dans le réseau matriciel ; à organiser la lecture successive des rangées du réseau matriciel en transférant les données correspondantes dans le deuxième élément de mémorisation temporaire de chaque colonne et à organiser la comparaison des contenus respectifs des éléments de mémorisation temporaire. 6. Procédé selon la revendication 5, appliqué à un circuit de mémoire selon la revendication 2, caractérisé en ce qu'il consiste à comparer toutes les colonnes simultanément. 7. Procédé selon la revendication 5, appliqué à un circuit de mémoire selon la revendication 3, caractérisé en ce qu'il consiste à adresser successivement les différentes colonnes du circuit de mémoire pour effectuer la comparaison.