-
Die Erfindung betrifft ein Verfahren zur Bestimmung der Dicken von Schichten eines Schichtsystems. Solche Verfahren werden beispielsweise zur Qualitätskontrolle und zur Überprüfung des laufenden Fertigungsprozesses von Schichtsystemen eingesetzt. Als Beispiel sei hier die Herstellung von Panels für die Solartechnologie erwähnt. Diese haben eine Fläche von beispielsweise 2 × 3 m, auf diese Fläche werden nacheinander mehrere Schichten von Dicken, die zwischen 25 und 150 nm liegen, aufgebracht. Um die Funktionsfähigkeit der Panels sicherzustellen, muss der Herstellungsprozess wirksam kontrolliert werden. Eine dieser Kontrollmöglichkeiten besteht in der Bestimmung der Dicken der verschiedenen Schichten, wobei die Dicke einer Schicht jeweils nach dem Aufbringen dieser Schicht, bzw. vor dem Aufbringen der nächsten Schicht bestimmt wird, bzw. die zur Bestimmung der Dicke erforderlichen Messungen an der Schicht dann vorgenommen werden.
-
Die übliche Vorgehensweise bei der Schichtdickenbestimmung ist wie folgt: Zunächst werden Rezepturparameter zum Auftragen einer Schicht auf ein Substrat festgelegt. Diese Rezepturparameter bilden das sogenannte Rezept, welches das Schichtsystem beschreibt, gegebenenfalls unter Berücksichtigung der darunter liegenden (Substrat-)Schicht und dem umgebenden Medium. Insbesondere gehört zu diesen Parametern das Material, welches für die Herstellung der Schicht verwendet wird und der sich daraus ergebenden komplexen Brechungsindex ň = n + ik’, wobei n der reale Brechungsindex ist und k’ der Absorptionskoeffizient. Der komplexe Brechungsindex ň ist eine Funktion der Wellenlänge. Ein weiterer wesentlicher Rezepturparameter ist die Dicke der zu erzeugenden Schicht. In einem nächsten Schritt wird dann entsprechend den Rezepturparametern die Schicht auf das Substrat aufgetragen.
-
Im folgenden bzw. parallel und größtenteils unabhängig davon werden Messparameter festgelegt, die bei der Bestimmung der wellenlängenabhängigen Absorption AS(λ) und / oder der wellenlängenabhängigen Reflexion RS(λ) der Schicht verwendet werden, wobei die Absorption über die einfacher zu messende Transmission bestimmt werden kann. Die Messparameter umfassen unter anderen den Einfallswinkel, unter dem die Schicht mit Licht zur Messung bestrahlt wird, und die Polarisation des Lichts. Unter diesen Bedingungen werden die Absorption AS(λ) und / oder die Reflexion RS(λ) an der Schicht gemessen. Die sich aus der Messung ergebenden Messwerte werden als Messspektrum gespeichert.
-
Im Stand der Technik werden dann die komplexen Brechungsindizes des gemessenen Spektrums bestimmt, dann wird anhand eines Modells ein komplexer Modellbrechungsindex als Funktion der Wellenlänge solange variiert, bis eine ausreichende Übereinstimmung zwischen Modell und Messung erreicht ist. Pro Spektrum dauert eine solche Berechnung zwischen 500 Millisekunden und 5 Sekunden. Werden solche Algorithmen direkt bei der Herstellung verwendet, wo üblicherweise Messsysteme mit mehreren Messgeräten und Messfrequenzen von mehr als 1 Hz eingesetzt werden, so dauert die Berechnung der Schichtdicken länger als das Messintervall. Daher müssen Zwischenergebnisse zwischengespeichert, gepuffert werden, was den Verbrauch an Arbeitsspeicher und die Zeit zwischen Messung und Ergebnisvisualisierung kontinuierlich anwachsen lässt.
-
Aufgabe der Erfindung ist es, die sich an die Messung anschließende Bestimmung der Schichtdicke zu beschleunigen.
-
Diese Aufgabe wird bei einem Verfahren der eingangs beschriebenen Art dadurch gelöst, dass die Rezeptur- und Messparameter an eine Modellierfunktion übergeben werden, die anhand der übergebenen Parameter ein aus einer Modellabsorption AM(λ) und / oder einer Modellreflexion RM(λ) gebildetes Modellspektrum bestimmt. Durch Variation der Rezepturparameter in der Modellierfunktion wird das Modellspektrum iterativ so lange angepasst, bis Abweichungen vom Modellspektrum zum Messspektrum der Schicht unterhalb eines vorgegebenen Schwellwertes liegen.
-
Dabei wird zur Bewertung der Abweichungen nicht – wie etwa im Stand der Technik – der komplexe Brechungsindex oder auch nur sein Realteil herangezogen, sondern für jede Wellenlänge wird die quadratische Abweichung zwischen gemessenem Wert des Messspektrums und berechnetem Wert des Modellspektrums, also der jeweiligen Reflexionen und/oder Absorptionen der Spektren bestimmt. Die quadratischen Abweichungen werden aufsummiert, die Summe wird mit einem Schwellwert verglichen. Die Iteration kann beendet werden, wenn die Summe der quadratischen Abweichungen unterhalb des Schwellwertes liegt und wird fortgesetzt, wenn die Summe über dem Schwellwert liegt. In einer ersten Näherung reicht es dabei aus, entweder die Absorption für sich oder insbesondere die Reflexion für sich zu untersuchen, wobei die Genauigkeit durch die Berechnung bzw. Messung beider Größen erhöht wird.
-
Bei der so gewählten Vorgehensweise können die Wellenlängen eines Spektrums unabhängig voneinander betrachtet werden, die Anpassung der Rezepturparameter für die Modellierfunktion, also für die Modellabsorption AM(λ) und / oder die Modellreflexion RM(λ) kann für jede Wellenlänge unabhängig von den Berechnungen bei den anderen Wellenlängen – die zur Definition der Modellfunktion nach Art von Stützstellen verwendet werden und vorzugsweise mit den diskreten Werten, bei denen die Messungen durchgeführt wurden, übereinstimmen – durchgeführt werden. Pro Iteration müssen natürlich dieselben Werte für die Rezepturparameter verwendet werden. Auch die Bestimmung der quadratischen Abweichungen ist folglich von der Wellenlänge unabhängig und kann für jede Wellenlänge separat durchgeführt werden. In einer besonders vorteilhaften Variante des Verfahrens, die erheblich zur Beschleunigung beiträgt, werden daher mindestens für einen Teil der Wellenlängen eines Modellspektrums die Modellabsorption AM(λ) und / oder die Modellreflexion RM(λ) und / oder die quadratischen Abweichungen parallel bestimmt. Auch die Summierung der Abweichungen ist über den Einsatz von Reduktion parallelisierbar. Die iterative Anpassung der Rezepturparameter, d.h. die Regression durch einen entsprechenden Algorithmus, beispielsweise durch eine Downhill-Simplex-Algorithmus, kann jedoch nicht in diesem Maße parallelisiert werden, da die Berechnungen iterativ erfolgen müssen, bis die Summe der quadratischen Abweichungen minimal ist bzw. unter einem vorgegebenen Schwellenwert liegt. Zu den zu modellierenden Rezepturparametern zählen zum einen die Schichtdicke der obersten Schicht selbst. Zum anderen zählen dazu auch die beiden Bestandteile des komplexen Brechungsindexes, der Brechungsindex als dessen Realteil und der Absorptionskoeffizient, der dem Imaginärteil entspricht. Zur Vereinfachung werden Änderungen im Brechungsindex n und im Absorptionskoeffizient k’ gleichmäßig für alle Wellenlängen vorgenommen, also in Form von Verschiebungen Da für jedes Spektrum Werte bei etwa 500 bis 1000 Messstellen, bei denen jede einer Wellenlänge entspricht, aufgenommen werden, ist eine unabhängige Variation dieser Parameter wegen des hohen numerischen Aufwandes bei der Regression nicht sinnvoll; sie ist allerdings auch nicht notwendig, da die Genauigkeit der Bestimmung der Schichtdicke bei Anwendung von Verschiebungen bereits ausreichend ist.
-
Insbesondere bei größeren Messobjekten werden mehrere Messspektren gemessen, für mindestens einen Teil dieser Messspektren erfolgt die Anpassung der Modellspektren an die Messspektren in einer bevorzugten Ausgestaltung ebenfalls parallel. Die Spektren werden hier unabhängig voneinander analysiert, da auch die Schichtdicke geringfügig variieren kann. Wird der gleiche Bereich mehrfach gemessen um eine gewisse Redundanz von Messungen zu erhalten und so die Genauigkeit zu erhöhen, kann die Variation der Rezepturparameter auch für alle Modellspektren gemeinsam erfolgen.
-
Besonders vorteilhaft lassen sich für die Modellierung, Bewertung und Anpassung der Modellspektren Grafikprozessoren verwenden, mindestens einer wird daher in einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens benutzt. Grafikprozessoren (GPU) weisen gegenüber normalen Prozessoren den Vorteil auf, dass auf ihnen Parallelisierungen wesentlich leichter zu realisieren sind, da sie für solche Anwendungen – wie beispielsweise das Rendering von Videoschnitten – ausgelegt sind, für die ein hoher Grad an Parallelisierung wesentlich ist. So befinden sich auf einer GPU beispielsweise bis zu 512 Kerne, während übliche Prozessoren (CPU) derzeit nur 4 oder 8 Kerne aufweisen. Entsprechend auf eine Parallelisierung ausgelegt ist auch die periphere Architektur dieser GPU um die Kerne herum. Darüber hinaus steht die GPU der Anwendung exklusiv zur Verfügung, da auf ihr keine Anwendungen des Betriebssystems laufen, die einen Großteil der CPU, beispielsweise eines üblichen PCs, in Anspruch nehmen.
-
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in den angegebenen Kombinationen, sondern auch in anderen Kombinationen oder in Alleinstellung einsetzbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Nachfolgend wird die Erfindung beispielsweise anhand der beigefügten Zeichnungen, die auch erfindungswesentliche Merkmale offenbaren, noch näher erläutert. Es zeigen:
-
1 den grundlegenden Aufbau eines zu vermessenden Schichtsystems,
-
2 ein Ablaufdiagramm für ein Verfahren zur Bestimmung der Schichtdicke und
-
3 die teilweise Parallelisierung dieses Verfahrens.
-
In 1 ist zunächst der grundlegende Aufbau eines Schichtsystems mit Schichten, deren Dicke bestimmt werden soll, beschrieben. Die unterste Schicht wird von einem Substrat mit der Dicke d0 gebildet, auf das eine Schicht 1 aufgetragen ist. Diese Schicht hat eine Dicke d1 und einen komplexen Brechungsindex ň1 = n1 + ik1’. Auf diese Schicht soll eine Schicht 2 aufgetragen werden, die Schicht 1 hat also für die Schicht 2 die Funktion eines Substrats. Vor dem Auftragen der Schicht 2 auf das Substrat werden die Rezepturparameter festgelegt. Die Parameter umfassen das Material und den sich daraus ergebenen komplexen Brechungsindex als Funktion der Wellenlänge, ň2 = n2 + ik2’, sowie die Dicke d2 der zu erzeugenden Schicht. Entsprechend den Rezepturparametern wird dann die Schicht 2 auf das Substrat, hier die Schicht 1, aufgetragen.
-
Außerdem werden Messparameter zur Bestimmung der wellenlängenabhängigen Absorption AS(λ) und / oder der wellenlängenabhängigen Reflexion RS(λ) festgelegt, wobei die Messparameter unter anderem den Einfallswinkel, hier mit α bezeichnet, unter dem die Schicht 2 mit Licht zur Messung bestrahlt wird, sowie die Polarisation des Lichts umfassen. Dabei kann – je nach Messverfahren und Schichttyp – auf die Berücksichtigung der Polarisation auch verzichtet werden. Dabei werden die Absorption AS(λ) und / oder die Reflexion RS(λ) auf bekannte Weise gemessen und mit Hilfe entsprechender Detektoren aufgezeichnet, die sich aus der Messung ergebenden Messwerte werden als Messspektrum gespeichert.
-
Diese und die folgenden Schritte sind auch im Ablaufdiagramm, welches in 2 gezeigt ist, zum besseren Verständnis dargestellt. Die Rezepturparameter und die Messparameter werden an eine Modellierfunktion übergeben, die anhand der übergebenen Parameter ein aus einer Modellabsorption AM(λ) und / oder einer Modellreflexion RM(λ) gebildetes Modellspektrum bestimmt. Liegen Modellspektrum und Messspektrum beide vor, so werden die Abweichungen von Modell- und Messspektrum zueinander bestimmt. Dazu wird für jede Wellenlänge die quadratische Abweichung zwischen gemessenem Wert und berechnetem Wert des jeweiligen Spektrums bestimmt. Anschließend werden die quadratischen Abweichungen aufsummiert, die Summe wird dann mit einem Schwellwert verglichen. Liegt die Gesamtabweichung, also die Summe der quadratischen Abweichungen, unterhalb dieses Schwellwertes, so ist Konvergenz erreicht, und die Schichtdicke d2 wird ausgegeben bzw. für die Weiterverarbeitung zur Verfügung gestellt. Liegen die Abweichungen von Modell- und Messspektrum der Schicht nicht unterhalb des vorgegebenen Schwellwertes, so werden die Rezepturparameter variiert und für die variierten Rezepturparameter von der Modellierfunktion ein neues Modellspektrum berechnet. Dieser Vorgang wird iterativ so lange wiederholt, bis diese Abweichungen unterhalb des Schwellwertes liegen. Die Iteration kann mit üblichen Minimierungsverfahren erfolgen, beispielsweise mit einem Downhill-Simplex-Algorithmus. Werte für die Messungen und die Modellfunktion liegen nicht in einem kontinuierlichen Bereich vor, sondern sind für einen vorgebbaren Satz von Wellenlängen, den Stützstellen, gespeichert.
-
Die Berechnung der Modellabsorption AM(λ) und der Modellreflexion RM(λ) kann für jede Wellenlänge unabhängig von den anderen Wellenlängen durchgeführt werden, die Berechnung für eine erste Wellenlänge λ1 kann also unabhängig und damit parallel zur einer Berechnung der entsprechenden Größe für eine zweite Wellenlänge λ2 erfolgen. Die Bestimmung der Modellabsorption AM(λ) und / oder der Modellreflexion RM(λ) kann also für mindestens einen Teil der Wellenlängen eines Modellspektrums parallel erfolgen, sofern entsprechende Mittel vorhanden sind. Auch die quadratischen Abweichungen können entsprechend parallel berechnet werden und selbst die Summierung dieser Abweichungen lässt sich über den Einsatz von Reduktion parallelisieren.
-
Werden an einer Schicht gleichzeitig mehrere Spektren gemessen, entweder an der gleichen Stelle oder an verschiedenen Stellen, auch mit verschiedenen Einfallswinkeln, so können diese unabhängig von den anderen analysiert werden, für mindestens einen Teil der Messspektren kann die Anpassung der Modellspektren an die jeweiligen Messspektren daher ebenfalls parallel erfolgen.
-
Besonders gut sind für die Modellierung, Bewertung und Anpassung der Modellspektren ein oder mehrere Grafikprozessoren verwendbar, wie im folgenden anhand von 3 näher erläutert wird. An einem Schichtsystem werden mehrere Messspektren einer Schicht aufgenommen, die Spektren SS1, SS2, SS3 etc. Diese Messspektren bzw. die gemessenen Werte der Spektren müssen nur einmal an den zur Analyse verwendeten Prozessor, den Grafikprozessor (GPU) übermittelt werden. Die Messparameter und die Rezepturparameter werden ebenfalls an die GPU übergeben. In der GPU ist bereits der Algorithmus der Modellierfunktion implementiert, der anhand der Messparameter und Rezepturparameter zur Berechnung von Modellspektren SM1, SM2, SM3 etc. verwendet wird. Die Modellierung der Modellspektren erfolgt unabhängig voneinander, jedes Modellspektrum kann also an das zugehörige Messspektrum unabhängig von den anderen angepasst werden. Diese Berechnungen werden daher parallel zueinander in sogenannten Blöcken des Grafikprozessors durchgeführt. Befinden sich auf der GPU beispielsweise 512 Kerne, so werden diese in 16 Blöcken von 32 Kernen zu sogenannten Multiprozessoren zusammengefasst. Alle 32 Kerne eines Multiprozessors führen zu einem Takt die gleiche Instruktion aus. In Block 1 wird also beispielsweise das erste Modellspektrum SM1 an das Messspektrum SS1 angepasst, usw. In jedem Block kann ein vollständiges Spektrum bearbeitet werden, kann eine komplette Regression durchgeführt werden. Dies ist möglich, da einem Block eine Vielzahl sogenannter Threads angehört, z.B. 1024 Threads. Ein solcher Thread kann nur innerhalb eines Blocks existieren, und nur innerhalb eines Blocks können die Threads synchronisiert werden, was speziell für die Ausführung der Regression wichtig ist. Jeder Thread entspricht dabei der Berechnung des Modellspektrums für eine einzige Wellenlänge, gegebenenfalls wird auch die quadratische Abweichung berechnet. Zum Block 2 gehören also verschiedene Threads, beispielsweise die Threads B21 und B22, welche die Berechnungen für Wellenlängen λ1 und λ2 für das zweite Modellspektrum SM2 vornehmen. Da die Anzahl in Threads in einem Block etwa der Anzahl der Messstellen, der Anzahl der verwendeten Wellenlängen entspricht, lässt sich ein Spektrum ohne weiteres in einem solchen Block modellieren.
-
Auf diese Weise können Schichtdickenbestimmungen wesentlich schneller und effizienter als in herkömmlicher Herangehensweise bestimmt werden. Die Verwendung von – programmierbaren – Grafikprozessoren ermöglicht es außerdem, die Berechnungen auf handelsüblichen und kostengünstigen PCs, die mit entsprechenden Grafikkarten ausgerüstet sind, durchzuführen.