DE60026527T2 - Robot-vor-positionierung in einem chip-herstellungssystem - Google Patents

Robot-vor-positionierung in einem chip-herstellungssystem Download PDF

Info

Publication number
DE60026527T2
DE60026527T2 DE60026527T DE60026527T DE60026527T2 DE 60026527 T2 DE60026527 T2 DE 60026527T2 DE 60026527 T DE60026527 T DE 60026527T DE 60026527 T DE60026527 T DE 60026527T DE 60026527 T2 DE60026527 T2 DE 60026527T2
Authority
DE
Germany
Prior art keywords
wafer
modules
robot
time
cluster tool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60026527T
Other languages
English (en)
Other versions
DE60026527D1 (de
Inventor
Hilario Rochester Hills OH
S. Dikran Millbrae BABIKIAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ASML Holding NV
Original Assignee
ASML Holding NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ASML Holding NV filed Critical ASML Holding NV
Application granted granted Critical
Publication of DE60026527D1 publication Critical patent/DE60026527D1/de
Publication of DE60026527T2 publication Critical patent/DE60026527T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Diese Erfindung betrifft das Gebiet der Waferbearbeitung. Insbesondere bezieht sich die Erfindung auf Ablaufpläne für Techniken für sogenannte Wafer-Cluster-Tools (Wafergruppenwerkzeuge).
  • Beschreibung des verwandten Standes der Technik
  • Bei dem Verfahren bzw. Vorgang der Herstellung einer Halbleitereinrichtung, wie zum Beispiel eines integrierten Schaltkreises, werden zahlreiche Schritte der Mikroherstellung ausgeführt, um eine Einrichtung auszubilden bzw. herzustellen. Diese Schritte werden der Reihe nach mit einzelnen Herstellungsgegenständen in individuellen Modulen ausgeführt; die Herstellungsgegenstände werden zwischen Modulen durch Transportmechanismen, wie zum Beispiel Robotern, überführt. Um einen wünschenswerten Durchsatz, Zuverlässigkeit und Qualität in der Herstellung zu erreichen, müssen mehrere Bedingungen erfüllt sein:
    • (1) Die Zuführung und das Entfernen des Substrates zu und von den Prozeßmodulen ebenso wie der Transport des Wafers zwischen den Modulen muß in zeitgerechter Weise erfolgen. Diese zeitgerechte Zuführung und das Entfernen von Substrat wird erreicht, wenn der Strom des Substrates in periodischer und synchronisierter Weise aufrechterhalten wird. Wenn die Periodizität und die Synchronisierung nicht aufrechterhalten werden, werden die Ergebnisse des Verfahrens von Substrat zu Substrat unterschiedlich bzw. inkonsistent, und der erwartete Durchsatz wird möglicherweise reduziert.
    • (2) Es ist wünschenswert, das Substrat entlang ähnlicher Prozeßlaufwege zu transportieren, um Unregelmäßigkeiten bzw. Inkonsistenzen in den Prozeßergebnissen aufgrund von Variationen in der Historie des Prozesses der Substrate zu vermeiden.
    • (3) Es ist zwingend erforderlich sicherzustellen, daß die Herstellungsgegenstände keine Zeit im Leerlauf bei irgendwelchen dem Prozeß vor- oder nachgeschalteten Zeiten im Modul verbringen, wo kritische Vorgänge durchgeführt werden. Das Hinzufügen von zusätzlicher Zeit vor dem Prozeß oder nach dem Prozeß in diesen Modulen verschlechtert nicht nur den Durchsatz, sondern auch die Prozeßergebnisse. Beispielsweise wird in einem IC-Herstellungssystem, wenn ein Substrat nicht sofort von dem Spin-Beschichtungsmodul zu einem Bake- bzw. Einbrennmodul überführt wird, um eine Schicht eines Photoresistfilms thermisch auszuhärten, die sich ergebende Filmdicke nicht vorherbestimmbar. Wenn es unmöglich ist, Leerzeiten vor einem Prozeß oder nach einem Prozeß bzw. Vorprozessuale und/oder nachprozessuale Zeiten vollständig zu beseitigen, sollten sie so kurz wie möglich gemacht werden, und irgendwelche Variationen dieser Zeiten können nicht zugelassen werden.
  • Die Unfähigkeit, irgendwelche oder alle der vorgenannten Bedingungen zu erfüllen, resultiert aus dem Versäumnis, Transportkonflikte zu lösen. Konflikte sind Situationen, bei welchen getrennte Module einen Roboter innerhalb einer Zeitspanne erfordern, die für den Roboter nicht ausreicht, um diese Module zu bedienen
  • Eine herkömmliche Lösung der oben aufgelisteten Probleme besteht in der Hinzufügung von zusätzlichen Prozeßmodulen und Transportressourcen bzw. Transportmitteln. Jedoch begrenzen die Größeneinschränkungen und geometrischen Einschränkungen eines Band- bzw. Bahnsystems die Möglichkeit, die obigen Schwierigkeiten durch Hinzufügen zusätzlicher Prozeßmodule oder Transportmittel zu lösen.
  • Die Hinzufügung speziell angeordneter Übertragungsarme, um Substrate zwischen benachbarten Modulen zu übertragen (nachstehend als Inter Bay Transfer Arms oder IBTAs bezeichnet), ist ein anderes Verfahren, welches verwendet wurde, um den Durchsatz zu verbessern und einige der Vorprozeß- und/oder Nachprozeßzeiten (einige der vor und/oder nach dem Prozeß liegenden Zeiten) zu beseitigen. Das Hinzufügen von ITBAs hat jedoch auch ernsthafte Nachteile. Speziell angefertigte Transferarme machen das Werkzeug komplizierter und erhöhen seine Kosten, schränken die Position der Module ein und können nicht überall in dem Werkzeug verwendet werden. Als Folge davon sind die Aufgaben des Verwaltens und Steuern des Substratstromes in dem Bahnsystem unter Aufrechterhaltung sowohl eines hohen Durchsatzes als auch der Qualität und Lösung aller Transportkonflikte nicht mehr zu bewältigen.
  • Eine andere konventionelle Lösung besteht darin, einen Satz von Prioritätsregeln für den Substrattransport zu bestimmen. Vor irgendeiner Roboterbewegung bestätigt oder verifiziert das Steuersystem, das auch als Softwareplaner bezeichnet wird, den Zustand der Substrate in verschiedenen Modulen und fällt auf der Basis dieser Regel Prioritätsentscheidungen über den Transfer. Um jedoch einen hohen Durchsatz zu erreichen, kann der Planer möglicherweise unerwünschte, unberechenbare und variable Zeiten in kritischen Modulen vor dem Prozeß und nach dem Prozeß erzeugen, und die Substrate können auch gezwungen werden, unterschiedlichen Strömungswegen zu folgen, um ihren Prozeßzyklus abzuschließen.
  • Noch eine andere herkömmliche Lösung besteht darin, dem Roboter Mehrfachgreifer hinzuzufügen, um den Waferwechsel zu ermöglichen. Roboter mit Mehrfachgreifern werden im Stand der Technik häufig benutzt, um den Waferaustausch zu erlauben und die Anzahl von Roboterübertragungen zu minimieren. Diese Technik bringt jedoch für das Cluster-Tool eine zusätzliche Beschränkung, da ein Roboter mit Doppelgreifern einen Wafer auf einem der Greifer erfordert, um den Wechsel durchzuführen. Dies beschränkt die Leistung des Cluster-Tools. Ferner erhöht der Austausch die Transportzeit zwischen Modulen, die auch für die Leistung des Cluster-Tools schädlich sein kann.
  • US-5,428,555 beschreibt ein interaktives, rechnergesteuertes Managementsystem für das Erfassen von Realzeitdaten und die Analyse der Prozeßinformation in einer Waferherstellungsanla ge. Insbesondere beschreibt die US-5,428,555 die Überwachung und Steuerung von Gasströmen in Gaskammern.
  • WO-A-0041048 beschreibt ein Verfahren zum Synchronisieren eines Substratbearbeitungssystems, bei welchem Ereignisse mit einer geordneten oder regelmäßigen Sendeperiode synchronisiert sind. Zeitliche Planungen von Ereignissen werden in Form der Sendeperiode vereinheitlicht, und Konflikte werden dadurch gelöst, daß selektiv Verzögerungen bei Bearbeitungsmodulen hinzugefügt werden, welche diese tolerieren können.
  • Bislang sind die Erfordernisse der Konfliktlösung, Synchronisierung, Qualität und Pfadkonsistenz, die oben erwähnt wurden, noch nicht alle erfüllt worden. Was benötigt wird, ist eine Lösung, die gleichzeitig alle diese Erfordernisse angeht.
  • Zusammenfassung der Erfindung
  • Gemäß der Erfindung wird ein Verfahren vorgesehen zum Synchronisieren eines Wafer-Cluster-Tools, welches man auch als Wafergruppenwerkzeug bezeichnen kann, welches eine Vielzahl von Prozeßmodulen hat, wobei das Verfahren aufweist: a) Erzeugen eines deterministischen Ablaufplanes für das Wafer-Cluster-Tool, wobei der plangesteuerte Ablaufplan eine Periodizität einer Sendeperiode hat; b) Laden einer ersten Wafergruppe in ein erstes Prozeßmodul in dem Wafer-Cluster-Tool gemäß dem deterministischen Ablaufplan; c) Zurücksetzen eines an das erste Prozeßmodul gekoppelten ersten örtlichen Taktgebers in Abhängigkeit vom Laden der ersten Wafergruppe in das erste Prozeßmodul; d) Aufzeichnen einer ersten Zeit aus dem ersten örtlichen Taktgeber in einer Zeittafel, die an die Vielzahl von Prozeßmodulen gekoppelt ist, wobei die erste Zeit in Einheiten der Sendeperiode gemessen wird; e) Laden einer zweiten Wafergruppe in ein zweites Prozeßmodul in dem Wafer-Cluster-Tool gemäß dem deterministischen Ablaufplan; f) Zurücksetzen eines zweiten an das zweite Prozeßmodul gekoppelten lokalen Taktgebers in Abhängigkeit vom Laden der zweiten Wafergruppe in das zweite Prozeßmodul; und g) Aufzeichnen einer zweiten Zeit aus dem zweiten örtlichen Taktgeber in der Zeittafel in Einheiten der Sendeperiode.
  • Somit stellt die Erfindung ein Wafer-Cluster-Tool zur Verfügung, welches periodisch arbeitet. Das Cluster-Tool bearbeitet in das System in Intervallen einer Sendeperiode eingeladene Wafer. Die Wafer werden in einer Vielzahl von Prozeßkammern bearbeitet und werden unter Verwendung von Robotern oder Wafertransporteinrichtungen zwischen den Prozeßkammern überführt.
  • Die Erfindung ermöglicht das Bestimmen von Aufnahmezeiten für die Prozeßkammer, und Ausführungsformen der Erfindung erlauben das Erzeugen und Beibehalten einer aktualisierten Zeittafel. Die Zeittafel zeigt die Zeiten an, wann jede der Prozeßkammern bedient werden soll. Diese Werte werden aktualisiert, wenn die Prozeßkammern neue Wafer aufnehmen.
  • Die Roboter in dem Cluster-Tool können sich selbst vor Modulen oder Prozeßkammern, die bedient werden sollen, vorpositionieren. Das Vorpositionieren des Roboters eliminiert die Wartezeit der einzelnen Module über die Wartezeiten hinaus, die für die Module vorbestimmt wurden. Dies macht die Bahn oder den Pfad der einzelnen Roboter vorherbestimmbar, wodurch das Cluster-Tool in die Lage versetzt wird, Einzelgreifer-Roboter zu benutzen.
  • Bei einigen Ausführungsformen hat das Wafer-Cluster-Tool auch eine CPU (Central Processing Unit) bzw. einen Prozessor, der an die Bearbeitungsstation gekoppelt ist, wobei der örtliche Taktgeber, der an die Prozeßkammer gekoppelt ist, sich auf der CPU befindet. Das Wafer-Cluster-Tool kann auch ein örtliches Bereichsnetz aufweisen, welches den Masterserver mit jedem örtlichen Taktgeber koppelt. Die Zeittafel kann die Form einer zugehörigen Datenbank oder einer Tabelle annehmen. Der Masterserver kann seinerseits über das Internet an die örtlichen Taktgeber gekoppelt sein.
  • Kurze Beschreibung der Figuren
  • 1 ist ein Zeitablauf, welcher die Punkte zeigt, an welchen Wafer in ein Cluster-Tool eingeladen werden, wobei die Punkte durch Intervalle einer Sendeperiode getrennt sind.
  • 2 veranschaulicht die relativen und absoluten Aufnahmezeiten von drei Wafern in einem Prozeß i, ebenso wie die Mantissen der Aufnahmezeiten, die Aufnahmezeiten in Bezug auf die Sendedauer bzw. als Sendeperiode vereinheitlicht oder normiert sind.
  • 3 veranschaulicht die verschiedenen Module und Transportmodule in dem Cluster Tool.
  • 4 ist ein Schaubild und eine entsprechende Tabelle, welche die Modulpfade in dem Cluster-Tool veranschaulichen.
  • 5 ist eine Tabelle, welche die Rezeptur bzw. den Aufbau eines Cluster-Tools veranschaulicht.
  • 6 ist ein Schaubild und eine entsprechende Tabelle von Modulaufnahmezeiten, die in einer Sendeperiode auftreten, wobei die Sendeperiode in sechs Teilintervalle aufgeteilt ist, da es sechs mögliche Roboterbewegungen bzw. -schritte innerhalb einer einzelnen Sendeperiode gibt.
  • 7 ist ein Schaubild und eine entsprechende Tabelle, welche Konflikte veranschaulicht, die zwischen Prozessen für den Zugriff auf Roboter auftreten, wobei die Konflikte angezeigt werden, wenn zwei Module, die einem Roboter zugeordnet sind, Aufnahmebedürfnisse innerhalb einer einzelnen Periode haben.
  • 8 ist ein Schaubild und zugehörige Tafeln und Matrizen, welche das Einsetzen von Schlangen bzw. Abläufen oder Reihen zum Eliminieren von Konflikten zwischen Modulen für den Zugriff auf Roboter veranschaulicht.
  • 9 zeigt Rezepturen bzw. Aufbauten und Rezepturzeiten in einem Cluster-Tool.
  • 10 veranschaulicht einen Waferstrom in einem stabilen Zustand in einem Cluster-Tool.
  • 11 veranschaulicht eine Übergangsperiode, in welcher das Cluster-Tool einen eintretenden Anteil und einen austretenden Anteil bearbeitet.
  • 12 veranschaulicht die zeitliche Planung des ersten Wafers des eintretenden Teils in das Cluster-Tool gemäß einer Ausführungsform der Erfindung.
  • 13 veranschaulicht eine Vielzahl von örtlichen Taktgebern bei einer Ausführungsform der Erfindung.
  • 14 veranschaulicht einen bei einer Ausführungsform der Erfindung verwendeten Algorithmus für das Positionieren eines Roboters.
  • Ausführliche Beschreibung
  • Synchronisierte, konfliktlösende Planer
  • Ein Gesichtspunkt der vorliegenden Erfindung weist ein Verfahren zum Maximieren des Durchsatzes und der Qualität bei einem Herstellungssystem auf, in dem Ereignisse in dem System in einer periodischen, vorherbestimmbaren Weise geplant werden, wodurch Konflikte in Bezug auf Systemressourcen bzw. -mitteln beseitigt werden. Ein Beispiel eines solchen Herstellungssystems weist eine Serie von Prozeßschritten 1, ..., N auf, die nacheinander mit individuellen Herstellungseinheiten ausgeführt werden. Die individuellen Prozeßschritte des Systems werden in „Modulen" oder „Prozeßkammern" ausgeführt, und die Reihe von Schritten ist in einer „Rezeptur" aufgelistet. Das Herstellungssystem umfaßt auch Mittel zum Transportieren der Herstellungseinheiten zwischen Modulen in der Serie; diese Mittel können auch Roboter aufweisen.
  • Konflikte können zwischen Prozessen in dem System auftreten, wenn getrennte Module einen Roboter innerhalb einer Zeitspanne anfordern, die für den Roboter nicht ausreicht, um diese Module zu bedienen. Außerdem ist es wünschenswert, das System in einer Art und Weise zu planen, die eine Periodizität zeigt, so daß Ereignisse in dem System in der Weise synchronisiert werden, daß sie zu periodischen, vorhersagbaren Intervallen auftreten. Eine Ausführungsform der vorliegenden Erfindung weist eine Technik auf zum gezielten Planen von Verzögerungen in verschiedenen Schritten des Herstellungsprozesses, um alle derartige Konflikte zu beseitigen und um ebenso eine Periodizität zu erzwingen, ohne den Durchsatz oder die Qualität des Systems zu beeinträchtigen.
  • Ein Beispiel einer konfliktlösenden Synchronisierung: Wafer-Cluster-Tools
  • Ein Beispiel des oben beschriebenen Typs eines Herstellungssystems ist ein Wafer-Cluster-Tool. (Gruppenwerkzeug für Wafer). Bei einem Wafer-Cluster-Tool weisen die Module Prozeßkammern auf, die um eine Gruppe von Wafertransportmitteln oder Robotern angeordnet sind, um eine Folge von Prozeßschritten mit dem Wafer auszuführen. Ein Wafer tritt über einen Puffer, der Lade- bzw. Chargenanschluß genannt wird, in das Werkzeug bzw. das Tool ein und tritt aus diesem in dieser Weise aus. Wenn ein Roboter einen Wafer von einem Ladeanschluß holt, wird der Wafer der Reihe nach durch die Reihe von Modulen transportiert, die in einer Rezeptur (einem Rezept) angegeben sind. Die Zeitdauer, welche durch den Eintritt des Wafers in ein Modul und den Austritt des Wafers aus dem Modul definiert wird, wird als die Modulbearbeitungszeit bezeichnet. Diese Bearbeitungszeit umfaßt die Zeit, die tatsächlich für die Bearbeitung des Wafers in dem Modul benötigt wird, ebenso wie die zusätzliche Zeit, die erforderlich ist, um den Wafer für die Bearbeitung und die Aufnahme vorzubereiten. (Man beachte, daß, auch wenn das Wafer-Cluster-Tool oben als ein Werkzeug beschrieben ist, das einen individuellen Wafer zwischen Modulen weiterleitet, es für einen Fachmann auf diesem Gebiet auf der Hand liegt, daß die vorliegende Erfindung in gleicher Weise auf ein Wafer-Cluster-Tool anwendbar ist, bei welchem ein diskreter Satz von Wafern zwischen den Modulen weitergeleitet wird).
  • In gewissen Modulen des Cluster-Tools kann eine Verzögerung bei der Aufnahme des bearbeiteten Wafers in nachteiliger Weise die Ergebnisse auf dem Wafer beeinflussen; derartige Module werden als „kritische Prozeßmodule" bezeichnet, da sie Verzögerungen nicht tolerieren können. Das Modul, dessen Verarbeitungszeit von allen Modulen in dem Cluster-Tool die längste ist, werden als „Takt-Module" bezeichnet; die Bearbeitungszeit dieses Moduls legt den Durchsatz des Cluster-Tools fest. Da das Taktmodul den Durchsatz des Cluster-Tools bestimmt, kann es ebenfalls Verzögerungen nicht tolerieren. Das Rezept für ein Wafer-Cluster-Tool listet die Module in einer Reihenfolge entlang ihren jeweiligen Bearbeitungszeiten auf. Die für einen Roboter erforderliche Zeit, um einen Wafer zwischen zwei Modulen zu transportieren, wird als dessen Transportzeit bezeichnet.
  • Verwaltung des Waferstroms in dem Cluster-Tool
  • Die Verwaltung des Waferstroms, d.h. die Instrumentierung und Anordnung der Waferbearbeitung und des Wafertransports in einem Cluster-Tool legt sowohl den Durchsatz als auch die auf dem Wafer erzielten Resultate fest, die von dem System geliefert werden. Eine effektive Verwaltung des Waferstroms erfordert die gleichzeitige Erfüllung der folgenden zwei Bedingungen: ein Wafer, der in dem Sendemodul soeben bearbeitet wurde und nun bereit ist, sich weiter zu bewegen, sollte dies tun, wenn (1) das Empfangsmodul, in welchem der Wafer anschließend bearbeitet wird, leer ist; und (2) der Roboter, welcher dem Transport der Wafer zwischen diesen Modulen zugewiesen ist, verfügbar ist. Im Stand der Technik wurde die Bedingung (1) erfüllt, indem man zusätzliche redundante Module bereitgestellt hat. Eine solche Lösung beeinträchtigt jedoch die Bedingung (2) auf zwei Arten (a) sie führt zu einer unangemessenen Anzahl von Robotern, welche zu viele Module bedienen müssen, oder (b) zwei oder mehrere Module treten gleichzeitig hinsichtlich des Dienstes eines Roboters in Konkurrenz.
  • Wenn die beiden oben angegebenen Bedingungen sich wechselseitig beeinträchtigen, ergeben sich daraus Verzögerungen bei der Aufnahme des Wafers. Wenn derartige Verzögerungen bei kritischen Prozeßmodulen auftreten, beeinflussen sie in nachteiliger Weise die Ergebnisse auf dem Wafer. Und wenn derartige Verzögerungen an dem Taktmodul auftreten, verlangsamen sie den Durchsatz. Insofern ist es zwingend, daß die Transportbedingungen, die oben aufgelistet wurden, hinsichtlich der kritischen Prozeßmodule und des Taktmoduls garantiert werden. Im Fall (a), in welchem mehr Handhabung erforderlich ist, als die Roboter bereitstellen können, kann das Hinzufügen von weiteren Robotern die Situation entschärfen. Im Fall (b) liegt jedoch das Problem in dem richtigen Zeitpunkt der Anforderung des Roboterdienstes. Während das Hinzufügen weiterer Roboter auch den Fall (b) abmildert, ist dies eine ungeeignete Lösung.
  • Da das für das Cluster-Tool vorgeschriebene Rezept den Zeitablauf der Anforderung des Roboterdienstes festlegt, kann eine grundlegende Lösung für die Auflösung der beiden Bedingungen aus einem Wechsel des Waferrezepts entstehen, um eine Synchronisierung mit dem Wafer transport zu erreichen. Ein hier beschriebener Planungsalgorithmus führt eine solche Synchronisierung durch.
  • Dieser Planer, der hier beschrieben wird, kann in Software codiert sein, die durch einen Computer ausgeführt wird, wobei der Computer einen Speicher für das Speichern der Software und eine CPU für das Ausführen der Software aufweist. Bei einer Ausführungsform der vorliegenden Erfindung kann der Planer außerhalb des Herstellungssystems verwendet werden, um einen vorbestimmten Plan für das System zu erzeugen. Alternativ kann der Computer mit dem Herstellungssystem verbunden sein, so daß der Planer die Betriebsweise des Systems in Realzeit aktualisieren kann.
  • Synchronisierung des Waferstroms in dem Cluster-Tool
  • Bei einer Ausführungsform der vorliegenden Erfindung wird der Waferstrom synchronisiert durch Senden einzelner Wafer durch das Cluster-Tool mit einer konstanten Geschwindigkeit. Diese Geschwindigkeit, die als die „Senderate" des Cluster-Tools bezeichnet wird, wird in der Zahl der Wafer pro Stunde ausgedrückt und bestimmt die Geschwindigkeit des Waferstroms mit einer Periodizität gleich (3600/Senderate) Sekunden. Diese Periode, die als die Sendeperiode des Cluster-Tools bezeichnet wird, ist der Herzschlag des Systems. Individuelle Wafereinheiten werden zu Intervallen von einer Sendeperiode in das System eingeführt. Und um das Cluster-Tool zu synchronisieren, werden alle Prozeß- und Transportzeiten in Einheiten der Sendeperiode gemessen. Um weiterhin sicherzustellen, daß dieselben Aufgaben in aufeinanderfolgenden Perioden wiederholt werden können, werden die Roboter in dem Cluster-Tool so geplant, daß sie alle Dienstanforderungen, die nachstehend als „Aufgaben" bezeichnet werden, innerhalb einer einzigen Sendeperiode bewerkstelligen. Insoweit erfordert die Synchronisation des Cluster-Tools eine Bestimmung von 1) der Gesamtzahl von Aufgaben, die innerhalb einer Sendeperiode ausgeführt werden, und 2) des genauen Zeitpunktes innerhalb einer Sendeperiode, zu welchem diese Aufgaben auftreten. Diese Augenblicke werden nachstehend als die „Zeitvorgaben" der jeweiligen Aufgaben bezeichnet.
  • Die Konzepte von Sendeperioden und Synchronisierung sind in 1 veranschaulicht. Die Zeitlinie 100 hat einen Ursprung 102, welcher den Moment kennzeichnet, zu welchem der erste Wafer in das Cluster-Tool eingeladen wird. Die Zeitlinie 100 ist in Einheiten der Sendeperiode 110 markiert. Jede Markierung 104, 106, 108 zeigt jeweils die Zeitpunkte an, zu welchen der zweite, dritte und vierte Wafer in das Cluster-Tool geladen werden.
  • Eine grundsätzliche Eigenschaft der Synchronisation ist Periodizität: die vorliegende Erfindung stellt sicher, daß für jede Aufgabe i, mit i = 1, ..., n, die Aufnahmezeiten für jeden Wafer, mit welchem diese Aufgabe durchgeführt wird, die gleichen sind. Demnach kann jede Aufgabe i in dem Cluster-Tool einer relativen Aufnahmezeit zugeordnet werden, die als Ti bezeichnet wird, wobei Ti in Einheiten der Sendeperiode normiert ist. 2 zeigt dieses Merkmal der Periodizität. Drei Wafer, Wafer 1 208, Wafer 2 210 und Wafer 3 212 sind auf der vertikalen Achse 202 dargestellt. Die horizontale Linie entspricht der Zeitachse 200. Der Ursprung dieser Achse 201 zeigt die Zeit an, zu welcher der Wafer 1 in das Cluster-Tool geladen wird. Die relativen Aufnahmezeiten Ti bei Aufgabe i 200 sind für jeden Wafer identisch. Da die Wafer selbst in Intervallen einer Sendeperiode eingeführt werden, sind die jeweiligen Aufnahmezeiten durch Einheiten einer Sendeperiode voneinander getrennt.
  • 2 zeigt auch einen Unterschied zwischen relativen und „tatsächlichen" oder „absoluten" Aufnahmezeiten. Die relative Aufnahmezeit eines Prozesses i wird durch Ti 204 bezeichnet. Da die relative Aufnahmezeit von dem Zeitpunkt an gemessen wird, zu welchem ein Wafer in das Wafer-Cluster-Tool eingeführt wird, ist die relative Aufnahmezeit für jeden Wafer, den Wafer 1 208, den Wafer 2 210 und den Wafer 3 212, identisch. Die absolute Aufnahmezeit 214 wird von dem Zeitpunkt an gemessen, zu welchem der erste Wafer in das Cluster-Tool 201 geladen wurde. Da die Wafer zu Intervallen einer Sendeperiode eingeführt werden, folgt daraus, daß für irgendeinen Wafer Nummer w die absolute Aufnahmezeit des Wafers w an dem Modul i (w – 1) + Ti ist.
  • Diese Periode (w – 1) ist in der 2 dargestellt und mit der Bezugszahl 216 versehen.
  • Ein anderer Parameter, der für die Synchronisierung kritisch ist, wird durch das Symbol τi bezeichnet. Der Bruchteil τi = Ti – INT(Ti), wobei INT(Ti) eine Funktion ist, die Ti auf die nächste ganze Zahl abrundet, ist der Bruchteil von Ti, der seit dem Beginn der aktuellen Sendeperiode vergangen ist. Diese Parameter 206 sind in 2 ebenfalls dargestellt. Da die Ti-Werte für jeden Wafer identisch sind und da die Wafer zu Intervallen einer Sendeperiode eingeführt werden, sind die Werte von τi 206 für jeden Wafer identisch. Diese Bruchteile τ mit i = 1, 2, 3 ... N weisen die Zeitpunkte bzw. Zeitvorgaben der Aufgaben auf, welche die Roboter innerhalb einer Sendeperiode erfüllen müssen.
  • Die Anzahl der Aufgaben N und die Zeitpunkte bzw. Zeitvorgaben dieser Aufgaben bilden die Transportlast. Da Ti die Ansammlung der Prozeßzeiten pj mit j = 1, 2, 3 ... i bis zu dem i-ten Modul ist; und da die Robotertransportzeiten tj mit j = 1, 2, 3 ... i – 1 sind, folgt daraus, daß für jeden Wafer die relative Aufnahmezeit bei dem Modul i die folgende ist:
  • Figure 00080001
  • Es folgt außerdem, daß die Zeitpunkte der Aufgaben Ti = 1, 2, 3 ... N τi = Ti – INT(Ti)ist.
  • Figure 00080002
  • Da die Transportzeiten tj für ein gegebenes Cluster-Tool festliegen, ist es aus Gleichung (1) ersichtlich, daß der Zeitpunkt der Roboteraufgabe τi ausschließlich von den Prozeßzeiten pi abhängig ist, wie sie in dem Rezept beschrieben sind.
  • Periodizität und Wafer-Identifizierung
  • Die Eigenschaft der Periodizität ermöglicht auch die Identifizierung von Wafern in dem Cluster-Tool. Wie bereits ausgeführt, stellt der synchronisierte Planer sicher, daß 1) die Wafer der Reihe nach zu Intervallen einer Sendeperiode in das Cluster-Tool geladen werden und 2) jeder in das Cluster-Tool geladene Wafer identische Ereignisse zu den gleichen Zeiten erfährt, wenn diese relativ zu dem Zeitpunkt gemessen werden, zu welchem sie geladen wurden. Eine Konsequenz dieser beiden Bedingungen ist, daß Wafer in jedes Modul in dem Cluster-Tool eintreten und dieses in derselben Reihenfolge verlassen, in welcher sie ursprünglich geladen wurden, und zwar in Intervallen einer Sendeperiode. Insoweit kann jeder Wafer in einem Modul einfach durch Verfolgen der Reihenfolge identifiziert werden, in welcher sie in das betreffende Modul eingetreten sind oder dieses verlassen haben. Dieses Merkmal des synchronisierten Planers wird als Wafer-Identifizierung oder Wafer "markierung" bezeichnet.
  • Markierung (Tagging) und Modulpfade
  • Bei einer Ausführungsform der vorliegenden Erfindung folgt jeder Wafer, der in das Cluster-Tool geladen wurde, einem bestimmten "Modulpfad", d.h. einem bestimmten Satz von Modulen, die den Prozessen in dem Cluster-Tool entsprechen. Dieses Merkmal der vorliegenden Erfindung ist in 4 dargestellt. Bei dieser Ausführungsform hat jeder Vorgang in dem Cluster-Tool eines oder mehrere zugehörige Module, in welchen die Wafer bearbeitet werden. Die Module für jeden Prozeß sind in einer Reihenfolge angeordnet, so daß dann, wenn die Wafer an dem Prozeß ankommen, sie in den entsprechenden Modulen in Reihe hintereinander angeordnet werden (da beispielsweise, wenn ein Prozeß zwei entsprechende Module hat, der erste Wafer in dem System in das erste Modul eintritt, der zweite Wafer in das zweite Modul eintritt, der dritte Wafer in das erste Modul eintritt, der vierte Wafer in das zweite Modul eintritt, usw.). Im Ergebnis ist die Gesamtzahl von Modulpfaden, denen ein Wafer möglicherweise folgt, auf das kleinste gemeinsame Vielfache der Anzahl von Modulen beschränkt, welche jedem Prozeß entsprechen.
  • Die oben beschriebene Ausführungsform ist beispielhaft in 4 dargestellt. 4 zeigt eine Folge von Prozeßschritten VP 400, VPC 402, CT 404, SB 406, SBC 408, PEB 410, PEBC 412, DEV 414, HB 416, HBC 418. Ein Symbol eines Prozeßschrittes erscheint für jedes Modul entsprechend dem Prozeßschritt. Beispielsweise hat der Prozeß CT 404 drei Module, und dementsprechend erscheint das Symbol von CT bei 404 dreimal. Oberhalb jedes Prozeßschrittes befindet sich die Anzahl der Module für diesen Prozeßschritt bei 420.
  • In diesem Beispiel ist das kleinste gemeinsame Vielfache der Anzahl von Modulen:
    LCM (2,2,3,3,3,3,3,4,2,2) = 12
  • Demnach beschreibt das Rezept für das Cluster-Tool zwölf Modulpfade, die bei 422 aufgelistet sind. Jede Spalte in der Tabelle 422 listet die Modulzahl für den jeweiligen Prozeßschritt in dem entsprechenden Modulpfad auf. Da es zwölf mögliche Pfade gibt, folgt jeder zwölfte Wafer demselben Modulpfad. Insoweit ermöglicht durch Identifizierung eines Wafers und der Reihenfolge, in wel cher er in das Werkzeug geladen wurde, die vorliegende Erfindung die Bestimmung des Modulpfades, welcher von dem Wafer durchlaufen wird.
  • Hinzufügen von Schlangen (im Sinn von Warteschlagen, Einreihen), um Konflikte wegen Transportmitteln zu beseitigen
  • Wenn ein Rezept Anlaß für gleichzeitige, miteinander konkurrierende Dienstanforderungen an bestimmte Roboter gibt, so wäre es wünschenswert, diese Konflikte nicht durch das Hinzufügen weiterer Roboter zu lösen, sondern statt dessen durch Modifizieren des Rezeptes selbst. Ein zweckmäßiges Schema zum Modifizieren des Rezeptes besteht in der Einführung bewußter Verzögerungen, die nachfolgend als Schlangen (im Sinn von Warteschlangen) qj bezeichnet werden, bei den nicht kritischen Prozeßschritten, um einen Zeitablauf zu erzielen, welcher Konflikte löst, ohne den Durchsatz oder die auf dem Wafer erzielten Ergebnisse, welche durch das Werkzeug geliefert werden, zu beeinträchtigen. Ein solches Schema, welches in Verbindung mit Gleichung (1) verwendet wird, ist die Basis für den „synchronen Algorithmus". Zur Wiederholung, ein Rezept, wie es ursprünglich vorgeschrieben war, kann konkurrierende Dienstanforderungen einführen, die zu Verzögerungen bei kritischen Prozeß- und Zeittaktschritten führen und dadurch die Waferqualität und den Durchsatz des Cluster-Tools für einzelne Wafer herabsetzt. Das Ziel eines „synchronen Algorithmus" besteht darin, bewußte Verzögerungen bei nicht kritischen Prozeßschritten einzuführen, um sicherzustellen, daß keine Verzögerungen bei kritischen Prozeßschritten oder bei Taktschritten auftreten, und um dadurch eine Garantie hinsichtlich des Durchsatzes und der Waferqualität sicherzustellen.
  • Auflösen der Schlangen
  • Wir werden nunmehr zeigen, wie die Verzögerungen bzw. Schlangen oder qj aufgelöst werden. Es sei τi der Zeitpunkt von Robotaufgaben, wie sie durch ein vorab festgelegtes Rezept gemäß Gleichung (1) bestimmt sind. Durch Hinzufügen von Schlangen qj zu der Prozeßzeit pj zur Modifizierung des Rezeptes ergibt sich der neue Zeitpunkt τi* durch
  • Figure 00100001
  • Das Ziel besteht darin, einen Satz von Schlangen qj zu finden, die bei den nicht kritischen Prozeßschritten eingeführt werden, so daß das Zeitintervall zwischen irgendwelchen zwei Modulen k und m mit k = 1, 2, 3, ... N; und m = k, k + 1, ..., N, wobei das Modul k und das Modul m dazu bestimmt sind, daß ihre Wafer durch denselben Roboter aufgenommen werden, größer ist als die Transportzeit des Roboters. Dies würde Zeitintervalle ermöglichen, die für den Roboter ausreichend wären, um alle Module zu bedienen, und würde damit vermeiden, daß zu einem gegebenen Zeitpunkt mehr als ein Modul bedient werden müßte. Die auf diese Weise abgeleiteten Schlangen müssen jedoch auch klein genug sein, um einen übermäßigen Leerlauf von Modulen zu vermeiden. Und es sollte keine Schlangen bei kritischen Prozeßmodulen oder bei dem Taktmodul geben.
  • Der Satz von Schlangen wird für die Verwendung von Gleichung (2) gelöst. Dies ergibt ein System von linearen Gleichungen
    Figure 00110001
    worin aij eine untere Dreiecksmatrix ist mit aij = 0 für i < j; und aij = 1 für i ≥ j:
  • Figure 00110002
  • Die Einschränkung, daß bei kritischen Modulen keinerlei Verzögerungen auftreten sollten, wird nun auf Gleichung (3) angewendet. Wenn beispielsweise die Module #3 und #4 kritisch sind, sollte die Gleichung (3) zu den linearen Gleichungen modifiziert werden, die nachstehend wiedergegeben sind.
  • Figure 00120001
  • In Gleichung (4) oben sind die Zeitpunkte τi, wie sie durch das ursprüngliche Rezept beschrieben wurden, bekannt. Die Zielzeiten τi* werden auf Werte gesetzt, welche Konflikte zwischen allen Modulen, welche denselben Roboter verwenden, beseitigen, wie es bereits beschrieben wurde. Demnach sind die LHS der Gleichung (4) bekannte Werte. Der Vektor qi wird dann gelöst durch Multiplikation von (τi* – τi) mit der Inversen der modifizierten eingeschränkten Matrix, wie nachstehend in Gleichung (5) wiedergegeben ist. Das Hinzufügen dieses Satzes von qi zu der entsprechenden Modulverarbeitungszeit pi synchronisiert den Wafertransport mit der Waferbearbeitung.
  • Figure 00120002
  • Eine Anwendung des synchronen Algorithmus
  • Spezielle Ausführungsformen der Erfindung werden nun durch das folgende, nicht einschränkende Beispiel weiter beschrieben, welches dazu dient, verschiedene bedeutsame Merkmale genauer zu illustrieren. Das Beispiel soll ausschließlich ein Verständnis der Art, auf welche die Er findung ausgeübt werden kann, erleichtern und soll weiterhin Fachleute auf diesem Gebiet in die Lage versetzen, die Erfindung auszuüben. Dementsprechend sollte das Beispiel nicht als den Schutzumfang der Erfindung beschränkend ausgelegt werden.
  • Die Synchronisierung des Wafertransports mit der Waferbearbeitung in einem Cluster-Tool wird nunmehr unter Verwendung eines speziellen Beispiels eines Cluster-Tools veranschaulicht. 3 ist ein Schema einer konzeptionellen Draufsicht auf eine Waferbearbeitungsvorrichtung. Die Resistbeschichtungs- und Entwicklungsmodule sind mit CT 300 bzw. DEV 302 gekennzeichnet. Auch sind in 3 verschiedene Erhitzungs- bzw. Einbrennmodule (VP) 304, sanftes Brennen (SB) 306, Einbrennen nach der Belichtung (PEB) 308 und Aushärten (HB) 310, ebenso wie die entsprechenden Abkühlmodule gezeigt. Die Pfeile, welche nebeneinander die Einbrenn- und Abkühlmodule verbinden, repräsentieren die Interbay-Transferarme (Zwischenschachtübertragungsarme) IBTAs 312, welche das Substrat zwischen diesen Modulen übertragen. Im Ergebnis schränken die Positionen dieser Brennmodule die Position ihrer entsprechenden Abkühlplatte ein. Der Roboter 314 der Kassettenendstation (CES), der in der Figur dargestellt ist, überträgt die Substrate von und zu der Kassettenendstation. Der Roboter 316 der Stufenschnittstelle (SI) überführt Substrate von und zu der Stufenschnittstelle. Das I/O-Modul 318 ist eine Pufferzone für das zu der Stufenschnittstelle transportierte Substrat, falls und dann wenn dieses notwendig wird. Der Hauptroboter 320 ist die Einrichtung für den Transport des Substrates zwischen allen anderen Modulen, wie z. B. von der Dampfgrundierungsabkühlung (VPC) zur Resistbeschichtung (CT).
  • 4 ist ein Schema für den Waferprozeßstrom. Wie man aus dem Schema erkennen kann, hat das Substrat, wenn die Transporteinrichtung der IBTA ist, nur eine Möglichkeit, in dem Diagramm zu fließen. Dies ist der Fall, wenn das Substrat von der Dampfgrundierungserhitzung 400 zu der Dampfgrundierungsabkühlung 402 transportiert wird. Wenn jedoch die Transporteinrichtung der Hauptroboter ist, könnte das Substrat verschiedene Möglichkeiten haben. Wenn beispielsweise ein Substrat von einem Resistbeschichtungsmodul 404 entfernt wird, kann es zu irgendeinem der Sanftbrennmodule 406 transportiert werden, die in 4 dargestellt sind.
  • Der Synchronisierungsalgorithmus
  • Wir werden nunmehr die Anwendung des Synchronisierungsalgorithmus auf dieses Cluster-Tool als eine Serie von vier Schritten demonstrieren:
    • • Schritt 1 Eingabe des Rezeptes und der Durchsatzerfordernisse. Diese Diskussion bezieht sich auf 5. Dieser Schritt beginnt durch Einfügen des Rezeptes in eine Tabelle 500. Die ersten beiden Spalten 502 listen die Prozeßschritte der Reihe nach auf. Die Sendeperiode, die auch als die „Systemtaktzeit" bezeichnet wird, wird mit 504 bezeichnet. Zykluszeiten, die auch als Modultaktzeiten bezeichnet werden, werden dann für jedes Modul in der „Modultyp"-Spalte 502 berechnet, um sicherzustellen, daß jede Modultaktzeit kleiner als die Systemtaktzeit ist. Die Modultaktzeit für jeden Prozeßschritt ist in einer Spalte 506 aufgelistet. Fall dies nicht gelingt, werden zusätzliche (redundante) Module hinzugefügt, um die Modultaktzeit zu reduzieren. Wie es für Fachleute klar ist, gilt für jeden Prozeßschritt: Anzahl der erforderlichen Module = INT (Modultaktzeit/Systemtaktzeit) In diesem Beispiel erfordern die meisten Module ein zusätzliches gleichartiges (redundantes) Modul. Die Anzahl der Module, die für jeden Prozeßschritt erforderlich ist, ist in einer Spalte 508 aufgelistet.
    • • Schritt 2 Bestimme die Last des Wafertransports. Wie schon zuvor definiert, bezieht sich die „Last" eines Roboters auf die Anzahl von Bewegungen, die er plangemäß durchführen muß, ebenso wie auf die Zeiten, die dem Roboter zugewiesen werden, um diese Bewegungen auszuführen, gemessen vom Beginn der aktuellen Sendeperiode. Die Bestimmung der Roboterlast ist in Tabelle 600 in 6 wiedergegeben. Diese Cluster-Vorrichtung des vorliegenden Beispiels hat zwölf Bearbeitungsschritte. Die Zeitpunkte der zwölf entsprechenden Roboterbewegungen werden folgendermaßen festgelegt. Man zählt die Zeit von dem Moment an, zu welchem der Wafer den Chargenanschluß (Kassette) verläßt, addiert die Prozeßzeiten jedes Moduls und die Transportzeiten bis zu dem interessierenden Modul hinzu. Beispielweise ist dies für das Modul mit dem Codenamen VP 602 (nachfolgend sind alle Module codiert) (62 + 6) = 68 sec; für Modul VPC 604 ist es (68 + 65 + 5) = 138 sec. Die tatsächlichen Zeitpunkte bzw. Zeitvorgaben in Sekunden für alle Roboterbewegungen sind in einer Spalte aufgelistet, die mit „Aktuell" 606 markiert ist. Um die relativen Aufnahmezeiten Ti zu bestimmen, werden die tatsächlichen Zeiten durch die aktuelle Sendeperiode dividiert. Beispielsweise führt das Dividieren der tatsächlichen Aufnahmezeiten von VP und VPC durch die tatsächliche Sendeperiode von 45 Sek. zu normierten Aufnahmezeiten zu 1,511 bzw. 3,067. Die normierten Aufnahmezeiten für jeden der zwölf Prozeßschritte sind unter der Spalte „Ti normiert" 608 aufgelistet. Das Subtrahieren des ganzzahligen Teiles der Ti-Werte führt zu den τi-Werten, d.h. die verfügbaren Zeiten, innerhalb welcher die jeweiligen Module durch Roboter bedient werden müssen, gemessen vom Beginn der Sendeperiode an und ausgedrückt in Einheiten einer Sendeperiode. Um dies zu veranschaulichen, so sind die τi-Werte von VP und VPC 0,511 und 0,067, was anzeigt, daß VP innerhalb einer Zeit 0,511 mal dem Intervall einer Sendeperiode bedient werden muß und VPC innerhalb eines Intervalls von 0,067 einer Sendeperiode bedient werden muß. Die Liste der normierten τi-Werte ist in Spalte 610 wiedergegeben. Das Diagramm 612 ist eine bildliche Wiedergabe der Last: eine Gesamtzahl von zwölf Bewegungen und der Zeit, innerhalb welcher sie innerhalb einer Sendeperiode bedient werden müssen. 7 zeigt dieselbe Information aus einer anderen Perspektive. Da die Robotertransportzeiten bei etwa 5 bis 6 Sekunden liegen, ist die Anzahl von Bewegungen, die ein Roboter innerhalb einer Sendeperiode von 45 sec ausführen kann (45/6) ~ 7; oder sagen wir 6 Bewegungen, um auf der sicheren Seite zu sein. Demnach sind 6 vertikale Linien in dem Schaubild 700 eingezeichnet. Wenn die Zeitpunkte, zu welchen die Module durch einen Roboter bedient werden müssen, innerhalb eines Intervalls fallen, wie zum Beispiel SBC 702, DEV 704, HB 706 und Kassette 708, die alle in das Intervall 710 fallen, so bedeutet dies, daß sie zu einem gegebenen Zeitpunkt um dieselbe Roboterbewegung konkurrieren. Um dies zu verdeutlichen, bedeutet dies, falls es zwei oder mehr Aufgaben gibt, die einen Roboter verwenden, und wenn die τ-Werte dieser Aufgaben in eines der 6 Intervalle fallen, daß nicht genügend Zeit für den Roboter vorhanden ist, um jede der zwei oder mehr Aufgaben zu bedienen. Diese „Konflikte" zwischen den Aufgaben für die Verwendung der Roboter werden gelöst, wie es in den nachfolgenden Schritten beschrieben wird.
    • • Schritt 3 Zuordnen der Transportlast. Der erste Schritt zum Auflösen von Konflikten in dem Herstellungssystem besteht in der gleichmäßigen Zuordnung der Last auf die Roboter, um eine ausgeglichene Transportbelastung zu erzielen. Auch wenn Konflikte von dem Rezept abhängen, vermindert das Zuordnen von weniger Lasten pro Roboter dennoch die Wahrscheinlichkeit eines Konflikts. Die Möglichkeit, die Last auszugleichen, hängt jedoch auch von dem Layout bzw. der Anordnung der Module relativ zu den Robotern ab. Ein ungünstiges Layout beschränkt die Zugänglichkeit von Modulen für Roboter und macht es schwierig, ausgeglichene Lasten zu erzielen. In diesem Beispiel ist das Layout derart, daß zwei Roboter, CES und SI, nur zwei Module bedienen können, was die Hauptlast dem Hauptroboter C-1 und drei speziell zugeordneten Robotern überläßt, die als IBTA (Inter Bay Transfer Arm – Zwischenschachtübertragungsarm) bekannt sind. Die beste Zuordnung der Transportlast ist unter den durch das Layout gegebenen Einschränkungen die in 7 dargestellte. Sechs Module, VPC 712, CT 714, SBC 716, PEBC 718, DEV 720 und HB 722 sind dem Hauptroboter C-1 zugeordnet, wobei drei von ihnen, SBC, DEV und HB in Konkurrenz für eine Bewegung des Roboters stehen, wie zuvor bereits diskutiert wurde. Diese Konflikte werden durch Schlangebildung gelöst, wie es im nächsten Schritt gezeigt wird.
    • • Schritt 4 Schlangebilden für Synchronisierung. Die Information in Tabelle 800 nach 8 ist eine Zusammenfassung der Lastzuordnung aus Schritt 3. Nur die sechs durch den Hauptroboter C-1 bedienten Module, d. h. VPC 802, CT 804, SBC 806, PEBC 808, DEV 810 und HB 812, müssen für die Schlangebildung berücksichtigt werden. Die verbleibenden Module sollten keinerlei Konflikte erfahren, da jeder seinen ihm zugewiesenen Roboter hat, d.h. einen IBTA, der sie bedient. In der Zielspalte 814 ist das angestrebte Zeitablaufprofil für die 6 Module eingestellt. Für jedes der in der Tabelle aufgelisteten Module ist ein entsprechender Wert für τ* eingestellt, wobei τ* ein aktualisierter Wert für τ ist, was Konflikte zwischen Aufgaben für Roboter beseitigt. Da nur 3 dieser 6 Module, SBC 806, DEV 810 und HB 812 in einem Konflikt stehen, müssen nur zwei, nämlich DEV und HB, Zeitvorgaben bekommen, die sich von den Originalwerten für τ unterscheiden, wie sie durch das Rezept vorgegeben werden. Die Zeitziele bzw. angestrebten Zeitpunkte sind in Spalte 814 aufgelistet, und sie sind so eingestellt, daß das Zeitintervall zwischen irgendeinem Paar der 6 Module größer ist als die Robotertransportzeit (= 6/45 ~ 0,1333). Die Unterschiede zwischen den Zielzeiten bzw. angestrebten Zeiten und den ursprünglich vorgeschriebenen Zeitprofilen werden als die Lücken bezeichnet und sind in Spalte 816 berechnet. Diese sind bildlich in der Kurve bzw. dem Schaubild 818 neben der Tabelle wiedergegeben. Ein weiteres Ziel des „synchronen Algorithmus" besteht darin sicherzustellen, daß keine Verzögerungen an kritischen Prozeßschritten eingeführt werden. In diesem Beispiel sind die kritischen Prozeßschritte der Schritt 3 804, der Schritt 4 806 und der Schritt 7 809. Für Module, welche diesen Schritten entsprechen, sollten keine Schlangen gebildet bzw. hinzugefügt werden, d.h. die Zielzeiten bzw. angestrebten Zeiten für diese Module sollten dieselben sein wie die vorgeschriebenen Werte. Die in der Lückenspalte 816 berechneten Lücken können nunmehr in Gleichung (3) eingesetzt werden, um eine Lösung für die Schlangen zu ergeben, welche diese Lücken schließen. Um jedoch bei den kritischen Prozeßmodulen Verzögerungen von Null sicherzustellen, muß die Matrix 818, die sich auf Lücken und Schlangenbildung bezieht, gemäß Gleichung (4) modifiziert werden, um eine modifizierte Matrix 820 zu erzeugen. Das Multiplizieren der Lücken von links aus der Lückenspalte 816 mit dem Inversen der modifizierten Matrix 822 erzeugt die erforderlichen Schlangen, um die Lücke 824 zu schließen. Die Lösung für die Schlange wird an eine Schlangenspalte 826 übertragen. Die Lösung, die in Einheiten der Sendeperiode angegeben ist, wird in der aktuellen Schlangenspalte 828 in eine aktuelle bzw. tatsächliche Zeit umgewandelt.
    • • Schritt 5 Überprüfen der Lösung. Die im Schritt 4 bestimmten Schlangen werden nun der Bearbeitungszeit des Moduls in dem Originalrezept hinzuaddiert. Dies dient der Verifizierung, ob Konflikte gelöst worden sind. Wie es in der Figur dargestellt wird, ist dies in der Tat der Fall.
  • Roboterzuordnung
  • Ein weiterer Aspekt des Planungsproblems, der eine Automatisierung verdient, ist die Zuordnung von Robotern zu Modulen. Beispielsweise wurde in dem oben aufgelisteten Schritt 3 ein Rezept gewählt, welches einen einzelnen Roboter je einem Paar aufeinanderfolgender Module zuordnete. Diese Zuordnung ist in dem in 7 aufgelisteten Rezept dargestellt. Die Zuordnung wurde unter vielen möglichen Zuordnungen ausgewählt.
  • Im allgemeinen besteht ein Bedarf an einem Algorithmus, der eine optimale Roboterzuordnung vor der Bestimmung der Schlangen festlegt. Das Erfordernis eines solchen Algorithmus wird anhand des folgenden Beispiels demonstriert. Angenommen, man habe ein vereinfachtes Bahnsystem, welches aus drei Modulen mit den Bezeichnungen Mod1, Mod2 und Mod3 besteht. Angenommen, man habe zwei Roboter, Roboter1 und Roboter2, die beide alle drei Module bedienen können. Die Sendeperiode soll durch die Variable SP bezeichnet werden. Es sei angenommen, daß τ1 = 0,0, τ2 = 0,6, τ3 = 0,7 in Einheiten der Sendeperiode ist, und es sei weiterhin angenommen, daß die Roboter sich in 0,3 (in Einheiten der Sendeperiode SP) bewegen können. Es gibt vier mögliche Roboterzuordnungen:
  • Figure 00170001
  • Bei genauer Betrachtung sind nur die Zuordnungen 3 und 4 machbar. Bei den Zuordnungen 1 und 2 hätte man als Zeitintervall zwischen τ2 = 0,6 und τ3 = 0,7 von 0,1 Sendeperioden, was kleiner ist als die 0,3 Sendeperioden, die für eine Bewegung eines Roboters erforderlich sind. Demnach sind die optimalen Zuordnungen in diesem Fall die Zuordnung #3 und #4; da die Zeitintervalle zwischen den τ-Werten einen ausreichenden Abstand haben, beseitigt diese Roboterzuordnung das Erfordernis, Verzögerungen einzuführen. Andere Kriterien können ebenfalls in die Bestimmung einer optimalen Roboterzuordnung einfließen, beispielsweise Lastausgleich, gesteigerter Durchsatz. Ein Algorithmus ist notwendig, der in Fällen, die komplizierter als das obige vereinfachte Beispiel sind, eine optimale Roboterzuordnung bestimmen kann.
  • Ein Verfahren zur Durchführung einer solchen Zuordnung ist einfach eine erschöpfende (vollständige) Technik: Man erzeuge alle möglichen Roboterzuordnungen und bestimme den Wert jeder Zuordnung, d.h. man stelle sicher, daß alle zu einem Roboter zugeordneten Module sich in ihren τ-Werten ausreichend unterscheiden, um es dem Roboter zu ermöglichen, daß er sie bedient. Die Zuordnungen, die auf diese Weise erzeugt werden, können auch auf Basis zusätzlicher Kriterien, wie zum Beispiel einem Belastungsausgleich, ausgewählt werden.
  • Lösung für aktualisierte Zeitpunkte (τ*)
  • Ein weiteres Merkmal der Synchronisierung, welches eine Automatisierung verdient, ist die Ableitung der aktualisierten Zeitpunkte, die durch τ* gegeben sind. Um dies näher auszuführen, wurde in Schritt 4 des oben skizzierten Algorithmus dieser Algorithmus mit aktualisierten Werten von τ* versorgt, wobei für irgendwelche zwei Module, die einen Roboter gemeinsam verwendeten, die entsprechenden τ*-Werte um eine ausreichende Zeit differierten, um es dem Roboter zu ermöglichen, sich zwischen ihnen zu bewegen. Es besteht ein Bedarf nach einem automatisierten Verfahren, um diese τ*-Werte abzuleiten. Eine solche Technik ist die folgende:
    Für jeden Roboter, der einen Konflikt hat, nimm den τ-Wert für jeden seiner Module.
    Für jede Kombination dieser τ-Werte sortiere die τ-Werte von dem niedrigsten zum höchsten. Für jede sortierte Liste von τ-Werten:
    • • Gehe der Reihe nach durch die τ-Werte von dem niedrigsten zu dem höchsten.
    • • Bestimme den Unterschied zwischen den gegebenen τ-Werten und demjenigen, der ihm vorangeht,
    • • wenn der Unterschied geringer ist als die Zeit, die dem Roboter zugeordnet ist, um sich zu bewegen, setze den τ-Wert ausreichend herauf,
    • • gehe zum nächsten τ-Wert.
  • Wenn dieser Algorithmus einen aktualisierten Satz von τ-Werten für einen gegebenen Roboter findet, welcher die Konflikte beseitigt, so werden diese die τ*-Werte. Man kann beweisen, daß, falls eine konfliktfreie Gruppe von τ*-Werten existiert, der oben skizzierte Algorithmus diesen auch findet.
  • Genetische Algorithmen
  • Die Synchronisierungs-, die Roboterzuordnungs- und die Ableitungsprobleme können auch gelöst werden durch Verwendung eines genetischen Algorithmus (GA). Ein GA ist ein iterativer Vorgang, der mit einer anfänglichen Population von Genen beginnt, die mögliche Zustände des Problems codieren. Diese Population wird mit jeder Iteration systematisch verbessert über einen Prozeß des ausgewählten Aufziehens bzw. Erbrütens. Um ein ausgewähltes Aufziehen durchzuführen, muß der GA a) die Eigenschaften einer Art definieren und b) die Stärke bzw. Überlebensfähigkeit einer Art beurteilen.
  • Eigenschaften einer Art.
  • Eine Art wird gekennzeichnet durch n Gene. Für unser Problem verwenden wie zwei Arten von Genen, eine, um die Roboterzuordnung wiederzugeben und die andere, um ein Schlangensegment wiederzugeben. Man betrachte das in der Beschreibung des früheren Algorithmus verwendete Beispiel. Die Roboterzuordnung reicht von 1 bis 4, was anzeigt, welcher Roboter an einem bestimmten Modul arbeitet. Das Schlangensegment ist ebenfalls eine ganze Zahl, die anzeigt, wie viele „Zeitzonen", d.h. Roboterbewegungsperioden, der Ankunftszeit eines Moduls hinzuaddiert werden müssen, um einen Konflikt in der Roboterzuordnung zu vermeiden. In unserem früheren Beispiel kamen die Module in sechs verschiedenen Zeitzonen an, wie es in 6 bei 612 gezeigt ist. Wenn die Ankunft von zum Beispiel fünf Modulen in eine Zeitzone fällt, so ergibt sich ein Konflikt. Die Hinzufügung eines Schlangensegments zu einem der Module verschiebt die Ankunftszeit in die nächste Zeitzone und löst damit den Konflikt.
  • Fitness bzw. Überlebensfähigkeit einer Art.
  • Wir können die Fitness bzw. Überlebensfähigkeit durch den Kehrwert einer „Ungeeignetheit" messen. Umgekehrt kann die Ungeeignetheit oder mangelnde Überlebensfähigkeit gemessen werden durch eine gewichtete Summe des Grades eines Konflikts und die Anzahl der hinzuaddierten Schlangensegmente. Eine ideale Art ist eine, die keine hinzugefügten Segmente hat und die zu keinem Konflikt bei der Roboterzuordnung führt.
  • Um die Fitnessfunktion abzuleiten, tasten wir jede Zeitzone ab und zählen die Anzahl redundanter Zuordnungen für jeden Roboter. Die Ergebnisse werden für alle Roboter und alle Zeitzonen aufsummiert. Diese Summe werde s genannt. Wir gehen weiter, um die Anzahl der hinzugefügten Schlangensegmente zu addieren und nennen sie t. Die Fitnessfunktion ist dann
    Figure 00190001
    wobei die Wichtungen w1 und w2 entsprechend der relativen Bedeutung von s gegenüber t zugeordnet werden.
  • Rezeptur-Kaskadierung
  • Bei einer Ausführungsform der Erfindung wird dem Cluster-Tool der Wechsel von einer ersten Rezeptur zu einer zweiten Rezeptur ermöglicht, während die Periodizität bewahrt und sichergestellt wird, daß es an kritischen Punkten keine Verzögerungen gibt. Dieses Verfahren bezeichnet man als Rezeptur-Kaskadierung. Kaskadierung schließt das Entleeren eines ersten Anteils von Wafern, nachfolgend austretender Anteil genannt, aus einem Cluster-Tool und gleichzeitig und nacheinander das Bestücken des Cluster-Tools mit einem anderen Anteil von Wafern ein, nachfolgend der eintretende Anteil genannt. Das Verfahren wird ohne an kritischen Prozeßschritten auftretende Verzögerungen durchgeführt; und ohne zusätzliche Roboter und Prozeßmodule außer den durch die Rezeptur und durch die Erfordernisse der eintretenden und austretenden Anteile angeforderten. Der eintretende Anteil kann gegenüber dem austretenden Anteil auch eine unterschiedliche Rezeptur und Durchsatzerfordernisse haben.
  • Vermerk
  • Die folgenden Parameter werden in unserer Diskussion der Rezeptur-Kaskadierung verwendet:
  • mex
    = Anzahl der Prozeßschritte, Exponent(en, ex) bezeichnet nachfolgend den eintretenden oder austretenden Anteil.
    nex
    = die Anzahl der austretenden Wafer, um das Cluster-Tool ganz zu entleeren, oder eintretender Wafer, um das Cluster-Tool vollständig zu bestücken.
    SP ex / i
    = Sendeperiode des i-ten Wafers, welches das Zeitintervall zwischen dem Starten des (i – 1)-ten und i-ten Wafer ist.
    SP ex / •
    = Sendeperiode der Wafer während des stabilen Zustandes.
    SP en / 1st,j
    = die Verzögerung beim Starten bzw. Abschicken des ersten Wafers des eintretenden Anteils zur Anpassung des Umstellens an dem j-ten Prozeßmodul des austretenden Anteils.
    COj
    = die Zeit, die vergeht, um das j-te Prozeßmodul des austretenden Anteils zu einer neuen Einstellung umzuschalten bzw. umzurüsten.
    T in / ijk
    = Ankunftszeit des i-ten Wafers an dem j-ten von dem k-ten Roboter transportierten Modul.
    T out / ijk
    = Abgangszeit des i-ten Wafers von dem durch den k-ten Roboter transportierten j-ten Modul.
    P ex / j
    = Prozeßzeit der j-ten Prozeßstufe des austretenden Anteils.
    t ex / j
    = Transportzeit zwischen der (j – 1)-ten und der j-ten Prozeßstufe des austretenden Anteils.
    q ex / ij
    = dem i-ten Wafer an der j-ten Prozeßstufe des austretenden Anteils hinzugefügte Schlangen.
  • Eigenschaft der Rezeptur-Kaskadierung
  • 9 veranschaulicht eine typischer Rezeptur 900. Sie spezifiziert die Prozeß- und Transportaufgaben und die Zeitvorgabe jeder an einem Wafer durchzuführenden Aufgabe, wenn der Wafer durch ein Cluster-Tool geht. Zur Erfüllung des Durchsatzerfordernisses werden aufeinanderfolgende Wafer mit einer konstanten Sendeperiode durch das Cluster-Tool geschickt, wie in 10 veranschaulicht ist. Diese Sendeperiode SP 1000 ist gegeben durch
    Figure 00200001
    wobei WPH das Durchsatzerfordernis in Wafer pro Stunde ist.
  • Durch den n-ten Wafer wird das Cluster-Tool voll mit Wafern bestückt. Für jeden aus dem Cluster-Tool austretenden Wafer gibt es für das Nachfüllen einen eintretenden Wafer. Alle an den Wafern durchgeführte Prozeß- und Transportaufgaben treten in einer periodischen Weise auf, wobei die Periodizität durch die Sendeperiode begrenzt ist. Wenn das System diesen Zustand erreicht, sagt man, es befindet sich im stabilen Zustand. Die Anzahl der Wafer n, die erforderlich ist, um das Cluster-Tool ganz zu bestücken und zu einem stabilen periodischen Zustand hochzulaufen, wird durch die Gleichung gegeben
    Figure 00200002
    wobei π die Gesamtprozeß- und Transportzeit, die an einem Wafer auftritt, ist, wie in 9 mit 902 bezeichnet ist. Das Symbol INT(•) bezeichnet eine Funktion, welche eine Zahl auf die nächste gerade Zahl abrundet. Die obige Gleichung gilt auch für die Anzahl von Wafern für einen Anteil, von einem stabilen Zustand herunterzulaufen und ganz das Cluster-Tool zu entleeren. In dem stabilen Zustand hat jeder Wafer identische Prozeß- und Transportaufgaben, die bei identischen Zeitintervallen bei ihm durchgeführt werden. Es gibt deshalb keine Notwendigkeit, die Bewegung der Wafer innerhalb des Cluster-Tools im Auge zu behalten.
  • Während der Rezeptur-Kaskadierung befinden sich jedoch die Wafer im Übergang von dem stabilen Zustand des austretenden Anteils zu dem stabilen Zustand des eintretenden Anteils, wie in 11 gezeigt ist. Während des Übergangs werden einige Wafer gemäß der Rezeptur und der für den austretenden Anteil vorgeschriebenen Sendeperiode bearbeitet und transportiert; andere werden entsprechend der für den eintretenden Anteil vorgeschriebenen Rezeptur bearbeitet und transportiert. Die Periodizität kann deshalb nicht beibehalten werden. „Konflikte" treten auf. „Konflikte" beziehen sich auf zwei Situationen. In einer Situation, Prozeßkonflikt genannt, müssen zwei Wafer nacheinander von demselben Prozeßmodul in einem Zeitintervall bearbeitet werden, welches kürzer ist als die Prozeßzeit jenes Schrittes. In der an deren Situation, Transportkonflikt genannt, müssen zwei Wafer nacheinander von demselben Roboter innerhalb eines Zeitintervalls transportiert werden, welches kürzer ist als die Robotertransportzeit.
  • Eine Konfliktlösung ist die, daß man mehr Module und Roboter hinzufügt. Diese Lösung ist kostspielig und nicht praktisch. Eine andere Lösung besteht dann, eine Gruppe von Prioritätsregeln und Ausführungs- „wenn – dann" Algorithmus ins Auge zu fassen, um auf die Konflikte zu reagieren. Wegen ihrer kombinatorischen Eigenschaft erzeugt diese Lösung eine gewaltige Kombination von Ergebnissen, die möglicherweise zum Chaos und zur Unvorherbestimmbarkeit führen. Die grundsätzliche Lösung besteht darin, Konflikte durch eine richtige Zeitvorgabe beim Starten bzw. Losschicken von Wafern des eintretenden Anteils und Einfügen bewußter Verzögerungen an nicht kritischen Prozeßschritten sowohl des austretenden als auch eintretenden Anteils auszuschalten. Dies ist das Prinzip, welches hinter der Rezeptur-Kaskadierung, wie sie hier beschrieben ist, steht.
  • Verfahren
  • Schritt 1: Berechne die Zahl der im Übergang befindlichen Wafer.
  • Während des Übergangs ist der austretende Anteil dabei zu entleeren, während der eintretende Anteil dabei ist, das Cluster-Tool zu bestücken. Die Anzahl von bei dem Übergang beteiligten Wafern kann durch Verwendung der Gleichung A berechnet werden. Der Algorithmus für die Gleichung ist folgender:
  • Figure 00210001
  • Schritt 2: Berechne die untere Grenze der „Verzögerung".
  • Die Zeitvorgabe des Startens der Wafer des eintretenden Anteils ist eine primäre Variable, die für das Auftreten eines Konfliktes verantwortlich ist. Deshalb ist eine gute Zeitvorgabe der Startvorgänge wichtig. Außerdem sollte die Zeitvorgabe des Startens des ersten Wafers, nachfolgend die „Verzögerung" genannt, so sein, daß sie die Zeit vorsieht, die notwendig ist, um ein Prozeßmodul zu einer neuen Einstellung (setting) überzuwechseln, wie von dem eintretenden Anteil angefordert ist. So daß, wenn der erste Wafer des eintretenden Anteils ankommt, der Übergang vollständig ist und das Prozeßmodul fertig ist, ihn anzunehmen. Es gibt ebenso viele „Verzögerungen" wie Anzahl von Modulübergängen, die von der Rezeptur des eintretenden Anteils angefordert sind. Ihr Maximum ist die untere Grenze der Verzögerung. Jeder Umfang an Verzögerung, die für die Konfliktlösung in Erwägung gezogen ist, muß größer sein als die untere Grenze. Unter Bezugnahme auf 12 kann die untere Grenze wie folgt abgeleitet werden.
  • Figure 00220001
  • Das folgende ist der Algorithmus für die Berechnung der unteren Grenze der Verzögerung für Gleichung (B).
  • Figure 00220002
  • Schritt 3: Verfolge die Bewegung von Wafern im Übergang.
  • Die Bewegung von im Übergang befindlichen Wafern kann aufgespürt werden. Die Ankunftszeit T in / ijk des i-ten Wafers bei dem j-ten Modul, vom k-ten Roboter transportiert, ist die Abgangszeit T out / i(j–i)k von dem vorherigen (j – l)-ten Prozeßmodul plus die Transportzeit tj von dem (j – l)-ten zu dem j-ten Modul: Tinijk = Touti(j–1)k + tj (C)
  • Seinerseits ist die Abgangszeit von dem j-ten Modul die Ankunftszeit plus die Bearbeitungszeit und die für die Konfliktlösung bewußt eingeführten Schlangen: Toutijk = Tinijk + pj + qij (D)
  • Die rekursiven Formeln der Gleichungen (C) und (D) oben erlauben das Festlegen der Bewegung der Wafer im Übergang. Mißt man die Zeit, von wann der letzte Wafer des austretenden Anteils gestartet bzw. abgeschickt wurde und der Übergang begann, siehe 11, so können die Ankunft und der Abgang eines Wafers an einem Prozeßmodul für den nachfolgenden Algorithmus berechnet werden. Die Ankunfts- und Abgangszeiten außerhalb des Übergangs werden nicht betrachtet und deshalb mit großen negativen Werten markiert. Für Wafer des austretenden Anteils, siehe 11:
  • Figure 00230001
  • Figure 00240001
  • Schritt 4: Identifiziere Konflikte.
  • Hat man die Ankunftszeit T in / ijk und die Abgangszeit T out / ijk bestimmt, kann man auf Konflikte prüfen. Ein Verfahrens- bzw. Prozeßkonflikt tritt auf, wenn ein Prozeßmodul an dem j-ten Prozeßschritt angefordert wird, um nacheinander ein Paar von Wafern, den m-ten und den n-ten, innerhalb eines Zeitintervalls zu bearbeiten, welches kürzer ist als die Prozeßzeit. Mit anderen Worten kommt der n-te Wafer an, bevor der m-te Wafer von dem Modul abgeht. Somit tritt ein Konflikt auf, wenn folgendes zutrifft.
  • Figure 00240002
  • Unter Verwendung der obigen logischen Aussage zum Prüfen aller möglicher Kombinationen von (m, n) Paaren für alle Prozeßstufen können alle Prozeßkonflikte identifiziert werden:
    für j = 1 bis (mex + men)
    für m = 1 bis (nex – nen)
    für n = 1 bis m – 1
  • Konflikt wenn:
    Figure 00240003
    nächstes m
    nächstes n
  • In ähnlicher Weise tritt ein Transportkonflikt auf, wenn ein Roboter, der k-te Roboter, angefordert wird, um nacheinander zwei Wafer zu transportieren, der m-te und der n-te, und zwar innerhalb eines Zeitintervalls, welcher kürzer ist als die Transportzeit. Mit anderen Worten ist das Zeitintervall zwischen der Ankunft des m-ten Wafers und dem Abgang des n-ten Wafers kürzer als die Transportzeit. Somit tritt ein Transportkonflikt auf, wenn das Folgende zutrifft:
  • Figure 00240004
  • Oben bezeichnet das Symbol |• | eine absolute Größe und „g" ist die für den Roboter angewiesene Zeit, eine Transportbewegung durchzuführen. Die Zeit „g" ist größer oder gleich der Transportzeit des Roboters. Unter Verwendung der obigen logischen Aussage zur Prüfung jeder möglichen Kombination von (m, n) Paaren für alle Prozeßstufen können alle Transportkonflikte bestimmt werden:
    für j = 1 bis (mex + men)
    für m = 1 bis (nex + nen)
    für n = 1 bis m – 1
  • Konflikt wenn
    Figure 00250001
    nächstes m
    nächstes n
  • Schritt 5: Löse den Konflikt durch richtiges Warten und Starten.
  • Beachte, daß es in den Gleichungen (E) bis (G) drei noch unbestimmte Variable gibt, die bei der Berechnung der Ankunfts- und Abgangszeit eines Wafers bei einem Prozeßmodul durch einen speziellen Roboter verwendet werden. Dieses sind die bewußten Verzögerungen, Schlangen gleich q ex / ij, q en / ij genannt, und die Zeitvorgabe des Startens des Wafers des eintretenden Anteils SP en / i. Die Optimierungsverfahren werden verwendet, um die beste Kombination dieser drei Variablen derart zu finden, daß es keinen Konflikt gibt und die Gesamtschlange minimiert ist. Genetische Algorithmen sind ein solches Optimierungsverfahren. Andere erkennt der Fachmann:
    Die vorstehende Beschreibung verschiedener Ausführungsformen der Erfindung wurde zwecks Veranschaulichung und Beschreibung gegeben. Es ist nicht beabsicht, die Erfindung auf die genauen, erwähnten Formen zu begrenzen. Viele Modifikationen und äquivalente Anordnungen sind ersichtlich:
  • Architektur des Cluster-Tools, einschließlich örtlicher Taktgeber
  • Eine Ausführungsform eines Wafer Cluster-Tools, welches erfindungsgemäß benutzt wird, ist schematisch in 13 veranschaulicht. Das Cluster-Tool weist eine Reihe von Prozeßmodulen 1300 auf, die in linearer Ordnung angeordnet sind. Wafer-Cluster werden dadurch bearbeitet, daß man sie durch die Reihe von Prozeßmodulen 1300 gemäß den früher in dieser Beschreibung dargelegten Algorithmen verschickt.
  • Bei der in 13 veranschaulichten Ausführungsform weist jedes der Prozeßmodule einen örtlichen Taktgeber 1302 auf. Der örtliche Taktgeber kann sich auf einem an das Prozeßmodul 1300 gekoppelten Prozessor befinden. Die örtlichen Taktgeber 1302 sind mit einem Server gekoppelt, einschließlich einem Master-Taktgeber 1304 über ein Local Area Network oder LAN 1306. Bei einer Ausführungsform der Erfindung pingt bzw. klingelt der Master-Taktgeber 1304 periodisch die örtlichen Taktgeber 1302 an, um die örtlichen Taktgeber 1302 mit dem Master-Taktgeber 1304 zu synchronisieren.
  • Der Master-Taktgeber befindet sich in Verbindung mit einer Zeittafel 1308. die Zeittafel 1308 weist eine Datenbank auf, welche die Zeiten speichert, die auf der Vielzahl von örtlichen Taktgebern 1302 aufgezeichnet sind. Die Zeittafel 1308 kann sich auf dem Server befinden, einschließlich des Master-Taktgebers 1304, oder auf einem separaten Server, deR an den Master-Taktgeber 1304 gekoppelt ist. Die Zeittafel 1308 kann in der Form eines Arbeitsblattes, einer relationalen Datenbank, einer Einfachdatei oder einer speziellen Datenstruktur gespeichert werden, wie dem Fachmann einleuchtet. Bei den Ausführungsformen der Erfindung werden die Zeiten, welche von den örtlichen Taktgebern 1302 oder dem Master-Taktgeber 1304 vermerkt sind, in Einheiten der Sendeperiode aufgezeichnet.
  • Bei einigen Ausführungsformen der Erfindung wird jedesmal, wenn ein Wafer-Cluster in ein Prozeßmodul 1300 eintritt, der örtliche oder innere Taktgeber des Moduls zurückgesetzt und in der Zeittafel 1308 registriert. Die Zeittafel 1308 wird fortlaufend in Realzeit aktualisiert, so daß sie eine laufende Aufzeichnung örtlicher Taktgeber 1302 in dem Cluster-Tool behalten kann. Da die Gesamtzeit, während der sich ein Wafer in einem gegebenen Modul 1300 befindet, durch den Planalgorithmus bestimmt wird, identifiziert die Zeittafel 1308 die Wafer Aufnahmezeiten für jedes Modul 1300.
  • Roboter-Vorpositionieren in dem Cluster-Tool
  • Ausführungsformen der Erfindung ermöglichen es einem Roboter, unmittelbar nach Vollendung einer ersten Aufgabe an einem anstehenden Modul positioniert zu werden. Bei diesen Ausführungsformen wird der Roboter sich selbst vor das Modul vorpositionieren, welches unmittelbar nach Vollendung der vorherigen Aufgabe bedient wird. Durch das Vorpositionieren der Roboter an den Modulen wird eine übermäßige Wartezeit über die Warteschlangenzeit hinaus ausgeschaltet, wodurch der Durchsatz des Cluster-Tools verbessert wird. Dies erlaubt es, daß der Roboterpfad zusammen mit dem Bearbeitungsplan vorbestimmt wird, und dies minimiert jede Notwendigkeit, Mehrfachgreifer an Robotern für die Durchsatzverbesserungen vorzusehen.
  • Eine Ausführungsform der Erfindung mit Stützen des Vorpositionierens ist in 14 dargestellt. Der Prozeß beginnt mit der Erzeugung eines deterministischen Ablaufplans 1400 für das Cluster-Tool. Dies schließt das Einfügen von Schlagen in den Modulprozeßzeiten ein, um Roboterkonflikte auszuschalten, und dies kann durch die linearen Transformationen oder genetischen Algorithmen, die früher beschrieben wurden, durchgeführt werden. Der deterministische Ablaufplan hat eine Periodizität mit einem Intervall einer Sendeperiode. Nach Vollendung eines Prozeßschrittes i durch einen Roboter R 1402 bezieht sich das Cluster-Tool auf die Zeittafel 1308, um festzulegen, für welchen Prozeßschritt der Roboter R sich selbst positionieren soll. Dieser Schritt 1404 schließt ein Auslesen eines Prozeßschrittes j ein, wobei τj dem dezimalen Teil der laufenden Zeit auf dem Master-Taktgeber Tmaster nächstliegend ist, und der Prozeßschritt j wurde bei der laufenden Sendeperiode nicht durchgeführt. Für die Reiteration weist der Schritt 1404 auf:
    greife ein j von der Zeittafel 1308 heraus, wobei
    τj ist nächst dem Tmaster – INT(Tmaster)
    und der Schritt j wurde in der laufenden Sendeperiode nicht durchgeführt.
  • Wenn ein solcher Prozeßschritt j in der Zeittafel 1308 gefunden wird, wird der Roboter R an der Prozeßkammer j positioniert.
  • Vorteile der Robotervorpositionierung
  • Für den Fachmann ist klar, daß durch Kombinieren des vordeterministischen oder vorplangesteuerten Prozeßablaufplans 1400 mit dem oben beschriebenen Roboter-Vorpositionierungsalgorithmus der Weg der einzelnen Roboter in dem Cluster-Tool vordeterministisch bzw. vorplangesteuert wird. Weil die Zeittafel 1308 in Realzeit aktualisiert ist und der Ablaufplan 1400 in jeder Sendeperiode identisch ist, ist die Sammlung von τj Werten, die in der Zeittafel 1308 behalten sind, in jeder Sendeperiode identisch. Insoweit wiederholt sich die Auswahl von τj für jeden Roboter R auch bei Intervallen von einer Sendeperiode. Somit weist der Weg des Roboters R zusammen mit dem Cluster-Tool-Ablaufplan Periodizität auf. Dadurch wird es möglich, den Weg jedes Roboters R zusammen mit der Erzeugung des Cluster-Tool-Ablaufplans 1400 vorzubestimmen.
  • Der Vorpositionierungsalgorithmus, der oben beschrieben ist, verbessert den Durchsatz des Cluster-Tools. Insbesondere hat jedes Modul, das bedient werden muß, schon einen vor ihm positionierten notwendigen Roboter. Hierdurch wird jede für den Roboter erforderliche Wartezeit eliminiert, so daß über das wartend in Reihe stehen hinaus jede beliebige Wartezeit ausgeschaltet wird, um Konflikte auszuschalten. Das Optimieren der Warteschlangenzeiten gemäß den algebraischen Techniken oder dem vorher beschriebenen genetischen Algorithmus zusammen mit dem Ausschalten der Roboterfreisetzung durch Verwenden des Vorpositionierens maximiert den Durchsatz des Cluster-Tools.
  • Das Vorpositionieren des Roboters erlaubt es dem System auch, Roboter mit einem einzigen Greifer zu verwenden. Zur näheren Ausführung werden Roboter mit Mehrfachgreifern in typischer Weise beim Stand der Technik benutzt, um den Waferaustausch zu erlauben und die Anzahl der Roboterübergänge zu minimieren. Dadurch wird ein zusätzliches Erfordernis zu dem Cluster-Tool hinzugefügt, da ein Roboter mit Doppelgreifern einen Wafer auf einem der Greifer verlangt, um den Austausch durchzuführen. Hierdurch wird die Leistung des Cluster-Tools eingeschränkt. Weiterhin wird durch das Austauschen die Transportzeit zwischen den Modulen erhöht, was letztlich den Durchsatz des Cluster-Tools verlangsamt.
  • Durch das Ausschalten von Roboterwartezeiten minimiert die Verbesserung im Durchsatz, was durch das Vorpositionieren ermöglicht wurde, jede Notwendigkeit, den Waferaustausch durchzuführen. Somit kann das Cluster-Tool Roboter mit einem einzigen Greifer verwenden. Dies vereinfacht den Roboter und minimiert jede Notwendigkeit für eine robotereigene Bearbeitung.

