Cycle Time Analysis for Wafer Revisiting Process in Scheduling of Single-arm Cluster Tools

Similar documents
Resource-Oriented Petri Nets in Deadlock Avoidance of AGV Systems

A NOVEL SIMULATION METHODOLOGY FOR MODELING CLUSTER TOOLS. Emrah Cimren Robert Havey DongJin Kim

THROUGHPUT ANALYSIS OF MANUFACTURING CELLS USING TIMED PETRI NETS

Modelling of Railway Network Using Petri Nets

Elementary Siphons of Petri Nets and Deadlock Control in FMS

Computers and Mathematics with Applications. Module-based architecture for a periodic job-shop scheduling problem

A Deadlock Prevention Policy for Flexible Manufacturing Systems Using Siphons

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution

NECESSARY AND SUFFICIENT CONDITIONS FOR DEADLOCKS IN FLEXIBLE MANUFACTURING SYSTEMS BASED ON A DIGRAPH MODEL

Throughput Optimization in Single and Dual-Gripper Robotic Cells

Structural Analysis of Resource Allocation Systems with Synchronization Constraints

Time Petri Nets. Miriam Zia School of Computer Science McGill University

OPTIMAL TOKEN ALLOCATION IN TIMED CYCLIC EVENT GRAPHS

Evaluating the Impact of Process Changes on Cluster Tool Performance

A Polynomial-Time Algorithm for Checking Consistency of Free-Choice Signal Transition Graphs

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS

Curriculum Vitae Name: Education degree: Postal address: Phone: Cellular phone: Fax: Research and Teaching Interests Current Position

Stochastic Petri Net. Ben, Yue (Cindy) 2013/05/08

Scheduling jobs with agreeable processing times and due dates on a single batch processing machine

Time and Timed Petri Nets

A deadlock prevention method for railway networks using monitors for colored Petri nets

2.13 Maximum flow with a strictly positive initial feasible flow

Linear programming techniques for analysis and control of batches Petri nets

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Exact Mixed Integer Programming for Integrated Scheduling and Process Planning in Flexible Environment

A Siphon-based Deadlock Prevention Policy for a Class of Petri Nets - S 3 PMR

The network maintenance problem

STABILITY ANALYSIS OF DAMPED SDOF SYSTEMS WITH TWO TIME DELAYS IN STATE FEEDBACK

ONE NOVEL COMPUTATIONALLY IMPROVED OPTIMAL CONTROL POLICY FOR DEADLOCK PROBLEMS OF FLEXIBLE MANUFACTURING SYSTEMS USING PETRI NETS

Cycle time optimization of deterministic timed weighted marked graphs by transformation

c 2011 Nisha Somnath

Lecture 8: Column Generation

Using Shared-Resource Capacity for Robust Control of Failure-Prone Manufacturing Systems

Observer-based sampled-data controller of linear system for the wave energy converter

Analysis and Optimization of Discrete Event Systems using Petri Nets

DEPARTMENT OF STATISTICS AND OPERATIONS RESEARCH OPERATIONS RESEARCH DETERMINISTIC QUALIFYING EXAMINATION. Part I: Short Questions

A Generalized Stochastic Petri net Model for Performance Analysis and Control of Capacitated Re-entrant Lines

[4] T. I. Seidman, \\First Come First Serve" is Unstable!," tech. rep., University of Maryland Baltimore County, 1993.

Research Article Mathematical Model and Cluster Synchronization for a Complex Dynamical Network with Two Types of Chaotic Oscillators

A Semiconductor Wafer

On Qualitative Analysis of Fault Trees Using Structurally Persistent Nets

A Method for Sweet Point Operation of Re-entrant Lines

Intuitionistic Fuzzy Estimation of the Ant Methodology

HYPENS Manual. Fausto Sessego, Alessandro Giua, Carla Seatzu. February 7, 2008

IN AN industrial automated manufacturing system (AMS),

DESIGN OF LIVENESS-ENFORCING SUPERVISORS VIA TRANSFORMING PLANT PETRI NET MODELS OF FMS

Optical time-domain differentiation based on intensive differential group delay

Exercises Stochastic Performance Modelling. Hamilton Institute, Summer 2010

Stochastic Petri Nets. Jonatan Lindén. Modelling SPN GSPN. Performance measures. Almost none of the theory. December 8, 2010

On the Optimality of Randomized Deadlock Avoidance Policies

A Self-adaption Quantum Genetic Algorithm Used in the Design of Command and Control Structure

Product Quality Prediction by a Neural Soft-Sensor Based on MSA and PCA

Research Article Comparison and Evaluation of Deadlock Prevention Methods for Different Size Automated Manufacturing Systems

On the Cross-Correlation of a p-ary m-sequence of Period p 2m 1 and Its Decimated

Transfer Line Balancing Problem

MQNA - Markovian Queueing Networks Analyser

c 2014 Vijayalakshmi Deverakonda

The Passport Control Problem or How to Keep an Unstable Service System Load Balanced?

Analysis of real-time system conflict based on fuzzy time Petri nets

Curriculum Vitae. Ran Wei

7. Queueing Systems. 8. Petri nets vs. State Automata

Multi-criteria approximation schemes for the resource constrained shortest path problem

System Reliability Allocation Based on Bayesian Network

Low complexity state metric compression technique in turbo decoder

Classes of Petri Nets That a Necessary and Sufficient Condition for Reachability is Obtainable

ORI 390Q Models and Analysis of Manufacturing Systems First Exam, fall 1994

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

Simultaneous Integrated Model with Multiobjective for Continuous Berth Allocation and Quay Crane Scheduling Problem

STOCHASTIC MODELLING OF A COMPUTER SYSTEM WITH HARDWARE REDUNDANCY SUBJECT TO MAXIMUM REPAIR TIME

Optimal Checkpoint Placement on Real-Time Tasks with Harmonic Periods

Industrial Automation (Automação de Processos Industriais)

Research Article Convex Polyhedron Method to Stability of Continuous Systems with Two Additive Time-Varying Delay Components

Petri Nets (for Planners)

Yu (Marco) Nie. Appointment Northwestern University Assistant Professor, Department of Civil and Environmental Engineering, Fall present.

NEW COLOURED REDUCTIONS FOR SOFTWARE VALIDATION. Sami Evangelista Serge Haddad Jean-François Pradat-Peyre

Chapter 3: Discrete Optimization Integer Programming

Some results on cross-correlation distribution between a p-ary m-sequence and its decimated sequences

RO: Exercices Mixed Integer Programming

Minimizing Mean Flowtime and Makespan on Master-Slave Systems

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Operations Research Letters. Instability of FIFO in a simple queueing system with arbitrarily low loads

Time-optimal scheduling for high throughput screening processes using cyclic discrete event models

Optimal Consecutive-$ $i$ $k$ $/i$ $-out-of-$ $i$ $(2k+1)$ $/i$ $: $ $i$ $G$ $/i$ $ Cycle. Technical Report

Determination of accelerated condition for brush wear of small brush-type DC motor in using Design of Experiment (DOE) based on the Taguchi method

CMSC 722, AI Planning. Planning and Scheduling

