CLUSTER TOOL APPARATUS AND A METHOD OF CONTROLLING A CLUSTER TOOL APPARATUS

Information

  • Patent Application
  • 20180082878
  • Publication Number
    20180082878
  • Date Filed
    September 22, 2016
    8 years ago
  • Date Published
    March 22, 2018
    6 years ago
Abstract
A system and method for a cluster tool apparatus for processing a semiconductor product including processing modules located adjacent each other and configured to process a semiconductor module, loadlocks configured to retain and dispense unprocessed semiconductor products and each positioned adjacent one of the processing modules, a robot configured to load, transfer and unload a semiconductor product to and from the processing modules, a hardware controller in communication with the robot and executing a method to close down the cluster tool apparatus to an idle state, the method including determining a status of the processing modules, determining if a close down process is required based on the status or based on a close down signal, and, if required, determining a schedule for a close down process based on a semiconductor product residency parameter, and controlling the operation of the robot based on the schedule to perform the close down process.
Description
TECHNICAL FIELD

The present disclosure relates to a cluster tool apparatus and a method of controlling the cluster tool apparatus, in particular, but not limited to, a cluster tool apparatus comprising a plurality of processing modules and a method of controlling the cluster tool apparatus to close down a cluster tool apparatus to an idle state.


BACKGROUND

Semiconductors are ubiquitous in modern society and used in a wider range of uses. Some examples are modern electronic components such as diodes, transistors, etc. The pure silicon is used to create wafers or substrates that can be used in electronics for fabrication of integrated circuits or printed circuit boards or photovoltaic cells. Wafer fabrication processes are carefully controlled and managed processes.


A semiconductor fabrication plant has many cluster tool. Cluster tool apparatuses are a type of integrated equipment that are used in semiconductor processing methods, in particular cluster tools are used in wafer processing. Cluster tools are used in the wafer manufacturing process. Cluster tools are used to process wafers by using a predetermined recipe or process. Cluster tools provide a flexible reconfigurable, and efficient environment, resulting in higher productivity while resulting in shorter cycle times.


At times, a cluster tool apparatus may be required to be closed down or shut down to an idle state. In this idle state the cluster tool apparatus is incapable of processing wafers. One common reason to close down or shut down a cluster tool apparatus is for maintenance work. Cluster tools require regular maintenance to ensure optimal performance, longevity of the cluster tool apparatus and ensure yielding of high quality wafers. Cluster tool apparatuses may also experience a failure from time to time. If the cluster tool apparatus or a component thereof fails for any reason, the entire cluster tool apparatus is required to be shut down to an idle state.


It is of economic interest and importance for a plant to have an efficient close down process or method to ensure that productivity and quality are not compromised. There is a need to provide an improved method of controlling a cluster tool apparatus to provide an optimal close down process. There is also a need to provide a method of controlling a cluster tool to account for any failure in the cluster tool apparatus.


It is an object of the present disclosure to provide a cluster tool apparatus with a method of controlling the cluster tool apparatus that will ameliorate one or more of the current problems associated with closing down known cluster tool apparatuses or at least provide the public with a useful alternative.


SUMMARY OF THE INVENTION

In accordance with a first aspect, the present disclosure provides a cluster tool apparatus for processing a semiconductor product comprising:


one or more processing modules located adjacent each other, each processing module being configured to process a semiconductor module,


one or more loadlocks configured to retain and dispense unprocessed semiconductor products, wherein the one or more loadlocks being positioned adjacent one of the one or more processing modules,


a robot configured to load, transfer and unload a semiconductor product to and from the one or more processing modules,


a hardware controller in electronic communication with the robot and configured to execute a method to control the cluster tool apparatus to close down the cluster tool apparatus to an idle state, the method to control the cluster tool apparatus comprising:

    • determining a status of each of the one or more processing modules,
    • determining if a close down process is required based on the status of the one or more processing modules or based on a close down signal,
    • determine a schedule for a close down process based on if a close down process is required,
    • wherein the schedule is determined based on a semiconductor product residency parameter,
    • controlling the operation of the robot based on the schedule such that the robot performs the close down process.


In an embodiment the schedule for a close down process outputs the robot waiting time at each step of the close down process that minimizes the close down process time such that the cluster tool apparatus reaches an idle state as quickly as possible, at the same time, the semiconductor product residency parameter is not exceeded.


In an embodiment the close down process comprises removing all semiconductor products from each of the one or more processing modules and returning each semiconductor product to the one of the one or more loadlocks, the close down process further comprises stopping each of the one or more processing modules operation.


In an embodiment the cluster tool apparatus comprises a user interface that is configured to receive inputs from a user and present information to the user,

    • the user interface being in electronic communication with the controller, the user interface receiving a close down input from the user, the hardware controller receiving a close down signal from the user interface wherein the close down signal corresponds to the close down input,
    • the hardware controller being configured to determine the schedule in response to receiving a close down signal, wherein the determined schedule corresponds to a normal close down process, and
    • wherein the hardware controller is configured to control at least the robot based on the determined schedule such that the robot performs a normal close down process.


In an embodiment the hardware controller is configured to determine a schedule that corresponds to a normal close down process by solving a first linear program, the linear program accounting for a semiconductor product residency parameter.


In an embodiment the cluster tool apparatus comprises one or more sensors, wherein each of the one or more sensors is associated with or located on the one or more processing modules, each of the one or more sensor modules being in electronic communication with the hardware controller, and wherein each of the one or more sensors configured to detect a status of the corresponding one or more processing modules.


In an embodiment each of the one or more sensors transmitting status of the processing modules at regular time intervals to the hardware controller, wherein the status comprises a normal status signal or a failed status signal, wherein the failed status signal is generated when any one of the sensors detects a failure in a corresponding one or more of the processing modules.


In an embodiment the hardware controller is configured to determine the schedule in response to receiving a failed status signal, wherein the determined schedule corresponds to a failure close down process.


In an embodiment the hardware controller is configured to control the robot based on the schedule that corresponds to the failure close down process, such that the robot is configured to avoid placing a semiconductor product within any one or more of the processing modules that have experienced a failure and the hardware controller further configured to avoid placing a semiconductor product within a processing module adjacent the failed processing, and wherein the failure being detected by the sensor associated with the processing module.


In an embodiment the hardware controller is configured to determine the specific processing module that has failed based on processing the received status of each processing module, the hardware controller further being configured to select one of a plurality of response policies, wherein each response policy corresponds to the number of total processing modules in the cluster tool apparatus and the specific processing module that has failed.


In an embodiment the hardware controller is configured to select one of two type response policies, wherein the first type response policies (Policies 1-4) are used to determine a schedule for a close down process, such that two or three processing modules including the failed one are disabled, while the other processing modules are sequentially linked together in the cluster tool apparatus, and;

    • wherein the second type response policy (Policy 5) is used to determine a schedule such that three processing modules including the failed one are disabled, wherein one of the disabled processing modules is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module, while the processing modules except the disabled processing modules cannot be sequentially linked together because, among them, there exists at least one upstream adjacent processing module of the failed processing module and another one that is in its downstream.


In an embodiment the hardware controller is configured to select one of a first, second, third or fourth response policy is used to determine a schedule for a close down process, such that two or three processing modules including the failed one are disabled and the other processing modules except the disabled ones are linked together in the cluster tool apparatus, or;

    • the controller is configured to implement a fifth response policy which is used to determine a schedule such that three processing modules are disabled, and wherein one of the disabled processing modules is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module, while the processing modules except the disabled processing modules cannot be sequentially linked together.


In an embodiment the controller is configured to determine a schedule that corresponds to a failure close down process by solving a second linear program when a first, second, third or fourth response policy is used wherein the second linear program utilizes at least a specified semiconductor product residency parameter.


In an embodiment the controller is further configured to determine a schedule that corresponds to a failure close down process by solving a third linear program when a fifth response policy is used and wherein the third linear program utilizes at least a specified semiconductor product residency parameter.


In accordance with a second aspect, the present disclosure relates to a method of controlling a cluster tool apparatus to close down the cluster tool apparatus to an idle state, the cluster tool apparatus comprising one or more processing modules, a robot and one or more loadlocks, the cluster tool apparatus configured to process a semiconductor product, the method comprising the steps of:

    • determining a status of each of the one or more processing modules,
    • determining if a close down process is required based on the status of the one or more processing modules or based on a close down signal,
    • determine a schedule for a close down process based on if a close down process is required, wherein the schedule is determined based on a semiconductor product residency parameter,
    • controlling the operation of the robot based on the schedule such that the robot performs the close down process.


In an embodiment the schedule for a close down process outputs the robot waiting time at each step of the close down process that minimizes the close down process time such that the cluster tool apparatus reaches an idle state as quickly as possible, at the same time, the semiconductor residency parameter is not exceeded, and

    • wherein the close down process comprises removing all semiconductor products from each of the one or more processing modules and returning each semiconductor product to the one of the one or more loadlocks, the close down process further comprises stopping each of the one or more processing modules operation.


In an embodiment the method comprises receiving a close down input from the user and receiving a close down signal from the user interface wherein the close down signal corresponds to the close down input,

    • determining the schedule in response to receiving a close down signal, wherein the determined schedule corresponds to a normal close down process,
    • determining a schedule that corresponds to a normal close down process by solving a first linear program, the linear program accounting for a semiconductor product residency parameter, and
    • controlling the robot based on the determined schedule such that the robot performs a normal close down process.


In an embodiment the method comprises the additional steps of:

    • receiving a status of the one or more processing modules, wherein the status comprises a normal status signal or a failed status signal, wherein the failed status signal is generated when any one of the sensors detects a failure in a corresponding one or more of the processing modules,
    • determining the schedule in response to receiving a failed status signal, wherein the determined schedule corresponds to a failure close down process,
    • controlling the robot based on the schedule that corresponds to the failure close down process, such that robot is configured to avoid placing a semiconductor product within any one or more of the processing modules that have experienced a failure and controlling the robot to avoid placing a semiconductor product within a processing module adjacent the failed processing,
    • determining the specific processing module that has failed based on processing the received status of each processing module, the hardware controller further being configured to select one of five response policies, wherein each response policy corresponds to the number of total processing modules in the cluster tool apparatus and the specific processing module that has failed.


In an embodiment the method comprises selecting one of two type response policies, wherein the first type response policy (Policies 1-4) are used to determine a schedule for a close down process, such that two or three processing modules including the failed one are disabled, while the other processing modules are sequentially linked together in the cluster tool apparatus, and;

    • wherein the second response policy is used to determine a schedule such that three processing modules including the failed one are disabled, wherein one of the disabled processing modules is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module, while the processing modules except the disabled processing modules cannot be sequentially linked together because, among them, there exists at least one upstream adjacent processing module of the failed processing module and another one that is in its downstream.


In an embodiment the method comprises determining a schedule that corresponds to a failure close down process by solving a second linear program when a first, second, third or fourth response policy is used wherein the second linear program utilizes at least a specified semiconductor product residency parameter, or

    • the method comprises determining a schedule that corresponds to a failure close down process by solving a third linear program when a fifth response policy is used and wherein the third linear program utilizes at least a specified semiconductor product residency parameter.





BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings in which:



FIG. 1 is a schematic diagram of a single arm cluster tool apparatus that is used in semiconductor product manufacture.



FIG. 2 is a schematic diagram of a dual arm cluster tool apparatus that is used in semiconductor product manufacture.



FIG. 3 is a schematic diagram of a controller utilized as part of a cluster tool apparatus.



FIG. 4 is a table of system parameters that are used to determine a schedule for a close down process, the system parameters relating to time durations associated with transitions and places in a cluster tool apparatus.



FIG. 5A shows an example of a steady state operation of the cluster tool apparatus.



FIG. 5B shows a deadlock situation of a cluster tool apparatus.



FIG. 6 shows a robot task cycle that is completed without deadlock with a backward strategy. The robot repeats the above robot task sequence continuously under the steady state.



FIG. 7 shows an example with wafer flow pattern that illustrates the state evolution during the normal close-down process.



FIG. 8 shows an example of a wafer flow pattern for a failure close down process based on a first response policy.



FIG. 9 shows an example of a second linear program can be applied to a cluster tool with a failed processing module.



FIG. 10 is an example close down process for situation 1 when response policy 5 is implemented



FIG. 11 is an example close down process for situation 2 when response policy 5 is implemented.



FIG. 12 shows an example of a failure close down process of situation 3 when response policy 5 is implemented.



FIG. 13 shows an embodiment of a method 1300 of controlling a cluster tool apparatus to close down a cluster tool apparatus to an idle state.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The foregoing describes only a preferred embodiment of a cluster tool apparatus, a method of controlling a cluster tool apparatus, and modifications, obvious to those skilled in the art, can be made thereto without departing from the scope of the present disclosure.


Cluster tool apparatuses are a type of integrated equipment that implements semiconductor processing technology. In particular a cluster tool apparatus is the integrated equipment that implements single wafer processing technology. In this disclosure the semiconductor product is a wafer and the present disclosure will refer to a wafer. It should be understood that the cluster tool apparatus may be used to process any other suitable semiconductor product.


Cluster tool apparatuses can provide a flexible, reconfigurable, and efficient environment, resulting in higher productivity, shorter cycle times, better utilization of space and lower capital expenses. Therefore cluster tools are increasingly used in a semiconductor processing method, such as a wafer fabrication process.


For some semiconductor product (i.e. wafer) fabrication processes, a strict constraint is imposed on the semiconductor product (i.e. wafer) processing or sojourn time. This parameter is referred to as a semiconductor residency parameter (i.e. a wafer residency parameter). The semiconductor residency parameter (i.e. wafer residency parameter) is a time constraint that is defined for a specific wafer processing method. Such a constraint requires that a wafer (i.e. a semiconductor product) should be removed from a processing module within a pre-specified time after being processed. If the wafer is not removed within this specified time then high temperature and chemical gases in the processing module can damage the processed wafer.


A cluster tool apparatus is required to be closed down, following a close down process, for maintenance purposes. The cluster tool apparatus must be closed down by using a specified close down process that is based on a specified semiconductor residency parameter. Further a cluster tool apparatus may undergo a failure. Specifically one or more processing modules in the cluster tool apparatus can fail due to over use or due to some other fault such as an electrical fault in the processing module. The cluster tool apparatus is required to be closed down to an idle state if there is a processing module failure to reduce further damage to the processing module or reduce the chance of providing a wafer into the damaged processing module.


Some cluster tool apparatuses may utilize a plurality of processing modules for a processing step in a processing cycle of a wafer. Such processing modules are termed as parallel processing modules. If a parallel processing module fails, the cluster tool apparatus can continue to function continuously in a performance degraded. However, after a parallel processing module fails, before the cluster tool apparatus enters a steady state (i.e. a normal operating mode) under the degraded environment the cluster tool apparatus under goes at least a close down process (i.e. a transient process) to disable the damaged processing module. The steady state (i.e. normal operating mode) in a degraded environment is often different when in an undamaged environment.


The present disclosure is directed to a cluster tool apparatus and a method of controlling the cluster tool apparatus to close down the cluster tool apparatus to an idle state, while ensuring the semiconductor (i.e. wafer) residency parameter is met. In this manner the cluster tool apparatus and a method of controlling the cluster tool apparatus to close down the cluster apparatus is advantageous because wafers are not damaged as part of the close down process since the semiconductor product residency parameter (i.e. wafer residency time) is not exceeded. A close down process can be classified into two types: 1) a normal close down process that is triggered due to a planned maintenance or a switch for processing another type of wafer and 2) a failure close down process that is triggered by a failure of a processing module.



FIG. 1 shows an embodiment of a single arm cluster tool apparatus 100. The cluster tool apparatus 100 comprises one or more processing modules 110, a pair of loadlocks 120, 122 and a single arm robot 130. As shown in FIG. 1 the single arm cluster tool 100 comprises five processing modules (PMs) 111, 112, 113, 114 and 115 (111-115). FIG. 1 shows that the processing modules 111-115 are also labelled as PM1, PM2, PM3, PM4 and PM5. The following description will refer to the processing modules with the PM notation or with the reference numerals. Either notation refers to the same component.


The processing modules 111-115 are used in processing the semiconductor product (i.e. wafer). The single arm robot 130 comprises a single robotic arm with a single robotic head. The robotic head comprises an appropriate tool, such as, for example, jaws that allow the robotic head to pick up and/or drop off semiconductor products such as silicon wafers. The single arm cluster tool apparatus 100 further includes a user interface 140 such as a touch screen or a screen with associated buttons.



FIG. 2 shows an embodiment of a dual arm cluster tool apparatus 200. The dual arm cluster tool apparatus 200 comprises one or more processing modules 210, a pair of loadlocks 220, 222 and a dual arm robot 230. As shown in FIG. 2, the dual arm cluster tool 200 comprises five processing modules (PMs) 211, 212, 213, 214 and 215 (211-215). FIG. 2 also illustrates that the processing modules 211-215 can be denoted generally as PM1, PM2, PM3, PM4 and PM5. The processing modules 211-215 are used in processing the semiconductor product (i.e. wafer). The dual arm robot 230 includes two robotic arms and includes two robotic heads that are configured to pick up a semiconductor product (e.g. a wafer) and place the wafer in one of the processing modules 211-215. The dual arm cluster tool apparatus 200 comprises a user interface 240. The user interface 240 may be a touch screen or a screen with a plurality of buttons.


The loadlocks 120, 122 or 220, 222 are used for loading and unloading raw wafers. Raw wafers are loaded or unloaded into a cluster tool in a cassette by a cassette way, and a cassette holds a plurality of wafers. The wafer is transported to an appropriate processing module by the robot 130, 230 for processing, and returned to the loadlock after processing has been completed. Once all the wafers in a cassette have been processed, the cassette is unloaded so that another cassette can be loaded. The order of transporting the wafer to the specific processing modules is dependent on a recipe. At each step the wafer is required to stay within the processing module for a specified time to be processed.


The advantage of using a pair of loadlocks 120, 122 or 220, 222 is advantageous because the cluster tool 100, 200 can operate continuously without interruption. A cluster tool generally operates under a steady state in one of two different regions: a process bound or transport bound regions. In the process bound region or process bound mode the robot task time decides the cycle time of the system. For a process bound mode a backward strategy is an optimal strategy for scheduling the operation of the cluster tool, in particular to control operation of the robot 130, 230.



FIG. 3 shows a schematic of a cluster tool controller 300. The controller 300 is a hardware controller and comprises a plurality of suitable electronic components. The hardware controller 300 comprises suitable analog or digital electronic components or a combination thereof.


The cluster tool 100, 200 comprises a controller that is configured to at least control the robot 130, 230. The controller 300 can be a microcontroller such as, for example, Intel 8051 or a Freescale 68HC11 or ARM Cortex-M or any other suitable microcontroller. The cluster tool 300 may further be configured to control the operation of the processing modules based on a predetermined program or a predefined process. The controller 300 comprises a processor 302 and a memory unit 304. The processor 302 and memory unit 304 are in electronic communication with each other. The processor 302 can be a suitable processor such as a Motorola or Intel processor. The memory unit 304 can be a suitable RAM or ROM memory. The controller 300 further comprises a commercial solver 303. The commercial solver 303 is stored in the memory unit 304 as a set of executable, computer readable instructions. The commercial solver 303, as shown in FIG. 3, represents a software module 303 that is stored in the memory unit 304 and can be executed by the processor to solve a linear program (i.e. an algorithm) to generate an optimal schedule and generate at least the robot waiting times at each processing step in a processing cycle. The commercial solver 303 can be any suitable open source such as, for example, ADMB, LINCOA, and OpenMDAO. Alternatively the commercial solver 303 may a proprietary software such as, for example, AMPL, IOSO, Matlab or NMath.


In a further alternative embodiment the commercial solver 303 may be a hardware module that comprises a suitable processing unit. The commercial solver 303 may be controlled by the processor 302 to solve a linear program to generate a schedule. The commercial solver 303 is configured to solve one or more different types of linear programs that are stored within the memory unit 304.


The hardware controller 300 may further comprise a robot interface 306 that is in electronic communication with the processor 302. The robot interface 306 is also in communication with the robot 130, 230. In particular the robot interface 306 is in communication with a motor or driver of the robot 130, 230. The robot interface may be a wireless communication module that can wirelessly communicate with a suitable interface in the robot 130, 230 to control operation of the robot. The controller 300 further includes one or more processing module interfaces 308. The processing module interface 308 is configured to communicate with the processing modules 111-115, 211-215 and control the operation of the processing modules. The processor 302 is further in electronic communication with a user interface to receive inputs from the user. The processor 302 can also output information for display to the user via the user interface 140, 240.


The memory unit 304 stores a mathematical model (described later) of the cluster tool apparatus. The processor 302 is configured to receive a plurality of system parameters such as time units for various actions of the processing cycle via the user interface 140, 240. The processor 302 is further configured to determine a schedule for performing the processing cycle utilizing the one or more processing modules 111-115, 211-215 and wherein the schedule is determined based on a semiconductor product residency parameter (i.e. a residency time). The processor 302 is configured to determine robot waiting times for processing cycle and uses the robot waiting times to control the robot 130, 230 appropriately. The robot waiting time relates to each processing step of the processing cycle.


The cluster tool apparatus 100, 200 further comprises one or more sensors, wherein each sensor corresponds to or is associated with a processing module of the cluster tool apparatus. Each sensor is preferably located on the processing module and configured to detect a failure in the processing module.



