-
Diese
Erfindung bezieht sich allgemein auf das Gebiet eines Testens von
integrierten Schaltungen und spezifischer ausgedrückt auf
die Erfassung von Defekten bei integrierten Schaltungen unter Verwendung
einer hocheffizienten Testplanungsmethodik und insbesondere empirischen
Daten basierend auf einem Testoptimierungsverfahren.
-
Ein
wichtiger Aspekt der Herstellung von integrierten Schaltungen (ICs;
IC = integrated circuit) ist der Testprozess von ICs, die in Silizium
hergestellt worden sind, nach der Erzeugung. Das Ziel des Testprozesses nach
der Fertigung ist es, Testeingaben auf eine oder mehrere IC-Vorrichtungen anzuwenden,
wie z. B. diejenigen, die resident sind, während dieselben noch auf dem
Halbleiterchip (die) sind, und zu bestimmen, ob die Vorrichtung
oder die Vorrichtungen, die getestet werden, defekt sind. Bevorzugt
findet dieser Defekterfassungsprozess früh in dem Herstellungsprozess
statt, um die Integration oder Einschließung von fehlerhaften IC-Komponenten
und/oder Vorrichtungen in Vorrichtungen und/oder Systeme so bald
wie möglich
zu verhindern oder zu korrigieren. Ein Identifizieren von fehlerhaften
IC-Vorrichtungen zur Entfernung wird offensichtlich teurer, je mehr
derartige Vorrichtungen in konstituierenden Vorrichtungen oder Systemen
integriert sind. Man betrachte z. B. die Schwierigkeit, die am wahrscheinlichsten
einen Versuch begleiten würde,
die Stelle einer fehlerhaften IC in einem Personalcomputersystem
zu bestimmen. Es ist offensichtlich viel einfacher und somit weniger
kostenaufwendig, diese fehlerhafte IC zu identifizieren und zu entfernen,
bevor dieselbe in den PC integriert wird.
-
Es
gibt mehrere unterschiedliche Arten von Tests, die auf ein Testen
von IC-Defekten angewendet werden können. Ausführliche Tests versuchen, jede
mögliche
Eingabe auf die Vorrichtung anzuwenden, um zu bestimmen, ob irgendwelche Defekte
in der IC vorhanden sind. Ein Funktionstesten testet die funktionalen
Merkmale einer IC, um einen korrekten Betrieb zu verifizieren. Der
Fehlermodelltest bestimmt jeden Typ von Fehler, der bei einer bestimmten
IC wahrscheinlich auftritt, und entwickelt entsprechend Tests, um
jegliche dieser üblichen
Fehler, die vorhanden sein könnten,
aufzudecken. Der ausführliche
Test kann der am meisten zeitaufwendige Typ eines IC-Tests und auch
ziemlich teuer sein. Ein Funktionstesten ist problematisch dahingehend, dass
der Testentwurf genau sicherstellen muss, dass alle Funktionalität korrekt
getestet wird. Ein Funktionalitätstesten
erfordert ein anwendungsspezifisches Wissen, um sicherzustellen,
dass die gesamte eingegliederte Funktionalität getestet worden ist. Ein
Fehlermodellierungstesten erfasst die Fehler, die als Teil des Testrahmenwerks
des Fehlermodells angenommen werden. Ein Beispiel für das Fehlermodell
ist das Haftfehlermodell. Dieses Modell könnte eine begrenzte Anzahl
von Fehlern annehmen und annehmen, dass diese Fehler dauerhaft sind.
Andere Typen von Tests umfassen eine elektrische Konnektivität (Testen
von solchen Parametern wie Spannung, Strom, Widerstand und Induktivitätspegeln,
wenn unterschiedliche Signale auf die IC-Vorrichtung angewendet werden), ein
Schaltungsfunktionstesten, Vorrichtungsfunktion, Vektortesten, vektorloses Testen,
IDDQ-Testen, bei dem der Strom, der erforderlich ist, um einen Vektor
zu betreiben, überprüft wird,
und Abtasttesten (wie z. B. Grenzabtasten), sind jedoch nicht beschränkt darauf.
Es sei ferner vermerkt, dass ein IC-Testen üblicherweise auf der Halbleiterchipstufe
vor einer Häusung
der IC durchgeführt
werden kann.
-
Ein
gut entworfener Testplan testet bevorzugt eine gegebene IC-Funktion
oder einen fehlerhaften Zustand einmal, wodurch ermöglicht wird,
dass der Testplan, auch als eine Testreihe, eine Reihe von Tests
oder ein Testfluss bezeichnet, oder ein Abschnitt desselben die
Testsequenzen von einem oder mehreren Tests des Testplans in einer
effizienten Weise ausführt
und die Zeitmenge minimiert, die erforder lich ist, um die Testsequenz
auszuführen
und die Testergebnisse zu erhalten. Da die ausführlichen, Funktions- und Fehlermodell-Ansätze auf
einer Registerübertragungsebene
(RTL; RTL = register transfer level), physikalischen Layouts und
Schemas basieren, wird die Beziehung zwischen dem Herstellungsprozess
und dem physikalischen Layout der IC in der Teststrategie jedoch
nicht ausgenutzt. Der Mangel an einem Verhältnis zwischen dem physikalischen
Layout und dem Herstellungsprozess macht diese Testverfahren anfällig für ein Wiederholen
der gleichen Testsequenz mehr als einmal, was in Testineffizienzen
resultiert. Die Anzahl von redundanten Tests und ineffizienten Tests
(RITs; RIT = redundant tests and inefficient tests) ist somit ein
wertvoller Parameter, der bei einem Entwerfen von Testplänen berücksichtigt
werden soll, da es einen großen
Vorteil hinsichtlich einer Reduzierung von Testkomplexität und Testausführungszeit
gibt, wenn die Anzahl von RITs reduziert ist. Gegenwärtige Strategien
versuchen jedoch, die Ausführung
von redundanten Tests in dem IC-Testprozess unter Verwendung der
gleichen ausführlichen,
Funktions- und Fehlermodell-Strategien zu beseitigen, die bei einem standardisierten
IC-Testen verwendet werden, ohne das Vorhandensein von irgendeiner
Beziehung zwischen dem physikalischen Layout der Vorrichtung und
dem Herstellungsprozess zu berücksichtigen.
Somit besteht in der Technik ein unerfüllter Bedarf nach einer IC-Teststrategie,
die weniger Zeit als gegenwärtig
verwendete Defekterfassungsstrategien braucht, rechenmäßig weniger
intensiv ist und nicht auf RTL, einem physikalischen Layout und
Schemas basieren muss.
-
Das
Testerfassungsverfahren der vorliegenden Erfindung verwendet empirische
Daten, die während einer
vorbereitenden Ausführung
aller Tests in einem Testplan, -reihe oder – fluss gesammelt werden, ohne dass
bei Testfehlern, die erzeugt werden könnten, aufgehört wird.
Diese empirischen Daten werden verwendet, um das Verhältnis zwischen
dem physikalischen Layout der IC und dem Herstellungsprozess zu
folgern. Diese empirischen Daten können dann analysiert werden,
um das Auftreten von einem oder mehreren RITs in dem Testplan zu
erfassen. Um die Testzeit zu reduzieren, können in dem Testfluss redundante
Tests selektiv entfernt werden und effiziente Tests selektiv neugeordnet
werden, so dass redundante Tests nicht ausgeführt werden und effiziente Tests
früher
in dem IC-Test-Fluss ausgeführt
werden. So werden die RIT-Informationen verwendet, um den Testfluss
zu optimieren.
-
Das
Schriftstück „On maximizing
the coverage of catastrophic and parametric faults", Proceedings of the
IEEE European Test Workshop, Konstanz, Deutschland, 25.–28. Mai
1999, Seiten 123–128,
von Anna M. Brosa, J. Figueras offenbart ein Anwenden eines Satzes
von Tests auf eine Analogschaltung, um Defekte zu erfassen, und
ein Finden des Testsatzes, der alle defekten Regionen mit einer
Minimalanzahl von Tests abdeckt.
-
Das
Schriftstück „On Solving
Covering Problems",
Proceedings of the IEEE 33rd Design Automation Conference
(DAC) 1996, Seiten 197–202,
von O. Coudert bezieht sich auf die allgemeine Optimierung von Abdeckungsproblemen.
-
US 6,078,189 offenbart ein
Verfahren zum dynamischen Modifizieren eines Testprogramms. Bei
einem Ausführungsbeispiel
wird die Ordnung von Funktionstests in dem Testprogramm basierend
auf den Ergebnissen des Testens dynamisch verändert. Das Testprogramm wird
lediglich an Vorrichtungen, die alle Tests bestehen, bis zum Abschluss
betrieben; wenn eine Vorrichtung bei einem Test versagt, dann werden
keine weiteren Tests an dieser Vorrichtung durchgeführt.
-
US 5,983,381 offenbart ein
Verfahren zum Neuordnen von Vektoren in einem Testsatz durch ein
Bewegen von Sequenzen und durch ein Partitionieren und Neuordnen.
-
Die
Merkmale der Erfindung, von denen geglaubt wird, dass dieselben
neuartig sind, sind in den beigelegten Ansprüchen ausführlich dargelegt. Die Erfindung
selbst jedoch kann, sowohl was die Organisation als auch die Betriebsweise
betrifft, zusammen mit Objekten und Vorteilen derselben am besten
durch eine Bezugnahme auf die folgende detaillierte Beschreibung
der Erfindung verstanden werden, die gewisse beispielhafte Ausführungsbeispiele
der Erfindung beschreibt, in Verbindung mit den zugehörigen Zeichnungen,
in denen:
-
1 ein
Flussdiagramm des RIT-Erfassungsverfahrens gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung ist.
-
2 ein
Graph ist, der einen Testeffizienzvergleich zwischen einem ursprünglichen
Testfluss (durch dreieckige Symbole gekennzeichnet) und einem optimierten
Testfluss (durch die kreisförmigen
Symbole gekennzeichnet) gemäß einem
beispielhaften Ausführungsbeispiel
darstellt.
-
3 ein
Blockdiagramm eines Computersystems ist, das zum Durchführen von
Prozessen, die in Einklang mit bestimmten Ausführungsbeispielen der vorliegenden
Erfindung sind, geeignet ist.
-
Während diese
Erfindung für
ein Ausführungsbeispiel
in vielen unterschiedlichen Formen zugänglich ist, werden spezifische
Ausführungsbeispiele
in den Zeichnungen gezeigt und hierin detailliert beschrieben, mit dem
Verständnis,
dass die vorliegende Offenbarung als ein Beispiel für die Prinzipien
der Erfindung betrachtet werden soll und die Erfindung nicht auf
die gezeigten und beschriebenen spezifischen Ausführungsbeispiele einschränken soll.
In der Beschreibung unten werden gleiche Bezugszeichen verwendet,
um die gleichen, ähnliche
oder entsprechende Teile in den mehreren Ansichten der Zeichnungen
zu beschreiben.
-
Die
vorliegende Erfindung reduziert die Menge an Testzeit, die erforderlich
ist, um ICs zu testen, indem dieselbe versucht, Redundanz zu beseitigen
und die Effizienz eines Testens einer oder mehrerer ICs zu erhöhen, die
in Silizium hergestellt worden sind, durch einen oder mehrere Tests
eines Testflusses, eines Testplans oder einer Reihe von Tests. Anstatt
eines Aufhörens,
eines Sammelns und Analysierens von Testergebnissen nachdem jeder
Test einer Reihe von Tests durchgeführt worden ist, werden die
Tests des Testflusses in der sequenzierten Ordnung derselben an
einer großen
Anzahl von ICs ausgeführt,
wie z. B. dem Halbleiterchip, der an einem oder mehreren Wafern
ausgeführt
sein könnte,
und wenn das Testen der Testreihe bzw. ein Abschnitt von Interesse
derselben abgeschlossen ist, werden die empirischen Daten, die aus
der Ausführung
eines jeden der Tests in dem Fluss gesammelt werden, nach dem Abschluss
der Reihe von Tests analysiert, wodurch eine volle Analyse aller
möglicher
RITs in der Testreihe zu der frühestmöglichen
Zeit ermöglicht
wird. Die empirischen Daten, die gesammelt werden, sind statistisch
signifikant, da die nicht verbesserte Testsequenz eine Anzahl von
ICs testet, die groß genug
ist, um bedeutsame Bestehen/Versagen-Testergebnisinformationen zu erzeugen.
Dies ist in sich selbst eine Verbesserung dahingehend, dass ein
wahres Bild der Testflussprobleme, d. h. RITs, einer bestimmten
Reihe von Tests viel schneller bestimmt wird als ein Schauen nach
IC-Versagen, wenn dieselben auftreten, auf einer Test-für-Test-Basis. Der Vorteil
dieses Ansatzes wird ferner dargestellt, wenn man berücksichtigt,
dass, damit ein IC-Testobjekt
von einer beliebigen Komplexität
adäquat
beschäftigt
wird, dasselbe gegebenenfalls zwangsläufig einer großen Anzahl
von unabhängigen
Tests in einer Testreihe unterzogen werden muss; für eine IC
von einer beliebigen Komplexität,
wie z. B. einen Mikroprozessor oder einen Steuerchip, ist es nicht
unüblich,
einem Testen durch Hunderte oder sogar Tausende von einzelnen Tests
unterzogen zu werden. Es wird viel Zeit gespart, wenn Tests eines
derartigen Testflusses ausgeführt
und dann vor einem Ablau fen des verbesserten oder optimierten Testflusses
an vielen Vorrichtungen optimiert werden.
-
Ein
beliebiger Typ einer IC-Schaltung, -Struktur oder -Vorrichtung in
Silizium kann unter Verwendung des Verfahrens der vorliegenden Erfindung
getestet werden, einschließlich
von, aber nicht beschränkt
darauf, Mikroprozessoren, Steuerchips usw. Die vorliegende Erfindung
arbeitet besonders gut mit IC-Testobjekten, die eine große Vielfalt
an Schaltungsanordnung aufweisen, wodurch verpflichtend wird, dass
verschiedenartige Typen von Tests an denselben ablaufen, um die
Geeignetheit derselben zu prüfen.
-
Ein
Warten, bis eine volle Ergänzung
von empirischen Daten für
das Gesamte oder einen Abschnitt des gesamten Testflusses oder -reihe,
die optimiert werden sollen, erhalten wird, ermöglicht, dass die beste Analyse
der Testreihe in der kürzesten
Zeit stattfindet. Die Qualität
und Quantität
der analysierten empirischen Daten können für eine Optimierung des Testflusses
wichtig sein. Noch mal, der nicht optimierte Testfluss oder -reihe
wird ausgeführt,
um eine Anzahl von ICs zu testen, die groß genug ist, um statistisch
bedeutsame Testergebnisse zu erzeugen (Bestehen/Versagen-Informationen).
Zumindest zwei Punkte, die aus den empirischen Daten analysiert
werden können,
umfassen Redundanz und Effizienz. Wie aus der folgenden Beschreibung
klar wird, kann die Charakterisierung eines Tests in einem Testfluss
oder -reihe als ein redundanter oder ineffizienter Test (RIT) durch
die Menge an Daten gefärbt
sein, die analysiert werden.
-
Eine
Redundanz in Testflüssen
trägt zu
einer erhöhten
Testzeit und Ineffizienz des Flusses bei und soll vermieden werden.
Es besteht nicht oft ein Bedarf danach, einen Test in einem Testfluss
zu wiederholen, der das IC-Testobjekt in der gleichen Weise beschäftigt. Es
kann gesagt werden, dass ein beliebiger nachfolgender und mit einem
Anfangstest in dem Testfluss im Wesentlichen identischer Test redundant ist,
wenn das Durchführen
eines derartigen nachfolgenden Tests keinen Vorteil (wie z. B. Robustheit)
liefert und wertvolle Testzeit ohne einen entsprechenden Vorteil
verbraucht. Zusätzlich
zu zwei Tests, die die gleiche Defektprüfung durchführen, kann eine Redundanz auch
auf andere Weisen definiert sein.
-
Man
betrachte beispielhaft die folgenden zwei getrennten Tests eines
Testflusses. Test 1 könnte
einen Defekt 1 erfassen und Test 2 einen Defekt 2 erfassen. Jedoch
sind, wenn diese zwei Defekte, Defekt 1 und Defekt 2, immer zusammen
auftreten, was bedeutet, dass, wenn ein Defekt erfasst wird, angenommen
werden kann, dass der andere ebenfalls existiert, die Tests 1 und
2 zueinander redundant. Es würde
Sinn machen, einen dieser Tests aus dem Testfluss zu löschen, wie
z. B. den langsameren dieser Tests, wobei angenommen wird, dass
der zu löschende
Test nicht in einer Weise zu dem Testen der IC-Vorrichtung beiträgt. Eine
andere Betrachtung wäre,
den Test in dem Fluss zu behalten, der auch auf andere Typen von
Defekten testen könnte. Ein
weiteres Beispiel einer Redundanz ist durch das Folgende dargestellt.
Man betrachte die Situation, in der, wenn Test 1 und Test 2 versagen,
Test 3 dann immer ebenfalls versagt. Wenn während der Anfangsausführung der
Tests des Testflusses Test 1 und Test 2 versagen, dann ist bekannt,
dass Test 3 versagen wird, und derselbe kann somit aus dem Testfluss
beseitigt werden.
-
Ein
Beseitigen einer Redundanz in dem Testfluss verbessert die Zeit,
die für
nachfolgende Ausführungen
der Reihe von Tests erforderlich ist. Es ist ferner zu sehen, dass
ein Beseitigen von redundanten Tests aus einem Testfluss am besten
durchgeführt
wird, nachdem der gesamte Fluss von Interesse, sei es eine gesamte Reihe
von Tests oder ein Abschnitt derselben, ausgeführt worden ist, wobei nach
dieser Zeit ein vollständigeres
Bild aller redundanten Tests erhalten werden kann. Zum Beispiel
kann ein Test E, der als Test Nummer 5 in einem gegebenen Testfluss
ausge führt
wird, redundant zu einem Test A sein, dem ersten Test in dem Testfluss,
aber die Redundanz von Test E wird nicht erkannt, bis derselbe ausgeführt wird.
Somit wäre
ein Durchführen
einer Analyse des Testflusses, die z. B. lediglich die ersten vier
Tests anschaut, unvollständig
insofern, als dieselbe die Redundanz von Test E noch nicht berücksichtigen
würde.
-
Zusätzlich zu
Redundanz ist Ineffizienz ein anderes negatives Charakteristikum
eines Testflusses. Eine komparative Analyse, die auf die komparative
Leistungsfähigkeit
von verschiedenartigen Tests in dem Testfluss oder -reihe bezüglich eines
oder mehrerer relevanter Kriterien schaut, wird verwendet, um eine
Effizienz und das Gegenstück
derselben, eine Ineffizienz, eines bestimmten Tests zu bestimmen.
Die Kriterien, die verwendet werden, um eine relative Ineffizienz
zu bewerten, variieren und sollten gemäß den Charakteristika von Interesse
bei einem Optimieren der Testreihe gewählt werden. Die angedachten
Kriterien umfassen Zeit, Testabdeckung, Bedeutung von Test (qualitativ
und/oder quantitativ) oder eine Kombination derselben, müssen aber
nicht darauf beschränkt
sein. Man betrachte die folgenden Beispiele. Wenn zwei Tests in
einer Testsequenz auf den gleichen Defekt testen, könnte der
schnellere Test als effizienter betrachtet werden, und die Testsequenz
würde von
einem Neuordnen derselben, um den schnelleren Test früher in der
Sequenz zu platzieren als den langsameren Test, profitieren. Test
A, der lediglich auf den Defekt 1 testet, wird als weniger effizient
betrachtet als Test B, der auf die Defekte 1, 2 und 3 testet, und
somit sollte, falls dies erforderlich ist, die Testsequenz neu geordnet
werden, so dass Test B vor Test A ausgeführt wird. Ein Ausführen von
Test B vor Test A wird schneller mehr Informationen über die
Fähigkeit
des IC-Testobjekts liefern, Defektteste zu bestehen/nicht zu bestehen.
-
Tabelle
1 unten stellt auch einige der Konzepte einer Effizienz basierend
auf verschiedenartigen Kriterien dar.
-
Bei
diesem Beispiel werden drei Tests eines Testflusses oder Reihe von
Tests, Test 1, Test 2 und Test 3, die sequentiell in der angezeigten
Ordnung ausgeführt
werden, einander gegenüber
auf Effizienz analysiert. Bei diesem Beispiel werden auch vier ICs,
jede in einem Halbleiterstückformat
und als Halbleiterstück
1, Halbleiterstück
2, Halbleiterstück
3 bzw. Halbleiterstück
4 bezeichnet, durch den Testfluss getestet, der die Tests 1, 2 und
3 aufweist. „X" zeigt an, ob das
IC-Halbleiterstück-Testobjekt
bei einem bestimmten Test in dem Testfluss versagt hat; dieses Ergebnis
ist nach einem Ausführen
des Testflusses der Tests 1, 2 und 3 an den IC-Testobjekt-Halbleiterstücken 1,
2, 3 und 4 erhalten worden. TABELLE
1
-
Test
2 in Tabelle 1 könnte
als der effizienteste Test betrachtet werden, sogar wenn derselbe
der langsamste ist, wenn die Messkriterien einer Effizienz eine
Quantität
und Qualität
von wiedergegebenen Daten sind; es ist zu sehen, dass drei der vier
getesteten Halbleiterstücke
bei Test 2 versagt haben. Und Test 2 kann auch, wenn derselbe nicht
erkennbar langsamer als Test 1 oder Test 3 ist, effektiv der schnellste
Test sein, wenn man berücksichtigt,
dass derselbe auf vier Typen von Defekten testet, die doppelte Anzahl
der anderen zwei Tests. Wenn das Messkriterium Geschwindigkeit ist,
dann ist umgekehrt Test 3 der effizienteste Test, da derselbe der
schnellste ist und somit neugeordnet werden würde, um der Test zu sein, der
zuerst ausgeführt wird,
wenn dies nicht bereits der Fall ist. Die Messung einer Effizienz
kann in Natur qualitativ sein und könnte somit eine unterschiedliche
Neuordnung der Tests ergeben. Angenommen, dass der Test 1, während derselbe lediglich
auf zwei Defekte testet, auf die zwei Defekte testet, die als die
wichtigsten für
den Typ von getesteten Halbleiterstücken betrachtet werden. In
diesem Falle könnte
Test 1 als effizienter als Test 3 betrachtet werden, da, obwohl
derselbe langsamer ist, die Testergebnisse, die derselbe erzeugt,
bedeutsamer als diejenigen sind, die durch Test 3 erzeugt werden,
und es somit besser wäre,
dieselben früher
in dem Testprozess zu haben. Diese Betrachtungen würden für eine Neuordnung
des Testflusses sprechen, um sicherzustellen, dass Test 1 weiterhin
vor Test 3 ausgeführt
wird. Oder Test 1 könnte
als der effizienteste Test betrachtet werden, wenn ein Defekt, auf
den sowohl Test 2 als auch Test 3 testen, irrelevant oder von einer
verminderten Bedeutung wird. Dies würde effektiv bedeuten, dass
Test 2 auf lediglich drei Defekte testet und Test 3 auf lediglich
einen Defekt. Die relative Geschwindigkeit, mit der Test 3 sein
Testen der Halbleiterstücke
ausführt,
wäre von
einer verminderten Bedeutung gegenüber den zwei wichtigeren Defekttests,
die durch Test 1 mit einer langsameren Rate durchgeführt werden.
Die Notwendigkeit, die Ergebnisse des Testens, das durch Test 1
durchgeführt
wird, rechtzeitig zu wissen, würde
bei diesem bestimmten Beispiel noch mal für ein Beibehalten dieses Tests
früher in
dem Testfluss sprechen, vor einer Ausführung der Tests 2 oder 3.
-
Die
Bestimmung, welche Tests einer Testreihe oder eines Abschnitts derselben
von Interesse ineffizient sind, die eine vergleichende Analyse ist,
ist, wie die Bestimmung von redundanten Tests, ein Ziel, das am besten
an so vielen Daten wie möglich
durchgeführt
wird. Somit führt
die vorliegende Erfindung alle Tests von Interesse in einer Testreihe
oder einem Abschnitt derselben aus, um die empirischen Daten der
Testergebnisse zu erhalten, an denen die Analyse durchgeführt wird.
Es wurde auch herausgefunden, dass die Erfindung besonders gut arbeitet,
wenn eine große
Anzahl von Halbleiterstücken
oder Halbleiterstücklosen
getestet worden ist, um ein statistisch signifikantes Volumen von
empirischen Testdaten zu liefern. Die Anzahl von Halbleiterstücken, die
getestet werden sollen, kann selbst anderweitig eine Funktion von
vielen unterschiedlichen Variablen sein, wie z. B. einer IC-Komplexität, Metallisierungsschichten,
Anzahl von Tests in dem Testfluss usw.
-
Eine
Identifizierung einer Testineffizienz erlaubt die Neuordnung der
Sequenz von Tests des Testflusses oder – reihe und ist ein wichtiges
Werkzeug zum Optimieren des Testflusses. Abhängig von dem Kriterium oder
den Kriterien, die verwendet werden, um eine Effizienz zu messen,
kann ein Neuordnen von Tests in dem Testfluss, um eine Effizienz
zu fördern,
ein Testen auf eine Anzahl von Weisen verbessern. Ein Neuordnen
der Sequenz von Tests in der Testreihe, um schnellere Tests vor
langsamere zu stellen, kann einen schnelleren Testfluss ergeben,
der z. B. Testergebnisse schneller liefert, während ein Platzieren eines
Tests, der auf drei Defekte testen kann, vor einem Test, der auf
lediglich einen Defekt testen kann, einen Testfluss ergibt, der
früher
bessere quantitative und qualitative Testergebnisse liefert.
-
Sich
nun auf 1 beziehend ist ein Blockflussdiagramm
einer beispielhaften RIT-Testerfassungstechnik 100 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Diese Technik sammelt RIT-Testinformationen,
die empirischen Testdaten, indem zuerst ermöglicht wird, dass ein Anfangssatz
von IC-Tests eines Testflusses oder -reihe von Tests ausgeführt wird,
ohne an Erfassungen von Versagen aufzuhören (Block 110). Durch
den Anfangstestfluss werden genug ICs beschäftigt, um statistisch signifikante
Testergebnisse über
RITs, die in dem Fluss existieren, zu erzeugen, wie z. B. Bestehen/Versagen-Informationen. Bei
dem Abschluss der Ausführung
des Anfangssatzes von IC-Tests erfolgt eine Überprüfung der empirischen Daten,
die während
der Ausführung
der Tests der Testreihe gesammelt werden, um zu bestimmen, welche
dieser Tests versagt haben (Block 120). Diese Tests, die
versagt haben, werden analysiert, um das mögliche Vorhandensein und die
Stelle von redundanten und ineffizienten Tests zu bestimmen (Block 130);
eine Stelle eines Tests in dem Testfluss bezieht sich darauf, wo
der Test chronologisch in dem Testfluss platziert ist. Jegliche redundanten
Tests werden entfernt (Block 140) und die verbleibenden
Tests in dem Anfangstestplan werden neugeordnet, so dass effiziente
Tests in einem optimierten Testfluss zuerst ausgeführt werden
(Block 150). Der optimierte Testfluss kann dann verwendet
werden, um eine große
Anzahl der ICs effizienter zu testen. Es sei hier angemerkt, dass
die ICs, die durch den verbesserten Testfluss oder -reihe beschäftigt werden,
sich wahrscheinlich von den ICs unterscheiden, die verwendet werden,
um die empirischen Testdaten des ursprünglichen Testflusses zu erzeugen,
da es normalerweise nicht notwendig ist, diese Schaltungen erneut
zu testen.
-
Wie
vorhergehend in der vorhergehenden Beschreibung angemerkt, kann
eine Testoptimierung mit einem oder beiden Blöcken 140 und 150 stattfinden.
Mit anderen Worten kann eine Optimierung eines Testflusses lediglich
durch ein Entfernen eines oder mehrerer redundanter Tests (in dem
Falle würde
Block 150 nicht durchgeführt werden), lediglich durch
ein Neuordnen eines oder mehrerer. Tests gemäß bestimmten Effizienzen (in
dem Fall würde
Block 140 nicht durchgeführt werden) oder eine Kombination
der zwei Ansätze
erreicht werden. Schließlich
ist es eine Option, die Stelle der RITs in dem Anfangstestplan zu
verwenden, um zwischen Kosten eines IC-Wafer-Tests und Häusungskosten
einer IC abzustimmen, um den Kompromiss zwischen den Kosten der
getesteten Wafer und den Häusungskosten
auszubalancieren. Das heißt,
ein Senken der Kosten eines Wafertests erhöht wahrscheinlich die Häusungskosten
einer IC, während
ein Vermindern der Häusungskosten
einer IC wahrscheinlich die Kosten eines Wafertestens erhöht, wobei
davon ausgegangen sind, dass andere Testfaktoren die gleichen bleiben.
-
Die
vorliegende Erfindung reduziert die Menge an Testzeit, die erforderlich
ist, um ICs zu testen, indem dieselbe versucht, Redundanz zu beseitigen
und die Effizienz einer Sequenz von Tests, als eine Testreihe bekannt,
die verwendet werden, um eine oder mehrere ICs zu testen, die in
Silizium hergestellt worden sind, zu erhöhen. Während die besten Ergebnisse
bei einem Reduzieren von Testzeiten sowohl durch ein Beseitigen von
redundanten Tests als auch ein Platzieren der effizientesten Tests
am frühesten
in der Testsequenz erreicht werden, wird angedacht, dass beide dieser
Vorgänge
durch die vorliegende Erfindung nicht gleichzeitig erfordert werden.
Verbesserungen bei der Testzeit, wenn auch wahrscheinlich geringere,
können
auch durch ein Fokussieren lediglich auf dem Entfernen von redundanten
Tests aus einer Testsequenz oder lediglich auf dem Neuordnen der
Tests der Testsequenz erreicht werden. Es wird ferner angedacht,
dass eine Verbesserung durch eine Kombination dieser zwei Ansätze realisiert
werden kann, sogar auf einer weniger optimalen Stufe. Zum Beispiel
können
Verbesserungen der Testzeit durch ein Entfernen der meisten, aber
nicht aller der redundanten Tests aus einer Testsequenz erreicht
werden, während
die Testsequenz auch neugeordnet wird, um einige, aber nicht alle
effizienten Tests früher
in der Testsequenz vor die ineffizienteren Tests zu stellen.
-
Der
Vorteil, der aus der vorliegenden Erfindung realisiert werden soll,
ist in 2 gezeigt, einem Graphen, der einen Testeffizienzvergleich
zwischen einem ursprünglichen
Testfluss (durch dreieckige Symbole gekennzeichnet) und einem optimierten
Testfluss (durch die kreisförmigen
Symbole gekennzeichnet) darstellt. Es ist beobachtet worden, dass
eine Testzeitreduzierung von 50% oder mehr durch den Prozess der
Testflussoptimierung durch eine Entfernung von redundanten Tests
und ein Neuordnen von Tests erreicht werden kann.
-
Der
vorhergehend beschriebene Prozess kann auf einem programmierten
Universalcomputersystem durchgeführt
werden, wie z. B. dem beispielhaften Computersystem 700,
das in 3 gezeigt ist. Die oben beschriebene Methodik
könnte
durch Anweisungen durchgeführt
werden, die durch irgendeinen derartigen Computer oder ein Computersystem
ablaufen werden, wie z. B. eine IC-Testermaschine, die das Testen
von ICs ablaufen lassen oder steuern kann. Ein Computersystem 300 weist
eine Zentralprozessoreinheit (CPU) 310 mit einem zugeordneten
Bus 315 auf, der verwendet wird, um die Zentralprozessoreinheit 310 mit
einem Direktzugriffsspeicher 320 und/oder einem nicht-flüchtigen
Speicher 330 auf eine bekannte Weise zu verbinden. Ein
Ausgabemechanismus kann bei 340 bereitgestellt sein, um
eine Ausgabe für
den Computerbenutzer anzuzeigen und/oder zu drucken. In ähnlicher
Weise können
Eingabevorrichtungen wie z. B. eine Tastatur und eine Maus 350 für die Eingabe
von Informationen durch den Computerbenutzer bereitgestellt sein.
Der Computer 300 kann auch eine Diskettenspeicherung 360 zum
Speichern von großen
Mengen an Informationen aufweisen, einschließlich von Programmdateien und
Datendateien, aber nicht beschränkt
darauf. Das Computersystem 300 kann mit einem lokalen Netz
(LAN) und/oder Weitverkehrsnetz (WAN) und/oder dem Internet unter Verwendung
einer Netzwerkverbindung 370 gekoppelt sein, wie z. B.
eines Ethernetadapters, der das Computersystem 300 koppelt,
wahrscheinlich durch einen Firewall.
-
Fachleute
werden erkennen, dass die vorliegende Erfindung in Begriffen von
beispielhaften Ausführungsbeispielen
basierend auf einer Verwendung eines programmierten Prozessors beschrieben
worden ist. Jedoch soll die Erfindung so nicht eingeschränkt werden,
da die vorliegende Erfindung unter Verwendung von Hardwarekomponentenäquivalenten
implementiert sein könnte,
wie z. B. einer Hardware für
Spezial zwecke und/oder zweckgebundenen Prozessoren, die Äquivalente
der Erfindung sind, wie dieselbe beschrieben und beansprucht wird.
In ähnlicher
Weise können
Universalcomputer, mikroprozessorbasierte Computer, Mikrosteuerungen,
optische Computer, Analogcomputer, zweckgebundene Prozessoren und/oder
eine zweckgebundene festverdrahtete Logik verwendet werden, um alternative äquivalente
Ausführungsbeispiele
der vorliegenden Erfindung zu bilden.
-
Wie
in Ausführungsbeispielen
hierin beschrieben, ist die vorliegende Erfindung unter Verwendung
eines programmierten Prozessors implementiert, der Programmierungsanweisungen
ausführt,
die oben in einer Flussdiagrammform in großen Zügen beschrieben sind, die auf
irgendeinem geeigneten elektronischen Speicherungsmedium gespeichert
sein können
oder über
irgendein geeignetes elektronisches Kommunikationsmedium gesendet
werden können.
Jedoch werden Fachleute erkennen, dass der oben beschriebene Prozess in
einer beliebigen Anzahl von Variationen und in vielen möglichen
Programmiersprachen implementiert sein kann, ohne von der vorliegenden
Erfindung abzuweichen. Zum Beispiel kann die Ordnung von bestimmten durchgeführten Vorgängen oft
variiert werden, zusätzliche
Vorgänge
können
hinzugefügt
werden oder Vorgänge
können
gelöscht
werden, ohne von der Erfindung abzuweichen. Eine Fehlerbehebung
kann hinzugefügt und/oder
verstärkt
werden und in der Benutzerschnittstelle und Informationspräsentetion
können
Variationen erfolgen, ohne von der vorliegenden Erfindung abzuweichen.
Derartige Variationen werden als äquivalent erwogen und betrachtet.
-
Während die
Erfindung in Verbindung mit spezifischen Ausführungsbeispielen beschrieben
worden ist, ist es selbstverständlich,
dass viele Alternativen, Modifikationen, Permutationen und Variationen
für gewöhnliche
Fachleute im Lichte der vorhergehenden Beschreibung ersichtlich
werden. Entsprechend ist es beabsichtigt, dass die vorliegende Erfindung
all derartige Alternativen, Modifikationen und Variationen, wie
dieselben in den Schutzbereich der beigefügten Ansprüche fallen, umfasst.