FR2824415A1 - Systeme et procede pour eliminer d'une matrice de memoire des cellules de memoire defaillantes - Google Patents

Systeme et procede pour eliminer d'une matrice de memoire des cellules de memoire defaillantes Download PDF

Info

Publication number
FR2824415A1
FR2824415A1 FR0201086A FR0201086A FR2824415A1 FR 2824415 A1 FR2824415 A1 FR 2824415A1 FR 0201086 A FR0201086 A FR 0201086A FR 0201086 A FR0201086 A FR 0201086A FR 2824415 A1 FR2824415 A1 FR 2824415A1
Authority
FR
France
Prior art keywords
memory
cells
rows
columns
operational
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.)
Withdrawn
Application number
FR0201086A
Other languages
English (en)
Inventor
Brian William Hugues
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of FR2824415A1 publication Critical patent/FR2824415A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

a) Système et procédé pour éliminer dans une matrice de mémoire les cellules de mémoire défectueuses, nécessitant moins de temps et donnant un résultat plus sûr.b) La présente invention consiste en un système et une méthodologie pour éliminer dans une matrice de mémoire des cellules de mémoire défectueuses avec remplacement de colonnes de cellules de mémoire et remplacement de rangées de cellules de mémoire. Les différentes cellules de mémoire sont vérifiées pour s'assurer que chacune est opérationnelle. Les cellules non-opérationnelles sont remplacées en remplaçant tout d'abord par des colonnes de remplacement celles qui contiennent un certain nombre de cellules non-opérationnelles et en enlevant ensuite toutes les cellules non-opérationnelles subsistantes en remplaçant par des rangées de remplacement les rangées contenant ces cellules non-opérationnelles.c) L'invention peut s'appliquer à tout dispositif multicellulaire dans lequel le maintien d'une position physique n'est pas important et dans lequel des colonnes ou des rangées redondantes de dispositifs peuvent remplacer des dispositifs défectueux.

Description

