WO2003060779A1 - Agent-based control architecture - Google Patents

Agent-based control architecture Download PDF

Info

Publication number
WO2003060779A1
WO2003060779A1 PCT/US2002/034850 US0234850W WO03060779A1 WO 2003060779 A1 WO2003060779 A1 WO 2003060779A1 US 0234850 W US0234850 W US 0234850W WO 03060779 A1 WO03060779 A1 WO 03060779A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent
process tool
processing
controller
workpiece
Prior art date
Application number
PCT/US2002/034850
Other languages
French (fr)
Inventor
Michael L. Miller
Jason A. Grover
Michael R. Conboy
Original Assignee
Advanced Micro Devices, Inc.
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 Advanced Micro Devices, Inc. filed Critical Advanced Micro Devices, Inc.
Priority to KR1020047010792A priority Critical patent/KR100939329B1/en
Priority to JP2003560805A priority patent/JP4849773B2/en
Priority to AU2002343588A priority patent/AU2002343588A1/en
Priority to GB0412557A priority patent/GB2400925B/en
Priority to DE10297636T priority patent/DE10297636B4/en
Publication of WO2003060779A1 publication Critical patent/WO2003060779A1/en

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
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • H01L21/67276Production flow monitoring, e.g. for increasing throughput
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/20Sequence of activities consisting of a plurality of measurements, corrections, marking or sorting steps
    • H01L22/26Acting in response to an ongoing measurement without interruption of processing, e.g. endpoint detection, in-situ thickness measurement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32097Recipe programming for flexible batch
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45031Manufacturing semiconductor wafers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
    • 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]
    • 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/80Management or planning

