DE10206719A1 - Cache-Testsequenz für eintorigen Zeilenreparatur-CAM - Google Patents

Cache-Testsequenz für eintorigen Zeilenreparatur-CAM

Info

Publication number
DE10206719A1
DE10206719A1 DE10206719A DE10206719A DE10206719A1 DE 10206719 A1 DE10206719 A1 DE 10206719A1 DE 10206719 A DE10206719 A DE 10206719A DE 10206719 A DE10206719 A DE 10206719A DE 10206719 A1 DE10206719 A1 DE 10206719A1
Authority
DE
Germany
Prior art keywords
memory
address
array
cells
address space
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
DE10206719A
Other languages
English (en)
Inventor
Brian William Hughes
Warren Kurt Howlett
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.)
Hewlett Packard Development Co LP
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 DE10206719A1 publication Critical patent/DE10206719A1/de
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
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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

Abstract

Die vorliegende Erfindung lagert eine eingebaute Selbsttest- und Selbstreparatur-Funktionalität in eine Halbleiter-Speichervorrichtung ein, in der Rekonfigurationsdaten, die verwendet werden, um fehlerhaften Speicher zu ersetzen, gespeichert werden, wobei gleichzeitig das Testen fortgesetzt wird, um andere fehlerhafte Speicherzellen zu identifizieren. Um Zugriffszuweisungskonflikte an einem inhaltsadressierbaren Speicher zu vermeiden, der verwendet wird, um Zeilen oder Gruppen zu identifizieren, die fehlerhafte Speicherzellen aufweisen, schreibt die eingebaute Testfunktion Testdaten an jede Zelle mindestens zweimal, bevor die gespeicherten Daten gelesen werden. Durch zweimaliges Schreiben vor dem Lesen werden Zuweisungsprobleme, die durch gleichzeitiges Aktualisieren des inhaltsadressierbaren Speichers verursacht werden, verhindert. Das ist sogar der Fall, wenn der inhaltsadressierbare Speicher anfänglich nicht verfügbar ist, um Adreßinformationen zu verarbeiten, die zum Zugreifen auf eine zu testende Speicherzelle verwendet werden, wobei die Wiederholung des Schreibprozesses sicherstellt, daß die Daten richtig gespeichert werden, wenn der Speicher nach dem Aktualisieren wieder verfügbar wird.

Description