caractère essentiel pour gérer une communication.
1 2824415
La présente invention concerne un dispositif de mémoire à semi conducteur et plus particul i èrement un di spo sitif de mémo ire à semiconducteur comportant des cellules de mémoire de remplacement pour remplacer des cellules de mémoire défectueuses qui sont alors accessibles par l'intermédiaire d'un programme. Les microprocesseurs modernes et de nombreux circuits intégrés à application spécifique (ASIC pour Application Specific Integrated Circuit selon le terme anglo-saxon) incorporent souvent d'importantes quantités de mémoire intégrée. Cette mémoire est typiquement une mémoire statique à lecture-écriture (SRAM pour Static Random Access Memory selon le terme anglo-saxon) ou une mémoire dynamique à lecture-écriture (DRAM pour Dynamic Random Access Memory selon le terme anglo-saxon). Ces mémoires à accès direct (RAM pour Random Access Memory selon le terme anglo-saxon) constituent la majorité des transistors contenus sur une puce et peuvent occuper la plus grande portion de l'aire d'une puce, c'est-à-dire de la surface disponible de la puce. La possibilité de disposer et d'utiliser ces mémoires RAM devient priorités pour les fabri cants de semiconducteurs. Typi quement, les fabri cants de semiconducteurs incorporent un schéma de test et de réparation qui teste les cellules de la mémoire RAM situées dans la puce et remplace les cellules de la mémoire RAM défectueuses par des cellules de remplacement incluses dans ce but. Typiquement ce sont des colonnes et/ou des rangées de cellules de mémoire RAM qui sont remplacées plutôt que des cellules de mémoire RAM individuelles. La substitution d'une rangée peut s'effectuer au moyen de changements appropriés concernant le décodeur d'adresse tandis que la substitution d'une colonne peut s'effectuer par
sélection de lignes de bits appropriées par multiplexeur.
Traditionnellement, les fabricants de semiconducteur ont utilisé la mise en correspondance des bits pour déterminer quelles étaient les colonnes et/ou les rangées de la mémoire RAM à remplacer par des colonnes ou des rangées de mémoire RAM redondantes. L'identification des cellules de mémoire défectueuses est un problème particulier lorsqu'elles sont intégrées sur un
2 2824415
microprocesseur ou un dispositif de circuit intégré à application spécifique ASIC, du fait que l'accès par l'extérieur ou hors-puce pour le test est limité par le nombre de broches disponibles. Par conséquent les fabricants de semiconducteurs ont incorporé des auto-tests intégrés (BIST pour Building Self Tests selon le terme anglo-saxon) et des autoréparations intégrées (BISR pour Build In Self Repair selon le terme anglo-saxon) pour tester et remplacer les cellules de mémoire RAM. Un élément matériel de test intégré à usage spécial est décrit en détail dans la demande de brevet US également cédée et en co-instance (dossier de mandataire n 10981644-1) intitulée " un moteur BIST flexible et programmable pour tester une matrice de mémoire sur puce et caractérisation " n de série 09/183 536, déposée le 30 octobre 1998 et auquel on peut
se référer pour de plus amples informations.
Typiquement des cellules de mémoire RAM sont testées en ce qui concerne un certain nombre de défaillances que l'on peut classer en deux caté go ri e s, de s dé fai l lance s simpl e s et de s défail lances liées. Des défaillances simples sont celles qui se produisent indépendamment d'autres défaillances mais peuvent induire des défaillances dans d'autres cellules. Des défaillances lices se présentent lorsque deux, ou davantage, défaillances simples interviennent sur une cellule unique (c'est-à-dire des défaillances multiples s'influençant l'une l'autre). Des défaillances simples peuvent en outre se diviser en défaillances du décodeur d'adresse (ADF pour Address Decoder Faults selon le terme anglo-saxon) et en défaillances de la matrice de cellules de mémoire (MCAF pour Memory Cell Array Faults selon le terme anglo-saxon). Des défaillances du décodeur d'adresse ne se présentent que dans le décodeur d'adresse et se traduisent en l'indisponibilité d'une cellule, le manque d'une adresse pour accéder à une cellule, une adresse accédant à des cellules multiples, ou une cellule spécifique
rendue accessible par de multiples adresses.
Des défaillances de la matrice de cellules de mémoire peuvent en outre se diviser en défaillances de cellule unique et défaillances qui se pro dui sent entre de s cel lules de mémoire. Des défail lance s de
3 2824415
cellule unique comprennent des défaillances par blocage (SAF pour Stock At Faults selon le terme anglo-saxon), des défaillances par ligne ouverte (SOF pour Stock Open Faults selon le terme anglo saxon), des défaillance de transition (TF pour Transition Faults selon le terme anglo-saxon) et des défaillances de rétention de données (DRF pour Data Retention Faults selon le terme anglo saxon). Défaillance par blocage signifie qu'une cellule spécifique est soit " bloquée " sur zéro, soit bloquée sur un, quelles que soient les données que l'on s'efforce d'écrire dans la cellule. Défaillance par ligne ouverte indique qu'il n'est pas possible d'accéder à une cellule de mémoire du fait d'une ligne ouverte. Une défaillance de transition se produit lorsqu'une cellule de mémoire ne peut pas passer de zéro à un, ou de un à zéro. Et finalement une défaillance de rétention de données se produit lorsqu'une cellule est incapable de retenir une valeur logique particulière ou un état logique
particulier pendant une période de temps nécessaire.
Des défaillances de couplage impliquent deux cellules. Une première cellule, la cellule couplante, qui est la source de la défaillance, et la seconde cellule, la cellule couplée qui est la cellule qui subit la défaillance. Ces défaillances de couplage peuvent se produire soit lorsqu'une transition se produit dans la cellule couplante, soit lorsqu'une valeur spécifique est rangée dans la cellule couplante. Des transitions dans une cellule couplante peuvent faire que la cellule couplée change pour passer de zéro à un, ou vice versa, ou peut faire qu'un zéro ou un un doive être rangé à l'intérieur de la cellule couplée. En outre, certaines valeurs dans des cellules couplantes peuvent baver pour passer dans une cellule couplée quelle que soit la valeur qu'il fallait ranger dans la cellule couplée. Les tests qui sont appliqués en parallèle à une pluralité de groupes de cellules de mémoire, ou tests de bonne marche, sont constitués d'une séquence d'éléments, ou " éléments de bonne marche " dans laquelle une séquence d'opérations sont définies et des signaux de données correspondants sont appliqués à différentes cellules de mémoire, typiquement une rangée ou une colonne à la
4 2824415
fois. La mémoire totale peut se diviser en groupes de mémoire et ces tests peuvent s'effectuer en parallèle d'une extrémité à l'autre du groupe de mémoire. L'ordre des adresses détermine l'ordre dans lequel le test de bonne marche est appliqué aux différentes positions d'adresse d'un groupe de mémoires. Un test de bonne marche peut contenir la séquence suivante: écrire zéro, lire zéro, écrire un, lire un, écrire zéro, lire zéro. Ce test de bonne marche garantirait qu'un zéro peut être rangé dans une cellule de mémoire et y être lu, qu'un un peut être rangé dans une cellule de mémoire et y être lu, et que la cellule de mémoire peut effectuer une transition d'un zéro à un un et d'un un à un zéro. Ces tests de bonne marche sont effectués sur les cellules de mémoire durant un auto-test intégré Une fois que des cellules de mémoire défaillantes ont été identifiées, une auto-réparation intégrce sert à remplacer les cellules de mémoire défaillantes par des cellules de mémoire de remplacement. Ceci se produit typiquement sur une colonne ou une rangée à la fois ou en utilisant des colonnes ou des rangées de remplacement multiples pour remplacer un groupe continu de colonnes ou de rangées (par exemple un espace d'adresse s'étendant sur plusieurs rangées ou colonnes). Des fabricants de
semiconducteurs combinent également auto-test intogré et auto-
réparation intégrée en fonction de leur philosophie de test. Un auto-
test intégré pourrait être achevé avant mise en _uvre d'une auto-
réparation intégrée et ne pas être répété après une reconfiguration de la matrice de mémoire dans laquelle des rangées ou des colonnes défaillantes sont remplacées par des rangées ou des colonnes de remplacement. Par conséquent, si un auto-test intégré est achevé avant qu'une autoréparation intégrée soit effectuée, les colonnes et les rangées de remplacement ne sont pas typiquement testées au cours de l' auto-test intégré et des colonnes et des rangées de cellul es seraient inclues- dans la matrice de mémoire opérationnel le
qui n'a pas passé un auto-test intégré avec succès.
En variante, et de plus grande préférence, un auto-test intégré et une auto-réparation intégrée peuvent se produire alternativement pour garantir que chacune des cellules de mémoire contenues dans
2824415
la configuration finale (opérationnelle) de la matrice de mémoire ont été testées à fond. Par exemple, un test de bonne marche peut se produire au cours du premier passage d'un auto-test intégré et servir à identifier des cellules de mémoire défaillantes. Une fois que ces cellul es de mémo ire défai llante s ont été identifi ées, un premier passage d'un auto- test intégré peut servir à remplacer les rangées et/ou les colonnes de mémoire qui contiennent ces cellules de
mémoire défaillantes. Une fois que le premier passage d'une auto-
réparation intégrée a été achevé, le second passage de l'auto-test intégré peut s'effectuer soit en répétant le premier passage, soit en incluant des tests de bonne marche supplémentaires pour garantir que le remplacement de rangées et/ou de colonnes, telles que
configurées, s'effectue correctement. Un second passage de l'auto-
réparation intégrée s'effectuerait à la fin du second passage de l'autotest intégré pour remplacer toutes les rangées et/ou les colonnes nouvellement identifiées ou subsistantes. En outre, d'autres tests de bonne marche peuvent s'effectuer pour des problèmes de couplage entre cellules de mémoire dans la matrice de mémoire reconfigurée. Un auto-test intégré, qui identifie des cellules de mémoire présentant des déficiences, est toujours suivi d'une auto-réparation intégrée, ou alors la matrice de mémoire n'est
pas réparable et elle est rebutée.
Une fois qu'une rangée de mémoire contenant une cellule non opérationnelle a été identifiée, son adres se est typiquement mi se en
mémoire et mise en correspondance avec une rangée redondante.
Cette mise en correspondance peut se produire après que chaque rangée contenant une cellule non opérationnelle a été identifiée, ou, en variante, le test peut étre suspendu pendant que la rangée contenant la cellule non opérationnelle est mise en correspondance avec une rangée redondante. Une fois la mise en correspondance achevée, le test des rangées restantes est repris. En ce qui concerne les adresses en mémoire auxquelles on ne peut pas accéder ou qui sont rangées dans un cycle d'horloge unique, un traitement en pipeline/en canal de communication peut être mis en _uvre pour
6 2824415
permettre à l'accès ou à la mise en mémoire de se présenter sur
plusieurs cycles d'horloge.
Une description du test de mémoire et de l'emploi des éléments
de mémoire redondants se trouve en détail dans le brevet US également cédé n 6 141 779 attribué le 31 octobre 2000 et dans la demande de brevet US en co-instance (dossier de mandataire n 10981926-1) intitulée " système et procédé pour obtenir une redondance de mémoire RAM sur site " n de série 09/544 516 déposée le 6 avril 2000, 1'un et 1'autre pouvant être consultés pour de plus amples informations. De plus le brevet US n 5 255 227 attribué le 19 octobre 1993 à Haeftele, le brevet US n 5 848 077 attribué le 8 décembre 1998 à Kamae et autres et le brevet US n 6 000 047 attribué le 7 décembre 1999 à Kamae et autres, chacun é gal ement cédé au cessi onnaire de ce brevet, déc rivent de s pro cédé s de correction semblables et peuvent étre consultés pour de plus
amples informations.
Bien que l'auto-test intégré et l'auto-réparation intégrée donnent des facilités de test améliorces et la réhabilitation des dispositifs défectueux, le test supplémentaire et le circuit de réparation et le temps utilisés limitent 1'incorporation de ces outils dans la surface disponible sur la puce, déjà à l'étroit. Il existe donc un besoin pour un procédé et une approche systématiques pour tester les cellules de mémoire contenues dans une matrice de mémoire, qui va réduire au minimum le temps dépensé dans l'auto test intégré et 1'auto-réparation intégrée tout en assurant au maximum l'identification des cellules de mémoire défaillantes. Il existe en outre un besoin pour I'emploi efficace de colonnes de mémoire redondantes et de rangées de mémoire redondantes pour le remplacement des cellules de mémoire défaillantes. Il existe un autre besoin pour l'identification et le remplacement de cellules de mémoire défaillantes tout en réduisant au minimum l'élément matériel associé à un auto-test intégré et à une auto-réparation intégrée ainsi que l'aire de la puce dédiée à l'auto-test intégré et à
l'auto-réparation intégrée.
7 2824415
Les besoins identifiés, des caractéristiques avantageuses et des avantages techniques supplémentaires sont obtenus au moyen d'un système et d'un procédé d'élimination des cellules de mémoire défaillantes dans une matrice de mémoire, le procédé comportant S des étapes consistant à déterminer si des cellules dans chaque colonne de la matrice de mémoire sont opérationnelles (c'est-à-dire ne sont pas défaillantes) à remplacer les colonnes de la matrice de mémoire qui comprennent plus qu'un nombre prédéterminé (par exemple un) de cellules non-opérationnelles par des colonnes de remplacement et, une fois ces colonnes remplacées à utiliser une ou plusieurs rangées de remplacement pour remplacer toute rangée (et, dans le cas de remplacements multiples, les rangées adjacentes), contenant une ou plusieurs cellules non-opérationnelles. Tels qu'utilisés ici, des moyens d'élimination qui bypassent électriquement ou commutent substituent des cellules sans enlever physiquement les cellules non- opérationnelles. La détermination des cellul es opérationnel les par rapport aux cellules non- opérationnelles peut comporter le test de chaque cellule de mémoire située dans la matrice de mémoire et le nombre de cellules défaillantes situées dans une colonne peut être compté pour déterminer si un remplacement de colonne doit étre effectué du fait qu'une valeur de seuil a été atteinte ou dépassée ou sur la base du nombre réel de
cellules de mémoire défaillantes situées dans la colonne.
Le test utilisé pour déterminer si la cellule de mémoire est opérationnelle ou non peut comporter les étapes consistant à générer au moins une adresse de mémoire, à écrire des données à l'adresse de mémoire ainsi générée, à lire des données à l'adresse de mémoire et à comparer les données lues à l'adresse de mémoire avec les données écrites à l'adresse de mémoire. La configuration de colonnes de la matrice de mémoire peut s'effectuer au moyen de multiplexeurs utilisés sur les lignes de bits qui servent à décaler une colonne de remplacement (ou un groupe de colonnes de remplacement) de cellules de mémoire dans la matrice. La configuration de rangées de la matrice de mémoire peut inclure la traduction ou en variante le décodage d'un signal d'adresse de
8 2824415
rangée qui désigne quelles sont les rangées qui sont incluses dans la
matrice de mémoire et quelles sont celles qui en sont exclues.
Une ou plusieurs rangées de remplacement peut être sélectionnée pour remplacer des rangées contenant des cellules non opérationnelles par les rangées de remplacement. Un test supplémentaire peut être effectué après que les colonnes contenant plus d'une cellule non opérationnelle ont été remplacées par des colonnes de remplacement. Un auto-test intégré peut servir à effectuer le test pour déterminer des cellules nonopérationnelles et 1 0 une auto -réparation intégrée pour remplacer les colonnes et le s rangées par des colonnes et des rangées de remplacement
re spectivement.
Une autre forme de réalisation de l'invention inclut un système pour éliminer d'une matrice de mémoire des cellules de mémoire défectueuses, le système comportant un appareil de test de cellule de mémoire qui détermine les cellules non-opérationnelles, un sélecteur de colonne ou " appareil de reconfiguration " qui remplace les colonnes présentant plus d'une (ou une autre valeur prédéterminée) de cellules non-opérationnelles par une colonne de remplacement, et un appareil de reconfiguration de rangée qui remplace par des rangées de remplacement toute rangée contenant des cellules non opérationnelles qui subsistent après que les remplacements de colonnes soient faits. L'appareil de test de cellule de mémoire peut compter le nombre de cellules non-opérationnelles dans chacune des colonnes et utiliser ce nombre pour déterminer les colonnes qu'il faudrait remplacer par des colonnes de remplacement ou peut utiliser un circuit à base de valeur de seuil (par exemple un compteur saturable) qui fait en sorte que soient remplacées par des colonnes de remplacement les colonnes présentant un nombre de cellules non- opérationnelles égal ou supérieur au seuil. L'appareil de test de cellule de mémoire peut inclure un circuit d'écriture des donnces concernant la cellule de mémoire ou " appareil d'écriture " qui écrit des valeurs dans la cellule de mémoire, un circuit de lecture des données concernant les cellules de mémoire ou " lecteur " qui lit des valeurs dans la cellule de mémoire, un premier registre pour y ranger la valeur écrite dans la cellule de mémoire et un comparateur qui compare la valeur lue dans la cellule de mémoire avec la valeur rangée dans le premier registre. Un second registre peut s'utiliser pour enregistrer un décompte, représentant les résultats fournis par le comparateur. I'appareil de reconfiguration de colonne peut comporter un multiplexeur utilisé sur les lignes de bits pour décaler une colonne de remplacement de cellules de mémoire dans la matrice de mémoire. L'appareil de reconfiguration de rangée peut comporter un signal d'adresse de rangée qui sert à sélectionner une ou plusieurs rangées de cellules de mémoire de remplacement pour remplacer des rangées de cellules
de mémoire contenant des cellules non-opérationnelles.
D'autre part, le système peut comporter un substrat semiconducteur et une matrice de mémoire trouvée sur une portion dudit substrat semiconducteur o l'appareil de test de cellule de mémoire, l'appareil de reconfiguration de groupe de colonnes, l'identificateur de cellules subsistantes et ledit appareil de reconfiguration de rangée sont tous formés en commun avec la
matrice de mémoire sur ledit substrat semiconducteur.
De plus le système peut comporter un auto-test intégré et une
auto-réparation intégrée.
Une autre forme de réalisation de l'invention inverse l'ordre préféré colonne en premier, rangée en second, et comporte un procédé pour éliminer d'une matrice de mémoire les cellules de mémoire défectueuses qui " y ressemble " ou teste et procède à la reconfiguration des rangées d'abord puis des colonnes. Dans cette forme de réalisation, est déterminé le nombre de cellules non opérationnelles dans chacune des rangées de la matrice de mémoire, les rangées présentant plus qu'un nombre préfixé ou ajusté dynamiquement de défaillances non-opérationnelles étant remplacées par des rangées de remplacement. Une fois que ces cellules nonopérationnelles ont été effectivement " éliminées " de la matrice de mémoire, les colonnes contenant des cellules non opérationnelles sont identifiées et des colonnes de remplacement servent à éliminer des cellules de la matrice de mémoire les
1 0 2824415
colonnes contenant les cellules non-opérationnelles. Le processus
permettant de déterminer si une cellule est opérationnelle ou non-
opérationnelle inclut une étape consistant à tester les cellules de la matrice de mémoire pour déterminer les cellules défectueuses et à compter les cellules défectueuses dans chacune des rangées. Le décompte lui-méme peut servir à déterminer les rangées qu'il faudrait remplacer par des rangées de remplacement ou bien peuvent étre utilisées un seuil et une valeur booléenne correspondante. Le test d'une cellule de mémoire comporte les étapes consistant à générer au moins une adresse de mémoire, à écrire les données concernant l'adresse de mémoire, à lire les données à l'adresse de mémoire et à vérifier que ce sont les données correctes qui ont été
lues à l'adresse de mémoire. Un registre peut s'utiliser dans ce test.
Le processus de configuration des rangées de la matrice de mémoire peut inclure une étape consistant à activer une ligne de mots variante pour décaler dans la matrice de mémoire une rangée de remplacement de cellules de mémoire ou pour accéder autrement à
la rangée ou aux rangées de remplacement.
Ce qui précède a décrit plutôt largement les caractéristiques et les avantages techniques de la présente invention pour mieux faire
comprendre la description détaillée de l' invention qui suit. D' autres
caractéristiques et avantages de l'invention seront décrits ci-dessous
et forment l' objet des revendications de l' invention. L'homme de
l'art se rendra compte de ce que la conception et la forme de réalisation spécifique décrites peuvent être facilement utilisées comme base pour modifier ou concevoir d'autres structures pour atteindre les mémes buts de la présente invention. L'homme de l'art doit également se rendre compte de ce que des constructions équivalentes ne s'écartent pas de l'esprit et de l'obj et de l' invention
tels qu'exposés dans les revendications jointes.
Pour une compréhension plus complète de la présente
invention, on se réfère maintenant à la description qui suit prise en
liaison avec les dessins joints sur lesquels: La figure 1 est un diagramme d'une matrice de cellules de mémoire huit par huit avec une rangée de compteurs associé selon l'invention; La figure 2 est un diagramme d'une matrice de cellules de mémoire huit par huit qui contient un certain nombre de cellules de mémoires défaillantes avec des rangées de registres associées mémorisant une erreur totale et un compte d'erreurs saturé; La figure 3 est un diagramme d'une matrice de cellules de mémoire huit par huit de la figure 2 après que des colonnes redondantes soient configurées pour éliminer les colonnes associées à des valeurs de compteur saturé; La figure 4 est un diagramme d'une matrice de cellules de mémoire huit par huit de la figure 3 après que des rangées redondantes soient configurces pour éliminer les rangées qui contiennent des cellules de mémoire défaillantes en mettant en évidence les cellules non testées; La figure 5 est un diagramme qui représente le matériel informatique permettant de mettre en _uvre une forme de réalisation de la présente invention; La figure 6 est un diagramme de la matrice RAM avec des multiplexeurs d'utilisation des cellules redondantes utilisés pour procéder à un remplacement de colonnes; La figure 7 est un diagramme par blocs d'accès à une mémoire adressable par le contenu par le circuit d'allocation de redondance et le circuit auto-test intégré; La figure 8 est un diagramme de auto-test intégré et de 1'auto réparation intégrée conforme à une forme de réalisation de l'invention; La figure 9 est une conception de 1'auto-test intégré et de I'auto-réparation intégrée selon une forme de réalisation variante de
I' invention.
La figure 1 est un diagramme d'une matrice de mémoire qui comporte huit colonnes, chaque colonne comprenant une ligne de bits correspondante (101108) et huit rangées, chacune présentant une ligne de mots en commun (1 09-11 6). (L'homme de l'art doit
1 2 2824415
comprendre que la mémoire de 64 bits est présentée à titre d'exemple et pour faciliter l' illustration, des mémoires à semiconducteur incluant typiquement des blocs de cellules de mémoire beaucoup plus importants). Les colonnes 107, 108 et les rangées 115 et 116 sont redondantes. Il faut noter qu'il n'est pas nécessaire que les colonnes et les rangées redondantes soient adjacentes à celles en cours de test, mais qu'elles peuvent en être éloignées. Chacune des huit lignes de bits ( 101-108) a également un registre compteur associé (117-124). Par exemple des défaillances de cellules associées à la ligne de bits 101 sont enregistrées dans le compteur 1 17, des défaillances sur la ligne de bits 102 sont enregistrées dans le compteur 118 etc. A l'achèvement du passage de l'auto-test intégré, les compteurs 1 17 à 124 contiennent une valeur qui représente le nombre d'erreurs de mémoire qui sont apparues au cours du test de bonne marche des colonnes de mémoire 101 à 108 respectivement. Selon une première forme de réalisation, le compte représente un nombre total d'erreurs pour toutes les cellules, y compris des erreurs multiples provenant d'une cellule unique (c'est-à-dire sans s'inquiéter de savoir si les erreurs représentent les erreurs multiples provenant d'un petit nombre de
cellules ou des erreurs uniques provenant de plusieurs cellules).
D'autres formes de mise en _uvre peuvent distinguer entre le nombre de ce l lules défai l l antes en décomptant l es défai l lances multiples provenant d'une cellule unique, tandis que d'autres formes de mise en _uvre peuvent utiliser un compteur à seuil pour donner un unique bit indicateur indiquant une condition de colonne bonne/défaillante. La figure 2 est un diagramme qui représente un certain nombre de détaillances, indiquées par les " x >> dans une matrice de mémoire de huit colonnes, huit rangées. La configuration décrite inclut à la fois des compteurs normaux et des compteurs saturables, bien que l'on pense qu'une mise en _uvre commerciale ne choisira qu'un seul type de compteur et non pas les deux. Par exemple une forme de réalisation préférée de 1'invention comporte des compteurs
1 3 2824415
saturables. A l ' achèvement du premier passage de l' auto-test intégré, chaque cellule de compteur 1 17-124 de la rangée de compteurs 201 va contenir le nombre de cellules de mémoire défaillantes dans une colonne respective de la matrice de mémoire S huit par huit. Par exemple si le test des cellules de mémoire de la colonne 101 a indiqué qu'une erreur était détectée, alors la cellule de compteur 117 contiendra la valeur 1 comme indiqué. De méme, les cellules de mémoire de la colonne de mémoire 102 contiennent huit défaillances de cellules de mémoire et par conséquent la cellule de compteur 118 contient la valeur 8. En variante, un fabricant de semiconducteur peut ne pas étre intéressé par le nombre spécifique de défaillances de cellules de mémoire contenues dans une colonne spécifique et peut de préférence, décider de remplacer la colonne de mémoire par une colonne redondante après qu'une certaine valeur 1S de seuil de défaillances de cellules de mémoire est apparue dans cette colonne,saturant ainsi la cellule de compteur respective. La rangée de compteur 202 est un exemple d'une rangée de compteurs qui sature à une valeur de trois, c'est-à-dire que les cellules de compteur de mémoire sont saturces après que trois cellules de mémoire ont donné lieu à une défaillance dans cette colonne; bien que les cellules de mémoire suivantes puissent être testées et se traduisent par la détection de défaillances supplémentaires, la valeur du compteur associé n'augmentera pas. Par conséquent, pour la cellule de mémoire huit par huit 200, les cellules de compteur 204 et 206,o chaque colonne contenait trois ou davantage erreurs, contiennent maintenant le nombre 3 dans la rangée de compteurs saturables. Par conséquent des compteurs saturables peuvent donner une simple indication " va " (par exemple moins de trois défaillances détectées), ou " ne va pas (trois ou davantage défaillances) comme signal de sortie au lieu, ou en plus, de la
valeur de comptage effective.
Une fois que le nombre de défaillances de cellules de mémoire dans chaque colonne a été tabulé et que la première étape de l'auto test intégré est achevée, le premier passage de l'auto-réparation intégrée peut s'effectuer par substitution d'une colonne redondante
1 4 2824415
(ou de colonnes redondantes) à toute colonne (et aux colonnes adj acentes) qui ont été défaillantes au premier passage de l' auto-test intégré. Pour le fabricant de semiconducteur qui a mis en _uvre la rangée de compteurs 201, une recherche doit étre effectuée parmi les différents compteurs pour déterminer quels compteurs indiquent une valeur suffisamment élevée pour nécessiter l'emploi d'une colonne redondante. Pour le fabricant de semiconducteur qui met en _uvre le compteur saturable 202, les colonnes 102 et 104, qui correspondent aux positions de compteur 204 et 206, seront respectivement remplacées par des colonnes redondantes. Que ce soit des compteurs saturables ou des valeurs de compteur maximales qui soient utilisés, la valeur du seuil sélectionnée détermine le seuil entre les cellules de mémoire réparées par le remplacement d'une colonne et par le remplacement d'une rangée. Une fois que les colonnes 102 et 104 ont été remplacées, les défaillances de cellule de mémoire associées à ces colonnes sont également corrigées (en supposant que les cellules de la colonne redondante sont
entièrement opérationnelles).
Bien que la présente forme de réalisation décrive le remplacement d'une seule colonne par une colonne redondante, l'homme de l'art se rendra compte de ce qu'il est possible de remplacer de multiples colonnes, ou des blocs de colonnes, par de multiples colonnes redondantes ou par des blocs de colonnes redondants. Il peut être souhaitable de remplacer des colonnes par blocs plutôt qu'individuellement du fait que de nombreuses défaillances peuvent affecter plus qu'une unique colonne. Dans ce cas, le remplacement de groupes de colonnes est plus efficace que le remplacement de colonnes individuelles. Un groupe de colonnes
peut inclure une ou plusieurs colonnes.
La figure 3 est un diagramme de la matrice de mémoire après que les colonnes 107 et 108 ont été substituées aux colonnes 102 et 104. Comme on peut le voir sur la figure 3, les indicateurs d'erreur associés à ces colonnes remplacées sont disparus. La seconde étape dans l'autoréparation intégrée est une identification des rangées qui contiennent des erreurs et un remplacement de ces rangées par des rangées redondantes. Comme on peut le voir sur la figure 3, les rangées 112 et 113 contiennent des cellules de mémoire présentant des défaillances et de préférence seront remplacées par des rangées redondantes. La figure 4 est un diagramme de matrice de mémoire qui montre l' absence de fautes subsistantes (indiqué par l ' absence de x dans les cellules de mémoire) après que les rangées 112 et 113 ont été remplacées. Comme on peut le voir sur la figure 4, l'emploi de deux colonnes redondantes et de deux rangées redondantes élimine
toutes les cellules de mémoire qui contenaient des défaillances.
Toutefois ces rangées et ces colonnes de remplacement n'ont pas été testées. Typiquement, avec des matrice de mémoire de taille normale, un petit nombre seulement de colonnes et/ou de rangées sont 1S effectivement remplacées. Du fait qu'une matrice de mémoire dans laquelle des colonnes ou des rangées de remplacement ont été utilisées contient des cellules non testées, il faut un second passage de l ' auto -test intégré pour garantir que chacune des cellule s de mémoire de remplacement contenues dans la matrice de mémoire fonctionne de façon satisfaisante. Un auto- test intogré est également employé pour identifier les cellules de mémoire qui sont défaillantes et le nombre de défaillances de cellule de mémoire contenues dans chacune des colonnes. Comme avec le premier passage de l' auto-test intégré, les colonnes contenant des défaillances de mémoire qui saturent le bit du compteur, ou qui contiennent des erreurs en nombre supérieur à un nombre prédéterminé, sont remplacées par des colonnes redondantes. Une fois que ces colonnes redondantes ont remplacé électriquement ou logiquement des colonnes qui ont saturé ou ont dépassé le nombre de défaillances autorisées, les rangées redondantes servent à remplacer les cellules de mémoire défectueuses jusqu'à ce que toutes les défaillances de cellule de mémoire soient éliminées. On fait passer alternativement l'auto-test intégré et l'auto-réparation intégrée jusqu'à ce que l'auto-test intégré passe sans aucune défaillance de cellules de mémoire ou jusqu'à ce qu'il n'y ait plus
16 2824415
de colonnes et de rangées redondantes et que la matrice de mémoire
soit inutilisable.
La figure 5 est un diagramme qui représente deux matrices de mémoire de six colonnes chacune (0-5 et 6-11), chaque matrice de mémoire ayant huit rangées (0-7). La figure 5 comporte des matrices de mémoire 501 et 502, deux multiplexeurs utilisés sur les colonnes 503 et 504, des portes " 0U " exclusif (XOR) 505, 506, deux compteurs 507 et 508, une porte OU 509, un bloc logique de réparation de rangée 510 et un décodeur de rangée 511. Pour réduire le temps nécessaire pour le test, la mémoire contenue dans un dispositif peut être divisée en matrices de mémoire distinctes et
toutes les matrices de mémoire peuvent étre testées simultanément.
Un auto-test intégré peut être configuré pour tester simultanément la colonne 0 de la matrice de mémoire 501 et la colonne 6 de la matrice de mémoire 502, l'information concernant le test résultant étant appliquée aux multiplexeurs 503 et 504 utilisés sur les colonnes, respectivement. (L'homme de l'art comprendra que cette possibilité n'est pas limitée à tester simultanément deux blocs de mémoire et peut s'étendre à tester simultanément plusieurs blocs à la demande). Par exemple, après qu'une instruction d'écrire un " 1 " est appliquce à chaque cellule de mémoire dans les matrices de mémoire 501 et 502, on s'attend à ce que chaque cellule de mémoire contienne la valeur un. Chaque valeur mémorisée dans la cellule est appliquée aux multiplexeurs utilisés sur les colonnes et la valeur mémorisce et lue dans la cellule est comparée, dans les portes XOR 505 et 506, avec les données attendues 512 et 513. Si la valeur mémorisée dans la cellule correspond à la valeur attendue, le nombre entier rangé dans les compteurs (507 et 508) n'est pas incrémenté. Par contre, si les valeurs ne correspondent pas, le compteur correspondant 507 ou 508 est incrémenté. Comme indiqué précédemment, des techniques de correction de l' art antérieur sont entièrement décrites dans les brevets US n 5 255 227, 5 848 077 et 6 000 047, qui peuvent être consultés pour de plus amples informations.
1 7 2824415
Le test se poursuit de cette façon jusqu'à ce que l'auto-test intégré soit achevé pour chaque cellule dans chaque colonne et que les valeurs représentant des défaillances totales ou des valeurs de saturation soient associées à chaque colonne de chaque matrice de mémoire. Après que des colonnes ont été identifiées comme n'ayant pas réussi à l'auto-test intégré en ayant au moins un nombre prédéterminé de cellules défaillantes, des colonnes redondantes servent à remplacer ces colonnes. Le remplacement des rangées par des rangées redondantes sert alors à remplacer les rangées qui contiennent encore une défaillance de cellule jusqu'à ce que toutes les défaillances de cellule soient éliminées de la matrice de mémoire. Le remplacement des colonnes et des rangées dépend de la
disponibilité de colonnes et de rangées redondantes respectivement.
S'il y a un nombre insuffisant de rangées de remplacement pour remplacer complètement toutes les rangées contenant des cellules défectueuses, toutes les colonnes de remplacement subsistantes peuvent être utilisées avant de décider que la matrice de mémoire ne
peut pas étre conservée.
Typiquement, le remplacement d'une rangée défectueuse par une rangée de remplacement de cellules de mémoire se fait par transformation d'un signal d'adresse de rangée pour sélectionner la rangée de remplacement au lieu de la rangée défectueuse. Des substitutions de colonnes s'effectuent en utilisant des multiplexcurs sur les lignes de bits pour commuter entre les lignes adjacentes (ou entre des groupes de lignes adjacentes), en décalant effectivement la colonne défectueuse pour l'éliminer, tout en fournissant l'accès à une colonne (ou à des colonnes) de remplacement physiquement situées à l'extrémité de la matrice de mémoire. Cette technique est complètement décrite dans la demande de brevet US également cédée et en co-instance (dossier de mandataire n 10971176) intitulée << programmation de redondance par utilisation de chemins de balayage adressables pour réduire le nombre de fusibles nécessaires >> n de série 09/506 620 déposée le 8 février 2000 et
qui peut être consulté pour de plus amples informations.
18 2824415
La figure 6 est un diagramme de la matrice de mémoire RAM avec des multiplexeurs utilisés sur les colonnes redondantes pour des remplacements de colonnes. Dans cette forme de réalisation, de multiples colonnes peuvent étre remplacées à la fois. La figure 6 contient deux groupes de mémoire 501 et 502 qui contiennent quatre colonnes opérationnelles, colonnes O à 3 dans le groupe de mémoire 501, et colonnes 6 à 9 dans le groupe de mémoire 502, et deux col onnes redondantes dans chaque group e de mémoire, co lonnes 4 et dans le groupe de colonnes 501 et colonnes 10 et 11 dans le groupe de mémoire 502. Les multiplexeurs 503 et 504 utilisés sur les colonnes redondantes sont programmés avec des données de programmation d'utilisation des colonnes redondantes et servent à décaler les données concernant les colonnes contenant des cellules présentant des défaillances. Sur la figure, chaque colonne incluse dans le diagramme peut correspondre à une ou plusieurs colonnes de cellules adjacentes. Par exemple, si l'événement est que les cellules incluses dans la colonne 9 contenaient des défaillances comme représenté, la colonne 10, une colonne redondante, pourrait étre utilisée au lieu de la colonne 9. La colonne 11 subsiste en tant que
colonne redondante pour un usage ultérieur.
Comme précédemment décrit, des adresses de rangées qui contiennent des cellules non-opérationnelles sont typiquement
mémorisées et mises en correspondance avec une rangée redondante.
Ces adresses de rangée peuvent étre mémorisées dans une mémoire adressable par le contenu (CAM pour Content Addressable Memory selon le terme anglo-saxon). Dans une forme de réalisation préférée, le test des cellules et le remplacement des rangées contenant des cellules non- opérationnelles par des rangées redondantes se produisent simultanément, c'est-à-dire que l'identification d'une information concernant une adresse de rangée défaillante est mémorisée dans la mémoire adressable par le contenu immédiatement à la suite du test des cellules et pendant que les rangées suivantes sont encore à passer le test. Cette opération simultanée sert à réduire au minimum la quantité de mémoire de travail nocessaire pour mémoriser les adresses de défaillances de
19 2824415
rangées, réduire au minimum le temps passé pour tester et corriger
les matrices de mémoire.
La figure 7 est un diagramme par blocs d'une mémoire adressable par le contenu (CAM) qui mémorise des adresses de rangées ou de groupes de rangées défectueuses. La mémoire adressable par le contenu 701 sert à accéder aux rangées qui sont actuellement en cours de test ainsi qu'à mémoriser les adresses des rangées qu'il faut remplacer. C'est-à-dire que la mémoire adressable par le contenu assure toute traduction d'adresse nécessaire pour un espace d'adresse de rangée défectueuse pour y substituer un espace d'adresse approprié en mémoire redondante, y compris une traduction d'adresse pour le test. La mémoire adressable par le contenu 701 semble extérieurement comporter deux ports d'entrée d'adresse, ou << voies " par lesquelles il est possible d'accéder à la mémoire adressable par le contenu 701. L'un de ces ports 702 est utilisé par un circuit auto-test intégré 703 pour accéder à des rangées spécifiques de mémoire pour tester les cellules de mémoire individuelles qui y sont contenues. Un second port 704 est utilisé par un circuit 705 d' allocation de redondance pour mémoriser des
adresses de rangée contenant des cellules non-opérationnelles.
Typiquement les adresses de rangée ne sont pas mémorisces et on ne peut pas y accéder en un unique cycle d'horloge et un canal de
communication/pipeline est typiquement inclus dans le port 704.
Sur la figure 7 est représenté un canal de communication/pipeline à deux étages constitué d'un premier étage 706 et d'un second étage 707. A l'intérieur, la mémoire adressable par le contenu 701 dispose d'un seul port en ce sens qu'elle n'effectue qu'une seule opération d'accès à la fois. Lorsque la mémoire adressable par le contenu 701 reçoit une demande d'écriture ou de lecture d'une adresse de mémoire spécifique (il faut noter qu'en ce qui concerne la mémoire adressable par le contenu 701, l'adresse de mémoire sous référence est traitée en tant que données) en provenance du circuit auto-test intégré 703, cette demande est transmise à l'antémémoire 708 par l'intermédiaire de la mémoire adressable par le contenu 701. Si
232441 5
I'adresse de mémoire correspond à un espace d'adresse de mémoire précédemment mémorisé et indiquant une sélection défectueuse de la mémoire, la mémoire adressable par le contenu 701 fournit un signal de correspondance pour qu'il soit procédé au remplacement de la section de mémoire défaillante par une section de mémoire redondante. En variante, lorsque la mémoire adressable par le contenu 701 reçoit une adresse de rangée fournie par le circuit d' al location de redondance 705, 1 ' adresse de rangée est transmise au port 704 par 1'intermédiaire des étages de canal de communication 706 et 707 et elle est mémorisée par la mémoire adressable par le
contenu et une rangée de remplacement est mise en correspondance.
Dans une forme de réalisation préférce, de multiples rangées peuvent étre groupées ensemble et testées et, si nécessaire, remplacées ensemble. Si, par exemple, quatre rangées de mémoire sont groupées ensemble, les deux bits de moindre poids peuvent être ignorés et les quatre rangées de mémoire seront traitées sous forme
d'une entité unique.
Du fait, que deux opérations peuvent étre initiées en méme temps, c'est-àdire un accès au port 702 depuis le circuit auto-test intégré et une mémorisation d'une adresse de rangée correspondant à des cellules nonopérationnelles, tandis que la mémoire adressable par le contenu 701 ne peut exécuter qu'une seule opération d'accès à la fois, il faut développer un schéma pour traiter les deux demandes qui arrivent. L'invention résout ce conflit en assignant une priorité à 1'écriture de 1'adresse de rangée qui contient la
cellule non-opérationnelle.
Il s'écoule une période de temps fixée entre le moment o une défaillance de rangée est détectée et celui o l'adresse de la rangée contenant la cellule non-opérationnelle atteint la mémoire adressable par le contenu 701. La priorité peut étre donnée à la mémorisation des données concernant l'adresse de rangée dans la mémoire adressable par le contenu 701 en allongeant ces périodes de temps fixées pour éliminer les conflits. Une opération correcte à la fois de la mémorisation de l'adresse de rangée et du test du circuit auto-test intégré est assurée en planifiant une écriture de
2 1 2824415
circuit auto-test intégré de façon qu'elle se produise simultanément avec l'écriture en mémoire adressable par le contenu. Les écritures en circuit auto-test intégré peuvent étre planifiées pour se produire séquentiellement, sans intervention sur les opérations d'écriture en circuit auto-test intégré, pour éliminer les conflits entre une écriture
en mémoire adressable par le contenu et une lecture en circuit auto-
test intégré.
L'homme de l'art comprendra que la matrice de mémoire, la structure support (y compris les décodeurs d'adresse, les amplificateurs de lecture, les horloges etc.), les autres structures (par exemple processeur/organe de commande, unité centrale de traitement, dispositifs d'entrée/sortie, etc.) et l' auto-test intégré et l'auto-réparation intégrée sont tous formés en tant que puce à
semiconducteur ou puce incluant un substrat semiconducteur.
La figure 8 est un diagramme représentant la séquence relative de l' autotest intégré suivi de l' auto-réparation intégrée, si cela est nécessaire pour ré-acheminer les demandes d'adresse de mémoire à une portion de mémoire redondante. Comme décrit, la mémoire adressable par le contenu 701 (figure 7) contient huit positions de mémoire adressable par le contenu, chacune mémorisant, par exemple, les onze bits de poids forts d'une adresse de mémoire. Si une adresse de cellule correspond aux données concernant un espace d'adresse mémorisées dans la mémoire adressable par le contenu 701, alors un signal de correspondance approprié est envoyé au circuit de substitution d'adresse de rangée 801. Ceci peut faire qu'une adresse correspondant à un groupe approprié de rangées redondantes soit substituée à la portion de l'adresse désignant un groupe de rangées défaillantes. Le signal d'adresse résultant est alors envoyé à la mémoire 802, ce qui permet d'accéder à une cellule de mémoire spécifice, de sorte que des données peuvent être
écrites dans la cellule ou y étre lues.
Dans cet exemple, nous supposons qu'un certain nombre de bits d'adresse de poids faible servent à distinguer entre des unités minimales adressables (dans cet exemple et aux fins d' illustration, des bits) à l'intérieur d'une rangée et une rangée particulière à
22 2824415
l' intérieur d' une dimension minimale prédéfinie de groupe remplaçable de rangées, par exemple quatre rangées. Par exemple, un espace d'adresse de vingt bits peut avoir les 7 bits de poids faible désignant (c'est-à- dire adressant) l'une de 128 cellules constituant une rangée, les deux bits de poids forts suivants désignant l'une des quatre rangées contenues dans chaque groupe de quatre rangées, et les onze bits de poids le plus fort désignant l'un des 2048 groupes de quatre rangées. Du fait que les rangées sont substituées en groupes, il suffit que la mémoire adressable par le contenu mémorise les onze bits de poids fort d'une adresse pour déterminer si l'adresse à laquelle il faut accéder fait partie d'un espace d'adresse d'un groupe de quatre rangées précédemment
déterminé comme incluant une cellule défectueuse.
La portion auto-test intégré comporte nominalement cinq étapes. Initialement, une adresse d'une cellule à tester en mémoire 802 est générée à 1'étape 803, l'adresse étant envoyée à la mémoire adressable par le contenu 701 pour traduction possible, c'est-à-dire pour remise en correspondance dans la mémoire redondante si l'adresse fournie fait partie d'un espace d'adresse défectueux incluant une rangée défectueuse de cellules de mémoire. Si l'adresse de la cellule en cours de test n'a pas été précédemment déterminée comme tombant à l'intérieur de l'espace d'adresse d'un groupe de rangées défectueuses, alors l'adresse fournie à l'étape 803 est envoyée, sans changement, à la mémoire sous test 802. En variante, si les bits de poids fort de l'adresse correspondent à une entrée dans la mémoire adressable par le contenu 701, alors est produit un signal de correspondance qui initie un accès du groupe redondant correspondant de quatre rangées, les bits de poids faible de l'adresse servent à désigner l'une des quatre rangées et un octet sert à désigner une cellule à l'intérieur de cette rangée comme dans
le cas incorrect.
Une fois que le signal d'adresse approprié est envoyé à l'unité de mémoire sous test 802, les données concernant le test sont
écrites dans la cellule ou les cellules désignées, à l'étape 804.
Pouvoir lire dans la cellule ou les cellules nécessite que l'adresse
23 2824415
de l'adresse de la cellule sous test soit retransmise à l'étape 805 comme précédemment décrit en liaison avec l'étape 803. Toutefois maintenant les données sont lues dans la cellule ou les cellules à l'étape 806 et, à 1'étape 807, ces données sont comparées aux données telles que rangées en mémoire. Une correspondance indique que la cellule semble étre opérationnelle (sous réserve d'un test ultérieur), tandis qu'une absence de correspondance indique un défaut ou une défaillance. Si un défaut est identifié, alors l'adresse du groupe de rangées correspondant est mémorisée dans la mémoire adressable par le contenu 701 à l'étape 808. Toutefois, la mémorisation d'un " mauvais " groupe d'adresses est sujet à un retard de traitement 809. Malheureusement, ce retard provoque un conflit entre des données concernant une adresse en cours d'écriture dans la mémoire adressable par le contenu 701 et 1'action en mémoire suivante qui débute à 1'étape 803. Par conséquent le fait d'écrite dans la mémoire adressable par le contenu 701 peut se traduire par le fait qu'un changement de traduction d'adresse se produit entre les étapes 803 et 806 de sorte que les données concernant le test peuvent être mémorisées dans une position de
cellule mais étre lues dans une position différente.
En se reportant à la figure 9, un retard est introduit sous la forme des étapes 901 et 902 de façon que la mise à jour de la mémoire adressable par le contenu 701 (figure7) selon 1'étape 808 et soumise au retard 809 soit achevée avant la mémorisation des données concernant le test. En particulier les étapes 901 et 902 dupliquent les actions des étapes 801 et 802 respectivement. Par conséquent l'adresse d'une cellule en cours de test est envoyée à la mémoire adressable par le contenu 701 à 1'étape 901. Dans le cas o l'étape 808 est mise en _uvre simultanément pour envoyer des données, concernant 1'adresse, mises à jour, à la mémoire adressable par le contenu 701, il en résultera un conflit de sorte que c'est une adresse erronée ou pas d'adresse du tout qui peut être fournie à la mémoire 802 par 1'étape 901. Cette possibilité se traduit par le fait que des données à écrire dans la mémoire 802 ne sont pas correctement mémorisées en réponse à 1'étape 902. Pour
24 2824415
tenir compte des difficultés à mémoriser correctement les données concernant le test dans la mémoire 802, difficultés provoquées par ces conflits, les étapes 803 et 804 répètent le processus d'envoi de l'adresse de la cellule en cours de test et des données à mémoriser dans la cellule pour garantir que la mémorisation des données concernant le test dans la cellule désirée s'accomplisse correctement. Le processus se poursuit alors comme détaillé en liaison avec la figure 8 pour lire dans la cellule en cours de test les données concernant le test, comparer les données telles que lues aux données telles que écrites et accomplir toute mise à jour nécessaire concernant la mémoire adressable par le contenu 701 pour tenir compte de toute cellule de mémoire défectueuse identifiée par le test. Comme l'homme de l'art va facilement s'en rendre compte à partir de 1'exposé de la présente invention, des processus, des machines, des fabrications, des compositions de matières, des moyens, des procédés ou des étapes, actuellement existants ou à développer ultérieurement, qui exercent substantiellement la même fonction ou donnent substantiellement les mémes résultats que les formes de réalisation correspondantes décrites ici peuvent étre utilisés conformément à la présente invention. Par conséquent les
revendications jointes se considèrent comme incluant dans leur
obj et ces processus, machines, fabrications, compositions de matière, moyens, procédés ou étapes. Bien que la présente invention ait été décrite en utilisant des matrices de cellules de mémoire, l'homme de l'art comprendra que l'invention peut s'appliquer à tout dispositif multicellulaire dans lequel le maintien d'une position physique n'est pas important et dans lequel des colonnes ou des rangées redondantes de dispositif peuvent se substituer à des dispositifs défaillants. Par exemple l'invention peut également
s'appliquer à des matrices de multiplicateurs et d'additionneurs.
2824415