Claims (4)

  1. Verfahren zum Synchronisieren eines Wafer-Cluster-Tools, welches eine Vielzahl von Prozeßmodulen (1300) hat, wobei das Verfahren aufweist: a) Erzeugen eines deterministischen Ablaufplanes für das Wafer-Cluster-Tool, wobei der plangesteuerte Ablaufplan eine Periodizität einer Sendeperiode (110) hat; b) Laden einer ersten Wafergruppe in ein erstes Prozeßmodul in dem Wafer-Cluster-Tool gemäß dem deterministischen Ablaufplan; c) Zurücksetzen eines an das erste Prozeßmodul gekoppelten ersten örtlichen Taktgebers (1302) in Abhängigkeit vom Laden der ersten Wafergruppe in das erste Prozeßmodul; d) Aufzeichnen einer ersten Zeit aus dem ersten örtlichen Taktgeber in einer Zeittafel (1308), die an die Vielzahl von Prozeßmodulen gekoppelt ist, wobei die erste Zeit in Einheiten der Sendeperiode gemessen wird; e) Laden einer zweiten Wafergruppe in ein zweites Prozeßmodul in dem Wafer-Clsuter-Tool gemäß dem deterministischen Ablaufplan; f) Zurücksetzen eines zweiten an das zweite Prozeßmodul gekoppelten lokalen Taktgebers in Abhängigkeit vom Laden der zweiten Wafergruppe in das zweite Prozeßmodul; und g) Aufzeichnen einer zweiten Zeit aus dem zweiten örtlichen Taktgeber in der Zeittafel in Einheiten der Sendeperiode.
  2. Verfahren nach Anspruch 1, ferner mit: Laden einer dritten Wafergruppe in das erste Prozeßmodul gemäß dem deterministischen Ablaufplan eine Sendeperiode nach dem Laden der ersten Wafergruppe.
  3. Verfahren nach Anspruch 2, ferner mit: Zurücksetzen des ersten örtlichen Taktgebers in Abhängigkeit vom Laden der ersten Wafergruppe.
  4. Verfahren nach Anspruch 3, ferner mit: Aufzeichnen einer dritten Zeit aus dem ersten örtlichen Taktgeber in der Zeittafel, wobei die dritte Zeit in Einheiten der Sendeperiode gemessen wird.