ADVANCED ROBOTICS. PLAN REPRESENTATION Generalized Stochastic Petri nets and Markov Decision Processes

Estimating analytically the capacity of batch plants with shared equipment: a yoghurt plant case study

An Effective Chromosome Representation for Evolving Flexible Job Shop Schedules

A Hybrid Time-delay Prediction Method for Networked Control System

Property-preserving subnet reductions for designing manufacturing systems with shared resources

On correlation between two real interval sets

Delay-dependent Stability Analysis for Markovian Jump Systems with Interval Time-varying-delays

Surveying, Mapping and Remote Sensing (LIESMARS), Wuhan University, China

The Expected Opportunity Cost and Selecting the Optimal Subset

THIS paper is aimed at designing efficient decoding algorithms

A Method Based on Depth-first Search to Compute All Minimal Siphons

EDF Feasibility and Hardware Accelerators

THE power transfer capability is one of the most fundamental

SCHEDULING POLICIES IN MULTI-PRODUCT MANUFACTURING SYSTEMS WITH SEQUENCE-DEPENDENT SETUP TIMES

A Halal and Quality Attributes Driven Animal Products Formal Producing System Based on HQESPNM

Transcription:

International Journal of Automation and Computing 8(4), November 2011, 437-444 DOI: 10.1007/s11633-011-0601-5 Cycle Time Analysis for Wafer Revisiting Process in Scheduling of Single-arm Cluster Tools Yu-Xi Sun Nai-Qi Wu School of Mechatronics Engineering, Guangdong University of Technology, Guangzhou 510006, PRC Abstract: Some wafer fabrication processes performed by cluster tools require revisiting. With wafer revisiting, a cluster tool is very difficult to be scheduled due to a large number of possible schedules for the revisiting process. Atomic layer deposition (ALD) is a typical process with wafer revisiting that should be performed by cluster tools. This paper discusses the scheduling problem of single-arm cluster tools for the ALD process. In scheduling such a system, the most difficult part is to schedule the revisiting process such that the cycle time is minimized. Thus, this paper studies the revisiting process of ALD with revisiting times k = 3, 4, and 5, and analytical expressions are obtained to calculate the cycle time for the k possible schedules. Then, the schedule with the minimal cycle time is the optimal one. In this way, the scheduling problem of such a revisiting process becomes very simple and this is a significant improvement in scheduling cluster tools with wafer revisiting. Illustrative example is presented to show the application of the proposed method. Keywords: Scheduling, semiconductor manufacturing, cluster tools, Petri net, automated manufacturing systems. 1 Introduction Cluster tools have been increasingly used in the wafer fabrication process [1]. A cluster tool comprises one or two load-locks where wafers enter and exit the cluster tool, a number of processing modules (PMs), an aligner module, and a wafer handling robot, which transports the wafers such that several processing steps can be done simultaneously. The robot can be a single-arm or dual-arm type. Due to lower cost, improved robot speed, and scheduling simplicity, single-arm type is still widely used. With two load-locks, a cluster tool can be operated in an uninterrupted way for a batch of identical wafers. Thus, a steady-state cyclic schedule is desired, and often, it is a onewafer cyclic schedule. To discover the operational properties of cluster tools, attempts have been made in their modeling and performance evaluation [2 6]. With these models, a periodic steady-state schedule can be found. The operations of a cluster tool are divided into two different regions: transport-bound and process-bound regions. In the former, the robot is always busy and the period of the system is a function of robot task times. In the latter, the robot has idle time and the period is determined by the processing times in the PMs. As pointed out in [7], in cluster tools, PM activities follow the robot tasks. Hence, it is important to schedule the robot tasks. For cluster tools, the robot moving time from one PM to another can be treated as a constant and is much shorter than the wafer processing times [8]. Thus, for such cluster tools with one-wafer cyclic schedule, backward scheduling is optimal [9, 10]. For backward scheduling, the cycle is determined by the so-called fundamental period (FP) [3, 4]. Let ζ i denote time taken for completing a wafer at Step i in the steady-state process. Then, FP = max(ζ 1, ζ 2,, ζ n) for a system with n steps. Manuscript received February 5, 2010; revised October 8, 2010 This work was supported by National Natural Science Foundation of China (No. 60974098) and Research Foundation for the Doctoral Program of Higher Education (No. 20094420110002). Thus, it is very important to calculate FP and methods are to do so given in [3, 4]. The wafer fabrication process is characterized by revisiting. Some processes that are performed by a cluster tool require a revisiting. The atomic layer deposition (ALD) process is such a typical revisiting process [11]. With revisiting, a cluster tool is difficult to schedule because deadlock exists. A Petri net is developed for cluster tools to analyze the wafer fabrication process with revisiting in [12]. However, it presents no method for scheduling the system. Based on a Petri net model, a mixed integer programming model is proposed to schedule a single-arm cluster tool with wafer revisiting in [11]. However, it involves prohibitive computation for its computational complexity is exponential to the number of discrete variables. The ALD process contains three processing steps. A wafer visits the first step only once. After being processed by the first step, it visits the second and third steps consecutively. This process is then repeated for a number of times called revisiting times; occasionally, it is more than five times [11]. Let k be the number of revisiting times, such that a fabrication process can be denoted as (m 1, (m 2, m 3) k ), where m 1, m 2, and m 3 are the number of PMs for Steps 1, 2, and 3, respectively. For example, (1, (1, 2) 2 ) denotes that the number of PMs for Steps 1, 2, and 3 is 1, 1, and 2, respectively, and it needs to revisit Steps 2 and 3 twice. For this fabrication process, (m 2, m 3) k is called the revisiting process. Because of the wafer revisiting, Steps 2 and 3 are coupled together as a macro step. Thus, as FP is in a wafer fabrication process without revisiting, it is very important to obtain the cycle time for the revisiting process. To obtain the cycle time for the revisiting process, it needs to schedule the process such that the cycle time is minimized. However, scheduling the revisiting process is not trivial due to the fact that potential deadlock exists and there is a large number of possible schedules. Let τ 1, τ 2, and τ 3 denote the time needed for performing an operation at Steps 1, 2, and 3, respectively. When the