Claims (10)

R E V E N D I C A T I O N S
1. Système pour éliminer d'une matrice de mémoire (100) des cellules de mémoire défaillantes, caractérisé en ce qu'il comporte: un appareil de test de cellule de mémoire (703) pour déterminer les cellules nonopérationnelles; un appareil de reconfiguration de groupe de colonnes (503) pour remplacer ceux desdits groupes de colonnes qui contiennent un nombre prédéterminé de cellules non opérationnelles; un identificateur de cellules non-opérationnelles subsistantes qui identifie les cellules nonopérationnelles subsistantes dans ladite matrice de mémoire; et un appareil de reconfiguration de rangée (510) pour remplacer celles des dites rangées qui contiennent des cellules non opérationnelles.
2. Le système de la revendication 1 caractérisé en ce que ledit appareil de test de cellule de mémoire (703) compte en outre le nombre de cellules non-opérationnelles dans chacun des
groupes de colonnes.
3. Le système de la revendication 2 caractérisé par le fait que ledit appareil de test de cellule de mémoire (703) présente un seuil et compte le nombre de cellules non-opérationnelles
jusqu'audit seuil.
4. Le système de la revendication 1 caractérisé par le fait que ledit appareil de test de cellule de mémoire (703) comporte en outre: un générateur de données concernant le test de cellule de mémoire configuré pour écrire des valeurs dans ladite cellule de mémoire; un organe de sortie des données concernant les cellules de mémoire (503) configuré pour lire des valeurs dans ladite cellule de mémoire;
26 2824415
un premier registre (505) configuré pour y ranger la valeur écrite dans ladite cellule de mémoire; un comparateur configuré pour comparer ladite valeur, rangée dans ledit premier registre, avec ladite valeur lue dans ladite mémoire; et un second registre (507) configuré pour enregistrer un résultat
fourni par ledit comparateur.
5. Le système de la revendication 1 caractérisé par le fait: que ledit appareil de reconfiguration de groupe de colonnes (503) comporte des multiplexeurs utilisés sur les lignes de bits (503, 504) pour décaler dans ladite matrice une colonne de cellules de mémoire de remplacement; et dans lequel ledit appareil de reconfiguration de rangée (510, 511, 705) comporte en outre un signal d'adresse de rangée qui sélectionne une ou plusieurs rangées de cellules de mémoire de remplacement.
6. Le système de la revendication 1 caractérisé en ce qu'il comporte en outre: un substrat semiconducteur; et une matrice de mémoire (100) trouvée sur une portion dudit substrat semiconducteur, o ledit appareil de test de cellule de mémoire (703), ledit appareil de reconfiguration de groupe de colonnes (503), ledit identificateur de cellules subsistantes et ledit appareil de reconfiguration de rangée (510, 511, 705) sont tous formés en commun avec ladite matrice de mémoire sur
ledit substrat semiconducteur.
7. Le système de la revendication 6 caractérisé par le fait qu'il comporte en outre un auto-test intégré (703) et une auto
réparation intégrée (511, 510, 503, 701, 705).
8. Procédé pour éliminer d'une matrice de mémoire (100) les cellules de mémoires défaillantes, caractérisé par le fait qu'il comporte les étapes consistant à: déterminer si les cellules qui sont dans chaque rangée sont opérationnelles;
27 2824415
configurer les rangées (109-114) de ladite matrice de mémoire pour remplacer par des rangées de remplacement ( 1 15, 1 16) celles desdites rangées qui contiennent un nombre prédéterminé de cellules nonopérationnelles,; identifier les cellules défaillantes restantes non remplacées par ladite étape de configuration des rangées de ladite matrice de mémoire; et configurer les groupes de colonnes (101-106) de ladite matrice de mémoire pour remplacer ceux desdits groupes de colonnes
contenant lesdites cellules défaillantes restantes.
9. Le procédé de la revendication 8 caractérisé par le fait que ladite étape de détermination comporte une étape consistant à tester les cellules de mémoire de ladite matrice de mémoire ( 100) pour déterminer celles desdites cellules qui sont défaillantes et compter lesdites cellules défaillantes dans
chacune des rangées.
10. Le procédé de la revendication 8 caractérisé par le fait que ladite étape de comptage inclut la prescription d'un seuil (202)
FR0201086A 2001-02-02 2002-01-30 Systeme et procede pour eliminer d'une matrice de memoire des cellules de memoire defaillantes Withdrawn FR2824415A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/777,202 US20020108073A1 (en) 2001-02-02 2001-02-02 System for and method of operating a programmable column fail counter for redundancy allocation

