Verarbeitung von Bilddatensätzen
TECHNISCHES GEBIET
Verschiedene Beispiele der Erfindung betreffen im Allgemeinen die Verarbeitung von zwei- oder dreidimensionalen Bilddatensätzen. Verschiedene Beispiele der Erfindung betreffen insbesondere das Anwenden einer hierarchischen Kachelung auf dem zwei- oder dreidimensionalen Bilddatensatz.
HINTERGRUND
Bei der Fertigung von Halbleiter-Bauelementen ist oftmals die Überwachung der Wafer-Prozessierung erforderlich, um Defekte zu erkennen, Ausschuss zu mindern und um Prozesskosten zu senken. Anomalien können identifiziert werden.
Metrologie, d. h. die Vermessung von bestimmten geometrischen Eigenschaften von Strukturen der Halbleiter-Bauelemente auf dem Wafer (etwa Breite, Länge oder Durchmesser), wird ermöglicht.
Durch größere Wafer-Durchmesser und kleinere Strukturgrößen ist die Anzahl von Strukturen auf einem Wafer (oder aber auch auf einem typischen Chip) besonders groß. Die Verarbeitung von entsprechend hochauflösenden Bilddatensätzen ist deshalb aufwendig und speicherintensiv.
Zum Beispiel sind insbesondere dreidimensionale (3-D) Bilddatensätze bekannt, etwa durch Röntgenbildgebung oder eine kombinierte Technik umfassend einen fokussierten lonenstrahl zur Probenpräparation und gescannte
Elektronenmikroskopie (FIB-SEM-Mikroskop). Solche 3-D-Bilddatensätze sind dann besonders groß (d.h. weisen viele Voxel auf) und können mit herkömmlichen
Techniken nur besonders zeitintensiv verarbeitet werden.
KURZE BESCHREIBUNG DER ERFINDUNG
Deshalb besteht ein Bedarf für verbesserte Techniken zur Verarbeitung von
Bilddatensätzen, insbesondere von 3-D-Bilddatensätzen, welche Halbleiter- Bauelemente abbilden. Insbesondere besteht ein Bedarf für solche Techniken, welche die Verarbeitung von großen Bilddatensätzen mit vielen Bildelementen ermöglichen.
Diese Aufgabe wird von den Merkmalen der unabhängigen Patentansprüche gelöst. Die Merkmale der abhängigen Patentansprüche definieren Ausführungsformen.
Ein Verfahren umfasst das Erhalten eines Bilddatensatzes. Der Bilddatensatz bildet Halbleiter-Bauelemente ab. Das Verfahren umfasst auch das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz. Die Kachelung weist mehrere Kacheln auf mehreren Hierarchieebenen auf. Kacheln unterschiedlicher
Hierarchieebenen weisen unterschiedliche Bildelementgrößen der entsprechenden Bildelemente auf.
Je nach Dimensionalität des Bilddatensatzes - das heißt 3-D oder zweidimensional (2-D) - kann auch die Dimensionalität der Kacheln variieren.
Das Anwenden der hierarchischen Kachelung auf den Bilddatensatz kann einer Zerlegung des Bilddatensatz in Kacheln auf den mehreren Hierarchieebenen und gemäß der Kachelung entsprechen. Die Kachelung kann also einer Regel zur Zerlegung in die Kacheln entsprechen.
Ein Computerprogramm oder ein Computerprogramm-Produkt oder ein
computerlesbares Speichermedium umfasst einen Programmcode. Der
Programmcode kann von einem Prozessor geladen und ausgeführt werden. Dies bewirkt das Ausführen eines Verfahrens. Das Verfahren umfasst das Erhalten eines Bilddatensatzes. Der Bilddatensatz bildet Halbleiter-Bauelemente, insbesondere auch Bauelemente innerhalb eines integrierten Schaltkreises, ab. Das Verfahren umfasst auch das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz.
Die Kachelung weist mehrere Kacheln auf mehreren Hierarchieebenen auf. Kacheln unterschiedlicher Hierarchieebenen weisen unterschiedliche Bildelementgrößen auf.
Ein Prozessor ist eingerichtet, um Programmcodes aus einem Speicher zu laden und auszuführen. Dies bewirkt das Ausführen eines Verfahrens. Das Verfahren umfasst das Erhalten eines Bilddatensatzes. Der Bilddatensatz bildet Halbleiter-Bauelemente ab. Das Verfahren umfasst auch das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz. Die Kachelung weist mehrere Kacheln auf mehreren
Hierarchieebenen auf. Kacheln unterschiedlicher Hierarchieebenen weisen unterschiedliche Bildelementgrößen auf.
Die oben dargelegten Merkmale und Merkmale, die nachfolgend beschrieben werden, können nicht nur in den entsprechenden explizit dargelegten Kombinationen verwendet werden, sondern auch in weiteren Kombinationen oder isoliert, ohne den Schutzumfang der vorliegenden Erfindung zu verlassen.
KURZE BESCHRIBUNG DER FIGUREN
FIG. 1 illustriert schematisch ein System mit einer bildgebenden Einheit und einer Recheneinheit gemäß verschiedenen Beispielen.
FIG. 2 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 3 illustriert das Anwenden einer hierarchischen Kachelung auf einen 3-D- Bilddatensatz gemäß verschiedenen Beispielen.
FIG. 4 illustriert das Anwenden einer hierarchischen Kachelung auf einen 3-D- Bilddatensatz gemäß verschiedenen Beispielen.
FIG. 5 illustriert schematisch verschieden Hierarchieebenen der hierarchischen Kachelung gemäß verschiedenen Beispielen.
FIG. 6 illustriert schematisch verschiedene Aspekte zur Datenverarbeitung gemäß verschieden Beispielen.
FIG. 7 illustriert schematisch Strukturen in Kacheln auf unterschiedlichen Flierarchieebenen sowie multihierarchische Labels für die Strukturen gemäß verschiedenen Beispielen.
FIG. 8 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 9 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 10 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 11 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG. 12 ist ein Flussdiagramm eines beispielhaften Verfahrens.
FIG 13 illustriert schematisch verschiedene Hierarchieebenen von Halbleiter- Bauelementen und korrelierende Hierarchieebenen der hierarchischen Kachelung gemäß verschiedenen Beispielen.
FIG 14 illustriert schematisch verschiedene Hierarchieebenen von Halbleiter- Bauelementen und korrelierende Hierarchieebenen der hierarchischen Kachelung gemäß verschiedenen Beispielen.
DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der
Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden.
Nachfolgend wird die vorliegende Erfindung anhand bevorzugter Ausführungsformen unter Bezugnahme auf die Zeichnungen näher erläutert. In den Figuren bezeichnen gleiche Bezugszeichen gleiche oder ähnliche Elemente. Die Figuren sind
schematische Repräsentationen verschiedener Ausführungsformen der Erfindung. In den Figuren dargestellte Elemente sind nicht notwendigerweise maßstabsgetreu dargestellt. Vielmehr sind die verschiedenen in den Figuren dargestellten Elemente derart wiedergegeben, dass ihre Funktion und genereller Zweck dem Fachmann verständlich wird. In den Figuren dargestellte Verbindungen und Kopplungen zwischen funktionellen Einheiten und Elementen können auch als indirekte
Verbindung oder Kopplung implementiert werden. Eine Verbindung oder Kopplung kann drahtgebunden oder drahtlos implementiert sein. Funktionale Einheiten können als Flardware, Software oder eine Kombination aus Flardware und Software implementiert werden.
Nachfolgend werden Techniken im Zusammenhang mit der Verarbeitung von
Bilddatensätzen beschrieben.
Als allgemeine Regel können mittels der hierin beschriebenen Techniken
unterschiedlichste Arten von Bilddatensätzen verarbeitet werden. Beispielsweise könnten zweidimensionale (2-D) Bilddatensätze verarbeitet werden. Es können aber auch 3-D Bilddatensätze verarbeitet werden. Im Fall von 2-D Bilddatensätzen werden die Bildelemente durch Pixel gebildet und im Fall von 3-D Bilddatensätzen werden die Bildelemente durch Voxel gebildet.
Die nachfolgend beschriebenen Techniken werden primär im Zusammenhang mit 3- D Bilddatensätzen beschrieben, wobei entsprechende Techniken auch entsprechend auf 2-D Bilddatensätze angewendet werden können.
Der 3-D-Bilddatensatz kann eine Erstreckung in alle drei Raumdimensionen aufweisen. Dies bedeutet, dass der 3-D-Bilddatensatz mehrere Voxel aufweisen kann. Ein Voxel kann als das 3-D-Äquivalent eines 2-D-Pixels beschrieben werden. Der Voxel und der Pixel sind Bildelemente. Ein Voxel kann einen bestimmten
Kontrast aufweisen, der indikativ für den vom Voxel abgebildeten Raumbereich ist. Ein Voxel hat drei Seiten mit bestimmten Kantenlängen. Z.B. können die Voxel in den verschiedenen hierin beschriebenen Beispielen unterschiedliche Kantenlängen haben, z.B. im Bereich von nm bis mm.
Die hierin beschriebenen Techniken können in unterschiedlichen
Anwendungsgebieten eingesetzt werden. Als allgemeine Regel können
unterschiedliche Typen von Strukturen durch den 3-D-Bilddatensatz abgebildet werden. Beispielsweise wäre es möglich, dass der 3-D-Bilddatensatz organische Proben (zum Beispiel in der Lichtblatt-Mikroskopie, engl „light-sheet microscopy“), die Anatomie eines Patienten (bei der Computertomographie-Bildgebung oder der Magnetresonanz-Bildgebung), Werkstücke (zerstörungsfreie Röntgenbildgebung etwa bei der Überprüfung von Turbinenblättern etc.), Radarmessungen, oder auch Halbleiter-Bauelemente (etwa FIB-SEM-Bildgebung oder Röntgenbildgebung) abbildet. Nachfolgend wird aus Gründen der Einfachheit vornehmlich Bezug genommen auf 3-D-Bilddatensätze, welche Halbleiter-Bauelemente abbilden. Die entsprechenden Techniken können aber auch auf andere Anwendungsgebiete übertragen werden. Ein 2-D Bilddatensatz kann z.B. mit einem gescannten
Elektronenstrahlmikroskop (engl scanning electrone microscope, SEM) erhalten werden.
Halbleiter-Bauelemente können z.B. aus folgenden Gruppen ausgewählt sein:
Speichergruppen; Speicherzellen; Transistoren; Gate; Logikgatter; Vias;
Leiterbahnen; Chips; Dies;„Die-Streets“; Transistor-Kontakte wie Gate, Source, Drain; Gräben oder Löcher; usw.
Je nach Anwendungsgebiet können unterschiedliche bildgebende Verfahren
(Bildgebungsmodalität) zum Erfassen des Bilddatensatzes eingesetzt werden. Bei einem 2-D Bilddatensatz könnte z.B. ein Vielstrahl-SEM (mSEM) verwendet werden. Bei einem 3-D Bilddatensatz könnte etwa FIB-SEM-Bildgebung bei Halbleiter- Bauelementen verwendet werden. Solche und andere Verfahren zur Erfassung von Bilddatensätzen sind im Grundsatz bekannt. Beispiele umfassen zum Beispiel die Hellfeld-Inspektion. Eine SEM-Bildgebung ist möglich. Tunnel- Elektronenmikroskop(TEM)-Lamellen können präpariert und abgebildet werden. Die hierin beschriebenen Techniken können kombiniert werden mit den
unterschiedlichen bildgebenden Verfahren.
Verschiedene Beispiele beruhen auf der Erkenntnis, dass eine geeignete
Strukturierung des Bilddatensatzes als Eingabedaten für einen
Verarbeitungsalgorithmus die effiziente Verarbeitung des Bilddatensatzes fördern kann. Eine geeignete Strukturierung des Bilddatensatzes kann auch die logische Verknüpfung von Strukturen des Bilddatensatzes ermöglichen. Derart können Defekte besser gefunden und klassifiziert werden. Außerdem kann mittels der hierin beschriebenen Techniken das Navigieren durch einen Bilddatensatz gefördert werden, indem - mittels der hierarchischen Kachelung - jeweils Kontextinformation über die Position einer entsprechenden einen Teil eines Halbleiter-Bauelements abbildenden Struktur in einer komplexen Architektur von ein oder mehreren
Halbleiter-Bauelementen indiziert werden kann. Auch kann es möglich sein, gezielt bestimmte Halbleiter-Bauelemente aufzufinden, indem unter Verwendung der hierarchischen Kachelung gezoomt wird.
Typische 3-D-Bilddatensätze können zum Beispiel eine Anzahl von 6000 x 6000 x 1000 Voxel aufweisen. Als allgemeine Regel kann die Voxeianzahl im Sinne der vorliegenden Beschreibung die Anzahl von Voxeln in einem abgebildeten 3-D- Volumen (Bildvolumen) beschreiben. Dies bedeutet, dass die Voxeianzahl äquivalent zur Anzahl von Pixeln eines 2-D-Bilds sein kann. Die Anzahl von Voxeln in den verschiedenen Raumrichtungen wird nachfolgend zum Beispiel als (A, B, C) bezeichnet. Dann ist die gesamte Voxeianzahl im Datensatz ABC.
Gemäß verschiedener Beispiele wird eine hierarchische Kachelung auf einen 2-D- oder 3-D-Bilddatensatz angewendet. Die Kachelung weist mehrere Hierarchieebenen auf. Unterschiedliche Kacheln sind in unterschiedlichen Hierarchieebenen
zugewiesen. Kacheln auf unterschiedlichen Hierarchieebenen weisen
unterschiedliche Bildelementgrößen auf, d.h. unterschiedliche Kantenlängen von Voxeln oder Pixeln.
Die Kachelung kann Assoziierungen zwischen den Kacheln beschreiben. Die
Kachelung kann z.B. durch eine Baumstruktur beschrieben werden. Die
Baumstruktur kann eine hierarchische Anordnung der Kacheln definieren. Dabei kann eine Kachel einer bestimmten Hierarchieebene mehrere Kacheln auf einer niedrigen Hierarchieebene umfassen; und kann in einer Kachel einer höheren Hierarchieebene beinhaltet sein.
Die Kacheln (engl „bricks“) können 2-D- oder 3-D-Teilbereiche eines Bildvolumens (engl „field of view“) des 2-D- oder 3-D-Bilddatensatzes abbilden. Jede Kachel kann eine Anzahl von Pixeln bzw. Voxeln einer bestimmten Größe aufweisen. Die Kacheln könnten unterschiedliche oder gleiche Kantenlängen entlang der zwei bzw. drei Raumrichtungen aufweisen.
Die Pixelgröße bzw. Voxeigröße korreliert als allgemeine Regel mit einer
Auflösung/Abtastung, mit der Strukturen dargestellt werden können. Die Pixelgröße bzw. Voxeigröße kann durch die Kantenlänge eines Pixels bzw. Voxels in den verschiedenen Raumrichtungen beschrieben werden. Typische Kantenlängen liegen z.B. im Bereich von nm bis mm - in Abhängigkeit der jeweiligen Hierarchieebene auf der die entsprechende Kachel ist. Um unterschiedliche Pixelgrößen bzw.
Voxeigrößen zu erhalten, kann eine Abwärtswandlung verwendet werden. Zum Beispiel können die Kacheln auf einer oberen Hierarchieebene eine größere
Pixelgröße bzw. Voxeigröße aufweisen, als die Kacheln auf einer unteren
Hierarchieebene. Dies bedeutet in anderen Worten, dass die Kacheln auf der unteren Hierarchieebene Strukturen mit größerem Detail bzw. einer höheren
Auflösung abbilden können, als die Kacheln auf einer oberen Hierarchieebene. Die Pixelgröße bzw. Voxeigröße korreliert mit der von einer Kachel sichtbaren bzw.
erkennbaren minimalen Strukturgröße.
Die Abwärtswandlung (engl „downsampling“) beschreibt im Allgemeinen das
Herabsetzen der Auflösung eines Bilddatensatzes. Dies bedeutet, dass die
Pixelgröße bzw. Voxeigröße heraufgesetzt wird, zum Beispiel indem die Pixel bzw. Voxel auf ein gröberes Gitter interpoliert werden, nur jeder n-te Pixel bzw. Voxel beibehalten wird oder eine Mittelung erfolgt.
In dem die Hierarchie der Kachelung verwendet wird, kann ein logisches Verknüpfen von Strukturen, die Strukturgrößen aufweisen, die den Bildelementgrößen der Kacheln auf den unterschiedlichen Hierarchieebenen entsprechen, effizient ermöglicht werden. Außerdem kann ein effizientes Navigieren durch den
Bilddatensatz ermöglicht werden. Das Navigieren kann z.B. durch Ansteuerung einer Mensch-Maschinen-Schnittstelle (HMI) ermöglicht werden. Der Speicherbedarf während des Navigierens im Bilddatensatz kann limitiert werden: z.B. können jeweils
nur relevante Kacheln im Arbeitsspeicher gehalten werden. Zum Beispiel können die Pixel/Voxel einer bestimmte Kachel über die HMI an den Benutzer ausgegeben werden; dann wäre es denkbar, dass alle innerhalb dieser Kachel beinhalteten weiteren Kacheln auf niedrigeren Hierarchieebenen bereits prospektiv in den
Arbeitsspeicher geladen werden.
Als Beispiel für das effiziente Navigieren durch den 3-D-Bilddatensatz wird folgendes Szenario beschrieben: beispielsweise könnte die Gate-Isolierung für Transistoren in bestimmten Speicherelementen geprüft werden. Dazu kann es vorteilhaft sein, wenn zum Beispiel solche Transistoren mit einem möglichen Defekt (beispielsweise mittels eines maschinengelernten Algorithmus identifiziert) nacheinander dem Experten visuell ausgegeben werden und basierend darauf eine visuelle Prüfung durchgeführt werden kann. Gleichzeitig kann jeweils der Kontext des jeweiligen Transistors ausgegeben werden, das heißt zum Beispiel die höher hierarchischen Halbleiter- Bauelemente identifiziert werden, zu denen der jeweilige Transistor gehört (also z.B. Die[7]-Trench[3]-Speicherzelle[5] usw.). Anhand einer solchen Information zum Kontext des jeweiligen Transistors kann erstens eine schnelle Wiederauffindbarkeit des Defekts gewährleistet werden. Zweitens kann der Kontext des jeweiligen
Transistors bei der Prüfung berücksichtigt werden, um zum Beispiel bestimmte Abhängigkeiten einer Defekthäufigkeit vom Kontext zu identifizieren. Der Kontext kann durch ein multihierarchisches Label bereitgestellt bzw. indiziert werden. Details zum Annotieren von Labels werden nachfolgend beschrieben.
Beispielsweise können Labels an Strukturen in verschiedenen Kacheln vergeben werden. Als allgemeine Regel bezeichnet ein Label die logische Klassifikation einer Struktur. Unterschiedliche Struktur-Typen können unterschiedliche Labels erhalten. Als allgemeine Regel können die Struktur-Typen z.B. eine Gesamtansicht der Halbleiter-Bauelemente umfassen, oder Teile der Halbleiter-Bauelemente (wobei Teile der Halbleiter-Bauelemente wiederum als eigenständige Halbleiter- Bauelemente bezeichnet werden können, z.B. Schicht - Trench - Transistor - Gate), oder auch andere Merkmale, etwa Lithographie-Marker, Defekte, Verunreinigungen, usw. Ein Label kann auch die Position einer Struktur indizieren, zum Beispiel mittels einer Begrenzungs-Box (engl „bounding box“) oder durch Segmentierung auf Voxel- Ebene. Das bedeutet also allgemein gesprochen, dass ein Label auch benutzt
werden kann, um einen positionierten und räumlich abgegrenzten Bereich (z.B. durch eine bounding box mit Mittelpunkts- oder Eckkoordinate oder durch eine Segmentierung mit ihrem Schwerpunkt) zu indizieren.
Annotierung bezeichnet den Prozess der Vergabe von Labels an Strukturen. Die Vergabe von Labels an Strukturen kann in den verschiedenen Beispielen manuell, teilautomatisch oder vollautomatisch erfolgen. Die Vergabe von Labels kann zum Beispiel die Vererbung und/oder Propagation von Labels zwischen assoziierten Strukturen beinhalten. Z.B. kann im Rahmen der Annotierung eine Objekterkennung oder im Allgemeinen eine Klassifikation verwendet werden.
Objekterkennung bezeichnet typischerweise den automatisierten Prozess der Erkennung von Strukturen und dem Versehen von Labels mit einem geeigneten Objekterkennungsalgorithmus. Auch eine Segmentierung ist im Rahmen der
Objekterkennung möglich.
Die Klassifikation bezeichnet typischerweise das Bilden von Klassen von
vergleichbaren Strukturen. Klassen können durch einen Klassen-Repräsentanten identifiziert werden. Strukturen, die vergleichbar mit dem Repräsentanten sind bzw. im Zusammenhang mit einer vorgegebenen Metrik eine besonders große Ähnlichkeit aufweisen, können der entsprechenden Klasse zugewiesen werden. Andere
Strukturen, die keine solche große Ähnlichkeit aufweisen, können der Klasse nicht zugewiesen werden. Durch die Klassifizierung kann das Vergeben von Labels ermöglicht werden. Die Labels können zum Beispiel die Zuordnung zu den verschiedenen Klassen beschreiben.
Die Kachelung kann aber nicht nur zur effizienten Vergabe von Labels verwendet werden. Alternativ oder zusätzlich kann auch eine Registrierung des Bilddatensatzes an einem Referenzdatensatz - etwa Geometriereferenzdaten wie z.B. CAD-Files oder mit einem optischen Mikroskop erfasste Übersichtsbilder - ermöglich werden. Die Registrierung bezeichnet typischerweise Entfernen von translatorischen
Verschiebungen und/oder Rotationen und/oder Skalierung zwischen zwei
Datensätzen. Durch die Registrierung kann eine Zuordnung zwischen Bildelementen des ersten Datensatz zu den Bildelementen des zweiten Datensatzes erhalten
werden, wobei die Größe der Bildelemente in beiden Datensätzen verschieden sein kann.
FIG. 1 illustriert schematisch ein System 90 gemäß verschiedenen Beispielen. Das System 90 umfasst eine bildgebende Einrichtung 91 , im Beispiel der FIG. 1 ein FIB- SEM-Mikroskop. Dieses kann zum Beispiel Tunnel-Elektronenmikroskop-Lamellen präparieren oder durch„slice and image“ (sequentielles Abtragen von Schichten durch FIB und jeweils erfassen eines SEM-Bilds) einen 3-D-Bilddatensatz 100 eines Probenobjekts erzeugen. Typischerweise könnte das Probenobjekt zum Beispiel ein Wafer oder ein Chip sein.
Als allgemeine Regel können unterschiedliche bildgebende Einrichtungen 91 verwendet werden. Einige Beispiele sind in TAB. 1 nachfolgend illustriert:
Bei einem mSEM handelt es sich um ein Mikroskop, das geladene Partikel verwendet. Insbesondere werden Elektronen verwendet. Dabei wird beispielsweise ein Wafer mit einem Array von Elektronenstrahlen beleuchtet, zum Beispiel mit mehr als 40 oder sogar mehr als 90 Elektronenstrahlen. Diese primäre Beleuchtung kann zusammen über das Probenobjekt gescannt werden. Dadurch kann ein besonders großes Bildfeld durch Kombination von Signalen, die durch die verschiedenen Elektronenstrahlen hervorgerufen werden, erzielt werden. Das Bild wird basierend auf Sekundärpartikeln oder Sekundärstrahlung, die vom Probenobjekt auf Grund der primären Beleuchtung emittiert werden/wird, gebildet. Die Sekundärpartikel bzw. die Sekundärstrahlung kann in Form von sekundären Elektronen, rückgestreuten Elektronen, Röntgenstrahlung und/oder Lumineszenz-Strahlung vorliegen. Die Zusammensetzung, Energie und der Winkel der Sekundärstrahlung kann durch Einstellung der Energie der Primärstrahlung beeinflusst werden und ist ein Indikator für die Materialzusammensetzung und Oberflächenqualität der Oberfläche des Probenobjekts. Typischerweise ist das aggregierte Bildfeld besonders groß, zum Beispiel im Bereich von 100 pm x 100 pm oder sogar von 120 pm x 120 pm.
Der Bilddatensatz 100 wird dann an eine Recheneinheit 80 übertragen. Die
Recheneinheit 80 umfasst eine Kommunikationsschnittstelle 81 , um den
Bilddatensatz 100 zu empfangen. Außerdem umfasst die Recheneinheit 80 auch einen Prozessor 82 und einen Speicher 83. Der Prozessor 82 könnte zum Beispiel eine CPU und/oder eine GPU umfassen. Der Prozessor 82 kann Programmcodes aus dem Speicher 83 laden und ausführen. Dann kann der Prozessor 82
verschiedene hierin beschriebene Verfahren im Zusammenhang mit der
Verarbeitung des Bilddatensatzes ausführen. Zum Beispiel könnte der Prozessor 82 auf Grundlage des Programmcodes eine hierarchische Kachelung auf den
Bilddatensatz 100 anwenden.
Während FIG. 1 ein Szenario illustriert, in dem die Recheneinheit separat von der bildgebenden Einrichtung 91 ausgebildet ist, können diese auch integriert
bereitgestellt werden.
FIG. 2 ist ein Flussdiagramm eines beispielhaften Verfahrens. Das Verfahren gemäß FIG. 2 kann von einem Prozessor basierend auf Programmcodes ausgeführt werden. Zum Beispiel könnte das Verfahren gemäß FIG. 2 vom Prozessor 82 basierend auf einem Programmcode, der aus dem Speicher 83 geladen wird, ausgeführt werden. In FIG. 2 sind optionale Blöcke mit gestrichelten Linien dargestellt.
Zunächst erfolgt im optionalen Block 1001 das Erfassen eines Bilddatensatzes.
Beispielsweise kann ein 3-D Bilddatensatz erfasst werden. Dieser bildet ein
Bildvolumen ab. Der 3-D-Bilddatensatz weist eine Anzahl von ABC-nativen Voxeln auf. Es könnte auch ein 2-D Bilddatensatz erfasst werden, der ein bestimmtes Bildfeld abbildet.
Dann erfolgt im Block 1002 das Erhalten des Bilddatensatzes. Block 1002 kann eine Übertragung umfassen (vgl. FIG. 1 ). Block 1002 kann zum Beispiel im
Zusammenhang mit einem bestimmten Speicherformat, d. h. einem bestimmten Container bzw. Format von Datenpaketen, in dem der Bilddatensatz beinhaltet ist, definiert sein.
Dann erfolgt im Block 1003 das Anwenden einer hierarchischen Kachelung auf den Bilddatensatz aus Block 1002. Dabei werden durch die Kachelung mehrere
Hierarchieebenen definiert. Die im Bilddatensatz beinhaltete Information wird dabei im Zusammenhang mit Pixeln oder Voxeln strukturiert, welche in Kacheln auf den verschiedenen Hierarchieebenen beinhaltet sind. Die Pixel bzw. Voxel der
verschiedenen Kacheln können von den nativen Pixeln bzw. Voxeln des 2-D oder 3- D-Bilddatensatzes abweichen.
Als allgemeine Regel muss das Speicherformat des Bilddatensatzes vor und nach der Kachelung nicht notwendigerweise korrelieren mit der hierarchischen Kachelung. Zum Beispiel könnten separate Steuerdaten erstellt werden, welche die
hierarchische Kachelung im Zusammenhang mit dem Bilddatensatz implementieren.
Jede Kachel kann eine bestimmte Anzahl von Bildelementen, d.h. Pixelanzahl oder Voxeianzahl, aufweisen. Z.B. können die Kacheln derselben Hierarchieebene dieselbe Bildelementanzahl aufweisen.
Die Bildelemente auf einer oberen Hierarchieebene weisen eine längere
Kantenlänge auf, als die Bildelemente auf einer unteren Hierarchieebene. D.h., die Bildelementgröße nimmt hin zu oberen Hierarchieebenen zu.
Die Kacheln auf einer oberen Hierarchieebene umfassen mehrere Kacheln einer unteren Hierarchieebene. D.h. die Kantenlänge der Kacheln nimmt hin zu oberen Hierarchieebenen zu.
Insbesondere kann die Abtastung mit den Strukturen auf den Bildelementen der oberen Hierarchieebene wiedergegeben werden, also niedriger sein als die native Auflösung des Bilddatensatzes. Dies kann eine Mittelung oder eine andere Technik der Abwärtswandlung von Information in dem Bilddatensatz im Rahmen von Block
1002 erforderlich machen, um einen Kontrastwert für die Bildelemente auf oberen Hierarchieebenen zu erhalten.
Nachfolgend werden im Zusammenhang mit den FIGs. 3, 4 und 5 Details zu Block
1003 beschrieben, d.h. zum Anwenden der Kachelung. Zum Beispiel ist in FIG. 3 links ein 3-D-Bilddatensatz 100 dargestellt. Dieser weist eine Anzahl von (A, B, C) Voxeln auf (in FIG. 3 sind die Voxel nicht eingezeichnet).
In FIG. 3 ist rechts die Kachelung 201 dargestellt und zwar insbesondere auf der obersten Hierarchieebene 251. Es befinden sich acht Kacheln 21 1 -214 auf der obersten Hierarchieebene der Kachelung 201 (in FIG. 3 sind aus Gründen der Einfachheit rechts aber nur vier Kacheln 21 1 -214 dargestellt, wobei in FIG. 3 links die acht Kacheln mit gestrichelten Linien dargestellt sind).
Die Zerlegung des Bildvolumens des 3-D-Bilddatensatzes 100 in acht Kacheln ist aber nur ein Beispiel. Es könnten auch andere Kantenlängen für die Kacheln 21 1 - 214 verwendet werden.
FIG. 3 illustriert Kacheln 211-214 der obersten Hierarchieebene 251. Die Zerlegung kann hin zu niedrigeren Hierarchieebenen fortgesetzt werden: In FIG. 4 ist wiederum eine weitere Zerlegung der Kachel 213 aus Hierarchieebene 251 dargestellt. In FIG.
4 ist gezeigt, dass eine Kachel 213-1 auf der nächst niedrigeren Hierarchieebene 252 als Teilvolumen des (Teil-)volumens der Kachel 213 definiert ist.
In FIG. 4 ist auch dargestellt, dass die Kachel 213-1 eine Anzahl von Voxel 290 umfasst. Es ist auch die Voxeigröße 291 - hier als Kantenlänge der Voxel 290 - dargestellt. Die Voxeianzahl pro Kachel 213-1 kann von Hierarchieebene zu
Hierarchieebene 251 , 252 variieren oder kann auch konstant gewählt sein.
FIG. 5 illustriert Aspekte im Zusammenhang mit der geschachtelten, hierarchischen Struktur der Kachelung 201. FIG. 5 illustriert die Baumstruktur der Kachelung 201. In FIG. 5 ist gezeigt, wie die Kacheln ausgehend von der oberen Hierarchieebene 251 hin zu den unteren Hierarchieebenen 252, 253 auseinander abgeleitet bzw. als Teilvolumina definiert werden, um die Hierarchie zu definieren. Zum Beispiel ist in FIG. 5 dargestellt, dass die Kacheln 213-1 - 214-3 jeweils aus der Kachel 213 abgeleitet werden, d.h. unterschiedliche Teilvolumina des Volumens der Kachel 213 beinhalten. Dies entspricht - allgemeingültig formuliert - einer Schachtelung der Kacheln unterschiedlicher Hierarchieebenen.
Solche Techniken beruhen auf der Erkenntnis, dass ein kompletter 3-D-Bilddatensatz 100 mit einer Anzahl von ABC Voxeln 290 (vgl. FIG. 3) typischerweise nicht in den Speicher eines Prozessors im Zusammenhang mit der Verarbeitung passt (vgl. FIG. 1 ). Selbiges gilt für großflächige 2-D-Bilddatensätze. Andererseits sind Defekte nur in einem kleinen Teilbereich des Bildfelds bzw. Bildvolumens beinhaltet, zum Beispiel bis hin zu wenigen NMP Voxeln, wobei N, M, P jeweils ungefähr 30 oder weniger ist. Zum Untersuchen von Eigenschaften dieser Defekte ist typischerweise nur der entsprechende Bruchteil von Bildelementen des gesamten Bilddatensatzes benötigt. Ein solcher geringer Bruchteil kann ohne weiteres im Arbeitsspeicher gehalten werden. Zum Beispiel können die Kacheln Teile des gesamten abgebildeten
Bereichs des Bilddatensatzes beinhalten. Zum Beispiel können die Kacheln zusammen mit ihrer Position im gesamten abgebildeten Volumen gespeichert
werden. Die Kacheln können so gespeichert werden, dass die in den Kacheln beinhalteten Voxel individuell verarbeitet werden können.
In manchen Beispielen kann es erstrebenswert sein, dass benachbarte Kacheln einen bestimmten Überlappbereich aufweisen (ein solcher Überlappbereich ist in den Beispielen der Figuren 3-5 nicht gezeigt). Manche Algorithmen, die im
Zusammenhang mit der Verarbeitung eingesetzt werden können, können durch den Überlapp besonders genau operieren. Ein Beispiel wäre ein Glättungsalgorithmus.
Nachfolgend wird ein praktisches Beispiel im Zusammenhang mit der Anwendung der hierarchischen Kachelung gegeben. Dieses Beispiel betrifft die Erkennung eines Defekts in einem Transistor-Gate als Halbleiter-Bauelement. Wenn das Gate eine Strukturgröße aufweist, die in eine Kachel mit NMP Voxeln auf einer entsprechenden Hierarchieebene passt, können alle Kacheln der entsprechenden Hierarchieebene im Zusammenhang mit der Erkennung eines Transistor-Gates individuell verarbeitet werden. Zum Beispiel könnte zunächst überprüft werden, ob eine bestimmte Kachel der entsprechenden Hierarchieebene ein Transistor-Gate abbildet. Sofern dies zutrifft, kann dann überprüft werden, ob ein Defekt vorliegt oder nicht. In einem solchen Prozess können die einzelnen Kacheln sequenziell oder parallel verarbeitet werden. Die Parallelisierung kann zum Beispiel auf einer GPU besonders effizient implementiert werden. Ohne eine geeignete Kachelung des Abbildungsvolumens kann es mit limitierten Rechenressourcen sogar unmöglich werden, die Defekte zu erkennen.
Das Anwenden der Kachelung auf den Bilddatensatz kann ohne Informationsverlust geschehen. Zum Beispiel könnte die Voxeigröße der Voxel 290 in Kacheln 213-2-1 auf der untersten Hierarchieebene 253 (vgl. FIG. 5) gleich der nativen Voxeigröße des 3-D-Bilddatensatzes sein. Damit der Kontext von Strukturen, die von einer einzelnen Kachel abgebildet werden, nicht verloren geht, kann der hierarchische Ansatz gemäß FIG. 5 verwendet werden (d.h. eine Schachtelung der Kacheln der verschiedenen Hierarchieebenen ineinander). Ohne den hierarchischen Ansatz könnte zum Beispiel nicht festgestellt werden, ob eine Linien-Struktur, die durch eine Kachel auf der untersten Hierarchieebene abgebildet wird, Teil eines Logik- Halbleiter-Bauelements oder Teil eines Speicherbausteins ist. Durch den
hierarchischen Ansatz kann aber eine Beziehung zwischen Strukturen in Kacheln auf unterschiedlichen Hierarchieebenen zurückverfolgt werden.
Um eine besonders gute Korrespondenz zwischen dem von den Kacheln einer jeweiligen Hierarchieebene abgebildeten Teilbereichen des Messvolumens und physikalisch-technisch relevanter Information im Zusammenhang mit Strukturen zu ermöglichen, kann es als allgemeine Regel möglich sein, dass die Bildelementgröße der Kacheln auf den Hierarchieebenen in Übereinstimmung mit bzw. basierend auf den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden. Es können auch die Hierarchieebenen selbst, d.h. z.B. die Anzahl der Hierarchieebenen, in
Übereinstimmung mit den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden. Es wäre auch denkbar, dass die Kachelgrößen in Übereinstimmung mit den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden.
Zum Beispiel wäre es möglich, dass der Benutzer über eine HMI einen zu
untersuchenden Probentyp der abgebildeten Probe, die die Halbleiter-Bauelemente umfasst, spezifiziert. Der Probentyp könnte aber auch basierend auf einer
Objekterkennung, etwa in einem 2-D Übersichtsbild, bestimmt werden. Der
Probentyp könnte auch durch einen Arbeitsablauf oder Kontext bestimmt werden. Je nach Probentyp kann dann festgelegt sein, welche Halbleiter-Bauelement-Typen im jeweiligen Probentyp vorhanden sind. Die verschiedenen Halbleiter-Bauelement- Typen können wiederum in der Datenbank mit typischen Strukturgrößen verknüpft sein. Dann können anhand dieser in der Datenbank hinterlegten Strukturgrößen die Hierarchieebenen und die zugehörigen Bildelement-Größen bestimmt werden.
Alternativ oder zusätzlich wäre es auch möglich, dass die Bildelementanzahl der Kacheln auf den Hierarchieebenen basierend auf den Strukturgrößen der Halbleiter- Bauelemente bestimmt wird, d.h. z.B. die Anzahl von Pixeln oder Voxeln pro Kachel. Dies bedeutet, in anderen Worten, dass eine Größe der Kacheln basierend auf den Strukturgrößen der Halbleiter-Bauelemente bestimmt werden kann, z.B.
insbesondere basierend auf einer Außenabmessung und/oder eines Abstands zwischen Halbleiter-Bauelementen desselben Typs. Auch solche Information kann in der Datenbank hinterlegt sein, jeweils zugeordnet zu einem entsprechenden
Probentyp. Es ist dann möglich, dass die entsprechende bildgebende Einrichtung 91 geeignet angesteuert wird, etwa in Block 1001 (cf. FIG. 2).
In der folgenden TAB. 2 ist eine beispielhafte Implementierung ein einer solchen Datenbank, die das Bestimmen der Bildelementgröße und/oder der
Bildelementanzahl der Kacheln auf den mehreren Hierarchieebenen und/oder der Hierarchieebenen selbst ermöglicht. Es wäre z.B. möglich, die Strukturgrößen der Halbleiter-Bauelemente dann in einer solchen Datenbank nachzuschlagen und dann die Voxeigröße entsprechend zu bestimmen. Zum Beispiel wäre es denkbar, dass in einer solchen Datenbank jeweils indiziert ist, welche Halbleiter-Bauelement-Typen auf einer bestimmten Hierarchieebene zu erwarten sind. Dann kann die jeweilige Strukturgröße dieser Halbleiter-Bauelement-Typen identifiziert werden und es kann eine geeignete Konfiguration der oben genannten Parameter erfolgt.
TAB. 2: Beispiel für eine Datenbank, die Probentypen in Bezug setzt zu
Eigenschaften der hierarchischen Kachelung, sowie verfügbaren Label-Klassen der verschiedenen Strukturen. Die Datenbank könnte z.B. als Graph implementiert sein, um den Zusammenhang/Kontext zwischen den verschiedenen Hierarchieebenen zu beschreiben. Die Datenbank beinhaltet also a-priori Information über den
Zusammenhang von Halbleiter-Bauelementen über die verschiedenen
Hierarchieebenen hinweg.
Das Beispiel für den Probentyp„2-Deck VNAND Speicherchip“ ist im
Zusammenhang mit FIG. 13 dargestellt, wobei die Hierarchieebenen 1 -4 aus TAB. 2 dort mit den Bezugszeichen 251 -254 beschriftet sind. Das Beispiel für den Probentyp „2-D CPU Chip“ ist in FIG. 14 dargestellt, wobei die Hierarchieebenen 1-6 aus TAB. 2 dort mit 251 -256 beschriftet sind. In FIG. 13 und FIG. 14 sind auch typische
Strukturgrößen 298 der Halbleiter-Bauelemente dargestellt. Die Kantenlänge 299 der Kacheln ist in FIG. 13 und FIG. 14 auch dargestellt. Auch die Kantenlänge 299 der Kacheln ist basierend auf der Strukturgröße 298 der verschiedenen Halbleiter- Bauelemente bestimmt: typischerweise wird die Kantenlänge 299 so gewählt, dass ein Hableiter-Bauelement und deren Umgebung in einer Kachel ganz abgebildet ist, also kann z.B. ein inter-Halbleiter-Bauelement-Abstand verwendet werden, um die Kantenlänge 299 zu bestimmen. Alle solche Information kann etwa aus einer entsprechenden Datenbank geladen werden.
Z.B. ist in FIG. 13 sind im Zusammenhang mit der Hierarchieebene 251 zwei sog. Decks, die durch eine„bit Iine“-Schicht getrennt sind. Die Hierarchieebene 252 zeigt zwei Gräben (engl „trenches“) aus einem Array von vielen Gräben, das in einem der Decks angeordnet ist. Z.B. ist ein typischer Abstand zwischen den Gräben im
Bereich von 1 ,5 pm, sodass die Kantenlänge 299 der Kacheln entsprechend dimensioniert sein kann, um zwei oder mehr Gräben pro Kachel anzuzeigen. Derart kann ein Strukturkontext bei Anzeigen einer Kachel erfasst werden. Andererseits kann die Voxeigröße entsprechend dimensioniert sein kann, dass einzelne Gräben aufgelöst werden (typischerweise ist der Durchmesser der Gräben in der
Größenordnung von 0,1 bis 0,2 pm). Als allgemeine Regel kann also die
Bildelementgröße der Kacheln einer Hierarchieebene bemessen sein an der
Strukturgröße einzelner Halbleiter-Bauelemente, während die Kachelgröße der Kacheln der Hierarchieebene bemessen sein kann an dem Abstand zwischen den einzelnen Halbleiter-Bauelemente und/oder an einer Außenabmessung der
Halbleiter-Bauelemente.
Diese Regel ist auch für die Kacheln auf der Hierarchieebene 253 angewendet. Dort sin Löcher zwischen den Gräben gezeigt, die einen Durchmesser von ca. 0,1 pm haben und einen Abstand von ca. 0,15-0,2 pm. Die Kacheln auf der Hierarchieebene 253 weisen also eine Kantenlänge 299 auf, sodass ein paar der Löcher - im
gezeigten Beispiel 3x3 Löcher - dargestellt werden können. Die Voxeigröße ist z.B. mit 20 nm so dimensioniert, dass pro Loch einige Voxel erhalten werden.
Auf der Hierarchieebene 254 kann dann ein einzelnes Loch hochaufgelöst dargestellt werden.
Entsprechende Überlegungen können auch für eine 2-D Kachelung angewendet werden, wie in FIG. 14 dargestellt. Dort ist in der Hierarchieebene 251 ein Wafer mit allen Dies dargestellt, auf der Hierarchieebene 252 ein einzelner Die inklusive sog. „die rails“, auf der Hierarchieebene 253 sind mehrere Chips innerhalb einzelner„die raiT-Markierungen abgebildet, die Hierarchieebene 254 zeigt dann die einzelnen Logikbaugruppen (z.B. Speicher, CPU, usw.) eines Chips, die Hierarchieebene 255 zeigt das Umfeld von Transistoren der Logikbaugruppen, und die Hierarchieebene 256 schließlich zeigt einzelne Transistoren, sodass die Anschlüsse („gate“,„source“, „drain“ aufgelöst werden.
Wieder Bezug nehmend auf FIG. 5: Die hierarchische Kachelung wird anhand des folgenden Beispiels erläutert. Zum Beispiel könnte eine hierarchische Kachelung 201 mit drei Hierarchieebenen 251-253 vorliegen. Eine bestimmte Kachel 213-2-1 auf untersten Hierarchieebene 253 identifiziert eine Loch-Struktur. Die Kachel 213-2 auf der mittleren Hierarchieebene 252 (welche die bestimmte Kachel 213-2-1 auf der untersten Hierarchieebene 253 mit der Loch-Struktur beinhaltet) identifiziert wiederum eine Transistor-Zelle. Die Kachel 213 auf der obersten Hierarchieebene 251 (welche die Kacheln 213-2, 213-2-1 auf der mittleren und unteren
Hierarchieebene 252, 253 mit Transistor-Zelle und Loch-Struktur beinhaltet) identifiziert eine bestimmte Logikgruppe von Halbleiter-Bauelementen bzw.
Gesamtansichten der Halbleiter-Bauelemente. Das Beispiel beschreibt dabei eine Logiklinie ausgehend von einer kleinen Voxeigröße (für detaillierte Informationen zu Strukturen mit kleinen Strukturgrößen) hin zu einer größeren Voxeigröße (für
Kontextinformation zu Strukturen mit großen Strukturgrößen). Es kann auch eine Logiklinie ausgehend von großen Voxeigrößen hin zu kleineren Voxeigrößen verfolgt werden: zum Beispiel könnten zunächst Logikbaugruppen im Abbildungsvolumen in einer Kachel 213 der obersten Hierarchieebene 213 identifiziert werden; dann könnten auf der nächstniedrigen Hierarchieebene 252 sogenannte Vias (als
senkrecht zu Halbleiterschichten orientierte leitende Verbindungen zwischen verschiedenen Halbleiterschichten) in einer aus der Kachel 213 abgeleiteten Kachel 213-2 identifiziert werden; schließlich könnten auf der nächstniedrigeren
Hierarchieebene 253 die Leiterbahnen der Vias in Bezug auf Fehlstellen oder ihren Überlapp mit Metallschichten in einer weiteren abgeleiteten Kachel 213-2-1 überprüft werden.
Die Kachelung 201 gemäß FIG. 5 ist ein Beispiel. In den verschiedenen hierin beschriebenen Beispielen sind Abwandlungen und Varianten der Kachelung 201 gemäß FIG. 5 denkbar.
Zum Beispiel wäre es möglich, dass die Voxeigröße für Kacheln von einer
Hierarchieebene zur nächsten Hierarchieebene gemäß unterschiedlichen Faktoren skaliert. Das heißt, dass die Voxeigröße zwischen Kacheln auf unterschiedlichen Hierarchieebenen nichtlinear skalieren kann. Dies kann zum Beispiel vorteilhaft sein, wenn zunächst große Strukturen (zum Beispiel Logikbaugruppen oder
Speichersteine) abgebildet werden sollen, nämlich in Kacheln auf einer oberen Hierarchieebene; und dann nur zwei weitere Hierarchieebenen für individuelle Transistor-Zeilen und Speicher-Zeilen sowie geometrische Grundformen wie Linie oder Loch) benötigt werden. In einem solchen Fall skaliert die Voxeigröße von der ersten Hierarchieebene zur zweiten Hierarchieebene besonders stark, zum Beispiel um einen Faktor hundert; während zwischen der zweiten Hierarchieebene und der dritten Hierarchieebene die Voxeigröße nur moderat skaliert, zum Beispiel um einen Faktor zwei. Dies ermöglicht die Anpassung der tatsächlichen Voxeigröße in den Kacheln unterschiedlicher Hierarchieebenen in Abhängigkeit von Strukturgrößen von Strukturen. Entsprechendes kann auch für Pixelgrößen bei 2-D Bilddatensätzen implementiert werden.
Es können auch unterschiedliche Kantenlängen für die Kacheln auf
unterschiedlichen Hierarchieebenen verwendet werden. Das bedeutet, dass die Kantenlänge von Kacheln auf unterschiedlichen Hierarchieebenen unterschiedlich für unterschiedliche Kanten skaliert. Dadurch können besonders gut Strukturen mit Aspektverhältnissen ungleich 1 abgebildet werden.
Die hierein beschriebenen Techniken im Zusammenhang mit der hierarchischen Kachelung 201 beruhen auch auf der Erkenntnis, dass unterschiedliche Halbleiter- Bauelemente auf niedriger Auflösung/höchster Abtastung oftmals dieselben geometrischen Strukturen aufweisen, also etwa geometrische Grundformen wie z.B. Linien, Löcher oder Punkte. Geometrische Grundformen bezeichnen hier also z.B. die elementaren Bausteine, aus denen man Halbleiter Bauelemente aufbaut - diese kommen typischerweise aus sogenannten„design rules“, welche sagen, welche Formen mit einer Lithographie-Maschine gedruckt werden können.
Unterschiedlichste Halbleiter-Bauelemente, wie zum Beispiel Transistoren,
Kondensatoren, Vias, Gates etc. sind also typischerweise aus einem relativ begrenzten, gemeinsamen Formenschatz von geometrischen Grundformen zusammengesetzt. Die geometrischen Grundformen können also funktionale
Gruppen (d.h. aus geometrischen Grundformen zusammengesetzte Gruppen) wie die Halbleiter Bauelemente ausbilden. Diese kleinen Strukturen werden mit besonders hoher Genauigkeit hergestellt. Defekte treten selten auf, wenn der Herstellungsprozess gut definiert ist. Dies kann ausgenutzt werden, um die Größe der gespeicherten Daten zu reduzieren. Zum Beispiel könnten Kacheln auf einer unteren Hierarchieebene, die identische Strukturen abbilden, teilweise verworfen werden. Es ist im Allgemeinen möglich, dass zumindest einige Kacheln auf einer Hierarchieebene in Abhängigkeit von Redundanzen in den abgebildeten Strukturen verworfen werden. Dies kann auch als Wörterbuch-Ansatz bezeichnet werden: so wäre es möglich, dass für jede Struktur lediglich ein repräsentativer Datensatz in Form einer entsprechenden Kachel gespeichert wird und redundante Kacheln verworfen werden. Es ist dann optional möglich, dass Meta-Daten im
Zusammenhang mit den verworfenen Kacheln gespeichert werden, also zum
Beispiel die Anzahl und/oder Position und/oder Orientierung etc. der entsprechenden Strukturen in den verworfenen Kacheln.
Als praktisches Beispiel: ein Bildvolumen des 3-D-Bilddatensatzes umfasst 10.000 Löcher. Ein einzelnes Loch kann zum Beispiel durch eine Kachel einer unteren Hierarchieebene mit NMP Voxeln passender Voxeigröße abgebildet werden. Das gesamte Bildvolumen weist ABC Voxel auf. Dann kann es möglich sein, anstatt das gesamte Bildvolumen mit ABC Voxeln zu speichern und zu verarbeiten, lediglich das Teilvolumen mit NMP Voxeln zu speichern, zum Beispiel zusammen mit Meta-Daten,
welche die Positionen der 10.000 Löcher im Bildvolumen indizieren, zum Beispiel in einem 3-D-Koordinatensystem, das etwa mit der Kachelung korreliert. Dies reduziert nicht nur den Speicherbedarf und den Verarbeitungsaufwand drastisch, sondern es ermöglicht es auch, Strukturen ein zweites Mal besonders effizient aufzufinden, örtliche Korrelationen zwischen denselben Strukturen und Strukturen
unterschiedlichen Typs auszuwerten, etc.
Dabei kann - zum Beispiel je nach Anwendungsgebiet - eine vergleichsweise sensitive oder robuste Definition für Redundanzen verwendet werden. D. h. es können unterschiedliche Definitionen für Gleichartigkeit von Strukturen (was zum Verwerfen von Kacheln führen kann) verwendet werden. Zum Beispiel können derart Strukturen, die eine zu große Abweichung von einem Klassen-Repräsentanten aufweisen, durch Beibehalten der entsprechenden Kachel im gespeicherten
Datensatz behalten werden. Derart können Defekte und Anomalien gut aufgefunden werden.
Voranstehend wurden verschiedene Techniken im Zusammenhang mit dem
Anwenden einer hierarchischen Kachelung 201 auf einen Bilddatensatz 100 beschrieben. Diese hierarchische Kachelung 201 ermöglicht eine besonders effiziente Verarbeitung des derart vorbehandelten Bilddatensatzes: Wieder Bezug nehmend auf FIG. 2: nach dem Anwenden der Kachelung auf den Bilddatensatz 100 erfolgt in Block 1004 eine Verarbeitung des Bilddatensatzes, unter Verwendung der hierarchischen Kachelung.
Diese Verarbeitung kann multihierarchisch erfolgen: D.h. die Verarbeitung kann unter Ausnutzung der hierarchischen Kachelung 201 erfolgen.
Als allgemeine Regel können in den verschiedenen hierin beschriebenen Beispielen unterschiedliche Techniken im Zusammenhang mit der Verarbeitung des
Bilddatensatzes in Block 1004 angewendet werden. Zum Beispiel kann je nach Anwendungsgebiet der hierin beschriebenen Techniken - d. h. insbesondere je nach Informationsgehalt des Bilddatensatzes - eine bestimmte Präferenz im
Zusammenhang mit Verarbeitungstechniken bestehen. Beispielhafte Techniken im
Zusammenhang mit der Verarbeitung des Bilddatensatzes sind in FIG. 6 beschrieben.
FIG. 6 illustriert Aspekte im Zusammenhang mit der Verarbeitung eines
Bilddatensatzes, auf welchen eine hierarchische Kachelung angewendet wurde. Dies bedeutet, dass die verschiedenen Blöcke aus FIG. 6 zum Beispiel im
Zusammenhang mit dem Block 1004 aus FIG. 2 ausgeführt werden könnten.
Dabei ist es nicht erforderlich, dass alle in FIG. 6 beschriebenen Varianten zur Verarbeitung des 3-D-Bilddatensatzes mit hierarchischer Kachelung angewendet werden. Es könnten nur einzelne der in FIG. 6 wiedergegebenen Varianten verwendet werden. Sofern mehrere Varianten zur Verarbeitung des 3-D- Bilddatensatzes mit hierarchischer Kachelung verwendet werden, so kann die Reihenfolge von der in FIG. 6 wiedergegebenen Reihenfolge abweichen.
In Block 2001 erfolgt das Durchführen einer Annotierung. Im Rahmen der
Annotierung werden Labels an Strukturen vergeben.
Die Labels können die Strukturen in eine oder mehrere Klassen einer Vielzahl von vorgegebenen Klassen einteilen. Die Labels können also mit unterschiedlichen Struktur-Klassen assoziiert sein. Dies bedeutet, dass eine logische Beschreibung von Strukturen durch die Labels vorgenommen werden kann. Es ist nicht unbedingt erforderlich, dass auch eine Information über die Position und/oder Orientierung entsprechender Strukturen in den Kacheln im Zusammenhang mit den Labels bereitgestellt wird. Dies ist optional. Zum Beispiel wäre es möglich, dass die Labels die Strukturen im Bildraum segmentieren oder mit einer Begrenzungs-Box versehen.
Als allgemeine Regel kann das Vergeben der Labels an die Strukturen in Block 2001 automatisch, teilautomatisch oder manuell erfolgen. Z.B. könnte ein
Klassifikationsalgorithmus für eine (teil-)automatische Implementierung verwendet werden. Insbesondere könnte ein Objekterkennungsalgorithmus verwendet werden. Dieser kann optional eine Segmentierung der erkannten Strukturen ermöglichen. Während ein Objekterkennungsalgorithmus ohne Segmentierung zum Beispiel eine sogenannte Begrenzungs-Box um die Strukturen legen kann, kann ein
Objekterkennungsalgorithmus mit Segmentierung eine besonders feine Abgrenzung der entsprechenden Struktur gegenüber dem Hintergrund auf Voxel-Ebene erfolgen. Deshalb ermöglicht es einem Objekterkennungsalgorithmus mit Segmentierung bestimmte Strukturen besonders genau zu extrahieren.
Dabei werden im Allgemeinen die Labels an die Strukturen in den Kacheln auf den mehreren Hierarchieebenen vergeben. Weil die Kacheln auf den unterschiedlichen Hierarchieebenen im Allgemeinen unterschiedliche Größen und auch
unterschiedliche Voxeigrößen aufweisen, sind auch die abgebildeten Strukturen von Hierarchieebene zu Hierarchieebene verschieden. Beispielsweise könnten
besonders kleine Strukturen, wie Gräben oder Löcher oder andere geometrische Grundformen in den Kacheln auf der untersten Hierarchieebene abgebildet werden; während besonders ausgedehnte oder große Strukturen, etwa ganze Halbleiter- Bauelemente oder sogar Logikgruppen umfassend mehrere Halbleiter-Bauelemente, in denen Kacheln auf der obersten Hierarchieebene abgebildet werden.
Entsprechend können auch die Labels von Hierarchieebene zu Hierarchieebene variieren. Zum Beispiel wäre es möglich, dass die Labels der Strukturen in Kacheln auf einer unteren Hierarchieebene aus einer ersten Kandidatenmenge ausgewählt sind, welche geometrische Grundformen (zum Beispiel Löcher, Linien oder Punkte) umfasst. Hingegen können die Labels der Strukturen in Kacheln auf einer oberen Hierarchieebene aus einer zweiten Kandidatenmenge ausgewählt sein, welche die Halbleiter-Bauelemente, eine logische Gruppe mit mehreren Halbleiter- Bauelementen, Leiterbahnen und/oder Lithographie-Marker umfasst. Dies bedeutet, dass die verfügbaren Labels je nach Hierarchieebene angepasst werden können. Dies kann wiederum basierend auf einer Datenbank geschehen, die den Probentyp beschreibt, vgl. TAB. 2.
Die Labels können zum Beispiel zum Navigieren durch den Bilddatensatz verwendet werden. Das bedeutet, dass eine HMI entsprechend zum Navigieren unter
Berücksichtigung der Labels angesteuert werden kann. Zum Beispiel könnte durch den Benutzer spezifiziert werden, dass ein bestimmtes Halbleiter-Bauelement (das heißt mit einem bestimmten Label) angezeigt werden soll. Dann kann die
entsprechende Kachel, die das Halbleiter-Bauelement mit dem entsprechenden Label beinhaltet, über die HMI an den Benutzer dargestellt werden. Es wäre auch
möglich, dass während der manuellen Navigation durch den Bilddatensatz jeweils die Labels der jeweils im dargestellten Bereich befindlichen Strukturen kenntlich gemacht werden, um dem Benutzer derart eine Kontextinformation bereitstellen zu können.
Block 2002 beschreibt das Durchführen einer Segmentierung. Wie obenstehend schon genannt, kann die Segmentierung auch im Zusammenhang mit dem Vergeben von Labels durchgeführt werden. Z.B. könnte einfache, beispielhafte Segmentierung eine Assoziierung von Voxeln gemäß den Labels„Vordergrund“ und„Hintergrund“ vornehmen. Es ist aber nicht in allen Beispielen erforderlich, dass auch eine
Klassifizierung der segmentierten Strukturen im Zusammenhang mit der
Segmentierung erfolgt. Zum Beispiel könnten lediglich Bereiche ein und desselben Kontraste im Rahmen der Segmentierung in Block 2002 bestimmt werden, ohne aber eine Klassifikation vorzunehmen. Auch in einem solchen Beispiel kann es hilfreich sein, wenn die Segmentierung auf Grundlage der hierarchischen Kachelung 201 operiert, d. h. zum Beispiel eine Segmentierung parallel in Kacheln unterschiedlicher Hierarchieebenen 251 -253 durchgeführt wird. Derart kann nämlich vermieden werden, dass die Segmentierung durch einen zu großen Detailgrad von Strukturen auf den unterschiedlichen Hierarchieebenen beeinflusst wird. Die Segmentierung kann besonders zügig durchgeführt werden.
Segmentierte Strukturen können zum Beispiel im Zusammenhang mit der Metrologie verwendet werden. Zum Beispiel können Geometrie-Parameter bestimmt werden und überprüft werden. Die Segmentierung kann in diesem Zusammenhang zum Beispiel eine Kantenextraktion entlang von Halbleiter-Schichten oder eine
Oberflächenextraktion von Halbleiter-Schichten ermöglichen. Dadurch kann eine besonders hohe Auflösung, sogar höher als die native Auflösung des 3-D- Bilddatensatzes, im Zusammenhang mit der Metrologie verwendet werden. Auch ein CAD-Modell könnte extrahiert werden.
Block 2003 beschreibt das Durchführen einer Registrierung. Die Registrierung kann bezüglich eines Referenz-Datensatzes oder anderen Geometrie-Referenzdaten erfolgen. Zum Beispiel kann es mittels der Registrierung möglich sein, die Anordnung
der Halbleiter-Struktur im Bilddatensatz in Bezug auf eine CAD-Maskendatei zu bestimmen.
Im Zusammenhang mit der Registrierung werden typischerweise zwei abgebildete Volumen aufeinander registriert, indem diese Volumen miteinander verglichen werden. Grundsätzlich sollte eine möglichst große Auflösung im Zusammenhang mit der Abbildung der Volumina verwendet werden, um eine genaue Registrierung zu ermöglichen. Für 3-D-Bilddatensätze 100, welche Halbleiter-Bauelemente abbilden, ist dies gemäß Referenzimplementierung nicht immer möglich, weil die Datenmenge besonders groß ist. Das Ausschneiden von Teilvolumina aus dem gesamten
Bildvolumen ist aufgrund des repetitiven Charakters von Halbleiter-Strukturen auf Wafern jedoch oftmals nicht möglich. Zum Beispiel kann ein Wafer oftmals eine repetitive Anordnung von gleichen Strukturen umfassen, die später unterschiedliche Chips bilden. Deshalb kann die Registrierung in Block 2003, wie nachfolgend im Detail beschrieben, die Kachelung 201 berücksichtigen.
Zum Beispiel könnte die Registrierung von Strukturen in den Kacheln auf den mehreren Hierarchieebenen 251-253 erfolgen. Dies bedeutet, dass die Registrierung jeweils für jede der verschiedenen Hierarchieebenen 251 -253 durchgeführt werden kann.
Zum Beispiel könnte in einem solchen Ansatz die Genauigkeit der Registrierung iterativ verfeinert werden. Die Registrierung könnte zum Beispiel iterativ ausgehend von Kacheln auf einer höheren Hierarchieebene 251 hin zu Kacheln auf einer unteren Hierarchieebene 252, 253 durchgeführt werden. Dies kann bedeuten, dass zunächst eine grobe Registrierung mit den vergleichsweise großen Voxeln der Kacheln auf der obersten Hierarchieebene durchgeführt wird; und dann diese grobe Registrierung nach und nach verfeinert wird, indem die zunehmend kleineren Voxeln der Kacheln auf niedrigeren Hierarchieebenen verwendet werden. Dies kann eine besonders effiziente und zügige Registrierung ermöglichen.
In Block 2004 erfolgt die Extraktion von Strukturen. Zum Beispiel können Anomalien von Strukturen erkannt werden, die nicht mit vorgegebenen Referenzstrukturen übereinstimmen. Es wäre dann möglich, dass die entsprechenden Kacheln, die
solche Anomalien abbilden, extrahiert werden und dem Benutzer über eine
Benutzerschnittstelle dargestellt werden. Der Benutzer kann dann entscheiden, ob eine neue Klasse definiert werden muss oder ob ein Defekt vorliegt.
Im Zusammenhang von Block 2004 könnte zum Beispiel auch eine Region von Interesse (engl „region of interest“) definiert werden. Zum Beispiel könnte ein
Benutzer festlegen, dass solche Bereiche des Bildvolumens untersucht werden sollen, in denen dicht gepackte Linien innerhalb von Speicherbausteinen betrachtet werden. Durch die Verwendung der multihierarchischen Kachelung 201 kann
Kontextinformation über den Zusammenhang zwischen Linien, die als Strukturen in Kacheln einer niedrigen Hierarchieebene abgebildet werden, und
Speicherbausteinen, die als Strukturen in Kacheln einer oberen Hierarchieebene abgebildet werden, zur Identifizierung der Region von Interesse verwendet werden.
Im Zusammenhang mit Block 2004 könnte zum Beispiel auch ein CAD-Modell der Halbleiter-Bauelemente erstellt werden, d.h. eine vereinfachte geometrische
Repräsentation von extrahierten Strukturen kann auf der jeweiligen assoziierten Position positioniert werden. Zum Beispiel könnte ein Linien-Platzhalter verwendet werden. Zum Beispiel könnte eine Spline-Linie verwendet werden, um den Rand einer segmentierten Struktur zu repräsentieren. Wenn Halbleiter-Bauelemente mit mehreren Schichtebenen vorliegen, kann eine 2-D-Segmentierung jeder einzelnen Schicht erfolgen. Dann können mehrere Ebenen in einer CAD-Modell-Datei erzeugt werden.
In Block 2005 kann eine Anomaliedetektion erfolgen. Hier können Abweichungen der abgebildeten Strukturen von vorgegebenen Referenzen erkannt werden. Dazu können z.B. segmentierte Strukturen verwendet werden (vgl. Blöcke 2001 und 2002). Zum Beispiel kann ein Vergleich zwischen den extrahierten Strukturen gegenüber Referenzen erfolgen, um Anomalien zu detektieren. Zum Beispiel kann eine
Differenzbildung erfolgen, und Regionen mit großer Differenz können als potentieller Defekt identifiziert werden.
Nachfolgend werden weitere Details im Zusammenhang mit den verschiedenen möglichen Verarbeitungsschritten gemäß FIG. 6 erläutert. Zunächst wird Bezug
genommen auf Techniken im Zusammenhang mit der Vergabe von Labels an die Strukturen, d.h. es werden Details zu Block 2001 beschrieben. Ein entsprechendes Beispiel ist in FIG. 7 dargestellt.
FIG. 7 illustriert Aspekte im Zusammenhang mit der Vergabe von Labels an
Strukturen 401 -403. Insbesondere illustriert FIG. 7 Aspekte im Zusammenhang mit der Vergabe von multihierarchischen Labels. Das Beispiel der FIG. 7 illustriert die Vergabe von multihierarchischen Labels im Zusammenhang mit einem 3-D
Bilddatensatz; entsprechende Techniken können analog auch für einen 2-D
Bilddatensatz angewendet werden.
In FIG. 7, oben ist ein 2-D-Schnitt durch die Kachel 213 dargestellt. Die Kachel 213 bildet eine Struktur 401 ab. Das Label 151 ist an die Struktur 401 vergeben. Dieses Label beschreibt„TRANSISTORZELLE“.
Die Kachel 213 ist auf der Hierarchieebene 251 und umfasst auch die Kachel 213-2- 1 auf der Hierarchieebene 253 (vgl. FIG. 5). Die Kachel 213-2-1 bildet eine Struktur 402 ab. Das Label 152 ist eine Struktur 402 vergeben. Dieses Label 152 beschreibt „LOCH“.
Daraus kann ein multihierarchisches Label 159 abgeleitet werden, welches beschreibt:„TRANSISTORZELLE-LOCH“.
In FIG. 7, unten ist ein 2-D-Schnitt durch die Kachel 214 dargestellt. Die Kachel 214 bildet eine Struktur 403 ab. Das Label 153 dieser Struktur 403 beschreibt
„SPEICHERZELLE“.
Die Kachel 214 ist auf der Hierarchieebene 251 umfasst auch die Kachel 214-1 -1 auf der Hierarchieebene 253. Die Kachel 214-1-1 bildet die Struktur 402 ab, welche das Label 154„LOCH“ aufweist. Das Label 154 umfasst im Beispiel der FIG. 7 auch eine Begrenzungs-Box 701 (engl „bounding box“). Aus dem Label 153 und dem Label 154 kann ein multihierarchisches Label 158„SPEICHERZELLEN-LOCH“ abgeleitet werden.
Dies bedeutet, dass für Strukturen 402 in einer Kachel 213-2-1 , 214-1 -1 einer unteren Hierarchieebene 253 Labels 151 , 153 von Strukturen 401 , 403 in einer entsprechenden Kachel 213, 214 auf einer oberen Hierarchieebene 251 vererbt werden können. Derart wird das multihierarchische, kombinierte Label 158, 159 erhalten.
Z.B. wäre es in diesem Zusammenhang denkbar, dass für das Beispiel der FIG. 13 ein multi-hierarchisches Label vergeben wird, welches die Form hat:
„DECK[1 ];TRENCH[2-3]; CHANNEL[27-48]; INSULATION“.
Z.B. wäre es in diesem Zusammenhang denkbar, dass für das Beispiel der FIG. 14 ein multi-hierarchisches Label vergeben wird, welches die Form hat: ,,DIE[10];
CHIP[5]; TRANSISTOR[18]; GATE“.
In diesen Beispielen ist auch die Indizierung gleichartiger Strukturen auf einer Hierarchieebene beinhaltet.
Allgemein formuliert kann es möglich sein, gleichartige Halbleiter-Bauelemente (d.h. Halbleiter-Bauelemente derselbe Hierarchieebene und desselben Typs) mittels der Labels zu indizieren.
Solchen Techniken liegt die Erkenntnis zugrunde, dass die Information von unterschiedlichen Hierarchieebenen durch die Kachelung effizient kombiniert werden kann, um derart zusätzliche Information abzuleiten. Während im Beispiel der FIG. 7 auf der großen Auflösung in den Kacheln 213, 214 auf der Hierarchieebene 251 Unterschiede zwischen den Strukturen 401 , 403 klar erkenntlich sind, sind die Loch- Strukturen 402 auf der Hierarchieebene 253 in den Kacheln 213-2-1 , 214-1 -1 ohne Kontexti nformation nicht unterscheidbar. Dies liegt daran, dass sowohl die
Transistorzelle, wie auch die Speicherzelle ein Loch beinhalten, das nur in der feineren Auflösung in den Kacheln 213-2-1 und 214-1 -1 auf der Hierarchieebene 253 sichtbar wird. Diese Löcher 402 sind in der groben Auflösung der Kacheln 213, 214 der Hierarchieebene 251 nicht sichtbar. Indem diese Information der Label 151 , 153 in den Kacheln 213, 214 mit den Labein 152, 154 in den Kacheln 213-2-1 und 214-1 - 1 kombiniert wird, kann das multihierarchische Label 158 bzw. 159 bestimmt werden.
Dann kann eine Unterscheidung bei der Analyse vorgenommen werden. Dies kann erstrebenswert sein, weil - trotz des gleichartigen Aussehens der Löcher 402 in den Kacheln 213-2-1 und 214-1 -1 - diese Löcher 402 unterschiedliche Funktionsweisen im Zusammenhang mit der Transistorzelle bzw. der Speicherzelle aufweisen können. Dies bedeutet, dass zum Beispiel die Toleranz gegenüber Defekten oder
Verunreinigungen ganz unterschiedlich sein kann.
Die multihierarchischen Label 158-159 können auch die Verarbeitungsfähigkeiten verbessern. Zum Beispiel können Filter-Anfragen gezielt gestellt werden. Z.B. kann es im gesamten Messvolumen ABC möglich sein, die Struktur„SPEICHERZELLEN LOCH“ mit einer Genauigkeit der kleinsten Voxeigröße zu lokalisieren. Insbesondere könnte man nach Extraktion der Positionen aller„SPEICHERZELLEN-LÖCHER“ Korrelationen zwischen den Positionen untersuchen, ohne die (auf kleinster
Kachelhierarchie) gleich aussehenden„TRANSISTORZELLEN-LÖCHER“ mit dabei zu haben.
Ein beispielhaftes Vorgehen zum Vergeben der Labels und insbesondere der multihierarchischen Labels ist im Zusammenhang mit FIG. 8 beschrieben.
FIG. 8 ist ein beispielhaftes Flussdiagramm. Zum Beispiel könnte das Verfahren nach FIG. 8 im Zusammenhang mit Block 2001 aus FIG. 6 ausgeführt werden.
In Block 1011 erfolgt zunächst die Auswahl einer aktuellen Hierarchieebene 251 -253. Zum Beispiel könnte die oberste, noch nicht bearbeitete Hierarchieebene 251 -253 ausgewählt werden (d.h. in der ersten Iteration 1501 die oberste Hierarchieebene der Kachelung 201 ).
Dann erfolgt in Block 1012 das Vergeben von Labels an die in den verschiedenen Kacheln auf der aktuellen Hierarchieebene sichtbaren Strukturen. Zum Beispiel könnten die verschiedenen Kacheln sequenziell oder parallel verarbeitet werden.
Das Vergeben der Labels kann manuell erfolgen. Auch eine (teil-)automatische Vergabe von Labels ist denkbar, z.B. unter Verwendung eines
Objekterekennungsalgorithmus.
Als allgemeine Regel wäre es möglich, beim Vergeben von Labels in der aktuellen Hierarchieebene 251 -253 Kontextinformation zu berücksichtigen. Diese
Kontextinformation kann bestimmt werden basierend auf bereits annotierten
Strukturen in höheren Hierarchieebenen 251-253. Die Kontextinformation kann also z.B. den Zusammenhang zwischen den Halbleiter-Bauelementen unterschiedlicher Ebenen berücksichtigen. Wird z.B. im Beispiel der FIG. 13 für die Hierarchieebene 252 eine Struktur„GRABEN“ erkannt, dann kann dies unter Berücksichtigung der Kontextinformation erfolgen, dass die entsprechende Kachel(n) der Hierarchieebene 252, die die Struktur„GRABEN“ beinhalten, Teil einer höherhierarchischen Kachel der Hierarchieebene 251 sind, die die Struktur„DECK“ beinhalten. Die
Kontextinformation kann (als a-priori Wissen) indizieren, dass die Struktur„DECK“ mehrere Strukturen„GRABEN“ beinhaltet. Die Kontextinformation kann aus einer Datenbank, vgl. TAB. 2, abgeleitet werden. Dadurch kann die Annotierung besonders zuverlässig erfolgen und einen semantischen Kontext (der durch die hierarchische Kachelung ermöglicht wird) berücksichtigen.
Als optionale Erweiterung könnte im Zusammenhang mit der Kontextinformation auch eine Berücksichtigung von Geometrie-Referenzdaten erfolgen. Das bedeutet, dass zum Beispiel für eine Struktur auf einer höheren Hierarchieebene eine entsprechende Referenz für die Geometrie verfügbar sein kann und aus dieser Referenz dann abgeleitet werden kann, welche Strukturen in der Kachel auf der unteren Hierarchieebene (gegebenenfalls auch die entsprechende Position) vorhanden sein sollten.
Dann werden in Block 1013 die Labels aus den oberen Hierarchieebenen an die in der aktuellen Hierarchieebene annotierten Strukturen vererbt, um die
multihierarchischen Label zu erzeugen.
Schließlich wird in Block 1014 überprüft, ob noch eine weitere Hierarchieebene zu verarbeiten ist - dann werden gegebenenfalls in einer weiteren Iteration 1501 die Blöcke 1011 -1013 erneut ausgeführt.
Das Vorgehen gemäß dem Verfahren aus FIG. 8 soll nachfolgend kurz in einem Beispiel beschrieben werden: in einer ersten Iteration 1501 wird eine bestimmte
Region des Bildvolumens in ein oder mehreren Kacheln der obersten
Hierarchieebene als„LOGIKEINHEIT“ annotiert (Block 1012); in einer zweiten Iteration 1501 wird ein Teil dieser als„LOIGIKEINHEIT“ annotierten Strukturen in ein oder mehreren Kacheln der nächstniedrigeren Hierarchieebene als
„TRANSISTORZELLE“ annotiert (Block 1012); in der dritten Iteration 1501 wird dann innerhalb der als„TRANSISTORZELLE“ annotierten Strukturen eine Struktur als „LOCH“ annotiert (Block 1012). Diese Loch-Struktur erhält dann das
multihierarchische Label„LOCH-TRANSISTORZELLE-LOGIKEINHEIT“, durch Vererbung (Block 1013).
Verschiedene Techniken beruhen auf der Erkenntnis, dass es manchmal aufwendig sein kann, alle Strukturen händisch zu annotieren. Deshalb werden im
Zusammenhang mit FIG. 9 Beispiele beschrieben, die es ermöglichen, die
Annotierung teilweise oder vollautomatisch durchzuführen.
FIG. 9 ist ein beispielhaftes Flussdiagramm. Zum Beispiel könnte das Verfahren nach FIG. 9 als Teil von Block 1012 aus FIG. 8 durchgeführt werden. FIG. 9 illustriert Aspekte im Zusammenhang mit dem Propagieren von Labels zwischen Strukturen, d.h. die automatische Vergabe von Labels an bisher nicht mit Label versehene Strukturen.
Das manuelle Annotieren von allen Strukturen innerhalb eines Bildvolumens kann aufwendig sein. Unter der Verwendung von Bildverarbeitungstechniken,
beispielsweise Kreuzkorrelation, oder maschinellem Lernen kann eine Propagation von Labels zwischen Strukturen erfolgen. Dies bedeutet, dass es beispielsweise ausreichend ist, wenn lediglich einige Strukturen händisch mit einem Label versehen werden; ein entsprechender Propagationsalgorithmus kann dann alle gleichartigen Strukturen auffinden und automatsch mit entsprechenden Labels versehen. Ein solches Verfahren kann auch im Zusammenhang mit einer multihierarchischen Kachelung angewendet werden: Hier können die Labels aus einer oder einigen Kacheln auf alle übrigen Kacheln derselben Hierarchieebene propagiert werden.
Beim Propagieren von Labels zwischen Kacheln derselben Hierarchieebene kann eine Indizierung der Strukturen erfolgen. Wenn beispielsweise auf einer
Hierarchieebene Transistor-Halbleiter-Bauelemente indiziert werden, so könnten die verschiedenen Transistoren alle mit dem Label„TRANSISTOR“ versehen werden, wobei gleichzeitig ein Laufindex inkrementiert wird. Derart kann dann später zwischen den verschiedenen Transistoren unterschieden werden (vgl. FIG. 13 und FIG. 14).
Eine solche Technik der Propagation von Labels innerhalb einer Hierarchieebene ist in FIG. 9 dargestellt. Die Blöcke aus FIG. 9 könnten z.B. als Teil von Block 1012 in FIG. 8 durchgeführt werden. In Block 1021 wird zunächst eine manuelle Annotierung von einigen Strukturen in ein oder mehreren Kacheln der jeweils aktiven
Hierarchieebene (vergleiche FIG. 8: Block 1011 ) vorgenommen.
Dann wird in Block 1021A überprüft, ob die Annotierung abgeschlossen ist. Sofern noch nicht alle Strukturen Labels aufweisen, wird Block 1022 durchgeführt.
In Block 1022 wird eine Propagation der Labels durchgeführt, mittels eines
Propagationsalgorithmus 1016. Der Propagationsalgorithmus 1016 kann z.B. einen Mustervergleich und/oder einen Objekterkennungsalgorithmus umfassen. Der Propagationsalgorithmus 1016 könnte einen Klassifikator umfassen. Der
Propagationsalgorithmus 1016 könnte Techniken des maschinellen Lernens verwenden. Es wäre zum Beispiel möglich, dass der Propagationsalgorithmus 1016 auf Techniken einer Schwellenwert-Segmentierung und unter Erkennung von verbundenen Bereichen operiert. Es können aber auch kompliziertere Techniken, beispielsweise künstliche neuronale Netzwerke mit maschinellem Lernen verwendet werden. Diese künstlichen neuronalen Netzwerke sind besonders robust und können flexibel eingesetzt werden. Zum Beispiel kann das Training von Gewichten der künstlichen neuronalen Netzwerke auf Grundlage eines Trainings-Datensatzes erfolgen.
Die Propagation der Labels kann beispielsweise auch Geometrie-Referenzdaten für die Strukturen in den Kacheln auf einer gemeinsamen Ebene berücksichtigen. Dies bedeutet, dass es möglich sein kann, zum Beispiel basierend auf CAD-Dateien oder Übersichtsbildern eines optischen Mikroskops die relative Anordnung von
vergleichbaren Strukturen zu ermitteln und dann dieses Vorwissen im
Zusammenhang mit der Propagation zu berücksichtigen.
Um eine effiziente und präzise Vergabe von Labels zu ermöglichen, kann eine Rückkopplungsschleife mit mehreren Iterationen 1502 um die Propagation der Annotierung in Block 1022 implementiert werden. Dies ist in FIG. 9 im
Zusammenhang mit den optionalen Blöcken 1023 und 1024 dargestellt.
In Block 1023 wird überprüft, ob die Annotierung auf Grundlage der Propagation in Block 1022 der aktuellen Iteration 1502 eine ausreichende Genauigkeit aufweist.
Zum Beispiel wäre es möglich, dass bestimmte propagierte Labels dem Benutzer über eine Benutzerschnittstelle zusammen mit den entsprechenden Strukturen präsentiert werden. Dann könnte der Benutzer spezifizieren, ob die Vergabe von Labels in diesen Fällen passend oder unpassend war.
In Abhängigkeit von dem entsprechenden Feedback erfolgt dann in Block 1024 ggf. eine Anpassung des Propagationsalgorithmus. In diesem Zusammenhang wäre es möglich, dass Techniken des maschinellen Lernens eingesetzt werden, zum Beispiel Backpropagation, um Gewichte eines künstlichen neuronalen Netzwerks, das den Propagationsalgorithmus 1016 implementiert, anzupassen. In Abhängigkeit von dem angepassten Propagationsalgorithmus 1016 wird dann die Propagation der
Annotierung in einer erneuten Iteration 1502 von Block 1022 durchgeführt.
Wenn die Annotierung gemäß dem Check in Bock 1023 ausreichend genau ist, kann die Propagation der Annotierung in einer weiteren Iteration 1052 fortgesetzt werden, jedoch ohne Block 1024 auszuführen.
Das Beispiel aus FIG. 9 illustriert ein interaktives Online-Training des
Objekterkennungsalgorithmus 1016, welches während dem Durchführen der
Propagation angewendet wird. In anderen Beispielen wäre aber auch ein Ende-zu- Ende-Training des Propagationsalgorithmus denkbar. Ein entsprechendes Beispiel ist im Zusammenhang mit FIG. 10 dargestellt.
FIG. 10 illustriert ein Flussdiagramm eines beispielhaften Verfahrens. Dabei wird in Block 1051 der 3-D-Bilddatensatz 100 mitsamt angewendeter Kachelung und Labels erhalten. Das bedeutet, dass die in den verschiedenen Kacheln der Kachelung enthaltenen Strukturen bereits mit Labels versehen, z.B. durch Verwendung des Verfahrens nach FIG. 9 - also mit Verwendung des Propagationsalgorithmus 1016.
Dann kann in Block 1052 und 1053 ein Ende-zu-Ende-Training des
Propagationsalgorithmus 1016 erfolgen. Im Beispiel der FIG. 10 erfolgt das Ende-zu- Ende-Training also offline, d. h. nach Abschluss der Propagation der Labels.
Das bedeutet, dass in Block 1052 ein Vergleich der z.B. mittels des
Propagationsalgorithmus 1016 erstellten Labels mit einer Referenz - z.B. einer händischen Verifikation erfolgt. In Block 1053 wird dann der Propagationsalgorithmus basierend auf einer Abweichung aus Block 1052 angepasst. Für die nächste
Ausführung der Propagation kann auf den angepassten Propagationsalgorithmus 1016 zurückgegriffen werden.
Voranstehend wurden also Techniken beschrieben, um Labels an Strukturen 401 - 403 zu vergeben. Insbesondere wurden Techniken beschrieben, um
multihierarchische Labels 158, 159 an Strukturen in Kacheln auf unterschiedlichen Hierarchieebenen zu vergeben. Aufgrund der großen zu verarbeitenden Datenmenge ist ein hoher Automatisierungsgrad bei der Erstellung der multihierarchischen Labels 158, 159 erstrebenswert. Eine entsprechende Möglichkeit, um die
multihierarchischen Labels 158, 159 effizient zu bestimmen, ist im Zusammenhang mit FIG. 11 beschrieben.
FIG. 11 ist ein Flussdiagramm eines beispielhaften Verfahrens. Zum Beispiel könnte das Verfahren nach FIG. 11 die Blöcke 1012 und 1013 aus FIG. 8 implementieren. FIG. 11 illustriert Aspekte im Zusammenhang mit der Bestimmung von Labels 151- 154 für Strukturen 401 -403 sowie im Zusammenhang mit der Bestimmung von kombinierten, multihierarchischen Labels 158, 159.
Im Block 1061 werden die Kacheln auf der obersten Hierarchieebene 251 selektiert. Dann erfolgt in Block 1062 das Bestimmen von Label-Kandidaten für Strukturen in
diesen Kacheln auf der Hierarchieebene 251. Dies kann teilautomatisch oder vollautomatisch erfolgen. Zum Beispiel könnte ein Klassifikator verwendet werden. Der Klassifikator kann einen Objekterkennungsalgorithmus umfassen; der
entsprechende Objekterkennungsalgorithmus kann bestimmte Wahrscheinlichkeiten für die Klassifikation der Strukturen identifizieren. Zum Beispiel könnte also für eine bestimmte Struktur einer Kachel auf der obersten Hierarchieebene 251 als Ergebnis von Block 1062 erhalten werden: Label„SPEICHER“: 40 %; Label
„LOGIKELEMENT“: 60 %. Die Label-Kandidaten„SPEICHER“ und
„LOGIKELEMENT“ werden derart erhalten. Optional kann auch eine Propagation von Labels basierend auf einer manuellen Annotation erfolgen. In jedem Fall besteht eine Unsicherheit im Zusammenhang mit der Vergabe der Label-Kandidaten.
Die grundsätzlich verfügbaren Labels können z.B. in Abhängigkeit der
Hierarchieebene und des Probentyps bestimmt werden, vgl. TAB. 2. Das bedeutet, dass aufgrund der jeweiligen Auflösung der Bildelemente z.B. vorgegeben sein kann, dass auf einer höheren Hierarchieebene nur bestimmte Halbleiter-Bauelemente - z.B. Leitungen oder ganze Logikgruppen etc. - sichtbar sind, während auf
niedrigeren Hierarchieebenen Details der Halbleiter-Bauelemente sichtbar sind, z.B. einzelne Transistoren usw.
Die Blöcke 1061 und 1062 werden dann jeweils für jede der Hierarchieebenen 251 - 253 der Kachelung 201 durchgeführt. In FIG. 11 ist dies auch für die unterste
Hierarchieebene 253 im Zusammenhang mit Blöcken 1063 und 1064 illustriert.
Dann kann eine Fusion der Label-Kandidaten in Block 1065 erfolgen. Diese Fusion kann es einerseits ermöglichen, Unsicherheiten in der Bestimmung der Label- Kandidaten zu verringern: das bedeutet, dass aus der Kontextinformation, die durch den Vergleich der Label-Kandidaten für die Strukturen auf unterschiedlichen
Hierarchieebenen erhalten wird, eine besonders zuverlässige Auswahl aus den verschiedenen Label-Kandidaten erfolgen kann.
Außerdem kann es in Block 1065 möglich sein, die multihierarchischen Labels zu bestimmen. Dazu kann ein weiterer Klassifikationsalgorithmus angewendet werden. Dieser kann als Eingabe die Label-Kandidaten aus dem Blöcken 1062 und 1064
erhalten. Es könnte z.B. eine Plausibilitätskontrolle erfolgen. Die
Plausibilitätskontrolle kann die Kontextinformation, z.B. anhand eines Vergleichs mit der Datenbank wie in TAB. 2 dargestellt (die vorgegebene Zusammenhänge zwischen den Strukturen bzw. insbesondere der Halbleiter-Bauelemente auf den unterschiedlichen Hierarchieebenen beinhaltet), berücksichtigen. Die
Kontextinformation beschreibt dabei einen Zusammenhang zwischen den Label- Kandidaten der Strukturen in den verschieden Hierarchieebenen. Wenn z.B. bekannt ist, dass„SPEICHER“-Strukturen keine„LÖCHER“ beinhalten, dann kann dies bei der Fusion in Block 1065 berücksichtigt werden. Die Vergabe des Labels„LOGIK“ kann präferiert werden gegenüber der Vergabe des Labels„SPEICHER“. Der weitere Klassifikationsalgorithmus kann entsprechend trainiert sein, die Kontextinformation für die Labels für Strukturen in den Kacheln auf unterschiedlichen Hierarchieebenen zu berücksichtigen.
Aus FIG. 11 ist also zusammenfassend ersichtlich, dass zunächst Label-Kandidaten für Strukturen den assoziierten Kacheln unterschiedliche Hierarchieebenen mit ein oder mehreren ersten Klassifikationsalgorithmen bestimmt werden. Dann kann es möglich sein, die Labels für die Strukturen in den assoziierten Kacheln mit einem zweiten Klassifikationsalgorithmus zu bestimmen, der die Label-Kandidaten als Eingabe erhält.
FIG. 12 ist ein Flussdiagramm eines beispielhaften Verfahrens. FIG. 12 illustriert Aspekte im Zusammenhang mit der Registrierung. Zum Beispiel könnte das
Verfahren gemäß FIG. 12 im Zusammenhang mit Block 2003 aus FIG. 6 ausgeführt werden.
Zunächst wird in Block 1070 eine aktuelle Hierarchieebene ausgewählt. Insoweit entspricht Block 1070 also zum Beispiel Block 1011 aus FIG. 8.
Dann erfolgt in Block 1071 die Registrierung von zwei Kacheln auf der aktuellen Hierarchieebene. Dies bedeutet also, dass eine Kachel mit Voxeln aus dem 3-D- Bilddatensatz mit einer weiteren Kachel mit Voxeln aus einem Referenzdatensatz (zum Beispiel einem CAD-Modell) verglichen wird.
Dann wird in Block 1072 das bisherige Registrierungsergebnis 1073 basierend auf der Registrierung aus Block 1071 verfeinert.
In Block 1074 wird überprüft, ob noch Kacheln auf einer weiteren Hierarchieebene zu verarbeiten sind. Insofern entspricht Block 1074 Block 1014 aus FIG. 8. Ist dies der Fall, so wird eine weitere Iteration 1503 der Blöcke 1070-1072 durchgeführt.
Die multihierarchische Registrierung aus FIG. 12 bedeutet also, dass auf der obersten Hierarchieebene begonnen (erste Iteration 1503) wird und zwei
entsprechende Volumina miteinander registriert werden. Dadurch wird ein
entsprechend grobes Registrierungsergebnis erhalten (Block 1073). Dieses Ergebnis der Registrierung dient als Ausgangspunkt für eine Verfeinerung auf der
nächstniedrigeren Hierarchieebene in der nächsten Iteration 1503. Indem auf dieser nächsten Hierarchieebene zwei korrespondierende Kacheln (die entsprechende Volumina abbilden) ausgewählt werden, kann dort die Registrierung zuverlässig durchgeführt werden. Die Auswahl der korrespondierenden Kacheln kann auf Grundlage der groben Registrierung auf der obersten Hierarchieebene erfolgen. Dieser Vorgang kann iterativ wiederholt werden, bis die unterste Hierarchieebene erreicht wird.
Insbesondere können korrespondierende Kacheln auf den unteren Hierarchieebenen in Abhängigkeit einer Signifikanz der dort abgebildeten Strukturen für die
Registrierung ausgewählt werden. Zum Beispiel könnten also solche Kacheln ausgewählt werden, welche Strukturen abbilden, die besonders zuverlässig miteinander registriert werden können. Dies sind zum Beispiel Strukturen mit einem hohen Aspektverhältnis oder Strukturen, die eine signifikante Anisotropie in den drei Raumrichtungen aufweisen. Irreguläre Strukturen können bevorzugt werden. Die Auswahl kann z.B. anhand des Referenzdatensatzes erfolgen. Z.B. könnten solche Kacheln für die Registrierung ausgewählt werden, die ein oder mehrere Lithographie- Marker abbilden.
Eine solche Registrierung kann optional auch auf Lithographie-Marker als Strukturen zurückgreifen. Dem liegt die Erkenntnis zugrunde, dass Halbleiter-Strukturen häufig in Schichtebenen gefertigt werden. Zur Ausrichtung von aufeinanderfolgenden
Schichtebenen werden Lithographie-Marker verwendet. Solche Techniken sind im Grundsatz bekannt. Die Morphologie von Lithographie-Markern ist typischerweise signifikant verschieden von der Morphologie von Halbleiter-Bauelementen bzw. anderen funktionalen Einheiten. Die Lithographie-Marker können eine starke
Anisotropie aufweisen, um die Orientierung bestimmen zu können. Selbst für eine große Anzahl von Lithographie-Marken ist eine solche Registrierung besonders effizient. Selbst wenn die Position individueller Lithographie-Marker zufälligen Variationen ausgesetzt werden kann, kann aufgrund der großen Anzahl von
Lithographie-Marken diese Fluktuation heraus gemittelt werden. Derart kann eine besonders präzise Registrierung ermöglicht werden, zum Beispiel im Vergleich zu Referenztechniken, die lediglich einen einzelnen Lithographie-Marker zur
Registrierung verwenden.
Die Registrierung kann gesondert für zumindest eine Schichtebene der Halbleiter- Bauelemente durchgeführt werden. Dies ermöglicht eine Kombination von 1 -D-/2-D- Registrierungstechniken, um eine 3-D-Registrierung zu erhalten. Zum Beispiel könnte erst eine 1 -D-Registrierung auf den Schichtstapel der Halbleiter-Bauelemente durchgeführt werden (z.B. anhand eines lateralen Schnitts durch den Schichtstapel). Dies kann die Ebenennormale des Schichtstapels als Registrierungskomponente festlegen. In einem zweiten Schritt können die einzelnen Schichtebenen der
Halbleiter-Bauelemente extrahiert werden und miteinander registriert werden, um eine 2-D-Registrierung orthogonal zur Ebenennormale zu ermöglichen.
Selbstverständlich können die Merkmale der vorab beschriebenen
Ausführungsformen und Aspekte der Erfindung miteinander kombiniert werden. Insbesondere können die Merkmale nicht nur in den beschriebenen Kombinationen, sondern auch in anderen Kombinationen oder für sich genommen verwendet werden, ohne das Gebiet der Erfindung zu verlassen.
So wurden z.B. vornehmlich 3-D-Bilddatensätze, die Halbleiter-Bauelemente darstellen beschrieben. Entsprechende Techniken können aber auch auf andere Arten von 3-D-Bilddatensätzen angewendet werden.
Ferner wurden voranstehend manche Techniken im Zusammenhang mit einem 3-D Bilddatensatz beschrieben. Entsprechen der Techniken können aber auch für 2-D Bilddatensätze angewendet werden.