DE60026527T 1999-06-23 2000-06-23 Robot-vor-positionierung in einem chip-herstellungssystem Expired - Lifetime DE60026527T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14066199P 1999-06-23 1999-06-23
US140661P 1999-06-23
PCT/US2000/017430 WO2000079356A2 (en) 1999-06-23 2000-06-23 Robot pre-positioning in a wafer processing system

Publications (2)

Publication Number Publication Date
DE60026527D1 DE60026527D1 (de) 2006-05-04
DE60026527T2 true DE60026527T2 (de) 2006-10-19

Family

ID=22492250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60026527T Expired - Lifetime DE60026527T2 (de) 1999-06-23 2000-06-23 Robot-vor-positionierung in einem chip-herstellungssystem

Country Status (7)

Country Link
EP (1) EP1188097B1 (de)
JP (4) JP2003502877A (de)
KR (1) KR100508680B1 (de)
AT (1) ATE320033T1 (de)
AU (1) AU5636600A (de)
DE (1) DE60026527T2 (de)
WO (1) WO2000079356A2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002184671A (ja) 2000-12-14 2002-06-28 Tokyo Electron Ltd 基板処理システム及び基板処理方法
EP1406751A2 (de) * 2001-07-13 2004-04-14 FSI International Robotersteuerungssystem
JP4492875B2 (ja) * 2005-06-21 2010-06-30 東京エレクトロン株式会社 基板処理システム及び基板処理方法
JP5275058B2 (ja) * 2009-01-23 2013-08-28 株式会社Sokudo 基板処理装置
JP6198805B2 (ja) * 2015-02-16 2017-09-20 キヤノン株式会社 リソグラフィ装置、リソグラフィ方法、プログラム、リソグラフィシステムおよび物品製造方法
US9927725B2 (en) 2015-02-16 2018-03-27 Canon Kabushiki Kaisha Lithography apparatus, lithography method, program, lithography system, and article manufacturing method
CN111923066B (zh) * 2020-08-14 2021-11-12 北京北方华创微电子装备有限公司 一种晶圆清洗设备中的工艺调度方法、装置
CN113299587B (zh) * 2021-05-21 2022-04-26 无锡亚电智能装备有限公司 一种晶圆清洗工艺任务排列方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3115297B2 (ja) * 1989-10-09 2000-12-04 キヤノン株式会社 自動装置の制御装置
JPH0512300A (ja) * 1990-12-18 1993-01-22 Nec Yamaguchi Ltd 半導体装置製造における実績表示方法
JPH053174A (ja) * 1991-06-26 1993-01-08 Fujitsu Ltd 半導体装置の製造方法
JPH06176030A (ja) * 1992-12-03 1994-06-24 Toshiba Corp 生産スケジューリングシステム
US5428555A (en) * 1993-04-20 1995-06-27 Praxair, Inc. Facility and gas management system
JPH07171478A (ja) * 1993-12-20 1995-07-11 Dainippon Screen Mfg Co Ltd 基板処理装置
KR100372925B1 (ko) * 1994-01-19 2003-03-19 동경 엘렉트론 주식회사 통신방법및장치
JP2982038B2 (ja) * 1994-04-01 1999-11-22 東京エレクトロン株式会社 被処理体の処理のスケジューリング方法及びその装置
JP3592771B2 (ja) * 1994-12-07 2004-11-24 大日本スクリーン製造株式会社 基板処理装置
JPH08222616A (ja) * 1995-02-13 1996-08-30 Dainippon Screen Mfg Co Ltd 基板処理装置
US5591299A (en) * 1995-04-28 1997-01-07 Advanced Micro Devices, Inc. System for providing integrated monitoring, control and diagnostics functions for semiconductor spray process tools
JPH08315017A (ja) * 1995-05-15 1996-11-29 Sanyo Electric Co Ltd 生産スケジュール作成方法
TW372926B (en) * 1996-04-04 1999-11-01 Applied Materials Inc Method and system of processing semiconductor workpieces and robot for use in said system
JPH09282359A (ja) * 1996-04-09 1997-10-31 Nippon Telegr & Teleph Corp <Ntt> ジョブショップスケジューリング装置
JPH09326338A (ja) * 1996-06-04 1997-12-16 Nikon Corp 製造管理装置
US5801945A (en) * 1996-06-28 1998-09-01 Lam Research Corporation Scheduling method for robotic manufacturing processes
US5928389A (en) * 1996-10-21 1999-07-27 Applied Materials, Inc. Method and apparatus for priority based scheduling of wafer processing within a multiple chamber semiconductor wafer processing tool
JP3684056B2 (ja) * 1996-11-15 2005-08-17 株式会社日立国際電気 半導体製造装置の基板搬送制御方法
JPH10256342A (ja) * 1997-03-06 1998-09-25 Kokusai Electric Co Ltd 搬送制御方法
US6201999B1 (en) * 1997-06-09 2001-03-13 Applied Materials, Inc. Method and apparatus for automatically generating schedules for wafer processing within a multichamber semiconductor wafer processing tool
JP3771050B2 (ja) * 1997-06-20 2006-04-26 東京エレクトロン株式会社 制御システム
US6292708B1 (en) * 1998-06-11 2001-09-18 Speedfam-Ipec Corporation Distributed control system for a semiconductor wafer processing machine
ATE302438T1 (de) * 1998-12-31 2005-09-15 Silicon Valley Group Verfahren zum synchronisieren eines substratbehandlungssystems