Die vorliegende Erfindung bezieht sich auf eine auf die vorliegende Anmeldung übertragene, mitanhängige U.S.-Patentanmeldung Seriennr. [Aktenzeichen der Anmeldung 10004543-1] mit dem Titel, 4 SYSTEM FOR AND METHOD OF OPERATING A PROGRAMMABLE COLUMN FAlL COUNTER FOR REDUNDANCY ALLOCATION", eingereicht am 2. Februar 2001, und auf eine auf die vorliegende Anmeldung übertragene, gleichzeitig eingereichte U.S.-Patentanmeldung Seriennr. [Aktenzeichen der Anmeldung 10004533-1] mit dem Titel "SYSTEM AND METHOD OF OPERATING A PROGRAMMABLE COLUMN FAlL COUNTER FOR REDUNDANCY ALLOCATION" (System und Verfahren zum Betreiben eines programmierbaren Zählers für Spaltenversagen bei Re­ dundanzzuordnung), deren Offenbarungen hierin durch Bezug­ nahme aufgenommen sind.
Die vorliegende Erfindung bezieht sich auf eine Halbleiter- Speichervorrichtung und spezieller auf eine Halbleiter- Speichervorrichtung, die Ersatzspeicherzellen für den Aus­ tausch defekter Speicherzellen aufweist, die dann program­ mierbar zugreifbar sind.
Moderne Mikroprozessoren und viele anwendungsspezifische integrierte Schaltungen (ASIC = Application Specific Inte­ grated Circuits) lagern oft große Mengen von eingebettetem Speicher ein. Dieser Speicher ist üblicherweise ein stati­ scher Direktzugriffsspeicher (SRAM = Static Random Access Memory) oder ein dynamischer Direktzugriffsspeicher (DRAM = Dynamic Random Access Memory). Diese Direktzugriffsspeicher (RAM = Random Access Memory) bilden den Großteil der Tran­ sistoren, die auf einem Chip enthalten sind, und können den größten Abschnitt des Oberflächenbereichs eines Chips, d. h. die "nutzbare Chipfläche" einnehmen. Die Verfügbarkeit und Verwendbarkeit dieser RAMs wird zu einer Priorität für Halbleiterhersteller. Üblicherweise lagern Halbleiterher­ steller ein Test- und eine Reparatur-Schema ein, das RAM- Zellen innerhalb des Chips testet und defekte RAM-Zellen durch Ersatzzellen austauscht, die zu diesem Zweck aufge­ nommen sind. Üblicherweise werden Spalten und/oder Zeilen von RAM-Zellen ausgetauscht und keine einzelnen RAM-Zellen. Eine Zeilensubstitution kann durch geeignete Änderungen an dem Adreßdecoder durchgeführt werden, während eine Spalten­ substitution durch MUX-Auswahl geeigneter Bitleitungen durchgeführt werden kann.
Ursprünglich verwendeten Halbleiterhersteller Bittabellen, um zu bestimmen, welche RAM-Spalten und/oder RAM-Zeilen durch redundante RAM-Spalten oder RAM-Zeilen ausgetauscht werden müssen. Die Identifizierung defekter Speicherzellen ist ein besonderes Problem, wenn diese auf einem Mikropro­ zessor oder einer ASIC-Vorrichtung eingebettet sind, da ex­ terner oder chipexterner Zugriff zum Testen durch die An­ zahl verfügbarer Stifte begrenzt ist. Somit haben Halblei­ terhersteller eingebaute Selbsttests (BIST = Built In Self Test) und eingebaute Selbstreparatur (BIRS = Built In Self Repair) eingelagert, um RAM-Zellen zu testen und zu erset­ zen. Eingebaute Spezialzweck-Testhardware ist detailliert in der gemeinsam zugewiesenen und mitanhängigen U.S.-Patentanmeldung Seriennr. 09/183,536 beschrieben mit dem Titel "A Flexible And Programmable BIST Engine for On-Chip Memory Array Testing and characterization", eingereicht am 30. Oktober 1998, deren Offenbarung hierin durch Bezugnahme aufgenommen ist.
Üblicherweise werden RAM-Zellen für eine Anzahl von Fehlern getestet, die in zwei Kategorien aufgeteilt werden können, einfache Fehler und verbundene Fehler. Einfache Fehler sind jene, die unabhängig von anderen Fehlern auftreten, aber Versagensereignisse in anderen Zellen verursachen können. Verbundene Fehler sind solche, wenn zwei oder mehrere ein­ fache Fehler auf eine einzelne Zelle wirken (d. h. mehrere Fehler, die einander beeinflussen). Einfache Fehler können ferner in Adreßdecoderfehler (ADFs Adress Decoder Faults) und Speicherzellen-Arrayfehler (MCAFs = Memory Cell Array Faults) unterteilt werden. ADFs sind nur in dem Adreßdecoder vorhanden und führen zu der Nichtverfügbarkeit einer Zelle, dem Fehlen einer Adresse zum Zugreifen auf ei­ ne Zelle, eine Adresse, die auf mehrere Zellen zugreift oder einer spezifischen Zelle, auf die mit mehreren Adres­ sen zugegriffen werden kann.
MCAFs können ferner in Einzelzellenfehler und Fehler unter­ teilt werden, die zwischen Speicherzellen auftreten. Ein­ zelzellenfehler umfassen Haftfehler (SAF = Stuck At Faults), Offen-Fehler (SOF = Stuck Open Faults), Übergangs­ fehler (TF = Transition Faults) und Datenhaltefehler (DRF = Date Retention Faults). SAF bedeutet, daß eine bestimmte Zelle entweder auf Null "haftet" oder auf Eins "haftet", unabhängig von den Daten, die in die Zelle geschrieben wer­ den sollen. SOF zeigt an, daß auf eine Speicherzelle auf­ grund einer offenen Leitung nicht zugegriffen werden kann. Ein TF tritt auf, wenn eine Speicherzelle keinen Übergang von Null zu Eins oder von Eins zu Null durchführen kann. Und letztlich tritt ein DRF tritt auf, wenn eine Zelle nicht in der Lage ist, einen bestimmten Logikwert oder ei­ nen Zustand für eine erforderliche Zeitspanne zu halten.
Kopplungsfehler betreffen zwei Zellen. Eine erste Zelle, die Kopplungszelle, die die Quelle des Fehlers ist, und die zweite Zelle, die gekoppelte Zelle, die die Zelle ist, die den Fehler erfährt. Diese Kopplungsfehler können entweder auftreten, wenn ein Übergang in der Kopplungszelle auftritt oder wenn ein spezifischer Wert in der Kopplungszelle ge­ speichert ist. Übergänge in einer Kopplungszelle können da­ zu führen, daß die gekoppelte Zelle von einer Null auf eine Eins oder umgekehrt wechselt oder können verursachen, daß eine Null oder eine Eins innerhalb der gekoppelten Zelle gespeichert wird. Außerdem können gewisse Werte in Kopp­ lungszellen durch eine gekoppelte Zelle fließen, unabhängig von dem Wert, der in der gekoppelten Zelle gespeichert wer­ den sollte.
Tests, die parallel auf eine Mehrzahl oder eine Gruppe von Speicherzellen angewendet werden, oder Durchlauftests bzw. "March-Tests", bestehen aus einer Sequenz von Elementen, oder "Durchlaufelementen", in denen eine Sequenz von Opera­ tionen definiert ist und entsprechende Datensignale auf verschiedene Speicherzellen angewendet werden, üblicherwei­ se eine Zeile oder eine Spalte gleichzeitig. Der Gesamt­ speicher kann in Speichergruppen unterteilt werden, und diese Tests können parallel über Speichergruppen auftreten. Die Adreßzeilenfolge bestimmt die Zeilenfolge, in der der Durchlauftest auf verschiedene Adreßpositionen innerhalb einer Speichergruppe angewendet wird. Ein Durchlauftest kann die folgende Sequenz enthalten: Schreibe Null, Lese Null, Schreibe Eins, Lese Eins, Schreibe Null, Lese Null. Dieser Durchlauftest würde sicherstellen, daß eine Null in einer Speicherzelle gespeichert und daraus gelesen werden kann, daß eine Eins in einer Speicherzelle gespeichert und daraus gelesen werden kann, und daß die Speicherzelle von einer Null zu einer Eins und von einer Eins zu einer Null übergehen kann. Diese Durchlauftests werden während des BIST an den Speicherzellen durchgeführt.
Sobald fehlerhafte Speicherzellen identifiziert wurden, wird die BISR verwendet, um die fehlerhaften Speicherzellen durch Ersatzspeicherzellen auszuwechseln. Dies tritt übli­ cherweise mit einer Spalte oder einer Zeile gleichzeitig auf oder unter Verwendung mehrerer Ersatz-Spalten oder -Zeilen, um eine durchgehende Gruppe von Spalten oder Zeilen zu ersetzen (z. B. einen Adreßraum, der sich über mehrere Zeilen oder Spalten erstreckt). Halbleiterhersteller kombi­ nieren ferner BIST und BISR gemäß ihrer Testphilosophie. BIST könnte abgeschlossen werden, bevor die BISR implemen­ tiert wurde und könnte nach einer Array-Neukonfigurierung nicht wiederholt werden, bei der fehlerhafte Zeilen oder Spalten durch Ersatz ausgetauscht werden. Wenn somit BIST abgeschlossen wird, bevor BISR durchgeführt wird, würden die Ersatz-Spalten und -Zeilen üblicherweise während des BIST nicht getestet und Spalten und Zeilen von Zellen, die den BIST nicht erfolgreich durchlaufen haben, würden in das Betriebsspeicherarray aufgenommen.
Alternativ und bevorzugter können BIST und BISR alternativ auftreten, um sicherzustellen, daß jede der Speicherzellen, die in der endgültigen (betriebsfähigen) Speicherarraykon­ figuration enthalten ist, gründlich getestet wurde. Es kann z. B. ein Durchlauftest während des ersten Durchlaufs des BIST auftreten und verwendet werden, um fehlerhafte Spei­ cherzellen zu identifizieren. Sobald diese fehlerhaften Speicherzellen identifiziert wurden, kann ein erster Durch­ lauf von BISR verwendet werden, um die Zeilen und/oder Spalten des Speichers zu ersetzen, die diese fehlerhaften Speicherzellen enthalten. Sobald ein erster Durchlauf von BISR abgeschlossen wurde kann der zweite Durchlauf von BIST durchgeführt werden, der den ersten BIST-Durchlauf wieder­ holt, oder der zusätzliche Durchlauftests aufnimmt, um si­ cherzustellen, daß die Austausch-Zeilen und/oder -Spalten richtig arbeiten, wie sie konfiguriert wurden. Ein zweiter Durchlauf von BISR würde am Ende des zweiten Durchlaufs von BIST durchgeführt, um jegliche neu identifizierten oder verbleibenden, fehlerhaften Zeilen und/oder Spalten zu er­ setzen. Zusätzlich können andere Durchlauftests durchge­ führt werden, die Kopplungsprobleme zwischen Speicherzellen in dem neu konfigurierten Array testen. Ein BIST, der Spei­ cherzellen mit Fehlern identifiziert, wird immer von einem BISR gefolgt, oder das Speicherarray ist nicht mehr repa­ rierbar und wird aussortiert.
Sobald eine Speicherzeile, die nicht betriebsfähige Zellen enthält, identifiziert wurde, wird deren Adresse üblicher­ weise gespeichert und auf eine redundante Zeile abgebildet. Dieses Abbilden kann auftreten, nachdem jede Zeile, die nicht betriebsfähige Zellen enthält, identifiziert wurde, oder alternativ kann das Testen unterbrochen werden, wäh­ rend die Zeile, die die nicht funktionsfähige Zelle ent­ hält, auf eine redundante Zeile abgebildet wird. Sobald das Abbilden abgeschlossen ist, wird das Testen der verbleiben­ den Zeilen fortgesetzt. Bei Speicheradressen, die nicht zu­ gegriffen oder in einem einzigen Taktzyklus gespeichert werden können kann eine Pipeline implementiert werden, um den Zugriff oder das Speichern über mehrere Taktzyklen zu ermöglichen.
Eine Beschreibung des Speichertestens und der Verwendung des redundanten Speicherelements ist detailliert in dem ge­ meinsam zugewiesenen U.S.-Patent Nr. 6,141,779 beschrieben, erteilt am 31. Oktober 2000, und in der mitanhängigen U.S.-Patentanmeldung Seriennr. 09/544,516 mit dem Titel "System and Method for Providing RAN Redundancy in the Field", erteilt am 6. April 2000, deren Offenbarungen hierin durch Bezugnahme aufgenommen sind. Ferner beschreiben das U.S.-Patent Nr. 5,255,227, erteilt am 19. Oktober 1993 an Haef­ tele; das U.S.-Patent Nr. 5,848,077, erteilt am 8. Dezember 1998 an Kamae u. a.; und das U.S.-Patent Nr. 6,000,047, er­ teilt am 7. Dezember 1999 an Kamae u. a., die jeweils der Anmelderin dieses Patents gemeinsam zugewiesen wurden, ähn­ liche Korrekturverfahren, und sind hierdurch hierin durch Bezugnahme aufgenommen.
Während BIST und BISR verbesserte Testeinrichtungen und ei­ ne Rehabilitierung fehlerhafter Vorrichtungen liefern be­ grenzt die zusätzliche Test- und Reparatur- Schaltungsanordnung sowie die aufgewendete Zeit das Einla­ gern dieser Werkzeuge in die bereits enge, nutzbare Chip­ fläche. Dementsprechend besteht ein Bedarf nach einem sy­ stematischen Verfahren und einem Lösungsansatz zum Testen der Speicherzellen, die innerhalb eines Speicherarrays ent­ halten sind, die die Zeitspanne minimieren, die für BIST und BISR aufgewendet wird, während sie die Identifizierung fehlerhafter Speicherzellen maximieren. Es besteht ferner ein Bedarf nach einer effizienten Verwendung redundanter Speicherspalten und redundanter Speicherzeilen bei dem Aus­ tauschen fehlerhafter Speicherzellen. Es besteht ferner ein Bedarf nach der Identifizierung und dem Austauschen fehler­ hafter Speicherzellen, bei gleichzeitigem Minimieren der Hardware, die dem BIST, der BISR und dem Oberflächenbereich des Chips zugeordnet ist, die für BIST und BISR reserviert ist.
Es ist die Aufgabe der vorliegenden Erfindung, ein Verfah­ ren zum Konfigurieren eines Speicherarrays, einen Speicher und eine Halbleiter-Speichervorrichtung mit verbesserten Charakteristika zu schaffen.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, einen Speicher gemäß Anspruch 9 oder eine Halbleiter- Speichervorrichtung gemäß Anspruch 18 gelöst.
Die vorliegende Erfindung lagert eine eingebauten Selbst­ test- und eine Selbstreparatur-Funktionalität in eine Halb­ leiter-Speichervorrichtung ein, in der Rekonfigurationsda­ ten gespeichert werden, die verwendet werden, um fehlerhaf­ ten Speicher zu ersetzen, wobei gleichzeitig das Testen zum Identifizieren anderer fehlerhafter Speicherzellen fortge­ setzt wird. Um Zugriffszuweisungskonflikte zu einem in­ haltsadressierbaren Speicher zu verhindern, der zum Identi­ fizieren von Zeilen oder Gruppen von Zeilen verwendet wird, die fehlerhafte Speicherzellen aufweisen, schreibt die ein­ gebaute Testfunktion Testdaten mindestens zweimal zu jeder Zelle, bevor die gespeicherten Daten gelesen werden. Durch zweimaliges Schreiben vor dem Lesen können Zuweisungspro­ bleme, die durch gleichzeitiges Aktualisieren des inhalts­ adressierbaren Speichers verursacht werden, vermieden wer­ den. Das gilt sogar wenn der inhaltsadressierbare Speicher ursprünglich nicht für das Verarbeiten von Adreßinformatio­ nen verfügbar ist, die verwendet werden, um auf eine zu te­ stende Speicherzelle zuzugreifen, wobei das Wiederholen des Schreibprozesses sicherstellt, daß die Daten richtig gespeichert werden, wenn der Speicher nach dem Aktualisieren wieder verfügbar wird.
Gemäß einem Aspekt der Erfindung umfaßt somit ein Verfahren zum Konfigurieren eines Speicherarrays, um fehlerhafte Speicherzellen durch Ersatzspeicherzellen zu ersetzen, die Identifizierung eines ersten Adreßraums, wobei der erste Adreßraum (z. B. eine Zeile oder Gruppe von Zeilen) eine fehlerhafte Speicherzelle enthält. Ein Versuch, Daten an einen inhaltsadressierbaren Speicher zu liefern, die einem zweiten Adreßraum entsprechen, und ein Versuch, auf minde­ stens eine so adressierte Speicherzelle zuzugreifen wird durchgeführt. Während mindestens eines bestimmten Ab­ schnitts der Zeit, in der diese letztgenannten Aktionen auftreten (d. h. während der CAM gebraucht wird, um den Speicher zu adressieren und auf Testdaten zugegriffen wer­ den muss), werden Daten, die dem ersten Adreßraum entspre­ chen (z. B. die Zeilenadresse der fehlerhaften Speicherzel­ le) in den inhaltsadressierbaren Speicher geschrieben. Es wird ein Versuch unternommen, Daten wieder an den inhalts­ adressierbaren Speicher zu liefern, die dem zweiten Adreß­ raum entsprechen, und ein anderer Versuch wird unternommen, auf die adressierte Speicherzelle zuzugreifen. Es werden dann Daten aus der Speicherzelle gelesen und mit den ur­ sprünglich gespeicherten Testdaten verglichen.
Gemäß einem anderen Aspekt der Erfindung umfaßt ein Spei­ cher ein Array von Speicherzellen, das Ersatzspeicherzellen umfasst. Speicherzellen-Adreßlogik umfaßt einen CAM und ei­ ne Rekonfigurationslogik. Der CAM speichert Daten, die Adreßräume repräsentieren, die fehlerhaften aus den Spei­ cherzellen entsprechen; die Speicherzellen- Konfigurationslogik spricht auf ein Ausgangssignal des CAM zum Abbilden der Adreßräume an, wobei fehlerhafte Speicher­ zellen-Adreßräume den jeweiligen der Ersatzspeicherzellen entsprechen. Eine Testlogikfunktion zum Identifizieren ei­ nes ersten Adreßraums einschließlich einer fehlerhaften Speicherzelle. Die Testlogik versucht ferner, Daten an den inhaltsadressierbaren Speichers zu liefern (z. B. eine Teil- oder ganze Adresse), die einem zweiten Adreßraum ent­ sprechen, und versucht, auf mindestens eine Speicherzelle in dem zweiten Adreßraum zuzugreifen. Die Testlogik wie­ derholt diesen Prozeß durch wiederholtes Versuchen, die Da­ ten an den inhaltsadressierbaren Speicher zu liefern, die dem zweiten Adreßraum entsprechen, und durch wiederholtes Versuchen, auf die adressierte Speicherzelle zuzugreifen. Nach sowohl der Zugriffs- als auch der Schreib-Operation verursacht die Testlogik, daß Daten aus der Speicherzelle gelesen werden, und vergleicht die gelesenen Daten mit den ursprünglichen Testdaten. Eine Speicherreparaturlogik ist konfiguriert, um parallel zu der Testlogik zu arbeiten, während Letztere entweder Adressierinformationen liefert oder versucht, Testdaten zu dem Speicher zu schreiben, um Daten in den inhaltsadressierbaren Speicher zu schreiben, die dem ersten Adreßraum entsprechen (d. h. den CAM aktua­ lisieren).
Gemäß einem anderen Merkmal der Erfindung, zählen von Lo­ gikfunktionen, um eine Anzahl der fehlerhaften Speicherzel­ len in mindestens einer Spalte des Arrays von Speicherzel­ len zu zählen. Alternativ kann die Testlogik konfiguriert sein, um eine Anzahl der fehlerhaften Speicherzellen in mindestens einer Spalte des Arrays von Speicherzellen zu erfassen, wobei die Anzahl ein Schwellenkriterium erfüllt. Gemäß einem anderen Aspekt der Erfindung weist eine Halb­ leiter-Speichervorrichtung ein Array von Speicherzellen auf, das Ersatzspeicherzellen umfaßt.
Das vorangehende hat die Merkmale und die technischen Vor­ teile der vorliegenden Erfindung weitgehend umfassend er­ läutert, so daß die nachfolgende detaillierte Beschreibung der Erfindung besser verstanden werden kann. Zusätzliche Merkmale und Vorteile der Erfindung, die den Gegenstand der Ansprüche der Erfindung bilden, werden nachfolgend be­ schrieben. Fachleute sollten erkennen, daß das offenbarte Konzept und das offenbarte spezifische Ausführungsbeispiel ohne weiteres als eine Basis zum Modifizieren oder Entwer­ fen anderer Strukturen zum Ausführen der gleichen Zwecke der vorliegenden Erfindung verwendet werden kann. Fachleute sollten ferner erkennen, daß derartige, äquivalente Kon­ struktionen nicht von dem Geist und dem Schutzbereich der Erfindung abweichen, wie er in den beigefügten Ansprüchen erläutert ist.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Diagramm eines Acht-Mal-Acht-Speicherzellenarrays mit einer zugeordneten Zeile von Zählern gemäß der Erfindung;
Fig. 2 ein Diagramm eines Acht-Mal-Acht-Speicherzellenarrays, das eine Anzahl von Spei­ cherzellen-Versagensereignissen mit zugeordneten Registerzeilen enthält, die eine Gesamtfehler- und eine gesättigte Fehlerzählung speichern;
Fig. 3 ein Diagramm eines Acht-Mal-Acht-Speicherzellenarrays von Fig. 2, nachdem redun­ dante Spalten konfiguriert wurden, um Spalten zu beseitigen, die gesättigten Zählerwerten zugeord­ net sind;
Fig. 4 ein Diagramm eines Acht-Mal-Acht-Speicherzellen­ arrays von Fig. 3, nachdem redundante Zeilen kon­ figuriert wurden, um alle verbleibenden Zeilen zu beseitigen, die fehlerhafte Speicherzellen ent­ halten, wobei ungetestete Zellen hervorgehoben sind;
Fig. 5 ein Diagramm, das eine Hardwareimplementierung eines Ausführungsbeispiels der vorliegenden Er­ findung zeigt;
Fig. 6 ein Diagramm des RAM-Arrays mit Redundanzmulti­ plexern, die verwendet werden, um ein Spaltenaus­ wechselung durchzuführen;
Fig. 7 ein Blockdiagramm eines Zugriffs auf den inhalts­ adressierbaren Speicher durch die Redundanzzuord­ nung und die BIST-Schaltungsanordnung;
Fig. 8 ein Diagramm von BIST und BISR gemäß einem Aus­ führungsbeispiel der Erfindung; und
Fig. 9 ein Entwurf von BIST und BISR gemäß einem alter­ nativen Ausführungsbeispiel der Erfindung.
Fig. 1 ist ein Diagramm eines Speicherarrays, das acht Spalten enthält, wobei jede Spalte eine entsprechende Bit­ leitung 101-108 umfaßt und acht Zeilen, die jeweils eine gemeinsame Wortleitung 109-116 aufweisen. (Fachleute ver­ stehen, daß der 64-Bit-Speicher als Beispiel und für eine einfachere Darstellung vorgelegt wurde, wobei Halbleiter­ speicher üblicherweise viel größere Blöcke von Speicherzel­ len umfassen). Die acht Spalten umfassen zwei redundante Spalten 107 und 108, und die acht Zeilen umfassen zwei re­ dundante Zeilen 115 und 116. Jede der sechs nicht redundan­ ten Bitleitungen 101-106 weist ferner ein zugeordnetes Zäh­ lerregister 117-122 auf. Zum Beispiel werden Zellversagens­ ereignisse, die der Bitleitung 101 zugeordnet sind, in dem Zähler 117 aufgezeichnet, Versagensereignisse auf der Bit­ leitung 102 werden in dem Zähler 118 aufgezeichnet usw. Bei der Fertigstellung eines BIST-Durchlaufs enthalten die Zähler 117 bis 122 einen Wert, der die Anzahl von Speicher­ fehlern darstellt, die während eines Durchlauftests von Speicherspalte 101 bis bzw. 106 auftraten. Gemäß einem Aus­ führungsbeispiel stellt die Zählung eine Gesamtanzahl von Fehlern für alle Zellen dar, einschließlich Mehrfachfehlern von einer einzelnen Zelle (d. h. ohne Berücksichtigung, ob die Fehler Mehrfachfehler von einer geringeren Anzahl von Zellen oder Einzelfehler von entsprechend vielen Zellen darstellen). Andere Implementierungen können zwischen der Anzahl von Zellen, die versagt haben, durch Abziehen von Mehrfachfehlern von einer einzelnen Zelle unterscheiden, während andere Implementierungen einen Schwellenzähler ver­ wenden können, um ein einzelnes Flag-Bit zu liefern, das einen Spalten-Gut/Schlecht-Zustand anzeigt.
Fig. 2 ist ein Diagramm, das eine Anzahl von Fehlern zeigt, die durch die "x-en" in einen Acht-Spalten-, Acht-Zeilen-Speicherarray anzeigt werden. Die dargestellte Konfigurati­ on umfaßt sowohl normale Zähler als auch Sättigungszähler, obwohl erwartet wird, daß eine herkömmliche Implementierung nur eine Art von Zähler auswählen würde und nicht beide um­ faßt. Ein bevorzugtes Ausführungsbeispiel der Erfindung um­ faßt z. B. Sättigungszähler. Bei der Fertigstellung des er­ sten Durchlaufs von BIST enthält jede Speicherzählerzelle 117-122 der Zählerzeile 201 die Anzahl von Speicherzellen, die versagt haben in einer jeweiligen Spalte des Acht-Mal-Acht-Speicherarrays. Wenn das Testen der Speicherzellen in der Spalte 101 z. B. dazu führt, daß ein Fehler erfaßt wird, dann würde die Zählerzelle 117 wie gezeigt den Wert Eins enthalten. In ähnlicher Weise enthalten die Speicher­ zellen in der Speicherspalte 102 acht Speicherzellenfehler, und daher enthält die Speicherzählerzelle 118 den Wert Acht. Alternativ könnte ein Halbleiterhersteller an der spezifischen Anzahl von Speicherzellenfehlern innerhalb ei­ ner spezifischen Spalte nicht interessiert sein, und könn­ te statt dessen entscheiden, die Speicherzelle durch eine redundante Spalte zu ersetzen, nachdem ein gewisser Schwel­ lenwert von Speicherzellenfehlern in dieser Spalte auf­ tritt, wodurch die jeweilige Zählerzelle gesättigt ist. Die Zählerzeile 202 ist ein Beispiel für eine Zählerzeile, die bei einem Wert von Drei gesättigt ist, d. h. die Speicher­ zählerzellen sind gesättigt, nachdem drei Speicherzellen in dieser Spalte versagt haben; während nachfolgende Speicher­ zellen getestet werden können und zu der Erfassung zusätz­ licher Versagensereignisse führen, steigt der zugeordnete Zählerwert nicht weiter. Dementsprechend enthalten die Zäh­ lerzellen 204 und 206 für die Acht-Mal-Acht-Speicherzelle 200, bei denen jede Spalte drei oder mehr Fehler enthielt nun die Anzahl Drei in der gesättigten Zählerzeile. Somit können Sättigungszähler eine einfache Ja- (z. B. weniger als 3 erfaßte Fehler) oder Nein- (Drei oder mehr Fehler)- Anzeige als Ausgangssignal liefern, anstelle von oder zu­ sätzlich zu einem Ist-Zählwert.
Sobald die Anzahl der Speicherzellenfehler in jeder Spalte tabellarisiert wurde und der erste Schritt des BIST abge­ schlossen wurde, kann der erste Durchlauf von BISR durch Ersetzen einer redundanten Spalte (oder Spalten) durch eine beliebige Spalte (und benachbarte Spalten), die im ersten Durchlauf des BIST versagt hat, durchgeführt werden. Für den Halbleiterhersteller, der die Zählerzeile 201 implemen­ tiert hat, muß eine Suche unter den verschiedenen Zählern durchgeführt werden, um zu bestimmen, welche Zähler hoch genug sind, um die Verwendung einer redundanten Spalte zu erfordern. Für den Halbleiterhersteller, der den Sätti­ gungszähler 202 implementiert, mit einem Sättigungswert von drei, werden die Spalten 102 und 104, die den Zählerposi­ tionen 204 und 206 entsprechen, jeweils durch redundante Spalten ausgetauscht. Unabhängig davon, ob die Sättigungs­ zähler oder maximale Zählerwerte verwendet werden, bestimmt der ausgewählte Schwellenwert die Schwelle zwischen Spei­ cherzellen, die durch Spaltenaustausch und Zeilenaustausch repariert werden. Sobald die Spalten 102 und 104 ausge­ tauscht wurden, sind die Spalten, die die Speicherzellen mit Fehlern enthalten, nicht mehr in dem Betriebsspeicher umfaßt. Die redundanten Spalten sind nun als Austauschspal­ ten für die Spalten, die Speicherzellen mit Fehlern enthal­ ten, in dem Betriebsspeicher umfaßt.
Während das vorliegende Ausführungsbeispiel das Ersetzen einer einzelnen Spalte durch eine redundante Spalte be­ schreibt, wäre es für einen Fachmann offensichtlich, daß mehrere Spalten oder Blöcke von Spalten durch mehrere re­ dundante Spalten oder mehrere redundante Blöcke von Spalten ausgetauscht werden können. Das Ersetzen von Spalten in Blöcken und nicht einzeln kann wünschenswert sein, da viele Fehler mehr als eine Spalte betreffen können. In diesem Fall ist das Ersetzen von Gruppen von Spalten effektiver als das Ersetzen einzelner Spalten. Eine Spaltengruppe kann eine oder mehrere Spalten umfassen.
Fig. 3 ist ein Diagramm des Speicherarrays nachdem die Spalten 102 und 104 effektiv ausgetauscht wurden. Wie aus Fig. 3 ersichtlich ist, wurden die Fehleranzeiger, die den ausgetauschten Spalten zugeordnet sind, entfernt, da die Zählerregister 118 und 120 nun auf die redundanten Spalten abgebildet wurden, wie durch die gestrichelten Linien ge­ zeigt ist. Der zweite Schritt bei der BISR ist eine Identi­ fizierung der Zeilen, die Fehler enthalten und ein Ersetzen jener Zeilen durch redundante Zeilen. Wie aus Fig. 3 er­ sichtlich ist, enthalten die Zeilen 111 und 112 Speicher­ zellen mit Fehlern und werden vorzugsweise durch redundante Zeilen ausgetauscht.
Fig. 4 ist ein Speicherarraydiagramm, das die Abwesenheit verbleibender Fehler zeigt (gezeigt durch die Abwesenheit von x-en in den Speicherzellen, die in dem Betriebs- oder aktiven Speicherarray enthalten sind), nachdem die Zeilen 111 und 112 ausgetauscht wurden. Wie aus Fig. 4 ersichtlich ist, beseitigt die Verwendung von zwei redundanten Spalten und zwei redundanten Zeilen alle Speicherzellen aus dem ak­ tiven oder Betriebs-Speicherarray, die Fehler enthielten. Der Betriebsspeicher enthält nun die Spalten 101, 103, 105, 106, 107 und 108, wobei 107 102 ersetzt hat und 108 104 er­ setzt hat. Der Betriebsspeicher enthält nun die Zeilen 109, 110, 113, 114, 115 und 116, wobei die Zeile 115 die Zeile 111 ersetzt hat und die Zeile 116 die Zeile 112 ersetzt hat.
Fig. 4 enthält ferner Zellen, die innerhalb des Betriebs- oder aktiven Speichers enthalten sind, die dem BIST nicht unterzogen wurden. Diese ungetesteten Zellen sind in Fig. 4 durch Punkte identifiziert. Wie durch dieses begrenzte Bei­ spiel gesehen werden kann, wurde eine große Anzahl von Speicherzellen, die aktuell in dem Speicherarray enthalten sind, nicht dem BIST unterzogen. Üblicherweise wird bei normal großen Speicherzellen effektiv nur eine geringe An­ zahl von Spalten und/oder Zeilen ausgetauscht. Da ein Ar­ ray, in dem Austausch-Spalten oder -Zeilen verwendet wurden ungetestete Zellen enthält, muß ein zweiter Durchlauf des BIST durchgeführt werden, um sicherzustellen, daß jede der Austausch-Speicherzellen, die in dem Speicherarray enthal­ ten ist, zufriedenstellend arbeitet. Der BIST wird wieder durchgeführt, um die Speicherzellen zu identifizieren, die Fehler enthalten, und die Anzahl von Speicherzellenfehlern, die in jeder der Spalten enthalten sind. Wie bei dem ersten BIST-Durchlauf werden Spalten, die Speicherfehler enthal­ ten, die das Zählerbit sättigen, oder Fehler zusätzlich zu einer vorbestimmten Anzahl durch redundante Spalten ausge­ tauscht. Sobald diese redundanten Spalten die Spalten elek­ trisch oder logisch ausgetauscht haben, die die Anzahl zu­ lässiger Fehler gesättigt oder überschritten haben, werden die redundanten Zeilen verwendet, um fehlerhafte Speicher­ zellen zu ersetzen, bis alle Speicherzellenfehler beseitigt sind. Das Wechseln zwischen BIST und BISR wird fortgesetzt, bis der BIST ohne jegliche Speicherzellenfehler durchge­ führt wird oder bis die redundanten Spalten und Zeilen er­ schöpft sind und das Speicherarray nicht mehr verwendbar ist.
Fig. 5 ist ein Diagramm, das zwei Speicherarrays von je sechs Spalten zeigt (0-5 und 6-11), wobei jedes Array acht Zeilen aufweist (0-7). Fig. 5 umfaßt ein Speicherarray 501 und 502, zwei Spaltenmultiplexer 503 und 504, EXKLUSIVE "ODER" (XOR)-Gatter 505, 506, zwei Zähler 507 und 508, ein ODER-Gatter 509, einen Zeilenreparatur-Logikblock 510 und einen Zeilendecoder 511. Um die Zeit zu reduzieren, die für das Testen erforderlich ist, kann der Speicher, der in ei­ ner Vorrichtung enthalten ist, in separate Speicherarrays aufgeteilt, wobei alle Arrays gleichzeitig getestet werden können. Der BIST kann konfiguriert sein, um die Testspalte null von Speicherarray 501 und die Spalte sechs von Spei­ cherarray 502 gleichzeitig zu testen, wobei die resultie­ renden Testinformationen an die Spaltenmultiplexer 503 bzw. 504 gerichtet werden. (Ein Fachmann würde verstehen, daß diese Fähigkeit nicht auf das gleichzeitige Testen von zwei Speicherblöcken begrenzt ist und auf das gleichzeitige Te­ sten von beliebig vielen Blöcken erweitert werden kann). Nachdem z. B. ein Schreiben-"Eins" an jeder Speicherzelle in den Speicherarrays 501 und 502 angelegt wurde, wird er­ wartet, daß jede Speicherzelle den Wert Eins enthält. Der gespeicherte Wert jeder Zelle wird für die Spaltenmultiple­ xer verwendet, und der Wert, der in der Zelle gespeichert und daraus gelesen wird, wird in den XOR-Gatter 505 und 506 mit den erwarteten Daten 512 und 513 verglichen. Wenn der gespeicherte Wert der Zelle mit dem erwarteten Wert über­ einstimmt, wird der in den Zählern 507 und 508 gespeicher­ te, ganzzahlige Wert nicht inkrementiert. Wenn die Werte jedoch nicht übereinstimmen, wird der entsprechende Zähler 507 oder 508 inkrementiert. Wie vorangehend detailliert be­ schrieben wurde, sind die bekannten Korrekturtechniken in den US-Patenten Nr. 5,255,227, 5,848,077 und 6,000,047 aus­ führlich beschrieben, die hierbei durch Bezugnahme hierin aufgenommen sind.
Das Testen wird auf diese Weise fortgesetzt, bis der BIST für jede Zelle in jeder Spalte abgeschlossen ist und die Werte, die völliges Versagen oder Sättigungswerte darstel­ len, jeder Spalte jedes Speicherarrays zugeordnet sind. So­ bald die Spalten identifiziert sind, die bei dem BIST da­ durch versagt haben, daß sie mindestens eine vorbestimmte Anzahl von Zellen aufweisen, die versagt haben, werden re­ dundante Spalten verwendet, um diese Spalten zu ersetzen. Das Zeilenersetzen mit redundanten Zeilen wird dann verwen­ det, um Zeilen zu ersetzen, die weiterhin ein Zellen­ versagensereignis enthalten, bis jedes Zellenversagenser­ eignis aus dem Speicherarray beseitigt wurde. Das Ersetzen von Spalten und Zeilen ist von der Verfügbarkeit redundan­ ter Spalten bzw. Zeilen abhängig. Wenn eine ungenügende An­ zahl von Austauschzeilen verfügbar ist, um alle Zeilen mit defekten Zellen vollständig zu ersetzen, können verbleiben­ de Ersatzspalten verwendet werden, bevor entschieden wird, daß das Array nicht ausgebessert werden kann.
Üblicherweise wird eine Ersatzzeile von Speicherzellen da­ für verwendet, eine defekte Zeile durch Umwandeln eines Zeilenadreßsignals zu ersetzen, um die Ersatzzeile anstatt der defekten Zeile auszuwählen. Spaltensubstitutionen wer­ den unter Verwendung von Multiplexern an den Bitleitungen durchgeführt, um zwischen benachbarten Leitungen (oder Gruppen benachbarter Leitungen) zu schalten, wodurch die defekte Spalte effektiv nach außen verschoben wird, während Zugriff auf eine Ersatz-Spalte (oder -Spalten) geliefert wird, die physisch am Ende des Arrays positioniert ist. Diese Technik ist in der gemeinsam zugewiesenen und mitan­ hängigen U.S.-Patentanmeldung Seriennr. 09/506,620 mit dem Titel "Redundancy Programming Using Adressable Scan Paths to Reduce the Number of Required Fuses", eingereicht am 18. Februar 2000 umfassend beschrieben, die hierbei hierin durch Bezugnahme aufgenommen ist.
Fig. 6 ist ein Diagramm des RAM-Arrays mit Redundanzmulti­ plexern, die für Spaltenauswechslungen verwendet werden. Bei diesem Ausführungsbeispiel können mehrere Spalten gleichzeitig ausgetauscht werden. Fig. 6 enthält zwei Spei­ chergruppen, 501 und 502, die vier Betriebsspalten, Spalten null bis drei, in der Speichergruppe 501 enthalten und Spalten sechs bis neun in Speichergruppe 502 und zwei re­ dundante Spalten in jeder Speichergruppe, Spalten vier und fünf in der Speichergruppe 501 und Spalten zehn und elf in der Speichergruppe 502. Redundanzmultiplizierer 503 und 504 sind mit Redundanzprogrammierdaten programmiert und werden verwendet, um Daten um Spalten zu verschieben, die Zellen mit Fehlern enthalten. In der Figur kann jede Spalte, die in dem Diagramm aufgenommen ist, einer oder mehreren be­ nachbarten Spalten von Zellen entsprechen. In dem Fall z. B., daß Zellen, die in die Spalte neun aufgenommen sind, Fehler enthalten, wie abgebildet, könnte die Spalte zehn, eine redundante Spalte, anstelle der Spalte neun verwendet werden. Spalte elf verbleibt als eine redundante Spalte für zukünftige Verwendung.
Wie vorangehend beschrieben wurde, werden Adressen von Zei­ len, die nicht betriebsfähige Zellen enthalten, üblicher­ weise auf eine redundante Zeile gespeichert und abgebildet. Diese Zeilenadressen können in einem inhaltsadressierbaren Speicher (CAM) gespeichert werden. Bei einem bevorzugten Ausführungsbeispiel treten sowohl Zellentesten als auch Er­ setzen von Zeilen durch redundante Zeilen, die nicht be­ triebsfähige Zellen enthalten, gleichzeitig auf, d. h., die Identifizierung von Adreßinformationen fehlerhafter Zeilen wird sofort nach dem Zellentesten und während nachfolgende Zeilen dem Test unterzogen werden in dem CAM gespeichert. Diese gleichzeitige Operation wird verwendet, um die Menge an Arbeitsspeicher oder Scratch-Speicher zu minimieren, die zum Speichern von Zeilenfehleradressen benötigt wird, und um die Zeit zu minimieren, die für das Testen und Korrigie­ ren der Speicherarrays verwendet wird.
Fig. 7 ist ein Blockdiagramm eines inhaltsadressierbaren Speichers (CAM), der Zeilenadressen defekter Zeilen oder Gruppen von Zeilen speichert. Der CAM 701 wird verwendet, um auf Zeilen zuzugreifen, die momentan getestet werden, sowie um die Adressen von Zeilen zu speichern, die ausge­ tauscht werden müssen. Das heißt, der CAM 701 liefert jeg­ liche erforderliche Adreßübertragung für einen defekten Zeilenadreßraum, um einen geeigneten Adreßraum in einem re­ dundanten Speicher zu ersetzen, einschließlich einer Adreß­ verschiebung für das Testen.
Der CAM 701 erscheint extern, um zwei Adreß-Eingangstore aufzunehmen, oder "Wege", auf denen auf den CAM 701 zuge­ griffen werden kann. Eines die ser Tore 702 wird durch die BIST-Schaltungsanordnung 703 verwendet, um auf bestimmte Speicherzeilen zum Testen der einzelnen Speicherzellen, die in demselben enthalten sind, zuzugreifen. Ein zweites Tor 704 wird durch die Redundanzzuordnungs-Schaltungsanordnung 705 verwendet, um Zeilenadressen zu speichern, die nicht­ betriebsbereite Zellen enthalten. Die Zeilenadressen werden üblicherweise weder gespeichert, noch wird in einem einzel­ nen Taktzyklus auf dieselben zugegriffen, und eine Pipeline ist üblicherweise in das Tor 704 aufgenommen. In Fig. 7 ist eine Zweistufenpipeline gezeigt, bestehend aus einer ersten Stufe 706 und einer zweiten Stufe 707.
Innen ist der CAM 701 insofern eintorig, daß er jeweils ei­ ne Zugriffsoperation durchführt. Wenn der CAM 701 eine Schreib- oder Lese-Anforderung einer spezifischen Speicher­ adresse (es wird darauf hingewiesen, daß die Referenzspei­ cheradresse als Daten gehandhabt wird, so weit es den CAM 701 betrifft) von der BIST-Schaltungsanordnung 703 emp­ fängt, wird diese Anforderung durch den CAM 701 zu dem Speichercache 708 geleitet. Wenn die Speicheradresse mit einem vorangehend gespeicherten Speicheradreßraum überein­ stimmt, der einen fehlerhaften Abschnitt des Speichers an­ zeigt, liefert der CAM 701 ein Übereinstimmungssignal, um ein Ersetzen des redundanten Speichers für den fehlerhaften Speicherabschnitt zu bewirken. Alternativ wird die Zeilen­ adresse durch die Pipelinestufen 706 und 707 zu dem Tor 704 geleitet und durch den CAM gespeichert, und eine Austausch­ zeile wird abgebildet, wenn der CAM 701 eine Zeilenadresse von der Redundanzzuordnungs-Schaltungsanordnung 705 emp­ fängt. Bei einem bevorzugten Ausführungsbeispiel können mehrere Zeilen zusammen gruppiert und getestet werden und wenn nötig miteinander ausgetauscht werden. Wenn z. B. vier Speicherzeilen zusammen gruppiert sind, können die zwei mindestwertigen Bits ignoriert werden, und die vier Spei­ cherzeilen werden als eine einzige Entität behandelt.
Da zwei Operationen gleichzeitig eingeleitet werden können, d. h. Zugriff von der BIST-Schaltungsanordnung auf das Tor 702 und Speichern einer Zeilenadresse, die nicht betriebs­ fähigen Zellen entspricht, während der CAM 701 nur eine Zugriffsoperation gleichzeitig adressieren kann, muß ein Schema entwickelt werden, um beide ankommende Anforderungen zu handhaben. Die Erfindung löst diesen Konflikt durch Zu­ ordnen einer Priorität zu dem Schreiben der Zeilenadresse, die die nicht betriebsfähige Zelle enthält.
Es besteht eine feste Zeitverzögerung zwischen dem Erfassen eines Zeilenversagens und dem Zeitpunkt, wenn die Adresse der Zeile, die die nicht betriebsfähige Zelle enthält, den CAM 701 erreicht. Dem Speichern der Zeilenadreßdaten in den CAM 701 kann durch Erweitern dieser festen Zeitverzögerun­ gen eine Priorität gegeben werden, um Konflikte zu beseiti­ gen. Die Korrekturoperation sowohl des Speicherns der Zei­ lenadresse als auch des Testens der BIST-Schaltungsanordnung wird durch Planen eines BIST-Schaltungsanordnungs-Schreib- oder eines anderen Zugriffs- Versuchs, die gleichzeitig mit dem CAM-Speicherschreiben auftreten, sichergestellt. Die BIST-Schaltungsanordnung greift auf Zugriff (Lesen oder Schreiben) zu, der sequenti­ ell auftreten sollte, um Konflikte zwischen einem CAM- Schreiben und einem BIST-Schaltungsanordnungs-Lesen zu be­ seitigen.
Ein Fachmann würde verstehen, daß das Speicherzellenarray, die tragende Struktur (einschließlich der Adreßdecoder, der der Leseverstärker, Uhren, etc.), andere Strukturen (z. B. Prozessor/Steuerung, zentrale Verarbeitungseinheit, Einga­ be-/Ausgabe-Vorrichtungen, etc.) und eingebauter Selbsttest und eingebaute Selbstreparatur alle als ein integrierter Chip oder ein Halbleiterchip oder ein Chip, der ein Halb­ leitersubstrat umfaßt, gebildet sind.
Fig. 8 ist ein Diagramm, das die relative Sequenz des BIST gefolgt durch die BISR zeigt, wenn ein Umleiten der Spei­ cheradreßanforderungen zu einem redundanten Abschnitt des Speichers erforderlich ist. Der CAM 701 umfaßt wie darge­ stellt acht inhaltsadressierbare Speicherpositionen, wobei jede z. B. die elf Bit mit höchster Wertigkeit einer Spei­ cheradresse speichert. Wenn eine Zelladresse mit Adreßraum­ daten übereinstimmt, die in dem CAM 701 gespeichert sind, dann wird ein entsprechendes Übereinstimmungssignal an die Zeilenadreßsubstitutions-Schaltung 801 geliefert. Dies kann verursachen, daß eine Adresse, die einer entsprechenden Gruppe redundanter Zeilen entspricht, für den Abschnitt der Adresse ersetzt wird, der eine defekte Gruppe von Zeilen bezeichnet. Das resultierende Adreßsignal wird dann auf den Speicher 802 angewendet, der auf eine spezifizierte Spei­ cherzelle zugreift, so daß Daten in die Zelle geschrieben oder daraus gelesen werden können.
Bei diesem Beispiel wird angenommen, daß eine gewisse An­ zahl der niederwertigen Adreßbits verwendet wird, um zwi­ schen minimal adressierbaren Einheiten (für dieses Beispiel und zu Darstellungszwecken Bits) innerhalb einer Zeile und einer bestimmten Zeile innerhalb einer vorbestimmten mini­ malen austauschbaren Gruppengröße von Zeilen, z. B. vier Zeilen, zu unterscheiden. Ein Zwanzig-Bit-Adreßraum kann z. B. die sieben niederwertigsten Bits aufweisen, die eines von 128 Bits bezeichnen (d. h. adressieren), die eine Zeile bilden, wobei die nächsten zwei höchstwertigen Bits eine von vier Zeilen innerhalb jeder vierreihigen Gruppe be­ zeichnen und die elf höchstwertigen Bits eine von 2048 vierreihigen Gruppierungen bezeichnen. Da die Zeilen in Gruppen ersetzt werden, muß der CAM nur die elf höchstwer­ tigen Bits einer Adresse speichern, um zu bestimmen, ob die Adresse, auf die zugegriffen werden soll, Teil eines vier­ reihigen Gruppenadreßraums ist, der vorangehend bestimmt wurde, um eine defekte Zelle zu umfassen.
Der BIST-Abschnitt umfaßt nominell fünf Schritte. Anfäng­ lich wird eine Adresse einer Zelle, die in dem Speicher 802 getestet werden soll bei Schritt 803 erzeugt, wobei die Adresse zu dem CAM 107 für eine mögliche Übertragung gelie­ fert wird, d. h. erneutes Abbilden in einen redundanten Speicher, wenn die gelieferte Adresse Teil eines defekten Adreßraums ist, der eine defekte Zeile von Speicherzellen umfaßt. Wenn die Adresse der getesteten Zelle nicht voran­ gehend bestimmt wurde, um innerhalb des Adreßraums einer defekten Zeilengruppe zu fallen, dann wird die Adresse von Schritt 803 unverändert an den zu testenden Speicher 802 geleitet. Alternativ, wenn die höherwertigen Bits der Ad­ resse einem Eintrag in den CAM 701 entsprechen, dann wird ein Übereinstimmungssignal erzeugt, das einen Zugriff einer entsprechenden redundanten Gruppe von vier Zeilen einlei­ tet, wobei die niederwertigsten Bits der Adresse verwendet werden, um eine der vier Zeilen und ein Byte innerhalb die­ ser Zeile zu benennen, wie in dem unkorrigierten Fall.
Sobald das geeignete Adreßsignal an die zu testende Spei­ chereinheit 802 geliefert wird, werden die Testdaten bei Schritt 804 in die bestimmte Zelle oder Zellen geschrieben. Das Lesen von der Zelle oder den Zellen erfordert ein er­ neutes Übertragen der Adresse der zu testenden Zelle bei Schritt 805, wie vorangehend in Verbindung mit Schritt 803 beschrieben wurde. Nun jedoch werden Daten bei Schritt 806 aus der Zelle oder den Zellen gelesen und bei Schritt 807 werden diese Daten mit den gespeicherten Daten verglichen. Eine Übereinstimmung zeigt an, daß die Zelle betriebsbereit zu sein scheint (unterliegt weiterem Testen), während eine Nichtübereinstimmung einen Defekt oder einen Fehler an­ zeigt. Wird ein Defekt identifiziert, dann wird die Adresse der entsprechenden Zeilengruppe bei Schritt 808 in den CAM 701 gespeichert. Die Speicherung der "schlechten" Adreß­ gruppe unterliegt jedoch der Verarbeitungsverzögerung 809. Leider verursacht die Verzögerung einen Konflikt zwischen den Adreßdaten, die in den CAM 701 geschrieben werden, und dem nächsten Speicherzugriff, der bei Schritt 803 beginnt. Somit kann das Schreiben in den CAM 701 zu einer Änderung der Adreßübertragung führen, die zwischen den Schritten 803 und 806 auftritt, so daß Testdaten in eine Zellposition ge­ speichert werden können, aber von einer anderen gelesen werden.
Bezug nehmend auf Fig. 9 wird eine Verzögerung in der Form der Schritte 901 und 902 eingeleitet, so daß das Aktuali­ sieren des CAM 701 gemäß Schritt 808 und unter Verzögerung 809 vor dem Speichern der Testdaten abgeschlossen wird. Insbesondere kopieren die Schritte 901 und 902 die Aktionen der Schritte 801 bzw. 802. Somit wird die Adresse einer zu testenden Zelle bei Schritt 901 zu dem CAM 701 geliefert. In dem Fall, in dem der Schritt 808 gleichzeitig implemen­ tiert wird, um aktualisierte Adreßdaten an den CAM 701 zu liefern, resultiert daraus ein Konflikt, so daß eine feh­ lerhafte Adresse oder keine Adresse bei Schritt 901 an den Speicher 802 geliefert werden kann. Diese Möglichkeit führt dazu, daß Daten, die in den Speicher 802 geschrieben werden müssen, ansprechend auf Schritt 902 nicht richtig gespei­ chert werden. Um Versagensereignisse zu beheben, um Testda­ ten richtig in den Speicher 802 zu speichern, die durch solche Konflikte verursacht wurden, wiederholen die Schrit­ te 803 und 804 den Prozeß des Lieferns der Adresse der zu testenden Zelle und der zu speichernden Daten in der Zelle, um sicherzustellen, daß die Testdatenspeicherung in die ge­ wünschte Zelle richtig durchgeführt wird. Wiederholter Zugriff auf den Speicher leitet die gewünschte Verzögerung ebenfalls ein. Das Verarbeiten wird dann fortgesetzt, wie in Verbindung mit Fig. 8 detailliert beschrieben wurde, um die Testdaten zurück aus der zu testenden Zelle zu lesen, die gelesenen Daten mit den geschriebenen Daten zu verglei­ chen, und jegliche erforderliche Aktualisierungen an dem CAM 107 zu implementieren, um jegliche defekte Speicherzel­ le zu berücksichtigen, die durch den Test identifiziert wird.
Während das Beispiel von Fig. 9 die Einführung eines ersten Paares von Speicherzugriffsinformationen in der Form von Schritten 901 und 902 darstellt, gefolgt von einer soforti­ gen Wiederholung derselben Schritte durch Schritte 803 und 804 können andere Schritte für 901 und 902 eingesetzt wer­ den, so daß die Schritte 803 und 804 nicht mit den Schrit­ ten 808 und 809 einer vorangehenden Iteration oder eines Zyklus in Konflikt kommen. Der Schritt 902 kann z. B. Daten lesen und nicht Daten schreiben, so lange man sich nicht auf das Ergebnis der Lese-Operation verläßt. Es wird ferner darauf hingewiesen, daß andere Speicherzugriffsoperationen von der Aufnahme der Schritte 901 und 902, einschließlich eines Lese-Daten-Schrittes profitieren, während der ge­ wünschte Speicherzugriff in der Form des Schreibe-Daten-Schrittes 804 dargestellt ist. Ein Fachmann erkennt natür­ lich im Falle des Letzteren, daß der Schritt 902 keine Schreibe-Daten-Operation sein sollte, die den Inhalt des Speichers stören könnte, wenn die Operation erfolgreich wä­ re; statt dessen könnte ein Benutzer eine Lese-Daten-Operation bei Schritt 902 einsetzen.
Wie ein Fachmann aus der Offenbarung der vorliegenden Er­ findung, den Prozessen, den Maschinen, der Herstellung, der Materialzusammensetzungen, den Einrichtungen, den Verfahren oder den Schritten leicht erkennen kann, die momentan bestehen oder später entwickelt werden, die im wesentlichen die gleiche Funktion ausführen oder im wesentlichen das gleiche Ergebnis erreichen wie die entsprechenden Ausfüh­ rungsbeispiele, die hierin beschrieben sind, gemäß der vor­ liegenden Erfindung verwendet werden können. Entsprechend sollen die angefügten Ansprüche innerhalb ihres Schutzbe­ reiches solche Prozesse, Maschinen, Herstellungen, Materi­ alzusammensetzungen, Einrichtungen, Verfahren oder Schritte umfassen. Während die aktuelle Erfindung unter Verwendung von Speicherzellenarrays beschrieben wurde, würde ein Fach­ mann verstehen, daß die Erfindung auf jede Vorrichtung mit mehreren Zellen angewendet werden kann, in der die Beibe­ haltung physischer Positionen nicht wichtig ist, und redun­ dante Spalten und Zeilen von Vorrichtungen für fehlerhafte Vorrichtungen eingesetzt werden können. Die Erfindung ist z. B. für Arrays von Multiplizierern und Addierern glei­ chermaßen anwendbar.

