FR 2665793 A1 19920214 FR 9010247 A 19900810 CIRCUIT INTEGRE DE MEMOIRE AVEC REDONDANCE ET ADRESSAGE AMELIORE EN MODE DE TEST L'invention concerne les mémoires réalisées en circuit intégré, tout particulièrement mais non exclusivement les mémoires non volatiles programmables électriquement. Dans les mémoires de grande capacité (plusieurs dizaines de milliers de cellules de mémoire), on a l'habitude, pour améliorer les rendements de fabrication, d'associer au plan mémoire plusieurs colonnes (ou lignes) de redondance destinées à se substituer à des colonnes (ou lignes) défectueuses du plan mémoire Dans la suite, pour simplifier, on ne parlera plus que de colonnes mais il pourrait s'agir aussi de lignes. Pour l'utilisateur, la substitution doit être transparente, c'est-à-dire qu'il est autorisé à envoyer à l'entrée d'adressage de la mémoire une adresse correspondant à une colonne défectueuse; la circuiterie interne de redondance se charge alors de neutraliser la colonne défectueuse et de lire ou écrire une information dans une cellule d'une colonne de remplacement au lieu de tenter de la lire ou de l'écrire dans une cellule de la colonne défectueuse. Cette transparence impose de placer à l'entrée de la mémoire des circuits de reconnaissance des adresses défectueuses, des circuits de désélection pour neutraliser les colonnes défectueuses, et des circuits de routage vers les colonnes de remplacement. Tous ces circuits modifient donc de manière importante le décodage initial des adresses de la mémoire, décodage qui consistait à associer une colonne déterminée à une adresse d'entrée déterminée. Or il se trouve qu'en dehors du mode d'utilisation normale des mémoires (lecture et écriture par un utilisateur avec transparence complète dans le cas o des colonnes redondantes ont été mises en service), il existe un deuxième mode qui est le mode de test. En effet, il est nécessaire que toutes les cellules des mémoires soient testées avant que le circuit soit déclaré apte à être vendu Le test consiste notamment à programmer toutes les cellules de leur état initial (état vierge) vers un état "programmé" et à vérifier qu'elles sont correctement programmées C'est d'ailleurs en général au cours de ce test qu'on détecte des colonnes défectueuses et qu'on met en service des colonnes de remplacement. Le test d'une cellule de mémoire peut prendre quelques millisecondes Mais les circuits intégrés sont fabriqués par lots, et chaque lot comporte des dizaines de tranches de silicium portant chacune plusieurs dizaines de puces qui portent elles mêmes chacune plusieurs dizaines ou centaines de milliers de cellules de mémoire; les opérations de test peuvent alors prendre un temps considérable puisqu'il faut tester systématiquement toutes les cellules. Pour réduire ce temps de test, on a proposé que les cellules soient programmées selon un motif (par exemple un motif en damier) qui permette la programmation simultanée de plusieurs colonnes de points mémoire. Autrement dit, en mode de test, au lieu d'écrire individuellement dans une colonne puis dans une autre, etc, on écrit simultanément une même information en parallèle dans plusieurs colonnes à la fois, par exemple 2 ou 4 ou 8 colonnes à la fois Le temps de test est divisé d'autant. On peut appeler dans la suite "test groupé" ce mode de test dans lequel on programme plusieurs colonnes à la fois. On a remarqué selon l'invention que dans les mémoires existantes on ne pouvait pas faire deux fois de suite un test groupé alors qu'on peut très bien avoir besoin de le faire dans certaines circonstances. Par exemple, on a besoin de recommencer un test pour tout un lot dans le cas o une fausse manoeuvre a été effectuée au cours du test du lot; ou encore si le testeur est tombé en panne et que la panne n'a pas été détectée assez vite, etc. Et on ne peut pas refaire le test en mode "groupé" pour les lots déjà testés: en effet, des colonnes de redondance ont été mises en service (de manière irréversible) dans certaines puces, et cette mise en service s'accompagne de modifications importantes de l'adressage interne de la mémoire Or le mode de test "groupé" nécessite lui aussi une modification de l'adressage interne de la mémoire puisqu'il exige d'adresser simultanément plusieurs colonnes. On s'est aperçu que les modifications d'adressage dues à la mise en service de colonnes de redondance étaient en pratique incompatibles avec les modifications d'adressage requises pour effectuer un mode de test groupé Il n'est donc pas possible de refaire un test groupé si le premier test effectué a abouti à la mise en service de colonnes de remplacement. On propose selon l'invention une mémoire dans laquelle les moyens d'adressage en mode de test groupé, permettant d'adresser simultanément un groupe de plusieurs colonnes, sont aptes à sélectionner simultanément, en vue de les programmer, non seulement les colonnes de ce groupe mais, si l'une des colonnes du groupe est défectueuse et associée à une colonne de remplacement, la colonne de remplacement. De cette manière, on peut recommencer le test groupé; dans l'art antérieur, si on devait refaire un test de la mémoire, il fallait passer en mode de test simple (non groupé), c'est-à-dire colonne par colonne. Dans une réalisation particulière de la mémoire, il y a un décodeur d'adresses de colonne recevant sur des entrées d'adresse les bits d'une adresse de colonne et sur des entrées complémentaires les compléments de ces bits, une mémoire de redondance pour stocker des adresses de colonnes défectueuses, un circuit de comparaison des adresses reçues et des adresses de colonnes défectueuses; le circuit de comparaison des adresses reçues et des adresses défectueuses comporte une porte NOR a plusieurs entrées, chaque entrée recevant un bit dont le niveau logique dépend de l'identité entre un bit reçu sur une entrée du décodeur et un bit correspondant de la mémoire de redondance; un moyen est prévu pour sélectionner une colonne de remplacement et simultanément désélectionner une colonne défectueuse lorsque la sortie de la porte NOR indique qu'une adresse reçue est identique à une adresse défectueuse; le test groupé est commandé par un circuit logique qui, en réponse à un signal de commande de test groupé, place un niveau logique identique sur au moins une entrée et une entrée complémentaire correspondante du décodeur; et le signal de commande de test groupé est appliqué au circuit de comparaison pour empêcher que la colonne de remplacement soit systématiquement mise hors service lors du test groupé. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels la figure 1 représente un circuit de mémoire avec redondance, ne permettant pas un test groupé après que la redondance ait été mise en service; la figure 2 représente un circuit de mémoire selon l'invention permettant un test groupé même après mise en service de la redondance. A la figure 1, on a représenté l'architecture globale de la mémoire en circuit intégré selon l'invention L'exemple représenté est celui d'une mémoire avec adressage des colonnes par quatre bits d'adresse, avec deux colonnes de redondance susceptibles de remplacer deux colonnes défectueuses, et avec un mode de test groupé permettant de programmer quatre colonnes à la fois Bien entendu, cette réalisation n'est donnée qu'à titre d'exemple simplifié, les nombres de bits d'adresse et de colonnes étant bien supérieurs dans la pratique. Le plan mémoire lui-même avec ses lignes et colonnes de cellules n'est pas représenté; l'accès aux colonnes de cellules de mémoire du plan mémoire est établi par un décodeur d'adresses de colonne (DEC) dont les sorties PYM sont en nombre égal au nombre de colonnes de la mémoire: chaque ligne de sortie permet de sélectionner, lorsqu'elle est au niveau logique approprié, une colonne particulière de la mémoire. Le décodeur reçoit sur des entrées de bit d'adresse et sur des entrées complémentaires respectivement les bits d'adresse Al, A 2, A 3, A 4 et les compléments NA 1, NA 2, NA 3, NA 4 de ces bits. Pour une adresse donnée, une colonne donnée est sélectionnée par le décodeur Mais si on force au même niveau logique 1 (au lieu de niveaux complémentaires 1 et 0) une entrée et l'entrée complémentaire correspondante (par exemple Ai et N Al) du décodeur, deux colonnes sont sélectionnées Et si on force deux entrées et les deux entrées complémentaires correspondantes (par exemple Ai et A 2 et N Al et NA 2) toutes au même niveau logique 1, alors quatre colonnes sont sélectionnées simultanément Les quatre colonnes qui sont ainsi sélectionnées simultanément sont définies par les autres bits d'adresse (A 3 et A 4 ici). C'est ce qui est mis à profit pour effectuer, en mode de test, un test "groupé" avec programmation simultanée de plusieurs colonnes. Pour cela, un signal de commande de test groupé G est appliqué à un ensemble de portes logiques (portes NOR) interposées entre les entrées d'adresse de la mémoire et les entrées du décodeur Lorsque G est au niveau logique 1, un niveau 1 est appliqué à la fois sur les entrées Ai, A 2 et les entrées complémentaires NAI, NA 2 du décodeur Lorsque G= 0, les entrées N Al et NA 2 sont les compléments des entrées Ai et A 2 Le signal G n'agit pas sur les autres bits d'adresse dans cette réalisation o le test groupé consiste à programmer quatre colonnes à la fois. Pour la réparation de colonnes défectueuses, la mémoire est organisée de la manière suivante: un circuit de désélection DSL permet de désélectionner la colonne désignée par le décodeur et de sélectionner à la place une colonne de remplacement Ce circuit DSL reçoit les sorties PYM du décodeur et un signal de commande de désélection CAB Si CAB est au niveau logique 1, la sortie PYM est inhibée et ne permet plus de sélectionner la colonne désignée par le décodeur Le signal CAB est fourni par un circuit de comparaison CMP; il est à 1 quand l'adresse présentée à l'entrée du décodeur est une adresse de colonne défectueuse. Plus précisément, le circuit DSL reçoit les sorties PYM de désignation de colonne à sélectionner et il fournit, sous le contrôle du signal de désélection CAB, autant de sorties YM qui sont des lignes de commande de sélection des colonnes de la mémoire et une sortie additionnelle YR qui est une ligne de commande de sélection d'une première colonne redondante. Dans l'exemple représenté on a prévu en fait deux colonnes de redondance, par exemple une associée à une moitié des colonnes et l'autre à l'autre moitié, ou toutes les deux associées à l'ensemble des colonnes; le signal CAB permet de désélectionner une colonne défectueuse pour sélectionner à la place la première colonne de remplacement; cette sélection se fait par la ligne de commande YR; un signal CAB' permet de désélectionner une colonne défectueuse pour sélectionner une autre colonne de remplacement en activant une autre ligne de commande YR'. Les adresses de colonnes défectueuses, repérées lors du test de la mémoire, sont stockées dans des mémoires de redondance, réalisées sous forme de batteries de fusibles ou de mémoires électriquement programmables et non effaçables (UPROM) Une première adresse à quatre bits est stockée dans une zone de mémoire MR associée à la première colonne de remplacement; une autre adresse peut être stockée dans une deuxième zone de mémoire de redondance MR' associée à la deuxième colonne de remplacement Ces deux adresses représentent les adresses de deux colonnes défectueuses de la mémoire. Par comparaison entre l'adresse reçue et l'adresse stockée en mémoire MR on élabore le signal de désélection CAB Par comparaison entre l'adresse reçue et l'adresse stockée en MR', on élabore le signal CAB'. La comparaison est effectuée à partir de circuits organisés de la manière suivante: les bits d'adresse de colonne défectueuse, représentés par les sorties NF 1, NF 2, NF 3, NF 4, de la mémoire MR, servent à commander chacun un aiguillage respectif SW 1, SW 2, SW 3, SW 4. Chaque aiguillage reçoit par ailleurs les signaux présents sur une entrée et une entrée complémentaire respective du décodeur Ainsi, l'aiguillage S Wl reçoit comme signal de commande NF 1 (premier bit d'adresse de colonne défectueuse) et comme signaux à aiguiller Ai (première entrée du décodeur DEC) et N Al (première entrée complémentaire du décodeur) Selon l'état de NF 1, c'est Ai ou N Al qui est aiguillé à la sortie de SWI Le signal de sortie X Al de l'aiguillage SW 1 est alors égal à O si le bit d'adresse stocké correspond au bit d'adresse reçue à l'entrée de la mémoire Quand tous les bits d'adresse stockés dans la mémoire MR correspondent justement aux bits d'adresse reçus par la mémoire, tous les signaux de sortie X Al à XA 4 des aiguillages connectés en sortie de la mémoire de redondance passent tous à 0 Le signal de désélection CAB est alors activé. Une simple porte NOR (désignée par CMP sur la figure) recevant tous les signaux XA 1 à XA 4 fournit à sa sortie le signal CAB Cette porte NOR est ici réalisée par des transistors en parallèle dont les grilles reçoivent les signaux X Al à XA 4. L'élaboration du signal CAB' est identique, à partir du contenu de la mémoire MR'. En pratique, pour élaborer X Al à partir de NF 1, de Ai, et de NA 1, on utilise un petit circuit d'aiguillage SWî à deux transistors à canal N en série entre Ai et NA 1, leurs grilles étant commandées par NF 1 et l'inverse de NF 1 respectivement Les autres circuits d'aiguillage sont identiques. Or ce circuit fournit XA 1 comme désiré (XA 1 = O si le bit d'adresse reçu correspond au bit stocké) seulement si Ai et NAI sont bien des signaux complémentaires Si Ai et N Al sont tous deux égaux à 1, XAJ ne peut pas être autre chose que 1 Et si X Al (ou XA 2) est égal à 1, le signal CAB ne peut plus passer à 1. Il résulte de cela que la colonne de redondance ne peut pas être sélectionnée dès lors que Ai et N Ai sont tous deux égaux à 1; or c'est ce qui se passe en mode de test groupé: Ai et N Ai sont tous deux égaux à 1, de même que A 2 et NA 2 d'ailleurs. Lors du premier test de la mémoire, cela n'a pas d'importance, aucune colonne de redondance n'a été mise en service Mais si on veut faire un deuxième test groupé après avoir mis en service des colonnes de redondance parce qu'il y a des colonnes défectueuses, les colonnes défectueuses seront à nouveau testées, mais il n'y aura évidemment plus de possibilité de les réparer puisqu'elles l'ont en fait déjà été; et même si elles étaient remplacées à nouveau, on ne pourrait de toutes façons pas vérifier (en mode de test groupé) que la réparation est correcte. On comprendra donc qu'il n'est pas possible de refaire un test groupé. Avec le circuit de la figure 2, le test groupé redevient possible. Pour cela on prévoit que les circuits de comparaison (porte NOR CMP et aiguillages SW 1 à SW 4) sont modifiés pour empêcher la désélection systématique de la colonne de redondance en mode de test groupé. Dans l'exemple décrit la porte NOR CMP est modifiée de la manière suivante: elle reçoit le complément NG du signal G de commande de test groupé Ce signal NG interdit la mise à zéro du signal CAB sous l'effet des signaux XA 1 et XA 2, c'est-à-dire des signaux de sortie des aiguillages SW 1 et SW 2 qui correspondent aux bits d'adresse groupés lors du test groupé. Ainsi, lorsque les bits A 3 et A 4 correspondront à une adresse de colonne défectueuse, le signal CAB passera à 1 et permettra la sélection de la colonne redondante; en effet, la colonne défectueuse est alors une des quatre colonnes sélectionnées par le test groupé et elle doit être remplacée par la colonne redondante. Toutefois, il ne faudrait pas désélectionner les quatre colonnes groupées puisqu'elles doivent être testées (alors que le passage à 1 du signal CAB les désélectionne toutes); c'est pourquoi on interpose dans le circuit de désélection DSL une porte logique ND recevant le signal CAB ou son complément et le signal G de test groupé ou son complément; cette porte neutralise la déselection lorsque le signal G indique qu'on est en mode de test groupé La porte ND empêche que le signal CAB vienne affecter la transmission des signaux de sortie PYM du décodeur vers les colonnes du plan mémoire. Bien entendu, les mêmes dispositions sont prises pour l'élaboration et la transmission du signal CAB': modification d'une porte NOR CMP' par le signal NG et interposition d'une porte logique ND' commandée par G. il REVENDICATIONS 1 Mémoire en circuit intégré avec circuits de redondance (MR, MR', SW, CMP) pour remplacer des colonnes de cellules mémoires défectueuses par des colonnes de redondance, cette mémoire comportant des moyens d'adressage (DEC, G) permettant en mode normal d'adresser individuellement chaque colonne et permettant en mode de test groupé d'adresser simultanément un groupe de plusieurs colonnes en vue de les programmer simultanément, caractérisée en ce que ces moyens d'adressage sont aptes à sélectionner en vue de les programmer, en mode de test groupé, non seulement le groupe de colonnes, mais, si l'une des colonnes du groupe est considérée comme défectueuse et associée à une colonne de remplacement, la colonne de remplacement. 2 Mémoire selon la revendication 1, caractérisée en ce qu'elle comporte: un décodeur (DEC) d'adresses de colonne recevant sur des entrées d'adresse (Al) les bits d'une adresse de colonne et sur des entrées complémentaires (NA 1) les compléments de ces bits, une mémoire de redondance (MR, MR') pour stocker des adresses de colonnes défectueuses, un circuit (SW, CMP) de comparaison des adresses reçues et des adresses de colonnes défectueuses; le circuit de comparaison comportant une porte NOR (CMP) a plusieurs entrées, chaque entrée recevant un bit dont le niveau logique dépend de l'identité entre un bit reçu sur une entrée du décodeur et un bit correspondant de la mémoire de redondance; un moyen (DSL) étant prévu pour sélectionner une colonne de remplacement et simultanément désélectionner une colonne défectueuse lorsque la sortie de la porte NOR indique qu'une adresse reçue est identique à une adresse défectueuse; le test groupé étant commandé par un circuit logique qui, en réponse à un signal (G) de commande de test groupé, place un niveau logique identique sur au moins une entrée et une entrée complémentaire correspondante du décodeur; et le signal de commande de test groupé étant appliqué au circuit de comparaison pour empêcher que la colonne de remplacement soit systématiquement mise hors service lors du test groupé.