Brevet FR2779251A1 — publié le 19991203

REDONDANCE APPLIQUEE À DES CELLUTTLES DRAM A FAIBLE RPMANENTî La présente invention concerne les mémoires dynamiques (DRAM) et plus particulièrement un dispositif permettant de cor- riger une DRAM dont certaines cellules présentent une rémanence trop faible. Une des caractéristiques déterminantes des performances d'une mémoire dynamique est le temps maximum que l'on peut lais- ser s'écouler entre deux rafraîchissements du contenu de la mémoire sans dégradation de l'information, dit intervalle de rafraîchissement. Une cellule mémoire ayant un intervalle de rafraîchissement important est dite à rémanence élevée. Malgré les progrès accomplis en matière de fiabilité des procédés de fabrication, il arrive encore que les mémoires présentent certains défauts de fabrication les rendant inopé- rantes. Lorsqu'un tel défaut, par exemple dû à l'introduction d'une impureté lors de la fabrication, se trouve sur la matrice de la mémoire, ce qui est un cas relativement fréquent à cause de la surface prépondérante de la matrice par rapport à la surface de la mémoire, il est possible, du fait de la grande régularité de la structure d'une matrice mémoire, de remplacer assez aisé- ment la zone de la matrice contenant le défaut par une zone de secours identique, prévue à cet effet, de la matrice. La figure 1 représente une structure classique d'une DRAM de 1 mégabit dont la matrice 10 est organisée dans cet exem- ple en 1024 colonnes de 1024 rangées, les colonnes étant regrou- pées en 8 ensembles DO à D7 de 128 colonnes, définissant ainsi 1024 x 128 mots de 8 bits. Des colonnes de secours 12 de 1024 rangées sont situées à proximité des colonnes de la matrice. Un décodeur de rangées 14 permet, à partir d'une adresse de rangée ROW, de sélectionner une rangée de la matrice et des colonnes de secours parmi 1024. Un circuit de commande 16 reçoit une adresse de colonne COL et sélectionne le groupe de huit colonnes qui cor- respond à cette adresse. Ce circuit de commande comprend en outre une mémoire non volatile 18 que l'on peut programmer pour qu'une colonne de secours corresponde systématiquement à une adresse de colonne particulière, à la place de la colonne de la matrice qui correspond normalement à cette adresse. Il est ainsi possible, une fois la programmation de la mémoire non volatile achevée, de remplacer systématiquement cer- taines colonnes de la matrice que l'on considère défectueuses par des colonnes de secours, de manière transparente pour l'utili- sateur, pour les opérations d'écriture et de lecture dans la mémoire. Pour déterminer si une colonne est défectueuse, c'est- à-dire si elle contient une cellule défectueuse, on teste la mémoire avant sa mise sur le marché avec une machine qui procède à de multiples écritures et lectures sur l'ensemble des cellules de la matrice. Les défauts de cellule que l'on recherche sont des défauts rédhibitoires qui, par exemple, figent la valeur fournie par une cellule mémoire ou couplent plusieurs cellules voisines. Ainsi, les écritures et lectures de test successives suivent un enchaînement déterminé pour repérer avec certitude toutes les cellules défectueuses de la matrice. Une fois que le test permet de repérer une cellule défectueuse, on programme la mémoire non volatile du circuit de commande pour remplacer la colonne défectueuse par une colonne de secours. La mémoire non volatile du circuit de commande est couramment une "boite à fusibles", à laquelle on peut accéder depuis la surface du cir- cuit. La programmation de la mémoire est réalisée en faisant fon- dre une combinaison de fusibles au moyen d'un rayon laser. Il faut généralement faire fondre un assez grand nombre de fusibles pour corriger un défaut, et il en résulte qu'une telle program- mation au laser ne présente pas un degré de fiabilité très élevé. Ainsi, on choisit généralement de ne pas corriger plus d'une dizaine de défauts par matrice. Si une matrice présente un nombre plus élevé de défauts, le testeur la rejettera comme irréparable. Ce nombre restreint de réparations permet de limiter le nombre de colonnes de secours nécessaire, et ainsi de limiter l'accrois- sement de surface et de coût de la DRAM. A titre d'exemple, on prévoit souvent une colonne de secours pour 64 ou 128 colonnes fonctionnelles de la matrice. Il existe en plus du type de défaut rédhibitoire que l'on vient de décrire, un type de défaut mineur appelé défaut de rémanence d'un point mémoire, qui affecte le fonctionnement d'une DRAM. Ces défauts de rémanence, dont la cause est physique, (dislocations cristallines, impuretés dans le matériau, etc.) conduisent à une perte d'informations anormalement rapide dans un point mémoire. L'apparition de tels défauts oblige ainsi l'utili- sateur à rafraîchir les informations mémorisées dans une DRAM plus souvent qu'il ne pourrait le faire sans la présence des défauts. Dans la pratique, une DRAM présentant de tels défauts doit être commercialisée en garantissant de moins bonnes perfor- mances (c'est-à-dire un intervalle de rafraîchissement plus court), et donc avec une fonctionnalité inférieure et à un prix inférieur. Ce type de défaut apparaît généralement dans un grand nombre de cellules. A titre d'exemple, on peut considérer que dans des matrices DRAM obtenues par un procédé de fabrication classique, il y a environ 10 à 100 cellules par million ayant une faible rémanence. Ces cellules à faible rémanence étant distri- buées de façon aléatoire, il peut y avoir un très grand nombre de colonnes affectées par au moins une cellule ayant un défaut. Réparer un tel nombre de cellules par des moyens classiques de réparation de matrice mémoire, tels que ceux décrits en relation avec la figure 1, demanderait d'accroître la surface de la ma- trice d'au moins 30% pour inclure les colonnes de secours. De plus, la programmation de la mémoire non volatile du décodeur demanderait de faire fondre au moyen d'un laser un grand nombre de fusibles, et la mauvaise fiabilité de cette opération nuirait à la qualité des réparations effectuées. En effet, si l'on consi- dère que la probabilité de faire fondre un fusible au laser de manière convenable est de 99,5%, et qu'il faut généralement faire fondre 20 fusibles pour corriger une adresse, la probabilité d'effectuer convenablement la correction de 50 adresses est de ((0,995)20)50=0,006, ce qui est extrêmement faible. Par ailleurs, il faut envisager que les colonnes de secours comportent elles aussi des défauts (statistiquement, 30% d'entre elles). De tels défauts ne pourront pas être corrigés, à moins de prévoir un dis- positif supplémentaire très lourd et coûteux. Un objet de la présente invention est de réaliser un dispositif fiable et économique pour réparer une matrice DRAM comportant un grand nombre de cellules à faible rémanence. Pour atteindre ces objets ainsi que d'autres, on pré- voit une mémoire dynamique organisée en une matrice de rangées et colonnes de bits, comprenant des moyens de test pour localiser dans la matrice des bits défectueux, une mémoire de défauts pour stocker des infor- mations sur la localisation de bits défectueux, dans lequel la mémoire de défauts comporte autant de rangées que la matrice, chacune étant sélectionnée en lecture lorsqu'une rangée correspondante de la matrice est sélectionnée, dans lequel les moyens de test sont prévus pour écrire dans chacune des rangées de la mémoire de défauts une information indiquant la présence d'un bit défectueux dans la rangée corres- pondante de la matrice, et l'adresse de colonne de ce bit défec- tueux, et dans lequel la mémoire dynamique comprend: une mémoire de secours comportant autant de rangées que la matrice, chaque rangée étant sélectionnée en même temps qu'une rangée correspondante de la matrice, et des moyens de commande pour sélectionner une rangée de la matrice en fonction d'une adresse présentée à la mémoire et pour aiguiller un accès à un bit défectueux de la rangée sélec- tionnée vers un bit de la rangée correspondante de la mémoire de secours lorsque l'adresse présentée correspond à l'adresse de colonne contenue dans la rangée correspondante de la mémoire de défaut. Selon un mode de réalisation de la présente invention, les moyens de commande comprennent un comparateur qui provoque l'aiguillage lorsque l'adresse de colonne véhiculée par l'adresse présentée est égale à l'adresse de colonne fournie par la mémoire de défauts. Selon un mode de réalisation de la présente invention, les moyens de commande comprennent un décodeur qui, pour chaque rangée sélectionnée, reçoit l'adresse de colonne fournie par la mémoire de défauts et provoque un aiguillage correspondant à cette adresse de colonne. Selon un mode de réalisation de la présente invention, la mémoire de défauts est une mémoire volatile, dynamique ou sta- tique et en ce que lesdits moyens sont prévus pour agir à chaque mise sous tension de la mémoire de défauts. Selon un mode de réalisation de la présente invention, la mémoire de défauts est une mémoire non volatile composée de cellules à programmation unique. 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 matrice DRAM munie d'un dis- positif de réparation classique; la figure 2A représente une matrice DRAM munie d'un dispositif de réparation selon la présente invention; la figure 2B représente un exemple de circuit de commande d'une matrice DRAM selon la présente invention; la figure 2C représente un deuxième exemple de circuit de commande d'une matrice DRAM selon la présente invention; et la figure 3 représente une matrice DRAM réparable selon une variante de la présente invention. Les défauts rédhibitoires décrits précédemment ne peu- vent être détectés de manière précise que par une suite complexe de vecteurs de test à écrire et à lire dans les cellules de la matrice, car chaque défaut peut se manifester de diverses façons (collage, couplage, etc.). Un test de la matrice destiné à repé- rer de tels défauts est très lourd à mettre en oeuvre, et il est difficile et coûteux de l'adapter à un dispositif de test intégré à la DRAM. Par contre, on a remarqué que les défauts de rémanence des cellules DRAM se manifestent de manière unique et indivi- dualisée. Il est ainsi possible de déterminer de manière précise les cellules défectueuses avec un nombre restreint de vecteurs de test pour chaque cellule. Un tel test peut être mis en oeuvre par un circuit de test simple intégré à la DRAM. Pour corriger les défauts de faible rémanence des cel- lules d'une matrice DRAM, on prévoit selon l'invention un circuit de test pour vérifier la validité de chaque cellule de la matrice et une mémoire de défauts dynamique ayant des rangées sélection- nées en même temps que les rangées de la matrice, dans laquelle le circuit de test inscrit l'adresse de colonne des cellules qu'il trouve défectueuses. En mode normal, lors de l'accès à une cellule d'une rangée de la matrice, un circuit de commande reçoit de la mémoire de défauts l'adresse stockée dans cette même rangée. Si l'adresse de la cellule à laquelle on accède correspond à l'adresse stockée, la cellule est défectueuse, et le circuit de commande aiguille l'accès à la cellule défectueuse vers une cellule de secours appartenant à une même rangée d'une colonne de secours. La figure 2A représente une DRAM de 1 mégabit dont la matrice 10 et le décodeur de rangées 14 sont identiques aux élé- ments désignés par les mêmes références en figure 1. La mémoire comnporte une colonne de secours 22 de 1024 rangées dont chacune est sélectionnée en même temps qu'une rangée correspondante de la matrice. Une mémoire de défauts 24 comporte 1024 mots de 11 bits dont chacun est également sélectionné en même temps qu'une rangée correspondante de la matrice. Un circuit de commande 26 reçoit une adresse de colonne COL et sélectionne le groupe de huit colonnes qui correspond à cette adresse. Ce circuit de commande reçoit en outre les mots provenant de la mémoire de défauts 24. Un circuit de test automatique 28 reçoit une commande TEST de mise en mode de test et fournit des signaux de commande aux élé- ments 14, 24 et 26. Lorsque le mode de test est activé par une activation du signal TEST, le circuit de test 28 commande le décodeur de rangées 14 et le circuit de commande 26 au moyen de signaux TCOL et TROW et TR/W pour écrire puis relire des valeurs de test pré- déterminées TDATA dans chaque cellule de la matrice. Si une valeur relue ne correspond pas à la valeur de test préalablement écrite dans une cellule, cette cellule est considérée conmme mau- vaise. Le circuit de test 28 écrit alors par un bus DIN l'adresse de colonne de la cellule défectueuse et met à jour un drapeau indiquant la présence d'un défaut, dans la mémoire de défauts 24. L'adresse de rangée du mot ainsi écrit dans la mémoire de défauts est celle de la rangée de la matrice contenant la cellule défec- tueuse. Si dans une rangée aucune cellule défectueuse n'est détectée par le circuit de test, cela est indiqué par l'état du drapeau de la rangée correspondante dans la mémoire de défauts 24. Une fois que chaque cellule de la matrice a été testée, la DRAM peut être mise en mode normal. Lors d'un accès à la DRAM en mode normal, la mémoire de défauts 24 est en mode de lecture. Elle reçoit l'adresse de ran- gée courante, c'est-à-dire l'adresse de la rangée à laquelle l'utilisateur veut accéder. Ainsi, la mémoire de défauts fournit par un bus DOUT, pour chaque adresse courante, un mot composé d'une adresse de colonne et d'un drapeau, au circuit de commande 26. Le circuit de commande 26 reçoit en même temps l'adresse COL de la colonne à laquelle on veut accéder, ou adresse de colonne courante, et le mot de 11 bits de la rangée courante de la mémoire de défauts. Si le drapeau indique que la rangée contient une cellule défectueuse, le circuit de commande 26 compare l'adresse de colonne courante à l'adresse de colonne reçue de la mémoire de défauts et, lorsqu'il y a égalité, substitue l'accès à la cellule défectueuse par un accès à la cellule de même rangée de la colonne de secours. La figure 2B représente plus en détail un exemple de circuit de commande 26. Un décodeur 27 active l'un de 128 signaux de sélection CO à C127 en fonction de l'adresse courante de colonne COL. Le numéro du signal de sélection activé correspond à la valeur décimale de l'adresse COL. Chaque signal de sélection est destiné à activer l'une des 128 colonnes de chacun des huit blocs de colonnes DO à D7 de la matrice DRAM 10. La matrice 10 est ici organisée en rangées de 128 mots de huit bits, et l'adresse courante de colonne COL, codée sur 7 bits, permet d'ac- céder à un mot parmi 128. La mémoire de défauts 24 contient, pour chaque rangée, un drapeau F et une adresse de colonne complète de 10 bits, c'est-à-dire les 7 bits correspondant à l'adresse de colonne d'un mot contenant un défaut et 3 bits identifiant l'adresse du défaut dans le mot de huit bits. Lorsque le drapeau F est actif, un comparateur 29 compare l'adresse courante de colonne COL aux 7 bits de poids fort de l'adresse de colonne de 10 bits fournie par la mémoire de défauts 24. Lorsque le comparateur 29 détermine qu'il y a égalité des adresses, cela signifie que le mot de 8 bits correspondant à l'adresse courante contient une cellule défectueuse. Alors, le comparateur 29 active un décodeur 30 qui reçoit les trois bits de poids faible et produit 8 signaux d'aiguillage SO à S7 dont un seul est actif en fonction de la valeur décimale représentée par ces 3 bits. Le signal SO à S7 actif remplace l'accès à l'un des 8 groupes DO à D7 par un accès à la colonne de secours 22. En figure 2B, à titre d'exemple, le décodeur 27 sélectionne la deuxième colonne de chaque groupe de 8 colonnes, tandis que le décodeur 30, à la suite d'une détection de défaut, aiguille le groupe D7 vers la colonne de secours. La figure 2C représente en détail un autre exemple de circuit de commande 26. Un décodeur 27 comme celui de la figure 2B, active l'un de 128 signaux de sélection CO à C127 en fonction de l'adresse courante de colonne COL. Un décodeur 31 reçoit le drapeau F et l'adresse de colonne de 10 bits fournie par la mémoire de défauts 24. Lorsque le drapeau F est actif, le décodeur 31 produit un signal d'aiguillage SO à S1023 dont un seul est actif en fonc- tion de la valeur décimale représentée par ces 10 bits. Le signal SO à S1023 remplace l'accès à l'une des 1024 colonnes par un accès à la colonne de secours 22. En figure 2C, à titre d'exem- ple, le décodeur 27 sélectionne la deuxième colonne de chaque groupe de 8 colonnes, tandis que le décodeur 31, à la suite d'une détection de défaut, aiguille tout accès à la deuxième colonne de la matrice 10, vers la colonne de secours. Une telle variante permet de raccourcir le temps de réaction de la DRAM en supprimant l'étape, relativement longue, de comparaison de l'adresse mémorisée dans la mémoire de défauts à l'adresse de colonne courante. Par contre, une telle variante demandera un grand nombre de portes logiques supplémentaires pour former le décodeur 31. Ainsi, l'une ou l'autre des variantes que l'on vient de décrire sera utilisée selon que l'on veut construire une DRAM petite ou rapide. La mémoire de défauts est une mémoire dynamique dont les données devront être rafraîchies périodiquement. Si la DRAM décrite est mise hors tension, il devient nécessaire d'effectuer à nouveau le test automatique de la matrice lors de la remise sous tension. Comme on l'a vu précédemment, il est possible de déter- miner de manière précise les cellules défectueuses avec un nombre restreint d'écritures et de lectures d'une valeur de test pré- déterminée sur chaque cellule. Ainsi, le test automatique de cha- que cellule de la matrice effectué à chaque mise sous tension sera relativement court et le circuit de test aura une structure simple. La figure 3 représente une variante de la présente invention dans laquelle on a remplacé la colonne de secours 22 représentée en figure 2A par 8 colonnes de secours 32, chacune étant associée à l'un des 8 groupes de 128 colonnes de la matrice DRAM 10. Les mêmes références désignent en figure 3 et en figure 2A des éléments ayant la même fonction. Ici, le test automatique de la matrice DRAM est égale- ment effectué de la manière décrite en relation avec la figure 2A par le circuit de test. En mode normal, le circuit de commande 26 permet, si l'adresse à laquelle on veut accéder correspond à une cellule défectueuse, de substituer tout un mot de 8 bits contenant cette cellule défectueuse par un mot de secours composé des 8 cellules de même rangée des 8 colonnes de secours. Si par exemple on a déterminé, comme cela est illustré, que la cellule de la colonne 57 de la rangée 521 du deuxième groupe de colonnes (Dl) est défectueuse, l'adresse de colonne 57 est inscrite, ainsi qu'un drapeau actif, dans la rangée 521 de la mémoire de défauts. Alors, le circuit de commande aiguille tous les accès à une cellule d'une colonne 57 de l'un quelconque des groupes DO à D7 vers la cellule de rangée 521 de la colonne de secours associée au même groupe. Un tel dispositif demande 8 fois plus de cellules de secours que le dispositif représenté en figure 2A, mais il pré- sente l'avantage d'être beaucoup plus facile à réaliser, en particulier en ce qui concerne l'adaptation et l'équilibrage des il charges des lignes de données menant aux colonnes de secours lorsqu'on établit la topographie du circuit de la DRAM sur le silicium. La présente invention permet de réaliser dans les exem- ples des figures 2A et 3 une réparation par rangée, soit 1024 réparations, ce qui permet dans la majorité des cas de couvrir largement les 10 à 100 défauts par million mentionnés précédem- ment. L'accroissement de la taille de la DRAM est ici largement inférieur à 5%, contre au moins 30% selon l'art antérieur (et 100% ou plus pour garantir 1000 réparations). On a décrit ici des modes de réalisation permettant de corriger au plus une cellule défectueuse par rangée, et il reste un risque pour que la matrice DRAM présente deux cellules défec- tueuses ou plus par rangée. Une telle DRAM sera considérée comme défectueuse par les dispositifs des figures 2A et 3. Cependant, l'homme du métier pourra aisément adapter la présente invention à une structure permettant de remplacer un plus grand nombre de cellules défectueuses par rangée. Par exemple en utilisant deux ou plusieurs fois le principe de codage dans la mémoire de défauts. Les dispositifs décrits en relation avec les figures 2A et 3 utilisent une mémoire de défauts dynamique, qui doit être rafraîchie et mise à jour à chaque mise sous tension, mais il est possible de remplacer cette mémoire dynamique par une mémoire non volatile, par exemple composée de cellules à programmation unique (OTP). Si un dispositif selon la présente invention est uti- lisé avec une mémoire de défauts non volatile, il devient inutile de relancer le test de la matrice à chaque remise sous tension de la DRAM. De plus, les cellules de mémoire non volatile seront généralement relativement faciles à implanter et une DRAM ne devant pas être testée à chaque remise sous tension présentera un plus grand confort d'utilisation. On peut noter qu'en opérant en limite technologique de procédés technologiques récents, il est possible de réaliser des cellules OTP sans étape technologique supplémentaire, donc sans surcoût. Ces cellules ont des performances médiocres par rapport à une cellule EPROM classique, mais elles ont la même taille qu'une cellule DRAM, et elles pourront avantageusement être uti- lisées pour construire la mémoire de défauts. Enfin, on pourra remarquer que pour garantir une fiabi- lité optimale de la DRAM selon la présente invention, il est pos- sible de combiner un dispositif classique du type de la figure 1 permettant de remplacer une colonne dont une cellule est inopé- rante, et un dispositif de correction selon la présente inven- tion. Une telle combinaison permet, par exemple, de tester de manière classique la ou les colonnes de secours selon la présente invention et de garantir que ces dernières ne comportent pas de cellules inopérantes. Le faible surcoût en surface de l'une et l'autre des techniques permet d'envisager leur utilisation simultanée. On a décrit la présente invention en relation avec une taille et une organisation de matrice données, mais l'home du métier pourra sans difficulté adapter la présente invention à toute autre structure classique de DRAM. REVENDICATIONS 1. Mémoire dynamique organisée en une matrice (10) de rangées et colonnes de bits, comprenant: des moyens de test (28) pour localiser dans la matrice des bits défectueux; et une mémoire de défauts (24) pour stocker des informa- tions sur la localisation de bits défectueux; caractérisée en ce que: la mémoire de défauts (24) comporte autant de rangées que la matrice (10), chacune étant sélectionnée en lecture lorsqu'une rangée correspondante de la matrice est sélectionnée, les moyens de test sont prévus pour écrire dans chacune des rangées de la mémoire de défauts une information indiquant la présence d'un bit défectueux dans la rangée correspondante de la matrice, et l'adresse de colonne de ce bit défectueux, et en ce que la mémoire dynamique comprend: une mémoire de secours (22) comportant autant de ran- gées que la matrice, chaque rangée étant sélectionnée en même temps qu'une rangée correspondante de la matrice; et des moyens de commande (26) pour sélectionner une ran- gée de la matrice en fonction d'une adresse présentée à la mémoire et pour aiguiller un accès à un bit défectueux de la ran- gée sélectionnée vers un bit de la rangée correspondante de la mémoire de secours lorsque l'adresse présentée correspond à l'adresse de colonne contenue dans la rangée correspondante de la mémoire de défaut. 2. Mémoire dynamique selon la revendication 1, carac- térisée en ce que les moyens de commande (26) comprennent un comparateur (29) qui provoque l'aiguillage lorsque l'adresse de colonne véhiculée par l'adresse présentée est égale à l'adresse de colonne fournie par la mémoire de défauts. 3. Mémoire dynamique selon la revendication 1, caracté- risée en ce que les moyens de commande (26) comprennent un déco- deur (31) qui, pour chaque rangée sélectionnée, reçoit l'adresse de colonne fournie par la mémoire de défauts (24) et provoque un aiguillage correspondant à cette adresse de colonne. 4. Mémoire dynamique selon la revendication 1, caracté- risée en ce que la mémoire de défauts est une mémoire volatile, dynamique ou statique et en ce que lesdits moyens sont prévus pour agir à chaque mise sous tension de la mémoire de défauts. 5. Mémoire dynamique selon la revendication 1, caracté- risée en ce que la mémoire de défauts est une mémoire non vola- tile composée de cellules à programmation unique.