Claims (20)

1. Verfahren zum Konfigurieren eines Speicherarrays (100), um fehlerhafte Speicherzellen durch Ersatzspei­ cherzellen zu ersetzen, wobei das Verfahren folgende Schritte aufweist:
  • a) Identifizieren eines ersten Adreßspeicher­ raums, der eine fehlerhafte Speicherzelle (807) umfaßt;
  • b) Versuchen, Daten die einem zweiten Adreßraum entsprechen an einen inhaltsadressierbaren Speicher (901) zu liefern;
  • c) Versuchen, auf zumindest eine Speicherzelle zuzugreifen, die ansprechend auf Schritt (ii) adressiert wird (902);
  • d) Schreiben von Daten in den inhaltsadressier­ baren Speicher, der dem ersten Adreßraum (80) entspricht,, während zumindest eines be­ stimmten Abschnitts eines Zeitraums, der das Durchführen von zumindest einem der Schritte (ii) und (iii) umfaßt;
  • e) erneutes Versuchen, die Daten, die dem zwei­ ten Adreßraum entsprechen, an den inhalts­ adressierbaren Speicher (803) zu liefern;
  • f) wiederholtes Versuchen, auf die zumindest eine Speicherzelle zuzugreifen, die anspre­ chend auf Schritt (iv) (804) adressiert wird; und
  • g) Verarbeiten von Daten von der zumindest ei­ nen Speicherzelle (806).
