DE10206719A1 - Cache-Testsequenz für eintorigen Zeilenreparatur-CAM - Google Patents
Cache-Testsequenz für eintorigen Zeilenreparatur-CAMInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/72—Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
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.
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:
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;
- 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);
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.
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.
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.
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.
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)
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 |
US7237154B1 (en) | 2001-06-29 | 2007-06-26 | Virage Logic Corporation | Apparatus and method to generate a repair signature |
US7127647B1 (en) * | 2001-06-29 | 2006-10-24 | Virage Logic Corporation | Apparatus, method, and system to allocate redundant components |
US7257763B1 (en) | 2001-08-03 | 2007-08-14 | Netlogic Microsystems, Inc. | Content addressable memory with error signaling |
US7237156B1 (en) | 2001-08-03 | 2007-06-26 | Netlogic Microsystems, Inc. | Content addressable memory with error detection |
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 |
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 |
US7210003B2 (en) | 2001-10-31 | 2007-04-24 | Netlogic Microsystems, Inc. | Comparand generation in a content addressable memory |
US6993622B2 (en) * | 2001-10-31 | 2006-01-31 | Netlogic Microsystems, Inc. | Bit level programming interface 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 |
CN102714061A (zh) * | 2009-11-20 | 2012-10-03 | 拉姆伯斯公司 | 用于dram故障校正的位替代技术 |
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 |
US20130117615A1 (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 |
US10366983B2 (en) | 2017-12-29 | 2019-07-30 | Micron Technology, Inc. | Semiconductor devices including control logic structures, electronic systems, and related 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 |
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 |
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)
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 |
-
2001
- 2001-02-23 US US09/792,476 patent/US6691252B2/en not_active Expired - Lifetime
-
2002
- 2002-02-18 DE DE10206719A patent/DE10206719A1/de not_active Withdrawn
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 | |
US7490274B2 (en) | Method and apparatus for masking known fails during memory tests readouts | |
DE69835794T2 (de) | Halbleiterschaltung und steuerungsverfahren dazu | |
EP0378538B1 (de) | Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins | |
DE10330111A1 (de) | Verfahren eines selbstreparierenden dynamischen Direktzugriffsspeichers | |
DE3032630C2 (de) | Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb | |
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 | |
DE19930169A1 (de) | Testeinrichtung zum Prüfen eines Speichers | |
DE3827174A1 (de) | Halbleiter-speichervorrichtung | |
DE102005001520A1 (de) | Integrierte Speicherschaltung und Verfahren zum Reparieren eines Einzel-Bit-Fehlers | |
DE102005032484A1 (de) | Nichtflüchtiges Speicherelement und zugehöriges Programmierverfahren | |
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 | |
DE69100796T2 (de) | Integrierte Speicherschaltung mit Redundanz und verbesserter Adressierung in Testbetriebsart. | |
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 | |
DE10311373A1 (de) | Integrierter Speicher mit redundanten Einheiten von Speicherzellen und Verfahren zum Test eines integrierten Speichers |
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 |