-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich auf eine Prüfvorrichtung zum Prüfen von
Speichereinrichtungen mit einer Einrichtung zum Optimieren von Merkmalen
der Prüfung
entsprechend den durch die Vorrichtung auf einer individuellen Fehlerstufe
erzeugten Prüfergebnissen.
-
Die
Erfindung ist insbesondere bei einer Prüfvorrichtung zum Prüfen von
Halbleiterspeichern auf Waferebene oder als gepackte Teile anwendbar.
-
In
der Halbleiterindustrie werden Einrichtungen auf Silikonwafern hergestellt,
typischerweise mit einem Durchmesser von 4 bis 8 Inch, mit typischerweise
400 Würfeln
pro Wafer. Diese werden unter Verwendung einer automatisierten Testvorrichtung
(ATE) geprüft,
die Würfel
ansteuert und die Antwort misst. Nach der Prüfung wird der Wafer zersägt und die
guten Würfel
werden gepackt, gebrannt und erneut getestet.
-
Die
Prüfzeit,
die Abdeckung und das Profil sind signifikante Wettbewerbsfaktoren
für den
Speicherhersteller, der daher die Prüfzeiten verringern möchte, und
die Abdeckung und das Profil der Prüfungen zum Erreichen eines
maximal frühen
Abbruchs erhöhen
möchte.
-
Beginnt
eine neue Speicherentwicklung, wird eine Reihe von Entwicklungsprüfungen zum
charakterisieren der neuen Einrichtung ausgeführt. Danach gibt es eine Reihe
von Produktionsprüfungen:
diese sind typischerweise zwischen 50% und 95% kürzer als die Entwicklungsprüfungen.
Diese Verringerung wird durch eine Analyse der Anzahl von Defekten
aus jeder Prüfung
und der Erzeugung eines Fehlerbehälterprofils erreicht (Speicher,
die bestimmte Prüfungen
nicht bestehen, oder mit einer bestimmten Menge an Fehlern werden
in Fehlerbehälter
einsortiert). Wird die Einrichtung produziert, werden weitere Prüfzeitreduktionen
und Profilverbesserungen durchgeführt: diese verwenden wiederum
die Fehlerbehälterdaten.
-
Die
Analyse von Prüfergebnissen
unter Verwendung von Fehlerbehälterdaten,
das heißt,
das Wissen lediglich um die Anzahl an Fehlern, die in jeder Prüfung gefunden
wurden, erfordert große
Sorgfalt. Der Bediener muss den Anstieg des Fehlerzählwerks
während
eines Prüflaufs überwachen,
und dann die Prüfungen
zur Bestimmung neu anordnen, wie viele neue Fehler jede Prüfung findet.
-
Gemäß der Druckschrift „Algorithmic
pattern generation at the tester",
(IBM technical disclosure Bulletin, Band 32, Nr. 6A, November 1989,
Seiten 76–79)
umfasst ein Speicherprüfsystem
eine Prüfeinrichtung, eine
Einrichtung zum Erhalten von Daten über während der Prüfung entdeckte
Fehler, und eine Einrichtung zum Modifizieren der Prüffolge entsprechend
optimierten Daten. Allerdings sind die Optimierungseinrichtung und
die Optimierungskriterien nicht ausführlich beschrieben. Eine typische
Sequenz von 70 Prüfungen,
einfach zur Berechung der Eindeutigkeit jeder Prüfung erfordert auf diese Weise
702 beziehungsweise 4900 Prüfdurchläufe mit
einer optimistischen Annahme bezüglich
des Einrichtungsverhaltens. Ferner muss die Optimierung wiederholt
werden, wenn sich der Prozess ändert.
-
Eine
Prüfmustereinrichtung
und ein Verfahren zum Betreiben einer Prüffolgenoptimierungseinrichtung mit
dem Erhalten von Daten über
Fehler, die durch eine Vielzahl von Prüfungen in einer Folge entdeckt
werden, und das Modifizieren der Folge unter Verwendung der Informationen über die
Logikzustände
der Schaltungen zur Verringerung der Testzeit sind in der EP-A-0503656 beschrieben.
-
Es
ist ein Verfahren zum Prüfen
elektronischer Schaltungen durch die Anwendung einer Folge von Prüfvektoren
auf eine zu prüfende
Speichereinrichtung bekannt (siehe US-4728883), wobei dann, wenn
ein Teil eines vorhergehenden seriellen Abtastvektors das Vorhandensein
eines Fehlers angibt, der entsprechende Teil eines folgenden seriellen
Abtastvektors am Angeben des Vorhandenseins eines Fehlers gehindert
wird. Somit wird die Prüfzeit
durch die Vermeidung von Überschussinformationen verringert.
Allerdings liefert das bekannte Verfahren keine Optimierung der
erhaltenen Folge.
-
Ein
Verfahren zum Prüfen
von Halbleiterwafern ist in der US-4875002 beschrieben. Gemäß diesem Verfahren
wird die Prüfzeit
durch Verändern
der Prüffolge
bei jedem Baustein derart verbessert, dass die Prüfung mit
der höchsten
Wahrscheinlichkeit der Erfassung eines Fehlers als erste durchgeführt wird,
so dass die Anzahl von Prüfschritten
reduziert werden kann. Allerdings beruht das bekannte Verfahren
auf der Annahme, dass Wafer in einer Parzelle und Nachbarbausteine
auf einem Wafer ähnliche
Eigenschaften aufweisen, was nicht wahrscheinlich ist, und falsche
Ergebnisse liefern kann. Gemäß dem bekannten
Verfahren werden Bausteine oder Wafer mit Fehlern ohne Analyse von
Fehlerbitmustern verworfen, weshalb die Leistung jeder Prüfung auf
einer individuellen Zellenstufe unbekannt ist.
-
Der
Vorteil der Erfindung besteht in der Fähigkeit eines ATE-Systems,
automatisch ihre eigenen Prüffolgen
unter Verwendung von Fehlerbitmusterdaten zu optimieren, um Informationen
zu erzeugen, die eine Prüfmusterfolgenoptimierung
zum Maximieren der Abdeckung als Funktion der Zeit ermöglichen.
Obwohl die Analyse vollständiger
Bitmuster ein zeitraubender Vorgang ist, der selbst die Prüfzeit erhöhen kann,
wird die endgültige
Prüfeffizienz
verbessert und die Gesamtprüfzeit
verringert, wenn die vorgeschlagene Einrichtung für eine Prüffolgenoptimierung
verwendet wird, die sich die nachstehend näher beschriebenen heuristischen Kriterien
zu Nutze macht.
-
Der
Erfindung liegt die Aufgabe zugrunde, eine Einrichtung für ein ATE-System
zum Optimieren dessen Prüfmuster
und zur Darstellung von Informationen sowohl über die Muster als auch die
getesteten Einrichtungen (DUTs) auszugestalten, das bisher eine
Vielzahl von Prüfdurchläufen und
erhebliche manuelle Interventionen und Interpretationen erfordert
hat.
-
Das
Wesen der Erfindung besteht in einer Einrichtung zur Erzeugung eines
neuen Fehlerbitmusters der DUTs nach jeder Prüfung, wie dem Prüfsegment
oder jeder Prüfgruppe,
und der automatischen Korrelation von Änderungen oder Unterschieden
in diesen Bitmustern, und einer Einrichtung zum Informieren des
Bedieners der Vorrichtung über
die Verbesserung für
entweder eine manuelle oder automatische Miteinbeziehung in ATE-Steuerungs-, Muster-
oder Zeitsysteme.
-
Somit
ist die Erfindung eine Kombination aus Hardware und Software in
einem System zur Ausführung jeder
Prüfung
in einer Folge, und zum Erhalten von Fehlerbitmustern für jede Prüfung, jedes
Prüfsegment
oder jede Prüfgruppe
durch Hardwareeinrichtungen, vorzugsweise durch Komprimieren der
Bitmuster, zum Akkumulieren der Fehlerbitmusterdaten während der
Prüfung
und Korrelieren jedes Bitmusters unter Verwendung einer Analysehardware
oder Software zum Bestimmen der Leistung jeder Prüfung auf
einer individuellen Zellenstufe beziehungsweise Zellenebene, wobei
die Zelle die kleinste adressierbare im Bitmap gespeicherte Einheit
ist, vorzugsweise ein binäres
Bit, wobei die Zellengröße aber
bei DUTs bei einer bestimmten Prüfung
größer als
ein Bit sein kann, oder die Zelle einen Logikvorgang bei allen Daten-(DQ)Ebenen
der DUT an einer bestimmten Adresse oder in einem Adressfenster
darstellen kann.
-
Die
vorstehend angeführte
Aufgabe wird durch ein Speicherprüfsystem nach Patentanspruch
1 und durch ein Verfahren zum Betreiben einer Prüffolgenoptimierungseinrichtung
nach Patentanspruch 8 gelöst.
-
Erfindungsgemäß werden
defekte Gruppen unter Verwendung von Prüfvektoren analysiert, die in
einem System aufgrund einer Systemfähigkeit zur Speicherung von
Fehlerbitmustern für
jede Prüfung
in einer Folge gespeichert werden können. Somit ist der Prüfvektor
eine Prüfmusterfolgenuntergruppe,
die zumindest eine defekte Zelle in einer zu prüfenden Speichereinrichtungsparzelle
findet.
-
Die
Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme
auf die beiliegende Zeichnung näher
beschrieben. Es zeigen:
-
1 ein
Blockschaltbild der Erfindung, wobei eine durch ein ATE-System 2 mit
einer Fehlerbitmusterfähigkeit
in der Form eines Fehlerauffang-RAM 3 geprüfte DUT 1,
eine Bitmusterkomprimierungseinrichtung 4 und eine Korrelationseinrichtung 5 gezeigt
sind, wobei eine Folgenoptimierungseinrichtung 6 mit einem
Computer 8 zur Speicherung oder zum Anzeigen von Informationen
aus der Korrelation verbunden ist 7. Jede Funktion kann
sich zwischen der Hardware im ATE-System und im Computer bewegen.
-
2 zeigt
ein Ablaufdiagramm des Betriebs der Folgenoptimierungseinrichtung
zur Durchführung
einer Korrelation von Prüfergebnissen
anhand der Bitmuster.
-
Die
Erfindung wird nachstehend anhand eines Ausführungsbeispiels beschrieben.
-
Gemäß 1 ist
das Speicherprüfsystem 2 zur
Ausführung
jeder Prüfung
in einer Folge und für
jede Prüfung
oder jedes Prüfsegment
oder jede Prüfgruppe
zum Erhalten von Fehlerbitmustern für jede Prüfung durch ein Fehlerauffang-RAM 3 eingerichtet.
Im Fehlerauffang-RAM 3 ist ein FIFO-Speicher unter Verwendung eines
SRAM zur Speicherung der Fehleradresse, des Datenbits mit dem Fehler
und weiterer Parameter emuliert.
-
Werden
Fehler erfasst, oder nach jedem Durchlauf eines Prüfmusters
wird der Fehlerspeicher in eine Korrelationseinrichtung heruntergeladen,
die die Fehleradressen zum Identifizieren der bestimmten Gruppe von
Prüfungen
korreliert, die jeden Fehler in einer Zelle gefunden hat. Eine weitere
Grundfunktion der Korrelationseinrichtung besteht in der Akkumulation
der Bitmusterfehlerdaten während
der Prüfung
und der Korrelation jedes Bitmusters unter Verwendung einer Analysehardware
oder – software
zur Bestimmung der Leistung jeder Prüfung oder jedes Prüfsegments
oder jeder Prüfgruppe
auf einer individuellen Zellenebene, wobei die Zelle die kleinste
adressierbare Einheit ist, die im Bitmuster gespeichert ist.
-
Eine
Korrelationseinrichtung kann als ASIC oder Softwareprogramm implementiert
sein, das auf einem Computer läuft,
in den die individuellen Fehlermuster heruntergeladen werden. Der
Computer oder die ASIC-Schaltung hält vorzugsweise die akkumulierten
Daten in komprimiertem Format, beispielsweise durch die Speicherung
von zwei der Ecken der Region, die das gleiche Muster defekter Zellen
teilt, wobei eine zweite Kompressionsstufe durch Blockkodierung
dieser Daten gebildet wird.
-
Bei
diesem Ausführungsbeispiel
kann die Speichergröße ein Speicherbit
sein, oder kann eine Vielzahl von Bits sein, ist jedoch kleiner
als ein Tausendstel der Gesamtanzahl an Speicherbits in der DUT.
-
Unter
manchen Prüfbedingungen
führt die
DUT eine Logikoperation bei allen Daten-(DQ)Ebenen der DUT durch,
entweder wenn ein Fehler vorhanden ist, oder die Inhalte der Ebenen
innerhalb eines bestimmten Adressfensters verschieden sind. Erfindungsgemäß kann die
Analyse dieser permutierten Daten als Alternative zur Verwendung
der realen 1- und 0-Daten durchgeführt werden.
-
Nach
der Korrelation der akkumulierten Daten können die Prüfungen oder kann die Prüfleistung
automatisch zur Verringerung der Prüfzeit durch Modifikation bzw.
Veranlassung der Modifikation der Prüfmusterfolge der Speicherprüfeinrichtung
optimiert werden.
-
2 zeigt
ein Ausführungsbeispiel
einer automatischen Prüfmusteroptimierungseinrichtung,
die die Überlappung
(Redundanz), die Gesamtprüfzeit
und den Anstieg der Prüfabdeckung
minimiert. Das Ergebnis der Optimierung besteht in der Modifikation
der Prüfmusterfolge
der Speicherprüfeinrichtung,
oder im Ausgeben von Ergebnissen, die deren Modifikation verursachen.
-
Eine
Erweiterung dieses Ausführungsbeispiels
besteht in der Verbindung der korrelierten Daten mit einem automatischen
Analysewerkzeug zur Bestimmung der Ursache von durch die bestimmten
Prüfungen identifizierten
Fehlern auf geometrischer, typspezifischer, prozessspezifischer
oder elektrischer Ebene.
-
Alternativen
für die
Verwendung des FIFO-Speichers zum Bilden des Fehlerauffang-RAM sind
ein Speicherprüfsystem,
jedes beliebige andere Register oder ein Inhalt-adressierbarer Speicher
oder FILO oder ein RAM mit einer Liste von Fehleradressdaten und
dem Datenbit und der DUT mit dem Fehler.
-
Die
Korrelationsfunktion kann mit Daten aus einer Vielzahl von Speicherprüfsystemen
angewendet werden, die direkt oder indirekt angeschlossen sind,
so dass die Leistungsdaten oder individuellen Zellenfehlermuster
mit einer Kreuzkorrelationsfunktion zum Identifizieren von Unterschieden
in der Leistung von Prüfsystemen
oder verschiedener Prüfungen oder
verschiedener Prüfbedingungen
oder verschiedener Zeiteinstellungen beaufschlagt werden.
-
Das
Problem der Minimierung der Redundanz in der Prüfabdeckung zum Optimieren einer
Prüffolge wird
nachstehend beschrieben:
-
Eingabe
-
- n – Anzahl
der bei Bausteinen in der Datenbank durchgeführten Prüfungen;
- A = (a1, a2 ...
an) stellt die Folge der durchgeführten Prüfungen dar,
wobei A ein geordnetes Array ist;
- T = (t1, t2,
..., tn) stellt ein Array von Prüfdauern
dar, das heißt,
ti stellt die Dauer der Prüfung ai dar;
- TA – Gesamtprüfzeit der
Ausführung
der Folge A = Σti;
- Abdeckung (A) – Gruppe
von Fehlern, die durch die Folge A gefunden werden, das heißt, durch
zumindest eine Prüfung
aus der Folge gefunden werden.
-
Ausgabe
-
- B = (b1, b2 ...
bm) – optimierte
Folge durchgeführter
Prüfungen,
Transposition der Untergruppe A mit der folgenden Eigenschaft: Abdeckung
(A) = Abdeckung (B), TA ≤ TB (das
heißt,
m ≤ n), wobei
B leer ist, wenn B keine Prüfungen
enthält.
-
Das
vorstehend beschriebene Problem gehört in die Klasse NP-Vollständigkeit-Probleme,
das heißt die
Zeit zum Finden der optimalen Lösung
steigt exponentiell an; daher wendet das praktische Ausführungsbeispiel
der Abläufe
zum Lösen
dieses Problems einen heuristischen Ansatz zum Finden einer nahezu
optimalen Lösung
an.
-
Das
Ausführungsbeispiel
in 2 wendet das folgende Verfahren an, wobei S eine
Unterfolge von A und I (S, ai) die Abdeckung
(S) A Abdeckung (ai) ist, und ai die
Prüfung
i ist.
-
Das
Ausführungsbeispiel
führt auch
R als Redundanzkoeffizienten ein, wobei R = I/ta ein
Koeffizient ist, der angibt, wie viele redundante Arbeit pro Zeiteinheit
ausgeführt
wird.
-
Der
Ablauf minimiert die Gesamtprüfzeit
durch Auswählen
des nächsten
Tests mit dem minimalen Redundanzkoeffizienten R. Der Ablauf wählt die
erste Prüfung
derart aus, dass die endgültige
optimierte Folge B enthalten ist, und fügt dann bei jeder Iteration
eine Prüfung
mit dem minimalen Redundanzkoeffizienten hinzu. Es wird ein Verzweigungsalgorithmus
verwendet.
-
Im
Pseudo-Code lautet diese Lösung
wie folgt:
Zusätzliche
Datenstrukturen:
D – Array
verworfener Prüfungen
D(i) ∈ {0,1};
I
= (I1, I2, ...In) vorhandenes Schnittmengenarray Ii, I(B, ai)
Rmin – minimales
Ri
- 1. B = (); endgültige Folge
B in leeren Zustand versetzen.
- 2. Prüfung
i mit maximaler Leistung, das heißt, Abdeckung (ai)
finden. ai zum Ende von B hinzufügen.
-
-
Erfindungsgemäß kann der
vorgeschlagene Ablauf wie folgt modifiziert werden, wobei S eine
Unterfolge von A und D (S, ai) die Abdeckung
von S/Abdeckung (a1) ist, wobei ai die Prüfung
i ist, M der maximale Abdeckungskoeffizient und M = D/ta der
Koeffizient ist, der angibt, wie viel sinnvolle Arbeit pro Zeiteinheit durchgeführt wird.
-
Der
Ablauf arbeitet zum Maximieren der Abdeckung an jedem Schritt der
Bildung einer Prüffolge
mit der kürzesten
Prüfzeit (das
heißt,
nimm die nächste
Prüfung
mit dem maximalen Abdeckungskoeffizienten D). Der Ablauf wählt die
erste Prüfung
derart aus, dass die endgültige
optimierte Folge B enthalten ist, und fügt dann eine Prüfung pro
Iterration mit dem maximalen Abdeckungskoeffizienten hinzu. Bei
diesem Ausführungsbeispiel
wird wieder ein Verzweigungsalgorithmus verwendet.
-
Eine
weitere Modifizierung des vorgeschlagenen Verfahrens beinhaltet
die folgenden Schritte zum Erhalten einer optimalen Prüffolge:
-
– Erzeugen
verkürzter
Dauern durch Teilen jeder Prüfdauer
durch die Anzahl defekter Gruppen, die durch jede zusätzliche
Prüfung
abgedeckt werden,
-
– Sortieren
von Vektoren in Gruppen mit der gleichen Bitmenge, um zu Beginn
Vektoren abzudecken, die weniger Prüfungen enthalten, und dann
Vektoren, die eine größere Anzahl
an Prüfungen
enthalten;
-
– Durchsuchen
der Vektorliste (Durchsuchen der Liste lediglich einmal und Bilden
eines Ergebnisvektors),
-
– Überprüfen des Überflusses
und Entfernen der längsten
nutzlosen Prüfungen
(die Heuristik des Algorithmus ermöglicht keine vollständige Vermeidung
von Redundanz; zur Verringerung der Redundanz wird überprüft, ob Prüfungen vom
Ergebnis entfernt werden können,
und die Prüfung
mir der längsten
Zeit wird entfernt);
-
– Kopieren
der Ergebnisse in einen Parameter-„Vektor" (Bilden eines speziellen Arrays, in
dem jede Zelle entweder 0 enthält,
wenn die Prüfung
nicht aufgenommen wurde, oder einen Prozentsatz von abgedeckten
Fehlern, nachdem diese Prüfung
und alle vorhergehenden Prüfungen
aufgenommen wurden).
-
Bei
diesem Ausführungsbeispiel
wird das Verzweigungsverfahren angewendet.
-
Die
vorstehende Beschreibung und die Zeichnung zeigen ein Ausführungsbeispiel,
und es können
verschiedene Modifikationen dieses Ausführungsbeispiels innerhalb des
Schutzbereichs der Erfindung ausgeführt werden.
-
Anlage
1. VHDL Hardwarebeschreibung für
programmierbare CMOS-Logikeinrichtungen für das Beispiel des Fehlerauffang-RAM
mit einem schnellen Fehlerherunterladevorgang
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-