2. Verfahren gemäß Anspruch 1, bei dem die Schritte (i) bis (vii) wiederholt werden und der Schritt (v) sofort nach Fertigstellung des Schritts (iii) durchgeführt wird (Fig. 9).
3. Verfahren gemäß Anspruch 1 oder 2, das ferner einen Schritt (viii) des Einführens einer Verarbeitungsver­ zögerung (809) zwischen einer Durchführung von Schritt (i) und Schritt (v) umfaßt.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem der erste Adreßraum eine Zeile (109-114) des Arrays (100) spezifiziert.
5. Verfahren gemäß einem der Ansprüche 1 bis 4, das fer­ ner einen Schritt des Abbildens des ersten Adreßraums in einen Adreßraum einer Ersatzzeile der Speicherzel­ len (801) aufweist.
6. Verfahren gemäß Anspruch 5, das ferner folgende Schritte aufweist:
Konfigurieren von Spalten des Speicher arrays, um ei­ ne der Spalten, die die verbleibende, fehlerhafte Speicherzelle enthält, durch eine Ersatzspalte der Spalten (107, 108) zu ersetzen; und
Identifizieren von mindestens einer verbleibenden der fehlerhaften Speicherzellen nach dem Konfigurierungs­ schritt.
7. Verfahren gemäß Anspruch 5 oder 6, das ferner einen Schritt des Zählens einer Anzahl der fehlerhaften Speicherzellen (201) in mindestens einer Spalte des Speicherarrays (100) aufweist.
8. Verfahren gemäß einem der Ansprüche 5 bis 7, das fer­ ner einen Schritt des Erfassens einer Anzahl der feh­ lerhaften Speicherzellen (703) in mindestens einer Spalte (101-106) des Speicherarrays (100) aufweist, die ein Schwellenkriterium erfüllen.
9. Speicher, der folgende Merkmale aufweist:
ein Array von Speicherzellen (100), das Ersatzspei­ cherzellen (107, 108) umfasst;
eine Speicherzellen-Adreßlogik, die folgende Merkmale aufweist:
  • a) einen inhaltsadressierbaren Speicher (701), der Daten speichert, die Adreßräume darstel­ len, die fehlerhaften der Speicherzellen entsprechen, und
  • b) eine Speicherzellen-Konfigurationslogik (801), die auf ein Ausgangssignal des in­ haltsadressierbaren Speichers anspricht, um die Adreßräume, die den fehlerhaften Spei­ cherzellen-Adreßräumen entsprechen, auf ent­ sprechende Adreßräume der Ersatzspeicherzel­ len abzubilden;