438 International Journal of Automation and Computing 8(4), November 2011 difference between τ 2 and τ 3 is not large, it is reasonable to configure the system such that m 2 = m 3 = 1. However, when the difference is large, it may need to configure the system such that m 2 = 1 and m 3 = 2, or m 2 = 2 and m 3 = 1. In [13], a method is proposed to schedule such a system to obtain a one-wafer cycle schedule. The system is modeled by a Petri net such that deadlock can be easily avoided. Then, based on the Petri net, a method is given to schedule the revisiting process so that the cycle time is minimized for the revisiting process. With the cycle time for the revisiting process, an optimal one-wafer cycle schedule can be obtained for the entire system. The key is to schedule the revisiting process and obtain the minimal cycle time. It is shown that, for the revisiting process (1, 1) k, the optimal one-wafer cycle schedule is determined and an analytical expression for calculating the cycle time is given. For revisiting processes (1, 2) k and (2, 1) k, it is shown that the optimal one-wafer scheduling can be selected among k schedules. Further, for (1, 2) 2, the two candidates are presented and analytical expressions are obtained to calculate their cycle times. By doing so, to select the optimal schedule from the two candidates, it needs to simply calculate their cycle times. Notice that, the number of revisiting times may be more than five, and the larger the number of revisiting times is, the more complex the scheduling problem is for the revisiting process. In [13], it does not present what are the k candidates and how to obtain the optimal one. Considering that the scheduling problem of the revisiting process is the most difficult part of scheduling singlearm cluster tools with revisiting, and following the work in [13], this paper discusses the scheduling problem of wafer revisiting process (1, 2) k with k = 3, 4, and 5. Given k, we present the k candidates and develop the analytical expression for each candidate to calculate its cycle time. Thus, it needs to simply calculate the cycle time for each candidate and obtain the optimal schedule. This is a significant improvement in scheduling cluster tools with wafer revisiting. With the scheduling problem for wafer revisiting process (1, 2) k, it is easy to obtain similar results for wafer revisiting process (2, 1) k. Thus, this paper focuses only on the wafer revisiting process (1, 2) k. In the next section, we briefly introduce the Petri net model and relative concepts presented in [13]. Then, the schedules and analytical expressions for cycle time calculation are derived in Section 3. Illustrative examples are presented to show the applications of the proposed method in Section 4. Conclusions are given in Section 5. Notations. C(p i, W d ): The color of token W d in p i. FP: Fundamental period. LEV: Leaving token from a circuit. M(RVC, LEV): The number of leaving tokens at marking M. PM: Processing module. PN: Petri net. RVC: Revisiting circuit. ST i: The set of tokens in p i at marking M. W d : The token representing the d-th wafer released into the system. W d (q): The q-th visit of token W d to a processing step. 2 System modeling and deadlock avoidance The Petri net (PN) model proposed in [13] is used to describe the revisiting process. In this section, a brief introduction is presented, for further detail, readers can see [13]. The PN model used is a finite capacity P N = (P, T, I, O, M, K), where P = {p 1, p 2,, p m} is a finite set of places, T = {t 1, t 2,, t n} is a finite set of transitions, P T, P T =, I : P T N is an input function with N = {0, 1, 2, }, O : P T N is an output function, M : P N is a marking representing the number of tokens in places with M 0 denoting the initial marking, and K : P {1, 2, 3, } is a capacity function with K(p) representing the number of tokens that place 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}. The postset of t 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}. In the PN model, the robot activities are modeled by a macro transition t ij as shown in Fig. 1, where transition x ij is for the robot unloading a wafer from a PM at Step i, place y ij for moving from Step i to Step j, and transition z ij for the robot s loading the wafer into a PM at Step j. Transition t 0 models the robot moving from a PM to another without carrying a wafer. Fig. 1 PN model for robot activities To model the ALD process (1, (1, 2) k ), place p i is used to model processing step i with Step 0 being the load-locks. The number of PMs at Steps 1, 2, and 3 is 1, 1, and 2, so K(p 1) = K(p 2) = 1 and K(p 3) = 2. Because the loadlocks can hold all the wafers in the system, it is reasonable to assume that K(p 0) =. Then, the process can be modeled as follows: put macro transition t ij between p i and p j to connect p i and p j, if the wafers go to p j after being processed by p i. For revisiting process (m i, m i+1) k, there is a macro-transition t (i+1)i that connects p i+1 and p i. All the activities modeled by any macro transition t ij should be performed by the robot. Thus, for every transition t ij, add an arc from r 2 to t ij and another arc from t ij to r 1. In this way, a PN model for ALD process (1, (1, 2) k ) is obtained as shown in Fig. 2. In this model, circuit (p 2, t 23, p 3, t 32, p 2) describes the revisiting process and is called revisiting circuit (RVC).

Y. X. Sun and N. Q. Wu / Cycle Time Analysis for Wafer Revisiting Process in 439 RVC and M(RVC, PAV) = K(RVC) M(RVC) + M(RVC, LEV) be the number of potentially available spaces in the RVC at marking M. Then, we have the following result. Lemma 1 [13]. The PN model developed for a single-arm cluster tool with revisiting is deadlock-free if and only if for the RVC and at any marking M. M(RVC, PAV) 1. (1) Fig. 2 The PN model for flow pattern (1, (1, 2) k ) To avoid confusion, colors are introduced into the model. The color of a macro-transition is defined as C(t ij) = c ij. The color of a token W d in p i is defined as C(p i, W d ) = c ij if the token goes to p j after being processed in a PM modeled by p i. The transition enabling and firing rules are defined in [13]. For the purpose of scheduling, the temporal aspect of activities should be considered. In cluster tools, the time taken by a robot picking a wafer up, loading a wafer into a PM, and moving can be thought of as a constant. Thus, the times associated with x ij, y ij, z ij, and t 0 are denoted as α, µ, β, and γ, respectively. Notice that t 0 also represents that the robot moves from p i to p i, it is called a virtual t 0. In this case, the time taken is zero. Further, let τ i be the time associated with place p i, i.e., the time needed for a wafer to be processed at Step i. Let W d (q) in p i denote a token representing that the d-th wafer visits p i at the q-th time, and ST i denote the set of tokens in p i at marking M representing the wafers processed at Step i. For example, ST 2 = {W d (2)} represents that the d-th wafer for its second visiting is being processed at Step 2. Then, a marking for the system can be equivalently represented by (ST 1, ST 2, ST 3). For example, M = ({W 4(1)}, {W 3(1)}, {W 2(1), W 1(1)}) is a marking at which the system is deadlocked. A macro transition t ij is said to be an input (output) transition of an RVC if t ij is not on it, but t ij( t ij) is on it. Notice that an RVC in the PN model developed in the last section has one and only one input (output) transition. For example, in the PN shown in Fig. 2, t 12 is the only input transition of the unique RVC in it, and t 30 is the only output one. If p i is on an RVC, p i t 30, and token W d (q) in p i at marking M enables t 30, this token is said to be a leaving one. Let M(RVC, LEV) denote the number of leaving tokens of RVC at marking M. When a leaving token leaves p i by firing t out, a space in p i is freed. Thus, a space occupied by a leaving token in p i is potentially available. Let P (RVC) denote the set of places that are on the RVC and K(RVC) = p i P (RVC) K(pi). Further, let M(RVC) = p i P (RVC) M(pi) be the number of tokens in Let Π = max Mi R(M 0 )(M i(rvc)) and at the same time the condition given by (1) is satisfied. In other words, Π is the largest number of tokens in RVC without being deadlocked. Then, a marking M R(M 0) is said to be a feasible and maximally concurrent marking for revisiting process (1, 2) k, if M(RVC) = Π. When the RVC contains the largest number of tokens, it implies that the number of wafers being processed in the RVC is maximized. In this case, the productivity must be maximized. Thus, for an optimal steady-state periodical schedule, the revisiting process must undergo a feasible and maximally concurrent marking M. Therefore, we can select the maximally concurrent markings as the start markings for analyzing the cycle time of the revisiting process. With this observation, we schedule the revisiting processes as follows. 3 Cycle time for the revisiting process 3.1 Case 1: k = 3 When k = 3, the wafer revisiting process is (1, 2) 3. Then, there are three feasible and maximally concurrent markings: ({W 3(1)}, {W 2(1), W 1(3)}), ({W 3(1)}, {W 2(2), W 1(3)}), and ({W 3(1)}, {W 2(3), W 1(3)}). Thus, to obtain the optimal schedule, it needs to schedule the system by starting from the three feasible and maximally concurrent markings. By starting from ({W 3(1)}, {W 2(1), W 1(3)}), we obtain the unique schedule σ 31 = {({W 3(1)}, {W 2(1), W 1(3)}) t 0(to p 3) t 30 ({W 3(1)}, {W 2(1), null}) t 0(to p 2) t 23 ({}, {W 2(1), W 3(1)}) t 0(in p 3) t 32 ({W 2(2)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(2), W 3(1)}) (virtual t 0) t 32 ({W 2(3)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(3), W 3(1)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(3), W 3(1)})}. The diagram for this schedule is shown in Fig. 3, where σ = {t 0 (in p 3)} represents that the robot moves between the PMs in p 3. For this schedule, when the robot reaches p 3 to unload W 2(1), W 2(1) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3)} and {processing of W 1(3) in p 3} are being concurrently done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also being concurrently done. We use θ( ) to denote the time needed for completing a sequence of transition firings. Thus, ψ 31 = max{θ({t 0 (to p 1) t 12 t 0 (to p 3)}), θ({processing of W 1(3) in p 3}), θ({processing of W 3(1) in p 2})} + θ({t 30 t 0 (to p 2) t 23}) + θ({t 0 (in p 3) t 32}) + θ({processing of W 2(2) in p 2}) + θ({t 23}) + θ({processing of W 2(2) in p 3}) + θ({t 32}) + θ({processing of W 2(3) in p 2}) + θ({t 23}), or ψ 31 = max{(2γ + α + µ + β), τ 2, τ 3} + 6(α + µ + β)+ 2γ + 2τ 2 + τ 3 (2)