Publications (1)

Publication Number Publication Date
FR2824415A1 true FR2824415A1 (fr) 2002-11-08

Family

ID=25109561

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0201086A Withdrawn FR2824415A1 (fr) 2001-02-02 2002-01-30 Systeme et procede pour eliminer d'une matrice de memoire des cellules de memoire defaillantes

Country Status (2)

Country Link
US (1) US20020108073A1 (fr)
FR (1) FR2824415A1 (fr)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10155449A1 (de) * 2001-11-12 2003-05-28 Infineon Technologies Ag Verfahren zur Rekonfiguration eines Speichers
DE60320745D1 (de) * 2003-02-12 2008-06-19 Infineon Technologies Ag Verfahren und MBISR (Memory Built-In Self Repair) zum Reparieren eines Speichers
US6928377B2 (en) * 2003-09-09 2005-08-09 International Business Machines Corporation Self-test architecture to implement data column redundancy in a RAM
EP1517334B1 (fr) * 2003-09-16 2010-10-27 Infineon Technologies AG Méthode et bloc de diagnostic sur puce pour réparation d'une mémoire avec redondance mixte ("IO" et "Word-register" redondance)
US20050066226A1 (en) * 2003-09-23 2005-03-24 Adams R. Dean Redundant memory self-test
US20050144524A1 (en) * 2003-12-04 2005-06-30 International Business Machines Corporation Digital reliability monitor having autonomic repair and notification capability
US7287177B2 (en) * 2003-12-04 2007-10-23 International Business Machines Corporation Digital reliability monitor having autonomic repair and notification capability
US7325178B2 (en) * 2003-12-05 2008-01-29 Texas Instruments Incorporated Programmable built in self test of memory
US7464308B2 (en) * 2004-01-13 2008-12-09 Micron Technology, Inc. CAM expected address search testmode
US7852391B2 (en) * 2004-12-14 2010-12-14 Bae Systems Information And Electronic Systems Integration Inc. Substitution of defective readout circuits in imagers
US7555677B1 (en) * 2005-04-22 2009-06-30 Sun Microsystems, Inc. System and method for diagnostic test innovation
US7487397B2 (en) * 2005-10-27 2009-02-03 International Business Machines Corporation Method for cache correction using functional tests translated to fuse repair
US9076527B2 (en) 2009-07-16 2015-07-07 Mikamonu Group Ltd. Charge sharing in a TCAM array
US8238173B2 (en) 2009-07-16 2012-08-07 Zikbit Ltd Using storage cells to perform computation
WO2011037758A1 (fr) * 2009-09-28 2011-03-31 Verigy (Singapore) Pte. Ltd. Caractérisation et réparation de circuits intégrés
US9330784B2 (en) * 2011-12-29 2016-05-03 Intel Corporation Dynamic window to improve NAND endurance
US9767924B1 (en) * 2016-12-16 2017-09-19 Arm Limited Fast memory array repair using local correlated electron switch (CES) memory cells
KR102451163B1 (ko) * 2018-02-01 2022-10-06 삼성전자주식회사 반도체 메모리 장치 및 그것의 리페어 방법
CN110797071B (zh) * 2019-10-31 2021-10-22 西安紫光国芯半导体有限公司 一种多子块nand闪存缺陷的修复方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2655763B1 (fr) * 1989-12-11 1992-01-17 Sgs Thomson Microelectronics Circuit de redondance pour memoire.
US5255227A (en) * 1991-02-06 1993-10-19 Hewlett-Packard Company Switched row/column memory redundancy
US6026505A (en) * 1991-10-16 2000-02-15 International Business Machines Corporation Method and apparatus for real time two dimensional redundancy allocation
JP3652728B2 (ja) * 1994-12-31 2005-05-25 ヒューレット・パッカード・カンパニー 走査型メモリ装置および誤り訂正方法
US6000047A (en) * 1995-12-08 1999-12-07 Hewlett-Packard Company Scanning memory device and error correction method
US6137157A (en) * 1997-06-02 2000-10-24 Townsend And Townsend And Crew Llp Semiconductor memory array having shared column redundancy programming
JPH117792A (ja) * 1997-06-19 1999-01-12 Mitsubishi Electric Corp 半導体記憶装置
US6141779A (en) * 1998-10-19 2000-10-31 Hewlett-Packard Company Method for automatically programming a redundancy map for a redundant circuit