FIG. 3 shows a schematic of the sensors being in electronic communication with the hardware controller 300. In the illustrated embodiment the cluster tool apparatus 100, 200 comprises five sensors 311, 312, 313, 314, 315 (311-315). Each sensor of the five sensors 311-315, is disposed on one of the processing modules 111-115, 211-215. The sensor can be any suitable type of sensor such as, for example, a gas analyzer, an optical sensor, a temperature sensor, a capacitance sensor, a proximity sensor or any other suitable sensor that can be used to determine a failure in the processing module. FIG. 3 shows the hardware controller 300 comprises a sensor interface 310. The sensor interface 310 is in electronic communication with each of the sensors 311-315. The sensor interface 310 comprises suitable electronic components such as a multiplexer and suitable interfacing circuitry. The sensor interface 310 is disposed in electronic communication with the processor 302 to provide sensor readings to the processor 302 for processing. The sensor interface 310 is in electronic communication with the memory unit 304.


Each of the sensors 311-315 detect a status of the processing modules and transmit the status to the processor 302. The status comprises a normal status signal or a failed status signal. The normal status signal is generated by the sensors 311-315 when the processing modules are functioning correctly. A failed status signal is generated by a sensor that detects a failure in one of the processing modules. The processor 302 can receive multiple failed signals if there are multiple processing modules that have experienced failure. The hardware controller 300 is configured to determine a schedule that corresponds to a failure close down process when a failure status signal is received. The processor 302 is configured to process the failure status signal and identify the specific processing modules that have failed based on processing of the failure signal. The sensors 311-315 are configured to transmit a status signal at regular time intervals such as every second or every 10 seconds or any other suitable time interval based on the sampling period of the sensors.


In an alternative embodiment each processing module may include a processing module interface associated with it, and the processor 302 is configured to communicate with and control each processing module via each processing module interface.


It should be noted that the following description is described with reference to a single arm cluster tool apparatus 100. The method of controlling the cluster tool apparatus and the components described herein can be used with the single arm cluster tool apparatus 100 or a dual arm cluster tool apparatus 200. For simplicity the single arm cluster tool 100 will be used as a reference in the following description.


Following is a description of a steady state operation of a cluster tool apparatus, i.e. operation when the cluster tool apparatus is operating to process wafers. The following description of the steady state also assumes that only a single processing module (PM) is used at each processing step. However it should be understood that parallel processing modules i.e. multiple processing modules can be used for a single processing step. The following steady state description is described with respect to a generalized cluster tool apparatus.


Let (PM1, PM2, . . . , PM) denote the wafer flow pattern, where PMi, iεNn={1, 2, . . . , n} with n≧2, represents the number of processing modules (PM) at Step i. A wafer needs to be processed at PM1-PMn sequentially before its completion. The loadlocks 120, 122 can be treated as a processing step denoted by PM0. To schedule a cluster tool is to schedule robot activities that include unloading a wafer from a step, moving from one step to another, loading a wafer into a step, and waiting. Ui and Li are used to denote the robot unloading and loading a wafer from and into PMi, iεΩn={0}∪Nn, respectively. The robot moving from PMi to PMj, with or without carrying a wafer is denoted by mij. When the robot arrives at PMi, iεΩn, for unloading a wafer, the wafer may be not completed yet and the robot has to wait there for the completion of the wafer. Also, to obtain a feasible and optimal schedule, the robot may need to wait there for some time even if the wafer has been already completed. wi is used to denote such a robot waiting.


Processing module (PM) and robot activities take time and should be described. αi is used to denote the wafer processing time at PMi, iεNn. With wafer residency time constraints, after being processed in PMi, a wafer can stay there for at most δi time units. This implies that a wafer can stay in PMi for a time duration [αi, αi, +δi] without being damaged. τiε[αi, αii] is used to denote the wafer residency or sojourn time in PMi. By assumption, there are always raw wafers in the loadlocks and there is no processing requirement in PM0, i.e., α0=0. There is no wafer residency time constraint in PM0 either. μ is used to denote the time for the robot moving from one PM to another with or without carrying a wafer. The time taken for the robot's unloading/loading a wafer from/into a PM is same and denoted by α. When the robot unloads a wafer from the loadlocks, it needs to align the wafer. Thus, α0 with α0>α is used to denote the time for unloading a wafer from PM0. Then, the time taken for wi is denoted by ωi ε[0, ∞) that is to be determined by a schedule. FIG. 4 shows a table that provides an explanation of temporal features that is summarized in table 400. Table 400 provides a generalized description of time durations associated with transitions and places for operation of a cluster tool apparatus.


With the robot activity time being much shorter than the wafer processing time in practice, a cluster tool is process-bound. In this case, to achieve the maximal production rate, the wafers being processed in the system should be as many as possible, leading to that every PM (step) has one wafer being processed under the steady state. Let M denote a state of a cluster tool. M(PMi)=1, iεNn, denotes that a wafer is being processed in PMi, M(R)=1 denotes that the robot arm is busy, and M(R)=0 that it is idle. Then, under the steady state, every PM has one wafer being processed, i.e., M(PMi)=1, iεNn, and M(R)=0. A backward strategy is used to operate a single-arm cluster tool apparatus 100. The backward strategy is well known and is applied by the hardware controller 300 to control the operation of the cluster tool apparatus 100.


An example with wafer flow pattern (PM1, PM2, PM3, PM4) is used to show how a backward strategy works. For this example, under the steady state, M(PMi)=1, iεN4, and M(R)=0 as shown in FIG. 5A. FIG. 5A shows an example of a steady state operation of the cluster tool apparatus 100. As seen in FIG. 56, the robot goes to the loadlocks 120, 122, unloads a wafer there, and moves to PM1 (111), the system is deadlocked. FIG. 56 shows a deadlock situation of a cluster tool apparatus. Similarly, at this state, if the robot goes to PMi, iεN3, and unloads a wafer there, then a deadlock occurs too. The only feasible way is that the robot goes to PM4, unloads a wafer there, and delivers it to the loadlocks such that PM4 is released. Then, the robot performs the activities sequentially: goes to PM3→unloads a wafer there→delivers it to PM4→goes to PM2 and unloads a wafer there→delivers the wafer to PM3→goes to PM1 and unloads a wafer there→delivers the wafer to PM2→goes to the loadlocks and unloads a raw wafer→delivers the wafer to PM1. At this time, M(PMi)=1, iεN4, and M(R)=0. In this way, a robot task cycle is completed with no deadlock as shown from (1)-(11) in FIG. 6. FIG. 6 shows a robot task cycle that is completed without deadlock with a backward strategy. The robot repeats the above robot task sequence continuously under the steady state.


To simplify the description of such a robot task sequence, let Aij=custom-characterwi→Ui→mij→Ljcustom-character. Then, let Aij⊕Adi denote that, after the robot performs Aij, it moves to PMd for performing Adi, i.e., Aij⊕Adi=custom-characterAij→mjd→Adicustom-character. Given i≧d+1, let Ai(i+1custom-characterAd(d+1) denote A(i+1)i⊕A(i−1)⊕ . . . ⊕Ad(d+1). Let Ad(d+1)custom-characterAd(d+1)=Ad(d+1) Given i<d, let Ai(i+1)custom-character Ad(d+1)=Ø. For example, A23custom-characterA12=A23⊕A12 and A45custom-characterA01=A45⊕A34⊕A23⊕A12⊕A01, A23custom-characterA23=A23, while A12custom-characterA23=Ø. Therefore, for a general case with (PM1, PM2, . . . , PMn), by a backward strategy, the robot task sequence in a cycle can be described as σ1=custom-characterm1n→An0custom-characterA(n-1)ncustom-characterA01custom-character≧2, under the steady state.


As described earlier a cluster tool apparatus 100 may require a close down process to be implemented. A cluster tool apparatus may require a close down process for the following two situations: 1) due to a planned maintenance or a switch for processing another type of wafer and 2) due to a failure of a processing module. In situation 1) a normal close down process is implemented and in situation 2) a failure close down process is implemented.


The following is a description of a normal close down scheduling process. If there is only one step (a PM) in a single-arm cluster tool, it is very easy to verify that the robot task sequence σ2=custom-characterU0→m01→L1→w1→U1→m10→L0) can be repeated continuously under the steady state. With n(n→1) PMs in a tool, robot task sequence σ1 is repeated continuously under the steady state. By performing L the robot loads a wafer into PMi. Then, with a backward strategy, robot task sequence σ3=custom-charactermi(i−2)→A(i−2)(i−1)custom-characterA01custom-character is performed to reach state Ms with Ms(PMi)=1, iεNn, Ms(R)=0, and the robot is at PM1. When Ms is reached, the wafer sojourn or residency time in PMi is the time taken by performing σ3. Let τij denote the wafer sojourn time in PMi, iεNn, when state M1 is reached. Therefore τ1s=0 and











τ
i
s

=


2
×

(

i
-
1

)

×
μ

+


(


2
×
i

-
3

)

×
α

+

α
0

+




j
=
0


i
-
2








ϖ
j




,





i



N
n


\


{
1
}







(
3.1
)







If there is only one PM in a tool, the best way to close down the tool is to perform robot task sequence (w1→U1→m10→L0). If there is more than one PM, the controller 300 is configured to use a backward strategy. Let MsCj, j≧1, represent a state that is reached during the close-down process from Ms to the final idle state such that PMj is emptied and a wafer is just loaded into PMj−1. Then, to transfer Ms to MsC1, robot task sequence custom-characterm1n→An0custom-characterA(n-1)ncustom-characterA12custom-character is performed. To transfer MsCi to MsCi+1, 1≦i≦n−2, custom-characterm(i+1)n→An0custom-characterA(n-1)ncustom-characterA(i+1)(i+2)custom-character is performed. When MsCn-1 is reached, there is a wafer in PMn only and the robot is at PMn. Thus, to transfer MsCn-1 to the final idle state, An0 is performed. In this way, the tool is finally emptied.



FIG. 7 shows an example with wafer flow pattern (PM1, PM2, PM3, PM4) that shows the state evolution during the normal close-down process. By doing so, the robot task sequence for the close-down process is determined. With this robot task sequence, it is desired that the process can be completed as soon as possible and, at the same time, the wafer residency time constraints are satisfied. Thus, to schedule the normal close-down process the robot waiting time is set, such that the process ends as soon as possible and the wafer residency time constraints are satisfied.


The schedule that is determined provides at least the robot waiting time and such that a semiconductor residency parameter (i.e. a wafer residency parameter) is met. The user interface 140 is configured to receive a close down input from a user, and the hardware controller 300 is configured to receive a close down signal from the user interface 140. The close down signal corresponds to the close down input. The hardware controller 300 is further configured to determine the schedule in response to receiving a close down signal, and wherein the determined schedule corresponds to a normal close down process. The hardware controller 300 is configured to control at least the robot 130 based on the determined schedule such that the robot 130 performs the normal close down process as shown in FIG. 7. The schedule that corresponds to the normal close down process is determined by solving a first linear program. The linear program accounts for a semiconductor product residency parameter. The first linear program can be solved by the commercial solver 306, in the hardware controller 300 to determine a schedule that corresponds with a normal close down process.


For a single arm cluster tool apparatus 100, with the backward strategy, an optimal and feasible schedule for a normal close down process from Ms to the final idle state can be obtained by the first linear programing model. Below is the first linear program (LP1):





Min y0n  (3.2)


Subject to:






x
n
1=ωn1+α,n=1  (3.3)






x
n
1=μ+ωn1+α,n>1  (3.4)






x
n
d
=y
d
d−1+μ+ωnd+α,2≦d≦n−1  (3.5)






x
n
n
=y
n
n-1+ωnn+α,n>1  (3.6)






x
n-1
d
=y
0
d+μ+ωn-1d+α,1≦d≦n−1  (3.7)






x
i
d
=y
i+2
d+μ+ω1d++α,1≦d≦i≦n−2  (3.8)






y
0
d
=x
n
d+μα,1≦d≦n  (3.9)






y
i
d
=x
i−1
d+μ+α,1≦d<i≦n  (3.10)





αi≦τis+xi1−α≦αii,1≦i≦n  (3.11)





αi≦xid−yid−1−α≦αii,2≦d≦i≦n  (3.12)


In LP1, xid and yid, iεΩn, denote the time for the d-th completion of robot tasks Ui and Li respectively, ω1d denotes the time taken for the robot to perform the d-th wi during for optimizing the close-down process, and n denotes the number of PMs in a cluster tool. Objective (3.2) minimizes the makespan of the close-down process. Constraints (3.3) (3.8) represent the time to perform the robot task of unloading a wafer from a PM. Constraints (3.9) and (3.10) give the time to perform the robot task of loading a wafer into a PM. Constraints (3.11) and (3.12) guarantee that wafer residency time constraints are satisfied.


Note that, if there is only one processing module (PM) in the cluster tool apparatus 100, i.e., n=1, Expressions (3.3), (3.9), and (3.11) are applied. Thus, by solving the first linear program (LP1) ωn11 is obtained. Based on the above analysis, when a cluster tool has only one PM, the best way to close down the tool is to perform robot task sequence custom-characterw1→U1→m10→L0custom-character. Therefore, with the known robot task sequence and the robot waiting time obtained by LP1, an optimal and feasible schedule for the normal close-down process is found. Similarly, when n>1, with the given robot task sequence and the robot waiting time obtained by LP1, an optimal and feasible schedule for the close-down process is obtained. Under the steady state, a cluster tool with wafer residency time constraints should be operated under a feasible periodic schedule.