440 International Journal of Automation and Computing 8(4), November 2011 W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({processing of W 2(2) in p 3}) θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)}), or τ 3 4γ + 3(α+µ+β). In this case, we have ψ 32 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + θ({processing of W 3(1) in p 3}) + θ({t 32}) + θ({processing of W 3(2) in p 2}) + θ({t 23}). Hence ψ 32 = (3(α + µ + β) + 3γ) + τ 3 + (2(α + µ + β) + τ 2). (4) 3) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)}) > θ({processing of W 2(2) in p 3}), or 4γ + 3(α+µ+β) > τ 3. In this case, we have ψ 32 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + max{θ({t 0 (in p 3) t 32 ({processing of W 2(3) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 3(1) in p 3})} + θ({t 32}) + θ({processing of W 3(2) in p 2}) + θ({t 23}). Therefore, ψ 32 = (3(α + µ + β) + 3γ) + max((2γ + 2(α + µ + β)+ τ 2), τ 3) + (2(α + µ + β) + τ 2). (5) Fig. 3 The diagram for the schedule For ({W 3(1)}, {W 2(2), W 1(3)}), we obtain the unique schedule σ 32 = {({W 3(1)}, {W 2(2), W 1(3)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(2), null}) t 0 (to p 2) t 23 ({}, {W 2(2), W 3(1)}) t 0 (in p 3) t 32 ({W 2(3)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(3), W 3(1)}) t 0 (in p 3) t 32 ({W 3(2)}, {W 2(3), null}) (virtual t 0) t 23 ({}, {W 2(3), W 3(2)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(3), W 3(2)})}. In this schedule, when the robot reaches p 3 to unload W 1(3), W 1(3) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)} and {processing of W 2(2) in p 3} are concurrently being done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also concurrently being done. Moreover, {t 0 (in p 3) t 32 ({processing of W 2(3) in p 2}) t 23 t 0 (in p 3)} and {processing of W 3(1) in p 3} are concurrently being done. For this schedule, to obtain the analytical expression of the cycle time, there are three cases as below. 1) θ({processing of W 3(1) in p 2}) θ({ t 0 (to p 3) t 30 t 0 (to p 2)}), or τ 2 2γ + α + µ + β. For this case, we have ψ 32 = max{θ({t 0 (to p 1) t 12 {processing of W 3(1) in p 2} t 23 t 0 (in p 3)}), θ({processing of W 2(2) in p 3})} + θ({t 32 ({processing of W 2(3) in p 2}) t 23 t 0 (in p 3)}) + θ({t 32}) + θ({processing of W 3(2) in p 2}) + θ({t 23}), or ψ 32 = max{(2γ + 2(α + µ + β) + τ 2), τ 3} + (2(α + µ+ β) + γ + τ 2) + (2(α + µ + β) + τ 2). (3) 2) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of With ({W 3(1)}, {W 2(3), W 1(3)}), we obtain the unique schedule σ 33 = {({W 3(1)}, {W 2(3), W 1(3)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(3), null}) t 0 (to p 2) t 23 ({}, {W 2(3), W 3(1)}) (virtual t 0) {t 32 and then t 23}(2 times) ({}, {W 2(3), W 3(3)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(3), W 3(3)})}. Notice that, for this schedule, when the robot reaches p 3 to unload W 1(3), W 1(3) is already completed. Furthermore, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are being concurrently done. Thus, we have ψ 33 = max{θ({t 0 (to p 3) t 30 t 0 (to p 2)}), θ({processing W 3(1) in p 2})} + θ({t 23}) + θ({processing of W 3(1) in p 3}) + 2θ({ t 32 and then t 23}) + θ({t 0 (to p 1) t 12}), or ψ 33 = max{(2γ + α + µ + β), τ 2} + 2(α + µ + β) + γ + τ 3+ (4(α + µ + β) + 2τ 2 + τ 3). (6) Given values of α, µ, β, γ, τ 2, and τ 3, we can easily obtain ψ 31, ψ 32, and ψ 33. Then, we can obtain ψ = min{ψ 31, ψ 32, ψ 33} and the corresponding optimal schedule. 3.2 Case 2: k = 4 With k = 4, the wafer revisiting process is (1, 2) 4. For this process, it has four feasible and maximally concurrent markings: ({W 3(1)}, {W 2(1), W 1(4)}), ({W 3(1)}, {W 2(2), W 1(4)}), ({W 3(1)}, {W 2(3), W 1(4)}), and ({W 3(1)}, {W 2(4), W 1(4)}). Then, the process can be scheduled as follows. Starting from marking ({W 3(1)}, {W 2(1), W 1(4)}), we can obtain the unique schedule σ 41 = {({W 3(1)}, {W 2(1), W 1(4)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(1), null}) t 0 (to p 2) t 23 ({}, {W 2(1), W 3(1)}) t 0 (in p 3) {t 32 and then t 23}(3 times) ({}, {W 2(4), W 3(1)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(4), W 3(1)})}. For this schedule, when the robot reaches p 3 to unload W 2(1), W 2(1) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3)} and {processing of W 1(4) in p 3} are being concurrently done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also being concurrently done. With this