eine Testlogik (703, 807), die konfiguriert ist, um Testoperationen durchzuführen, um:
  • a) einen ersten Adreßraum zu identifizieren, der eine fehlerhafte Speicherzelle umfaßt (807),
  • b) zu versuchen, Daten, die einem zweiten Adreßraum entsprechen, an den inhaltsadres­ sierbaren Speicher zu liefern (901),
  • c) zu versuchen, auf zumindest eine Speicher­ zelle in dem zweiten Adreßraum zuzugreifen (902),
  • d) erneut zu versuchen, die Daten, die dem zweiten Adreßraum entsprechen, an den in­ haltsadressierbaren zu liefern (803),
  • e) erneut zu versuchen, auf zumindest eine ad­ ressierte Speicherzelle zuzugreifen (804), und
  • f) Daten von der mindestens einen Speicherzelle zu verarbeiten (806, 807);
eine Speicherreparaturlogik (808), die konfiguriert ist, um Daten, die dem ersten Adreßraum entsprechen, in den inhaltsadressierbaren Speicher zu schreiben, während mindestens einer bestimmten Zeitspanne, die sich mit der Ausführung von mindestens entweder dem Versuchen, Daten zu liefern oder dem Versuchen, durch die Testlogik auf Testoperationen zuzugreifen, über­ schneidet.
10. Speicher gemäß Anspruch 9, bei dem die Testlogik wie­ derholt die Testoperationen (i) bis (vi) in der aufge­ führten Zeilenfolge wiederholt und die Speicherrepara­ turlogik (808) auf ein Ergebnis der Vergleichstestope­ ration (807) anspricht, um die Daten, die dem ersten Adreßraum (701) entsprechen, in den inhaltsadressier­ baren Speicher (701) zu schreiben.
11. Speicher gemäß Anspruch 9 oder 10, bei dem der erste Adreßraum eine Zeile des Arrays spezifiziert.
12. Speicher gemäß einem der Ansprüche 9 bis 11, bei dem der inhaltsadressierbare Speicher eine Mehrzahl von Speicherpositionen zum Speichern einer entsprechenden Anzahl von Daten umfaßt, die Adreßräumen von Zeilen des Arrays von Speicherzellen entsprechen, die fehler­ hafte Speicherzellen umfassen.
13. Speicher gemäß Anspruch 12, bei dem jeder der Adreß­ räume eine Mehrzahl von Zeilen des Arrays von Spei­ cherzellen definiert.
14. Speicher gemäß Anspruch 9, bei dem die Speicherzellen- Adreßlogik betreibbar ist, um den ersten Adreßraum in einen Adreßraum einer Ersatzzeile der Ersatzspeicher­ zellen abzubilden.
15. Speicher gemäß Anspruch 14, bei dem:
die Speicherzellen-Adreßlogik betreibbar ist, um Spal­ ten des Arrays von Speicherzellen zu konfigurieren, um eine der Spalten, die die fehlerhaften Speicherzelle umfaßt, durch eine Ersatzspalte der Spalten zu erset­ zen; und
die Testlogik ferner konfiguriert ist, um mindestens eine fehlerhafte Speicherzelle zu identifizieren, die verbleibt, nachdem die Speicherzellen-Adreßlogik die Spalten des Arrays neu konfiguriert.
16. Speicher gemäß Anspruch 14 oder 15, der ferner eine Zähllogik aufweist, die konfiguriert ist, um eine An­ zahl der fehlerhaften Speicherzellen in mindestens ei­ ner Spalte des Arrays von. Speicherzellen zu zählen.
17. Speicher gemäß einem der Ansprüche 14 bis 16, bei dem die Testlogik ferner konfiguriert ist, um eine Anzahl der fehlerhaften Speicherzellen in mindestens einer Spalte des Arrays von Speicherzellen zu erfassen, wo­ bei die Anzahl ein Schwellenkriterium erfüllt.
18. Halbleiter-Speichervorrichtung, die folgende Merkmale aufweist:
ein Array von Speicherzellen, das Ersatzspeicherzellen umfaßt;
eine erste Einrichtung zum Identifizieren eines ersten Adreßraums, der eine fehlerhafte Speicherzelle umfaßt;
eine zweite Einrichtung zum versuchen, Daten, die ei­ nem zweiten Adreßraum entsprechen, an einen inhalts­ adressierbaren Speicher zu liefern;
eine dritte Einrichtung zum versuchen, auf mindestens eine Speicherzelle innerhalb des zweiten Adreßraums zuzugreifen;
eine vierte Einrichtung, die während einer Operation von entweder der zweiten oder der dritten Einrichtung betreibbar ist, um Daten, die einem ersten Adreßraum entsprechen, in dem inhaltsadressierbaren Speicher zu adressieren;
eine fünfte Einrichtung zum versuchen, die Daten, die dem zweiten Adreßraum entsprechen, wiederum an den in­ haltsadressierbaren Speicher zu liefern;
eine sechste Einrichtung zum erneuten versuchen, auf die Testdaten in der mindestens einen Speicherzelle zuzugreifen; und
eine siebte Einrichtung zum Verarbeiten von Daten von der mindestens einen Speicherzelle.
19. Halbleiter-Speichervorrichtung gemäß Anspruch 18, bei der der erste Adreßraum eine Zeile des Arrays spezifi­ ziert.
20. Halbleiter-Speichervorrichtung gemäß Anspruch 18, die ferner folgende Merkmale aufweist:
eine achte Einrichtung zum Identifizieren von minde­ stens einer ersten der fehlerhaften Speicherzellen; und
eine neunte Einrichtung zum Konfigurieren von Spalten des Speicherarrays, um eine der Spalten, die die verbleibende erste fehlerhafte Speicherzelle umfaßt, durch eine Ersatzspalte der Spalten zu ersetzen.
DE10206719A 2001-02-23 2002-02-18 Cache-Testsequenz für eintorigen Zeilenreparatur-CAM Withdrawn DE10206719A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/792,476 US6691252B2 (en) 2001-02-23 2001-02-23 Cache test sequence for single-ported row repair CAM

