-
HINTERGRUND
-
1. Gebiet
der Erfindung
-
Die
vorliegende Erfindung betrifft die Halbleiterscheibenmesstechnik
und insbesondere die Erzeugung von simulierten Beugungssignalen
zur Verwendung in der optischen Messtechnik.
-
2. Stand der
Technik
-
Die
optische Messtechnik kann verwendet werden, um die Profile von Strukturen
zu bestimmen, die auf Halbleiterscheiben gebildet werden. Im Allgemeinen
wird bei der optischen Messtechnik ein einfallender Strahl auf eine
Struktur gerichtet und der resultierende Beugungsstrahls gemessen.
Die Charakteristiken des gemessenen Beugungsstrahls (d.h. eines
gemessenen Beugungssignals) werden typisch mit vorgegebenen Beugungssignalen
(d.h. simulierten Beugungssignalen) verglichen, die bekannten Profilen
zugeordnet sind. Bei Übereinstimmung
zwischen dem gemessenen Beugungssignal und einem der simulierten
Beugungssignale wird angenommen, dass das dem übereinstimmenden simulierten
Beugungssignal zugeordnete Profil das Profil der Struktur darstellt.
-
Im
Allgemeinen bezieht das Verfahren des Erzeugens eines simulierten
Beugungssignals die Durchführung
einer großen
Anzahl komplexer Berechnungen ein, welche zeitlich und rechnerisch
intensiv sein können.
Die Anzahl und die Komplexität
der Berechnungen nehmen für
Strukturen zu, welche Profile aufweisen, die in mehr als einer Dimension
variieren.
-
ZUSAMMENFASSUNG
-
In
einer beispielhaften Ausführungsform
werden ein oder mehr simulierte Beugungssignale zur Verwendung bei
der. Bestimmung des Profils einer Struktur, die auf einer Halbleiterscheibe
ausgebildet ist, erzeugt, wobei das Profil in mehr als einer Dimension
variiert. Zwischenberechnungen werden für Änderungen eines hypothetischen
Profils der Struktur in einer ersten Dimension und einer zweiten
Dimension erzeugt, wobei jede Zwischenrechnung einem Teil des hypothetischen
Profils der Struktur entspricht. Die erzeugten Zwischenberechnungen
werden dann gespeichert und bei der Erzeugung eines oder mehrerer
simulierter Beugungssignale für
ein oder mehr hypothetische Profile der Struktur verwendet.
-
BESCHREIBUNG
DER FIGUREN DER ZEICHNUNG
-
Die
vorliegende Erfindung ist am besten durch Bezugnahme auf die folgende
Beschreibung in Verbindung mit den zugehörigen Figuren der Zeichnung
zu verstehen, in welchen gleiche Teile mit gleiche Bezugszeichen
bezeichnet sind.
-
1 veranschaulicht
ein beispielhaftes optisches Messsystem;
-
2A–2E veranschaulichen
verschiedene hypothetische Profile einer Struktur;
-
3 veranschaulicht
eine beispielhafte eindimensionale Struktur;
-
4 veranschaulicht
eine beispielhafte zweidimensionale Struktur;
-
5 ist
eine Draufsicht von oben einer beispielhaften Struktur;
-
6 ist
eine Draufsicht von oben einer anderen beispielhaften Struktur;
-
7 veranschaulicht
eine Kette von harmonischen Ordnungszahlen;
-
8 veranschaulicht
eine Gruppe von harmonischen Ordnungszahlen;
-
9 veranschaulicht
ein beispielhaftes Verfahren zur Erzeugung von simulierten Beugungssignalen;
-
10 veranschaulicht
einen beispielhaften Cachespeicher von Blöcken von hypothetischen Schichten
und eine Bibliothek;
-
11 veranschaulicht
Ursachen- und Reaktionsfelder der Vorderseite und der Rückseite
einer beispielhaften Schicht oder eines beispielhaften Blocks von
Schichten;
-
12A und 12B veranschaulichen
ein beispielhaftes Verfahren zur Erzeugung von simulierten Beugungssignalen
für ein
hypothetisches Profil einer Struktur;
-
13A und 13B veranschaulichen
ein anderes beispielhaftes Verfahren zur Erzeugung von simulierten
Beugungssignalen für
ein hypothetisches Profil einer Struktur;
-
14A und 14B veranschaulichen
noch ein anderes beispielhaftes Verfahren der Erzeugung von simulierten
Beugungssignalen für
ein hypothetisches Profil einer Struktur;
-
15 veranschaulicht
beispielhafte Blöcke
von hypothetischen Schichten, die so zusammengesetzt sind, dass
sie beispielhaften hypothetischen Profilen einer beispielhaften
zweidimensionalem Struktur entsprechen; und
-
16 veranschaulicht
ein beispielhaftes Rechnersystem.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Die
folgende Beschreibung legt zahlreiche spezifische Konfigurationen,
Parameter und dergleichen dar. Es sollte jedoch zu erkennen sein,
dass diese Beschreibung keine Beschränkung des Rahmens der vorliegenden
Erfindung sein soll, sondern stattdessen als eine Beschreibung beispielhafter
Ausführungsformen bereitgestellt
wird.
-
1. Optische Messtechnik
-
In
einer beispielhaften Ausführungsform
kann die optische Messtechnik verwendet werden, um das Profil einer
Struktur zu bestimmen, die auf einer Halbleiterscheibe ausgebildet
ist. Wie in 1 dargestellt, kann ein optisches
Messsystem 100 eine elektromagnetische Quelle 120,
wie beispielsweise einen Ellipsometer, einen Reflektometer und dergleichen,
umfassen. Eine Struktur 145 wird durch einen einfallenden
Strahl 110 von der elektromagnetischen Quelle 120 beleuchtet.
Der einfallende Strahl 110 wird in einem Einfallswinkel θi in Bezug auf die Normale n ~ der Struktur
auf die Struktur 145 gerichtet. Der Beugungsstrahl 115 tritt
in einem Winkel θd in Bezug auf die Normale n ~ aus.
-
Wie
in 1 dargestellt, wird der Beugungsstrahl 115 durch
den Detektor 170 empfangen. Wenn die elektromagnetische
Quelle 120 ein Ellipsometer ist, werden die relative Größe (Ψ) und die
Phase (Δ)
des Beugungsstrahls 115 empfangen und erfasst. Wenn die
elektromagnetische Quelle 120 ein Reflektometer ist, wird die
relative Intensität
des Beugungsstrahls 115 empfangen und erfasst.
-
Um
das Profil der Struktur 145 zu bestimmen, weist das optische
Messsystem 100 ein Verarbeitungsmodul 190 auf,
welches den Beugungsstrahl 115, der durch den Detektor 170 empfangen
wird, in ein Beugungssignal (d.h. ein gemessenes Beugungssignal)
umwandelt. Wie im Folgenden beschrieben, kann das Profil der Struktur 145 dann
entweder unter Verwendung eines bibliothekbasierten Verfahrens oder
eines regressionsbasierten Verfahrens bestimmt werden.
-
2. Bibliothekbasiertes
Verfahren zur Strukturprofilbestimmung
-
In
einem bibliothekbasierten Verfahren zur Bestimmung des Profils einer
Struktur wird das gemessene Beugungssignal mit einer Bibliothek
von simulierten Beugungssignalen verglichen. Konkret ist jedes simulierte Beugungssignal
in der Bibliothek mit einem hypothetischen Profils der Struktur
verbunden. Wenn eine Übereinstimmung
zwischen dem gemessenen Beugungssignal und einem der simulierten
Beugungssignale in der Bibliothek, wie beispielsweise innerhalb
voreingestellter Kriterien, erfolgt, wird vorausgesetzt, dass das
hypothetische Profil, das mit dem übereinstimmenden simulierten
Beugungssignal verbunden ist, das tatsächliche Profil der Struktur
darstellt. Das übereinstimmende
simulierte Beugungssignal und/oder hypothetische Profil können dann
verwendet werden, um zu bestimmen, ob die Struktur gemäß den Spezifikationen
erzeugt wurde.
-
Demnach
vergleicht erneut unter Bezugnahme auf 1 das Verarbeitungsmodul 190 in
einer beispielhaften Ausführungsform
nach Erhalt eines gemessenen Beugungssignals das gemessene Beugungssignal
mit simulierten Beugungssignalen, die in einer Bibliothek 185 gespeichert
sind. Die Bibliothek 185 enthält simulierte Beugungssignale,
die mit hypothetischen Profilen der Struktur 145 verbunden
sind. Konkret enthält die
Bibliothek 185 in einer beispielhaften Ausführungsform
Paarungen von simulierten Beugungssignalen und hypothetischen Profilen
der Struktur 145. Das simulierte Beugungssignal in jeder
Paarung enthält
hypothetisch erzeugte Reflexionsgrade, welche das vorhergesagte
Verhalten des Beugungsstrahls 115 kennzeichnen, wobei angenommen
wird, dass das Profil der Struktur 145 das des hypothetischen
Profils in der Paarung des simulierten Beugungssignals und des hypothetischen
Profils ist.
-
Der
Satz von hypothetischen Profilen, der in der Bibliothek 185 gespeichert
ist, kann durch Kennzeichnen eines hypothetischen Profils unter
Verwendung eines Satzes von Parametern erzeugt werden, wobei der Satz
von Parametern dann geändert
wird, um hypothetische Profile verschiedener Formen und Dimensionen zu
erzeugen. Das Verfahren des Kennzeichnens eines Profils unter Verwendung
eines Satzes von Parametern kann als Parametrisierung bezeichnet
werden.
-
Nehmen
wir zum Beispiel an, dass, wie in 2A dargestellt,
das hypothetische Profil 200 durch die Parameter h1 und
w1 gekennzeichnet werden kann, die seine Höhe beziehungsweise Breite definieren.
Wie in 2B bis 2E dargestellt,
können
zusätzliche
Formen und Merkmale des hypothetischen Profils 200 durch
Erhöhen
der Anzahl von Parametern gekennzeichnet werden. Zum Beispiel kann
das hypothetische Profil 200, wie in 2B dargestellt,
durch die Parameter h1, w1 und w2 gekennzeichnet werden, die seine Höhe, seine
untere Breite beziehungsweise seine obere Breite definieren. Es
ist zu beachten, dass die Breite des hypothetischen Profils 200 als
die kritische Dimension (CD für
engl. critical dimension) bezeichnet werden kann. Zum Beispiel können in 2B die
Parameter w1 und w2 als die untere CD beziehungsweise obere CD des
hypothetischen Profils 200 definierend beschrieben werden.
-
Wie
zuvor erwähnt,
kann der Satz von hypothetischen Profilen, der in der Bibliothek 185 (1)
gespeichert ist, durch Ändern
der Parameter, welche das hypothetische Profil kennzeichnen, erzeugt
werden. Unter Bezugnahme auf 2B können zum
Beispiel durch Ändern
der Parameter h1, w1 und w2 hypothetische Profile verschiedener
Formen und Dimensionen erzeugt werden. Es ist zu beachten, dass
ein, zwei oder alle drei Parameter in Bezug aufeinander geändert werden
können.
-
Erneut
unter Bezugnahme auf 1 hängt die Anzahl von hypothetischen
Profilen und entsprechenden simulierten Beugungssignalen in dem
Satz von hypothetischen Profilen und simulierten Beugungssignalen,
die in der Bibliothek 185 gespeichert sind (d.h. die Auflösung und/oder
der Bereich der Bibliothek 185), zum Teil von dem Bereich, über den
der Satz von Parametern geändert
wird, und dem Inkrement, mit dem der Satz von Parametern geändert wird,
ab. In einer beispielhaften Ausführungsform
werden die hypothetischen Profile und die simulierten Beugungssignale,
die in der Bibliothek 185 gespeichert sind, vor dem Erhalten
eines gemessenen Beugungssignals von einer tatsächlichen Struktur erzeugt.
Demnach können
der Bereich und das Inkrement (d.h. der Bereich und/oder die Auflösung), die
beim Erzeugen der Bibliothek 185 verwendet werden, basierend
auf der Vertrautheit mit dem Herstellungsverfahren für eine Struktur
und darauf, welcher Varianzbereich wahrscheinlich ist, ausgewählt werden.
Der Bereich und/oder die Auflösung
der Bibliothek 185 können
auch basierend auf empirischen Messungen, wie beispielsweise Messungen
unter Verwendung von AFM, X-SEM und dergleichen, ausgewählt werden.
-
Hinsichtlich
einer ausführlicheren
Beschreibung eines bibliothekbasierten Verfahrens siehe US-Patentanmeldung Seriennummer
09/907,488 mit dem Titel GENERATION OF A LIBRARY OF PERIODIC GRATING DIFFRACTION
SIGNALS, die am 16. Juli 2001 eingereicht wurde und hierin durch
Bezugnahme in ihrer Gesamtheit aufgenommen wird.
-
3. Regressionsbasiertes
Verfahren zur Strukturprofilbestimmung
-
In
einem regressionsbasierten Verfahren zur Bestimmung des Profils
einer Struktur wird das gemessene Beugungssignal mit einem simulierten
Beugungssignal (d.h. dem Signal eines Versuchsspektrums) verglichen.
Das simulierte Beugungssignal wird vor dem Vergleich unter Verwendung
eines Satzes von Parametern (d.h. Versuchsparametern) für ein hypothetisches
Profil (d.h. ein hypothetisches Profil) erzeugt. Wenn das gemessene
Beugungssignal und das simulierte Beugungssignal nicht übereinstimmen,
wie beispielsweise innerhalb voreingestellter Kriterien, wird ein
anderes simuliertes Beugungssignal unter Verwendung eines anderen
Satzes von Parametern für
ein anderes hypothetisches Profil erzeugt, und dann werden das gemessene Beugungssignal
und das neu erzeugte simulierte Beugungssignal verglichen. Wenn
das gemessene Beugungssignal und das simulierte Beugungssignal übereinstimmen,
wie beispielsweise innerhalb voreingestellter Kriterien, wird vorausgesetzt,
dass das hypothetische Profil, das mit dem übereinstimmenden simulierten
Beugungssignal verbunden ist, das tatsächliche Profil der Struktur
darstellt. Das übereinstimmende
simulierte Beugungssignal und/oder hypothetische Profil können dann
verwendet werden, um zu bestimmen, ob die Struktur gemäß den Spezifikationen
hergestellt wurde.
-
Erneut
unter Bezugnahme auf 1 kann das Verarbeitungsmodul 190 in
einer beispielhaften Ausführungsform
demnach ein simuliertes Beugungssignal für ein hypothetisches Profil
erzeugen und dann das gemessene Beugungssignal mit dem simulierten
Beugungssignal vergleichen. Wenn, wie zuvor erwähnt, das gemessene Beugungssignal
und das simulierte Beugungssignal nicht übereinstimmen, wie beispielsweise
innerhalb voreingestellter Kriterien, dann kann das Verarbeitungsmodul 190 wiederholt
ein anderes simuliertes Beugungssignal für ein anderes hypothetisches
Profil erzeugen. In einer beispielhaften Ausführungsform können das
anschließend
erzeugte simulierte Beugungssignal unter Verwendung eines Optimierungsalgorithmus, wie
beispielsweise globaler Optimierungstechniken, welche simuliertes
Ausheilen umfassen, und lokaler Optimierungstechniken, welche einen
Algorithmus des steilsten Abfalls umfassen, erzeugt werden.
-
In
einer beispielhaften Ausführungsform
können
die simulierten Beugungssignale und die hypothetischen Profile in
einer Bibliothek 185 (d.h. einer dynamischen Bibliothek)
gespeichert werden. Die simulierten Beugungssignale und die hypothetischen
Profile, die in der Bibliothek 185 gespeichert sind, können dann
anschließend
beim Übereinstimmen
mit dem gemessenen Beugungssignal verwendet werden.
-
Hinsichtlich
einer ausführlicheren
Beschreibung eines regressionsbasierten Verfahrens siehe US-Patentanmeldung Seriennummer
09/923,578 mit dem Titel METHOD AND SYSTEM OF DYNAMIC LEARNING THROUGH
A REGRESSION-BASED
LIBRARY GENERATION PROCESS, die am 6. August 2001 eingereicht wurde
und hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen wird.
-
4. Strenge
Koppelwellenanalyse
-
Wie
bereits erwähnt,
werden simulierte Beugungssignale erzeugt, um mit gemessenen Beugungssignalen
verglichen zu werden. Wie im Folgenden beschrieben wird, können in
einer beispielhaften Ausführungsform
simulierte Beugungssignale durch Anwenden von maxwellschen Gleichungen
und Verwenden einer numerischen Analysetechnik zur Lösung der
maxwellschen Gleichungen erzeugt werden. Konkret wird in der beispielhaften
Ausführungsform,
die im Folgenden beschrieben wird, eine strenge Koppelwellenanalyse
(RCWA für
engl. rigorous coupled wave analisis) verwendet. Es sollte jedoch
beachtet werden, dass verschiedene numerische Analysetechniken,
einschließlich
Varianten der RCWA, verwendet werden können.
-
Im
Allgemeinen wird bei einer RCWA ein Profil in eine Anzahl von Sektionen,
Stücken
oder Scheiben geteilt (im Folgenden einfach als Sektionen bezeichnet).
Für jede
Sektion des Profils wird unter Verwendung einer Fourier-Entwicklung der maxwellschen
Gleichungen (d.h. der Komponenten des elektromagnetischen Feldes
und der elektrischen Feld- oder Elektrizitätskonstanten (ε)) ein System
von gekoppelten Differenzialgleichungen erzeugt. Das System von
Differenzialgleichungen wird dann unter Verwendung einer Diagonalisierungsprozedur
gelöst,
die eine Eigenwert- und Eigenvektorzerlegung (d.h. Eigenzerlegung)
der charakteristischen Matrix des verbundenen Differenzialgleichungssystems
einbezieht. Schließlich
werden die Lösungen
für jede
Sektion des Profils unter Verwendung eines rekursiven Kopplungsschemas,
wie beispielsweise eines Streumatrixansatzes, gekoppelt. Hinsichtlich
einer Beschreibung eines Streumatrixansatz siehe Lifeng Li, "Formulation and comparison
of two recursive matrix algorithms for modeling layered diffraction
gratings", J. Opt.
Soc. Am. A13, 1.024–1035
ff. (1996), die hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen wird.
Hinsichtlich einer ausführlicheren
Beschreibung einer RCWA siehe die US-Patentanmeldung Seriennummer
09/770,997 mit dem Titel CACHING OF INTRALAYER CALCULATIONS FOR
RAPID RIGOROUS COUPLED-WAVE ANALYSIS", die am 25. Januar 2001 eingereicht
wurde und hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen
wird.
-
In
der RCWA wird die Fourier-Entwicklung der maxwellschen Gleichungen
durch Anwenden der laurentschen Regel oder der Umkehrregel erhalten.
Wenn eine RCWA an einer Struktur mit einem Profil, das in wenigstens
einer Dimension/Richtung variiert, durchgeführt wird, kann die Konvergenzgeschwindigkeit
durch geeignetes Wählen
zwischen der laurentschen Regel oder der Umkehrregel erhöht werden.
Konkret wird, wenn die beiden Faktoren eines Produkts zwischen der
elektrischen Feldkonstanten (ε)
und dem elektromagnetischen Feld (E) keine gleichzeitigen Sprungstellen
aufweisen, die laurentsche Regel angewendet. Wenn die Faktoren (d.h.
das Produkt zwischen der elektrischen Feldkonstanten (ε) und dem
elektromagnetischen Feld (E)) nur paarweise komplementäre Sprungstellen
aufweisen, wird die Umkehrregel angewendet. Hinsichtlich einer ausführlicheren
Beschreibung siehe Lifeng Li, "Use
of Fourier series in the analisis of discontinuous periodic structures", J. Opt. Soc. Am.
A13, 1.870–1.876
ff. (September, 1996), die hierin durch Bezugnahme in ihrer Gesamtheit
aufgenommen wird.
-
Für eine Struktur
mit einem Profil, das in einer Dimension variiert (hierin als eine
eindimensionale Struktur bezeichnet) wird die Fourier-Entwicklung
nur in einer Richtung durchgeführt,
und die Wahl zwischen der Anwendung der laurentschen Regel und der
Umkehrregel wird ebenfalls nur in einer Richtung getroffen. Zum
Beispiel weist ein periodisches Beugungsgitter, das in 3 dargestellt
ist, ein Profil auf, das in einer Richtung (d.h. in der x-Richtung)
variiert, und es wird angenommen, dass es in der y-Richtung im Wesentlichen einheitlich
oder kontinuierlich ist. Demnach wird die Fourier-Entwicklung für das periodische
Beugungsgitter, das in 3 dargestellt ist, nur in der
x-Richtung durchgeführt,
und die Wahl zwischen der Anwendung der laurentschen Regel und der
Umkehrregel wird ebenfalls nur in der x-Richtung getroffen.
-
Für eine Struktur
mit einem Profil, das in zwei oder mehr Dimensionen (hierin als
eine zweidimensionale Struktur bezeichnet) variiert, wird die Fourier-Entwicklung
jedoch in zwei Richtungen durchgeführt, und die Wahl zwischen
der Anwendung der laurentschen Regel und der Umkehrregel wird ebenfalls
in zwei Richtungen getroffen. Zum Beispiel weist ein periodisches
Beugungsgitter, das in 4 dargestellt ist, ein Profil auf,
das in zwei Dimensionen (d.h. der x-Richtung und der y-Richtung) variiert.
Demnach wird die Fourier-Entwicklung für das periodische Beugungsgitter,
das in 4 dargestellt ist, in der x-Richtung und in der
y-Richtung durchgeführt, und
die Wahl zwischen der Anwendung der laurentschen Regel und der Umkehrregel
wird ebenfalls in der x-Richtung und in der y-Richtung getroffen.
-
Außerdem kann
die Fourier-Entwicklung für
eine eindimensionale Struktur unter Verwendung einer analytischen
Fourier-Transformation (z.B. einer sin(v)/v-Funktion) durchgeführt werden. Für eine zweidimensionale
Struktur kann die Fourier-Entwicklung jedoch nur unter Verwendung
einer analytischen Fourier-Transformation durchgeführt werden,
wenn die Struktur ein Muster mit rechteckigen Flächen, wie beispielsweise das in 5 dargestellte,
aufweist. Demnach wird für
alle anderen Fälle,
wie beispielsweise, wenn die Struktur ein nicht rechteckiges Muster
(ein Beispiel davon ist in 6 dargestellt)
aufweist, eine numerische Fourier- Transformation (z.B. mittels einer schnellen
Fourier-Transformation)
durchgeführt.
-
In
einer RCWA werden alle harmonischen Ordnungszahlen in Beziehung
zueinander angeordnet. Für eine
eindimensionale Struktur ist dieses Verfahren einfach, da die harmonischen
Ordnungszahlen in einer Kette geordnet werden können. Wie zum Beispiel in 7 dargestellt,
können
die harmonischen Ordnungszahlen, welche von –2 bis +2 reichen, in einer
einfachen Kette von –2
bis +2 geordnet werden. Demnach kann jede harmonische Ordnungszahl
auf einer Eins-zu-eins-Basis mit einer anderen in Beziehung gebracht
werden.
-
Dagegen
erfolgt für
eine zweidimensionale Struktur, wie in 8 dargestellt,
die Beugungsordnung in einer Gruppe. Demnach wird, um ein Paar von
Ordnungszahlen mit einem anderen Paar von Ordnungszahlen in Beziehung
zu bringen, die Beugungsordnungsgruppe in eine Dimension projiziert.
Daher wird jedes Paar von Ordnungszahlen sortiert, und der Algorithmus
wird dementsprechend organisiert, um sicherzustellen, dass die korrekten
Ordnungszahlen verwendet werden.
-
Zum
Beispiel wird in einer beispielhaften Ausführungsform, um die Moden außerhalb
und innerhalb einer homogenen Sektion (d.h. Rayleigh-Moden für eine Sektion)
zu errechnen. und die Differenzialgleichungen für das elektromagnetische Feld
zu formulieren, die Dispersionsbeziehung wie folgt definiert:
-
Hierbei
sind m und n die Zahl der zweidimensionalen Beugungsordnung, die
mit der x- beziehungsweise y-Richtung verbunden sind; px und
py sind die jeweiligen Perioden; k ist die
Wellenzahl (2π/λ) und ε ist die
elektrische Feldkonstante (= n2). Es ist
anzunehmen, dass in der Überschicht
(d.h. dem Medium, von dem die Struktur beleuchtet wird) ε eine reelle
Zahl ist, d.h. es gibt keine Absorption. Wenn α2 + β2 kleiner
als k2 ist, dann ist γ eine rein reelle Zahl, was
physikalisch bedeutet, dass sich die jeweilige Mode ausbreitet.
Wenn jedoch α2 + β2 größer als
k2 ist, dann ist γ eine rein imaginäre Zahl,
was bedeutet, dass die jeweilige Mode evaneszent ist, d.h. exponentiell
abklingt. Daher können
die Ordnungszahlen verbunden mit dem Wert des Ausdrucks α2 + β2 beginnend
bei den kleinsten Werten sortiert werden. Auf diese Weise wird sichergestellt,
dass γm, n (wobei m, n die zweidimensionale Ordnung
anzeigen) und demnach die Ordnungszahlen m, n selbst durch den Grad
ihrer Evaneszenz sortiert werden.
-
Wie
außerdem
bereits erwähnt,
können
die Eigenwerte und die Eigenvektoren aus der Eigenzerlegung erhalten
werden. Die entsprechenden Moden (innerhalb einer periodischen Sektion)
werden Bragg-Moden genannt. In Abhängigkeit davon, ob eine Differenzialgleichung
erster Ordnung oder zweiter Ordnung gelöst wurde, können die Eigenwerte direkt
genommen werden, oder es wird die Quadratwurzel errechnet. Im letzteren
Falle kann eine geeignete Lösung
der Quadratwurzel durch Erzwingen, dass der imaginäre Teil
der Quadratwurzel positiv ist, erhalten werden. Dann werden die
Eigenwerte und demnach die Ordnungszahlen durch den imaginären Teil
beginnend beim kleinsten Wert sortiert, und die Eigenvektoren werden
dementsprechend sortiert.
-
Als
Beispiel ist in 4 ein schachbrettartiges Beugungsgitter
als eine zweidimensionale Struktur dargestellt. Es sollte jedoch
zu erkennen sein, dass eine zweidimensionale Struktur verschiedene
Strukturen mit Profilen umfassen kann, die in mehr als einer Dimension
variieren, wie beispielsweise Kontaktlöcher, Stifte und dergleichen.
-
5. Cachespeicherung
und Wiedergewinnung von Eigenlösungen
-
Wie
bereits erwähnt,
kann das Verfahren zur Erzeugung eines simulierten Beugungssignals
die Durchführung
einer großen
Anzahl von komplexen Berechnungen einbeziehen. Da außerdem die
Komplexität
der hypothetischen Profile zunimmt, nehmen auch die Anzahl und die
Komplexität
der Berechnungen zu, die gebraucht werden, um das simulierten Beugungssignal
für das
hypothetische Profil zu erzeugen.
-
Entsprechend
kann in einer beispielhaften Ausführungsform ein Teil der Berechnungen,
die bei der Erzeugung von simulierten Beugungssignalen durchgeführt werden,
vor der Erzeugung eines oder mehrerer simulierter Beugungssignale
als Zwischenberechnungen gespeichert werden. Wie bereits erwähnt, wird
in der RCWA das System von Differenzialgleichungen für jede Sektion
eines Profils unter teilweiser Verwendung von Eigenzerlegung gelöst. Demnach
werden in der vorliegenden Ausführungsform
die Eigenwerte und Eigenvektoren (d.h. die Eigenlösungen),
die beim Lösen
des Systems von Differenzialgleichungen für jede Sektion des Profils
verwendet werden, vor der Erzeugung eines oder mehrerer simulierter
Beugungssignale berechnet und gespeichert. Die vorher berechneten
und gespeicherten Eigenlösungen
können
wiedergewonnen werden, wenn das System von Differenzialgleichungen
bei der Erzeugung eines oder mehrerer simulierter Beugungssignale
zu lösen
ist.
-
Konkret
wird in der vorliegenden beispielhaften Ausführungsform unter Bezugnahme
auf 9 bei Schritt 902 vor der Erzeugung eines
oder mehrerer simulierter Beugungssignale für ein oder mehr hypothetische
Profile ein Satz von Eigenlösungen
berechnet, der bei der Erzeugung des einen oder der mehreren simulierten
Beugungssignale für
das eine oder die mehreren hypothetischen Profile verwendet wird.
Demnach wird der Satz von Eigenlösungen
für die
verschiedenen Geometrien und/oder Materialien berechnet, die bei der
Erzeugung des einen oder der mehreren simulierten Beugungssignale
für das
eine oder die mehreren hypothetischen Profile verwendet werden.
-
Konkret
wird bei der Erzeugung des einen oder der mehreren simulierten Beugungssignale
für ein
oder mehr hypothetische Profile, wie bereits erwähnt, jedes hypothetische Profil
in eine Anzahl von Sektionen geteilt, wobei die Geometrie einer
bestimmten Sektion der Geometrie eines bestimmten Teils des hypothetischen Profils
entspricht. Außerdem
kann jedes hypothetische Profil Schichten von unterschiedlichem
Material umfassen. Demnach kann eine bestimmte Sektion dem Material
in einem bestimmten Teil des hypothetischen Profils entsprechen.
-
Zum
Beispiel kann ein hypothetisches Profil in eine Anzahl von rechteckigen
Sektionen geteilt werden, wobei jede rechteckige Sektion eine unterschiedliche
Breite aufweist, die der Breite eines bestimmten Teils des hypothetischen
Profils entspricht. Es ist zu beachten, dass, obwohl die Eigenlösungen für Änderungen
in der Breite empfindlich sind, was bedeutet, dass rechteckige Sektionen
unterschiedlicher Breite unterschiedliche Eigenlösungen aufweisen, sie für Änderungen
in der Höhe
nicht empfindlich sind, was bedeutet, dass rechteckige Sektionen
unterschiedlicher Höhe
dieselben Eigenlösungen
aufweisen. Wenn demnach rechteckige Sektionen verwendet werden,
kann ein Satz von Eigenlösungen
für die
unterschiedliche Breite von rechteckigen Sektionen berechnet werden,
der bei der Erzeugung der Bibliothek verwendet werden kann.
-
Nimmt
man außerdem
als Beispiel an, dass das hypothetische Profil eine Oxidschicht
auf der Oberseite einer Photolackschicht umfasst. In diesem Beispiel
kann das hypothetische Profil in wenigstens zwei Sektionen geteilt
werden, wobei die erste Sektion der Oxidschicht entspricht und die
zweite Sektion der Photolackschicht entspricht. Demnach werden Eigenlösungen für die Oxidschicht
und die Photolackschicht berechnet. Außerdem werden in der Annahme,
dass rechteckige Sektionen verwendet werden, Eigenlösungen für rechteckige
Sektionen verschiedener Breiten berechnet, die Oxid aufweisen, welche
der ersten Sektion der hypothetischen Profile entsprechen, und rechteckige
Sektionen verschiedener Breiten, die Photolack aufweisen, welche
der zweiten Sektion der hypothetischen Profile entsprechen.
-
Außerdem wurden
der Klarheit halber die Sektionen eines hypothetischen Profils in
zwei Dimensionen dargestellt. Es sollte jedoch beachtet werden,
dass für
eine Struktur mit einem Profil, das in zwei oder mehr Dimensionen
variiert (d.h. einer zweidimensionalen Struktur), die Sektionen
komplexere Formen und Parametrisierungen haben können.
-
Wenn
zum Beispiel rechteckige Sektionen verwendet werden, können die
rechteckigen Sektionen Breiten in zwei Dimensionen (z.B. eine Breite
in einer x-Richtung und eine Breite in eine y-Richtung, welche orthogonal
sein können
oder nicht), eine oder mehr abgerundete Ecken und dergleichen aufweisen.
Außerdem können, wenn
elliptische Sektionen verwendet werden, wie beispielsweise für Kontaktlöcher oder
Stifte, die elliptischen Sektionen Durchmesser (z.B. einen Durchmesser
in einer x-Richtung und einen Durchmesser in einer y-Richtung),
einen Parameter, der die Abweichung von einer Ellipse oder einem
Rechteck (z.B. einen elliptischen Exponenten, der für eine Ellipse
gleich 2 ist und umso größer wird,
je mehr sich die elliptische Querschnittform einem Rechteck nähert) beschreibt,
und dergleichen aufweisen.
-
Es
sollte jedoch beachtet werden, dass die Sektionen verschiedene Formen
unterschiedlicher Komplexität
haben können.
Zum Beispiel können
die Sektionen Kombinationen von Formen aufweisen, wie beispielsweise
eine Kombination von rechteckigen Formen.
-
Bei
Schritt 904 wird der Satz von berechneten Eigenlösungen gespeichert.
Der Satz von berechneten Eigenlösungen
kann in einem Speicher, einer Datei und dergleichen gespeichert
werden. Außerdem
kann der Satz von berechneten Eigenlösungen zur Erleichterung der
Wiedergewinnung indexiert werden.
-
In
einer beispielhaften Ausführungsform
werden auf die zuvor beschriebene Art und Weise Sätze von berechneten
Eigenlösungen
für verschiedene
Geometrien und/oder Materialien, sowie verschiedene Wellenlängen und
Einfallswinkel zur Verwendung bei der Erzeugung eines oder mehrerer
simulierter Beugungssignale basierend auf den gespeicherten Eigenlösungen erzeugt
und gespeichert. In einer bestimmten beispielhaften Ausführungsform
werden die Sätze
von berechneten Eigenlösungen
gemäß einer
Verschachtelungshierarchie erzeugt und gespeichert, was bedeutet,
dass die Eigenlösungen
in mehrfachen geschachtelten Iterationen (z.B. Schleifen) eines
oder mehrerer Parameter (d.h. Geometrie, Material, Wellenlänge, Einfallswinkel und
dergleichen) erzeugt und gespeichert werden.
-
Zum
Beispiel wird in einer ersten Schleife die Geometrie der Sektionen
geändert.
In einer zweiten Schleife wird die erste Schleife mit dem Material
der Sektionen, das für
jede Iteration der ersten Schleife geändert wird, wiederholt. In
einer dritten Schleife werden die ersten beiden Iterationen mit
der Wellenlänge
des einfallenden Strahles, die für
jede Iteration der ersten Schleife und jede Iteration der zweiten
Schleife geändert wird,
wiederholt. Alternativerweise kann für eine winkelauflösende Messtechnik
(d.h. eine Messtechnik, bei welcher der Einfallswinkel geändert wird)
in der dritten Schleife der Einfallswinkel des einfallenden Strahls
anstelle der Wellenlänge
geändert
werden. Es sollte jedoch zu erkennen sein, dass die Reihenfolge
und Anzahl von Schleifen variieren kann.
-
Bei
Schritt 906 wird ein hypothetisches Profil erzeugt. Wie
bereits erwähnt,
kann ein hypothetisches Profil unter Verwendung eines Satzes von
Parametern gekennzeichnet werden, welche dann geändert werden können, um
den Satz von hypothetischen Profilen zu erzeugen.
-
Bei
Schritt 908 wird das hypothetische Profil in Sektionen
geteilt. Bei Schritt 910 wird für jede Sektion ein System von
Differenzialgleichungen erzeugt. Bei Schritt 912 werden
die vorher berechneten und gespeicherten Eigenlösungen, welche der Sektion
entsprechen, wiedergewonnen. Bei Schritt 914 wird das System von
Differenzialgleichungen unter Verwendung der wiedergewonnenen Eigenlösung für die Sektion
gelöst.
-
Wenn
bei Schritt 916 die letzte Sektion nicht erreicht wurde,
werden Schritt 910 bis 914 für die restlichen Sektionen
des hypothetischen Profils wiederholt. Wenn die letzte Sektion erreicht
wurde, werden bei Schritt 918 die Lösungen für die Sektionen der hypothetischen
Profile gekoppelt, um zu einer Lösung
für das hypothetische
Profil zu gelangen. Bei Schritt 920 wird diese Lösung dann
als das simulierte Beugungssignal für das hypothetische Profil
gespeichert.
-
Wenn
bei Schritt 922 ein simuliertes Beugungssignal für ein anderes
hypothetisches Profil zu erzeugen ist, werden Schritt 908 bis 920 wiederholt.
Wenn das letzte hypothetische Profil erreicht wurde, ist das Verfahren
beendet.
-
In
einer beispielhaften Ausführungsform,
in welcher ein bibliothekbasiertes Verfahren verwendet wird, um
das Profil einer Struktur zu bestimmen, wird eine Bibliothek von
hypothetischen Profilen und entsprechenden simulierten Beugungssignalen
für verschiedene
Geometrien und/oder Materialien, sowie verschiedene Wellenlängen oder
Einfallswinkel basierend auf den vorher erzeugten und gespeicherten
Eigenlösungen
erzeugt und gespeichert. In einer bestimmten beispielhaften Ausführungsform
wird die Bibliothek von hypothetischen Profilen und entsprechenden
simulierten Beugungssignalen in derselben Verschachtelungshierarchie wie
die vorher erzeugten und gespeicherten Eigenlösungen erzeugt und gespeichert.
-
In
einer anderen beispielhaften Ausführungsform, in welcher ein
regressionsbasiertes Verfahren verwendet wird, um das Profil einer
Struktur zu bestimmen, werden ein oder mehr simulierte Beugungssignale basierend
auf den vorher erzeugten und gespeicherten Eigenlösungen erzeugt.
-
6. Trapeze
-
Wie
zuvor beschrieben, kann das Berechnen und Speichern der Eigenlösungen vor
der Erzeugung eines oder mehrerer simulierter Beugungssignale die
Rechenzeit zur Erzeugung des einen oder der mehreren simulierten
Beugungssignale verkürzen.
In einer beispielhaften Ausführungsform
wird die Rechenzeit zur Erzeugung eines oder mehrerer simulierter
Beugungssignale durch Erzeugen von Zwischenberechnungen (im Folgenden
als "Beugungsberechnungen" bezeichnet) für eine Mehrzahl
von Blöcken
von Sektionen (im Folgenden als "hypothetische
Schichten" bezeichnet)
weiter verkürzt.
-
Zum
Beispiel kann unter Bezugnahme auf 10 eine
Mehrzahl von hypothetischen Schichten 1002 (z.B. hypothetische
Schicht 1002.1 bis 1002.12) als ein Block von
hypothetischen Schichten 1004 (z.B. Block von hypothetischen
Schichten 1004.1 bis 1004.4) zusammengestellt
werden. Jede hypothetische Schicht 1002 (d.h. eine Sektion)
kennzeichnet eine Schicht (d.h. einen Teil) eines hypothetischen
Profils.
-
In
dem vorliegenden Beispiel sind die hypothetischen Schichten 1002.1, 1002.2 und 1002.3 als
zusammengelegt dargestellt, um den Block von hypothetischen Schichten 1004.1 zu
bilden. Die hypothetischen Schichten 1002.4, 1002.5 und 1002.6 sind
als zusammengelegt dargestellt, um den Block von hypothetischen Schichten 1004.2 zu
bilden. Die hypothetischen Schichten 1002.7, 1002.8 und 1002.9 sind
als zusammengelegt dargestellt, um den Block von hypothetischen
Schichten 1004.3 zu bilden. Die hypothetischen Schichten 1002.10, 1002.11 und 1002.12 sind
als zusammengelegt dargestellt, um den Block von hypothetischen Schichten 1004.4 zu
bilden. Auf diese Weise kann eine Anzahl von Blöcken von hypothetischen Schichten 1004 verschiedener
Größen und
Formen erzeugt werden. Obwohl die Blöcke von hypothetischen Schichten 1004 in 10 so
dargestellt sind, dass sie drei hypothetische Schichten 1002 enthalten,
sollte zu erkennen sein, dass sie jede Anzahl von hypothetischen
Schichten 1002 enthalten können.
-
Beugungsberechnungen
werden für
jede hypothetische Schicht 1002 innerhalb eines Blocks
von hypothetischen Schichten 1004 erzeugt. Die Beugungsberechnungen
für jeden
Block von hypothetischen Schichten 1004 werden dann durch
Vereinigen der Beugungsberechnungen für jede hypothetische Schicht 1002 innerhalb
jedes Blocks für
hypothetische Schichten 1004 erzeugt.
-
Konkret
sind in einer beispielhaften Ausführungsform die Ergebnisse der
Beugungsberechnungen Streumatrizen. Unter Bezugnahme auf
11 verbindet
eine Streumatrix S die Ursachen- mit den Reaktionsfeldern der Vorder-
und Rückseite,
einer Schicht oder eines Blocks von Schichten. Die Streumatrix hat
4 Submatrizen (d.h. die Reflexionsmatrix r
f und
die Durchgangsmatrix t
f an der Vorderseitenerregung,
sowie die Reflexionsmatrix r
b und die Durchgangsmatrix
t
b an der Rückseitenerregung):
-
Die
Tangentialkomponenten des elektromagnetischen Feldes können mittels
der so genannten W-Matrix aus den Aufwärts- und Abwärtswellen erhalten werden.
-
Erneut
unter Bezugnahme auf 10 werden die Beugungsberechnungen
und die Blöcke
von hypothetischen Schichten 1004 dann gespeichert. Konkret
werden in einer beispielhaften Ausführungsform Paare von Beugungsberechnungen
und Blöcken
von hypothetischen Schichten 1004 in einem Cachespeicher 1006 gespeichert.
-
Zum
Beispiel werden für
den Block von hypothetischen Schichten 1004.1 Beugungsberechnungen
für die
hypothetischen Schichten 1002.1, 1002.2 und 1002.3 erzeugt.
Eine Beugungsberechnung für
den Block von hypothetischen Schichten 1004.1 wird dann
durch Vereinigen von Beugungsberechnungen für die hypothetischen Schichten 1002.1, 1002.2 und 1002.3 erzeugt.
Der Block von hypothetischen Schichten 1004.1 und die Beugungsberechnungen,
die mit dem Block von hypothetischen Schichten 1004.1 verbunden
sind, werden dann im Cachespeicher 1006 gespeichert. Auf ähnliche
Weise werden Beugungsberechnungen für die Blöcke von hypothetischen Schichten 1004.2, 1004.3 und 1004.4 erzeugt
und im Cachespeicher 1006 gespeichert.
-
Obwohl
vier Blöcke
von hypothetischen Schichten 1004 als erzeugt und im Cachespeicher 1006 gespeichert
dargestellt und beschrieben werden, sollte zu erkennen sein, dass
jede Anzahl von Blöcken
von hypothetischen Schichten 1004 verschiedener Formen
und Konfigurationen erzeugt und im Cachespeicher 1006 gespeichert
werden kann. In der Tat kann der Cachespeicher 1006 bei
Verwendung zehn- und
hunderttausende von Blöcken
von hypothetischen Schichten 1004 und Beugungsberechnungen
enthalten.
-
Außerdem können die
Blöcke
von hypothetischen Schichten 1004, obwohl 10 die
Blöcke
von hypothetischen Schichten 1004 so veranschaulicht, dass
sie in einem grafischen Format im Cachespeicher 1006 gespeichert
sind, in verschiedenen Formaten gespeichert werden. Zum Beispiel
können
die Blöcke
von hypothetischen Schichten 1004 unter Verwendung von
Parametern gespeichert werden, welche ihre Formen definieren.
-
Die
gespeicherten Blöcke
von hypothetischen Schichten 1004 können dann verwendet werden,
um ein oder mehr simulierte Beugungssignale für ein oder mehr hypothetische
Profile zu erzeugen. Konkret können
ein oder mehr Blöcke
von hypothetischen Schichten 1004 verwendet werden, um
ein hypothetisches Profil zu kennzeichnen, und dann können die
entsprechenden Beugungsberechnungen des einen oder der mehreren
Blöcke
von hypothetischen Schichten 1004 verwendet werden, um
das simulierte Beugungssignal für
das hypothetische Profil zu erzeugen.
-
Bei
einigen Anwendungen kann ein Block von hypothetischen Schichten 1004 verwendet
werden, um ein hypothetisches Profil zu kennzeichnen. Beispielsweise
wird unter Bezugnahme auf 12A für dieses
Beispiel angenommen, dass ein simuliertes Beugungssignal für das hypothetische
Profil 1200A zu erzeugen ist. Wie zuvor beschrieben, wird
ein Block von hypothetischen Schichten 1004, der das hypothetische
Profil 1200A kennzeichnet, aus dem Cachespeicher 1006 ausgewählt. Der
geeignete Block von hypothetischen Schichten 1004 kann
unter Verwendung eines Fehlerminimierungsalgorithmus, wie beispielsweise
eines Quadratsummenalgorithmus, ausgewählt werden.
-
Wie
in 12A dargestellt, wird in diesem Beispiel der Block
von hypothetischen Schichten 1004.1 aus dem Cachespeicher 1006 ausgewählt. Die
Beugungsberechnung, die mit dem Block von hypothetischen Schichten 1004.1 verbunden
ist, wird dann aus dem Cachespeicher 1006 wiedergewonnen.
Dann werden Grenzbedingungen angewendet, um das simulierte Beugungssignal
für das
hypothetische Profil 1200A zu erzeugen.
-
Wie
bereits erwähnt,
können
die Parameter, welche das hypothetische Profil 1200A definieren,
geändert
werden, um ein anderes hypothetisches Profil zu definieren. In diesem
Beispiel wird unter Bezugnahme auf 12B angenommen,
das die Parameter geändert
werden, um das hypothetische Profil 1200B zu definieren.
-
Wie
in 12B dargestellt, wird der Block von hypothetischen
Schichten 1004.4 aus dem Cachespeicher 1006 ausgewählt. Die
Beugungsberechnung, die mit dem Block von hypothetischen Schichten 1004.4 verbunden
ist, wird dann aus dem Cachespeicher 1006 wiedergewonnen.
Dann werden Grenzbedingungen angewendet, um das simulierte Beugungssignal
für das
hypothetische Profil 1200B zu erzeugen.
-
Bei
einigen Anwendungen können
mehrfache Blöcke
von hypothetischen Schichten 1004 verwendet werden, um
ein hypothetisches Profil zu kennzeichnen. Zum Beispiel kann unter
Bezugnahme auf 13A das Profil 1300A durch
die Blöcke
von hypothetischen Schichten 1004.1, 1004.2 und 1004.3 gekennzeichnet werden.
In der vorliegenden Ausführungsform
kann ein Fehlerminimierungsalgorithmus verwendet werden, um die
geeigneten Blöcke
von hypothetischen Schichten 1004 zur Verwendung bei der
Kennzeichnung des Profils 1300A zu bestimmen.
-
In
dem vorliegenden Beispiel werden für das Profil 1300A die
Beugungsberechnungen, die mit den Blöcken von hypothetischen Schichten 1004.1, 1004.2 und 1004.3 verbunden
sind, aus dem Cachespeicher 1006 wiedergewonnen. Dann werden
Grenzbedingungen angewendet, um das simulierte Beugungssignal für das Profil 1300A zu
erzeugen. Konkret werden die Grenzbedingungen an der Ober- und an
der Unterseite des Profils 1300A angewendet.
-
Wie
bereits erwähnt,
können
die Parameter, welche das hypothetische Profil 1300A definieren,
geändert
werden, um ein anderes Profil zu definieren. In diesem Beispiel
wird unter Bezugnahme auf 13B angenommen,
dass die Parameter geändert
werden, um das hypothetische Profil 1300B zu definieren.
-
Wie
in 13B dargestellt, kann das hypothetische Profil 1300B durch
die Blöcke
von hypothetischen Schichten 1004.1, 1004.3 und 1004.4 gekennzeichnet
werden. Entsprechend werden die Beugungsberechnungen, die mit den
Blöcken
von hypothetischen Schichten 1004.1, 1004.3 und 1004.4 verbunden
sind, aus dem Cachespeicher 1006 wiedergewonnen. Dann werden
Grenzbedingungen angewendet, um das simulierte Beugungssignal für das hypothetische
Profil 1300B zu erzeugen.
-
Bei
einigen Anwendungen kann ein hypothetisches Profil mehrfache Materialien
umfassen. Zum Beispiel wird unter Bezugnahme auf 14A angenommen, dass das hypothetische Profil 1400 verwendet
wird, um ein tatsächliches
Profil eines periodischen Beugungsgitters zu kennzeichnen, das aus
zwei Materialien gebildet ist. Konkret weist das hypothetische Profil 1400,
wie in 14A dargestellt, eine erste
Schicht 1402 und eine zweite Schicht 1404 auf.
In dem vorliegenden Beispiel wird angenommen, dass die erste Schicht 1402 eine
Oxidschicht des tatsächlichen
Profils darstellt und die zweite Schicht 1404 eine Metallschicht
des tatsächlichen
Profils darstellt. Es ist zu beachten, dass das hypothetische Profil 1400 jede
Anzahl von Schichten enthalten kann, um Schichten von jeder Anzahl
von Materialien in einem tatsächlichen
Profil darzustellen.
-
Unter
Bezugnahme auf 14B wird in dem vorliegenden
Beispiel angenommen, dass der Cachespeicher 1006 die Blöcke von
hypothetischen Schichten 1004 verschiedener Materialien,
sowie verschiedener Formen enthält.
Es wird zum Beispiel angenommen, dass die Blöcke von hypothetischen Profilen
(Schichten) 1004.1 und 1004.3 Oxidschichten und
die hypothetischen Profile oder Schichten 1004.2 und 1004.4 Metallschichten
darstellen. Entsprechend kann das Profil 1400, wie in 14B dargestellt, durch die Blöcke von hypothetischen Schichten 1004.3 und 1004.4 aus
dem Cachespeicher 1006 gekennzeichnet werden. Dann werden
Grenzbedingungen angewendet, um das simulierte Beugungssignal für das Profil 1400 zu
erzeugen.
-
Bis
jetzt wurden die hypothetischen Schichten 1002 und die
Blöcke
von hypothetischen Schichten 1004 rechteckig beziehungsweise
trapezförmig
dargestellt. Wie bereits erwähnt,
hängt die
Beugungsberechnung für
eine hypothetische Schicht 1002 von ihrer Breite, aber
nicht von ihrer Höhe
ab. Die Beugungsberechnung für
einen Block von hypothetischen Schichten 1004 hängt jedoch
sowohl von seiner Höhe
als auch seiner Breite ab. Daher werden die Blöcke von hypothetischen Schichten 1004,
die im Cachespeicher 1006 gespeichert sind, zum Teil durch
ihre Breiten und ihre Höhe
gekennzeichnet und indexiert. Konkret können die Blöcke von hypothetischen Schichten 1004,
wenn sie symmetrische Trapezformen aufweisen, durch ihre Höhe, ihre untere
Breite (untere CD) und ihre obere Breite (obere CD) gekennzeichnet
werden. Wie jedoch bereits erwähnt,
können
die Blöcke
von hypothetischen Schichten 1004 verschiedene Formen aufweisen.
Entsprechend können
sie unter Verwendung jeder Anzahl von Parametern gekennzeichnet
und indexiert werden.
-
Außerdem wurde
ein hypothetisches Profil bis jetzt als durch eine Kombination von
Sektionen (wie in Sektion 3 beschrieben) und eine Kombination
von Blöcken
von Schichten (wie hierin in Sektion 4 beschrieben) gekennzeichnet
beschrieben und dargestellt. Es sollte jedoch beachtet werden, dass
ein hypothetisches Profil unter Verwendung einer Kombination von
einem oder mehr Blöcken
von hypothetischen Schichten und einer oder mehr Sektionen gekennzeichnet
werden kann.
-
Außerdem wurden
hypothetische Schichten und Blöcke
von hypothetischen Schichten der Klarheit halber in zwei Dimensionen
dargestellt. Es sollte jedoch beachtet werden, dass für eine Struktur
mit einem Profil, das in zwei oder mehr Dimensionen variiert (d.h.
zweidimensionale Struktur), die hypothetischen Schichten und/oder
Blöcke
von hypothetischen Schichten komplexere Formen und Parametrierungen
haben können.
-
Zum
Beispiel können
die Blöcke,
wie in 15 dargestellt, wenn rechteckige
Blöcke
von hypothetischen Schichten verwendet werden, Breiten in zwei Dimensionen (z.B.
eine Breite in einer x-Richtung und eine Breite in einer y-Richtung,
welche orthogonal sein können
oder nicht), eine oder mehr abgerundete Ecken und dergleichen aufweisen.
Außerdem
können
die elliptischen Blöcke,
wenn elliptische Blöcke
von hypothetischen Schichten verwendet werden, wie beispielsweise
für Kontaktlöcher oder
Stifte, Durchmesser (z.B. einen Durchmesser in einer x-Richtung
und einen Durchmesser in einer y-Richtung), einen Parameter, der
die Abweichung von einer Ellipse oder einem Rechteck (z.B. einen
elliptischen Exponenten, der für
eine Ellipse gleich 2 ist und umso größer wird, je mehr sich die
elliptische Querschnittform einem Rechteck nähert) beschreibt, und dergleichen
aufweisen.
-
Es
sollte jedoch beachtet werden, dass die hypothetischen Schichten
und/oder Blöcke
von hypothetischen Schichten verschiedene Formen unterschiedlicher
Komplexität
haben können.
Zum Beispiel können
die hypothetischen Schichten und/oder Blöcke von hypothetischen Schichten
Kombinationen von Formen, wie beispielsweise eine Kombination von
rechteckigen Formen, aufweisen.
-
In
einer beispielhaften Ausführungsform,
in welcher ein bibliothekbasiertes Verfahren verwendet wird, um
das Profil einer Struktur zu bestimmen, wird eine Bibliothek von
hypothetischen Profilen und entsprechenden Beugungssignalen für verschiedene
Geometrien und/oder Materialien, sowie verschiedene Wellenlängen oder
Einfallswinkel basierend auf den vorher erzeugten und gespeicherten
Blöcke
von hypothetischen Schichten erzeugt und gespeichert.
-
Unter
Bezugnahme auf 16 kann in einer bestimmten
beispielhaften Ausführungsform
die Bibliothek 185 unter Verwendung eines Rechnersystems 1600 erzeugt
werden. Wie bereits erwähnt
wurde und im Folgenden ausführlicher
beschrieben wird, kann das Verfahren des Erzeugens der Bibliothek 185 die
Durchführung
einer großen
Anzahl von komplexen Berechnungen einbeziehen.
-
Nimmt
man zum Beispiel an, dass ein Satz von hypothetischen Profilen für ein periodisches
Beugungsgitter, das ein Profil mit einer unteren CD von 200 nm haben
soll, zu erzeugen ist. Nehmen wir an, dass eine 10%ige Verfahrensänderung
für die
untere CD des periodischen Beugungsgitters erwartet wird, was bedeutet,
dass erwartet wird, dass die untere CD zwischen etwa 180 und etwa
220 nm variiert. Nehmen wir weiter an, dass erwartet wird, dass
die obere CD zwischen etwa 160 und etwa 180 nm variiert. Nehmen
wir an, dass die Nenndicke (d.h. die Höhe) des periodischen Beugungsgitters
etwa 500 nm sein soll, und dass eine 10%ige Verfahrensänderung
erwartet wird, was bedeutet, dass die Höhe zwischen etwa 450 und etwa
550 nm variieren kann. Nehmen wir nun an, dass die gewünschte Auflösung 1 nm
ist, was bedeutet, dass jeder Parameter der hypothetischen Profile
um ein Inkrement von 1 nm geändert
wird.
-
Bei
der Erzeugung des Satzes von hypothetischen Profilen wird die obere
CD der hypothetischen Profile zwischen 160 und 180 nm in Schritten
von 1 nm geändert.
Die untere CD der hypothetischen Profile wird zwischen 180 und 220
nm in Schritten von 1 nm geändert.
Die Dicke/Höhe
der hypothetischen Profile wird zwischen 450 und 550 nm in Schritten
von 1 nm geändert.
Demnach ergeben sich in diesem Beispiel insgesamt 87.000 hypothetische
Profile (d.h. 21 Änderungen
der oberen CD multipliziert mit 41 Änderungen der unteren CD multipliziert
mit 101 Änderungen
der Dicke/Höhe).
-
Nimmt
man nun an, dass Beugungsberechnungen für jedes hypothetische Profil
bei 53 verschiedenen Wellenlängen
zu erzeugen sind. Nehmen wir weiter an, dass jede Beugungsberechnung
6 Matrizen mit 9 Ordnungen und 8 Bytes, was insgesamt 17 KBytes
ergibt, verwendet. Entsprechend werden in diesem Beispiel zum Speichern
der Beugungsberechnungen für
alle der 87.000 hypothetischen Profile bei 53 verschiedenen Wellenlängen insgesamt
78 Gigabytes benötigt.
-
Im
Allgemeinen wird in einer Bibliothek für Strukturen mit Profilen,
die in mehr als einer Dimension variieren, eine größere Anzahl
von simulierten Beugungssignalen gespeichert als für Strukturen
mit Profilen, die nur in einer Dimension variieren. Zum Beispiel
ist die Rechenzeit für
eine einzige Lösung
für eine
Struktur mit einem Profil, das in einer Dimension variiert (d.h.
eine eindimensionale Struktur), als M3 messbar,
wobei M die Anzahl von beibehaltenen harmonischen Ordnungszahlen
in einer Richtung ist. Dagegen ist die Rechenzeit für eine einzige
Lösung
für eine
Struktur mit einem Profil, das in zwei Dimensionen variiert (d.h.
eine zweidimensionale Struktur), als 8M6 messbar.
Wenn daher insgesamt ± 5
harmonische Ordnungszahlen beibehalten werden, kann die Differenz
der Rechenzeit für
eine einzige Lösung
zwischen der eindimensionalen Struktur und der zweidimensionalen
Struktur um einen Faktor von 10.648 zunehmen.
-
Entsprechend
kann das Rechnersystem 1600 mehrfache Prozessoren 1602 umfassen,
die so konfiguriert sind, dass sie Teile der Rechnungen parallel
ausführen.
Das Rechnersystem 1600 kann jedoch mit einem einzigen Prozessor 1602 konfiguriert
sein.
-
Außerdem kann
das Rechnersystem 1600 einen Speicher 1604 umfassen,
der mit einer großen
Speicherkapazität,
wie beispielsweise 6 Gigabytes, 16 Gigabytes, 32 Gigabytes und dergleichen,
konfiguriert ist und auf den durch die mehrfachen Prozessoren 1602 zugegriffen
werden kann. Es sollte jedoch zu erkennen sein, dass das Rechnersystem 1600 mit
jeder Anzahl und Größe von Speichern 1604 konfiguriert
werden kann.
-
Demnach
können
in einer beispielhaften Ausführungsform
simulierte Beugungssignale für
einen Satz von hypothetischen Profilen, der in der Bibliothek 185 zu
speichern ist, basierend auf den Beugungsberechnungen für Blöcke von
hypothetischen Schichten, die im Cachespeicher 1006 gespeichert
sind, erzeugt werden. Konkret werden für jedes hypothetische Profil,
das in der Bibliothek 185 zu speichern ist, ein oder mehr Blöcke von
hypothetischen Schichten, welche das hypothetische Profil kennzeichnen,
aus jenen ausgewählt, die
im Cachespeicher 1006 gespeichert sind. Dann werden Grenzbedingungen
angewendet, um das simulierte Beugungssignal für das hypothetische Profil
zu erzeugen. Das simulierte Beugungssignal und das hypothetische
Profil werden dann in der Bibliothek 185 gespeichert. Das
hypothetische Profil kann in verschiedenen Formaten, wie beispielsweise
grafisch, unter Verwendung der Parameter, die das hypothetische
Profil definieren, oder beidem, gespeichert werden.
-
In
einer beispielhaften Ausführungsform
kann sich der Cachespeicher 1006, wie in 16 dargestellt, im
Speicher 1604 befinden. Entsprechend kann auf die Blöcke von
hypothetischen Schichten und die hypothetischen Profile, die im
Cachespeicher 1006 gespeichert sind, durch das Rechnersystem 1600 und
insbesondere durch die Prozessoren 1602 schneller zugegriffen
werden, als wenn sich der Cachespeicher 1006 auf einem
Magnetplattenlaufwerk befinden würde.
-
Außerdem kann
sich die Bibliothek 185 in einer beispielhaften Ausführungsform
auf verschiedenen maschinenlesbaren (d.h. computerlesbaren) Speichermedien
befinden. Zum Beispiel kann sich die Bibliothek 185 auf
einer Kompaktspeicherplatte befinden, die durch das Rechnersystem 1600 beschrieben
wird, wenn die Bibliothek 185 erzeugt wird, und durch das
Signalverarbeitungsmodul 190 (1) gelesen
wird, wenn die Bibliothek 185 verwendet wird, um das Profil
des periodischen Beugungsgitters 145 (1)
auf der Halbleiterscheibe 140 (1) zu bestimmen.
-
In
einer anderen beispielhaften Ausführungsform, in welcher ein
regressionsbasiertes Verfahren verwendet wird, um das Profil einer
Struktur zu bestimmen, werden basierend auf den vorher erzeugten
und gespeicherten Blöcken
von hypothetischen Schichten ein oder mehr simulierte Beugungssignale
erzeugt. Das eine oder die mehreren simulierten Beugungssignale
können
durch einen oder mehr Prozessoren 1602 erzeugt werden.
Außerdem
können
die Blöcke
von hypothetischen Schichten im Cachespeicher 1006 gespeichert
werden. Die erzeugten simulierten Beugungssignale können in
der Bibliothek 185 gespeichert werden.
-
Die
vorhergehenden Beschreibungen von spezifischen Ausführungsbeispielen
der vorliegenden Erfindung wurden zu Veranschaulichungs- und Beschreibungszwecken
dargelegt. Sie beabsichtigen weder vollständig sein noch die Erfindung
auf die konkreten offenbarten Formen beschränken, und es sollte klar sein, dass
viele Modifikationen und Änderungen
in Anbetracht der zuvor dargelegten Lehre möglich sind. Die Ausführungsformen
wurden gewählt
und beschrieben, um die Prinzipien der Erfindung und ihre praktische
Anwendung am besten zu erklären,
um es dadurch anderen Fachleuten zu ermöglichen, die Erfindung und
verschiedene Ausführungsformen
mit verschiedenen Modifikationen, die für den jeweiligen beabsichtigten
Verwendungszweck geeignet sind, am besten zu nutzen. Viele andere Änderungen
werden ebenso als innerhalb des Rahmens der vorliegenden Erfindung
angesehen.
-
Zusammenfassung
-
Ein
oder mehr simulierte Beugungssignale zur Verwendung bei der Bestimmung
des Profils einer Struktur, die auf einer Halbleiterscheibe ausgebildet
ist, können
erzeugt werden, wobei das Profil in mehr als einer Dimension variiert.
Zwischenberechnungen werden für Änderungen
in einem hypothetischen Profil der Struktur in einer ersten Dimension
und einer zweiten Dimension erzeugt, wobei jede Zwischenberechnung
einem Teil des hypothetischen Profils der Struktur entspricht. Die
erzeugten Zwischenberechnungen werden dann gespeichert und bei der
Erzeugung eines oder mehrerer simulierter Beugungssignale für ein oder
mehr hypothetische Profile der Struktur verwendet.