Y. X. Sun and N. Q. Wu / Cycle Time Analysis for Wafer Revisiting Process in 441 schedule, we have ψ 41 = max {θ({t 0 (to p 1) t 12 t 0 (to p 3)}), θ({processing of W 1(4) in p 3}), θ({processing of W 3(1) in p 2})} + θ({t 30 t 0 (to p 2) t 23}) + θ({t 0 (in p 3)}) + 3θ({t 32 and then t 23}). With 3θ({t 32 and then t 23}) = 6(α + µ + β) + 3τ 2+ 2τ 3, therefore, ψ 41 = max{(2γ + α + µ + β), τ 2, τ 3} + 2(α + µ + β) + 2γ+ (6(α + µ + β) + 3τ 2 + 2τ 3). (7) With ({W 3(1)}, {W 2(2), W 1(4)}), we obtain the schedule σ 42 = {({W 3(1)}, {W 2(2), W 1(4)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(2), null}) t 0 (to p 2) t 23 ({}, {W 2(2), W 3(1)}) t 0 (in p 3) t 32 ({W 2(3)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(3), W 3(1)}) t 0 (in p 3) t 32 ({W 3(2)}, {W 2(3), null}) (virtual t 0) t 23 ({}, {W 2(3), W 3(2)}) t 0(in p 3) t 32 ({W 2(4)}, {null, W 3(2)}) (virtual t 0) t 23 ({}, {W 2(4), W 3(2)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(4), W 3(2)})}. For this schedule, when the robot reaches p 3 to unload W 2(2), W 2(2) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3)} and {processing of W 1(4) in p 3} are being concurrently done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also being concurrently done. Moreover, {t 0 (in p 3) t 32 ({processing of W 2(3) in p 2}) t 23 t 0 (in p 3)} and {processing of W 3(1) in p 3} are concurrently being done, {t 0 (in p 3) t 32 ({processing of W 3(2) in p 2}) t 23 t 0(in p 3)} and {processing of W 2(3) in p 3} are also being concurrently done. Thus, ψ 42 = max{θ({t 0 (to p 1) t 12 t 0 (to p 3)}), θ({processing of W 1(4) in p 3}), θ({processing of W 3(1) in p 2})} + θ({t 30 t 0 (to p 2) t 23}) + max{θ({t 0 (in p 3) t 32 ({processing of W 2(3) in p 2}) t 23 t 0(in p 3)}), θ({processing of W 3(1) in p 3})} + θ({t 32 ({processing of W 3(2) in p 2}) t 23 t 0 (in p 3)}) + θ({t 32}) + θ({processing of W 2(4) in p 2}) + θ({t 23}), or ψ 42 = max{(2γ + α + µ + β), τ 2, τ 3} + (2(α + µ + β) + γ)+ max{(2γ + 2(α + µ + β) + τ 2), τ 3}+ (4(α + µ + β) + 2τ 2 + γ). (8) By starting from marking ({W 3(1)}, {W 2(3), W 1(4)}), we obtain the schedule σ 43 = {({W 3(1)}, {W 2(3), W 1(4)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(3), null}) t 0 (to p 2) t 23 ({}, {W 2(3), W 3(1)}) t 0 (in p 3) t 32 ({W 2(4)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(4), W 3(1)}) t 0 (in p 3) {t 32 and then t 23}(2 times) ({}, {W 2(4), W 3(3)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(4), W 3(3)})}. For this schedule, when the robot reaches p 3 to unload W 1(4), W 1(4) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)} and {processing of W 2(3) in p 3} are concurrently being done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also concurrently being done. Moreover, {t 0 (in p 3) t 32 ({processing of W 2(4) in p 2}) t 23 t 0 (in p 3)} and {processing of W 3(1) in p 3} are concurrently being done. For this schedule, there are three cases as follows. 1) θ({processing of W 3(1) in p 2}) θ({t 0 (to p 3) t 30 t 0 (to p 2)}), or τ 2 2γ + α + µ + β. In this case, we have ψ 43 = max{θ({t 0 (to p 1) t 12 ({processing of W 3(1) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 2(3) in p 3})} + θ({t 32 ({processing of W 2(4) in p 2}) t 23 t 0 (in p 3)}) + 2θ({ t 32 and then t 23}). With 2θ({t 32 and then t 23}) = 4(α + µ + β) + 2τ 2 + τ 3, we obtain ψ 43 = max{(2γ + 2(α + µ + β) + τ 2), τ 3} + (2(α + µ+ β) + γ + τ 2) + (4(α + µ + β) + 2τ 2 + τ 3). (9) 2) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({processing of W 2(3) in p 3}) θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0(in p 3)}), or τ 3 4γ + 3(α + µ + β). In this case, we have ψ 43 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + θ({processing of W 3(1) in p 3}) + 2θ({ t 32 and then t 23}). Hence, ψ 43 = (3(α+µ+β)+3γ)+τ 3+(4(α+µ+β)+2τ 2+τ 3). (10) 3) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)}) > θ({processing of W 2(3) in p 3}), or 4γ + 3(α+µ+β) > τ 3. In this case, we have ψ 43 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + max{θ({t 0 (in p 3) t 32 ({processing of W 2(4) in p 2}) t 23 t 0(in p 3)}), θ({processing of W 3(1) in p 3})} + 2θ({ t 32 and then t 23}). Therefore, ψ 43 = (3(α + µ + β) + 3γ) + max{(2γ + 2(α + µ + β)+ τ 2)}, τ 3) + (4(α + µ + β) + 2τ 2 + τ 3). (11) By starting from marking ({W 3(1)}, {W 2(4), W 1(4)}), we obtain the schedule σ 44 = {({W 3(1)}, {W 2(4), W 1(4)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(4), null}) t 0 (to p 2) t 23 ({}, {W 2(4), W 3(1)}) (virtual t 0) {t 32 and then t 23}(3 times) ({}, {W 2(4), W 3(4)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(4), W 3(4)})}. Notice that, in this schedule, when the robot reaches p 3 to unload W 1(4), W 1(4) is already completed. Furthermore, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are being concurrently done. Thus, we have ψ 44 = max{θ({t 0 (to p 3) t 30 t 0 (to p 2)}), θ({processing W 3(1) in p 2})} + θ({t 23}) + θ({processing of W 3(1) in p 3}) + 3θ({t 32 and then t 23}) + θ({t 0 (to p 1) t 12}), or ψ 44 = max{(2γ + α + µ + β), τ 2} + 2(α + µ + β) + γ + τ 3+ (6(α + µ + β) + 3τ 2 + 2τ 3). (12) With (7) (12) obtained, one can easily find the optimal schedule for the wafer revisiting process (1, 2) 4. 3.3 Case 3: k = 5 With k = 5, the wafer revisiting process is (1, 2) 5 and there are five feasible and maximally concurrent markings: ({W 3(1)}, {W 2(1), W 1(5)}), ({W 3(1)}, {W 2(2), W 1(5)}), ({W 3(1)}, {W 2(3), W 1(5)}), ({W 3(1)}, {W 2(4), W 1(5)}), and ({W 3(1)}, {W 2(5), W 1(5)}). Then, the system can be scheduled as follows. By starting from marking ({W 3(1)}, {W 2(1), W 1(5)}), we obtain the unique schedule σ 51 = {({W 3(1)}, {W 2(1), W 1(5)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(1), null}) t 0 (to p 2) t 23 ({}, {W 2(1), W 3(1)}) t 0 (in p 3) {t 32 and then t 23}(4 times) ({}, {W 2(5), W 3(1)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(5), W 3(1)})}. For this

442 International Journal of Automation and Computing 8(4), November 2011 schedule, when the robot reaches p 3 to unload W 2(1), W 2(1) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3)} and {processing of W 1(5) in p 3} are being concurrently done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also being concurrently done. Thus, we have ψ 51 = max{θ({t 0 (to p 1) t 12 t 0 (to p 3)}), θ({processing of W 1(5) in p 3}), θ({processing of W 3(1) in p 2})} + θ({t 30 t 0 (to p 2) t 23}) + θ({t 0 (in p 3)}) + 4θ({t 32 and then t 23}). With 4θ({t 32 and then t 23}) = 8(α + µ + β) + 4τ 2+ 3τ 3, we have ψ 51 = max{(2γ + α + µ + β), τ 2, τ 3} + 2(α + µ + β) + 2γ+ (8(α + µ + β) + 4τ 2 + 3τ 3). (13) By starting from marking ({W 3(1)}, {W 2(2), W 1(5)}), we obtain the unique schedule σ 52 = {({W 3(1)}, {W 2(2), W 1(5)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(2), null}) t 0 (to p 2) t 23 ({}, {W 2(2), W 3(1)}) t 0 (in p 3) t 32 ({W 2(3)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(3), W 3(1)}) t 0 (in p 3) t 32 ({W 3(2)}, {W 2(3), null}) (virtual t 0) t 23 ({}, {W 2(3), W 3(2)}) t 0 (in p 3) {t 32 and then t 23}(2 times) ({}, {W 2(5), W 3(2)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(5), W 3(2)})}. For this schedule, {t 0 (to p 1) t 12 t 0 (to p 3)} and {processing of W 1(5) in p 3} are being concurrently done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also being concurrently done. Furthermore, when the robot reaches p 3 to unload W 2(2), W 2(2) is already completed. Moreover, {t 0 (in p 3) t 32 ({processing of W 2(3) in p 2}) t 23 t 0 (in p 3)} and {processing of W 3(1) in p 3} are being concurrently done, {t 0 (in p 3) t 32 ({processing of W 3(2) in p 2}) t 23 t 0 (in p 3)} and {processing of W 2(3) in p 3} are also being concurrently done. Thus, ψ 52 = max{θ({t 0 (to p 1) t 12 t 0 (to p 3)}), θ({processing of W 3(1) in p 2}), θ({processing of W 1(5) in p 3})} + θ({t 30 t 0 (to p 2) t 23}) + max{θ({t 0 (in p 3) t 32 ({processing of W 2(3) in p 2}) t 23 t 0(in p 3)}), θ({processing of W 3(1) in p 3})} + θ({t 32}) + θ({processing of W 3(2) in p 2}) + θ({t 23 t 0(in p 3)}) + 2θ({t 32 and then t 23}). With 2θ({t 32 and then t 23}) = 4(α+µ+β) + 2τ 2+τ 3, we have the following expression: ψ 52 = max{(2γ + α + µ + β), τ 2, τ 3} + (2(α + µ + β) + γ)+ max{(2γ + 2(α + µ + β) + τ 2), τ 3} + (γ + 2(α + µ+ β) + τ 2) + (4(α + µ + β) + 2τ 2 + τ 3). (14) By starting from marking ({W 3(1)}, {W 2(3), W 1(5)}), we obtain the unique schedule σ 53 ={({W 3(1)}, {W 2(3), W 1(5)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(3), null}) t 0 (to p 2) t 23 ({}, {W 2(3), W 3(1)}) t 0 (in p 3) t 32 ({W 2(4)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(4), W 3(1)}) t 0 (in p 3) t 32 ({W 3(2)}, {W 2(4), null}) (virtual t 0) t 23 ({}, {W 2(4), W 3(2)}) t 0 (in p 3) t 32 ({W 2(5)}, {null, W 3(2)}) (virtual t 0) t 23 ({}, {W 2(5), W 3(2)}) t 0 (in p 3) t 32 ({W 3(3)}, {W 2(5), null}) (virtual t 0) t 23 ({}, {W 2(5), W 3(3)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(5), W 3(3)})}. For this schedule, when the robot reaches p 3 to unload W 1(5), W 1(5) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)} and {processing of W 2(3) in p 3} are concurrently being done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also concurrently being done. Moreover, {t 0 (in p 3) t 32 ({processing of W 2(4) in p 2}) t 23 t 0 (in p 3)} and {processing of W 3(1) in p 3} are being concurrently done, {t 0 (in p 3) t 32 ({processing of W 3(2) in p 2}) t 23 t 0 (in p 3)} and {processing of W 2(4) in p 3} are also being concurrently done, and {t 0 (in p 3) t 32 ({processing of W 2(5) in p 2}) t 23 t 0 (in p 3)} and {processing of W 3(2) in p 3} are also being concurrently done. For this schedule, cycle time can be calculated as given in the three cases below. 1) θ({processing of W 3(1) in p 2}) θ({t 0 (to p 3) t 30 t 0 (to p 2)}), or τ 2 2γ + α + µ + β. In this case, we have ψ 53= max{θ({t 0 (to p 1) t 12 ({processing of W 3(1) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 2(3) in p 3})} + θ({t 32 ({processing of W 2(4) in p 2}) t 23 t 0 (in p 3)}) + max{θ({t 0 (in p 3) t 32 ({processing of W 3(2) in p 2}) t 23 t 0(in p 3)}), θ({processing of W 2(4) in p 3})} + θ({t 32 ({processing of W 2(5) in p 2}) t 23 t 0 (in p 3)}) + θ({t 32}) + θ({processing of W 3(3) in p 2}) + θ({t 23}), or ψ 53 = 2 max{(2γ + 2(α + µ + β) + τ 2), τ 3} + 2(2(α + µ+ β) + γ + τ 2) + (2(α + µ + β) + τ 2). (15) 2) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({processing of W 2(3) in p 3}) θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)}), namely τ 3 4γ + 3(α+µ+β). In this case, we have ψ 53 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + θ({processing of W 3(1) in p 3}) + max{θ({t 0 (in p 3) t 32 ({processing of W 3(2) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 2(4) in p 3})} + θ({t 32 ({processing of W 2(5) in p 2}) t 23 t 0 (in p 3)}) + θ({t 32}) + θ({processing of W 3(3) in p 2}) + θ({t 23}). Thus, ψ 53 = (3(α + µ + β) + 3γ) + τ 3 + max{(2γ + 2(α + µ+ β) + τ 2), τ 3} + (2(α + µ + β) + γ + τ 2) + (2(α+ µ + β) + τ 2). (16) 3) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)}) > θ({processing of W 2(3) in p 3}), namely 4γ + 3(α + µ + β) > τ 3. In this case, we have ψ 53 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + max{θ({t 0 (in p 3) t 32 ({processing of W 2(4) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 3(1) in p 3})} + max{θ({t 0 (in p 3) t 32 ({processing of W 3(2) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 2(4) in p 3})} + θ({t 32 ({processing of W 2(5) in p 2}) t 23 t 0 (in p 3)}) + θ({t 32}) + θ({processing of W 3(3) in p 2}) + θ({t 23}). Hence, ψ 53 = (3(α + µ + β) + 3γ) + 2 max{(2γ + 2(α + µ+ β) + τ 2), τ 3} + (2(α + µ + β) + γ + τ 2)+ (2(α + µ + β) + τ 2). (17) By starting from marking ({W 3(1)}, {W 2(4), W 1(5)}), we obtain the unique schedule σ 54 = {({W 3(1)}, {W 2(4), W 1(5)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(4), null}) t 0 (to p 2) t 23 ({}, {W 2(4), W 3(1)}) t 0 (in p 3)

Y. X. Sun and N. Q. Wu / Cycle Time Analysis for Wafer Revisiting Process in 443 t 32 ({W 2(5)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(5), W 3(1)}) t 0 (in p 3) {t 32 and then t 23}(3 times) ({}, {W 2(5), W 3(4)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(5), W 3(4)})}. For this schedule, when the robot reaches p 3 to unload W 1(5), W 1(5) is already completed. Furthermore, {t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)} and {processing of W 2(4) in p 3} are concurrently being done, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are also concurrently being done. Moreover, {t 0 (in p 3) t 32 ({processing of W 2(5) in p 2}) t 23 t 0 (in p 3)} and {processing of W 3(1) in p 3} are concurrently being done. There are also three cases for calculating the cycle time. 1) θ({processing of W 3(1) in p 2}) θ({ t 0 (to p 3) t 30 t 0 (to p 2)}), or τ 2 2γ + α + µ + β. In this case, we have ψ 54= max {θ({t 0 (to p 1) t 12 ({processing of W 3(1) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 2(4) in p 3})} + θ({t 32 ({processing of W 2(5) in p 2}) t 23 t 0 (in p 3)}) + 3θ({ t 32 and then t 23}). With 3θ({t 32 and then t 23}) = 6(α + µ + β) + 3τ 2+ 2τ 3, the cycle time can be calculated as ψ 54 = max{(2γ + 2(α + µ + β) + τ 2), τ 3} + (2(α + µ + β)+ γ + τ 2) + (6(α + µ + β) + 3τ 2 + 2τ 3). (18) 2) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({processing of W 2(4) in p 3}) θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)}), namely τ 3 4γ + 3(α + µ + β). In this case, we have ψ 54 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + θ({processing of W 3(1) in p 3}) + 3θ({ t 32 and then t 23}). Thus, ψ 54 = (3(α+µ+β)+3γ)+τ 3+(6(α+µ+β)+3τ 2+2τ 3). (19) 3) θ({t 0 (to p 3) t 30 t 0 (to p 2)}) > θ({processing of W 3(1) in p 2}), or 2γ + α + µ + β > τ 2 and θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23 t 0 (in p 3)}) > θ({processing of W 2(4) in p 3}), namely 4γ + 3(α + µ + β) > τ 3. In this case, we have ψ 54 = θ({t 0 (to p 1) t 12 t 0 (to p 3) t 30 t 0 (to p 2) t 23}) + max{θ({t 0 (in p 3) t 32 ({processing of W 2(5) in p 2}) t 23 t 0 (in p 3)}), θ({processing of W 3(1) in p 3})} + 3θ({ t 32 and then t 23}). Thus, ψ 54 = (3(α + µ + β) + 3γ) + max{(2γ + 2(α + µ + β)+ τ 2), τ 3} + (6(α + µ + β) + 3τ 2 + 2τ 3) (20) By starting from marking ({W 3(1)}, {W 2(5), W 1(5)}), we obtain the unique schedule σ 55 = {({W 3(1)}, {W 2(5), W 1(5)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(5), null}) t 0 (to p 2) t 23 ({}, {W 2(5), W 3(1)}) (virtual t 0) {t 32 and then t 23}(4 times) ({}, {W 2(5), W 3(5)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(5), W 3(5)})}. In this schedule, when the robot reaches p 3 to unload W 1(5), W 1(5) is already completed. Furthermore, {t 0 (to p 3) t 30 t 0 (to p 2)} and {processing of W 3(1) in p 2} are being concurrently done. Thus, we have ψ 55 = max{θ({t 0 (to p 3) t 30 t 0 (to p 2)}), θ({processing W 3(1) in p 2})} + θ({t 23}) + θ({processing of W 3(1) in p 3}) + 4θ({t 32 and then t 23}) + θ({t 0 (to p 1) t 12}), or ψ 55 = max{(2γ + α + µ + β), τ 2} + 2(α + µ + β) + γ + τ 3+ (8(α + µ + β) + 4τ 2 + 3τ 3). (21) By using (13) (21), it is easy to find the optimal schedule for the revisiting process and the corresponding minimal cycle time. All the expressions have been coded in a software-based system. When the parameters are known, we can simply enter the parameters to return an optimal schedule and cycle time. This cycle time can be treated just as the FP in the process without wafer revisiting. Notice that if the problem is to be solved by the mixed integer programming method presented by [11], it must be very difficult for there is a large number of binary variables when k > 2. As our method solves the problem of computational complexity, thus, the method proposed in this paper is applicable to real-world problems. 4 Illustrative example In this section, an illustrative example is presented to show the power and applications of the proposed method. Example. The wafer revisiting process is (1, 2) 5, and the parameters are τ 2 = 200 s, τ 3 = 250 s, and α = µ = β = γ = 3 s. It follows from (3.12) to (3.20) that ψ 51 = 1896 s, ψ 52 = 1428 s, ψ 53 = 1160 s, ψ 54 = 1625 s, and ψ 55 = 2093 s. Thus, σ 53 = {({W 3(1)}, {W 2(3), W 1(5)}) t 0 (to p 3) t 30 ({W 3(1)}, {W 2(3), null}) t 0 (to p 2) t 23 ({}, {W 2(3), W 3(1)}) t 0 (in p 3) t 32 ({W 2(4)}, {null, W 3(1)}) (virtual t 0) t 23 ({}, {W 2(4), W 3(1)}) t 0 (in p 3) t 32 ({W 3(2)}, {W 2(4), null}) (virtual t 0) t 23 ({}, {W 2(4), W 3(2)}) t 0 (in p 3) t 32 ({W 2(5)}, {null, W 3(2)}) (virtual t 0) t 23 ({}, {W 2(5), W 3(2)}) t 0 (in p 3) t 32 ({W 3(3)}, {W 2(5), null}) (virtual t 0) t 23 ({}, {W 2(5), W 3(3)}) t 0 (to p 1) t 12 ({W 4(1)}, {W 2(5), W 3(3)})} is the optimal schedule. Change τ 2 and τ 3 into τ 2 = 200 s and τ 3 = 200 s, respectively, we have ψ 51 = 1696 s, ψ 52 = 1302 s, ψ 53 = 1108 s, ψ 54 = 1499 s, and ψ 55 = 1893 s. Again, σ 53 is the optimal one. Change τ 2 and τ 3 into τ 2 = 250 s and τ 3 = 200 s, respectively, we have ψ 51 = 1946 s, ψ 52 = 1552 s, ψ 53 = 1358 s, ψ 54 = 1749 s, and ψ 55 = 2143 s, so we obtain the same result. Numerical experiments and simulation are done for a number of examples; it shows that the results obtained are correct. 5 Conclusions Wafer fabrication is characterized by revisiting. Some wafer fabrication processes performed by cluster tools contain a revisiting process. With wafer revisiting, there is a large number of possible schedules for the revisiting process, such that a cluster tool is very difficult to be scheduled. Atomic layer deposition (ALD) is a typical process with wafer revisiting that should be performed by cluster tools. This paper discusses the scheduling problem of single-arm cluster tools for the ALD process with wafer flow (1, (1, 2) k ). In scheduling such a system, the most difficult part is