Publications (1)

Publication Number Publication Date
DE10206719A1 true DE10206719A1 (de) 2002-09-12

Family

ID=25157012

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10206719A Withdrawn DE10206719A1 (de) 2001-02-23 2002-02-18 Cache-Testsequenz für eintorigen Zeilenreparatur-CAM

Country Status (2)

Country Link
US (1) US6691252B2 (de)
DE (1) DE10206719A1 (de)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487131B1 (en) * 1999-12-30 2002-11-26 Intel Corporation Method and apparatus for testing a CAM addressed cache
DE10112560B4 (de) * 2001-03-15 2011-02-17 Infineon Technologies Ag Verfahren und Vorrichtung zum Prüfen von Schaltungsmodulen
US7127647B1 (en) 2001-06-29 2006-10-24 Virage Logic Corporation Apparatus, method, and system to allocate redundant components
US7237154B1 (en) 2001-06-29 2007-06-26 Virage Logic Corporation Apparatus and method to generate a repair signature
US7257763B1 (en) 2001-08-03 2007-08-14 Netlogic Microsystems, Inc. Content addressable memory with error signaling
US7283380B1 (en) 2001-08-03 2007-10-16 Netlogic Microsystems, Inc. Content addressable memory with selective error logging
US7043673B1 (en) 2001-08-03 2006-05-09 Netlogic Microsystems, Inc. Content addressable memory with priority-biased error detection sequencing
US7237156B1 (en) 2001-08-03 2007-06-26 Netlogic Microsystems, Inc. Content addressable memory with error detection
US6744652B2 (en) * 2001-08-22 2004-06-01 Netlogic Microsystems, Inc. Concurrent searching of different tables within a content addressable memory
US7085971B2 (en) * 2001-10-25 2006-08-01 International Business Machines Corporation ECC based system and method for repairing failed memory elements
US6993622B2 (en) * 2001-10-31 2006-01-31 Netlogic Microsystems, Inc. Bit level programming interface in a content addressable memory
US7210003B2 (en) 2001-10-31 2007-04-24 Netlogic Microsystems, Inc. Comparand generation in a content addressable memory
US6697290B2 (en) * 2001-12-12 2004-02-24 Agilent Technologies, Inc. Apparatus for random access memory array self-repair
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US7237058B2 (en) * 2002-01-14 2007-06-26 Netlogic Microsystems, Inc. Input data selection for content addressable memory
US6714430B1 (en) * 2002-05-10 2004-03-30 Netlogic Microsystems, Inc. Content addressable memory having column redundancy
US6971053B1 (en) * 2002-07-30 2005-11-29 Cypress Semiconductor Corp. Method for initiating internal parity operations in a CAM device
US6978343B1 (en) * 2002-08-05 2005-12-20 Netlogic Microsystems, Inc. Error-correcting content addressable memory
US7168010B2 (en) * 2002-08-12 2007-01-23 Intel Corporation Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations
US7313739B2 (en) * 2002-12-31 2007-12-25 Analog Devices, Inc. Method and apparatus for testing embedded cores
US7376871B2 (en) * 2003-08-06 2008-05-20 Texas Instruments Incorporated CAM test structures and methods therefor
US20060018142A1 (en) * 2003-08-11 2006-01-26 Varadarajan Srinivasan Concurrent searching of different tables within a content addressable memory
US6928377B2 (en) * 2003-09-09 2005-08-09 International Business Machines Corporation Self-test architecture to implement data column redundancy in a RAM
US7290186B1 (en) 2003-09-16 2007-10-30 Virage Logic Corporation Method and apparatus for a command based bist for testing memories
US20050066226A1 (en) * 2003-09-23 2005-03-24 Adams R. Dean Redundant memory self-test
US7026821B2 (en) * 2004-04-17 2006-04-11 Hewlett-Packard Development Company, L.P. Testing MEM device array
JP4676723B2 (ja) * 2004-07-30 2011-04-27 富士通株式会社 キャッシュメモリ、プロセッサ、キャッシュメモリの製造方法、プロセッサの製造方法
US7519875B2 (en) * 2004-08-20 2009-04-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for enabling a user to determine whether a defective location in a memory device has been remapped to a redundant memory portion
FR2875352B1 (fr) * 2004-09-10 2007-05-11 St Microelectronics Sa Procede de detection et de correction d'erreurs pour une memoire et circuit integre correspondant
US7304873B1 (en) 2005-01-25 2007-12-04 Netlogic Microsystems, Inc. Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor
US7284168B2 (en) * 2005-01-26 2007-10-16 Hewlett-Packard Development Company, L.P. Method and system for testing RAM redundant integrated circuits
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
US7707463B2 (en) * 2005-11-30 2010-04-27 International Business Machines Corporation Implementing directory organization to selectively optimize performance or reliability
TWI340392B (en) * 2007-06-29 2011-04-11 Nanya Technology Corp Method for testing semiconductor memory
CN101562543B (zh) * 2009-05-25 2013-07-31 阿里巴巴集团控股有限公司 一种缓存数据的处理方法、处理系统和装置
US8392777B2 (en) * 2009-08-27 2013-03-05 Advanced Micro Devices, Inc. Centralized MBIST failure information
US8381052B2 (en) * 2009-11-10 2013-02-19 International Business Machines Corporation Circuit and method for efficient memory repair
US8930779B2 (en) 2009-11-20 2015-01-06 Rambus Inc. Bit-replacement technique for DRAM error correction
JP4877396B2 (ja) * 2010-01-20 2012-02-15 日本電気株式会社 メモリ障害処理システム、および、メモリ障害処理方法
US8644104B2 (en) 2011-01-14 2014-02-04 Rambus Inc. Memory system components that support error detection and correction
US8990631B1 (en) 2011-03-03 2015-03-24 Netlogic Microsystems, Inc. Packet format for error reporting in a content addressable memory
US20130117636A1 (en) * 2011-11-07 2013-05-09 Su-a Kim Semiconductor memory device and system having redundancy cells
US9411678B1 (en) 2012-08-01 2016-08-09 Rambus Inc. DRAM retention monitoring method for dynamic error correction
US9734921B2 (en) 2012-11-06 2017-08-15 Rambus Inc. Memory repair using external tags
US9697910B1 (en) * 2016-03-30 2017-07-04 International Business Machines Corporation Multi-match error detection in content addressable memory testing
US10297290B1 (en) 2017-12-29 2019-05-21 Micron Technology, Inc. Semiconductor devices, and related control logic assemblies, control logic devices, electronic systems, and methods
US10340267B1 (en) 2017-12-29 2019-07-02 Micron Technology, Inc. Semiconductor devices including control logic levels, and related memory devices, control logic assemblies, electronic systems, and methods
US10366983B2 (en) 2017-12-29 2019-07-30 Micron Technology, Inc. Semiconductor devices including control logic structures, electronic systems, and related methods
US11010330B2 (en) 2018-03-07 2021-05-18 Microsoft Technology Licensing, Llc Integrated circuit operation adjustment using redundant elements
US10586795B1 (en) 2018-04-30 2020-03-10 Micron Technology, Inc. Semiconductor devices, and related memory devices and electronic systems
US11455221B2 (en) * 2019-10-31 2022-09-27 Qualcomm Incorporated Memory with concurrent fault detection and redundancy

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255227A (en) 1991-02-06 1993-10-19 Hewlett-Packard Company Switched row/column memory redundancy
JP3652728B2 (ja) * 1994-12-31 2005-05-25 ヒューレット・パッカード・カンパニー 走査型メモリ装置および誤り訂正方法
US6446224B1 (en) * 1995-03-03 2002-09-03 Fujitsu Limited Method and apparatus for prioritizing and handling errors in a computer system
US6000047A (en) 1995-12-08 1999-12-07 Hewlett-Packard Company Scanning memory device and error correction method
US5956350A (en) * 1997-10-27 1999-09-21 Lsi Logic Corporation Built in self repair for DRAMs using on-chip temperature sensing and heating
US5896331A (en) * 1997-12-23 1999-04-20 Lsi Logic Corporation Reprogrammable addressing process for embedded DRAM
US6085334A (en) * 1998-04-17 2000-07-04 Motorola, Inc. Method and apparatus for testing an integrated memory device
US6425095B1 (en) * 1998-08-14 2002-07-23 Advantest Corporation Memory testing apparatus
US6141779A (en) 1998-10-19 2000-10-31 Hewlett-Packard Company Method for automatically programming a redundancy map for a redundant circuit
US6408401B1 (en) * 1998-11-13 2002-06-18 Compaq Information Technologies Group, L.P. Embedded RAM with self-test and self-repair with spare rows and columns
JP2000348498A (ja) * 1999-06-08 2000-12-15 Mitsubishi Electric Corp 半導体試験装置
US6304989B1 (en) * 1999-07-21 2001-10-16 Credence Systems Corporation Built-in spare row and column replacement analysis system for embedded memories
US6560740B1 (en) * 1999-08-03 2003-05-06 Advanced Micro Devices, Inc. Apparatus and method for programmable built-in self-test and self-repair of embedded memory
US6496947B1 (en) * 1999-10-25 2002-12-17 Lsi Logic Corporation Built-in self repair circuit with pause for data retention coverage
US6505308B1 (en) * 1999-10-28 2003-01-07 Lsi Logic Corporation Fast built-in self-repair circuit
US6505313B1 (en) * 1999-12-17 2003-01-07 Lsi Logic Corporation Multi-condition BISR test mode for memories with redundancy
US6421794B1 (en) * 2000-03-09 2002-07-16 John T. Chen Method and apparatus for diagnosing memory using self-testing circuits
US6640321B1 (en) * 2000-04-14 2003-10-28 Lsi Logic Corporation Built-in self-repair of semiconductor memory with redundant row testing using background pattern
US6438046B1 (en) * 2001-07-17 2002-08-20 Lsi Logic Corporation System and method for providing row redundancy with no timing penalty for built-in-self-repair (BISR) in high density memories