When a tool has only one PM, with ωn11 obtained by LP1, an optimal and feasible schedule is obtained. From state Ms, assume that the system is operated according to the given feasible periodic schedule for the steady state, however, every time when the robot needs to unload a wafer from the loadlocks, it unloads a virtual wafer. Then, one wafer is completed and returned to the loadlocks in each robot cycle. In this way, after n robot cycles, all the real wafers are returned to the loadlocks and the tool is full of virtual wafers. This implies that the close-down process is completed. During the i-th robot cycle, i≦n−1, the robot task sequence performed is σ1. Further, during this cycle, after custom-character(m1n→An0⊕+A(n-1)ncustom-characterAi(i+1)custom-character is performed, a real wafer in PMi is delivered to PMi+1. At this time, there is a virtual wafer in PMi, i.e., PMi is idle, 1≦j≦i−1. Then, in this cycle, the robot executes task sequence σ4=custom-characterm(i+1)(i−1)→A(i−1)icustom-characterA01custom-character. Note that, in performing σ4, every PM visited by the robot is idle, which implies that the robot does not need to visit these PMs. Thus, the time taken by performing σ4 can be treated as the robot waiting time at PMn in the (i+1)-th cycle. The robot waiting time at PMn in the (i+1)-th cycle is the one determined by the periodic schedule for the steady state plus the time taken by performing σ4. In this way, the robot task sequence for the i-th robot cycle becomes custom-charactermin→An0⊕A(n-1)ncustom-characterAi(i+1)custom-character, 1≦n−1, with the robot waiting time in custom-characterA(n-1)ncustom-characterAi(i+1)custom-character being set by the steady state schedule.


Since the periodic schedule is feasible, during the i-th robot cycle, the residency time constraints must be met. After the (n−1)-th robot cycle is performed, the robot is at PMn after it loads a wafer into PMn. At this time, in the tool, there is a wafer in PMn only. Thus, the robot needs just to wait at PMn till the wafer is completed. Then, it performs task sequence custom-characterUn→mn0→L0custom-character to return the wafer in PMn to the loadlocks. In other words, after the (n−1)-th robot cycle, the robot performs An0 with ωn1 such that the wafer in PMn is returned to the loadlocks without violating the residency time constraints. In this way, a feasible close-down schedule is obtained. Notice that the robot task sequence for the first robot cycle is same as the one from Ms to MsC1, the robot task sequence for the i-th robot cycle is same as the one from MsCi−1 to MsCi, 1<i≦n−1. Then, when the robot enters the n-th robot cycle or state MsCn-1 is reached, the robot performs An0 such that the close-down process ends. This implies that the obtained feasible schedule is in the feasible region of the first linear program (LP1).


When a single-arm cluster tool needs to stop, there is a close-down process from the steady state to the idle state. Since a backward strategy is applied to operate the tool, the robot task sequence of the close-down process is determined. Thus, the robot waiting time is set for the close-down process as defined by an optimal schedule. LP1 is developed to obtain an optimal and feasible schedule for the normal close down process.


The following is a description of a failure close down process and how to determine a schedule that corresponds to a failure close down process.


When PMj, jεNn, fails, the robot has to stop loading raw wafers into the system and a close-down process is initiated. When a PM fails, there is a wafer being processed in it as implied by the steady state operations. Thus, the wafer in the failed PM should be returned to the loadlocks since it most likely suffers from a quality problem. Meanwhile, the degraded tool should keep processing the wafers in PMi, iεNn\Nj, till their n-th operation is completed. For the wafers in PMi, iεNj−1, after the operations at PM1−PMj−1 are all completed, they should be returned to the loadlocks directly without processing at PMi, iεNn\Nj−1 to avoid loading wafers into the failed PM. When the tool is emptied, the system stops. Now, our goal is to schedule the close-down process after PM1, jεNn, fails. Let G(t) denote the G(t)-th performing of the robot task t after a failure.


As described earlier the cluster tool apparatus comprises a plurality of sensors, wherein each sensor is associated with or connected to one of the processing modules. Each sensor is configured to detect a status of the corresponding processing module. Each sensor transmits the status of the processing module at regular times to the hardware controller 300. The status comprises a normal status or a failed status signal, wherein the failed status signal is generated when one of the sensors detects a failure in a corresponding processing module. The hardware controller 300 is configured to determine an optimal and feasible schedule in response to receiving a failed status signal and wherein the determined schedule corresponds to a failure close down process. The controller 300 is configured to control the robot based on the determined schedule that relates to a failure close down process. The hardware controller 300 is configured to implement one of two type response policies. In an embodiment the hardware controller 300 is configured to implement five response policies based on the number of processing modules in the cluster tool apparatus and the specific processing module that has failed.


In an embodiment the hardware controller is configured to implement one of a first, second, third or fourth response policy is used to determine a schedule for a close down process, such that two or three processing modules including the failed one are disabled, while the other processing modules are sequentially linked together in the cluster tool apparatus. Alternatively the hardware controller 300 is configured to implement a fifth response policy which is used to determine a schedule such that three processing modules including the failed one are disabled, wherein one of the disabled processing modules is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module, while the processing modules except the disabled processing modules cannot be sequentially linked together.


Case 1: PH1 Failure.

The following is a description of the response policies and associated linear programs that can be implemented by the hardware controller 300.


Response policy 1 (RP1) is used if a first processing module PM1 is detected as failing. After the failure of PM1, when the robot unloads a wafer from PM1 with G(x1)=1, robot task sequence custom-characterm10→L0custom-character is followed such that state M1 is reached with M1(PM1)=M1(PM2)=0, M1(PMi)=1, iεNn\{1, 2}, and M1(R)=0.


PM1 failure can cause a quality problem to the wafer in it. After the failure, when the robot unloads a wafer from PM1 with G(x1)=1, if the system still operates according to the steady state schedule, robot task sequence custom-characterm12→L2custom-character is followed, resulting in a wafer with a quality problem being loaded into the PM2. However, if the system responds to the failure by RP1 such that M1 is reached, such an undesired operation is avoided. In this case, if there are only two processing steps, i.e., only PM1 and PM2 are used, results in M1(PM1)=M1(PM2)=M1(R)=0. This implies that the tool is emptied and the close-down process ends. With more than two PMs in a cluster tool, before M1 is reached, Li, iεNn\{1, 2}, is performed such that a wafer is loaded into PMj. Then, with the backward strategy, if i>3, robot task sequence custom-charactermi(i−2)→A(i−2)(i−1)custom-characterA23→m31→w1→U1custom-character is executed, while if i=3, robot task sequence (m31→w1→U1) is executed. At this time, assume G(x1)=1. By RP1, robot task sequence (m10→L0) is then performed such that M1 is reached and the robot is at the loadlocks. Thus, the wafer sojourn time is defined by:











τ
i
1

=


2
×

(

i
-
2

)

×
μ

+

2
×

(

i
-
2

)

×
α

+




j
=
1


i
-
2








ϖ
j




,





3

i

n





(
3.13
)







Then, the backward strategy is continued to operate the tool. Thus, if there are three PMs in the tool, at M1, there is a wafer in PM3 only. Then, by performing custom-characterm03→A30custom-character, the close-down process of the tool ends. If there are more than three PMs in the tool, let M1Cj, j≧1, represent a state that is reached during the close-down process from M1 to the final idle state such that PMj+2 is emptied and a wafer is just loaded into PMj+3. Then, to transfer M1 to M1C1, robot task sequence custom-charactermon→An0⊕A(n-1)ncustom-characterA34custom-character is performed. To transfer M1Ci to M1Ci+1, 1≦i<n−3, <m(i+3)n→An0custom-characterA(n-1)ncustom-characterA(i+3)(i+4)> is performed. When M1Cn-3 is reached, there is a wafer in PMn only and the robot is at PMn. Thus, to transfer M1Cn-3 to the idle state, An0 is performed. In FIG. 8, an example with wafer flow pattern (PM1, PM2, PM3, PM4) is given to show the state evolution during the close-down process by using response policy 1. As can be seen from the process flow the first processing module (i.e. the damaged processing module) and the adjacent processing module are avoided from being used. FIG. 8 shows an example of a wafer flow pattern for a failure close down process based on a first response policy RP1.


Note that the close-down process with a processing module (PM) failure considered is similar to the one without PM failure. Thus, in this case, LP1 can be used with a minor revision to optimize the close-down process from M1 to the idle state. At M1, there is a wafer in PMi, iεNn\{1, 2}, while both PM1 and PM2 are emptied. Then, with the two emptied PMs being removed from the cluster tool apparatus i.e. being disabled, the other processing modules are still linked together in the cluster tool apparatus. Thus, it results in a “reduced” cluster tool called CT-RI with a state at which the robot is at the loadlocks, and there are n−2 processing modules (PMs) and there is a wafer in each of the PMs. In CT-RI, PMi−2 is used to denote PMi, 3≦i≦n, and the state of CT-RI at this time is denoted as M2 that is similar to Ms. The difference is that, at M2, the robot is at the loadlocks but not at PM1. Let τi−22 in CT-RI represent τi1, 3≦i≦n. When there is only one processing module (PM1) in CT-RI at M2, the robot needs to move to the PM from the loadlocks, wait there, and unload a wafer from it. Then, by performing custom-characterm10→L0custom-character, the close-down process ends. This implies that Constraint (3.3) does not hold for this situation and Constraints (3.3) and (3.4) are replaced by






x
n
1=μ+ωn1+α  (3.14)


Therefore a linear program can be used to determine an optimal schedule for the above case. For CT-RI, an optimal and feasible schedule for the failure close down process from state M2 to the end can be found by the following linear programing model i.e. linear program 2 (LP2).





min y0n

    • Subject to: Constraints (3.5)-(3.10), (3.12), (3.14), and





αi≦τi2+xi1−α≦αii,1≦i≦n  (3.15)


In LP2, n denotes the number of PMs in CT-RI and Constraint (3.15) guarantees that wafer residency time constraints are satisfied. Note that CT-RI is a reduced tool.


It is assumed that before a PM failure, if a single-arm cluster tool with residency time constraints is operated under a feasible periodic schedule in the steady state, then an optimal and feasible close-down schedule can be obtained for CT-RI by LP2 for this case. The obtained optimal and feasible schedule for the close-down process from M2 to the end for CT-RI can be converted into a schedule for the close-down process from M1 to the end for the original cluster tool.


This is illustrated by the example shown in FIG. 9. FIG. 9 shows an example of a second linear program can be applied to a cluster tool with a failed processing module. For Cluster Tool 1 in FIG. 9, there are three processing modules (PMs) with a wafer in each of them. At this time, the robot is at PM1 after loading a wafer into it. Thus, at this time, Cluster Tool 1 is at Ms. Then, by linear program LP1, an optimal and feasible schedule for the close-down process from Ms to the end can be obtained for Cluster Tool 1. For Cluster Tool 2 with five PMs, PM1 fails at some time. Then, by response policy 1 (RP1), the cluster tool apparatus reaches state M1 with M1(PM1)=M1(PM2)=0 and M1(PM3)=M1(PM4)=M1(PM5)=1. At this time, the robot is at the loadlocks. Notice that, at this time, PM1 and PM2 are both emptied and there is wafer in PM3-PM4 such that PM3-PM4 form a reduced CT-RI denoted by Cluster Tool 3 in the figure that is at state M2. For Cluster Tool 3, let PMi−2 and τi−22, 3≦i≦5, represent PMi and τi1 for Cluster Tool 2, respectively. Then, an optimal and feasible close-down schedule for Cluster Tool 3 is obtained, which can be converted into the one for Cluster Tool 2. Notice that the state of Cluster Tool 3 is very similar to state Ms of Cluster Tool 1. The only difference is that the robot in Cluster Tool 3 is at the loadlocks. Then, LP2 obtained based on LP1 can be used to find an optimal and feasible close-down schedule for Cluster Tool 3 and the obtained schedule can be converted into the one for Cluster Tool 2.


Case 2: PM2 Failure.

A response policy for PM2 failure is different from the one for PM1 failure. Response policy 2 (RP2) is proposed for when PM2 fails. After PM2 fails, when the robot unloads a wafer from PM2 with G(x2)=1, robot task sequence custom-characterm20→L0→m01→A10custom-character is followed with the robot waiting time ω1 being same as the one in the optimal periodic schedule.


In this case, after PM2 fails, the system responds by RP2 such that it reaches state M3 at which if there are two PMs in the system, M3(PM1)=M3(PM2)=M3(R)=0; if there are three PMs used in the system, the following definition is true M3(PM1)=M3(PM2)=M3(PM3)=M3(R)=0. If there are more than three PMs in the system, then M3(PM1)=M3(PM2)=M3(PM3)=0, M3(PMi)=1, iεNn\{1, 2, 3}, and M3(R)=0. In this way, the controller 300 is configured to control the robot such that the robot avoids loading a wafer into a failed PM. For a single-arm cluster tool with wafer flow pattern (PM1, PM2) or (PM1, PM2, PM3), after PM2 fails, by RP2, the system can reach state M3. At this time, the tool is idle. Therefore, the close-down process ends. If there are more than three PMs in the tool, when M3 is reached, the close-down process from M3 to the end is similar to the one in Case 1. Thus, similar to Case 1, an optimal and feasible close-down schedule can be found for this case.


The response policies for PMn failure with n≧3 (case 3) and PMn-1 failure with n≧4 (case 4) are different from those in cases described above, i.e. response policy 1 and response policy 2.


Case 3: PMn Failure with n≧3


A third response policy can be implemented by the hardware controller 300 if PMn failure with n≧3. After PMn fails, after the robot unloads a wafer from PMn with G(xn)=1, robot task sequence custom-charactermn0→L0→m0(n−1)→A(n-1)0⊕A(n−2)(n−1)custom-characterA12custom-character is followed with the robot waiting time ωi, iεNn-1, being same as the one in the optimal periodic schedule. In this case, after PMn fails, by response policy 3 (RP3), the system can reach state M4 with M4(PM1)=M4(PMi)=0, M4(PMi)=1, iεNn-1\{1}, and M4(R)=0. In this way, the hardware controller 300 is configured to control the robot to avoid loading a wafer into the failed PM (PMn).


Case 4: Failure with n≧4


A fourth response policy can be implemented by the hardware controller 300 if PM—1 failure with n≧4. After PMn-1 fails, after the robot unloads a wafer from PMn-1 with G(xn-1)=1, robot task sequence custom-characterm(n-1)0→L0→M0(n−2)→A(n-2)0⊕A(n−3)(n−2)custom-characterA12custom-character is followed with the robot waiting time ωi, iεNn-2, being same as the one in the optimal periodic schedule. In this case, after PMn-1 fails, by response policy 4 (RP4), the system reaches state M5 with M5(PM1)=M5(PMn-1)=M5(PMn)=0, M5(PMi)=1, 1εNn-2\{1}, and M5(R)=0.


In this way, the controller 300 is configured to control the robot to avoid loading a wafer into the failed PM (PMn-1). For Case 3, when M4 is reached, the close-down process from M4 to the end is also similar to the one in Case 1. Thus, by doing so just as for Case 1, an optimal and feasible close-down schedule can be found for Case 3. Similarly, an optimal and feasible close-down schedule can be found for Case 4.


Case 5: PMj, jεNn-2\{1, 2}, failure with n≧5.


If the situation as defined by PMj, jεNn-2\{1, 2}, failure with n≧5 exists, then response policy 5 (RP5) is proposed to be used to determine a schedule. Response policies 1 to 4 are unsuitable for case 5. After PMj, jεNn-2\{1, 2}, fails, after the robot unloads a wafer from PMn-1 with G(xn-1)=1, robot task sequence custom-charactermj0→L0→M0(j−1)→A(j−1)0→A(j−1)0⊕A(j−2)(j−1)custom-characterA12custom-character is followed with the robot waiting time ωi, iεNj−1, being same as the one in the optimal periodic schedule.


In this case, after the system responds to the PM failure by RP5, it reaches state M6 with M6(PM1)=M6(PMj)=M6(PMj+1)=0, M6(PMi)=1, iεNn\{1, j, j+1}, and M6(R)=0. At this state, the robot is at PM2. By RP5, the hardware controller 300 is configured to control the robot to avoid loading a wafer into the failed PM in this case. Before M6 is reached, a wafer is loaded into PMi, iεNn\Nj+1, by performing yi. Then, if i>j+2, robot task sequence custom-charactermi(i−2)→A(i−2)(i−1)custom-characterA(j+1)(j+2)→m(j+2)j→wj→Ujcustom-character is performed, while if i=j+2, robot task sequence custom-characterm(j−2)j→wj→Ujcustom-character is performed. At this time G(xj)=1. Then, by RP5, robot task sequence custom-charactermj0→L0→m0(j−1)→A(j−1)0⊕A(j−2)(j−1)custom-characterA12custom-character is performed such that M6 is reached. Therefore, before M6 is reached, when G(x1)=1 is performed, a wafer has been already loaded into PM iεNn\Nj+1. However, a wafer is loaded into PMi, iεNj−1\{1}, only after G(xj)=1 is performed. Then, by RP5, if 2<i<j, robot task sequence custom-charactermi(i−2)→A(i−2)(i−1)custom-characterA12custom-character is performed such that M6 is reached. If i=2, after Li is performed, the system reaches state M6. At this time, the robot is at PM2. Therefore, based on the above analysis, τ26=0 and











τ
i
6

=


2
×

(

i
-
2

)

×
μ

+

2
×

(

i
-
2

)

×
α

+




j
=
1


i
-
2








ϖ
j




,





i



N
n


\


{

1
,
2
,
j
,

j
+
1


}







(
3.16
)







After M6 is reached, the backward strategy is still applied to operate the degraded tool. Therefore, there exists a “reduced” cluster tool called CT-RII with n−3 PMs, n≧5, i.e., it is formed by PM1-PMn-3. In this situation there are three (3) processing modules that are disabled or 3 processing modules that cannot be used. Among the three disabled processing modules, one of them is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module.


Assumed that CT-RII is at state M7 with M7(PMi)=1, iεNn-3, M7(R)=0, and the robot is at PM1. At M7, the wafer sojourn or residency time in PMi, IεNn-3, is τi7. Then, with the backward strategy, in the following state evolution, it is required that when the wafers in PMi, iεNj−2, complete all operations at PM1-PMj−2, they should be returned to the loadlocks, while when the wafers in PMi, iεNn-3\Nj−2, complete all the operations at PMj−1-PMn-3, they should be returned to the loadlocks. Let PMj, iεNj−2, and PMi, iεNn-3\Nj−2, in CT-RII represent PMi+1 and PMi−3 in the original tool, respectively. Further, let τi7i+16, iεNj−2, and τi7i+36, iεNn-3\Nj−2. Then, state M7 of CT-RII is equivalent to M6 for the original tool. Therefore, an optimal and feasible schedule for the close-down process from M7 to the end for CT-RII can be converted into the one for the close-down process from M6 to the end for the original cluster tool. For CT-RII let g=n−3 and f=j−2. Then, there are three situations that exist.


Situation 1:


g−f>f≧1. In this situation, let M7Cj, 1≦j≦f, represent a state that is reached during the close-down process from M7 to M7Cf such that PMj and PMf+j are emptied. If f=1, to transfer M7 to M7Cf, robot task sequence custom-characterm1g→Ag0⊕A(g-1)g⊕A(f+1)(f+2)→m(f+2)f→Af0custom-character is performed. If f=2, to transfer M7 to M7C1, custom-characterm1g→Ag0⊕A(g-1)g⊕A(f+1)(f+2)⊕A(f−1)fcustom-character is performed; to transfer M7C1 to M7Cf, custom-characterm2g→Ag0⊕A(g-1)gcustom-characterA(f+2)(f+3)⊕Af0custom-character is performed. If f≧3, to transfer M7 to M7C1, custom-characterm1g→Ag0 custom-characterA(g-1)g custom-characterA(f+1)(f+2)⊕Af0⊕A(f−1)fcustom-characterA12custom-character is performed; to transfer M7C1, to M7Cf−1, custom-charactermfg→Ag0→A(g-1)g custom-characterA(f+i+1)(f+i+2⊕Af0⊕A(f−1)f⊕A(i+1)(i+2)custom-character is performed; to transfer M7Cf−1 to M7Cf, custom-charactermfg→Ag0⊕A(g-1)gcustom-characterA(2f)(2f+1)⊕Af0custom-character is performed.


Notice that, at M7Cf, M7Cf(PMi)=0, iεN2f, M7Cf(PMi)=1, iεNg\N2f, M7Cf(R)=0, and the robot is at the loadlocks. Then, if g−2f=1, it implies that there is only one wafer in the system at M7Cf, i.e., there is a wafer in PMg only. Thus, by performing custom-characterm0g→Ag0custom-character, the close-down process of the tool ends. If g−2f>1, let M7Cf+i, j≧1, represent a state that is reached during the close-down process from M7Cf to the final idle state such that PM2f+j, is emptied and a wafer is just loaded into PM2f+j+1. Then, to transfer M7Cf to M7Cf+1, robot task sequence custom-characterm0g→Ag0⊕A(g-1)gcustom-characterA(2f+1)(2f+2)custom-character is performed, to transfer M7Cf+i to M7Cf+i+1, 1≦i≦g−2f−2, custom-characterm(i+2f+1)g→Ag0⊕A(g-1)gcustom-characterA(i+2f+1)(i+2f+2)custom-character is performed. When M7Cf+i=g−(2f+1) and i≧1, is reached, there is a wafer in PMg only. At the same time, the robot is at PMg since the robot just loads a wafer into it. Then, Ag0 is performed such that the close-down process ends.



FIG. 10 is an example with wafer flow pattern (PM1, PM2, PM3, PM4) to show the state evolution during the close-down process of CT-RII for Situation 1 when response policy 5 is used. FIG. 10 is an example close down process for situation 1 when response policy 5 is implemented. In this example, let g=4 and f=1. From M7 to M7C1, both of wafers in PM4 and PM1 are delivered to the loadlocks, the wafer in PM3 is delivered to PM4, and the one in PM2 is delivered to PM3. From M7C1 to M7C2, the wafer in PM4 is delivered to the loadlocks and the one in PM3 is delivered to PM4. Then, with the wafer in PM4 being delivered to the loadlocks, the idle state of CT-RII is reached from M7C2.


Situation 2:


f>g−f≧1. In this situation, let M7Cj, 1≦j≦g−f, represent a state that is reached during the close-down process from M7 to M7Cg-f such that PMj and PMf+j are emptied. If g−f=1, to transfer M7 to M7Cg-f, robot task sequence custom-characterm1g→Ag0⊕Af0⊕A(f−1)fcustom-characterA12custom-character is performed. If g−f=2, to transfer M7 to M7C1, custom-characterm1g→Ag0⊕A(g-1)g⊕Af0⊕A(f−1)fcustom-characterA12custom-character is performed; to transfer M7C1 to M7Cg-f, custom-characterm2g→Ag0⊕Af0 ⊕A(f−1)fcustom-characterA23custom-character is performed.


If g−f≧3, to transfer M7 to M7C1, custom-characterm1g→Ag0⊕A(g-1)g custom-characterA(f+1)(f+2)⊕Af0⊕A(f−1)f custom-characterA12custom-character is performed; to transfer M7Ci to M7Ci+1, 1≦i≦g−f−2, custom-characterm(i+1)g→Ag0⊕A(g-1)gcustom-characterA(f+i+1)(f+i+2)⊕Af0⊕A(f−1)fcustom-characterA(i+1)(i+2)custom-character is performed; to transfer M7Cg-f-1 to M6Cg-f, custom-characterm(g-f)g→Ag0⊕Af0⊕A(f−1)f custom-characterA(g-f)(g-f+1)custom-character is performed.


At M7Cg-f, M7Cg-f(PMi)=0, iεNg\Nf, M7Cg-f(PMi)=0, iεNg-f, M7Cg-f(PMi)=1, iεNn\Ng-f, M7Cg-f(R)=0, and the robot is at PMg-f+1. Then, if 2f−g=1, it implies that, at M7Cg-f, there is a wafer in PMf only. Thus, by performing Af0, the close-down process of the tool ends. If 2f−g>1, let M7Cg-f+j, j≧1, represent a state that is reached during the close-down process from M7Cg-f to the final idle state such that PMg-f+j, is emptied and a wafer is just loaded into PMg-f+j+1. Then, to transfer M7Cg-f to M7Cg-f+i, robot task sequence custom-characterm(g-f+1)f→Af0⊕A(f−1)fcustom-characterA(g-f+1)(g-f+2)custom-character is performed, to transfer M7Cg-f+i to M7Cg-g+i+1, 1≦i≦2f−g−2, custom-characterm(i+g+f+1)f→Af0⊕A(f−1)fcustom-characterA(i+g-f+1)(i+g-f+2)custom-character is performed. When M7Cg-f+i, i=2f−g−1 and i≧1, is reached, there is a wafer in PMf only and the robot is at PMf since the robot just loads a wafer into it. Then, Af0 is performed such that the close-down process ends.



FIG. 11 shows an example to show the state evolution during the close down process of CT-RII for situation 2. FIG. 11 is an example close down process for situation 2 when response policy 5 is used. Assume that the wafer flow pattern is (PM1, PM2, PM3, PM4). Let g=4 and f=3. From M7 to M7C1, both of wafers in PM4 and PM3 are delivered to the loadlocks, the wafer in PM2 is delivered to PM3, and the one in PM1 is delivered to PM2. From M7C1 to M7C2, the wafer in PM3 is delivered to the loadlocks and the one in PM2 is delivered to PM3. Then, the idle state of CT-RII is reached from M7C2 by delivering the wafer in PM3 to the loadlocks.


Situation 3:


g−f=f≧1. Similar to Situations 1 and 2, let M7Cj, 1≦j≦f=g−f, represent a state that is reached during the close-down process from M7 to M7Cf (M7Cg-f) such that PMj and PMf+j are emptied. If g−f=f=1, to transfer M7 to M7C1, robot task sequence custom-characterm12→A20⊕A10custom-character is performed. At this time, the system is idle. Therefore, the close-down process ends. If g−f=f=2, to transfer M7 to M7C1, custom-characterm14→A40⊕A34⊕A20⊕A12custom-character is performed; to transfer M7C1 to M7C2, custom-characterm24→A40⊕A20custom-character is performed. At this time, the system is idle. Therefore, the close-down process ends. If g−f=f≧3, to transfer M7 to M7C1, custom-characterm1g→Ag0⊕A(g-1)gcustom-characterA(f+1)(f+2)⊕Af0⊕A(f−1)fcustom-characterA12custom-character is performed; to transfer M7Ci to M7Ci+1, 1≦i≦f−2, custom-characterm(i−1)g→Ag0⊕A(g-1)gcustom-characterA(f+i+1)(f+i+2)⊕Af0⊕A(f−1)fcustom-characterA(i+1)(i+2)custom-character is performed; to transfer M7Cf−1 to M7Cf, custom-charactermfg→Ag0⊕Af0custom-character is performed. At this time, the system is idle. Therefore, the close-down process ends.



FIG. 12 shows an example of a failure close down process of situation 3 in case 5. In FIG. 12 assume that the wafer flow pattern of CT-RII is (PM1, PM2, PM3, PM4). Let g=4 and f=2 such that g−f=f. Then, for Situation 3 in Case 5, the state evolution during the close-down process is shown in FIG. 12. From M7 to M7C1, both of wafers in PM4 and PM2 are delivered to the loadlocks, the wafer in PM3 is delivered to PM4, and the one in PM1 is delivered to PM2. From M7C1 to M7C2, both of wafers in PM4 and PM2 are delivered to the loadlocks such that CT-RII is emptied.


The following third linear program (i.e. Linear program 3) is used to determine an optimal and feasible schedule for a failure close down process when a fifth response policy is used. The third linear program is used when at least three processing modules are disabled. Below is the linear program and an explanation thereof.










Minimize





J

=

{





y
g

g
-
f


,






if





g

-
f


f







y

f_

0

f

,



otherwise








(
3.17
)







Subject to:






x
g
1=μ+ωg1+α  (3.18)






x
g
d
=y
d
d−1+μ+ωgd+α,2≦d≦min{g−f,f}  (3.19)






x
g-1
d
=y
0
d+μ+ωg-1d+α,1≦d≦min{g−1−f,f}  (3.20)






x
i
d
=y
i+2
d+μ+ω1d+α,f+1≦i≦g-2,1≦d≦min{i−f,f}  (3.21)






y
0
d
=x
g
d+μ+α,1≦d≦min{g−f,f}(3.22)






y
i
d
=x
i−1
d
+μ+α,f+2≦i≦g,1≦d≦min{i−1-f,f}  (3.23)






x
f
d
=y
f−1+d
dωfd+α,1≦d≦min{g−f−1,f}  (3.24)






x
f
d
=y
0
d+μ+ωfd+α,d=g−f,min{g−f,f}=g−f  (3.25)






x
f−1
=y
f
_
0
d+μ+ωf−1d+α,1≦f−1,1≦d≦min{g−f,f−1}  (3.26)






x
i
d
=y
i+2
d+μ+ω
1
d+α,1≦i≦f−2,1≦d≦min{g−f,i}  (3.27)






y
f
_
0
d
=x
f
d+μ+α,1≦d≦min{g−f,f}  (3.28))






y
i
d
=x
i−1
d+μ+α,2≦i≦f,1≦d≦min{g−f,i−1}  (3.29)





αi≦τi6+xi1−α≦αii,1≦i≦g  (3.30)





αi<xid−yid−1−α≦αii,2≦i≦f,2≦d≦min{g−f,f},d≦i  (3.31)





αi←xid−yid−1−α≦αii,+f+2i≦g,2d≦min{g−f,f}d≦i−f  (3.32)


Then, if g−f>f, then:






x
g
f+1
=f
f
_
0
f+μ+ωgf+1+α  (3.33)






x
g
d
=y
d+f
d−1+μ+ωgd+α,f+2≦d≦g−f−1  (3.34)






x
g
g-f
=y
g
g-f-1+ωgg-f+α,g−2f>1  (3.35)






x
g-1
d
=y
0
d+μ+ωg-1d+α,f+1≦d≦g−f−1  (3.36)






x
i
d
y
i+2
d+μ+ω1d+α,f+1≦d≦i−f,2f+1≦i≦g−2  (3.37)






y
0
d
=x
g
d
+μ+α,f+1≦d≦g−f  (3.38)






y
i
d
=x
i−d
d
+μ+α,f+1≦d<i−f,2f+f≦i≦g  (3.39)





αi≦xid−yid−1α≦αii,f+1≦d≦i−f,2f+1≦i≦g  (3.40)


if, f>g−f, then:






x
f
f
=y
f
f−1+ωff+α  (3.41)






x
f
d
=y
d
d−1+μ+ωfd+α,g−f+1≦d≦f−1  (3.42)






x
f−1
d
=y
f
_
0
d+μ+ωf−1d+α,g−f+1≦d≦f−1  (3.43)






x
i
d
=y
i+2
d+μ+ω1d+α,g−f+1≦d≦i≦f−2  (3.44)






y
f
_
0
d
=x
f
d
+μ+α,g−f+1≦d≦f  (3.45)






y
i
d
=x
i−1
d
+μ+α,g−f+1≦d<i≦f  (3.46)





αi≦xid−yid−1−α≦αii,f−f+1≦d≦i≦f  (3.47)


In LP3, Lf_0 and yf_0d denote the robot task of loading a wafer that is unloaded from PMf into the loadlocks and the time point when the d-th execution of Lf_0 is completed, respectively. Objective (3.17) minimizes the makespan for different situations. Constraints (3.18) (3.21), (3.24) (3.27), (3.33) (3.37), and (3.41) (3.44) represent the time to complete the robot task of unloading a wafer from a PM. Constraints (3.22), (3.23), (3.28), (3.29), (3.38), (3.39), (3.45), and (3.46) give the time to complete the robot task of loading a wafer into a PM or the loadlocks. Constraints (3.30) (3.32), (3.40), and (3.47) guarantee that wafer residency time constraints are satisfied. Note that CT-RII is the system converted from the original tool i.e. when the cluster tool apparatus has no processing module failures and no fail signal is received by the hardware controller 300.


The linear programs 1, 2 and 3 comprise a plurality of conditions that are used depending on the number and designation of failed processing modules or the type of close down process that needs to be applied.



FIG. 13 shows an embodiment of a method 1300 of controlling a cluster tool apparatus to close down a cluster tool apparatus to an idle state. The cluster tool apparatus comprises one or more processing modules, a robot and one or more loadlocks. The cluster tool apparatus comprises a hardware controller that is configured to execute the method to control at least the robot of the cluster tool apparatus. The method 1300 begins at step 1301. At step 1301 a plurality of system parameters are received. The parameters can be received by the controller through a user interface. The system parameters can be robot wafer loading time, robot wafer unloading times, wafer processing times, wafer residency times in a processing module, time for robot to move from one processing module to another.


The method 1300 proceeds to step 1302. At step 1302 the controller 300 is configured to determine a status of each of the processing modules. The status of the processing modules is determined based on a sensor signal. The status received from the sensor comprises a normal status signal or a failed status signal. At step 1303 the controller is configured to determine if a normal status signal is received or a failed status signal is received. If a normal status signal is received the method proceeds to step 1304. At step 1304 the method checks to see if a close down signal is received. The close down signal can be received from a user interface. The close down signal is received when a cluster tool apparatus is required to be shut down.


If a close down signal is received then at step 1305 the controller determines a schedule that corresponds to a normal close down process. The schedule is determined by solving LP1 (i.e. linear program 1). The linear program accounts for a wafer residency parameter such that the wafer residency parameter is not violated. The linear program 1 is advantageous because the close down process ensures that the wafer is not damaged by leaving it in a processing module for too long. At step 1306 the controller is configured to control the robot based on the determined schedule in step 1305 such that the robot performs a normal close down process. If no close down signal is received at step 1305 then the method returns to step 1302.


Returning to step 1303, if a failed status signal is received at step 1303, the method proceeds to step 1307. The failed status signal is provided by the sensor and is identified by the controller 300. Specifically the processor 302 proceeds the received sensor signals and identifies if the status is a normal status or a failed status based on the type of signal received. At step 1307 the controller is configured to select a response policy, from a plurality of predetermined response policies based on the number of total processing modules in the cluster tool apparatus and/or the specific processing module that has failed. The response policies are predefined and stored in the memory unit 304 of the controller 300. The method proceeds to step 1308 that comprises selecting a linear program corresponding to the selected response policy. At step 1309 a schedule is determined by solving the selected linear program, wherein the schedule corresponds to a failure close down process. At step 1310 the method comprises controlling the robot based on the schedule i.e. based on at least the determined robot waiting times to remove all wafers while avoiding placing wafers in the failed processing module and the adjacent processing modules. Step 1310 comprises executing a failure close down process to return the cluster tool apparatus 100 to an idle state. The method ends once the cluster tool apparatus is closed down.


The methods 1302 to 1304 are repeated while the cluster tool apparatus is in normal operation i.e. in a steady state. These methods are executed by the sensors and the controller constantly checks the sensor signals to determine the type of status signal received and determine a close down input has been received. The method 1300 is configured to be executed by the hardware controller 300 and its components. The method 1300 can be stored as computer readable and executable instructions in the memory unit 304. The memory unit 304 is a non transitory medium. The processor 302 is configured to execute the stored instructions and control the operation of the other controller components.


The normal close down process and the failure close down process are advantageous because they each provide an optimal method to close down the cluster too apparatus in response to either a close down signal or detecting the failure of a processing module. The schedule to control the robot for each situation is an optimal schedule that results in an optimal close down process.


The following is an example implementation of the described close down processes. In this example the wafer flow pattern for a single arm cluster tool is (PM1, PM2, PM3, PM4, PM5, PM6). The system parameters are=5s, α0=10s, μ=2s, α1=90s, α2=115, α3=105, α456=100s, and δi=20s, iεN6.


These parameters relate to transitions as per table 400. An optimal and periodic schedule for steady state can be obtained by setting ω0=ωi=0s, iεN5, and ω6=38s. Further, the cycle time of the system is 141s.


In this example when the cluster tool apparatus is required to stop, in response to a close down or shut down signal, LP1 (linear program 1) can be used to determine an optimal close down schedule. The close down process, based on the determined schedule, termed a normal close method takes 702s. In contrast a close down process implemented by using a virtual wafer method is called a conventional method. This conventional close down process takes 757s. The proposed normal method reduces the close down process time by 7.27%.


In this example it is assumed that the first processing module of the cluster tool apparatus i.e. PM1 fails. It belongs to Case 1. When PM1 fails, by RP1, the system reaches M1. Before M1 is reached, for CT-RI, an optimal and feasible schedule shown in Table 4.1 for the close-down process from M2 to the end is obtained by LP2 within 1s. Note that M2 of CT-RI is equivalent to M1 of the original tool. Then, the close-down schedule for CT-RI can be converted into the one for the original cluster tool shown in Table 4.2. Thus, when PM1 fails and G(x1)=1, by RP1, the system reaches M1 by performing custom-characterm10→L0custom-character. When M1 is reached, with the obtained close-down schedule shown in Table 4.2, the original cluster tool is emptied in a fastest way. The time taken by custom-characterm10→L0custom-character and the close-down process from M1 to the end is 7s and 439s, respectively. Thus, the time taken by the close-down process from the time when G(x1)=1 to the end is 446s. By using the conventional method, the close-down process takes 642s. If the normal close-down scheduling method is applied to the system, by using LP1 with minor revision, the close-down process takes 587s. In comparison with them, the time taken by the close-down process by using LP2 is reduced by 30.5% and 20%, respectively.









TABLE 4.1





A close-down schedule for CT-RI

























Variables:
y04
x41

w
4
1

y01
x31

w
3
1

y41
x21

w
2
1

y31


Solutions:
439
49
42
56
63
0
70
77
0
84


Variables:
x11

w
1
1

y21
x42

w
4
2

y02
x32

w
3
2

y42
x22


Solutions:
96
5
103
180
70
187
194
0
201
208


Variables:

w
2
2

y32
x43

w
4
3

y03
x33

w
3
3

y43
x44

w
4
4



Solutions:
0
215
306
84
313
320
0
327
432
100
















TABLE 4.2





A close-down schedule for the cluster tool with PM1 being failed

























Variables:
y04
x61

w
6
1

y01
x51

w
5
1

y61
x41

w
4
1

y51


Solutions:
439
49
42
56
63
0
70
77
0
84


Variables:
x31

w
3
1

y41
x62

w
6
2

y02
x52

w
5
2

y62
x42


Solutions:
96
5
103
180
70
187
194
0
201
208


Variables:

w
4
2

y52
x63

w
6
3

y03
x53

w
5
3

y63
x64

w
6
4



Solutions:
0
215
306
84
313
320
0
327
432
100









In the same example assume that processing module 3 fails i.e. assume if PM3 fails, it belongs to Case 5. When PM3 fails, by RP5, the system reaches M6. Before M6 is reached, for CT-RII, an optimal and feasible schedule for the close-down process from M7 to the end is obtained by LP3 within 1s. This schedule is shown in Table 4.3. State M7 of CT-RII is equivalent to M6 of the original tool. The close-down schedule for CT-RII can be converted into the one for the original cluster tool shown in Table 4.4. Thus, when PM3 fails and G(x3)=1, by RP3, the system reaches M6 by performing custom-characterm30→L0 m02→A20⊕A12custom-character. When M6 is reached, with the obtained close-down schedule shown in Table 4.4, the original cluster tool is emptied in a fastest way. The time taken by custom-characterm30→L0→m02→A20⊕A12custom-character and the close-down process from M6 to the end is 35s and 182s, respectively. Hence, the time taken for the close-down process from the time when G(x3)=1 is performed to the end is 217s. By using the conventional and normal close-down scheduling method, the close-down processes take 670s and 615s, respectively. Also, both of them damage two wafers. In comparison with them, the time taken for the close-down process by using LP3 is reduced by 67.6% and 64.7%, respectively. Besides, different from them, by using RP5 and LP3, two undamaged wafers are returned to the loadlocks after their second operation at PM2 is completed, and thus successfully guard them without causing any quality problem to these two wafers.









TABLE 4.3





A close-down schedule for CT-II

















Variables:














y02
x31

ω
3
1

y01
x21

ω
2
1






Solutions
182
49
42
56
63
0












Variables














y31
x11

ω
1
1

y101
x32

ω
3
2






Solutions:
70
120
33
127
175
41
















TABLE 4.4





A close-down schedule for the PM3 failed cluster tool

















Variables:














y02
x61

ω
6
1

y01
x51

ω
5
1






Solutions
182
49
42
56
63
0












Variables:














y61
x21

ω
2
1

y201
x62

ω
6
2






Solutions:
70
120
33
127
175
41









The disclosed cluster tool apparatus, the cluster tool apparatus controller and the method for controlling the cluster tool apparatus are advantageous because various close down processes are contemplated for various conditions. Further an optimal schedule can be determined for a normal close down process or a failure close down process to control robot such that the close down process is minimized. The method of control and the cluster tool apparatus are advantageous because the status of each processing module is detected and based on a failure detection. Then, an appropriate schedule for an optimal close down process is determined and implemented. Further when a processing module is detected to have failed, the controller is configured to avoid placing a wafer in the damaged or failed processing module, thereby ensuring quality of the wafers is maintained. The method of controlling the cluster tool for a close down process is advantageous because the wafer residency time is met and accounted for in each schedule thereby reducing damage to any wafer and ensuring quality of the wafers.


It should be noted that in this disclosure the cluster tool may be referred to as a cluster tool apparatus or cluster tool system. The term apparatus and system are used interchangeably when describing the cluster tool and its operations.


It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the described cluster tool apparatus and method of controlling the cluster tool apparatus as shown in the specific embodiments without departing from the spirit or scope of the present disclosure. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.


The term “comprising” (and its grammatical variations) as used herein are used in the inclusive sense of “having” or “including” and not in the sense of “consisting only of”


It is to be understood that, if any prior art information is referred to herein, such reference does not constitute an admission that the information forms a part of the common general knowledge in the art, in Australia or any other country.


Although not required, the embodiments described with reference to the figures may be implemented as an Application Programming Interface (API) or as a series of libraries for use by a developer or can be included within another software application, such as a terminal or personal computer operating system or a portable computing device operating system. Generally, as program modules include routines, programs, objects, components and data files assisting in the performance of particular functions, the skilled person will understand that the functionality of the software application may be distributed across a number of routines, objects or components to achieve the same functionality desired herein.


It will also be appreciated that where the methods and systems of the present disclosure are either wholly implemented by computing system or partly implemented by computing systems then any appropriate computing system architecture may be utilised. This will include stand alone computers, network computers and dedicated hardware devices. Where the terms “computing system” and “computing device” are used, these terms are intended to cover any appropriate arrangement of computer hardware capable of implementing the function described.

Claims
  • 1. A cluster tool apparatus for processing a semiconductor product comprising: one or more processing modules located adjacent each other, each processing module being configured to process a semiconductor module,one or more loadlocks configured to retain and dispense unprocessed semiconductor products, wherein the one or more loadlocks being positioned adjacent one of the one or more processing modules,a robot configured to load, transfer and unload a semiconductor product to and from the one or more processing modules,a hardware controller in electronic communication with the robot and configured to execute a method to control the cluster tool apparatus to close down the cluster tool apparatus to an idle state, the method to control the cluster tool apparatus comprising: determining a status of each of the one or more processing modules,determining if a close down process is required based on the status of the one or more processing modules or based on a close down signal,determine a schedule for a close down process based on if a close down process is required, wherein the schedule is determined based on a semiconductor product residency parameter,controlling the operation of the robot based on the schedule such that the robot performs the close down process.
  • 2. A cluster tool apparatus for processing a semiconductor product in accordance with claim 1, wherein the schedule for a close down process outputs at least a robot waiting time for each step of the close down process that minimizes the close down process time such that the cluster tool apparatus reaches an idle state as quickly as possible such that at least the semiconductor product residency parameter is not exceeded.
  • 3. A cluster tool apparatus for processing a semiconductor product in accordance with claim 1, wherein the close down process comprises removing all semiconductor products from each of the one or more processing modules and returning each semiconductor product to the one of the one or more loadlocks, the close down process further comprises stopping each of the one or more processing modules operation.
  • 4. A cluster tool apparatus for processing a semiconductor product in accordance with claim 1, wherein the cluster tool apparatus comprises a user interface that is configured to receive inputs from a user and present information to the user, the user interface being in electronic communication with the controller, the user interface receiving a close down input from the user, the hardware controller receiving a close down signal from the user interface wherein the close down signal corresponds to the close down input,the hardware controller being configured to determine the schedule in response to receiving a close down signal, wherein the determined schedule corresponds to a normal close down process, andwherein the hardware controller is configured to control at least the robot based on the determined schedule such that the robot performs a normal close down process.
  • 5. A cluster tool apparatus for processing a semiconductor product in accordance with claim 4, wherein the hardware controller is configured to determine a schedule that corresponds to a normal close down process by solving a first linear program, the linear program accounting for a semiconductor product residency parameter.
  • 6. A cluster tool apparatus for processing a semiconductor product in accordance with claim 1, wherein the cluster tool apparatus comprises one or more sensors, wherein each of the one or more sensors is associated with or located on the one or more processing modules, each of the one or more sensor modules being in electronic communication with the hardware controller, and wherein each of the one or more sensors configured to detect a status of the corresponding one or more processing modules.
  • 7. A cluster tool apparatus for processing a semiconductor product in accordance with claim 6, wherein each of the one or more sensors transmitting status of the processing modules at regular time intervals to the hardware controller, wherein the status comprises a normal status signal or a failed status signal, wherein the failed status signal is generated when any one of the sensors detects a failure in a corresponding one or more of the processing modules.
  • 8. A cluster tool apparatus for processing a semiconductor product in accordance with claim 7, wherein the hardware controller is configured to determine the schedule in response to receiving a failed status signal, wherein the determined schedule corresponds to a failure close down process.
  • 9. A cluster tool apparatus for processing a semiconductor product in accordance with claim 8, wherein the hardware controller is configured to control the robot based on the schedule that corresponds to the failure close down process, such that robot is configured to avoid placing a semiconductor product within any one or more of the processing modules that have experienced a failure and the hardware controller further configured to avoid placing a semiconductor product within a processing module adjacent the failed processing, and wherein the failure being detected by the sensor associated with the processing module.
  • 10. A cluster tool apparatus for processing a semiconductor product in accordance with claim 6, wherein the hardware controller is configured to determine the specific processing module that has failed based on processing the received status of each processing module, the hardware controller further being configured to select one of a plurality of response policies, wherein each response policy corresponds to the number of total processing modules in the cluster tool apparatus and the specific processing module that has failed.
  • 11. A cluster tool apparatus for processing a semiconductor product in accordance with claim 10, wherein the hardware controller is configured to select one of two type response policies, wherein the first type response policies (Policies 1-4) are used to determine a schedule for a close down process, such that two or three processing modules including the failed one are disabled, while the other processing modules are sequentially linked together in the cluster tool apparatus, and; wherein the second type response policy is used to determine a schedule such that three processing modules including the failed one are disabled, wherein one of the disabled processing modules is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module, while the processing modules except the disabled processing modules cannot be sequentially linked together because, among them, there exists at least one upstream adjacent processing module of the failed processing module and another one that is in its downstream.
  • 12. A cluster tool apparatus for processing a semiconductor product in accordance with claim 10, wherein the hardware controller is configured to select one of a first, second, third or fourth response policy is used to determine a schedule for a close down process, such that two or three processing modules including the failed one are disabled, while the other processing modules are sequentially linked together in the cluster tool apparatus, or; the controller is configured to implement a fifth response policy is used to determine a schedule such that three processing modules including the failed one are disabled, wherein one of the disabled processing modules is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module, while the processing modules except the disabled processing modules cannot be sequentially linked together.
  • 13. A cluster tool apparatus for processing a semiconductor product in accordance with claim 12, wherein the controller is configured to determine a schedule that corresponds to a failure close down process by solving a second linear program when a first, second, third or fourth response policy is used wherein the second linear program utilizes at least a specified semiconductor product residency parameter.
  • 14. A cluster tool apparatus for processing a semiconductor product in accordance with claim 12, wherein the controller is further configured to determine a schedule that corresponds to a failure close down process by solving a third linear program when a fifth response policy is used and wherein the third linear program utilizes at least a specified semiconductor product residency parameter.
  • 15. A method of controlling a cluster tool apparatus to close down the cluster tool apparatus to an idle state, the cluster tool apparatus comprising one or more processing modules, a robot and one or more loadlocks, the cluster tool apparatus configured to process a semiconductor product, the method comprising the steps of: determining a status of each of the one or more processing modules,determining if a close down process is required based on the status of the one or more processing modules or based on a close down signal,determine a schedule for a close down process based on if a close down process is required, wherein the schedule is determined based on a semiconductor product residency parameter,controlling the operation of the robot based on the schedule such that the robot performs the close down process.
  • 16. A method of controlling a cluster tool apparatus to close down the cluster tool apparatus to an idle state in accordance with claim 15, wherein the schedule for a close down process outputs at least a robot waiting time for each step of the close down process that minimizes the close down process time such that the cluster tool apparatus reaches an idle state as quickly as possible, such that the semiconductor residency parameter is not exceeded, and wherein the close down process comprises removing all semiconductor products from each of the one or more processing modules and returning each semiconductor product to the one of the one or more loadlocks, the close down process further comprises stopping each of the one or more processing modules operation.
  • 17. A method of controlling a cluster tool apparatus to close down the cluster tool apparatus to an idle state in accordance with claim 15, wherein the method further comprises receiving a close down input from the user and receiving a close down signal from the user interface wherein the close down signal corresponds to the close down input, determining the schedule in response to receiving a close down signal, wherein the determined schedule corresponds to a normal close down process,determining a schedule that corresponds to a normal close down process by solving a first linear program, the linear program accounting for a semiconductor product residency parameter, andcontrolling the robot based on the determined schedule such that the robot performs a normal close down process.
  • 18. A method of controlling a cluster tool apparatus to close down the cluster tool apparatus to an idle state in accordance with claim 15, wherein the method further comprises the additional steps of: receiving a status of the one or more processing modules, wherein the status comprises a normal status signal or a failed status signal, wherein the failed status signal is generated when any one of the sensors detects a failure in a corresponding one or more of the processing modules,determining the schedule in response to receiving a failed status signal, wherein the determined schedule corresponds to a failure close down process,controlling the robot based on the schedule that corresponds to the failure close down process, such that robot is configured to avoid placing a semiconductor product within any one or more of the processing modules that have experienced a failure and controlling the robot to avoid placing a semiconductor product within a processing module adjacent the failed processing,determining the specific processing module that has failed based on processing the received status of each processing module, the hardware controller further being configured to select one of five response policies, wherein each response policy corresponds to the number of total processing modules in the cluster tool apparatus and the specific processing module that has failed.
  • 19. A method of controlling a cluster tool apparatus to close down the cluster tool apparatus to an idle state in accordance with claim 15, wherein the method comprises selecting one of two type response policies, wherein the first type response policies (Policies 1-4) are used to determine a schedule for a close down process, such that two or three processing modules including the failed one are disabled, while the other processing modules are sequentially linked together in the cluster tool apparatus, and; wherein the second response policy is used to determine a schedule such that three processing modules including the failed one are disabled, wherein one of the disabled processing modules is the processing module at Step 1 and the other two correspond to the failed processing module and the one adjacent to the failed processing module, while the processing modules except the disabled processing modules cannot be sequentially linked together because, among them, there exists at least one upstream adjacent processing module of the failed processing module and another one that is in its downstream.
  • 20. A method of controlling a cluster tool apparatus to close down the cluster tool apparatus to an idle state in accordance with claim 15, wherein the method comprises determining a schedule that corresponds to a failure close down process by solving a second linear program when a first, second, third or fourth response policy is used wherein the second linear program utilizes at least a specified semiconductor product residency parameter, or the method comprises determining a schedule that corresponds to a failure close down process by solving a third linear program when a fifth response policy is used and wherein the third linear program utilizes at least a specified semiconductor product residency parameter.