444 International Journal of Automation and Computing 8(4), November 2011 to schedule the revisiting process and obtain its optimal cycle time. Based on the results obtained in [13], the scheduling problem of revisiting process (1, 2) k is studied. It is known that the optimal schedule should be selected from k possible schedules for a given k. Analytical expressions are obtained to calculate the cycle time for the k possible schedules with k = 3, 4, and 5, respectively. Then, the obtained schedule with the minimal cycle time is the optimal one. In this way, the scheduling problem of (1, 2) k becomes very simple and this is a significant improvement in scheduling cluster tools with wafer revisiting. With the results obtained, it is easy to get similar results for wafer revisiting process (2, 1) k. Another characteristic in wafer fabrication is wafer residency time constraint, which requires that a wafer should be taken away in a limited time after its completion of processing at a PM. In this study, we do not consider this constraint. It is our future work to schedule cluster tools with wafer revisiting by taking such a constraint into consideration. References [1] P. Burggraaf. Coping with the high cost of wafer fabs. Semiconductor International, vol. 38, no. 3, pp. 45 50, 1995. [2] S. Ding, J. Yi, M. T. Zhang. Multicluster tools scheduling : An integrated event graph and network model approach. IEEE Transactions on Semiconductor Manufacturing, vol. 19, no. 3, pp. 339 351, 2006. [3] T. L. Perkinson, P. K. MacLarty, R. S. Gyurcsik, R. K. Cavin III. Single-wafer cluster tool performance: An analysis of throughput. IEEE Transactions on Semiconductor Manufacturing, vol. 7, no. 3, pp. 369 373, 1994. [4] T. L. Perkinson, R. S. Gyurcsik, P. K. MacLarty. Singlewafer cluster tool performance: An analysis of the effects of redundant chambers and revisitation sequences on throughput. IEEE Transactions on Semiconductor Manufacturing, vol. 9, no. 3, pp. 384 400, 1996. [5] S. Venkatesh, R. Davenport, P. Foxhoven, J. Nulman. A steady-state throughput analysis of cluster tools: Dualblade versus single-blade robots. IEEE Transactions on Semiconductor Manufacturing, vol. 10, no. 4, pp. 418 424, 1997. [6] 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, 2001. [7] Y. H. Shin, T. E. Lee, J. H. Kim, H. Y. Lee. Modeling and implementing a real-time scheduler for dual-armed cluster tools. Computers in Industry, vol. 45, no. 1, pp. 13 27, 2001. [8] J. H. Kim, T. E. Lee, H. Y. Lee, D. B. Park. Scheduling analysis of timed-constrained dual-armed cluster tools. IEEE Transactions on Semiconductor Manufacturing, vol. 16, no. 3, pp. 521 534, 2003. [9] T. E. Lee, H. Y. Lee, Y. H. Shin. Workload balancing and scheduling of a single-armed cluster tool. In Proceedings of the 5th APIEMS Conference, Gold Coast, Australia, pp. 1 15, 2004. [10] M. J. Lopez, S. C. Wood. Systems of multiple cluster tools: Configuration, reliability, and performance. IEEE Transactions on Semiconductor Manufacturing, vol. 16, no. 2, pp. 170 178, 2003. [11] H. Y. Lee, T. E. Lee. Scheduling single-armed cluster tools with reentrant wafer flows. IEEE Transactions on Semiconductor Manufacturing, vol. 19, no. 2, pp. 226 240, 2006. [12] W. M. Zuberek. Cluster tools with chamber revisiting Modeling and analysis using timed Petri nets. IEEE Transactions on Semiconductor Manufacturing, vol. 17, no. 3, pp. 333 344, 2004. [13] N. Q. Wu, F. Chu, C. B. Chu, M. C. Zhou. Petri net-based scheduling of single-arm cluster tools with reentrant atomic layer deposition processes. IEEE Transactions on Automation Science and Engineering, vol. 8, no. 1, pp. 42 55, 2011. Yu-Xi Sun received his B. Sc. degree in mechanical engineering from Panzhihua University, Panzhihua, PRC in 2008. He is currently a master student in the Department of Industrial Engineering, School of Mechatronics Engineering, Guangdong University of Technology, Guangzhou, PRC. His research interests include manufacturing systems, scheduling, and control. E-mail: sunimperial@163.com Nai-Qi Wu received the M. Sc. and Ph. D. degrees in systems engineering both from Xi an Jiaotong University, Xi an, PRC in 1985 and 1988, respectively. From 1988 to 1995, he was with Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang, PRC, and from 1995 to 1998, with Shantou University, Shantou, PRC. In 1998, he moved to Guangdong University of Technology. From 1991 to 1992, he was a visiting scholar in the School of Industrial Engineering, Purdue University, West Lafayette, USA. In 1999, 2004, and 2007 2009, he was a visiting professor with the Department of Industrial Engineering, Arizona State University, Tempe, USA, the Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, USA, and Industrial Systems Engineering Department, Industrial Systems Optimization Laboratory, University of Technology of Troyes, Troyes, France, respectively. He is currently a professor of Industrial and Systems Engineering in the Department of Industrial Engineering, School of Mechatronics Engineering, Guangdong University of Technology, Guangzhou, PRC. He is an associate editor of the IEEE Transactions on Systems, Man, & Cybernetics, Part C and IEEE Transactions on Automation Science and Engineering and editor in chief of Industrial Engineering Journal. He was a program committee member of the 2003 2010 IEEE International Conference on Systems, Man, & Cybernetics, a program committee member of the 2005 2010 IEEE International Conference on Networking, Sensing and Control, a program committee member of the 2006, 2008 2010 IEEE International Conference on Automation Science and Engineering, a program committee member of the 2006 IEEE International Conference on Service Systems and Service Management, a program committee member of the 2007 International Conference on Engineering and Systems Management, and reviewer for many international journals. His research interests include production planning and scheduling, manufacturing system modeling and control, discrete event systems, Petri net theory and applications, transportation, and information assurance. E-mail: nqwu@gdut.edu.cn (Corresponding author)