Also Published As

Publication number Publication date
US6691252B2 (en) 2004-02-10
US20020120887A1 (en) 2002-08-29

Similar Documents

Publication Publication Date Title
DE10206719A1 (de) Cache-Testsequenz für eintorigen Zeilenreparatur-CAM
DE10206720A1 (de) System und Verfahren zum Betreiben eines programmierbaren Zählers für Spaltenversagen bei Redundanzzuordnung
DE102006001492B4 (de) Halbleiterspeicheranordnung und Verfahren zum Betreiben einer Halbleiterspeicheranordnung
DE69835794T2 (de) Halbleiterschaltung und steuerungsverfahren dazu
EP0378538B1 (de) Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins
US7490274B2 (en) Method and apparatus for masking known fails during memory tests readouts
DE10330111A1 (de) Verfahren eines selbstreparierenden dynamischen Direktzugriffsspeichers
DE3032630C2 (de) Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb
DE4328605A1 (de) Halbleiterspeichereinrichtung
DE3833713A1 (de) Halbleiterspeichereinrichtung mit einer vorrichtung zum pruefen und korrigieren von fehlern
DE102007058418A1 (de) Fehlerkorrektur in Speicherbauteilen
DE19639972B4 (de) Hochgeschwindigkeitstestschaltkreis für eine Halbleiterspeichervorrichtung
US20020108073A1 (en) System for and method of operating a programmable column fail counter for redundancy allocation
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE19930169A1 (de) Testeinrichtung zum Prüfen eines Speichers
DE3827174A1 (de) Halbleiter-speichervorrichtung
DE102005001520A1 (de) Integrierte Speicherschaltung und Verfahren zum Reparieren eines Einzel-Bit-Fehlers
DE10250875B4 (de) Vorrichtung und Verfahren zum Konfigurieren einer integrierten Schaltung mit eingebettetem Speicher
DE102004028340A1 (de) Verringern von Speicherausfällen in integrierten Schaltungen
US20030101389A1 (en) Method for reconfiguring a memory
DE102008030408A1 (de) System und Verfahren zum Adressieren von Fehlern in einer Mehrchipspeichervorrichtung
DE102004039831A1 (de) Multi-Chip-Modul und Verfahren zum Testen
DE19924153B4 (de) Schaltungsanordnung zur Reparatur eines Halbleiterspeichers
DE102005046981B4 (de) Speicher und Verfahren zum Verbessern der Zuverlässigkeit eines Speichers mit einem benutzten Speicherbereich und einem unbenutzten Speicherbereich
JPH08212795A (ja) 集積回路随時書き込み読み出しメモリ

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8130 Withdrawal