Also Published As

Publication number Publication date
JP2007214551A (ja) 2007-08-23
JP4800191B2 (ja) 2011-10-26
EP1188097B1 (de) 2006-03-08
WO2000079356A2 (en) 2000-12-28
EP1188097A2 (de) 2002-03-20
WO2000079356A3 (en) 2001-08-09
JP2007165913A (ja) 2007-06-28
ATE320033T1 (de) 2006-03-15
AU5636600A (en) 2001-01-09
JP2007305988A (ja) 2007-11-22
JP2003502877A (ja) 2003-01-21
KR20020019109A (ko) 2002-03-09
DE60026527D1 (de) 2006-05-04
JP4733011B2 (ja) 2011-07-27
KR100508680B1 (ko) 2005-08-17

Similar Documents

Publication Publication Date Title
DE69703938T3 (de) Ressourcenzuordnung
DE102014222705B4 (de) Verfahren, Speichermedium und System zur Steuerung der Verarbeitung von Losen von Werkstücken
DE19931139B4 (de) Produktionssystem und Fertigungsmittel-Auswahlverfahren in einem Produktionssystem
DE3300261C2 (de)
DE3300263C2 (de)
US6678572B1 (en) Recipe cascading in a wafer processing system
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE69926798T2 (de) Verfahren zum synchronisieren eines substratbehandlungssystems
US6952622B2 (en) Robot pre-positioning in a wafer processing system
DE60205231T2 (de) Vorrichtung und verfahren zur effizienten zuteilung von speicherbandbreite in einem netzwerkprozessor
DE3905478A1 (de) Verfahren und vorrichtung fuer die buszuweisung in einem computersystem
DE112006000282T5 (de) Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem
DE112006000397T5 (de) System und Verfahren für eine adaptive Maschinenprogrammierung
DE102007035839A1 (de) Verfahren und System zum lokalen Aufbewahren von Substratbehältern in einem Deckentransportsystem zum Verbessern der Aufnahme/Abgabe-Kapazitäten von Prozessanlagen
DE102006025352A1 (de) Verfahren und System zum Bestimmen der Auslastung von Prozessanlagen in einer Fertigungsumgebung auf der Grundlage von Eigenschaften eines automatisierten Materialhandhabungssystems
DE60026527T2 (de) Robot-vor-positionierung in einem chip-herstellungssystem
DE102006056597B4 (de) Verfahren und System zum Steuern der Substrathandhabung in Substratpuffern von Prozessanlagensystemen durch Unterbrechen von Prozessaufgaben in Abhängigkeit von der Aufgabenpriorität
DE60222233T2 (de) Prozessor und Verfahren zur Erhaltung der Verarbeitungsreihenfolge von Paketen basierend auf Paketstromkennungen
DE102006025406A1 (de) Verfahren und System zum Steuern von Prozessanlagen durch Unterbrechen von Prozessaufgaben in Abhängigkeit von der Aufgabenpriorität
EP2417500B1 (de) System zur dezentralen materialflusssteuerung
EP3556191B1 (de) Verfahren und steuerungseinrichtung zur durchsatzoptimierten produktion von leiterplatten auf einer bestückungslinie
DE60133452T2 (de) Verfahren zur Justierung von Verarbeitungsparametern plattenförmiger Gegenstände in einer Verarbeitungsvorrichtung
WO2020177836A1 (de) Zuordnen von werkzeugen zu plätzen in einem werkzeugmagazin
EP1440544B1 (de) Verfahren zur kommunikation eines realzeit-datenverkehrs in einem kollisionserkennungs-basierten kommunikationsnetz, entsprechendes speichermedium und kommunikationsnetz
EP3914977B1 (de) Verfahren und vorrichtung zur rechnergestützten optimierung einer belegung von magazinplätzen mit werkzeugen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition