DE3786410T2 - Verfahren zur Wahl von Ersatzleitungen in einer zweidimensionalen redundanten Matrix. - Google Patents

Verfahren zur Wahl von Ersatzleitungen in einer zweidimensionalen redundanten Matrix.

Info

Publication number
DE3786410T2
DE3786410T2 DE87101196T DE3786410T DE3786410T2 DE 3786410 T2 DE3786410 T2 DE 3786410T2 DE 87101196 T DE87101196 T DE 87101196T DE 3786410 T DE3786410 T DE 3786410T DE 3786410 T2 DE3786410 T2 DE 3786410T2
Authority
DE
Germany
Prior art keywords
failures
lines
redundant
remaining
bit
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.)
Expired - Fee Related
Application number
DE87101196T
Other languages
English (en)
Other versions
DE3786410D1 (de
Inventor
Dennis Rinaleo Conti
David Richard Dewar
Robert Fonseca
Robert Reynolds Wood
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3786410D1 publication Critical patent/DE3786410D1/de
Application granted granted Critical
Publication of DE3786410T2 publication Critical patent/DE3786410T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • Die Erfindung bezieht sich allgemein auf redundante Matrizen. Insbesondere bezieht sich die Erfindung auf ein Verfahren zur Feststellung, welche fehlerhaften Stellen in der Matrix durch eine redundante Zeile und welche durch eine redundante Spalte ersetzt werden müssen, sowie auf ein Gerät zur Zuordnung redundanter Leitungen in einer zweidimensionalen Matrix mit Fehlern.
  • In vielen großen integrierten Schaltungen mit einer regelmäßigen Struktur, wie beispielsweise Speicherbausteinen, ist es inzwischen gang und gäbe, redundante Speicherplätze vorzusehen, um damit fehlerhafte Speicherplätze zu ersetzen. Bei einer eindimensionalen Redundanz erstreckt sich die Redundanz nur in einer Richtung. Wenn beispielsweise ein Chip in Zeilen und Spalten unterteilt wird, dann werden jedem Schnittpunkt einer Zeile oder Spalte Speicherplätze zugeordnet. Normalerweise gibt es eine bestimmte Struktur in Verbindung mit den Zeilen als auch den Spalten selbst, wie beispielsweise Wortleitungen, die entlang der Zeilenrichtung verlaufen, oder einen Leseverstärker, der jedes Speicherelement entlang einer bestimmten Spalte liest. Bei einer eindimensionalen Redundanz sind zusätzliche Zeilen oder zusätzliche Spalten vorgesehen. Wenn beispielsweise zusätzliche Spalten vorgesehen sind, dann wird jedwede Spalte, die einen fehlerhaften Speicherplatz enthält, durch eine redundante Spalte ersetzt. Durch den Austausch werden alle Speicherplätze, die in der fehlerhaften Spalte logisch angeordnet waren, in einer redundanten Spalte neu angeordnet. Somit ist es wahrscheinlich, daß viele fehlerfreie Speicherplätze ersetzt werden, um einen einzigen fehlerhaften Speicherplatz zu korrigieren. Die redundante Spalte enthält auch einen Großteil der zusätzlichen, zur Spalte gehörenden Schaltlogik. Natürlich gibt es nur eine begrenzte Anzahl an redundanten Spalten, und wenn in übermäßig vielen Spalten Fehler festgestellt werden, reichen die redundanten Spalten nicht mehr aus, um die Fehler zu beheben, so daß der Chip ausgemustert werden muß.
  • Ein alternativer Ansatz ist eine zweidimensionale Redundanz, bei der sowohl redundante Zeilen als auch redundante Spalten vorgesehen sind. Dieser Ansatz ist besonders vorteilhaft, da manche Fehler die ganze Zeile und andere Fehler die ganze Spalte betreffen, zumindest jedoch große Teile davon. Beispielsweise würde ein vollkommen defekter Leseverstärker die ganze Zeile unbrauchbar machen, und es ist effizienter, die fehlerhaften Speicherplätze durch eine einzige redundante Zeile zu ersetzen, als mehrere redundante Spalten zu benutzen, um all die Spalten, die diese Zeile kreuzen, zu ersetzen. Es sei erwähnt, daß der Austausch gegen redundante Leitungen automatisch erfolgt und auf einem einfachen Test eines jeden Speicherplatzes im Speicherbaustein beruht. Anschließend wird eine Bitfehlermap generiert, aus der hervorgeht, welche Speicherplätze oder Bits fehlerhaft sind und somit ersetzt werden müssen.
  • Manchmal ist es jedoch nicht ganz einfach, zu entscheiden, ob ein Austausch der Zeilen oder ein Austausch der Spalten vorgenommen werden soll. Manche Fehlermechanismen ergeben eine Situation, in der die Zahl der Ausfälle in einer oder in beiden Dimensionen größer ist als die Anzahl der verfügbaren Wort- oder Bitleitungen. In einer solchen Situation muß man sich bei der Auswahl sowohl der redundanten Wortleitungen als auch der redundanten Bitleitungen bedienen, doch wie die beiden Gruppen von Leitungen kombiniert werden sollen, ist nicht immer eindeutig, insbesondere, wenn die Auswahl durch automatische Vorrichtungen erfolgen muß.
  • In Fig. 1 ist ein Beispiel eines Speicherbausteins abgebildet, der ein Speicherfeld von 20·20 aufweist, also 400 Speicherplätze oder Bits. Insgesamt 20 Original-Bitleitungen 10 erstrecken sich in horizontaler Richtung und sind in hexadezimaler Darstellung von 0 bis 13 numeriert. Insgesamt 20 Original-Wortleitungen 12 erstrecken sich in vertikaler Richtung und sind ebenfalls hexadezimal numeriert. Meistens ist ein Speicherbaustein natürlich wesentlich größer, aber das in Fig. 1 gegebene Beispiel ist für die Erläuterung der Erfindung ausreichend. Ferner enthält der in Fig. 1 abgebildete Chip vier redundante Wortleitungen 14 und zwei redundante Bitleitungen 16. An jedem Schnittpunkt einer Wortleitung 12 oder 14 und einer Bitleitung 10 oder 16 befindet sich ein Speicherelement.
  • In den letzten Stufen der Herstellung eines Speicherbausteins prüft ein Prüfprogramm jedes der 400 Speicherelemente an den Schnittpunkten der Original-Bit- und -Wortleitungen 10 und 12 und speichert die Prüfergebnisse in einer Bitfehlermap. Der Einfachheit halber wird ein Muster einer Bitfehlermap auf Fig. l aufgelegt, um eine Konfiguration von fehlerhaften Bits 18 in Verbindung mit den Original-Bit- und -Wortleitungen 10 und 12 aufzuzeigen. Die Redundanz hat den Zweck, entweder die Bitleitung 10 oder die Wortleitung 12 in Verbindung mit jedem fehlerhaften Bit 18 zu ersetzen. Der Austausch erfolgt mit den redundanten Bitleitungen 16 und den redundanten Wortleitungen 14. Jedoch kann sich die Entscheidung, ob für ein bestimmtes fehlerhaftes Bit 18 eine redundante Bitleitung 16 oder eine redundante Wortleitung 14 verwendet werden soll, als schwierig erweisen. Es gibt 5 Wortleitungen 12, wobei jede 2 Defekte aufweist, und 1 Wortleitung, die einen Defekt aufweist. Mehrere einfache, aber angemessene Algorithmen können die in Fig. 1 aufgezeigten Bitfehler mit den vier redundanten Wortleitungen 14 und den beiden redundanten Bitleitungen 16 nicht beheben. Wenn der Auswahlalgorithmus aus den 5 Wortleitungen, die 2 Defekte aufweisen, vier beliebige als zu reparierende Wortleitungen auswählt, erweist sich diese Einrichtung als unbrauchbar, da die beiden redundanten Bitleitungen 16 die verbleibenden Ausfälle nicht beheben können. Es gibt lediglich zwei Kombinationen von Ersatzzuordnungen, mit denen die Bitfehler von Fig. 1 behoben werden können. Bei der ersten Kombination werden die Wortleitungen 12, die mit 6, 8, A und B numeriert sind, durch die vier redundanten Wortleitungen 14 ersetzt, und die Bitleitungen 10, die mit 4 und 6 numeriert sind, werden durch die beiden redundanten Bitleitungen 16 ersetzt. Bei der zweiten Kombination werden die mit 7, 8, 9 und B numerierten Wortleitungen und die mit 3 und 7 numerierten Bitleitungen ersetzt. Eine andere Kombination funktioniert nicht.
  • Somit besteht die Schwierigkeit darin, ein Verfahren zu entwikkeln, das die richtige Kombination von redundanten Zeilen und Spalten, beziehungsweise Bit- und Wortleitungen' im Falle eines Speicherbausteins, auswählt, mit der die fehlerhaften Elemente oder Bits korrigiert werden können, sofern eine solche Korrektur möglich ist. Das Verfahren muß einer verallgemeinerten Anordnung von fehlerhaften Bits 18 innerhalb der Originalmatrix Rechnung tragen.
  • Es gibt mehrere im Handel erhältliche Rendundanzalgorithmen, entweder in Hardware- oder Softwareausführung. Es gibt zwei Hardwareausführungen, den Memory Repair Analyzer von Teradyne, Inc. mit Sitz in Woodland Hills, Californien, und den High Speed Redundancy Processor von Eaton Corp., ebenfalls mit Sitz in Woodland Hills, Californien, sowie fünf Softwareausführungen von Fairchild Camera and Instrument Corp. mit Sitz in Simi Valley, Californien, von Pacific Western Systems, Inc. mit Sitz in Mountain View, Californien, von Megatest Corp. mit Sitz in San Jose, Californien, von Tektronix, Inc. mit Sitz in Portland, Oregon, sowie das Failed Image Processing System von Accutest Corp. mit Sitz in Chelmsford, Massachusetts.
  • Beispiele für diesen Stand der Technik sind nachstehende Patentschriften und Veröffentlichungen: - US-Patentschrift 4 460 997 (Harns) mit dem Titel "Memory tester having memory repair analysis capacity". - J.R. Day: "A fault-driven, comprehensive redundancy algorithm for repair of dynamic RAMs"; Proceed. 1984 International Test Conference (Philadelphia, 16.-18. Okt. 1984), Seiten 287-293; IEEE, New York (USA).
  • - G.P. Bosse: "High speed redundancy processor"; Proceed. 1984 International Test Conference (Philadelphia, 16.-18. Okt. 1984), Seiten 282-286; IEEE, New York (USA). - R.C. Evans: "Testing repairable RAMs and mostly good memories"; Digest of Papers, 1981 International Test Conference (Philadelphia, 27.-29. Okt. 1981), Seiten 49-55; IEEE, New York (USA).
  • Außerdem haben Hayasaka u. a. ein System wie auch einen Algorithmus zur Reparatur einer zweidimensionalen redundanten Matrix in einem Fachartikel mit dem Titel "Testing System for Redundant Memory" beschrieben, der in der 1982 IEEE Test Conference auf den Seiten 240-243 erschien. Ein interessanter Aspekt dieses Aufsatzes ist der, daß sie irreparable Zustände bei der Anordnung der Ausfälle feststellen, bevor sie versuchen, den Chip zu reparieren.
  • Im allgemeinen ist es eine Aufgabe dieser Erfindung, ein Verfahren und eine Vorrichtung vorzusehen, um in einer zweidimensionalen Matrix, die fehlerhafte Elemente aufweist, Ersatzzeilen und -spalten zuzuordnen, um Ausfälle zu beheben, die an den Schnittstellen der Originalzeilen und -spalten angezeigt werden.
  • Im besonderen ist es eine Aufgabe der Erfindung, ein Verfahren zu entwickeln, um in einer Matrix, die fehlerhafte Elemente aufweist, Ersatzzeilen und -spalten zuzuordnen, wobei dieses Verfahren nach einer ersten Entscheidung "REPARATUR ERFORDERLICH" bei Leitungen, die sowieso ersetzt werden müssen, in einer zweiten Stufe auf effiziente Weise weitere Ersatzleitungen auswählt, um verbleibende Ausfälle zu beheben. Diese weitere Auswahl sollte eine gleichzeitige Speicherung von zahlreichen parallelen versuchsweisen Lösungen überflüssig machen und eine relativ einfache, aber wirksame Vorgehensweise ermöglichen, um ein endgültiges Ersetzungsmuster zu finden.
  • Dieses Verfahren, das als der wesentliche Gegenstand der Erfindung betrachtet wird, ist in Anspruch 1 genau erläutert.
  • In der zweiten Verfahrensstufe wird eine bestimmte Kombination von Leitungen in einer vorab ausgewählten Richtung für einen versuchsweisen Austausch ausgewählt, infolgedessen ein Teil der verbleibenden Ausfälle behoben wird, und anschließend wird dazu übergegangen, die endgültigen Austauschmöglichkeiten zu finden. Falls der Lösungsweg mit dieser Kombination noch nicht erfolgreich ist, wird die zweite Stufe mit einer anderen Kombination von Leitungen in der vorab ausgewählten Richtung erneut durchgeführt, und so weiter, bis alle möglichen Kombinationen (mit einer verschiedenen Anzahl an Leitungen) als Anfangsauswahl für die zweite Stufe realisiert wurden. Somit beruht der weitere Ablauf immer auf einer ausgewählten (gesperrten) Kombination von Ersatzleitungen in einer vorab ausgewählten Richtung.
  • Fig. 1 illustriert ein in zwei Richtungen redundantes Speicherfeld und eine Bitfehlermap.
  • Fig. 2 und 3 repräsentieren ein Ablaufdiagramm für eine erste Ausführung der Erfindung.
  • Fig. 4, 5 und 6 zeigen verkleinerte Bitfehlermaps für die Ausführung des Algorithmus von Fig. 2 und 3.
  • Fig. 7 ist ein Blockdiagramm, das ein Ausführungsbeispiel einer Vorrichtung zur Steuerung des Ablaufs von Fig. 2 und 3 zeigt.
  • Fig. 8 und 9 ist ein Ablaufdiagramm für ein zweites Ausführungsbeispiel der Erfindung.
  • Fig. 10 ist ein Beispiel einer schwachbesetzten Matrix mit der Höchstzahl an Ausfällen.
  • Fig. 11 ist ein weiteres Beispiel einer Bitfehlermap.
  • Fig. 12 veranschaulicht den Aufbau einer von der Erfindung erstellten Reparaturtabelle.
  • Fig. 13 ist ein Blockdiagramm' das ein Ausführungsbeispiel einer Vorrichtung zur Steuerung des Ablaufs von Fig. 8 und 9 zeigt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGEN
  • Einer der zentralen Gedanken dieser Erfindung ist der einer zu reparierenden Zeile oder Spalte. Es ist einfach, einige Bedingungen festzulegen, unter denen eine Wort- oder Bitleitung ersetzt oder repariert werden muß. Im Falle eines Speicherbauelements, das M redundante Zeilen und N redundante Spalten aufweist, handelt es sich bei einer Zeile dann um eine zu reparierende Zeile, wenn sie mehr als N Ausfälle aufweist. Mit dem Austausch der Zeile werden alle Ausfälle in dieser Zeile behoben, während die Anzahl der Spalten nicht ausreicht, um mehr als N Ausfälle in dieser Zeile zu beheben. Ebenso handelt es sich bei einer Spalte dann um eine zu reparierende Spalte, wenn sie mehr als M Ausfälle aufweist. Dieser Gedanke läßt sich nicht so einfach umsetzen, da die Analyse sequentiell in zwei Richtungen durchgeführt werden muß. Außerdem wird durch den Austausch einer Spalte sowohl die Anzahl der verfügbaren redundanten Spalten verringert als auch die Zahl der Ausfälle beeinflußt, die durch den Austausch einer Zeile behoben werden müssen. In dem Teil des Reparatur-Analyseverfahrens, der sich mit den Leitungen befaßt, die repariert werden müssen, werden zu reparierende Leitungen lokalisiert, indem die Bitfehlermap abgetastet wird. Die Abtastung erfolgt dadurch, daß eine Achse als Abtastachse und die andere Achse als Schrittachse bestimmt wird. Um beispielsweise festzustellen, welche Zeilen repariert werden müssen, wird die Spaltendimension als Abtastachse bestimmt, und die Zeilen stellen sich dann in Form der Schrittachse dar. Die Logik arbeitet sich durch jede Spaltenadresse entlang einer Zeile und zählt die Ausfälle. Wenn die Zahl der Ausfälle größer ist als die Anzahl der verfügbaren redundanten Spalten, wird die Zeile mit der betreffenden Adresse als eine zu reparierende Zeile vermerkt und im Reparatur-RAM gespeichert. Ein Zähler, der die Anzahl der Ersatzzeilen festhält, wird dann erniedrigt, um anzuzeigen, daß eine redundante Zeile weniger verfügbar ist.
  • In einer ersten Ausführung der Erfindung erfolgt eine Abtastung entlang einer Achse mit einem Abtastgrenzwert, der anfangs auf den "Reparatur erforderlich" -Grenzwert der Anzahl der verfügbaren Leitungen in der senkrecht verlaufenden Richtung gesetzt wird. Wenn es keine Leitungen gibt, die dem Kriterium "Reparatur erforderlich" entsprechen, wird der Abtastgrenzwert um eins reduziert, und der Vorgang wird wiederholt. Der gesamte Vorgang wird durch das Ablaufdiagramm von Fig. 2 für die Abtastung der Bitleitungen und von Fig. 3 für die Abtastung der Wortleitungen veranschaulicht. Seine Funktionsweise wird am Beispiel der Bitfehlermap von Fig. 1 erläutert. Der einfacheren Veranschaulichung halber wird jedoch nur der Teil der Bitmap von Fig. 1, der ungleich Null ist, in Fig. 4 wiedergegeben.
  • Im Anschluß an die Kompilierung der Bitfehlermap wird in Schritt 20 mit der Abtastung der Bitleitungen begonnen, und zwar werden die Bitleitungen 10 in Abwärtsrichtung abgetastet. In Schritt 22 wird die nächste Wortleitung 12 der Bitleitungen 0 bis 13 geprüft, und die Ausfälle in dieser Wortleitung werden gezählt. In einem Test 24 wird die Zahl der Ausfälle mit einem Bitabtastgrenzwert verglichen. Anfangs wird der Bitabtastgrenzwert auf die Anzahl der redundanten Bitleitungen gesetzt, 2 im vorliegenden Beispiel. Wenn die Zahl der Ausfälle größer ist als der Bitabtastgrenzwert, wurde ein Defekt festgestellt. Im vorliegenden Beispiel ist der Bitabtastgrenzwert anfänglich 2. Nur solche Wortleitungen, die mehr als zwei Ausfälle aufweisen, werden als defekte Wortleitungen erkannt. Wird kein Defekt festgestellt, wird in einem Test 26 ermittelt, ob alle Wortleitungen geprüft wurden. Wenn dies nicht der Fall ist, wird zur nächsten Wortleitung übergegangen. Nach erfolgter Abtastung 26 der Bitleitungen wird ein Test 28 durchgeführt, um festzustellen, ob die Zahl der Ausfälle in den Wortleitungen den Bitabtastgrenzwert übersteigt. Wenn dies nicht der Fall ist, wird in einem Test 30 festgestellt, ob sowohl der Bitabtastgrenzwert als auch ein Wortabtastgrenzwert - nachstehend erläutert - gleich Null sind. Wenn ja, wird der Speicherbaustein als zumindest reparabel vermerkt. Wenn beide Abtastgrenzwerte nicht gleich Null sind, wird der Bitabtastgrenzwert in Schritt 32 um eins reduziert, und der Vorgang wird mit dem reduzierten Bitabtastgrenzwert wiederholt.
  • Wenn im Test 24 in der aktuellen Wortleitung ein Defekt festgestellt wurde (die Zahl der Ausfälle ist größer als der Bitabtastgrenzwert), wie er bei der zweiten Abtastung der Wortleitung Nummer 6 bei einem Bitabtastgrenzwert = 1 auftreten würde, dann wird in einem Test 34 festgestellt, ob sowohl ein Bitreparatur- Flag als auch ein Wortreparatur-Flag aktiviert sind. Diese Flags werden nachstehend beschrieben, werden anfangs jedoch in den Zustand "aus" zurückgesetzt. Da die Flags noch nicht gesetzt wurden, wird anschließend ein Test 36 durchgeführt, um festzustellen, ob redundante Wortleitungen verfügbar sind, um die defekte Wortleitung zu ersetzen. Dieser Test 36 wird durchgeführt, indem ein Register, das die Anzahl der nicht ausgewählten redundanten Wortleitungen enthält, abgefragt wird. Was die Abtastung der Wortleitung Nummer 6 angeht, sind redundante Wortleitungen verfügbar, so daß die Wortleitung in Schritt 38 versuchsweise gespeichert und das zugehörige Register erhöht wird. Dieses zugehörige Register würde im Anlaufschritt 20 mit Null initialisiert. Anschließend wird ein Test 40 durchgeführt, um festzustellen, ob beide Abtastgrenzwerte Null sind. Ist dies nicht der Fall, werden die Bitleitungen weiter abgetastet.
  • Im vorliegenden Beispiel würden so die Wortleitungen Nummer 6, 7, 9 und A versuchsweise gespeichert. Die Wortleitung Nummer 8, obwohl sie einen Ausfall aufweist, wird im Test 24 nicht als defekte Leitung betrachtet, wenn der Bitabtastgrenzwert gleich eins ist. Ein Defekt wird in der Wortleitung Nummer B festgestellt, aber bei diesem festgestellten Defekt weist der Test 36 ein negatives Ergebnis aus, da die vier verfügbaren redundanten Wortleitungen bereits benutzt wurden. Ein Test 42 wird dann durchgeführt, um festzustellen, ob unbenutzte redundante Bitleitungen verfügbar sind, wie sich durch Überprüfen eines Registers, das die Anzahl der nicht ausgewählten redundanten Bitleitungen enthält, feststellen läßt. Wenn keine verfügbar sind, gibt es keine Möglichkeit, den Speicherbaustein zu reparieren; er wird deshalb als Ausschuß vermerkt, und der Vorgang wird für diesen Chip beendet. Wenn redundante Bitleitungen verfügbar sind, wird in einem Test 44 geprüft, ob beide Abtastgrenzwerte Null sind. Ist dies nicht der Fall, wird das Wortreparatur-Flag in Schritt 46 gesetzt, wie es in diesem Beispiel der Fall wäre. In jedem Fall wird die Abtastung der Bitleitungen dann beendet, und es wird mit der Abtastung der Wortleitungen begonnen, wie in Fig. 3 dargestellt. Es ist zu beachten, daß die versuchsweise Speicherung der Wortleitungen Nummer 6, 7, 9 und A in Schritt 38 niemals endgültig erfolgen kann, da die Anzahl der redundanten Wortleitungen nicht ausreicht, um alle ähnlichen Defekte zu beheben. Zu diesem Zeitpunkt, in Schritt 47, werden die Reparaturdaten für die Wortleitungen 6, 7, 9 und A gelöscht, da der Versuch keine mögliche Reparatur ergab.
  • Die Abtastung der Wortleitungen von Fig. 3 entspricht voll und ganz der Abtastung der Bitleitungen von Fig. 2, wobei die Bitleitungen unverkennbar gegen Wortleitungen ausgetauscht wurden. Der Wortabtastgrenzwert wird anfangs auf 4 gesetzt, der Anzahl der redundanten Wortleitungen. Es werden keine Defekte festgestellt, bis der Wortabtastgrenzwert auf 1 erniedrigt wird. Beim Feststellen des dritten Defekts, nämlich bei der Bitleitung Nummer 6, verläuft ein Test 50, bei dem ermittelt werden soll, ob redundante Bitleitungen verfügbar sind, negativ. Jedoch verläuft ein Test 52 zur Ermittlung von verfügbaren redundanten Wortleitungen positiv, da bei der Abtastung der Bitleitungen keine ausgewählt - und nicht nur versuchsweise gespeichert - worden ist. Folglich wird in Schritt 54 auch das Bitreparatur-Flag gesetzt, so daß jetzt beide Flags gesetzt sind. Diese Stufe der Abtastung der Wortleitungen wird dann abgeschlossen, und es wird erneut mit der Abtastung der Bitleitungen begonnen, mit der Ausnahme, daß die aktuellen Abtastgrenzwerte beibehalten werden.
  • Wenn der Bitabtastgrenzwert auf 1 gesetzt ist, wird ein Defekt in der Wortleitung Nummer 6 festgestellt. Der Test 34 für beide Reparatur-Flags, die aktiviert sind, verläuft jetzt positiv, und die fehlerhafte Wortleitung wird in Schritt 56 ausgewählt. Eine Wortleitung wird ausgewählt, indem ihre Adresse in einem RAM für die Auswahl von Wortleitungen gespeichert wird. Zeitgleich mit der Auswahl der Wortleitung wird die Bitfehlermap aktualisiert, indem alle Ausfälle entlang der ausgewählten Wortleitung behoben werden, wie aus der Bitfehlermaß von Fig. 5 hervorgeht. Auch wird das Register für nicht ausgewählte redundante Wortleitungen um eins erniedrigt. Dann werden in Schritt 58 beide Reparatur- Flags zurückgesetzt, und diese Ausführungsstufe der Abtastung der Bitleitungen wird beendet.
  • Wenn wieder mit der Abtastung der Wortleitungen begonnen wird, haben beide Abtastgrenzwerte den Wert 1. Die beiden Bitleitungen mit der Nummer 4 und 6 werden in einem Test 60 bei dem Wortabtastgrenzwert von 1 als fehlerhaft ermittelt. Keines der Reparatur-Flags ist aktiviert, so daß ein Reparatur-Flag-Test 62 negativ verläuft, aber Test 50 ergibt, daß die Anzahl der verfügbaren redundanten Bitleitungen ausreichend ist, so daß beide Bitleitungen in Schritt 64 versuchsweise gespeichert werden. Keine andere Bitleitung wird bei diesem Bitabtastgrenzwert als fehlerhaft ermittelt, so daß die Abtastung der Wortleitungen in Schritt 66 beendet wird. Das Register für nicht ausgewählte redundante Bitleitungen wird um zwei erniedrigt, und die Bitfehlermap wird aktualisiert, wie in Fig. 6 abgebildet.
  • An dieser Stelle des Beispiels enthält das Register für die nicht ausgewählten redundanten Bitleitungen einen Wert Null, während das Register für die nicht ausgewählten redundanten Wortleitungen einen Wert Drei enthält. Ein Test 70 wird durchgeführt, um festzustellen, ob bei dieser Abtastung der Wortleitungen eine Fehleranzeige durch den Abtastgrenzwerttest 60 gesetzt wurde. Im vorliegenden Beispiel wurde sie gesetzt, so daß die Abtastgrenzwerte sowohl für die Wort- als auch die Bitleitung in Schritt 72 auf Null gesetzt werden, was auf dem Nullwert im Register für die nicht ausgewählten redundanten Bitleitungen basiert. Diese Einstellung wird deshalb vorgenommen, da aufgrund dessen, daß keine redundanten Bit-leitungen mehr verfügbar sind, mit der nächsten Abtastung der Bitleitungen alle verbleibenden Ausfälle behoben werden müssen. Es wird dann erneut mit der Abtastung der Bitleitungen begonnen.
  • Bei dieser letzten Abtastung der Bitleitungen wird festgestellt, daß die Wortleitungen Nummer 8, A und B fehlerhaft sind, Test 36 jedoch ergibt, daß für diese Wortleitungen redundante Wortleitungen verfügbar sind, so daß sie versuchsweise' gespeichert werden. Bei dieser letzten Abtastung verläuft der Abtastgrenzwerttest 40 positiv, so daß die in der Fehlerprüfung 24 gesetzte Fehleranzeige in Schritt 74 jedesmal zurückgesetzt wird. Es werden keine anderen fehlerhaften Wortleitungen festgestellt, so daß die Abtastung im Test 26 beendet wird. An dieser Stelle sind nun alle Ausfälle behoben. Dann verläuft der Test 28 negativ, weil die Fehleranzeige in Schritt 74 zurückgesetzt wurde. Beide Abtastgrenzwerte haben den Wert Null, so daß der Abtastgrenzwerttest 30 positiv verläuft und der Speicherbaustein als reparabel vermerkt wird. Damit ist der Vorgang für einen Chip beendet. Die zu reparierenden Wort- und Bitleitungen wurden im Auswahlverfahren beziehungsweise im Wort- und Bitleitungsspeicher (Reparaturauswahl-RAMs) gespeichert und wurden nicht gelöscht.
  • Es ist verständlich, daß die Zuordnung der Redundanz in mehrere Stufen unterteilt wird. In späteren Stufen werden die Abtastgrenzwerte von den Ausgangswerten der ersten Stufe ausgehend entsprechend der Anzahl der senkrecht verlaufenden redundanten Leitungen verringert. In jeder Stufe erfolgt eine Abtastung, um festzustellen, ob alle Ausfälle, die den Abtastgrenzwert überschreiten, mit den verfügbaren redundanten Leitungen behoben werden können. Wenn dies nicht möglich ist, erfolgt eine ähnliche Abtastung in der senkrecht verlaufenden Richtung. Wenn auch dieser Versuch scheitert, wird eine fehlerhafte Leitung durch eine redundante Leitung ersetzt, und der vorstehend beschriebene Ablauf wird dergestalt wiederholt, daß senkrecht verlaufende Leitungen abwechselnd ersetzt werden, wenn nicht alle Leitungen, die Ausfälle aufweisen, welche wiederum den aktuellen Abtastgrenzwert überschreiten, durch verfügbare redundante Leitungen ersetzt werden können. Immer wenn diese letzte Bedingung erfüllt ist, werden die Leitungen ersetzt, und der zugehörige Abtastgrenzwert wird erniedrigt.
  • Ein Blockdiagramm der Hardware, die die Umsetzung des vorstehend beschriebenen Verfahrens ermöglicht, ist in Fig. 7 dargestellt. Die Bitfehlermap wird in einem Abbildungs-RAM (Speicher mit wahlfreiem Zugriff) 80 gespeichert. Wenn der Speicherbaustein getestet wird, werden die Produktdaten über einen Dateneingang dem Abbildungs-RAM 80 zugeführt, während die Adresse des Speicherbausteins einer Adressenauswahleinheit 82 zugeführt wird, die die Adresse des Speicherbausteins in die richtige Adresse im Abbildungs-RAM 80 umsetzt. Die Adresse des Speicherbausteins wird auch einer Gruppe von Grenzregistern 84 zugeführt, die ein Fehlersignal von dem Prüfgerät empfängt. Die Grenzregister 84 dienen dazu, obere und untere Grenzen sowohl in den Zeilen als auch den Spalten festzulegen, innerhalb derer alle Ausfälle vorkommen. Dadurch ist es nicht erforderlich, Elemente des Speicherplans abzutasten, von denen man von vornherein weiß, daß sie keine Ausfälle aufweisen. Dadurch kann der Speicherplan von Fig. 1 auf die Größe der Speicherpläne von Fig. 4, 5 und 6 komprimiert werden. Zwei Adressenzähler 86 bestehen aus zwei getrennt gesteuerten Wortleitungs- und Bitleitungszählern, die je nach Bedarf von einer Redundanzalgorithmuslogik 88 zurückgesetzt, erhöht oder erniedrigt werden. Die Ausgabewerte der Adressenzähler 86 werden in einem Relativzeigergenerator 90 versetzt, in dem die Relativzeiger durch die unteren, in den Grenzregistern 84 festgelegten Grenzen bestimmt werden, um eine effektive Adresse zu erzeugen. Diese effektive Adresse wird von der Adressenauswahleinheit 82 modifiziert, damit sie im Abbildungs-RAM 80 verwendet werden kann, und sie wird, je nach Bedarf, von der Redundanzalgorithmuslogik 88 sowie den Reparaturauswahl-RAMs 92 benutzt, die die Adressen der Wort- und Bitleitungen enthalten, die durch redundante Leitungen ersetzt werden sollten.
  • Die Bitfehlermap im Abbildungs-RAM 80 wird die Datenquelle für die Redundanzalgorithmuslogik 88. Daten, die in der Bitfehlermap enthalten sind, werden während der Ausführung des Redundanzalgorithmus nicht zerstört und stehen zur weiteren Verarbeitung zur Verfügung. Die im Verfahren beschriebene Aktualisierung der Bitfehlermap erfolgt nach dem Zugriff auf das Abbildungs-RAM 80 durch andere dynamische Einrichtungen.
  • Die vom Abbildungs-RAM 80 ausgegebenen Werte für die Bitfehlermap werden an eine Datenbitauswahleinheit 94 gesendet, die jeweils eines der Datenbits an die Redundanzalgorithmuslogik 88 zur Verarbeitung weiterleitet. Dieses eine Datenbit bezieht sich auf einen von mehrfach ausgegebenen Binärwerten von einem Chip. Die Redundanzalgorithmuslogik 88 kann nur jeweils eine der Mehrfachausgaben auf einmal verarbeiten. Sobald die Reparaturauswahl für die Wort- und Bitleitungen erfolgt ist und eine Entscheidung dahingehend getroffen wurde, ob eine Reparatur oder eine Ausmusterung erfolgen soll, wird die nächste Mehrfach-Datenausgabe ausgewählt. Jedoch führt die Datenbitauswahleinheit 94 eine bitäquivalente Spalte oder Zeile, wie von den Grenzregistern eingestellt, einem Abtastfehlerdetektor 96 zu. Der Abtastfehlerdetektor 96 tastet die ihm zugeführte Zeile oder Spalte ab und zählt die Ausfälle, die der Anzahl der gesetzten Elemente in dieser Zeile oder Spalte des Speicherfehlerplans entspräche, und vergleicht das Zählergebnis mit dem entsprechenden Abtastgrenzwert, der gegenwärtig in den Abtastgrenzwertregistern 98 gespeichert ist. Wenn die Zahl der Ausfälle über dem Abtastgrenzwert liegt, wird ein Fehlersignal an die Redundanzalgorithmuslogik 88 gesendet.
  • Es ist zu beachten, daß eine Parallelverarbeitung bei Speicherbausteinen mit mehrfachen Ausgaben dadurch erreicht werden könnte, daß der Abtastfehlerdetektor 96, die Redundanzalgorithmuslogik 88 und die Abtastgrenzwertregister 98 vervielfältigt würden. Bei einem Speicherbaustein jedoch, der gemeinsame redundante Leitungen für alle Datenbits enthält, ist nur ein Datendurchlauf erforderlich, da dieselben Ergebnisse für alle Mehrfachausgaben gelten. Das heißt, die Bitfehlermap wäre die Summe aller Bitfehler bei den mehrfachen Ausgaben.
  • Die Abtastgrenzwertregister 98 werden von der Redundanzalgorithmuslogik 88 aktualisiert, die auch den in Fig. 2 und 3 aufgezeigten Algorithmus ausführt; eine Ausnahme bildet hier die Innenabtastung. Der Redundanzalgorithmus 88 sieht auch die Steuer- und Entscheidungsfunktionen für die Unterstützungslogik vor. Die Ausgabe der Redundanzalgorithmuslogik 88 besteht aus einer Wort- und Bitleitungs- Reparaturauswahl, die in die Reparaturauswahl-RAMs 92 eingegeben wird. Wenn mehrfach ausgegebene Binärwerte getrennt verarbeitet werden, sorgt eine Bitauswahleinheit 100 für die umgekehrte Operation der Datenbitauswahleinheit 94. Die Reparaturauswahl-RAMs 92 speichern die Reparaturauswahldaten für die Wort- und Bitleitungen. Im Falle von separaten redundanten Leitungen für jede einzelne der Mehrfachausgaben werden eindeutige Daten für jede einzelne Ausgabe gespeichert. Die Redundanzalgorithmuslogik 88 setzt auch ein Register 102 mit den Zuständen REPARIEREN/AUSMUSTERN, das in den Zustand "Ausmustern" gesetzt werden kann, nachdem die Reparaturauswahl-- RAMs 92 teilweise gefüllt sind. Sobald festgestellt wurde, daß ein Speicherbaustein reparabel ist, wird der Inhalt der Reparaturauswahl-RAMs 92 verwendet, um die Verbindungen auf dem Speicherbaustein aufzuschmelzen.
  • Das vorstehend beschriebene Verfahren kann bei der Reparatur eines Speicherbausteins mit redundanten Leitungen wirkungsvoll angewendet werden. Jedoch ist der Abtastvorgang bei einem großen Chip zeitraubend und muß in dem beschriebenen Algorithmus oft wiederholt werden. Daher kann der Algorithmus zeitraubend sein, was bei der Qualitätssicherung ungünstig ist. Dementsprechend wurde die Erfindung modifiziert, um weitere Verarbeitungsschritte zu integrieren, mit deren Hilfe der Abtastvorgang minimiert und früh erkannt werden kann, wenn sich ein Chip nicht reparieren läßt.
  • Der Algorithmus ist in den Fig. 8 und 9 dargestellt. An dieser Stelle werden einige Begriffe eingeführt. Die zu reparierende Matrix hat m Originalzeilen und n Originalspalten. Es gibt M redundante Zeilen und N redundante Spalten. Wenn bereits einige der redundanten Zeilen oder Spalten benutzt wurden, steht Px für die Anzahl der verbleibenden redundanten Zeilen und Qy für die Anzahl der verbleibenden redundanten Spalten. Die Zahl der Ausfälle in der i-ten Zeile wird mit xi angegeben und die Zahl der Ausfälle in der j-ten Spalte mit cj. Sehen wir den Speicherplan als eine Matrix B aus m Zeilen und n Spalten an. Jeder Ausfall wird durch eine 1 angezeigt, das heißt bij = 1. Ansonsten gilt bij = 0.
  • Der Algorithmus beginnt mit der Berechnung der Gesamtzahl TF der Ausfälle in Schritt 102. Die Summe kann während der Prüfung der Vorrichtung errechnet werden, indem alle Zeilen nach der Zahl der Ausfälle xi abgetastet werden und dann xi aller Zeilen summiert wird. Dasselbe Ergebnis erhält man, indem die Spalten nach der Summe der Ausfälle der Gruppe [cj] abgetastet werden. Die Höchstzahl an Ausfällen, die durch die M redundanten Zeilen und die N redundanten Spalten behoben werden können, kommt in dem extremen Fall vor, wenn alle n Ausfälle in jeder der M ersetzten Zeilen und alle m Ausfälle in jeder der N ersetzten Spalten erneut auftreten. Somit werden nM Ausfälle durch die M redundanten Zeilen und mN Ausfälle durch die N redundanten Spalten behoben. Jedoch sollten die MN Speicherplätze an den Schnittpunkten der ersetzten Zeilen und Spalten nur einmal gezählt werden. Folglich gilt für die Höchstzahl an Ausfällen, die behoben werden können
  • TR = mN + nM - MN. (1)
  • Dementsprechend wird ein Test 104 durchgeführt, um festzustellen, ob es eine Überzahl an Ausfällen gemäß Gleichung (1) gibt, das heißt, ob TF≤TR. Wenn der Test 104 eine Überzahl an Ausfällen ergibt, kann der Speicherbaustein sofort als irreparabel gekennzeichnet werden.
  • Wenn es jedoch keine Überzahl an Ausfällen gibt, ist immer noch nicht gewährleistet, daß der Chip reparabel ist, da die Anordnung der Ausfälle innerhalb des Chips nicht berücksichtigt wurde. Als nächstes werden die Spalten und Zeilen, die repariert werden müssen, in Schritt 106 ersetzt. Der Gedanke, der den zu reparierenden Spalten und Zeilen zugrunde liegt, wurde bereits erläutert. Jedoch werden die Kriterien für zu reparierende Zeilen und Spalten gegen die jeweils verbleibende Anzahl Px und Qy abgewägt. Eine Zeile muß repariert werden, wenn xi> Qy, und eine Spalte muß repariert werden, wenn cj> Rx. Der Wert dieser Variablen Px und Qy verändert sich, wenn redundante Zeilen und Spalten benutzt werden. Jedesmal, wenn eine Zeile als eine zu reparierende Zeile angegeben wird, wird die Anzahl Px der verbleibenden redundanten Zeilen erniedrigt, und der Test zur Feststellung von erforderlichen Reparaturen muß für die Spalten erneut durchgeführt werden. Natürlich verhält es sich ähnlich, wenn sich die Anzahl Qy der verbleibenden redundanten Spalten ändert.
  • Die Abtastung zur Feststellung von erforderlichen Reparaturen erfolgt dadurch, daß eine Achse als die Abtastachse und die senkrechte Achse als die Schrittachse bestimmt wird. Um beispielsweise die Zeilen, die repariert werden müssen, zu lokalisieren, wird die Spaltendimension als Abtastachse bestimmt, und die Zeilen stellen sich dann in Form der Schrittachse dar. Die Logik arbeitet sich durch jede Spaltenadresse entlang einer Zeile und zählt die Ausfälle. Wenn die gezählten Ausfälle die Anzahl der verfügbaren redundanten Spalten übersteigen, wird die Zeile mit der betreffenden Adresse als eine zu reparierende Zeile vermerkt und in einem Reparatur-RAM gespeichert. Ein Zähler, der die Anzahl der Ersatzzeilen festhält, wird dann erniedrigt, um anzuzeigen, daß eine redundante Zeile weniger verfügbar ist. Nachdem alle Zeilen abgetastet wurden, wird die Funktion der Achsen umgekehrt, und die Spalten werden abgetastet.
  • Jedesmal, wenn eine Zeile oder eine Spalte als eine zu reparierende Zeile oder Spalte bestimmt wird, muß die jeweilige Funktion der Achsen nach beendigter Lokalisierung aller zu reparierenden Zeilen in dieser Dimension umgekehrt werden, da die Verwendung einer Ersatzzeile oder Ersatzspalte das Kriterium für eine zu reparierende Leitung in der Gegenrichtung ändert.
  • Um die lange Abtastzeit zu verkürzen, werden zwei Masken-RAMs benutzt, ein Masken-RAM in Verbindung mit jeder Achse. Der Inhalt der Masken-RAMs zeigt an, ob die entsprechende Zeile oder Spalte einen Ausfall aufweist. Dadurch können solche Zeilen und Spalten, die keine Ausfälle aufweisen, während des Abtastvorgangs übersprungen werden. Der Inhalt dieser RAMs wird während des Vorgangs zur Feststellung von erforderlichen Reparaturen aktualisiert, um jedwede Änderungen aufgrund von Reparaturen anzuzeigen.
  • Ein Test 108 wird durchgeführt, um festzustellen, ob genügend redundante Zeilen und Spalten vorhanden sind, um die Zeilen und Spalten, die repariert werden müssen, zu ersetzen. Es geht bei diesem Test hauptsächlich darum, festzustellen, ob entweder Px oder Qy auf einen negativen Wert erniedrigt wurden. Wenn der Test 108 ergibt, daß nicht genügend redundante Zeilen oder Spalten vorhanden sind, kann der Chip sofort als irreparabel gekennzeichnet werden.
  • Wenn jedoch Px&ge;0 und Qy&ge;0, reicht die Anzahl der redundanten Zeilen und Spalten aus, um die zu reparierenden Zeilen und Spalten zu ersetzen. In diesem Fall wird eine schwachbesetzte Matrix A aus der Matrix B des Original-Speicherplans in Schritt 110 erzeugt. Jede Zeile, die in Schritt 106 ersetzt wurde, wird in der Matrix B mit Nullen aufgefüllt. Analog dazu wird auch jede ersetzte Spalte mit Nullen aufgefüllt. Dann wird jede Zeile, die nur Nullen aufweist, aus der Matrix B entfernt, das heißt, die Matrix B wird verkleinert. Ebenso wird auch jede Spalte entfernt, die nur Nullen aufweist. Die so modifizierte und verkleinerte Matrix B ist die schwachbesetzte Matrix A mit a Zeilen und b Spalten. Die schwachbesetzte Matrix A hat keine Zeile und auch keine Spalte, die ganz mit Nullen aufgefüllt ist. Da auch alle zu reparierenden Zeilen und Spalten aus der schwachbesetzten Matrix entfernt wurden, ist die Zahl der Ausfälle in jeder beliebigen Zeile oder Spalte nicht größer als die Anzahl der verbleibenden redundanten Spalten oder Zeilen in der X-Y-Richtung, Qy beziehungsweise Px Wenn die orthogonal verlaufenden Leitungen in der schwachbesetzten Matrix A abgetastet werden, um die Zahl der Ausfälle X'i in der i-ten Zeile der schwachbesetzten Matrix und die Zahl der Ausfälle Y'j in der j-ten Spalte zu ermitteln, dann- ist 0< x'i&le;Qy und 0< Y'j&le;Px.
  • Es gibt eine Höchstzahl TRR an Ausfällen, die mit der jeweiligen Anzahl Qx und Py verbleibender redundanter Zeilen und Spalten behoben werden können. Fig. 10 zeigt ein Beispiel einer solchen schwachbesetzten Matrix A, wobei die Höchstzahl TRR an Ausfällen bei Px = 2 für die Anzahl der verbleibenden redundanten Zeilen und bei Qy = 4 für die Anzahl der verbleibenden redundanten Spalten ist, und bei der die Anzahl der Zeilen a = 10 und die Anzahl der Spalten b = 12 beträgt. Jede der ersten beiden Zeilen weist die Höchstzahl Qy an Ausfällen auf, und jede der letzten vier Spalten weist die Höchstzahl Px an Ausfällen auf. Wenn irgendein Speicherplatz unten links einen Ausfall anzeigen würde, wäre es nicht möglich, ihn mit der verfügbaren Anzahl Px redundanter Zeilen und der verfügbaren Anzahl Qy redundanter Spalten zu beheben. Zur Verallgemeinerung der vorstehend beschriebenen Situation kann gesagt werden, daß mit jeder Anzahl Px redundanter Zeilen Qy Ausfälle behoben werden können, während mit jeder Anzahl Qy redundanter Spalten Px Ausfälle behoben werden können. Somit gilt für die Höchstzahl behebbarer Ausfälle in der schwachbesetzten Matrix A
  • TRR= 2PxQy (2).
  • Die Gesamtzahl Ts an Ausfällen kann festgestellt werden, indem die Menge der gezählten Zeilenabtastungen [xi] über die Zeilen a addiert wird, oder aber, indem die Menge der gezählten Spaltenabtastungen [cj] über die Zeilen b addiert wird. Anschließend wird ein Test 112 durchgeführt, um festzustellen, ob es in der schwachbesetzten Matrix A eine Überzahl an Ausfällen gibt, das heißt, ob Ts die Gleichung Ts&le;TRR oder
  • Ts&le;2PxQy (3)
  • nicht erfüllt.
  • Wenn der Test 112 ergibt, daß es eine Überzahl an Ausfällen gibt, wird der Chip als irreparabel gekennzeichnet. Andernfalls kann der Chip möglicherweise immer noch repariert werden.
  • Wenn wir uns noch einmal Fig. 10 ansehen, so wird deutlich, daß die Anzahl a der Zeilen in der schwachbesetzten Matrix A auf die Summe der Anzahl verfügbarer redundanter Spalten plus eins beschränkt ist, multipliziert mit der Anzahl verfügbarer redundanter Zeilen, also
  • a&le;(Qy+1)Px (4).
  • Analog dazu ist die Anzahl b der Spalten beschränkt auf
  • b (Px+1)Qy (5).
  • Die jeweilige Anzahl a und b kann gleichzeitig mit der Generierung der schwachbesetzten Matrix A generiert werden. Dann werden die beiden Gleichungen (4) und (5) in einem Test 114 angewendet, um festzustellen, ob die schwachbesetzte Matrix zu groß ist. Wenn ja, wird der Chip als irreparabel gekennzeichnet.
  • Es ist zu beachten, daß es möglich gewesen wäre, die verschiedenen Operationen und Tests an der schwachbesetzten Matrix A auch an der Matrix B des Speicherplans durchzuführen, und zwar indem man die Zeilen und Spalten, die ersetzt wurden, entsprechend maskiert hätte. Da auch viele Chips mit derselben Anzahl M und N an redundanten Leitungen nacheinander getestet werden, sind die Werte von Px und Qy begrenzt. Folglich können die Tests mit den Gleichungen (3), (4) und (5) durchgeführt werden, indem man mit den Werten Px und Qy adressierte Tabellen oder Matrizen erstellt und somit Rechenoperationen spart.
  • Wenn im Test 114 keine Überzahl an Ausfällen festgestellt wird, werden drei triviale Lösungen für den Austausch untersucht. Es kann sein, daß durch den Austausch der zu reparierenden Zeilen und Spalten alle Ausfälle behoben wurden, so daß es sich bei der schwachbesetzten Matrix A um eine Nullmatrix handelt. Diese vervollständigte Lösung wird mit der Bedingung
  • Ts= 0 (6)
  • ausgedrückt.
  • Ein Test 116, wie in Fig. 9 abgebildet, wird durchgeführt, um festzustellen, ob die Gleichung (6) erfüllt ist. Wenn ja, wurde der Chip bereits repariert.
  • Eine andere triviale Lösung stellt sich in Form der Situation dar, bei der die Anzahl Px verbleibender redundanter Zeilen ausreicht, um alle Ausfälle zu beheben. Diese Lösung würde die Anzahl a der Zeilen in der schwachbesetzten Matrix A wie folgt begrenzen:
  • a&le;Px (7).
  • Ein Test 118 wird durchgeführt, um festzustellen, ob die Gleichung (7) erfüllt ist, damit alle Ausfälle mit den redundanten Zeilen behoben werden können. Wenn die Gleichung erfüllt ist, werden alle Zeilen der schwachbesetzten Matrix A in Schritt 120 ersetzt, und der Chip ist vollständig repariert.
  • Bei der letzten trivialen Lösung geht es darum, festzustellen, ob alle Ausfälle mit den redundanten Spalten behoben werden können, was mit der Bedingung
  • b&le;Qy (8)
  • ausgedrückt wird.
  • Ein Test 122 wird durchgeführt, um festzustellen, ob die Gleichung (8) erfüllt ist. Wenn ja, werden alle Spalten der schwachbesetzten Matrix A in Schritt 124 ersetzt.
  • An dieser Stelle wird das vorläufige Testverfahren beendet. Es kann sein, daß der Chip als irreparabel gekennzeichnet wurde, oder es wurde eine triviale Lösung gefunden, und der Chip wurde repariert. Die zu reparierenden Zeilen und Spalten wurden gegen teilweise reparierte Chips ausgetauscht. Jedoch bleibt die schwierige Aufgabe, nicht triviale Lösungen zu finden, wenn dies erforderlich ist. Es ist natürlich möglich, daß ein Chip in keinem der vorstehenden Tests als irreparabel gekennzeichnet worden wäre, sondern daß keine Lösung möglich und der Chip irreparabel ist. Der für die erste Ausführung aufgezeigte Algorithmus könnte angepaßt werden, um die nicht trivialen Lösungen für das Ersetzen sowohl von Zeilen als auch Spalten zu finden. Es ist jedoch wahrscheinlich, daß viele der Zeilen und Spalten bereits ersetzt wurden. Außerdem wurden bereits viele der irreparablen Chips identifiziert, so daß es weniger wahrscheinlich ist, einen Chip hiernach als irreparabel zu identifizieren. Deshalb wird es als praktikabel erachtet, eingehend nach allen möglichen Kombinationen der verbleibenden redundanten Zeilen und Spalten zu suchen, um eine Kombination zu finden, mit der alle Ausfälle behoben werden können.
  • Die Zahl der Möglichkeiten, wie Px redundante Zeilen die a Zeilen in der schwachbesetzten Matrix A ersetzen können, wird mit der Formel für Binomialkoeffizienten angegeben:
  • Komb(a, Px) = a!/(Px!(a-Px)!). (9)
  • Analog dazu lautet die Formel für Spalten
  • Komb(b, Qy) = b!/(Qy!(b-Qy)!) (10)
  • Sobald beispielsweise eine Kombination von Zeilen zum Prüfen ausgewählt wurde, kann die Auswahl der Kombination von Spalten methodischer erfolgen, ohne zwangsläufig alle Kombinationen testen zu müssen. Folglich muß in Schritt 126 eine erste Wahl getroffen werden, und zwar dahingehend, ob eingehend nach den Zeilen oder den Spalten gesucht werden soll. Da die Binomial-Ausdrücke der Gleichungen (9) und (10) extrem hohe Werte ergeben können, wenn beide Parameter einen hohen Wert haben, wird die Wahl der Richtung, in der eine eingehende Suche' erfolgen soll, davon abhängig gemacht, welche der Gleichungen (9) und (10) einen geringeren Wert aufweist. Was das Beispiel der schwachbesetzten Matrix von Fig. 10 angeht, so gibt es 45 Suchkombinationen bei den Zeilen, aber 495 Suchkombinationen bei den Spalten. Daher würde man sich für die Suche nach Zeilen entscheiden.
  • Wenn eine eingehende Suche nach Zeilen gewählt wird, dann ist die Methode, nach der vorgegangen wird, um die Kombinationen der Ersatzzeilen und -spalten zu finden, wie nachstehend erläutert. In Schritt 128 wird eine Anzahl Px der a Zeilen der schwachbesetzten Matrix A durch Nullen ersetzt, das heißt, die a Zeilen werden mit Nullen aufgefüllt. Dann wird ausgewählt, welche Px Zeilen in einer geordneten, beliebigen Reihenfolge angeordnet würden. Nachdem die Ausfälle in den ausgewählten Zeilen mit Nullen aufgefüllt wurden, wird die schwachbesetzte Matrix entlang der Spalten abgetastet, um die Anzahl [c'j] aller Ausfälle entlang einer jeden Spalte festzustellen. Wenn eine Anzahl (b-Qy) oder der Großteil der Elemente von [c'j] den Wert Null hat, wie in Test 130 dargestellt, wurde-für die Werte von [c'j], die ungleich Null sind, eine Reparaturmöglichkeit gefunden. Das heißt, es gibt eine Höchstzahl Qy an Spalten mit einem Wert ungleich Null, die durch die verbleibenden redundanten Spalten ersetzt werden können, und der Chip wird durch den Schritt 132 repariert. Wenn der Spaltenabtasttest bei der gewählten Kombination von Ersatzzeilen negativ verläuft, wird ein Test 134 durchgeführt, um festzustellen, ob andere Kombinationen von Ersatzzeilen möglich sind, und eine andere Kombination von Ersatzzeilen wird ausprobiert. Wenn keine der Kombinationen mit der Anzahl Komb(a, Px) funktioniert, wird endgültig entschieden, daß der Chip irreparabel ist.
  • Die Methode, nach der bei der Suche nach Spalten vorgegangen wird, beruht auf den vorstehenden Schlußfolgerungen, doch erfolgt dabei eine Umkehr der Richtungen.
  • Der soeben beschriebene Algorithmus ist etwas funktional erläutert. Außerdem lohnt es in der praktischen Anwendung gegebenenfalls, ein paar der Tests und Vorgehensweisen zu vereinfachen. Ein praktischerer Algorithmus wird in bezug auf die Bitfehlermap von Fig. 11 dargelegt. Diese Figur zeigt auch die vier redundanten Wortleitungen und die beiden redundanten Bitleitungen, obwohl diese redundanten Leitungen genaugenommen kein Teil der Bitfehlermap sind. Bei der Analyse hinsichtlich erforderlicher Reparaturen werden zwei Masken-RAMs den Zeilen beziehungsweise Spalten zugeordnet, die angeben, welche Zeilen und Spalten keine Ausfälle aufweisen. Diese intakten Zeilen und Spalten werden nicht abgetastet. Zwei Zähler registrieren die jeweilige Anzahl Px und Qy verbleibender redundanter Leitungen. Zwei Gruppen 140 und 142 von Ausfällen werden mit redundanten Wortleitungen repariert, und eine Gruppe 144 wird mit einer redundanten Bitleitung repariert. Es sind genügend redundante Leitungen für diesen Austausch vorhanden. Dann wird eine Reparaturtabelle generiert, wie in Fig. 12 abgebildet. Bei der Reparaturtabelle und der schwachbesetzten Tabelle handelt es sich physisch um dieselbe Tabelle. Die schwachbesetzte Tabelle enthält nicht die Reparaturinformationen KX und KY, die für die Reparaturtabelle benötigt werden. Die Tabelle muß mit Nullen aufgefüllt werden, bevor Daten eingegeben werden. Am unteren Ende der Reparaturtabelle, in einem Bereich, in dem erforderliche Reparaturen vermerkt werden, werden die zu reparierenden Zeilen und Spalten eingegeben. Jede zu reparierende Spalte wird mit einer X-Information für ihre Spaltenadresse und einem Nullwert für ihre Y- Information eingegeben. Bei Spalten wird ein X- Erhaltungs-/Reparaturbit KX gesetzt, um anzuzeigen, daß es sich bei der Information in der X-Datenspalte um den wichtigen Wert handelt. Analog dazu wird jede zu reparierende Zeile mit einer Y-Information für ihre Zeilenadresse und einem Nullwert für ihre X-Information eingegeben. Ein Y-Erhaltungs-/Reparaturbit KY wird für Zeilen gesetzt. Die unterste Eingabe weist ein letztes Adreßbit LA auf, das gesetzt ist, um die Tabelle zu begrenzen.
  • Wenn noch Ausfälle übrigbleiben- die als vereinzelte Ausfälle bezeichnet werden, werden diese vereinzelten Ausfälle in einzelnen Einträgen in der Reparaturtabelle getrennt gespeichert, wobei oben begonnen wird. Die Spaltenadresse wird als die X-Information eingegeben, und die Zeilenadresse wird als die Y-Information eingegeben. Wie bei dem Vorgang zur Feststellung von erforderlichen Reparaturen kann die Abtastzeit verkürzt werden, indem der Inhalt des Masken-RAM geprüft wird und indem jede Zeile, die keine verbleibenden Ausfälle aufweist, umgangen wird. Wiederum ist beim untersten Eintrag eines vereinzelten Ausfalls das letzte Adreßbit LA gesetzt, um die nachfolgende Abtastung der Reparaturtabelle zu begrenzen.
  • Während der Teil der Reparaturtabelle mit den vereinzelten Ausfällen generiert wird, zählt die Logik die Zeilen und Spalten, die vereinzelte Ausfälle aufweisen. Diese Werte werden mit der Höchstzahl der Zeilen und Spalten in der schwachbesetzten Matrix A entsprechend den Gleichungen (4) und (5) verglichen. Auch werden die vereinzelten Ausfälle gezählt, während sie gespeichert werden, und der auf der Gleichung (3) basierende Test wird durchgeführt, um festzustellen, ob es eine Überzahl an vereinzelten Ausfällen gibt.
  • Die Lösung der schwachbesetzten Matrix, die in der Reparaturtabelle gespeichert ist, wird mittels dreier einander beeinflussender Algorithmen umgesetzt, die als Sperrebene, schwachbesetzte Ebene und Maskenebene bezeichnet werden. Zusammenfassend kann gesagt werden, daß die Sperrebene alle möglichen Kombinationen einer bestimmten Anzahl an Ersatzzeilen (oder -spalten) sequentiell auswählt oder erzwingt. In der schwachbesetzten Ebene wird dann versucht, die übriggebliebene Lösung für die von der Sperrebene vorgesehene Kombination zu vervollständigen. Die schwachbesetzte Ebene verwendet einen Algorithmus, der eine gewisse Ahnlichkeit mit dem in der ersten Ausführung verwendeten Algorithmus hat. Auf der Maskenebene wird festgestellt, ob mit der Lösung der schwachbesetzten Stufe alle Fehler behoben werden konnten.
  • Die Logik der Sperrebene wählt entweder das X-Datenfeld oder das Y-Datenfeld aus, je nachdem, welche Dimension die geringste Anzahl Px oder Qy an verbleibenden redundanten Leitungen enthält. Dies ist ein wesentlich einfacherer Test als der, der auf den Gleichungen (9) und (10) basiert. Im vorliegenden Beispiel gibt es nur eine verbleibende redundante Bitleitung, so daß das Y- Datenfeld als Abtastdimension ausgewählt wird. Nehmen wir an, es gibt vier vereinzelte Ausfälle A, B, C und D. Die Logik der Sperrebene wählt zuerst eine zum ausgewählten Datenfeld von A gehörige Leitung zur Reparatur aus und gibt die Steuerung anschließend an die schwachbesetzte Ebene weiter. Wenn die schwachbesetzte Ebene keine Lösung findet, wählt die Sperrebene dann den vereinzelten Ausfall B aus. Wenn sich für eine einzelne Leitung keine Lösung erzwingen läßt, erfolgt der Eintritt in eine Sperrebene zweiter Stufe, in der zwei Leitungen gleichzeitig erzwungen werden. Aus Tabelle 1 geht die Reihenfolge hervor, in der die vereinzelten Ausfälle von einer Logik auf Sperrebene ausgewählt werden, die vier Sperrebenen aufweist. Tabelle 1 SPERREBENE 4 3 2 1
  • Die Logik der Sperrebene erzwingt eine Kombination, bis entweder alle Kombinationen erschöpft sind oder eine Lösung gefunden wurde. In manchen Situationen ist es wünschenswert, alle möglichen Lösungen zu finden, so daß die Sperrebene nacheinander alle möglichen Lösungen erzwingt
  • Wenn die Sperrebene eine Kombination erzwingt, vermerkt sie in der Reparaturtabelle, welche vereinzelten Ausfälle durch diese Kombination behoben werden. Was die vereinzelten Ausfälle angeht, die erzwungen wurden, fügt die Sperrebene ein Erhaltungs-/Reparaturbit KX oder KY (KY im vorliegenden Beispiel) ein, da die Sperrebene die Y-Information, ein Erzwingungsbit F und ein Maskenbit M verarbeitet. Das Maskenbit zeigt an, daß der Ausfall behoben wurde. Die Sperrebene prüft dann das Datenfeld (die Y-Information im vorliegenden Beispiel), um festzustellen, ob andere Ausfälle denselben Datenfeldwert aufweisen wie der erzwungene vereinzelte Ausfall. Das wäre dann die Situation, in der durch das Erzwingen einer Leitung mehrere Ausfälle behoben werden können. Diese zusätzlichen Ausfälle werden mit dem Maskenbit M und einem Wiederholungsbit R markiert. Das Erhaltungs-/Reparaturbit ist nicht gesetzt, da der erzwungene Ausfall zur Korrektur der gemeinsamen Leitung führt.
  • Sobald die Sperrebene eine Kombination erzwungen und die betroffenen Ausfälle ordnungsgemäß markiert hat, geht die Steuerung an die Logik der schwachbesetzten Ebene, die es mit der übriggebliebenen Lösung versucht.
  • Die schwachbesetzte Ebene arbeitet ähnlich wie der Algorithmus von Fig. 2 und 3. Die schwachbesetzte Ebene beginnt mit der Abtastung der Dimension, die der von der Sperrebene ausgewählten Dimension entgegengesetzt ist, so daß die schwachbesetzte Ebene im vorliegenden Beispiel mit der Abtastung der X-Information bei der ersten Eingabe beginnt. Jede Eingabe, bei der das Maskenbit M gesetzt ist, wird übersprungen, da sie anderweitig repariert wurde. Wenn die erste Adresse gefunden wird, bei der das Maskenbit M nicht gesetzt ist, wird im vorliegenden Beispiel das X-Datenfeld für diese Eingabe gespeichert, und das Maskenbit M wird für diese Eingabe gesetzt. Ein Ausfallzähler wird mit eins initialisiert. Dieser Wert des Datenfeldes wird anschließend mit den Daten in jeder nachfolgenden Eingabe verglichen, bei der das Maskenbit M nicht gesetzt ist. Jedesmal, wenn die Werte übereinstimmen, wird das Maskenbit M gesetzt, und ein Ausfallzähler wird erhöht. Wenn der Wert des Ausfallzählers mit der Anzahl der verbleibenden redundanten Leitungen in der umgekehrten Richtung übereinstimmt, wird ein Erhaltungs-/Reparaturbit für die letzte Kennzeichnungseingabe gesetzt. Die Auswahl des KX- oder KY-Erhaltungs-/Reparaturbit ist davon abhängig, welches Datenfeld gerade abgetastet wird. Die Anzahl der verbleibenden redundanten Leitungen in der Dimension, in der Reparaturen vorgenommen werden müssen, wird dann um eins erniedrigt. Eine größere Zahl an Ausfällen ist nicht möglich, da sie bereits bei der vorherigen Analyse hinsichtlich erforderlicher Reparaturen oder einem früheren Prozedurablauf erfaßt worden wären. Nachdem eine Leitung ersetzt wurde, wird eine andere nichtmaskierte X-Dateneingabe ausgewählt und mit den verbleibenden Eingaben verglichen. Eine andere nichtmaskierte X-Dateneingabe wird auch ausgewählt, wenn die ausgewählte Eingabe das Ausfallkriterium nicht herbeiführte. In beiden Fällen müssen die Maskenbits zurückgesetzt werden, wenn das Ausfallkriterium nicht erfüllt wurde.
  • Dieser Vorgang dauert so lange an, bis eine von zwei Bedingungen erfüllt ist. Zuerst, wenn alle redundanten Leitungen in beiden Dimensionen benutzt wurden, wird die Steuerung sofort an die Logik auf Maskenebene übergeben. Als zweites, wenn es keine Kombinationen von vereinzelten Ausfällen mehr gibt, die das Ausfallkriterium erfüllen, werden dann die Achsen ergänzt, und die Abtastung der schwachbesetzten Ebene wird für die entgegengesetzte Dimension fortgesetzt. Solange zumindest eine Leitung während der Abtastung einer bestimmten Achse ersetzt wurde, wird die Logik weiterhin von der X-Achse zur Y-Achse wechseln und Reparaturen ausführen.
  • Die Logik auf Maskenebene nimmt lediglich eine Überprüfung vor, um festzustellen, ob alle vereinzelten Ausfälle behoben wurden. Die Logik prüft die Maskenbits bei allen Eingaben. Wenn bei jeder Eingabe das Maskenbit M gesetzt ist, dann wurden alle repariert, so daß die augenblicklich gesetzten Werte der Reparaturtabelle die Lösung anzeigen. Wenn jedoch bei einer Eingabe das Maskenbit nicht gesetzt ist, besteht weiterhin ein Ausfall, und die schwachbesetzte Ebene konnte keine Lösung finden. Im letzteren Fall werden alle von der schwachbesetzten Ebene gesetzten Maskenbits zurückgesetzt, und die Steuerung wird wieder an die Sperrebene übergeben, auf der eine andere Kombination von Leitungen erzwungen wird.
  • Speicherbausteine mit mehreren parallelen Datenausgaben, die manchmal als DOs bezeichnet werden, sind keine Seltenheit. Das vorstehend beschriebene Verfahren muß für jede einzelne DO wiederholt werden, wenn jede DO getrennt zuordenbare redundante Leitungen hat.
  • Eine Vorrichtung, die den Algorithmus von Fig. 8 und 9 ausführen kann, selbst in der nachstehend beschriebenen modifizierten Form, ist in Fig. 13 abgebildet. Verschiedene Komponenten werden zu einem bidirektionalen Hochgeschwindigkeits-Datenübertragungs- und Datenbus verbunden. Zu Beginn des Prüfverfahrens wird der Bus 150 von einer Prüfsystem-Steuereinheit (TSC) 152 gesteuert. Die Prüfsystem-Steuereinheit 152, zusammen mit einem algorithmischen Bitmustergenerator 154 und einer Fehlerüberwachungslogik 156, führt Funktionsprüfungen an -dem Speicherbaustein aus, die ausgewertet werden, um die Bitfehlermap zu generieren. Die Bitfehlermap wird in einem Speicher 158 gespeichert, der z separate Ebenen hat, eine Ebene für jede der mehrfachen DOs. Die Adressierung der Bitfehlermap erfolgt über ein Zeilen-Masken-RAM 160 und ein Spalten-Masken-RAM 162. Jedesmal, wenn ein Ausfall eines Speicherbit festgestellt wird, wird ein Bit im Zeilen-Masken-RAM 160 und im Spalten-Masken-RAM 162 entsprechend der fehlerhaften Adresse gesetzt. Auch wird ein Summierungszähler 164 bei jeder eindeutigen Adresse, die ausgefallen ist, erhöht. Der Summierungszähler 164 wird für jede der z DOs vervielfältigt.
  • Am Ende der Chip-Prüfung lädt die Prüfsystem- Steuereinheit 152 die Dimensionen m und n des zu prüfenden und zu reparierenden Speichers, die Anzahl M und N der redundanten Zeilen und Spalten, die Anzahl der DOs und die Höchstzahl TR an behebbaren Ausfällen in Register innerhalb einer Redundanz-Steuereinheit 166. Ein Flag für alle Lösungen wird gesetzt, wenn lieber alle Lösungen als nur eine Lösung gewünscht sind. Die Anzahl M und N wird auch verwendet, um die Px- und Qy-Zähler 168 zu initialisieren. Die ROM- Tabellen 170 sind für die Werte der Gleichungen (3), (4) und (5) vorprogrammiert, auf die dann der Zugriff durch die aktuellen Werte der Px und Qy-Zähler 168 erfolgt. Sobald diese Initialisierung beendet ist, übergibt die Prüfsystem-Steuereinheit 152 die Steuerung des Busses 150 an die Redundanz-Steuereinheit 166. Die Redundanz-Steuereinheit ist in einer kombinatorischen Logik fest verdrahtet, um den Algorithmus von Fig. 8 und 9 zur Feststellung von Reparaturen auszuführen. Jedoch ist der Algorithmus für erforderliche Reparaturen in einer separaten Logik 172 für erforderliche Reparaturen fest verdrahtet, und der Algorithmus für vereinzelte Reparaturen ist in einer separaten Logik 174 für vereinzelte Reparaturen fest verdrahtet. Ein kombinatorischer Generator 176 für vereinzelte Adressen dient dazu, die Lösungen auf der logischen Sperrebene zu erzwingen, und eine Tabelle 178 mit vereinzelten Adressen dient zum Adressenvergleich auf der schwachbesetzten logischen Ebene. Eine Reparaturtabelle 180 wird in einzelne Segmente für die mehrfachen DOs unterteilt, und nach Beendigung des Reparaturalgorithmus enthält sie die Reparaturlösung. Wie bereits erwähnt, kann es sich bei der Tabelle 178 mit vereinzelten Adressen und der Reparaturtabelle 180 physisch um dieselbe Tabelle handeln.
  • Nach Beendigung des Reparaturalgorithmus zeigt die Redundanz-Steuereinheit 166 der- Prüfsystem- Steuereinheit 152 durch ein Flag an, daß sie die Steuerung des Busses 150 wiederaufnehmen soll. Anschließend würde die Prüfsystem-Steuereinheit 152 die in der Reparaturtabelle 180 enthaltenen Reparaturergebnisse in einer nicht abgebildeten Datei erfassen und mit der Prüfung des nächsten Speicherbausteins beginnen.
  • Ein wesentliches Merkmal der Vorrichtung von Fig. 13 ist, daß alle Komponenten außer der Prüfsystem- Steuereinheit 152 in kombinatorischer Logik ausgeführt sind, die sowohl schnell als auch preisgünstig ist.

Claims (5)

1. Ein Verfahren, um redundante Leitungen in einer zweidimensionalen Matrix zuzuordnen, die mindestens eine redundante Leitung in einer ersten Richtung aufweist und mindestens eine redundante Leitung in einer zweiten Richtung, die senkrecht zur ersten Richtung verläuft, und die Matrix eine erste Vielzahl von Originalleitungen in der ersten Richtung und eine zweite Vielzahl von Originalleitungen in der zweiten Richtung aufweist und die Schnittpunkte der Originalleitungen in der ersten und zweiten Richtung Elemente definieren, wobei bei dem Verfahren
(a) festgestellt wird, bei welchen Elementen es sich um Ausfälle handelt;
(b) eine ausgewählte Originalleitung der Länge nach abgetastet wird, die sequentiell aus den Originalleitungen in der ersten Richtung ausgewählt wurde, um die Zahl der Ausfälle in der ausgewählten Leitung festzustellen;
(c) festgestellt wird, ob die Zahl der Ausfälle in der ausgewählten Leitung größer ist als die Gesamtzahl der verbleibenden redundanten Leitungen in der zweiten Richtung. Wenn die Zahl der Ausfälle in einer beliebigen zuerst ausgewählten Leitung größer ist als die Gesamtzahl der verbleibenden redundanten Leitungen in der zweiten Richtung, dann wird
(d) jede einzelne ausgewählte Leitung, in der die Ausfälle höher sind, durch eine redundante Leitung in der ersten Richtung ersetzt, wobei alle Ausfälle in der ersetzten Leitung durch den Austausch behoben werden,
(e) die Gesamtzahl der verbleibenden redundanten Leitungen in der ersten Richtung dekrementiert und
(f) werden die Schritte (b) bis (e) wiederholt, wobei die erste und zweite Richtung vor dem Schritt (b) ausgetauscht wird; dadurch gekennzeichnet, daß die folgenden Schritte (g) bis (j) dann durchgeführt werden, wenn nicht alle Ausfälle durch die Schritte (b) bis
(f) behoben werden:
(g) Maskieren aller verbleibenden Ausfälle in einem ausgewählten Satz einer ausgewählten Anzahl von Originalleitungen in einer ausgewählten Richtung der beiden Richtungen und Dekrementieren der Anzahl der verbleibenden redundanten Leitungen in der ausgewählten Richtung um die ausgewählte Anzahl, wobei die ausgewählte Anzahl anfangs auf eins gesetzt wird;
(h) Feststellen, ob alle Ausfälle, die in Schritt (g) nicht maskiert wurden, durch die verbleibenden redundanten Leitungen in der ersten und zweiten Richtung durch einen Verfahrensschritt behoben werden können, bei dem die Zahl der Ausfälle in einer Originalleitung in einer anderen als der ausgewählten Richtung mit der Anzahl der verbleibenden redundanten Leitungen in der ausgewählten Richtung verglichen wird;
(i) wenn in Schritt (h) festgestellt wird, daß nicht alle nichtmaskierten Ausfälle behoben werden können, dann erfolgt die Wiederholung der Schritte (g) und (h) für einen anderen ausgewählten Satz der ausgewählten Anzahl von Originalleitungen in der ausgewählten Richtung und
(j) wenn in den Schritten (g) bis (i) festgestellt wird, daß nicht alle nichtmaskierten Ausfälle behoben werden können, dann erfolgt die Wiederholung der Schritte (g) bis (i) für die ausgewählte Anzahl, die um eins erhöht wird, bis die ausgewählte Anzahl größer ist als die Anzahl der verbleibenden Originalleitungen in der ausgewählten Richtung, die Ausfälle aufweisen.
2. Das Verfahren gemäß Anspruch 1, das außerdem folgenden Schritt umfaßt:
Vergleichen einer Gesamtzahl von Ausfällen' mit dem Maximum an Ausfällen, die durch die redundanten Leitungen in der ersten und zweiten Richtung behoben werden können.
3. Das Verfahren gemäß Anspruch 1, wobei im Anschluß an die Durchführung von Schritt (f) die Anzahl der Originalleitungen in der ersten Richtung, die Ausfälle aufweisen und in Schritt (d) nicht ersetzt wurden, verglichen wird mit dem Produkt der Anzahl der verbleibenden redundanten Leitungen in der ersten Richtung, multipliziert mit der Summe aus eins plus der Anzahl der verbleibenden redundanten Leitungen in der zweiten Richtung, um festzustellen, ob es eine Überzahl von noch zu behebenden Ausfällen gibt.
4. Das Verfahren gemäß Anspruch 1, das außerdem die im Anschluß an die Durchführung von Schritt (f) durchgeführten Schritte umfaßt:
eine zweite Gesamtzahl von Ausfällen von Elementen zu addieren, die sich nicht an Schnittpunkten von in Schritt (d) ersetzten Originalleitungen befinden und
die zweite Gesamtzahl mit einem Produkt aus 2 Werten zu vergleichen, der Anzahl der verbleibenden redundanten Leitungen in der ersten Richtung und der Anzahl der verbleibenden redundanten Leitungen in der zweiten Richtung, um festzustellen, ob es eine Überzahl von noch zu behebenden Ausfällen gibt.
5. Das Verfahren gemäß Anspruch 1, wobei es sich in Schritt (g), wenn die Anzahl der verbleibenden redundanten Leitungen in einer Richtung geringer ist als die Anzahl der verbleibenden redundanten Leitungen in einer anderen Richtung, bei der ausgewählten Richtung dann um die eine Richtung handelt, in der sich die verbleibenden redundanten Leitungen erstrecken, deren Anzahl geringer ist.
DE87101196T 1986-03-10 1987-01-28 Verfahren zur Wahl von Ersatzleitungen in einer zweidimensionalen redundanten Matrix. Expired - Fee Related DE3786410T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/838,000 US4751656A (en) 1986-03-10 1986-03-10 Method for choosing replacement lines in a two dimensionally redundant array

Publications (2)

Publication Number Publication Date
DE3786410D1 DE3786410D1 (de) 1993-08-12
DE3786410T2 true DE3786410T2 (de) 1994-01-20

Family

ID=25276012

Family Applications (1)

Application Number Title Priority Date Filing Date
DE87101196T Expired - Fee Related DE3786410T2 (de) 1986-03-10 1987-01-28 Verfahren zur Wahl von Ersatzleitungen in einer zweidimensionalen redundanten Matrix.

Country Status (4)

Country Link
US (1) US4751656A (de)
EP (1) EP0236717B1 (de)
JP (1) JPS62214598A (de)
DE (1) DE3786410T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63239696A (ja) * 1987-03-27 1988-10-05 Toshiba Corp 冗長回路付メモリの試験装置
DE3728521A1 (de) * 1987-08-26 1989-03-09 Siemens Ag Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins
US4920497A (en) * 1987-10-27 1990-04-24 State University Of New York Method for rendering usuable a defective raw programmable logic array and a defective programmable logic array rendered usable by this method
US5155844A (en) * 1990-02-14 1992-10-13 International Business Machines Corporation Background memory test during system start up
JP2842923B2 (ja) * 1990-03-19 1999-01-06 株式会社アドバンテスト 半導体メモリ試験装置
US5219765A (en) * 1990-09-12 1993-06-15 Hitachi, Ltd. Method for manufacturing a semiconductor device including wafer aging, probe inspection, and feeding back the results of the inspection to the device fabrication process
JP2777276B2 (ja) * 1990-09-20 1998-07-16 株式会社東芝 冗長回路付メモリicの試験装置
GB9023867D0 (en) * 1990-11-02 1990-12-12 Mv Ltd Improvements relating to a fault tolerant storage system
US5392291A (en) * 1991-05-20 1995-02-21 Alliedsignal Inc. Fault-tolerant CITO communication system
US6026505A (en) * 1991-10-16 2000-02-15 International Business Machines Corporation Method and apparatus for real time two dimensional redundancy allocation
JP3181001B2 (ja) * 1993-06-01 2001-07-03 インターナショナル・ビジネス・マシーンズ・コーポレ−ション キャッシュ・メモリ・システム並びにキャッシュ・メモリ・アクセス方法及びシステム
GB2292236A (en) * 1995-04-04 1996-02-14 Memory Corp Plc Improved partial memory engine
US5631868A (en) * 1995-11-28 1997-05-20 International Business Machines Corporation Method and apparatus for testing redundant word and bit lines in a memory array
US5943485A (en) * 1996-10-15 1999-08-24 Motorola, Inc. Method for testing and for generating a mapping for an electronic device
US6032264A (en) 1997-04-22 2000-02-29 Micron Technology, Inc. Apparatus and method implementing repairs on a memory device
US6073258A (en) * 1998-02-27 2000-06-06 International Business Machines Corporation Method and device for performing two dimensional redundancy calculations on embedded memories avoiding fail data collection
US6442724B1 (en) * 1999-04-02 2002-08-27 Teradyne, Inc. Failure capture apparatus and method for automatic test equipment
US6728862B1 (en) 2000-05-22 2004-04-27 Gazelle Technology Corporation Processor array and parallel data processing methods
US6259637B1 (en) * 2000-12-01 2001-07-10 Advanced Micro Devices, Inc. Method and apparatus for built-in self-repair of memory storage arrays
US7111193B1 (en) * 2002-07-30 2006-09-19 Taiwan Semiconductor Manufacturing Co. Ltd. Semiconductor memory having re-configurable fuse set for redundancy repair
US7003704B2 (en) * 2002-11-12 2006-02-21 International Business Machines Corporation Two-dimensional redundancy calculation
US6928591B2 (en) * 2002-12-23 2005-08-09 Lsi Logic Corporation Fault repair controller for redundant memory integrated circuits
US6907554B2 (en) * 2003-05-09 2005-06-14 International Business Machines Corporation Built-in self test system and method for two-dimensional memory redundancy allocation
DE60334694D1 (de) * 2003-09-16 2010-12-09 Infineon Technologies Ag On-chip Diagnose-Vefahren und -Block zur Speicherreparatur mit gemischter Redundanz ("IO" Redundanz und "Word-register" Redundanz)
US20050066226A1 (en) * 2003-09-23 2005-03-24 Adams R. Dean Redundant memory self-test
US7203873B1 (en) 2004-06-04 2007-04-10 Magma Design Automation, Inc. Asynchronous control of memory self test
US7423442B2 (en) * 2005-07-22 2008-09-09 Texas Instruments Incorporated System and method for early qualification of semiconductor devices
US20120047482A1 (en) * 2010-08-18 2012-02-23 Lioudmila Dyer Use of Structures/Statistics in Software Optimization
US8887013B2 (en) * 2011-07-01 2014-11-11 Avalanche Technology, Inc. Mapping of random defects in a memory device
KR101521258B1 (ko) * 2013-09-10 2015-05-21 연세대학교 산학협력단 메모리 수리 방법 및 메모리 수리 장치
US11360840B2 (en) 2020-01-20 2022-06-14 Samsung Electronics Co., Ltd. Method and apparatus for performing redundancy analysis of a semiconductor device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5634198A (en) * 1979-08-27 1981-04-06 Nippon Telegr & Teleph Corp <Ntt> Releaving method of deficient bit of semiconductor memory
US4460999A (en) * 1981-07-15 1984-07-17 Pacific Western Systems, Inc. Memory tester having memory repair analysis under pattern generator control
US4460997A (en) * 1981-07-15 1984-07-17 Pacific Western Systems Inc. Memory tester having memory repair analysis capability
US4422161A (en) * 1981-10-08 1983-12-20 Rca Corporation Memory array with redundant elements
US4459685A (en) * 1982-03-03 1984-07-10 Inmos Corporation Redundancy system for high speed, wide-word semiconductor memories
JPH0670880B2 (ja) * 1983-01-21 1994-09-07 株式会社日立マイコンシステム 半導体記憶装置
JPS59180898A (ja) * 1983-03-31 1984-10-15 Hitachi Ltd 不良ビット救済方法
DE3482901D1 (de) * 1983-05-11 1990-09-13 Hitachi Ltd Pruefgeraet fuer redundanzspeicher.
US4639915A (en) * 1983-10-06 1987-01-27 Eaton Corporation High speed redundancy processor
US4586178A (en) * 1983-10-06 1986-04-29 Eaton Corporation High speed redundancy processor
JPH0666120B2 (ja) * 1983-11-09 1994-08-24 株式会社東芝 半導体記憶装置の冗長部
JPH0766353B2 (ja) * 1984-04-02 1995-07-19 株式会社日立製作所 Icメモリの救済方式

Also Published As

Publication number Publication date
JPH0529998B2 (de) 1993-05-06
EP0236717A2 (de) 1987-09-16
DE3786410D1 (de) 1993-08-12
US4751656A (en) 1988-06-14
EP0236717A3 (en) 1989-08-23
EP0236717B1 (de) 1993-07-07
JPS62214598A (ja) 1987-09-21

Similar Documents

Publication Publication Date Title
DE3786410T2 (de) Verfahren zur Wahl von Ersatzleitungen in einer zweidimensionalen redundanten Matrix.
DE69019555T2 (de) Technik für die serielle Prüfung eingebauter Speicher.
DE10225381A1 (de) Verfahren und Vorrichtung zum Speichern von Speichertestinformantion
DE69114881T2 (de) Analysevorrichtung zur Rettung von Halbleiterspeicherfehlern.
DE69124735T2 (de) Integrierte Halbleiterschaltung
DE3788487T2 (de) Integrierte Schaltung mit Speicherselbstprüfung.
DE19851861B4 (de) Fehleranalysespeicher für Halbleiterspeicher-Testvorrichtungen und Speicherverfahren unter Verwendung des Fehleranalysespeichers
EP0038947B1 (de) Programmierbare logische Anordnung
DE69126400T2 (de) Fehleranalysegerät für mit Redundanzschaltungen versehene Speicher
DE19741174A1 (de) Speichertestgerät
EP1008993B1 (de) Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren
DE112004000676T5 (de) Prüfvorrichtung
DE3876459T2 (de) Speicher und deren pruefung.
EP1105802B1 (de) Verfahren zur reparatur von defekten speicherzellen eines integrierten speichers
DE112011104911B4 (de) Speicherdiagnosevorrichtung, Speicherdiagnoseverfahren und Programm
EP0843317A2 (de) Verfahren zum Testen eines in Zellenfelder unterteilten Speicherchips im laufenden Betrieb eines Rechners unter Einhaltung von Echtzeitbedingungen
DE112008000429T5 (de) Prüfvorrichtung und Prüfverfahren
EP1444699B1 (de) Verfahren zur rekonfiguration eines speichers
CH658137A5 (de) Steuereinrichtung mit einem speicher und einer schnittstelle, insbesondere fuer werkzeugmaschinen.
DE10292320T5 (de) Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher
DE10226585C1 (de) RAM-Speicherschaltung
DE10035705A1 (de) Verfahren zum Analysieren des Ersatzes fehlerhafter Zellen in einem Speicher und Speichertestvorrichtung mit einem Fehleranalysator, der von dem Verfahren Gebrauch macht
EP0186040A1 (de) Integrierter Halbleiterspeicher
DE10331068A1 (de) Verfahren zum Auslesen von Fehlerinformationen aus einem integrierten Baustein und integrierter Speicherbaustein
DE10062404A1 (de) Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee