Optimally Scheduling of Close-down Process for Single-arm Cluster Tools with Wafer Residency Time Constraints

Abstract
Recent trends of larger wafer and smaller lot sizes bring cluster tools with frequent lot switches. Practitioners must deal with more transient processes during such switches, including start-up and close-down processes. To obtain higher yield, it is necessary to shorten the duration of transient processes. Much prior effort was poured into the modeling and scheduling for the steady state of cluster tools. In the existing literature, no attention has been turned to optimize the close-down process for single-arm cluster tools with wafer residency constraints. This invention intends to do so by 1) developing a Petri net model to analyze their scheduling properties and 2) proposing Petri net-based methods to solve their close-down optimal scheduling problems under different workloads among their process steps. Industrial examples are used to illustrate the effectiveness and application of the proposed methods.
Description
FIELD OF THE INVENTION

The present invention relates to a method for scheduling a process for single-arm cluster tools. More particularly, the present invention relates to a method for scheduling close-down process for single-arm cluster tools with wafer residency time constraints.


BACKGROUND

The following references are cited in the specification. Disclosures of these references are incorporated herein by reference in their entirety.


LIST OF REFERENCES



  • A. Caloini, G. A. Magnani, M. Pezz´e, “A technique for designing robotic control systems based on Petri nets,” IEEE Transactions on Control Systems and Technology, vol. 6, no. 1, pp. 72-87, 1998.

  • W. K. V. Chan, J. Yi, and S. Ding, “Optimal scheduling of multicluster tools with constant robot moving times, part I: two-cluster analysis,” IEEE Transactions on Automation Science and Engineering, vol.8 no. 1, pp. 5-16, January 2011.

  • S. Ding, J. Yi, and M. Zhang, “Scheduling multi-cluster tools: An integrated event graph and network model approach,” IEEE Transactions on Semiconductor Manufacturing, vol. 19, no. 3, pp. 339-351, August 2006.

  • L. Ferrarini and L. Piroddi, “Modeling and control of fluid transportation operations in production plants with Petri nets,” IEEE Transactions on Control Systems and Technology, vol. 16, no. 5, pp. 1090-1098, 2008.

  • D. Liu, Z. W. Li, and M. C. Zhou, “Hybrid Liveness-Enforcing Policy for Generalized Petri Net Models of Flexible Manufacturing Systems,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, 43(1), pp. 85-97, January 2013.

  • C. Jung and T.-E. Lee, “An efficient mixed integer programming model based on timed Petri nets for diverse complex cluster tool scheduling problems,” IEEE Transactions on Semiconductor Manufacturing, vol. 25, no. 2, pp. 186-199, 2012.

  • T. K. Kim, C. Jung and T. E. Lee, “Scheduling start-up and close-down periods of dual-armed cluster tools with wafer delay regulation” International Journal of Production Research, vol. 50, no. 10, pp. 2785-2795, May 2012.

  • D. K. Kim, T. E. Lee, and H. J. Kim, “Optimal scheduling of transient cycles for single-armed cluster tools,” in Proceedings of the 2013 IEEE International Conference on Automation Science and Engineering, Madison, Wis., USA, August 2013a.

  • H. J. Kim, J. H. Lee, C. Jung, and T. E. Lee, “Scheduling cluster tools with ready time constraints for consecutive small lots,” IEEE Transactions on Automation Science and Engineering, vol. 10, no. 1, pp. 145-159, January 2013b.

  • H. J. Kim, J. H. Lee, and T. E. Lee, “Noncyclic scheduling of cluster tools with a branch and bound algorithm,” IEEE Transactions on Automation Science and Engineering, DOI: 10.1109/TASE.2013.2293552, 2013c.

  • J.-H. Kim, T.-E. Lee, H.-Y. Lee, and D.-B. Park, “Scheduling analysis of timed-constrained dual-armed cluster tools,” IEEE Transactions on Semiconductor Manufacturing, vol. 16, no. 3, 521-534, 2003.

  • J. H. Lee, H. J. Kim, and T. E. Lee, “Scheduling transient periods of dual-armed cluster tools,” in Proceedings of the 2012 IEEE International Conference on Mechatronics and Automation, Chengdu, China, pp. 1569-1574, August 2012.

  • J. H. Lee, H. J. Kim, and T. E. Lee, “Scheduling lot switching operations for cluster tools,” IEEE Transactions on Semiconductor Manufacturing, vol. 26, no. 4, pp. 592-601, 2013.

  • J. H. Lee, H. J. Kim, and T. E. Lee, “Scheduling cluster tools for concurrent processing of two wafer types.” IEEE Transactions on Automation Science Engineering, vol. 11, no. 2, pp. 525-536, 2014.

  • T.-E. Lee, H.-Y. Lee, and Y.-H. Shin, “Workload balancing and scheduling of a single-armed cluster tool,” in Proceedings of the 5th APIEMS Conference, Gold Coast, Australia, 1-15, 2004.

  • T.-E. Lee and S.-H. Park, “An extended event graph with negative places and tokens for timed window constraints,” IEEE Transactions on Automation Science and Engineering, vol. 2, no. 4, 319-332, 2005.

  • D-Y. Liao, M. D. Jeng, and M. C. Zhou, “Petri net modeling and Lagrangian relaxation approach to vehicle scheduling in 300 mm semiconductor manufacturing,” in Proc. 2004 IEEE International Conference on Robotics and Automation, New Orleans, La., 2004, pp. 5301-5306.

  • M.-J. Lopez and S.-C. Wood, “Systems of multiple cluster tools—configuration, reliability, and performance,” IEEE Transactions on Semiconductor Manufacturing, vol. 16, no. 2, 170-178, 2003.

  • T. L. Perkinson, P. K. Maclarty, R. S. Gyurcsik, and R. K. Cavin, III, “Single-wafer cluster tools performance: An analysis of throughput,” IEEE Transactions on Semiconductor Manufacturing, vol. 7, no. 2, pp. 369-373, May 1994.

  • T. L. Perkinston, R. S. Gyurcsik, and P. K. Maclarty, “Single-wafer cluster tool performance: An analysis of effects of redundant chambers and revisitation sequences on throughput,” IEEE Transactions on Semiconductor Manufacturing, vol. 9, no. 2, pp. 384-400. May 1996.

  • Y. Qiao, N. Q. Wu, and M. C. Zhou, “Petri net modeling and wafer sojourn time analysis of single-arm cluster tools with residency time constraints and activity time variation,” IEEE Transactions on Semiconductor manufacturing, vol. 25, no. 3, 432-446, 2012a.

  • Y. Qiao, N. Q. Wu, and M. C. Zhou, “Real-time scheduling of single-arm cluster tools subject to residency time constraints and bounded activity time variation,” IEEE Transactions on Automation Science and Engineering, vo. 9, no. 3, 564-577, 2012b.

  • Y. Qiao, N. Q. Wu, and M. C. Zhou, “A Petri net-based novel scheduling approach and its cycle time analysis for dual-arm cluster tools with wafer revisiting,” IEEE Transactions on Semiconductor Manufacturing, vol.26, no.1, pp. 100-110, February 2013.

  • Y. Qiao, N. Q. Wu, M. C. Zhou, and Q. H. Zhu, “Scheduling and Control of Start-up Process for Single-arm Cluster Tools with Residency Time Constraints,” working paper, 2014

  • S. Rostami, B. Hamidzadeh, and D. Camporese, “An optimal periodic scheduler for dual-arm robots in cluster tools with residency constraints,” IEEE Transactions on Robotics and Automation, vol. 17, 609-618, 2001.

  • S. Venkatesh, R. Davenport, P. Foxhoven, and J. Nulman, “A steady state throughput analysis of cluster tools: Dual-blade versus single-blade robots,” IEEE Transactions on Semiconductor Manufacturing, vol. 10, no. 4, pp. 418-424, November 1997.

  • N. Q. Wu, C. B. Chu, F. Chu, and M. C. Zhou, “A Petri net method for schedulability and scheduling problems in single-arm cluster tools with wafer residency time constraints,” IEEE Transactions on Semiconductor Manufacturing, vol. 21, no. 2, 224-237, 2008.

  • N. Q. Wu, and M. C. Zhou, “Avoiding deadlock and reducing starvation and blocking in automated manufacturing systems”, IEEE Transactions on Robotics and Automation, vol. 17, no.5, pp. 657-668, 2001.

  • N. Q. Wu and M. C. Zhou, “Modeling and deadlock control of automated guided vehicle systems,” IEEE/ASME Transactions on Mechatronics, vol. 9, no. 1, pp. 50-57, 2004.

  • N. Q. Wu and M. C. Zhou, System modeling and control with resource-oriented Petri nets, CRC Press, Taylor & Francis Group, New York, October 2009.

  • N. Q. Wu and M. C. Zhou, “Colored time Petri nets for modeling and analysis of cluster tools,” Asian Journal of Control, vol. 12, no. 3, pp. 253-266, 2010a.

  • N. Q. Wu and M. C. Zhou, “A closed-form solution for schedulability and optimal scheduling of dual-arm cluster tools with wafer residency time constraint based on steady schedule analysis,” IEEE Transactions on Automation Science and Engineering, vol. 7, no. 2, 303-315, 2010b.

  • U. Wikborg and T. E. Lee, “Noncyclic scheduling for timed discrete event systems with application to single-armed cluster tools using Pareto-optimal optimization,” IEEE Transactions on Automation Science and Engineering, vol. 10, no. 3, pp. 689-710, July 2013.

  • J. Yi, S. Ding, and M. Zhang, “Steady-state throughput and scheduling analysis of multi-cluster tools: A decomposition approach,” IEEE Transactions on Automation Science and Engineering, vol. 5, no. 2, pp. 321-336, April 2008.

  • H. J. Yoon and D. Y. Lee, “On-line scheduling of integrated single-wafer processing tools with temporal constraints,” IEEE Transactions on Semiconductor Manufacturing, vol. 18, no. 3, 390-398, 2005.

  • M. Zhou and F. DiCesare, “Parallel and sequential mutual exclusions for Petri net modeling of manufacturing systems with shared resources,” IEEE Transactions on Robotics and Automation, vol. 7, no. 4, pp. 515-527, 1991.

  • M. Zhou, F. DiCesare, and A. Desrochers, “A hybrid methodology for synthesis of Petri nets for manufacturing systems,” IEEE Transactions on Robotics and Automation, vol. 8, pp. 350-361, 1992.

  • M. C. Zhou and M. D. Jeng, “Modeling, analysis, simulation, scheduling, and control of semiconductor manufacturing systems: a Petri net approach,” IEEE Transactions on Semiconductor Manufacturing, vol. 11, no. 3, pp. 333-357, 1998.

  • M. C. Zhou and K. Venkatesh, Modeling, simulation and control of flexible manufacturing systems: A Petri net approach, World Scientific, Singapore, 1998.

  • M. C. Zhou, C.-H. Wang, and X. Y. Zhao, “Automating mason's rule and its application to analysis of stochastic Petri nets,” IEEE Transactions on Control Systems and Technology, vol. 3, no. 2, pp. 238-244, 1995.

  • Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Petri Net-Based Optimal One-Wafer Scheduling of Single-Arm Multi-Cluster Tools in Semiconductor Manufacturing,” IEEE Transactions on Semiconductor Manufacturing, vol. 26, no. 4, pp. 578-591, 2013a.

  • Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Scheduling of Single-Arm Multi-Cluster Tools to Achieve the Minimum Cycle Time,” in Proc. IEEE International Conference on Robotics and Automation, pp. 3555-3560, Karlsruhe, Germany, May, 2013b.

  • Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Modeling and Schedulability Analysis of Single-Arm Multi-Cluster Tools with Residency Time Constraints via Petri Nets” in Proc. IEEE International Conference on Automation Science and Engineering, Taipei, Taiwan, pp 81-86, 2014.

  • Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Scheduling of Single-Arm Multi-cluster Tools With Wafer Residency Time Constraints in Semiconductor Manufacturing” IEEE Transactions on Semiconductor Manufacturing, DOI10.1109/TSM.2014.2375880, vol. 28, no. 1, 2015

  • W. M. Zuberek, “Timed Petri nets in modeling and analysis of cluster tools,” IEEE Transactions on Robotics and Automation, vol. 17, no. 5, pp. 562-575, October 2001.



Cluster tools are widely used as wafer fabrication equipment by semiconductor manufacturers. Each consists of multiple processing modules (PMs), one wafer delivering robot, an aligner and two cassette loadlocks (LLs) for loading/unloading wafers. As shown in FIG. 1, the robot can be equipped with one or two blades, called single-arm or dual-arm, respectively; the former can carry one wafer while the latter can carry two wafers at a time. Two loadlocks working alternatively can keep the tool operating consecutively. According to a specified recipe, wafers are processed one by one at PMs in a cluster tool, each time there is one wafer processed at a PM.


Substantial efforts have been made for a cluster tool's modeling and performance analysis [Chan et al., 2011; Ding et al., 2006; Perkinston et al., 1994; Perkinston et al., 1996; Venkatesh et al., 1997; Wu and Zhou, 2010a; Yi et al., 2008; Zuberek, 2001; and Lee et al., 2014]. These studies show that in the steady state a cluster tool operates in one of two regions: process or transport-bound ones. The robot is always busy in the former and its task time dominates the cycle time of the tool. It has idle time in the latter and the processing time at PMs determines the cycle time. Since the robot moving time from one PM to another is much shorter than the wafer processing time, a backward scheduling strategy is optimal for single-arm cluster tools [Lee et al., 2004; and Lopez and Wood, 2003].


All aforementioned studies are conducted with the assumption that a wafer can stay in a PM for unlimited time after it is processed. However, strict residency constraints should be considered for some wafer fabrication processes, such as low-pressure chemical vapor deposition and rapid thermal processing. For them, a wafer's surface would be detrimental if it stays in a PM for too long time after being processed [Kim et al., 2003; Lee and Park, 2005; Rostami et al., 2001; and Yoon and Lee, 2005]. With such constraints, it is much more complicated to schedule a cluster tool. In order to solve it, the studies [Kim et al., 2003; Lee and Park, 2005; and Rostami et al., 2001] are conducted to find an optimal periodic schedule for dual-arm cluster tools with wafer residency time constraints. This problem is further investigated in [Wu et al., 2008; Wu and Zhou, 2010; and Qiao et al., 2012] for both single and dual-arm cluster tools by using Petri nets. Schedulability conditions are proposed to check if a cluster tool is schedulable. If so, closed-form algorithms are given to find the optimal cyclic schedule.


Majority of the existing studies [Chan et al., 2011; Ding et al., 2006; Perkinson et al., 1994; Perkinson et al., 1996; Venkatesh et al., 1997; Wu and Zhou, 2010a; Yi et al., 2008; Zuberek, 2001; Qiao et al., 2012a and 2012b; Qiao et al., 2013; Zhu et al., 2013a, 2013b, 2014, and 2015; and Lee et al., 2014] focus on finding an optimal periodical schedule for the steady state. However, a cluster tool should experience a start-up process before it reaches a steady state. Then, after the steady state, it will go through a close-down process. Very few studies are done for scheduling the transient process including the start-up and close-down process [Lee et al., 2012 and 2013; Kim et al., 2012, 2013a, 2013b, and 2013c; and Wikborg and Lee, 2013]. In semiconductor manufacturing, recent trends are product customization and small lot sizes. Thus, the transient processes are more common due to product changeover and setups. Therefore, it becomes more important to optimize such transient processes. For a dual-arm cluster tool, Kim et al. [2012] propose methods to minimize the transient period based on a given robot task sequence. For a single-arm cluster tool, non-cyclic scheduling methods are developed in [Kim et al., 2013a, and Wikborg and Lee, 2013]. Due to small batch production, a cluster tool needs to switch from processing one lot to another different one frequently. Thus, techniques are developed to schedule lot switching processes for both single and dual-arm cluster tools in [Lee et al., 2012 and 2013; and Kim et al., 2013b and 2013c].


However, the above work on the transient process scheduling does not consider the wafer residency time constraints. Thus, their method in [Lee et al., 2012 and 2013; Kim et al., 2013a, 2013b, and 2013c; and Wikborg and Lee, 2013] cannot be applied to schedule a cluster tool with such constraints. It is these constraints that make an optimal schedule for a transient process without considering residency time constraints infeasible. Considering such constraints, Kim et al. [2012] develop scheduling methods to optimize the start-up and close-down processes for dual-arm cluster tools. Owing to a different scheduling strategy used to schedule a dual-arm cluster tool with residency constraints, the scheduling methods in [Kim et al., 2012] cannot be used to optimize the transient processes of a single-arm cluster tool. For a single-arm tool with such constraints, based on a developed Petri net (PN) model, Qiao et al. [2014] develops a scheduling algorithm and a liner programming model to find an optimal schedule for the start-up process. However, for the close-down process, there is no scheduling method provided in [Qiao et al., 2014]. Although a close-down process is a reverse of a start-up one, their PN models are totally different. Consequently it requires different scheduling methods.


There is a need in the art for a method for scheduling close-down process for single-arm cluster tools with wafer residency time constraints.


SUMMARY OF THE INVENTION

An aspect of the present invention is to provide a method for scheduling a cluster tool for a close-down process with wafer residency time constraints.


According to an embodiment of the present claimed invention, a computer-implemented method for scheduling a cluster tool for a close-down process, the cluster tool comprising a single-arm robot for wafer handling, loadlocks for wafer cassette loading and unloading, and n process modules each for performing a wafer-processing step with a wafer residency time constraint where the ith process module, i ∈ {1, 2, . . . , n}, is used for performing Step i of the n wafer-processing steps for each wafer, the method comprising: determining, by a processor, a lower workload custom-characteriL of Step i as follows:






custom-character
iL
=a
i+4α+3μ, i ∈ Nn\{1};






custom-character
1L
=a
1+3α+α0+3μ;


determining, by a processor, an upper workload custom-characteriU of Step i as follows:






custom-character
iU
=a
i+4α+3μ+δi, i ∈ Nn\{1};






custom-character
1U
=a
1+3α+α0+μδ1;


determining, by a processor, that the workloads are balanced among the Steps if [custom-character1L, custom-character1U] ∩ [custom-character2L, custom-character2U] ∩ . . . ∩ [custom-characternL, custom-characternU]≠Ø;


determining, by a processor, a robot waiting time ωid, d≦i≦n, 0≦d≦n−1, and ωnn n as follows:


let ψc01, during the period from Mcd to Mc(d+1), 1≦d≦n−1, let custom-characterdmax=max{custom-characteriL, i ∈ Nn\Nd−1}, ωid=0, i ∈ Nn\Nd−1, and ωnd=max{custom-characterdmax−ψc(d−1), 0}, where ψc(d−1)=2(n−d+2)μ+2(n−d+2)α, 2≦d≦n;


during the period from Mcn to Mce, let ωnn=an;


determining, by a processor, a schedule for the close-down process based on the robot waiting time determined;


ai, i ∈ Nn, is a time that a wafer is processed in the ith process module;


δi is the wafer residency time constraint of Step i, given by a pre-determined longest time for which a wafer in the ith process module is allowed to stay therein after this wafer is processed;


α is a time of loading a wafer to or unloading the wafer to the robot in Step i;


μ is a time of the robot moving from one wafer-processing step to another;


α0 is a time of the robot unloading a wafer from the loadlocks and aligning the same;


Mcd denote a dth state during the close-down process of the cluster tool; and


Mce denote a final state during the close-down process of the cluster tool.


According to an embodiment of the present claimed invention, a computer-implemented method for scheduling a cluster tool for a close-down process, the cluster tool comprising a single-arm robot for wafer handling, a loadlock for wafer cassette loading and unloading, and n process modules each for performing a wafer-processing step with a wafer residency time constraint where the ith process module, i ∈ {1, 2, . . . , n}, is used for performing Step i of the n wafer-processing steps for each wafer, the method comprising:


determining, by a processor, a lower workload custom-characteriL of Step i as follows:






custom-character
iL
=a
i+4α+3μ, i ∈ Nn\{1};






custom-character
1L
=a
1+3α+α0+3μ;


determining, by a processor, an upper workload custom-characteriU of Step i as follows:






custom-character
iU
=a
i+4α+3μ+δi, i ∈ Nn\{1};






custom-character
1U
=a
1+3α+α0+3μ+δ1;


determinig, by a processor, that the workloads are unbalanced among the Steps if [custom-character1L, custom-character1U] ∩ [custom-character2L, custom-character2U] ∩ . . . ∩ [custom-characterhU, custom-characternU]=Ø;


determining, by a processor, a robot waiting time ωid, d≦i≦n, 0≦d≦n as follows:


1) ωidi, d≦i≦n−1, 0≦d≦n−1 where ωi is the robot waiting time at the ith step at steady state, and obtained by:







ω

i
-
1


=

{




0
,




i

F








ϑ
max

-

(


a
1

+

δ
1

+

3

α

+

α
0

+

3

μ


)


,




1

E








ϑ
max

-

(


a
i

+

δ
i

+

4

α

+

3

μ


)


,




i


E


{

2
,
3
,
4
,





,
n

}











2) ωn0n;









3
)







ω
n
d


=


ϑ
max

-

ψ

c


(

d
-
1

)



-




i
=

d
-
1



n
-
1








ω
i

d
-
1





,




1≦d≦n−1; and


4) ωnn=an.


determining, by a processor, a schedule for the close-down process based on the robot waiting time determined;


ai, i ∈ Nn, is a time that a wafer is processed in the ith process module;


δi is the wafer residency time constraint of Step i, given by a pre-determined longest time for which a wafer in the ith process module is allowed to stay therein after this wafer is processed;


α is a time of loading a wafer to or unloading the wafer to the robot in Step i;


μ is a time of the robot moving from one wafer-processing step to another;


α0 is a time of the robot unloading a wafer from the loadlock and aligning the same;


E is {i|i ∈ Nn, custom-characteriU<custom-charactermax}, where custom-charactermax=max{custom-characteriL, i ∈ Nn};


F is Nn\E; and





ψc(d−1)=2(n−d+2)μ+2(n−d+2)α, 2≦d≦n.





BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are described in more detail hereinafter with reference to the drawings, in which:



FIG. 1 depicts cluster tools: (a) single-arm robot; (b) dual-arm robot;



FIG. 2 depicts Petri net for the steady-state of a single-arm cluster tool according to a prior art [Wu et al., 2008];



FIG. 3 depicts a Petri net for the close-down process of a single-arm cluster tool according to the present invention;



FIG. 4 depicts a Gantt chart for Example 1 according to the present invention; and



FIG. 5 depicts a Gantt chart for Example 2 according to the present invention.





DETAILED DESCRIPTION

In the following description, a method for scheduling close-down process for single-arm cluster tools with wafer residency time constraints is set forth as preferred examples. It will be apparent to those skilled in the art that modifications, including additions and/or substitutions may be made without departing from the scope and spirit of the invention. Specific details may be omitted so as not to obscure the invention; however, the disclosure is written to enable one skilled in the art to practice the teachings herein without undue experimentation.


The present invention aims to schedule a close-down process of a single-arm cluster tool with wafer residency time constraints, which was not addressed yet. According to the specification of the present invention, Section A presents a Petri net model for the close-down process of a single-arm cluster tool. The schedulability results for single-arm cluster tools [Wu et al., 2008] are reviewed in Section B. Then, a closed-form algorithm and a linear programming model are developed to schedule the close-down process in Section C. Section D presents illustrative examples.


A. PETRI NET MODELING

A.1 Finite Capacity Petri nets (PNs)


As an effective modeling tool, Petri nets are widely used in modeling, analysis, and control of discrete event systems [Zhou and DiCesare, 1991; Zhou et al., 1992; Zhou et al., 1995; Wu and Zhou, 2001, 2004, 2005, and 2007; Zhou and Jeng, 1998; Liao et al., 2004; Ferrarini and Piroddi, 2008; Jung and Lee, 2012; Liu et al., 2013; Wu et al., 2013c]. Following Zhou and Venkatesh [1998] and Murata [1989], the present invention adopts a finite capacity PN to model a single-arm cluster tool. It is defined as PN=(P, T, I, O, M, K), where P={p1, p2, . . . , pm} is a finite set of places; T={t1, t2, . . . , tn} is a finite set of transitions with P ∪T≠Ø and P ∩T=Ø; I: P×T→N={0, 1, 2, . . . } is an input function; O: P×T→N is an output function; M: P→N is a marking representing the count of tokens in places with M0 being the initial marking; and K: P→N\{0} is a capacity function where K(p) represents the count of tokens that p can hold at a time.


The preset of transition t is the set of all input places to t, i.e., •t={p: p∈P and I(p, t)>0}. Its postset is the set of all output places from t, i.e., t•={p: p∈P and O(p, t)>0}. Similarly, p's preset •p={t∈T: O(p, t)>0} and postset p•={t∈T: I(p, t)>0}. The transition enabling and firing rules can be found in [Wu and Zhou, 2009].


A.2 PN Model for Cluster Tools

In the present invention, (m1, m2, . . . , mn) is used to describe the wafer flow pattern in a cluster tool, where n is the number of processing steps and mi is the number of parallel PMs configured for Step i, i ∈ Nn={1, 2, . . . , n}. It is assumed that there is only one PM at each step. Thus, one has the wafer flow pattern is (m1, m2, . . . , mn) where mi=1, i ∈ Nn. Based on the PN model, the scheduling analysis of a single-arm cluster tool operating under the steady-state has been well conducted in [Wu et al., 2008]. Then, one briefly introduces the PN model for the steady-state process as developed in [Wu et al., 2008].


In the PN model, Step i is modeled by timed place pi with K(pi)=1, i ∈ Nn. The loadlocks are treated just as a processing step called Step 0. Because the loadlocks can hold all the wafers in a tool, they are modeled by p0 with K(p0)=∞. The robot is modeled by place r with K(r)=1, meaning that it has only one arm and can hold one wafer at a time. When M(r) =1, it represents that the robot arm is available. When M(pi)=1, i ∈ Nn, a wafer is being processed in a PM at Step i. In the following discussions, a token in a place, or a wafer in a place, refers to a wafer in its modeled PM when no confusion arises. When the robot arrives at Step i for unloading a wafer, the wafer may be under way. Then, it has to wait there for some time. Timed place qi, i ∈ Nn, is added to model the robot's waiting at Step i before unloading a wafer there and M(qi)=1 means that the robot is waiting at Step i. Non-timed place zij is used to model the state that it is ready to load a wafer into Step i or the wafer unloading from Step i ends. Transitions are used to model the robot tasks. Timed ti1, i ∈ Nn, models loading a wafer into Step i, and t01 models loading a completed wafer into a loadlock. Timed ti2, i ∈ Nn, models unloading a wafer from Step i, and t02 models unloading a raw wafer from a loadlock. Transition yi, i ∈ Nn−2∪ {0}, represents the robot's moving from Steps i+2 to i without carrying a wafer. Transitions yn−1 and yn represent the robot's moving from a loadlock to Step n−1 and Steps 1 to n, respectively. Transition xi, i ∈ Nn−1∪ {0}, models the robot's moving from Steps i to i+1 with a wafer held, and xn models the robot's moving from Steps n to 0. Pictorially, pi's and qi's are denoted by custom-character, zij's by ⊖, and r by custom-character. Then, the PN model for a single-arm cluster tool is shown in FIG. 2.


In the steady state, there Σi=1n mi wafers being concurrently processed. This means that mi wafers are being processed at Step i, i ∈ Nn. For the PN model in FIG. 2, at marking M with M(pi)=mi, i ∈ Nn, and M(r)=1, y0 is enabled and firing y0 leads the PN to a dead marking, or the PN is deadlock-prone. Thus, according to [Wu et al., 2008], a control policy is proposed to make it deadlock-free.


Control Policy 1 (CP1): At any M, transition yi, i ∈ Nn−1∪ {0} is said to be control-enabled if M(pi+1)=0; and yn is said to be control-enabled if M(pi)=1, i ∈ Nn.


After the steady state, the cluster tool enters the close-down process. Thus, a Petri net model shown in FIG. 3 is developed to describe the close-down process for a single-arm cluster tool. In the PN model in FIG. 3, the places have the same meanings as the ones in the PN model in FIG. 2. Note that N0=Ø. Transitions ti1, i ∈ Nn\Nd and 1≦d≦n−1, t01, ti2, i ∈ Nn\Nd−i and 1≦d≦n, yi, i ∈ Nn−1\Nd and 1≦d≦n−1, and xi, i ∈ Nn\Nd−1 and 1≦d≦n, also have the same meanings as the ones in the PN model in FIG. 3. Transition yn represent the robot's moving from Steps d to n, d≦n−1. If d=n, or M(pi)=0, 1≦i≦n−1, M(pn) =1, and M(r)=1, firing yn represent the robot start to stay at Step n and it does not take any time for firing yn. Then, a token goes into qn such that the robot waits at Step n. Because Step i, i Nn\Nd−1 and 1≦d≦n−1, has one wafer being processed and Step i, Nd−1 and 1≦d≦n−1, is empty, one has M(pi)=K(pi), i ∈ Nn\Nd−1 and 1≦d≦n−1, and M(r)=1. At the marking shown in FIG. 3, yd is enabled and can fire. If yd fires, a token then goes to zd2, z(d+1)1 sequentially, which leads the PN to a dead marking, or the PN is deadlock. To avoid it, a control policy is given below.


Control Policy 2 (CP2): For the PN model in FIG. 3, transition yi, i ∈ Nn−1\Nd−1 and 1≦d≦n1 , is said to be control-enabled if M(pi+1)=0; and yn is said to be control-enabled if M(pi)=1, i ∈ Nn\Nd−1 and 1≦d≦n.


With CP2, the close-down process could be described by running the PN model in FIG. 3 shown as follows. Let Mci, denote a certain state during the close-down process of the cluster tool. Then, let Mc1 denote the state of the system when the robot finishes loading wafer W into Step 1 and each Step i (2<i<n) has one wafer being processed (W is the last raw wafer released from the loadlock). Thus, one has Mc1(pi)=K(pi), i ∈ Nn, and Mc1(r)=1. Note that, when state Mc1 is reached, the system enters its close-down process. Then, one sets d=1 in the PN model in FIG. 3, according to CP2, the following transition firing sequence denoted by σ1 is executed: σ1=(firing yn (moving to Step n)→firing tn2 (unloading a wafer from Step n)→firing xn (moving from Steps n to 0)→firing t01 (loading the wafer into Step 0)→firing yn−1 (moving from Steps 0 to n−1)→firing t(n−1)2 (unloading a wafer from Step n−2)→firing x(n−1) (moving from Steps n−2 to n−1)→firing tn1 (loading the wafer into Step n) → . . . . . . →firing y1 (moving from Steps 3 to 1)→firing t12 (unloading a wafer from Step 1) →firing x1 (moving from Steps 1 to 2)→firing t21 (loading the wafer into Step 2)). At this time, let Mc2 denote the state of the system with Mc2(pi)=K(pi), i ∈ Nn\{1}, Mc2(p1)=0, and Mc2(r)=1. Then, one can set d=2 in the PN model in FIG. 3. According to CP2, the PN model can evolve to state Mc3 with Mc3(pi)=K(pi), i ∈ Nn\{1, 2}, Mc2(pi)=0, i ∈ {1, 2}, and Mc3(r)=1. Similarly, with the PN model in FIG. 3 and CP2, the PN model can evolve to state Mcn with Mcn(pn)=K(pn), Mc2(pi)=0, i ∈ Nn−1, and Mcn(r)=1. Then, the robot should wait there until this wafer is completed. After the wafer is processed, the robot unloads it from Step n, moves to Step 0, and loads the wafer into Step 0. In this way, the close-down process ends.


A.3 Modeling Activity Time

For the purpose of scheduling, the temporal aspect of a cluster tool should be described in the PN models in FIGS. 2-3. Both transitions and places are associated with time as given in Table I.


With wafer residency time constraints, the deadlock-freeness does not mean that the PNs shown in FIGS. 2-3 are live, because a token in pi cannot stay there beyond a given time interval. Let τi be the sojourn time of a token in pi and δi the longest permissive time for which a wafer can stay in pi after it is processed. Then, the liveness of the PN model is defined as follows.









TABLE I







TIME DURATIONS ASSOCIATED


WITH TRANSITIONS AND PLACES









T or P
Actions
Time





ti1, i∈
Robot loads a wafer into Step i, i∈ Nn∪{0}
α


Nn∪{0}


ti2, i ∈ Nn
Robot unloads a wafer from Step i, i∈Nn


t02
Robot unloads a wafer from a loadlock and aligns it
α0


yi
Robot moves from a step to another without carrying
μ



a wafer


xi
Robot moves from a step to another with a wafer



carried


pi
A wafer being processed in pi, i∈Nn
ai


qi, i∈
Robot waits before unloading a wafer from Step i, i∈
ωi


Nn∪{0}
Nn∪{0}


zij
No activity is associated









Definition 2.1: If the PN models for single-arm cluster tools with residency time constraints are live, one has: 1) at any marking with a token in pi, ∀ i ∈ Nn, and when ti2 fires, ai≦τi≦aii holds for the net in FIG. 2; and 2) at any marking with a token in pi, i ∈ Nn\Nd−1 and 123 d≦n, and when ti2 fires, ai≦τi≦aii holds for the net in FIG. 3.


B. SCHEDULING ANALYSIS

For a single-arm cluster tool with wafer residency time constraints, before discussing how to schedule its close-down process, one recalls the scheduling analysis results for its steady state process [Wu et al., 2008].


B.1 Timeliness Analysis for Steady State

It follows from [Wu et al., 2008] that, to complete the processing of a wafer at Step i, i ∈ Nn\{1}, it takes τTi+4a+3μ+ωi−1 time units, where τi should be within [ai, aii]. With one PMs at Step i, i ∈ Nn, one has that the lower bound of permissive cycle time at Step i is





θiL=ai+4α+3μ+ωi−1, i ∈ Nn\{1}  (3.1)


The upper bound of permissive cycle time at Step i is





θiU=ai+4α+3μ+ωi−1i, i ∈ Nn\{1}  (3.2)


For Step 1, the lower one is





θiL=a1+3α+α0+3μ+ω0   (3.3)


Its upper one is





θ1U=a1+3α+α0+3μ+ω01   (3.4)


It follows from (3.1)-(3.4) that the permissive wafer sojourn time can be affected by the robot waiting time ωi. By removing it from the above expressions, one can obtain the lower and upper workloads of each step as follows.






custom-character
iL
=a
i+4α+3μ, i ∈ Nn\{1}  (3.5)






custom-character
iU
=a
i+4α+3μ+δi, i ∈ Nn\{1}  (3.6)






custom-character
1L
=a
1+3α+α0+3μ  (3.7)






custom-character
1U
=a
1+3α+α0+3μ+δ1   (3.8)


To schedule a single-arm cluster tool with residency time constraints, one has to ensure ai≦τi≦aii. Hence, one needs to know how τi is calculated. According to [Wu et al., 2008], one has





τi=2(n+1)μ+(2n+1)α+α0d=0nωd−(4α+3μ+ωi−1)=ψ−(4α+3μ+ωi−1), i ∈ Nn\{1}  (3.9)





τ1=2(n+1)μ+(2n+1)α+α0d=0nωd−(3α+60 0+3μ+ω0)=ψ−(3α+α0+3μ+ω0)   (3.10)


The robot cycle time is





ψ=2(n+1)μ+(2n+1)α+α0d=0nωd12   (3.11)


where ψ1=2(n+1)μ+(2n+1)α+α0 is a known constant and ψ2d=0nωd is to be decided by a schedule.


Let θ11+3α+α0+3μ+θ0 and θii+4α+3μ+ωi−1, i ∈ Nn\{1}, denote the cycle time for step i, i ∈ Nn. Then, it can be seen that, by making ωi−1>0, the cycle time of Step i is increased without increasing the wafer sojourn time. Thus, it is possible to adjust the robot waiting time to balance the wafer sojourn time among the steps such that a feasible schedule can be obtained. Following Wu et al. [2008], for a periodic schedule for the steady state, one has





θ=θ12= . . . =θn=ψ  (3.12)


In (3.11), μ, α, and α0 are constants, only ωd's d ∈ Nn∪ {0}, are variables, i.e., ψ1 is deterministic and ψ2 can be regulated. Thus, with the PN model in FIG. 2, a feasible and optimal schedule can be found by properly setting ωd's, d ∈ Nn∪ {0}, for a single-arm cluster tool.


B.2 Schedulability Conditions and Scheduling for Steady State

To find a feasible cyclic schedule, the key is to know under what conditions there exist θ such that the system is schedulable. It is known that, in (3.5)-(3.8), custom-characteriL and custom-characteriU denote the lower and upper bounds of θi, respectively. Let custom-charactermax=max{custom-characteriL, i ∈ Nn}. Then, Wu et al. [2008] developed the sufficient and necessary schedulability conditions shown below.


Theorem 3.1 [Wu et al., 2008]: If custom-charactermaxcustom-characteriU and ψ1custom-characteriU, i ∈ Nn, a single-arm cluster tool with residency time constraints is schedulable.


For this case, if custom-charactermaxcustom-characteriU and ψ1custom-charactermax, i ∈ Nn, the tool is process-bound. If custom-characteriL≦ψ1custom-characteriU, i ∈ Nn, it is transport-bound. With custom-charactermaxcustom-characteriU, i ∈ Nn, the difference of the workloads among the steps is not too large. Thus, with ωi's being set appropriately, the workloads among the steps can be balanced such that a feasible schedule can be found. It follows from [Wu et al., 2008] that, in this case, one can simply set ωi=0, i ∈ Nn−1∪ {0}, and ωn=max{custom-charactermax−ψ1, 0} such that ψ=max{custom-charactermax, ψ1} holds. In this way, a feasible schedule is determined. Further, it is optimal in terms of cycle time.


Theorem 3.1 shows that the difference of the workloads among the steps is not too large, i.e., ∩j∈Nn{custom-characterjL, custom-characterjU}≠Ø. However, for some cases, ∩j∈Nn{custom-characterjL, custom-characterjU}=Ø holds. It follows from [Wu et al., 2008] that the time taken for completing a wafer at Step i can be increased by increasing ωi−1 without changing the sojourn time τi. Hence, a cluster tool can be scheduled for these cases with ∩j∈Nn{custom-characterjL, custom-characterjU}=Ø by properly setting ωi−1's. Then, let E={i|i ∈ Nn, custom-characteriU<custom-charactermax} and F=Nn\E. To do so, one can set ωi−1's as follows.










ω

i
-
1


=

{




0
,




i

F








ϑ
max

-

(


a
1

+

δ
1

+

3

α

+

α
0

+

3

μ


)


,




1

E








ϑ
max

-

(


a
i

+

δ
i

+

4

α

+

3

μ


)


,




i


E


{

2
,
3
,
4
,





,
n

}











(
3.13
)







Theorem 3.2 [Wu et al., 2008]: If ∩j∈Nn{custom-characterjL, custom-characterjU}=Ø, custom-characteriU<custom-charactermax with i ∈ E≠Ø, custom-characteriUcustom-charactermax with i ∈ F, and Σi∈Eωi−11custom-charactermax, a single-arm cluster tool with residency time constraints is schedulable when ωi−1, i ∈ Nn, are set by (3.13).


In this case, with the obtained ωi−1, i ∈ Nn, by (3.13), the workload among the steps can be well balanced. Notice that, by (3.13), the robot waiting time ωi−1, i ∈ Nn, is set, and then set ωn=custom-charactermax=(ψ1i∈Eωi−1) such that ψ=custom-charactermax holds. Thus, a feasible schedule is obtained. Further, the cycle time of the tool is optimal. According to [Wu et al., 2008], the schedulability conditions given by Theorems 3.1 and 3.2 are the sufficient and necessary for the steady state scheduling. Based on them, in the next section, one conducts the scheduling analysis for the close-down process.


C. SCHEDULING ANALYSIS FOR CLOSE-DOWN PROCESS
C.1 Temporal Properties in Close-down Process

Let Mc0 denote the state with Mc0(pi)=K(pi), i ∈ Nn, Mc0(r)=1, and there is only one raw wafer in the loadlocks. In other words, the robot task sequence from Mc0 to Mc1 is the last robot task cycle for the steady state. Then, the system operates according to the PN model in FIG. 3 and CP1 such that Mc1 is reached. For state Mc1, Step i, i ∈ Nn, has one wafer being processed and the robot stays at Step 1. In other words, Mc1(pi)=K(pi), i ∈ Nn, and Mc1(r)=1. It is assumed that when Mc1 is reached, there is no raw wafer in the loadlocks and the system enters its close-down process.


During the evolution from Mcd to Mc(d+1), the robot should sequentially move to Steps n, n−1, , . . . , d +1, and d to unload the processed wafers. Thus, with wafer residency time constraints considered, it is necessary to determine how long a wafer visits Step i, i ∈ Nn\Nd−1. With the PN model in FIG. 3 and CP2, Mc2 can be reached from Mc1, Mc3 can be reached from Mc2, . . . , Mcn can be reached from Mc(n−1). When Mcn is reached, the robot has just loaded a wafer into Step n. Then, the robot should wait there. When the wafer being processed at Step n is completed, the robot unloads it immediately, and then delivers it to the loadlock. At this time, all the wafers are out of the system, and it is the end of the close-down denoted by Mce. In fact, the evolutions from Mc1 to Mce form a close-down process. During the close-down process, the robot task sequence is deterministic and the robot waiting time is unknown. Thus, to obtain an optimal feasible schedule for the close-down process, it is very important to find a way to adjust the robot waiting time such that the wafer residency time constraints can be satisfied. However, the robot waiting time would affect the wafer sojourn time. Thus, firstly, the key is to know how to determine the wafer sojourn time.


Let ωid, d≦i≦n, 0≦d≦n−1, and ωnn denote robot waiting time in places qi and qn during the evolutions from Mcd, to Mc(d+1) and Mcn to Mce, respectively. At Mc0), there is only one raw wafer in the loadlocks and let W1 denote it. During the evolution from Mc0 to Mc1, according to the model in FIG. 2 and CP1, the following transition firing sequence is executed: firing yn (time μ)→the robot waits in qn n0)→firing tn2 (time α)→firing xn (time μ)→firing t01 (time α) → . . . →y0 (time μ) the robot waits in q0 00)→firing t02 (time α0)→firing x0 (time μ)→firing t11 (time α) with wafer W1 being loaded into Step 1. Then, by the model in FIG. 3 and CP2, to reach Mc2 from Mc1, the following transition firing sequence is executed: firing yn (time μ)→the robot waits in qn n1)→firing tn2 (time α)→firing xn (time μ)→firing t01 (time α)→ . . . →firing y1 (time μ) the robot waits in q1 11)→firing t12 (time α)→firing x1 (time μ)→firing t21 (time α) with wafer W1 being loaded into Step 2. Thus, when the robot arrives at Step 1 during the evolution from Mc1 to Mc2, the wafer sojourn time at Step 1 is





τ1=[2(n+1)μ+(2n+1)α+α0]+Σ1nωj1−(3α+α0+3μ)   (4.1)


Similarly, when the robot arrives at Step d during the evolution from Mcd to Mc(d+1), 2≦d≦n−1, the wafer sojourn time at Step d is





τd=[2(n−d+2)μ+2(n−d+2)α]Σdnωjd−(4α+3μ)   (4.2)


When the robot arrives at Step i, 2≦i≦n, during the evolution from Mc1 to Mc2, the wafer sojourn time at Step i is





τi=[2(n+1)μ+(2n+1)α+α0]+Σ0i−2ωj0inωj1−(4α+3μ)   (4.3)


When the robot arrives at Step i, d+1≦i≦n, during the evolution from Mcd to Mc(d−1), 2≦d≦n−1, the wafer sojourn time at Step d is





τi=[2(n−d+2)μ+2(n−d+2)α]+Σd−1i−2ωjd−1inωjd−(4α+3μ)   (4.4)


During the evolution from Mcn to Mce, the wafer sojourn time at Step n is





τnnn   (4.5)


Due to ψ1=2(n+1)μ+(2n+1)α+α0, expressions (4.1) and (4.3) can be respectively rewritten as





τ111nωj1−(3α+α0+3μ)   (4.6)





τi10i−2ωj0inωj1+(4α+3μ)   (4.7)


Let ψc(d−1), 2≦s≦n, and ψcn denote the robot task time for transferring the tool from Mc(d−1) to Mcd and Mcn to Me without considering the robot waiting time, respectively. Then, one has





ψc(d−1)=2(n−d+2)μ+2(n−d+2)α, 2≦d≦n   (4.8)





ψcn=μ+2α  (4.9)


Thus, from (4.8), expressions (4.2) and (4.4) can be rewritten as





τdc(d−1)dnωjd−(4α+3μ)   (4.10)





τic(d−1)d−1i−2ωjd−1inωjd−(4α+3μ)   (4.11)


Then, one discusses how to regulate the robot waiting time such that the residency time constraints at all steps are satisfied.


C.2 Scheduling for Close-down Process

Feasibility is an essential requirement for scheduling a transient process of a cluster tool. From the above analysis, one knows that the robot task sequence during the evolution from Mc1 to Mce is determined. Thus, it is very important to determine the robot waiting time during the close-down process such that the residency time constraints are met at each step. Thus, one has the schedulability results next.


Proposition 4.1: A cluster tool with wafer residency constraints in a close-down process is schedulable if the robot waiting time during the period from Mc1 to Mce can be found such that the constraint at each step is satisfied.


Generally, a cluster tool has not less than two steps. By the PN model in FIG. 3 and CP2, the cluster tool can operate from Mcd to Mcn, 1≦d≦n−1. Then, after Mcn, the following transition firing sequence is executed: robot waiting at qn (time an)→firing tn2 (time α)→firing xn (time μ)→firing t01 (time α). At this time, the close-down process ends. Thus, by Proposition 4.1, one only needs to find ways to set the robot waiting time during the period from Mc1 to Mce such that the constraint at each step can be satisfied. To do so, one develops the following algorithms to set the robot waiting time.


Scheduling Algorithm 4.1: If custom-charactermaxcustom-characteriU and ψ1custom-characteriU, i ∈ Nn, the robot waiting time is set as follows:

  • 1) Let ψc01. During the period from Mcd to Mc(d−1), 1≦d≦n−1, the tool operates according to the model in FIG. 3 and CP 2. Let custom-characterdmax=max{custom-characteriL, i ∈ Nn\Nd−1}, ωid=0, i ∈ Nn\Nd−1, and ωnd=max{custom-characterdmax−ψc(d−1), 0};
  • 2) During the period from Mcn to Mce, let ωnn=an.


According to Algorithm 4.1, during the period from Mcd to Mc(d+1), 1≦d≦n−1, Step i with 1≦i≦d−1, is empty. Thus, custom-characterdmax depends on the bottleneck step from steps d to n. With ωi=0, i ∈ Nn\Nd−1, and ωn=max{custom-characterdmax−ψc(d−1)1, 0}, the residency time constraints at Steps d to n are satisfied and the time to complete each Step i ∈ Nn\Nd−1, is expected to be shortest in the permissive range. Finally, during the period from Mcn to Mce , after the robot loads a wafer into Step n, it only waits there for the end of wafer processing and unloads the wafer immediately. One can show that this is feasible by the following theorem.


Theorem 4.1: For a single-arm cluster tool with wafer residency time constraints, if custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, a schedule obtained by Algorithm 4.1 for the close-down process is feasible.


Proof With the PN model in FIG. 2 and CP1, the cluster tool can reach Mc1 from Mc0. Notice that the process from Mc0 to Mc1 is under the steady state. Therefore, one has ωi0=0, i ∈ Nn∪ {0}, and ωn0=max{custom-charactermax−ψ1, 0}. Then, based on Rule 1) in Algorithm 4.1, from expressions (4.1) and (4.6). one has τ111nωj1−(3α+α0+3μ)=ψ1+max{custom-character1max−ψ1, 0}−(3α+α0+3μ). If ψ1custom-character1max leading to max{custom-character1max−ψ1, 0}=0, from (3.7)-(3.8) and the assumption of custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, one has a1custom-character1L−(3α+α0+3μ)≦τ11−(3α+α0+3μ)≦custom-character1U−(3α+α0+3μ)≦a11. If ψ1<custom-character1max leading to max{custom-character1max−ψ1, 0}=custom-character1max−ψ1, from (3.7), (3.8), and the assumption of custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i∈ Nn, one has a1custom-character1L−(3α+α0+3μ)≦τ1=custom-character1max−(3α+α0+3μ)≦custom-character1U−(3α+α0+3μ) ≦a11. Thus, when the robot arrives at Step 1 for unloading a wafer during the evolution from Mc1 to Mc2, the wafer residency time constraint at Step 1 is not violated. Similarly, based on Rule 1) in Algorithm 4.1, (3.5), (3.6), (4.3), (4.7), and the assumption of custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, one has ai≦τi≦ai1, 2≦i≦n, when the robot arrives at Step i, 2≦i≦n, for unloading a wafer during the evolution from Mc1, to Mc2. This means that when the robot arrives at Step i, 2≦i≦n, for unloading a wafer during the evolution from Mc1 to Mc2, the wafer residency time at Step i is not violated.


When the robot arrives at Step d during the evolution from Mcd to Mc(d+1), 2≦d≦n−1, for unloading a wafer, based on Rule 1) in Algorithm 4.1, it follows from expressions (4.2) and (4.10) that the wafer sojourn time at Step d is τdc(d−1)dnωjd−(4α+3μ)=ψc(d−1)+max{custom-characterdmax−ψc(d−1), 0}−(4α+3μ). If ψc(d−1)custom-characterdmax leading to max{custom-characterdmax−ψc(d−1), 0}=0, from (3.5), (3.6), and the assumption of custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, one has that adcustom-characterdL−(4α+3μ)≦custom-characterdmax−(4α+3μ)≦τ=ψc(d−1)−(4α+3μ)<ψ1−(4α+3μ)≦custom-characterdU−(4α+3μ)≦ad+δ. If ψc(d−1)<custom-characterdmax leading to max{custom-characterdmax−ψc(d−1), 0}=custom-characterdmax−ψc(d−1), from (3.5), (3.6), and the assumption of custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, one has that adcustom-characterdL−(4α+3μ)≦τd=custom-characterdmax−(4α+3μ)≦custom-characterdU−(4α+3μ)≦add. Thus, when the robot arrives at Step d during the evolution from Mcd to Mc(d+1), 2≦d≦n−1, for unloading a wafer, the wafer residency time at Step d is not violated. Similarly, based on Rule 1) in Algorithm 4.1, (3.5), (3.6), (4.4), (4.11), and the assumption of custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, one has that ai≦τi≦ai1, d<i≦n , when the robot arrives at Step i, d<i≦n, for unloading a wafer during the evolution from Mcd to Mc(d+1), 2≦d≦n−1. This means that when the robot arrives at Step i, d<i≦n, for unloading a wafer during the evolution from Mcd to Mc(d+1), 2≦d≦n−1, the wafer residency time at Step i is not violated.


During the period from Mcn to Mce, based on Rule 2) in Algorithm 4.1 and expression (4.5), one has τn=an. Hence, from all the above analysis, during the close-down process from Mc1 to Mce, the wafer residency time constraints are all satisfied, or the theorem holds.


During the period from Mc1 to Mc2, ωi1i0, i ∈ Nn, it is obvious that residency constraints are satisfied. custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, implies the workloads among the steps are properly balanced. During the period from Mcd to Mc(d+1), 2≦d≦n−1, ψc(d−1), decreases as d increases. If custom-characterdmax≧ψc(d−1), the cluster tool operates in a process-bound region. If custom-characterdmaxc(d−1), it operates in a transport-bound region. Due to the varied ψc(d−1) as d increases, the cluster tool may operate in a process-bound region in the next state. Thus, one has to adjust the robot waiting time dynamically to meet the residency constraints by Algorithm 4.1, which assigns the robot waiting time to the last step. Theorem 4.1 guarantees that the obtained schedule by Algorithm 4.1 is feasible to satisfy the residency constraints. Further, one has the following theorem to show its optimality.


Theorem 4.2: For a single-arm cluster tool with residency time constraints, if custom-charactermaxcustom-characteriU, ψ1custom-characteriU, i ∈ Nn, a schedule obtained by Algorithm 4.1 is optimal for the close-down process.


Proof Without loss of generality, let custom-charactermax=custom-characternL. During the period from Mc1 to Mc2, by (4.3) and Rule 1) of Algorithm 4.1 one has that τn[2(n+1)μ+(2n+1)α+a+0]+Σ0n−2ωj0nnωj1−(4α+3μ)=[2(n+1)μ+(2n+1)α+α0]+ωn1−(4α+3μ)=[2(n+1)μ+(2n+1)α+α0]+max{custom-characterdmax−ψ1, 0}−(4α+3μ)=ψ1+max{custom-charactermax−ψ1, 0}−(4α+3μ), if custom-charactermax≧ψ1, τn1+custom-characterdmax−ψ1−(4α+3μ)=custom-characternL−(4α+3μ)=an. If custom-characterdmax1, τn1−(4α+3μ) cannot be shortened. During the period from Mcd to Mc(d−1), 2≦d≦n−1, τn=[2(n−d+2)μ+2(n−d+2)α]+Σd−1n−2ωjd−1nnωjd−(4α+3μ)=[2(n−d+2)μ+2(n−d+2)α]+ωnd−(4α+3μ)=[2(n−d+2)μ+2(n−d+2)α]+max{custom-charactermax−ψc(d−1), 0}−(4α+3μ), if custom-characterdmax≧ψc(d−1), τn=custom-characterdmax−(4α+3μ)=custom-characternL−(4α+3μ)=an. If custom-characterdmaxc(d−1), τnc(d−1)−(4α+3μ) cannot be shortened. Since ωid=0, i ∈ Nn\Nd−1, 1≦d≦n−1, the period from Mcd to Mc(d+1), 1≦d≦n−1, is determined by τn and minimized. By Rule 2), during the period from Mcn to Mce, τn=an is also minimized. Thus, during the period from Mc1 to Mce, τn is minimized. That is to say, the time span of the close-down process is minimal. Therefore, a schedule obtained by Algorithm 4.1 is optimal for the close-down process.


The conditions in Theorem 4.1 indicates that the workloads among the steps are well balanced, i.e., ∩j∈Nn[custom-characterjL, custom-characterjU]≠Ø. However, when ∩j∈Nn[custom-characterjL, custom-characterjU]=Ø holds, it means that the workloads among the steps are too large. Let E={i|i ∈ Nn and custom-characteriU<custom-charactermax} and F=Nn\E. For this case, Wu et al. [2008] have found that a feasible schedule can be obtained by setting ωi−1>0 i ∈ E. In this way, the wafer sojourn time τi can be reduced such that the wafer residency time constraints at Step i are met. For the close-down process, the time taken for the process from Mcd to Mc(d+1) and Mc(d+1) to Mc(d+2) may be different. Thus, in order to obtain an optimal feasible schedule for the close-down process, the key is to dynamically adjust the robot waiting time in qi−1, i ∈ E, during the evolution from Mcd to Mc(d+1). However, increasing and decreasing the robot waiting time in qi−1, i ∈ E, would decrease or increase the wafer sojourn time τ at Step i during the evolution from Mc(d+1) to Mc(d+2), respectively. This makes it difficult to guarantee both the feasibility and optimality. Thus, one develops a linear programming model to tackle this issue. During the process from Mcd to Mc(d+1), let βijd denote the time to start firing tij (j=1, 2). Then, the linear programming model is formulated as follows.


Linear Programming Model (LPM): If ∩j∈Nn[custom-characterjL, custom-characterjU]=Ø and the system is schedulable under the steady state, with ωi0, 1≦i≦n, set by (3.13), then a schedule can be found by the following linear programming model.









min









d
=
1

n










i
=
d

n







ω
i
d







(
4.120







Subject to:





ωi1=107i0, 1≦i≦n   (4.13)





βn21=μ+ωn1   (4.14)





β01dn2d+α+μ, 1≦d≦n−1   (4.15)





βi22(i+1)2d+2(α+μ)+ωid, d≦i≦n−1 and 1≦d≦n−1   (4.16)





βi1d(i−1)2d+α+μ, d+1≦i≦n and 1≦d≦n−1   (4.17)





βn1d01d+2(α+μ)+ωn−1d, 1≦d≦n−1   (4.18)





βn2dd1d−1α+μ+ωnd, 2≦d≦n−1   (4.19)





ωnn=an   (4.20)





βn2nn1n+α+ωnn   (4.21)





ωid≧0, 1≦i≦d and 1≦d≦n   (4.22)





ai≦βi2d−βi1d−1−α≦aii, d≦i≦n and 2≦d≦n−1   (4.23)


After reaching Mc1, the cluster tool operates according to the model in FIG. 3 and CP2 until it reaches Mcn. Finally, the robot waits at Step n to unload the wafer and transports it to the loadlock, thus, the close-down process ends. During the close-down process, the robot task sequence is known. One only needs to determine the robot waiting time. Objective (4.12) in LPM is to minimize the total robot waiting time. Equations (4.14), (4.16), (4.19) and (4.21) are used to determine when to start unloading the wafer from a step. Equations (4.15), (4.17) and (4.18) are used to determine when to start loading a wafer into a step. Inequality (4.22) demands that the robot waiting time be not less than zero. Inequality (4.23) guarantees that the residency time constraints are satisfied.


For the case of ∩j∈Nn[custom-characterjL, custom-characterjU]=Ø, Theorem 3.2 presents the schedulability conditions to check if the tool is schedulable. Now one investigates that when the system is schedulable for the case of ∩j∈Nn[custom-characterjL, custom-characterjU]≠Ø, whether a feasible schedule can be found by LPM. To answer it, during the close-down process, the robot waiting time can be set as: 1) ωidi, d≦i≦n−1, 0≦d≦n−1 where ωi is obtained by (3.13); 2); ωn0n; 3)








ω
n
d

=


ϑ
max

-

ψ

c


(

d
-
1

)



-




i
=

d
-
1



n
-
1








ω
i

d
-
1





,




1≦d≦n−1; and 4) ωnn=an. It is easy to verify that this schedule is in the feasible region of LPM. Therefore, if a system is schedulable according to Theorem 3.2, a feasible and optimal schedule can be obtained by LPM.


Up to now, for the case that the workloads among the steps are properly balanced, i.e., [custom-character1L, custom-character1U] ∩ [custom-character2L, custom-character2U]∩ . . . ∩ [custom-characternL, custom-characternU]≠Ø, a scheduling algorithm is proposed to find an optimal schedule for the close-down process. For the case that such differences are too large such that [custom-character1L, custom-character1U] ∩ [custom-character2L, custom-character2U] ∩ . . . ∩ [custom-characternL, custom-characternU]≠Ø, a linear programming model is developed to find a feasible optimal schedule for a single-arm cluster tool during the close-down operations. Notice that Algorithm 4.1 consists of several expressions and LPM is a linear programming model. Therefore, it is very efficient to use the present proposed methods to find a feasible and optimal schedule for the close-down process for single-arm cluster tools with wafer residency time constraints.


D. EXAMPLES
Example 1

In a single-arm cluster tool, the wafer flow pattern is (1, 1, 1, 1, 1). The activity time is as follows: (a1, a2, a3, a4, a5; α0, α, μ)=(90 s, 100 s, 100 s, 105 s, 115 s; 10 s, 5 s, 2 s). After being processed, a wafer can stay at Steps 1-5 for 20 s (δi=20 s, 1≦i≦5).