Definitions

  • This invention relates generally to the field of semiconductor device manufacturing and, more particularly, to an automated manufacturing environment using autonomous, active, software agents to control recipes for processing wafers.
  • a set of processing steps is performed on a lot of wafers using a variety of processing tools, including photolithography steppers, etch tools, deposition tools, polishing tools, rapid thermal processing tools, implantation tools, etc.
  • processing tools including photolithography steppers, etch tools, deposition tools, polishing tools, rapid thermal processing tools, implantation tools, etc.
  • the technologies underlying semiconductor processing tools have attracted increased attention over the last several years, resulting in substantial refinements.
  • many of the processing tools that are currently commercially available suffer certain deficiencies.
  • such tools often lack advanced process data monitoring capabilities, such as the ability to provide historical parametric data in a user-friendly format, as well as event logging, real-time graphical display of both current processing parameters and the processing parameters of the entire run, and remote, i.e., local site and worldwide, monitoring.
  • One technique for improving the operation of a semiconductor processing line includes using a factory wide control system to automatically control the operation of the various processing tools.
  • the manufacturing tools communicate with a manufacturing framework or a network of processing modules.
  • Each manufacturing tool is generally connected to an equipment interface.
  • the equipment interface is connected to a machine interface which facilitates communications between the manufacturing tool and the manufacturing framework.
  • the machine interface can generally be part of an advanced process control (APC) system.
  • the APC system initiates a control script based upon a manufacturing model, which can be a software program that automatically retrieves the data needed to execute a manufacturing process.
  • semiconductor devices are staged through multiple manufacturing tools for multiple processes, generating data relating to the quality of the processed semiconductor devices.
  • various events may take place that affect the performance of the devices being fabricated. That is, variations in the fabrication process steps result in device performance variations. Factors, such as feature critical dimensions, doping levels, contact resistance, particle contamination, etc., all may potentially affect the end performance of the device.
  • Various tools in the processing line are controlled in accordance with performance models to reduce processing variation. Commonly controlled tools include photolithography steppers, polishing tools, etching tools, and deposition tools.
  • Pre-processing and/or post-processing metrology data is supplied to process controllers for the tools. Operating recipe parameters, such as processing time, are calculated by the process controllers based on the performance model and the metrology information to attempt to achieve post-processing results as close to a target value as possible. Reducing variation in this manner leads to increased throughput, reduced cost, higher device performance, etc., all of which equate to increased profitability.
  • Configuration control and efficiency issues are prevalent in a distributed computing environment, such as a factory-wide APC system.
  • a distributed computing environment such as a factory-wide APC system.
  • software developers writing control code to construct the process controllers.
  • One particular developer may work extensively developing controllers of a certain type. It is common for each developer to have a unique programming style, and to rely on routines that they have created themselves. For example, each developer may have a set of routines for interfacing with databases or other entities within the APC framework and for performing various math functions and basic utility functions.
  • the present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
  • a manufacturing system including a process tool, a controller agent, and a first processing agent.
  • the process tool is configured to process a workpiece in accordance with an operating recipe.
  • the controller agent is configured to determine a control action associated with the processing of the workpiece in the process tool.
  • the first processing agent is associated with at least one of the process tool and the workpiece and configured to interface with the controller agent, receive the control action, and configure the operating recipe based on the control action.
  • Another aspect of the present invention is seen in a method for controlling a process tool configured to process a workpiece in accordance with an operating recipe.
  • a first processing agent associated with at least one of the process tool and the workpiece is instantiated.
  • a controller agent configured to determine a control action associated with the processing of the workpiece in the process tool is instantiated.
  • the first processing agent is interfaced with the controller agent to receive the control action.
  • the first processing agent is interfaced with the process tool to configure the operating recipe based on the control action.
  • Figure 1 conceptually illustrates a portion of one particular embodiment of a first process flow constructed and operated in accordance with the present invention
  • Figure 2 conceptually illustrates, in a partial block diagram, selected portions of the hardware and software architectures, respectively, of the computing devices in Figure 1 ;
  • Figure 3 conceptually illustrates in a partial block diagram the specialization of agents into scheduling agents, processing agents, and controller agents in a second process flow constructed and operated in accordance with the present invention.
  • FIG. 1 a conceptual illustration of a portion of a process flow 100 constructed and operated in accordance with one particular embodiment of the present invention is provided.
  • the illustrated portion of the process flow 100 includes two stations 105, each station 105 including a computing device 1 10 communicating with a process tool 115.
  • the stations 105 communicate with one another over communications links 120.
  • the computing devices 1 10 and the communications links 120 comprise a portion of a larger computing system, e.g., a network 125.
  • the process tools 1 15 are shown in Figure 1 processing lots 130 of wafers 135 in the fabrication of integrated circuit devices.
  • the invention is illustrated as it may be used in fabricating semiconductor devices, its application is not so limited, as it may be applied to other types of manufacturing processes.
  • the lots 130 of wafers 135 may more generically referred to as "workpieces.”
  • the process tools 1 15 and any process operation performed thereon need not necessarily be related to the manufacture of semiconductor devices in all embodiments. However, for the sake of clarity and to further an understanding of the invention, the terminology pertaining to semiconductor fabrication shall be retained in disclosing the invention in the context of the illustrated embodiments.
  • FIG. 2 depicts selected portions of the hardware and software architectures, respectively, of the computing devices 1 10 programmed and operated in accordance with the present invention.
  • Some aspects of the hardware and software architecture e.g., the individual cards, the basic input/output system ("BIOS"), input/output drivers, etc.
  • BIOS basic input/output system
  • FIG. 2 depicts selected portions of the hardware and software architectures, respectively, of the computing devices 1 10 programmed and operated in accordance with the present invention.
  • Some aspects of the hardware and software architecture e.g., the individual cards, the basic input/output system ("BIOS"), input/output drivers, etc.
  • BIOS basic input/output system
  • the software and hardware architectures of the computing devices 110 will include many such routine features.
  • the computing device 110 is a workstation, employing a UNIX-based operating system, but the invention is not so limited.
  • the computing device 1 10 may be implemented in virtually any type of electronic computing device such as a laptop computer, a desktop computer, a minicomputer, a mainframe computer, or a supercomputer.
  • the computing device 110 may even be, in some alternative embodiments, a processor or controller embedded in the process tool 115.
  • the invention also is not limited to UNIX-based operating systems.
  • Alternative operating systems e.g., WindowsTM-based or disk operating system (“DOS”) -based
  • DOS disk operating system
  • the invention is not limited by the particular implementation of the computing device 110.
  • the computing device 1 10 also includes a processor 205 communicating with some storage 210 over a bus system 215.
  • the storage 210 will typically include at least a hard disk (not shown) and random access memory (“RAM”) (not shown).
  • the computing device 110 may also, in some embodiments, include removable storage such as an optical disk (not shown), or a floppy electromagnetic disk (not shown), or some other form such as a magnetic tape (not shown) or a zip disk (not shown).
  • the processor 205 may be any suitable processor known to the art.
  • the processor may be a general purpose microprocessor or a digital signal processor ("DSP").
  • DSP digital signal processor
  • the processor 205 is an AthlonTM 64-bit processor commercially available from Advanced Micro Devices, Inc.
  • the computing device 110 includes a monitor 240, keyboard 245, and a mouse 250, which together, along with their associated user interface software 255 comprise a user interface 260.
  • the user interface 260 in the illustrated embodiment is a graphical user interface ("GUI”), although this is not necessary to the practice of the invention.
  • FIG. 2 also illustrates selected portions of the software architecture of the computing devices 1 10.
  • Each computing device 1 10 includes, in the illustrated embodiment, a software agent 265 residing thereon in the storage 210.
  • the software agents 265 may reside in the process flow 100 in places other than the computing devices 110.
  • the situs of the software agent 265 is not material to the practice of the invention.
  • some computing devices 110 may have multiple software agents 265 residing thereon while other computing devices 1 10 may not have any.
  • An automated manufacturing execution system (MES) 270 such as WORKSTREAMTM offered by Consilium, Inc. of Mountain View, CA, resides on at least one computing device 1 10.
  • MES automated manufacturing execution system
  • the computing devices 110 may also be part of a larger computing system 125 by a connection over the communications links 120.
  • Exemplary computing systems in such an implementation would include local area networks ("LANs”), wide area networks ("WANs”), system area networks ("SANs”), intranets, or even the Internet.
  • the computing system 125 employs a networked client/server architecture, but alternative embodiments may employ a peer-to-peer architecture.
  • the computing devices 110 may communicate directly with one another.
  • the communications links 120 may be wireless, coaxial cable, optical fiber, or twisted wire pair links.
  • the computing system 125, in embodiments employing one, and the communications links 120 are implementation specific and may be provided in any suitable manner known to the art.
  • the computing system 125 may employ any suitable communications protocol known to the art, e.g., Transmission Control Protocol/Internet Protocol ("TCP/IP").
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • each process tool 1 15 represents some resource that may be employed for this purpose.
  • the process tool 115 may be a fabrication tool used to fabricate some portion of the wafers 135, i.e., layer, pattern, dope, or heat treat the wafers 135.
  • the process tool 115 may be a metrology tool used to evaluate the performance of various parts of the process flow 100.
  • the software agents 265 are capable of assessing a plurality of resources for subsequent processing of the lots 130 of wafers 135, allocating the resources represented by the process tools 115, and negotiating among themselves for the allocation of those resources for subsequent processing of the lot 130 of wafers 135.
  • the software agents 265 are self-configuring on start-up, intelligent, state-aware, and imbued with specific goals for which they autonomously initiate behaviors to achieve.
  • the software agents 265 are also self-adjusting as their environment changes.
  • the software agents 265 are implemented as objects in an object oriented programming ("OOP") environment, but the invention may be implemented using techniques that are not object oriented.
  • OOP object oriented programming
  • Their behavior is relatively simple and is script or rules-based. The behavior is designed to achieve selected goals such as achieving an assigned lot due date, achieving a predefined level of quality, maximizing machine utilization, and scheduling opportunistic preventive maintenance.
  • the software agents 265 interface with the MES 270 and are integrated with the existing factory control systems (not shown). As will be apparent to those skilled in the art having the benefit of this disclosure, the manner in which this interface and integration occurs will be implementation specific, depending upon the identity of the MES 270 and the factory control systems.
  • the software agents 265 can be specialized on several different levels.
  • One level is by "type,” i.e., whether the software agents 265 represent a "consumer” or a "provider” in the process flow 100. More particularly, whether the software agents 265 represent a consumer or a provider is determined by the type of entity it represents in the overall process flow 100.
  • a software agent 265 may represent a lot 130 of wafers 135 (i.e., a "lot agent"), a process tool 115 (i.e., a "machine agent”), or a process material (i.e., a "resource agent").
  • the software agents 265 may also specialized by function — i.e., by what function the software agent 265 performs in the process flow.
  • a software agent 265 may be configured to perform a particular function without necessarily representing a particular entity.
  • the software agent 265 may be configured to determine control actions (i.e., a "controller agent") for a particular lot 130 of wafers 135 processed in a process tool 115. The actions taken by the controller agent may depend on both the characteristics of the lot 130 and the characteristics of the process tool 115.
  • a controller agent may be invoked by either a lot agent or a machine agent, depending on the particular implementation. In the illustrated embodiment, the controller agent remains associated with a particular process tool 1 15 throughout its life cycle, however, other arrangements may also be used.
  • Other functions that may be performed by software agents 265 include scheduling.
  • scheduling agents there are scheduling agents, processing agents, and controller agents.
  • the software agents 265 need not necessarily exist in a one-to-one correspondence with manufacturing domain entities, such as lots 130, process tools 115, etc. Instead, most domain entities are each represented by a group of software agents 265. For instance, a lot 130 or a process tool 1 15 may have both a scheduling agent and a processing agent.
  • a controller agent may be associated with a particular process tool 115 and may be invoked by one of the processing agents (i.e., associated with the lot 130 or the process tool 1 15). This arrangement facilitates the design of specialized objects that exhibit specialized behavior to support a single aspect of domain entity functionality.
  • the software agents 265 are implemented using object-oriented programming techniques.
  • a software "agent” is an autonomous, active object. Given its set of operations, a software agent 265 can take independent action in response to local conditions, thereby generating adaptable system behavior.
  • the present invention presents an agent-enhanced system that defines, configures, and deploys autonomous and mobile "software agents” that mimic and improve the functioning of "real world” agents in a semiconductor manufacturing plant such as factory workers, material, equipment, processes, etc.
  • an agent or other software object can include one or more software objects.
  • the term "object” will be understood to be a software object that may, in turn, be composed of other software objects.
  • the functionality of one object may be combined with other functionalities. It is to be understood that functionalities described as being associated with separate objects may be combined into the functionality associated with a single object.
  • the software agents 265 are "configurable.” In this particular embodiment, the software agents are configurable either by modifying scripts governing their behavior or modifying "control knobs.” Control knobs are externally configurable parameters or properties of the software agents that provide flexibility and/or system tuning. For instance, some properties specify curves that guide system decisions. More particularly, the processing and scheduling actions of the software agents 265 are scripted such that certain, predefined events cause execution of a script segment. In one particular implementation, the scripts are implemented in JPython, an open source Java programming language providing a bi-directional Java interface. Additional information, including a download of JPython, are available over the Internet at ⁇ http://www.jpython.org/>.
  • the software implemented aspects of the invention are typically encoded on some form of program storage medium or implemented over some type of transmission medium.
  • the program storage medium may be magnetic (e.g., a floppy disk or a hard drive) or optical (e.g., a compact disk read only memory, or "CD ROM"), and may be read only or random access.
  • the transmission medium may be twisted wire pairs, coaxial cable, optical fiber, or some other suitable transmission medium known to the art. The invention is not limited by these aspects of any given implementation.
  • the process flow 100 may be implemented under an Advanced Process Control (APC) framework.
  • An APC system comprises a distributed software system of interchangeable, standardized software components permitting run-to-run control and fault detection/classification in the process flow 300.
  • the present invention of software agents 265 and their operation is layered on top of the APC System to achieve a nearly autonomously operating semiconductor fabrication process flow.
  • the software components of the APC System implement an architectural standard based on the Semiconductor Equipment and Materials International (“SEMI”) Computer Integrated Manufacturing (“CIM”) Framework compliant system technologies and the Advanced Process Control (“APC”) Framework.
  • SEMI Semiconductor Equipment and Materials International
  • CIM Computer Integrated Manufacturing
  • API Advanced Process Control
  • APC SEMI E93- 0999 - Provisional Specification for CIM Framework Advanced Process Control Component
  • This particular architecture relies heavily on software utilizing object oriented programming and employs the Object Management Group's (“OMG”) Common Object Request Broker Architecture (“CORBA”) and CORBA_Services specifications for distributed object systems. Information and specifications for the OMG CORBA architecture are also readily, publicly available.
  • OMG Object Management Group's
  • CORBA Common Object Request Broker Architecture
  • CORBA_Services specifications for distributed object systems.
  • Information and specifications for the OMG CORBA architecture are also readily, publicly available.
  • An exemplary software system capable of being adapted to perform the functions of the APC System as described herein is the Catalyst system commercially offered by KLA-Tencor, Inc.
  • KLA-Tencor may be contacted at: 160 Rio Robles, San Jose, CA 95134, phone: 408-875-6000, fax: 408-875-3030, ⁇ http://www.kla- tencor.com>. Additional information regarding the Catalyst system is also available from KLA-Tencor on their website at ⁇ http://www.kla-tencor.com/controlsolutions/catalystapc.html>.
  • FIG. 3 a simplified block diagram of an exemplary embodiment of a process flow 300 implemented using software agents 265 in accordance with another embodiment of the present invention is provided.
  • An exemplary lot 130 is represented by a lot scheduling agent 310 and a lot processing agent 320.
  • An exemplary process tool 1 15 is represented by a machine scheduling agent 330 and a machine processing agent 340.
  • the lot scheduling agent 310 negotiates with various entities in the process flow 300, such as the machine scheduling agent 330 to secure the resources needed for completion of the lot.
  • lot scheduling agent 310 and the machine scheduling agent 330 may use a "contract net negotiation protocol" approach to schedule an appointment for the lot 130 with the process tool 115.
  • the lot processing agent 320 and/or machine processing agent 340 may be invoked when the lot 130 is received at the process tool 1 15 for processing.
  • the lot processing agent 320 and machine processing agent 340 interface with a controller agent 350 to determine necessary control actions for configuring the operating recipe of the process tool 1 15 to process the lot 130.
  • Either lot processing agent 320 or the machine processing agent 340 may invoke the controller agent 350.
  • the lot processing agent 320 may send the controller agent 350 data regarding the characteristics of the lot 130 (e.g., dimensional metrology data, electrical metrology data, etc) that is needed to determine the necessary control action.
  • the machine processing agent 350 may pass data regarding the process tool 1 15 (e.g., idle time, time since last cleaning, tool health, etc) to the controller agent 360.
  • data regarding the characteristics of the lot 130 and/or process tool 115 may be stored in a centralized data store 360, where it may be accessed by the controller agent 350.
  • the data store 360 may be configured to store data such as include pre-process and post-process metrology data, tool states, lot priorities, etc.
  • the controller agent 350 may receive pre-polish thickness measurements (e.g., thickness of high features, thickness of low features) and predict a polishing time required to achieve a post-polish target thickness.
  • the controller agent 350 may model the etching performance of the process tool 1 15 based on pre-etch and/or post-etch thickness measurements.
  • the controller agent 350 may use a control model of the process tool 1 15 to generate its prediction.
  • the control model may be developed empirically using commonly known linear or non-linear techniques.
  • the control model may be a relatively simple equation based model (e.g., linear, exponential, weighted average, etc.) or a more complex model, such as a neural network model, principal component analysis (PCA) model, or a projection to latent structures (PLS) model.
  • PCA principal component analysis
  • PLS projection to latent structures
  • the specific implementation of the model may vary depending on the modeling technique selected.
  • the controller agent 350 may determine operating recipe parameters such as etch time, plasma power, temperature, pressure, reactant gas concentrations, etc. to reduce post-etch thickness variations. Other control scenarios are possible with other types of process tools 115.
  • global configuration variables are defined for use by the controller agent 350.
  • these global variables include values of variables from a recipe management system (RMS) (i.e., a global database of recipe settings that stores a default recipe for the current process being implanted by the process tool 115) and context variables.
  • RMS recipe management system
  • Context variable values define a control thread and typically consist of values for variables such as tool identification code, lot number, operation number, and so forth.
  • any needed baseline variables are also given values. Examples include an email list for error notifications, values for timeouts, the maximum number of wafers allowed in a lot considered as a "child" lot, previous layer information that the controller agent 350 may use (feed forward information) and so forth.
  • the controller agent 350 may use the values for lot number and quantity of wafers, as set in the global configuration variables and determine values for lot number, family name, parent name, facility, number of wafers, and status (i.e., whether lot is a parent or a child lot).
  • the previously defined context and RMS information may be used to set the values that the controller agent 350 uses to calculate control moves.
  • the controller agent 350 may use the context information (or "thread" designation) to set the value of a control model parameter according to the value defined in RMS.
  • a specific example would be setting the value for etch rate used in a control model according to the context of the particular etch chamber and the value for that etch chamber's etch rate as defined in RMS.
  • the controller agent 350 may retrieve feed forward metrology information from the data store 360 using a query by lot number and layer name.
  • the controller agent 350 may check elements in an array of data associated with a given lot and fill in default values for missing values. For example, the target of a previous process may be used to set the value of a missing measurement needed as part of the feed forward information used by the controller agent 350. Other methods for setting the value of missing feed forward information, in lieu of using a default value, may also be performed.
  • the controller agent 350 sets values of the keys and state structures needed for querying the data store 360 to retrieve control states associated with the current control thread.
  • the keys may be used to retrieve the thread state data from the data store 360.
  • the controller agent 350 searches for the thread state data in a stack of ordered data for recent lots processed with this thread context. If such values are found they are passed to a user-defined function containing a control model, which calculates and returns values for the thread states. If no values in the stack are found, the controller agent 350 may search up the hierarchy and retrieve the data from the first hierarchy level that has values for the thread states.
  • the stack and all hierarchy levels are assumed to contain similar data, but at differing degrees of precision.
  • the controller agent 350 may conduct a jeopardy check by performing a lookup in the data store 360 and retrieving the value for the number of lots in the jeopardy stack (i.e., the stack of lots which were processed on the given thread since the last metrology operation). This value may be compared to a threshold value for number of lots in this jeopardy category, a value typically specified in RMS. If this jeopardy threshold value is not exceeded, the controller agent 350 may continue. If the threshold value is exceeded, the controller agent 350 may abort and send a popup display that instructs an operator to perform a metrology event on a lot from the list of lots in the jeopardy stack prior to determining a control action for the current lot.
  • the controller agent 350 computes controller inputs (process recipe updates) from the state and target information previously determined, as described above.
  • the controller agent 350 then sends the results of the control action to the machine processing agent 340, which, in turn, updates the operating receipt of the process tool 115 prior to processing the lot 130.
  • more than one controller agent 350 may be instantiated for the processing of the lot 130.
  • the process tool 115 is a photolithography stepper
  • one controller agent 350 may be invoked to control overlay, and another controller agent 350 may be invoked to control critical dimensions (CD).
  • CD critical dimensions
  • the multiple controller agents 350 may use feedback from processed wafers to adjust various stepper parameters, such as exposure dose, exposure time, focus, etc.
  • a deposition tool such as a tool for forming polysilicon layers, may also have multiple controller agents 350 for controlling parameters such as polysilicon grain size and polysilicon layer thickness.
  • the context variables are checked to determine which individual controller agents 350 need to determine control actions.
  • the operation ID indicates the process will be run (e.g., poly gate mask vs. second interlevel dielectric layer mask (ILD)).
  • ILD interlevel dielectric layer mask
  • Each controller agent 350 is only required under certain context situations and will only run if all of those context conditions are met.
  • the CD controller agent 350 may run for a poly gate mask, but may not run at the second ILD mask process.
  • the overlay controller agent 350 may run at both mask events.
  • agent-based control architecture improves overall factory effectiveness and provides more comprehensive automation. More particularly, the autonomous, active software agents 265 schedule and initiate execution of lot scheduling and processing. In general, improved process control reduces product variability, which, in turn, increases product performance and profitability.

Abstract

A manufacturing system (100, 300) includes a process tool (115), a controller agent (350), and a first processing agent. The process tool (115) is configured to process a workpiece (130) in accordance with an operating recipe. The controller agent (350) is configured to determine a control action associated with the processing of the workpiece (130) in the process tool (115). The first processing agent (320, 340) is associated with at least one of the process tool (115) and the workpiece (130) and configured to interface with the controller agent (350), receive the control action, and configure the operating recipe based on the control action. A method for controlling a process tool (115) configured to process a workpiece (130) in accordance with an operating recipe is provided. A first processing agent (320, 340) associated with at least one of the process tool (115) and the workpiece (130) is instantiated. A controller agent (350) configured to determine a control action associated with the processing of the workpiece (130) in the process tool (115) is instantiated. The first processing agent (320, 340) is interfaced with the controller agent (350) to receive the control action. The first processing agent (320, 340) is interfaced with the process tool (115) to configure the operating recipe based on the control action.

Description

AUTOMATED MANUFACTURING SYSTEM
TECHNICAL FIELD
This invention relates generally to the field of semiconductor device manufacturing and, more particularly, to an automated manufacturing environment using autonomous, active, software agents to control recipes for processing wafers.
BACKGROUND ART
There is a constant drive within the semiconductor industry to increase the quality, reliability and throughput of integrated circuit devices, e.g., microprocessors, memory devices, and the like. This drive is fueled by consumer demands for higher quality computers and electronic devices that operate more reliably. These demands have resulted in a continual improvement in the manufacture of semiconductor devices, e.g., transistors, as well as in the manufacture of integrated circuit devices incorporating such transistors. Additionally, reducing the defects in the manufacture of the components of a typical transistor also lowers the overall cost per transistor as well as the cost of integrated circuit devices incorporating such transistors.
Generally, a set of processing steps is performed on a lot of wafers using a variety of processing tools, including photolithography steppers, etch tools, deposition tools, polishing tools, rapid thermal processing tools, implantation tools, etc. The technologies underlying semiconductor processing tools have attracted increased attention over the last several years, resulting in substantial refinements. However, despite the advances made hi this area, many of the processing tools that are currently commercially available suffer certain deficiencies. In particular, such tools often lack advanced process data monitoring capabilities, such as the ability to provide historical parametric data in a user-friendly format, as well as event logging, real-time graphical display of both current processing parameters and the processing parameters of the entire run, and remote, i.e., local site and worldwide, monitoring. These deficiencies can engender nonoptimal control of critical processing parameters, such as throughput, accuracy, stability and repeatability, processing temperatures, mechanical tool parameters, and the like. This variability manifests itself as within-run disparities, run-to-run disparities and tool-to-tool disparities that can propagate into deviations in product quality and performance, whereas an ideal monitoring and diagnostics system for such tools would provide a means of monitoring this variability, as well as providing means for optimizing control of critical parameters.
One technique for improving the operation of a semiconductor processing line includes using a factory wide control system to automatically control the operation of the various processing tools. The manufacturing tools communicate with a manufacturing framework or a network of processing modules. Each manufacturing tool is generally connected to an equipment interface. The equipment interface is connected to a machine interface which facilitates communications between the manufacturing tool and the manufacturing framework. The machine interface can generally be part of an advanced process control (APC) system. The APC system initiates a control script based upon a manufacturing model, which can be a software program that automatically retrieves the data needed to execute a manufacturing process. Often, semiconductor devices are staged through multiple manufacturing tools for multiple processes, generating data relating to the quality of the processed semiconductor devices.
During the fabrication process, various events may take place that affect the performance of the devices being fabricated. That is, variations in the fabrication process steps result in device performance variations. Factors, such as feature critical dimensions, doping levels, contact resistance, particle contamination, etc., all may potentially affect the end performance of the device. Various tools in the processing line are controlled in accordance with performance models to reduce processing variation. Commonly controlled tools include photolithography steppers, polishing tools, etching tools, and deposition tools. Pre-processing and/or post-processing metrology data is supplied to process controllers for the tools. Operating recipe parameters, such as processing time, are calculated by the process controllers based on the performance model and the metrology information to attempt to achieve post-processing results as close to a target value as possible. Reducing variation in this manner leads to increased throughput, reduced cost, higher device performance, etc., all of which equate to increased profitability.
Configuration control and efficiency issues are prevalent in a distributed computing environment, such as a factory-wide APC system. Typically, there are numerous software developers writing control code to construct the process controllers. One particular developer may work extensively developing controllers of a certain type. It is common for each developer to have a unique programming style, and to rely on routines that they have created themselves. For example, each developer may have a set of routines for interfacing with databases or other entities within the APC framework and for performing various math functions and basic utility functions.
One problem associated with such an arrangement is that there is little consistency between process control scripts. The large number of custom scripts also presents a configuration control problem and an efficiency problem. Developers may spend considerable time duplicating code that has already been developed, perhaps for a different type of process controller that a different developer has created. Debugging non- standardized code is also more time-consuming and further reduces efficiency.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
DISCLOSURE OF INVENTION
One aspect of the present invention is seen in a manufacturing system including a process tool, a controller agent, and a first processing agent. The process tool is configured to process a workpiece in accordance with an operating recipe. The controller agent is configured to determine a control action associated with the processing of the workpiece in the process tool. The first processing agent is associated with at least one of the process tool and the workpiece and configured to interface with the controller agent, receive the control action, and configure the operating recipe based on the control action.
Another aspect of the present invention is seen in a method for controlling a process tool configured to process a workpiece in accordance with an operating recipe. A first processing agent associated with at least one of the process tool and the workpiece is instantiated. A controller agent configured to determine a control action associated with the processing of the workpiece in the process tool is instantiated. The first processing agent is interfaced with the controller agent to receive the control action. The first processing agent is interfaced with the process tool to configure the operating recipe based on the control action.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention may be understood by reference to the following description taken in conjunction with the accompanying drawings, in which like reference numerals identify like elements, and in which: Figure 1 conceptually illustrates a portion of one particular embodiment of a first process flow constructed and operated in accordance with the present invention;
Figure 2 conceptually illustrates, in a partial block diagram, selected portions of the hardware and software architectures, respectively, of the computing devices in Figure 1 ; and
Figure 3 conceptually illustrates in a partial block diagram the specialization of agents into scheduling agents, processing agents, and controller agents in a second process flow constructed and operated in accordance with the present invention.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the description herein of specific embodiments is not intended to limit the invention to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
MODE(S) FOR CARRYING OUT THE INVENTION
Illustrative embodiments of the invention are described below. In the interest of clarity, not all features of an actual implementation are described in this specification. It will of course be appreciated that in the development of any such actual embodiment, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which will vary from one implementation to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure.
Referring first to Figure 1, a conceptual illustration of a portion of a process flow 100 constructed and operated in accordance with one particular embodiment of the present invention is provided. The illustrated portion of the process flow 100 includes two stations 105, each station 105 including a computing device 1 10 communicating with a process tool 115. The stations 105 communicate with one another over communications links 120. In the illustrated embodiment, the computing devices 1 10 and the communications links 120 comprise a portion of a larger computing system, e.g., a network 125. The process tools 1 15 are shown in Figure 1 processing lots 130 of wafers 135 in the fabrication of integrated circuit devices. Although the invention is illustrated as it may be used in fabricating semiconductor devices, its application is not so limited, as it may be applied to other types of manufacturing processes. Thus, in the process flow 100 discussed above, the lots 130 of wafers 135 may more generically referred to as "workpieces." The process tools 1 15 and any process operation performed thereon need not necessarily be related to the manufacture of semiconductor devices in all embodiments. However, for the sake of clarity and to further an understanding of the invention, the terminology pertaining to semiconductor fabrication shall be retained in disclosing the invention in the context of the illustrated embodiments.
Figure 2 depicts selected portions of the hardware and software architectures, respectively, of the computing devices 1 10 programmed and operated in accordance with the present invention. Some aspects of the hardware and software architecture (e.g., the individual cards, the basic input/output system ("BIOS"), input/output drivers, etc.) are not shown. These aspects are omitted for the sake of clarity, and so as not to obscure the present invention. As will be appreciated by those of ordinary skill in the art having the benefit of this disclosure, however, the software and hardware architectures of the computing devices 110 will include many such routine features.
In the illustrated embodiment, the computing device 110 is a workstation, employing a UNIX-based operating system, but the invention is not so limited. The computing device 1 10 may be implemented in virtually any type of electronic computing device such as a laptop computer, a desktop computer, a minicomputer, a mainframe computer, or a supercomputer. The computing device 110 may even be, in some alternative embodiments, a processor or controller embedded in the process tool 115. The invention also is not limited to UNIX-based operating systems. Alternative operating systems (e.g., Windows™-based or disk operating system ("DOS") -based) may also be employed. The invention is not limited by the particular implementation of the computing device 110.
The computing device 1 10 also includes a processor 205 communicating with some storage 210 over a bus system 215. The storage 210 will typically include at least a hard disk (not shown) and random access memory ("RAM") (not shown). The computing device 110 may also, in some embodiments, include removable storage such as an optical disk (not shown), or a floppy electromagnetic disk (not shown), or some other form such as a magnetic tape (not shown) or a zip disk (not shown). The processor 205 may be any suitable processor known to the art. For instance, the processor may be a general purpose microprocessor or a digital signal processor ("DSP"). In the illustrated embodiment, the processor 205 is an Athlon™ 64-bit processor commercially available from Advanced Micro Devices, Inc. ("AMD"), but the invention is not so limited. The 64-bit UltraSPARC™ or the 32-bit microSPARC™ from Sun Microsystems, any of the Itanium™ or Pentium™- class processors from Intel Corporation, and the Alpha™ processor from Compaq Computer Corporation might alternatively be employed. The computing device 110 includes a monitor 240, keyboard 245, and a mouse 250, which together, along with their associated user interface software 255 comprise a user interface 260. The user interface 260 in the illustrated embodiment is a graphical user interface ("GUI"), although this is not necessary to the practice of the invention.
Figure 2 also illustrates selected portions of the software architecture of the computing devices 1 10. Each computing device 1 10 includes, in the illustrated embodiment, a software agent 265 residing thereon in the storage 210. Note that the software agents 265 may reside in the process flow 100 in places other than the computing devices 110. The situs of the software agent 265 is not material to the practice of the invention. Note also that, since the situs of the software agents 265 is not material, some computing devices 110 may have multiple software agents 265 residing thereon while other computing devices 1 10 may not have any. An automated manufacturing execution system (MES) 270, such as WORKSTREAM™ offered by Consilium, Inc. of Mountain View, CA, resides on at least one computing device 1 10.
Returning briefly to Figure 1, as was mentioned above, the computing devices 110 may also be part of a larger computing system 125 by a connection over the communications links 120. Exemplary computing systems in such an implementation would include local area networks ("LANs"), wide area networks ("WANs"), system area networks ("SANs"), intranets, or even the Internet. The computing system 125 employs a networked client/server architecture, but alternative embodiments may employ a peer-to-peer architecture. Thus, in some alternative embodiments, the computing devices 110 may communicate directly with one another. The communications links 120 may be wireless, coaxial cable, optical fiber, or twisted wire pair links. The computing system 125, in embodiments employing one, and the communications links 120 are implementation specific and may be provided in any suitable manner known to the art. The computing system 125 may employ any suitable communications protocol known to the art, e.g., Transmission Control Protocol/Internet Protocol ("TCP/IP").
Referring now to Figure 1 and Figure 2, the software agents 265, collectively, are responsible for efficiently shepherding the lots 130 of wafers 135 through the fabrication process. Each process tool 1 15 represents some resource that may be employed for this purpose. For instance, the process tool 115 may be a fabrication tool used to fabricate some portion of the wafers 135, i.e., layer, pattern, dope, or heat treat the wafers 135. Or, the process tool 115 may be a metrology tool used to evaluate the performance of various parts of the process flow 100. Thus, the software agents 265 are capable of assessing a plurality of resources for subsequent processing of the lots 130 of wafers 135, allocating the resources represented by the process tools 115, and negotiating among themselves for the allocation of those resources for subsequent processing of the lot 130 of wafers 135.
In the illustrated embodiment, the software agents 265 are self-configuring on start-up, intelligent, state-aware, and imbued with specific goals for which they autonomously initiate behaviors to achieve. The software agents 265 are also self-adjusting as their environment changes. The software agents 265 are implemented as objects in an object oriented programming ("OOP") environment, but the invention may be implemented using techniques that are not object oriented. Their behavior is relatively simple and is script or rules-based. The behavior is designed to achieve selected goals such as achieving an assigned lot due date, achieving a predefined level of quality, maximizing machine utilization, and scheduling opportunistic preventive maintenance. In furtherance of these objectives, the software agents 265 interface with the MES 270 and are integrated with the existing factory control systems (not shown). As will be apparent to those skilled in the art having the benefit of this disclosure, the manner in which this interface and integration occurs will be implementation specific, depending upon the identity of the MES 270 and the factory control systems.
As will be explained further below, the software agents 265 can be specialized on several different levels. One level is by "type," i.e., whether the software agents 265 represent a "consumer" or a "provider" in the process flow 100. More particularly, whether the software agents 265 represent a consumer or a provider is determined by the type of entity it represents in the overall process flow 100. For example, a software agent 265 may represent a lot 130 of wafers 135 (i.e., a "lot agent"), a process tool 115 (i.e., a "machine agent"), or a process material (i.e., a "resource agent"). The software agents 265 may also specialized by function — i.e., by what function the software agent 265 performs in the process flow. For example, a software agent 265 may be configured to perform a particular function without necessarily representing a particular entity. For example, the software agent 265 may be configured to determine control actions (i.e., a "controller agent") for a particular lot 130 of wafers 135 processed in a process tool 115. The actions taken by the controller agent may depend on both the characteristics of the lot 130 and the characteristics of the process tool 115. A controller agent may be invoked by either a lot agent or a machine agent, depending on the particular implementation. In the illustrated embodiment, the controller agent remains associated with a particular process tool 1 15 throughout its life cycle, however, other arrangements may also be used. Other functions that may be performed by software agents 265 include scheduling.
In one embodiment discussed more fully below, for instance, there are scheduling agents, processing agents, and controller agents. Note that the software agents 265 need not necessarily exist in a one-to-one correspondence with manufacturing domain entities, such as lots 130, process tools 115, etc. Instead, most domain entities are each represented by a group of software agents 265. For instance, a lot 130 or a process tool 1 15 may have both a scheduling agent and a processing agent. A controller agent may be associated with a particular process tool 115 and may be invoked by one of the processing agents (i.e., associated with the lot 130 or the process tool 1 15). This arrangement facilitates the design of specialized objects that exhibit specialized behavior to support a single aspect of domain entity functionality.
In this particular embodiment, the software agents 265 are implemented using object-oriented programming techniques. In the terminology of object-oriented computing, a software "agent" is an autonomous, active object. Given its set of operations, a software agent 265 can take independent action in response to local conditions, thereby generating adaptable system behavior. The present invention presents an agent-enhanced system that defines, configures, and deploys autonomous and mobile "software agents" that mimic and improve the functioning of "real world" agents in a semiconductor manufacturing plant such as factory workers, material, equipment, processes, etc. One skilled in the art will recognize that an agent or other software object can include one or more software objects. As used herein, the term "object" will be understood to be a software object that may, in turn, be composed of other software objects. Conversely, one skilled in the art will also recognize that the functionality of one object may be combined with other functionalities. It is to be understood that functionalities described as being associated with separate objects may be combined into the functionality associated with a single object.
Furthermore, in this particular embodiment, the software agents 265 are "configurable." In this particular embodiment, the software agents are configurable either by modifying scripts governing their behavior or modifying "control knobs." Control knobs are externally configurable parameters or properties of the software agents that provide flexibility and/or system tuning. For instance, some properties specify curves that guide system decisions. More particularly, the processing and scheduling actions of the software agents 265 are scripted such that certain, predefined events cause execution of a script segment. In one particular implementation, the scripts are implemented in JPython, an open source Java programming language providing a bi-directional Java interface. Additional information, including a download of JPython, are available over the Internet at <http://www.jpython.org/>.
Some portions of the detailed descriptions herein are consequently presented in terms of a software implemented process involving symbolic representations of operations on data bits within a memory in a computing system or a computing device. These descriptions and representations are the means used by those in the art to most effectively convey the substance of their work to others skilled in the art. The process and operation require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantifies. Unless specifically stated or otherwise as may be apparent, throughout the present disclosure, these descriptions refer to the action and processes of an electronic device, that manipulates and transforms data represented as physical (electronic, magnetic, or optical) quantities within some electronic device's storage into other data similarly represented as physical quantities within the storage, or in transmission or display devices. Exemplary of the terms denoting such a description are, without limitation, the terms "processing," "computing," "calculating," "determining," "displaying," and the like.
Note also that the software implemented aspects of the invention are typically encoded on some form of program storage medium or implemented over some type of transmission medium. The program storage medium may be magnetic (e.g., a floppy disk or a hard drive) or optical (e.g., a compact disk read only memory, or "CD ROM"), and may be read only or random access. Similarly, the transmission medium may be twisted wire pairs, coaxial cable, optical fiber, or some other suitable transmission medium known to the art. The invention is not limited by these aspects of any given implementation.
The process flow 100 may be implemented under an Advanced Process Control (APC) framework. An APC system comprises a distributed software system of interchangeable, standardized software components permitting run-to-run control and fault detection/classification in the process flow 300. The present invention of software agents 265 and their operation is layered on top of the APC System to achieve a nearly autonomously operating semiconductor fabrication process flow.
The software components of the APC System implement an architectural standard based on the Semiconductor Equipment and Materials International ("SEMI") Computer Integrated Manufacturing ("CIM") Framework compliant system technologies and the Advanced Process Control ("APC") Framework. The CIM (SEMI E81-0699 - Provisional Specification for CIM Framework Domain Architecture) and APC (SEMI E93- 0999 - Provisional Specification for CIM Framework Advanced Process Control Component) specifications are publicly available from SEMI. SEMI may be contacted at 8310 Capital of Texas Highway North, Suite 290 Austin, TX 78731, phone: 512-349-2422, fax: 512-349-2442, internet address: <http://www.semi.org>.
This particular architecture relies heavily on software utilizing object oriented programming and employs the Object Management Group's ("OMG") Common Object Request Broker Architecture ("CORBA") and CORBA_Services specifications for distributed object systems. Information and specifications for the OMG CORBA architecture are also readily, publicly available.
An exemplary software system capable of being adapted to perform the functions of the APC System as described herein is the Catalyst system commercially offered by KLA-Tencor, Inc. KLA-Tencor may be contacted at: 160 Rio Robles, San Jose, CA 95134, phone: 408-875-6000, fax: 408-875-3030, <http://www.kla- tencor.com>. Additional information regarding the Catalyst system is also available from KLA-Tencor on their website at <http://www.kla-tencor.com/controlsolutions/catalystapc.html>.
Referring now to Figure 3, a simplified block diagram of an exemplary embodiment of a process flow 300 implemented using software agents 265 in accordance with another embodiment of the present invention is provided. An exemplary lot 130 is represented by a lot scheduling agent 310 and a lot processing agent 320. An exemplary process tool 1 15 is represented by a machine scheduling agent 330 and a machine processing agent 340. The lot scheduling agent 310 negotiates with various entities in the process flow 300, such as the machine scheduling agent 330 to secure the resources needed for completion of the lot. For example, lot scheduling agent 310 and the machine scheduling agent 330 may use a "contract net negotiation protocol" approach to schedule an appointment for the lot 130 with the process tool 115. The lot processing agent 320 and/or machine processing agent 340 may be invoked when the lot 130 is received at the process tool 1 15 for processing. The lot processing agent 320 and machine processing agent 340 interface with a controller agent 350 to determine necessary control actions for configuring the operating recipe of the process tool 1 15 to process the lot 130. Either lot processing agent 320 or the machine processing agent 340 may invoke the controller agent 350. In one embodiment, the lot processing agent 320 may send the controller agent 350 data regarding the characteristics of the lot 130 (e.g., dimensional metrology data, electrical metrology data, etc) that is needed to determine the necessary control action. Likewise, the machine processing agent 350 may pass data regarding the process tool 1 15 (e.g., idle time, time since last cleaning, tool health, etc) to the controller agent 360. In an alternative embodiment, data regarding the characteristics of the lot 130 and/or process tool 115 may be stored in a centralized data store 360, where it may be accessed by the controller agent 350. The data store 360 may be configured to store data such as include pre-process and post-process metrology data, tool states, lot priorities, etc.
The operation of the controller agent 350 is now described in greater detail. The particular control actions taken by the controller agent 350 are implementation specific. For example, if the process tool 1 15 is a CMP tool, the controller agent 350 may receive pre-polish thickness measurements (e.g., thickness of high features, thickness of low features) and predict a polishing time required to achieve a post-polish target thickness. In the case where the process tool 115 is an etch tool, the controller agent 350 may model the etching performance of the process tool 1 15 based on pre-etch and/or post-etch thickness measurements. The controller agent 350 may use a control model of the process tool 1 15 to generate its prediction. The control model may be developed empirically using commonly known linear or non-linear techniques. The control model may be a relatively simple equation based model (e.g., linear, exponential, weighted average, etc.) or a more complex model, such as a neural network model, principal component analysis (PCA) model, or a projection to latent structures (PLS) model. The specific implementation of the model may vary depending on the modeling technique selected. Using the control model, the controller agent 350 may determine operating recipe parameters such as etch time, plasma power, temperature, pressure, reactant gas concentrations, etc. to reduce post-etch thickness variations. Other control scenarios are possible with other types of process tools 115.
During a configuration of the controller agent 350 (i.e., when it is first instantiated), global configuration variables are defined for use by the controller agent 350. In the illustrated embodiment, these global variables include values of variables from a recipe management system (RMS) (i.e., a global database of recipe settings that stores a default recipe for the current process being implanted by the process tool 115) and context variables. Context variable values define a control thread and typically consist of values for variables such as tool identification code, lot number, operation number, and so forth. In addition, any needed baseline variables are also given values. Examples include an email list for error notifications, values for timeouts, the maximum number of wafers allowed in a lot considered as a "child" lot, previous layer information that the controller agent 350 may use (feed forward information) and so forth.
The controller agent 350 may use the values for lot number and quantity of wafers, as set in the global configuration variables and determine values for lot number, family name, parent name, facility, number of wafers, and status (i.e., whether lot is a parent or a child lot). The previously defined context and RMS information may be used to set the values that the controller agent 350 uses to calculate control moves. For example, the controller agent 350 may use the context information (or "thread" designation) to set the value of a control model parameter according to the value defined in RMS. A specific example would be setting the value for etch rate used in a control model according to the context of the particular etch chamber and the value for that etch chamber's etch rate as defined in RMS.
In addition, the controller agent 350 may retrieve feed forward metrology information from the data store 360 using a query by lot number and layer name. The controller agent 350 may check elements in an array of data associated with a given lot and fill in default values for missing values. For example, the target of a previous process may be used to set the value of a missing measurement needed as part of the feed forward information used by the controller agent 350. Other methods for setting the value of missing feed forward information, in lieu of using a default value, may also be performed.
The controller agent 350 sets values of the keys and state structures needed for querying the data store 360 to retrieve control states associated with the current control thread. The keys may be used to retrieve the thread state data from the data store 360. The controller agent 350 searches for the thread state data in a stack of ordered data for recent lots processed with this thread context. If such values are found they are passed to a user-defined function containing a control model, which calculates and returns values for the thread states. If no values in the stack are found, the controller agent 350 may search up the hierarchy and retrieve the data from the first hierarchy level that has values for the thread states. The stack and all hierarchy levels are assumed to contain similar data, but at differing degrees of precision.
The controller agent 350 may conduct a jeopardy check by performing a lookup in the data store 360 and retrieving the value for the number of lots in the jeopardy stack (i.e., the stack of lots which were processed on the given thread since the last metrology operation). This value may be compared to a threshold value for number of lots in this jeopardy category, a value typically specified in RMS. If this jeopardy threshold value is not exceeded, the controller agent 350 may continue. If the threshold value is exceeded, the controller agent 350 may abort and send a popup display that instructs an operator to perform a metrology event on a lot from the list of lots in the jeopardy stack prior to determining a control action for the current lot.
The controller agent 350 computes controller inputs (process recipe updates) from the state and target information previously determined, as described above. The controller agent 350 then sends the results of the control action to the machine processing agent 340, which, in turn, updates the operating receipt of the process tool 115 prior to processing the lot 130.
In some embodiments, more than one controller agent 350 may be instantiated for the processing of the lot 130. For example, if the process tool 115 is a photolithography stepper, one controller agent 350 may be invoked to control overlay, and another controller agent 350 may be invoked to control critical dimensions (CD). The multiple controller agents 350 may use feedback from processed wafers to adjust various stepper parameters, such as exposure dose, exposure time, focus, etc. In another example, a deposition tool, such as a tool for forming polysilicon layers, may also have multiple controller agents 350 for controlling parameters such as polysilicon grain size and polysilicon layer thickness.
When the controller agents 350 are invoked, the context variables are checked to determine which individual controller agents 350 need to determine control actions. The operation ID indicates the process will be run (e.g., poly gate mask vs. second interlevel dielectric layer mask (ILD)). Each controller agent 350 is only required under certain context situations and will only run if all of those context conditions are met. For example, the CD controller agent 350 may run for a poly gate mask, but may not run at the second ILD mask process. The overlay controller agent 350, on the other hand, may run at both mask events.
The use of an agent-based control architecture, as described herein, improves overall factory effectiveness and provides more comprehensive automation. More particularly, the autonomous, active software agents 265 schedule and initiate execution of lot scheduling and processing. In general, improved process control reduces product variability, which, in turn, increases product performance and profitability.
The particular embodiments disclosed above are illustrative only, as the invention may be modified and practiced in different but equivalent manners apparent to those skilled in the art having the benefit of the teachings herein. Furthermore, no limitations are intended to the details of construction or design herein shown, other than as described in the claims below. It is therefore evident that the particular embodiments disclosed above may be altered or modified and all such variations are considered within the scope and spirit of the invention. Accordingly, the protection sought herein is as set forth in the claims below.

Claims

1. A manufacturing system (100, 300), comprising: a process tool (1 15) configured to process a workpiece (130) in accordance with an operating recipe; a controller agent (350) configured to determine a control action associated with the processing of the workpiece (130) in the process tool (1 15); and a first processing agent (320, 340) associated with at least one of the process tool (1 15) and the workpiece (130) and being configured to interface with the controller agent (350), receive the control action, and configure the operating recipe based on the control action.
2. The system (100, 300) of claim 1, further comprising a second processing agent (320, 340) associated with the one of the process tool (1 15) and the workpiece (130) not associated with the first processing agent (320, 340), at least one of the first processing agent (320, 340) and the second processing agent (320, 340) being configured to interface with the controller agent (350).
3. The system (100, 300) of claim 2, wherein the first processing agent (320) is associated with the workpiece (130) and is configured to interface with the controller agent (350) to receive the control action and pass the control action to the second processing agent (340) associated with the process tool (1 15), the second processing agent (340) being configured to configure the operating recipe based on the control action.
4. The system (100, 300) of claim 1, wherein the controller agent (350) is configured to receive data associated with at least one of the workpiece (130) and the process tool (115) and determine the control action based on a control model and the received data.
5. The system (100, 300) of claim 4, wherein the first processing agent (320) is configured to provide the data associated with the workpiece (130) to the controller agent (350), the second processing agent (340) is configured to provide the data associated with the process tool (115) to the controller agent (350), and the controller agent (350) is configured to determine the control action based on the control model, the data associated with the workpiece (130), and the data associated with the process tool (115).
6. A method for controlling a process tool (1 15) configured to process a workpiece (130) in accordance with an operating recipe, comprising: instantiating a first processing agent (320, 340) associated with at least one of the process tool (115) and the workpiece (130); instantiating a controller agent (350) configured to determine a control action associated with the processing of the workpiece (130) in the process tool (1 15); interfacing the first processing agent (320, 340) with the controller agent (350) to receive the control action; and interfacing the first processing agent (320, 340) and the process tool (115) to configure the operating recipe based on the control action.
7. The method of claim 6, further comprising: instantiating a second processing agent (320, 340) associated with the one of the process tool (1 15) and the workpiece (130) not associated with the first processing agent (320, 340); and interfacing at least one of the first processing agent (320, 340) and the second processing agent (320, 340) with the controller agent (350).
8. The method of claim 7, further comprising: passing the control action from the first processing agent (320) to the second processing agent (340); and interfacing the second processing agent (340) and the process tool (115) to configure the operating recipe based on the control action.
9. The method of claim 6, further comprising: providing data associated with at least one of the workpiece (130) and the process tool (1 15) to the controller agent (350); and determining the control action based on a control model and the provided data.
10. The method of claim 9, further comprising: interfacing the first processing agent (320) with the controller agent (350) to provide the data associated with the workpiece (130); interfacing the second processing agent (340) with the controller agent (350) to provide the data associated with the process tool (115); and determining the control action based on the control model and the data associated with the process tool
(115) and the workpiece (130).
PCT/US2002/034850 2002-01-10 2002-10-31 Agent-based control architecture WO2003060779A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020047010792A KR100939329B1 (en) 2002-01-10 2002-10-31 Agent-based control architecture
JP2003560805A JP4849773B2 (en) 2002-01-10 2002-10-31 Automatic production system
AU2002343588A AU2002343588A1 (en) 2002-01-10 2002-10-31 Agent-based control architecture
GB0412557A GB2400925B (en) 2002-01-10 2002-10-31 Agent-based control architecture
DE10297636T DE10297636B4 (en) 2002-01-10 2002-10-31 Method for controlling process equipment in a semiconductor manufacturing factory ####

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4464002A 2002-01-10 2002-01-10
US10/044,640 2002-01-10

Publications (1)

Publication Number Publication Date
WO2003060779A1 true WO2003060779A1 (en) 2003-07-24

Family

ID=21933483

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/034850 WO2003060779A1 (en) 2002-01-10 2002-10-31 Agent-based control architecture

Country Status (8)

Country Link
JP (1) JP4849773B2 (en)
KR (1) KR100939329B1 (en)
CN (1) CN100449551C (en)
AU (1) AU2002343588A1 (en)
DE (1) DE10297636B4 (en)
GB (1) GB2400925B (en)
TW (1) TWI312448B (en)
WO (1) WO2003060779A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007507886A (en) * 2003-09-30 2007-03-29 東京エレクトロン株式会社 A system and method using a first principle simulation for controlling a semiconductor manufacturing process.
US8014991B2 (en) 2003-09-30 2011-09-06 Tokyo Electron Limited System and method for using first-principles simulation to characterize a semiconductor manufacturing process
US8032348B2 (en) 2003-09-30 2011-10-04 Tokyo Electron Limited System and method for using first-principles simulation to facilitate a semiconductor manufacturing process
US8036869B2 (en) 2003-09-30 2011-10-11 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process via a simulation result or a derived empirical model
US8296687B2 (en) 2003-09-30 2012-10-23 Tokyo Electron Limited System and method for using first-principles simulation to analyze a process performed by a semiconductor processing tool
WO2013160774A3 (en) * 2012-04-23 2014-01-16 Abb Technology Ag Service port explorer
WO2021105364A3 (en) * 2019-11-29 2021-07-22 Sms Group Gmbh Control system for an industrial plant, in particular for a plant for producing or processing metal strips or plates and method for controlling an industrial plant, in particular a plant for producing or processing metal strips or plates

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7542880B2 (en) * 2006-04-06 2009-06-02 Advanced Micro Devices, Inc. Time weighted moving average filter
DE102007014970B3 (en) * 2007-03-28 2008-07-31 Siemens Ag Process e.g. medical treatment, configuration method, involves configuring process step, where process includes parallel running process steps, and configuration of process steps determines sequence of process steps
DE102008035258A1 (en) * 2008-07-29 2010-03-25 Siemens Aktiengesellschaft Method for testing data consistency of technical system, involves testing data consistency of control parameters marked by part of tag groups based on preset validation rules for providing test results
DE102011109388A1 (en) * 2011-08-04 2013-02-07 Heidelberger Druckmaschinen Aktiengesellschaft Automatic press improvement
KR101953196B1 (en) * 2012-02-21 2019-05-23 어플라이드 머티어리얼스, 인코포레이티드 Enhanced re­hosting capability for legacy hardware and software

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5975736A (en) * 1994-07-15 1999-11-02 Ontrak Systems, Inc. Scrubber control system
WO2001050520A1 (en) * 2000-01-04 2001-07-12 Advanced Micro Devices, Inc. In-situ contril of a dry etcher
JP2001338856A (en) * 2000-05-30 2001-12-07 Tokyo Seimitsu Co Ltd Process controller for semiconductor manufacturing system
WO2001097280A2 (en) * 2000-06-02 2001-12-20 Timbre Technologies, Inc. Quality control using profile library

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4276711B2 (en) * 1998-01-05 2009-06-10 株式会社日立国際電気 Semiconductor manufacturing equipment control system
JP3002776B1 (en) * 1998-07-16 2000-01-24 横河電機株式会社 Production system and processing apparatus selection method in production system
JP3704698B2 (en) * 1998-08-12 2005-10-12 横河電機株式会社 Production system
JP2000158297A (en) * 1998-12-01 2000-06-13 Dainippon Screen Mfg Co Ltd Job management system, job management method, and record medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5975736A (en) * 1994-07-15 1999-11-02 Ontrak Systems, Inc. Scrubber control system
WO2001050520A1 (en) * 2000-01-04 2001-07-12 Advanced Micro Devices, Inc. In-situ contril of a dry etcher
JP2001338856A (en) * 2000-05-30 2001-12-07 Tokyo Seimitsu Co Ltd Process controller for semiconductor manufacturing system
WO2001097280A2 (en) * 2000-06-02 2001-12-20 Timbre Technologies, Inc. Quality control using profile library

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 2002, no. 04 4 August 2002 (2002-08-04) *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007507886A (en) * 2003-09-30 2007-03-29 東京エレクトロン株式会社 A system and method using a first principle simulation for controlling a semiconductor manufacturing process.
US8014991B2 (en) 2003-09-30 2011-09-06 Tokyo Electron Limited System and method for using first-principles simulation to characterize a semiconductor manufacturing process
US8032348B2 (en) 2003-09-30 2011-10-04 Tokyo Electron Limited System and method for using first-principles simulation to facilitate a semiconductor manufacturing process
US8036869B2 (en) 2003-09-30 2011-10-11 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process via a simulation result or a derived empirical model
JP4795957B2 (en) * 2003-09-30 2011-10-19 東京エレクトロン株式会社 A system and method using a first principle simulation for controlling a semiconductor manufacturing process.
US8050900B2 (en) 2003-09-30 2011-11-01 Tokyo Electron Limited System and method for using first-principles simulation to provide virtual sensors that facilitate a semiconductor manufacturing process
US8073667B2 (en) 2003-09-30 2011-12-06 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process
US8296687B2 (en) 2003-09-30 2012-10-23 Tokyo Electron Limited System and method for using first-principles simulation to analyze a process performed by a semiconductor processing tool
WO2013160774A3 (en) * 2012-04-23 2014-01-16 Abb Technology Ag Service port explorer
WO2021105364A3 (en) * 2019-11-29 2021-07-22 Sms Group Gmbh Control system for an industrial plant, in particular for a plant for producing or processing metal strips or plates and method for controlling an industrial plant, in particular a plant for producing or processing metal strips or plates

Also Published As

Publication number Publication date
CN100449551C (en) 2009-01-07
GB0412557D0 (en) 2004-07-07
KR100939329B1 (en) 2010-01-28
GB2400925B (en) 2005-08-03
TW200301854A (en) 2003-07-16
TWI312448B (en) 2009-07-21
AU2002343588A1 (en) 2003-07-30
JP2005515623A (en) 2005-05-26
DE10297636B4 (en) 2008-05-08
JP4849773B2 (en) 2012-01-11
CN1610908A (en) 2005-04-27
KR20040074116A (en) 2004-08-21
DE10297636T5 (en) 2005-01-05
GB2400925A (en) 2004-10-27

Similar Documents

Publication Publication Date Title
US6678570B1 (en) Method and apparatus for determining output characteristics using tool state data
CN100378941C (en) Method and apparatus for predicting device electrical parameters during fabrication
EP1373997B1 (en) Method and apparatus for controlling a tool using a baseline control script
US20030029383A1 (en) Dynamic control of wafer processing paths in semiconductor manufacturing processes
US6684122B1 (en) Control mechanism for matching process parameters in a multi-chamber process tool
US6790686B1 (en) Method and apparatus for integrating dispatch and process control actions
US6563300B1 (en) Method and apparatus for fault detection using multiple tool error signals
KR100939329B1 (en) Agent-based control architecture
US7076321B2 (en) Method and system for dynamically adjusting metrology sampling based upon available metrology capacity
US6785586B1 (en) Method and apparatus for adaptively scheduling tool maintenance
JP2003520435A (en) Method for requesting trace data report from FDC semiconductor manufacturing process
US6687561B1 (en) Method and apparatus for determining a sampling plan based on defectivity
US6801817B1 (en) Method and apparatus for integrating multiple process controllers
JP2005515623A6 (en) Automatic production system
US6701206B1 (en) Method and system for controlling a process tool
WO2006022945A1 (en) Method and system for prioritizing material to clear exception conditions
US6937914B1 (en) Method and apparatus for controlling process target values based on manufacturing metrics
US7020535B1 (en) Method and apparatus for providing excitation for a process controller
US7340318B1 (en) Method and apparatus for assessing controller performance
KR101169038B1 (en) Method and system for prioritizing material to clear exception conditions
US7263408B1 (en) Method and system for converting tool process ability based upon work in progress characteristics
Toprac et al. The status and future of APC software.(Manufacturing Software)

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

ENP Entry into the national phase

Ref document number: 0412557

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20021031

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 20028263782

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2003560805

Country of ref document: JP

Ref document number: 1020047010792

Country of ref document: KR

RET De translation (de og part 6b)

Ref document number: 10297636

Country of ref document: DE

Date of ref document: 20050105

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10297636

Country of ref document: DE

122 Ep: pct application non-entry in european phase
REG Reference to national code

Ref country code: DE

Ref legal event code: 8607

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607