Also Published As

Publication number Publication date
US20020108073A1 (en) 2002-08-08

Similar Documents

Publication Publication Date Title
FR2824415A1 (fr) Systeme et procede pour eliminer d&#39;une matrice de memoire des cellules de memoire defaillantes
US6373758B1 (en) System and method of operating a programmable column fail counter for redundancy allocation
US6691252B2 (en) Cache test sequence for single-ported row repair CAM
US7411844B2 (en) Semiconductor memory device having a redundancy information memory directly connected to a redundancy control circuit
KR100337218B1 (ko) 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템
US7861138B2 (en) Error correction in memory devices
KR101573089B1 (ko) 병렬 메모리 어레이들의 블록 어드레싱
US7073099B1 (en) Method and apparatus for improving memory operation and yield
EP1447813B9 (fr) Procédé et circuit MBISR (Memory Built-In Self Repair) de réparation de mémoire
US7490274B2 (en) Method and apparatus for masking known fails during memory tests readouts
US6542973B2 (en) Integrated redundancy architecture system for an embedded DRAM
JP4504558B2 (ja) 半導体集積メモリ
RU2008133604A (ru) Способ и устройство для записи высокоскоростных входных данных в матрицу запоминающих устройств
Hsiao et al. Built-in self-repair schemes for flash memories
US20060203567A1 (en) Integrated memory circuit and method for repairing a single bit error
US7454662B2 (en) Integrated memory having a circuit for testing the operation of the integrated memory, and method for operating the integrated memory
US6634003B1 (en) Decoding circuit for memories with redundancy
US7203107B2 (en) Device and method for compensating defect in semiconductor memory
US20040163015A1 (en) Memory repair analysis method and circuit
FR2808904A1 (fr) Systeme d&#39;acces a des memoires redondantes
US20070283084A1 (en) Memory and redundancy repair method thereof
KR20170016640A (ko) 반도체 장치 및 그 리페어 방법
JP2003509804A (ja) メモリ検査方法
JP2001023397A (ja) 半導体メモリのテスト方法及び半導体メモリ
FR2843208A1 (fr) Dispositif de reconfiguration d&#39;un ensemble memoire presentant des defauts

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20060929