By (3.5)-(3.8), one has custom-character1L=121 s, custom-character1U=141 s, custom-character2L=126 s, custom-character2U=146 s, custom-character3L=126 s, custom-character3U=146 s, custom-character4L=131 s, custom-character4U=151 s, custom-character5L=141 s, custom-character5U=161 s, and ψ1=89 s. According to Theorem 3.1, the cluster tool is schedulable. For its steady state, an optimal schedule can be obtained by setting ω01234=0 s and ω5=52 s. Then, its cycle time in the steady state is 141 s. It is easy to verify that the workloads can be balanced among the steps, i.e., [custom-character1L, custom-character1U] ∩ [custom-character2L, custom-character2U] ∩ . . . ∩ [custom-characternL, custom-characternU]≠Ø. By Algorithm 4.1, one can find an optimal feasible schedule for the close-down process. Thus, the robot waiting time is set as follows: 1) During the process from Mc1 to Mc2, ω01234=0 s and ω5=52 s: 2). During the process from Mc2 to Mc3, ω23 4=0 s and ω5=71 s; 3) ω34=0 s and ω5=85 s; 4) ω4=0 s and ω5=99 s; 5) ω5=115 s. Thus, this robot waiting time determines an optimal feasible schedule for the close-down process. The Gantt chart in FIG. 4 shows the simulation result that takes 623 s to finish the close-down process.


Example 2

The flow pattern is (1, 1, 1, 1). α=5 s, α0=10 s, μ=2 s, a1=85 s, a2=120 s, a3=110 s, a4=85 s, and δi=20 s, 1≦i≦4.


It follows from (3.5)-(3.8) that, one has custom-character1L=116 s, custom-character1U=136 s, custom-character2L=146 s, custom-character2U=166 s, custom-character3L=136 s, custom-character3U=156 s, custom-character4L=111 s, custom-character4U=131 s, and ψ1=75 s. By Theorem 3.2, the single-arm cluster tool is schedulable. For the steady state, an optimal feasible schedule is obtained by setting ω0=10 s, ω12=0 s, ω3=15 s, and ω4=46 s. Then, the cycle time of the system under the steady state is 146 s. For this example, [custom-character1L, custom-character1U] ∩ [custom-character2L, custom-character2U] ∩ . . . ∩ [custom-characternL, custom-characternU]=Ø holds since the differences between each step's workload are too large. By the proposed LPM, an optimal feasible schedule is found for the close-down process, during which the robot waiting time is set as follows: 1) From Mc1 to Mc1, ω1121=0, ω31=15, ω41=46 s; 2) From Mc2 to Mc3, ω22=0 s, ω32=35 s and ω4255 s; 3) From Mc3 to Mc4, ω33=5 s and ω43=89 s; 4) From Mc4 to Mce, ω44=85 s. The Gantt chart in FIG. 5 shows the simulation result that takes 468 s to finish the close-down process.


Semiconductor industry has shifted to larger size wafers and smaller lot production. Frequently, the wafer fabrication in the cluster tools switches from one size of wafer lot to another. This leads to many transient switching states, including start-up and close-down process. In some wafer fabrication process, quality products require that a processed wafer should leave the processing module within a given limit time to avoid its excessive exposure to the residual gas and high temperature inside a module. Such time constraints complicate the optimization issue for scheduling a close-down process. The problem and its solution are not seen in the existing research of scheduling cluster tools. This invention develops a Petri net model to analyze the time properties of this close-down process with time constraints. Based on it, the present invention proposes a closed-form algorithm and a linear programming model to regulate the robot waiting time for balanced and unbalanced workload situations, respectively, thereby finding an optimal schedule. The proposed methods are highly efficient.


The embodiments disclosed herein may be implemented using general purpose or specialized computing devices, computer processors, or electronic circuitries including but not limited to digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), and other programmable logic devices configured or programmed according to the teachings of the present disclosure. Computer instructions or software codes running in the general purpose or specialized computing devices, computer processors, or programmable logic devices can readily be prepared by practitioners skilled in the software or electronic art based on the teachings of the present disclosure.


In some embodiments, the present invention includes computer storage media having computer instructions or software codes stored therein which can be used to program computers or microprocessors to perform any of the processes of the present invention. The storage media can include, but is not limited to, floppy disks, optical discs, Blu-ray Disc, DVD, CD-ROMs, and magneto-optical disks, ROMs, RAMs, flash memory devices, or any type of media or devices suitable for storing instructions, codes, and/or data.


The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiment is therefore to be considered in all respects as illustrative and not restrictive. The scope of the invention is indicated by the appended claims rather than by the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.

Claims
  • 1. A computer-implemented method for scheduling a cluster tool for a close-down process, the cluster tool comprising a single-arm robot for wafer handling, loadlocks for wafer cassette loading and unloading, and n process modules each for performing a wafer-processing step with a wafer residency time constraint where the ith process module, i ∈ {1, 2, . . . , n}, is used for performing Step i of the n wafer-processing steps for each wafer, the method comprising: determining, by a processor, a lower workload iL of Step i as follows: iL=ai+4α+3μ, i ∈ Nn\[1];1L=a1+3α+α0+3μ;determining, by a processor, an upper workload iU of Step i as follows: iU=ai+4α+3μ+δi, i ∈ Nn\[1];1U=a1+3α+α0+3μ+δ1;determining, by a processor, that the workloads are balanced among the Steps if [1L, 1U] ∩ [2L, 2U] ∩ . . . ∩ [nL, nU]≠Ø;determining, by a processor, a robot waiting time ωid, d≦i≦n, 0≦d≦n−1, and ωnn as follows:let ψc0=ψ1, during the period from Mcd to Mc(d+1), 1≦d≦n−1, let max=max{iL, i ∈ Nn\Nd−1}, ωid=0, i ∈ Nn\Nd−1, and ωnd=max{dmax−ψc(d−1), 0}, where ψc(d−1)=2(n−d+2)μ+2(n−d+2)α, 2≦d≦n;during the period from Mcn to Mce, let ωnn=an;determining, by a processor, a schedule for the close-down process based on the robot waiting time determined;ai, i ∈ Nn, is a time that a wafer is processed in the ith process module;δi is the wafer residency time constraint of Step i, given by a pre-determined longest time for which a wafer in the ith process module is allowed to stay therein after this wafer is processed;α is a time of loading a wafer to or unloading the wafer to the robot in Step i;μ is a time of the robot moving from one wafer-processing step to another;α0 is a time of the robot unloading a wafer from the loadlocks and aligning the same;Mcd denotes a dth state during the close-down process of the cluster tool; andMce denotes a final state during the close-down process of the cluster tool.
  • 2. The method of claim 1, further comprising a step of determining, by a processor, whether the cluster tool is schedulable at steady state.
  • 3. The method of claim 1, further comprising a step of determining, by a processor, the cluster tool to be schedulable at steady state if max≦iU and ψ1≦iU, i ∈ Nn, where max=max{iL, i ∈ Nn} and ψ1=2(n+1)μ+(2n+1)α+α0.
  • 4. The method of claim 1, wherein the robot waiting time is determined based on a petri net model.
  • 5. A computer-implemented method for scheduling a cluster tool for a close-down process, the cluster tool comprising a single-arm robot for wafer handling, loadlocks for wafer cassette loading and unloading, and n process modules each for performing a wafer-processing step with a wafer residency time constraint where the ith process module, i ∈ {1, 2, . . . , n}, is used for performing Step i of the n wafer-processing steps for each wafer, the method comprising: determining, by a processor, a lower workload iL of Step i as follows: iL=ai+4α+3μ, i ∈ Nn\{1};1L=a1+3α+α0+3μ;determining, by a processor, an upper workload iU of Step i as follows: iU=ai+4α+3μ+δi, i ∈ Nn\{1};1U=a1+3α+α0+3μ+δ1;determinig, by a processor, that the workloads are unbalanced among the Steps if [1L, 1U] ∩ [2L, 2U] ∩ . . . ∩ [nL, nU]≠Ø; determining, by a processor, a robot waiting time ωid, d≦i≦n, 0≦d≦n as follows:1) ωid=ωi, d≦i≦n−1, 0≦d≦n−1 where ωi is an ith robot waiting time at steady state, and obtained by:
  • 6. The method of claim 5, further comprising a step of determining, by a processor, whether the cluster tool is schedulable at steady state.
  • 7. The method of claim 5, further comprising a step of determining, by a processor, the cluster tool to be schedulable at steady state if iU<max with i ∈ E≠Ø, iU≧max with i ∈ F, and Σi∈Eωi−1+ψ1≦max, and a robot waiting time at steady state is set to make the cluster tool to be schedulable.
  • 8. The method of claim 5, wherein the robot waiting time is determined based on a linear programming model.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application No. 62/221,027, filed on Sep. 20, 2015, which is incorporated by reference herein in its entirety.

Provisional Applications (1)
Number Date Country
62221027 Sep 2015 US