A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates to a method for scheduling single-arm cluster tools. More particularly, the present invention relates to a method for scheduling single-arm cluster tools with wafer revisiting and residency time constraints.
The following references are cited in the specification. Disclosures of these references are incorporated herein by reference in their entirety.
List of References:
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, pp. 224-237, 2008.
With a single-wafer processing technology, cluster tools are widely used for wafer fabrication in semiconductor manufacturing. A typical cluster tool has several process modules (PMs), two loadlocks, and a wafer handling robot with a radical layout as shown in
Cluster tools are a kind of robotic cells and a robotic cell is a flow-shop with blocking [Pinedo, 1995]. Extensive work has been done for the operation of a robotic cell [Brauner, 2008; Crama et al., 1997 and 2000; Dawande et al., 2002, 2007 and 2009; Geismar et al., 2006 and 2008; Sechi et al., 1992 and 2001]. They mainly focus on a flow-shop operation mode with one part type to be processed and a processed part can stay at a machine for an unlimited time. A cyclic schedule is called a k-unit schedule if exactly k parts are produced during every period [Sechi et al., 1992]. When k=1, it is a one-unit cyclic schedule. Owing to its easy implementation, one-unit cyclic schedule is the most desired in practice assuming that all the schedules achieve the same maximum throughput.
To effectively operate a single-cluster tool, plenty of studies have been done [Venkatesh et al., 1997; Perkinson et al., 1994 and 1996; Zuberek, 2001; Wu et al., 2011 and 2013; and Wu and Zhou, 2010a, 2012a, and 2012b]. They show that a cluster tool mostly operates under a steady state. If the robot is the bottleneck and the robot task time decides the cycle time of a tool, the tool operates in a transport-bound region. Contrarily, if the wafer processing time dominates the process and decides the cycle time, it operates in a process-bound region. In practice, the robot task time is much shorter than the wafer processing time [Lee et al., 2004; Lopez and Wood, 2003]. Thus, a single-arm cluster tool is mostly process-bound and a backward scheduling strategy is shown to be optimal [Lee et al., 2004; Lopez and Wood, 2003].
Some wafer fabrication processes impose strict wafer residency time constraints in a PM, which requires that a processed wafer be removed from the PM within a limited time, otherwise it suffers from serious quality problem [Kim et al., 2003; Lee and Park, 2005]. With such constraints, the scheduling problem of cluster tools becomes very complicated and challenging. Methods are developed in [Kim et al., 2003; Lee and Park, 2005] to schedule dual-arm cluster tools with wafer residency time constraints for cyclic scheduling. With Petri net models and robot waiting concept, much more efficient techniques are presented in [Wu et al., 2008; and Wu and Zhou, 2010a] for scheduling both single and dual-arm cluster tools.
In wafer fabrication, a wafer may need to visit some processing steps several times, leading to a revisiting process. Atomic layer deposition (ALD) is a typical revisiting process in the semiconductor manufacturing [Lee, et al., 2006]. With wafer revisiting, it is challenging to schedule a cluster tool. All the aforementioned studies are conducted on cluster tools for non-revisiting processes. To explore the potential in operating a cluster tool with wafer revisiting, methods are presented for performance evaluation by using Petri net models in [Zuberek, et al., 2004; and Wu and Zhou, 2010c] without providing a scheduling technique. Lee, et al. [2006] study the scheduling problem of single-arm cluster tools with wafer revisiting for the first time. In their work, based on a Petri net model, the problem is formulated as a mixed integer programming such that an optimal schedule can be found. This problem is further investigated in [Wu, et al., 2011] for the ALD process by using Petri net model and analytical expressions are derived to find the optimal schedule. For dual-arm cluster tools with wafer revisiting, based on a Petri net model, Wu et al., [2013a] find that, by using a swap strategy, the system may never enter a steady state and analytical expressions are presented to correctly calculate the cycle time. Based on this finding, effective methods are developed to schedule such dual-arm cluster tools in [Wu et al., 2013b; and Qiao et al., 2013].
With both wafer residency time constraints and revisiting, the scheduling problem of cluster tools is very complicated. Based on the scheduling strategy proposed in [Qiao et al., 2013], effective techniques are developed to schedule dual-arm cluster tools for the ALD process with wafer residency time constraints for different situations in [Qiao et al., 2014a and 2014b]. Up to now, there is no research report on scheduling single-cluster tools with both wafer residency time constraints and wafer revisiting. Notice that, with wafer revisiting, it is more difficult to balance the workloads among the steps for a single-arm cluster tool than for a dual-arm cluster tool, thereby, leading to a more difficult problem to schedule a single-arm tool than a dual-arm one.
There is a need in the art for a method to obtain a schedule when wafer revisiting process and residency time constraints are taken into consideration.
An aspect of the present invention is to provide a computer implemented method for scheduling a single-arm cluster tool with wafer revisiting process and residency time constraints.
According to an embodiment of the present claimed invention, a computer implemented method for scheduling a single-arm cluster tool with wafer revisiting process and residency time constraints comprises: obtaining, by a processor, a wafer processing time, a wafer residency time, a robot task time for loading/unloading a wafer, and a robot task time for robot's moving; determining, by a processor, a cycle time for the wafer revisiting process based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a cycle time of system based on the wafer processing time, the robot task time for loading/unloading the wafer, and the robot task time for robot's moving; determining, by a processor, a case of an algorithm from a plurality of defined cases of algorithms based on the wafer processing time, the determined cycle time for the wafer revisiting process, and the determined cycle time of system; determining, by a processor, a robot scheduling strategy based on the determined case of the algorithm, wherein the robot scheduling strategy comprises a plurality of basic activity sequences; determining, by a processor, a robot waiting time based on the wafer residency time and the determined case of the algorithm; and generating, by a processor, a schedule based on the determined robot scheduling strategy and the determined robot waiting time.
The present invention makes the following contributions: 1) schedulability conditions under which a feasible cyclic schedule exists are proposed; and 2) If schedulable, closed-form algorithms are developed to find the optimal schedule.
With wafer revisiting and wafer residency time constraints, it is highly challenging to schedule a cluster tool. For an ALD process, the present invention solves such a scheduling problem for single-arm cluster tools with wafer flow pattern (PM1, (PM2, PM3)2). Based on a prior work [Wu, et al., 2011], different strategies for scheduling the robot task sequence are proposed and analyzed. Then, for different cases, schedulability analysis is conducted and schedulability conditions are established. If schedulable, scheduling algorithms are proposed such that a feasible and optimal schedule is swiftly found. Thus, the method of the present invention represents a significant advancement in this research field.
The results obtained are for ALD process with the wafer flow pattern (PM1, (PM2, PM3)2), which looks very simple but its optimal scheduling task is actually much more complicated than one might think or in comparison with a non-revisiting process.
In the following description, a computer implemented method for scheduling single-arm cluster tools with wafer revisiting process and 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 maybe 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.
Accordingly, Section A briefly introduces the ALD process and presents the robot task sequencing strategies. Based on them, schedulability conditions and scheduling algorithms are derived in Section B. Illustrative examples are used to show the obtained results in Section C.
A.1 A. Atomic Layer Deposition Process
As a typical wafer fabrication process in semiconductor manufacturing, ALD controls the deposition film thickness by adjusting the number of repeating times such that a mono-atomic layer precision can be obtained. Furthermore, it uses much lower processing temperature, i.e., 100° C.-400° C., rather than 550° C.-800° C. for chemical vapor deposition. Hence, ALD is increasingly used in the semiconductor industry.
In an ALD process, there are three steps as shown in
A.2 Activity Description
The loadlocks in a cluster tool can be treated as a processing step, as denoted by PM0. In operating a cluster tool, the robot tasks include: unloading a processed wafer from a PM, moving from one PM to another with a wafer, loading a wafer into a PM for processing, moving from one PM to another without a wafer, and waiting. Given the status of a cluster tool and the wafer processing information, the key to schedule a cluster tool is to schedule its robot tasks.
Therefore, for scheduling of a single-arm cluster tool, the system is described as follows. Let ui and li denote the robot unloading and loading a wafer from and into PMi, i∈Ω3={0, 1, 2, 3}, respectively. Further, let mij, i,j∈Ω3, except m23, denote the robot's moving from Steps i to j, and m123 and m223 denote its moving from Step 2 to 3 holding the same wafer for the first and second time, respectively.
Correspondingly, the temporal aspect for each robot activity is described as follows. The time taken for robot tasks ui and li is identical and denoted by λ; and the time taken for mij except m23, i,j∈Ω3, m123, and m223 is also same and denoted by μ. Let ωi,j, i,j∈Ω3, except ω23, denote the time taken for the robot's waiting before unloading a wafer from PMi to move to PMj and, ω123 and ω223 the time for its waiting before unloading the same wafer from PM2 to move to PM3 for the first and second time, respectively.
Apart from the robot tasks, the wafer processing in a PM also takes time. Note that there is no processing requirement in the loadlocks. Thus, one uses αi to denote the time taken for processing a wafer in PMi, i∈N3={1, 2, 3}. With wafer residency constraints, a processed wafer should be unloaded from PMi within a limited time δi, which implies that a wafer can stay in PMi for a duration that lies in the interval [αi, αi+δi] without suffering from a quality problem. Let τi∈[αi, αi+δi] denote the wafer sojourn time in PMi. The time duration for each activity is listed in Table I. In practice, as the robot task time is much shorter than wafer processing time, it is reasonable to assume that αi≧5(μ+λ), i∈N3.
It is known that a single-arm cluster tool for the ALD process is deadlock-prone [Lee and Lee, 2006; and Wu, et al., 2011]. However, this problem can be solved by using the policy presented in [Wu, et al., 2011]. Then, for a single-arm cluster tool with wafer revisiting and residency time constraints, according to [Wu et al., 2008; and Wu and Zhou, 2010b], the following schedulability definition is presented.
Definition 1 [Wu et al., 2008; and Wu and Zhou, 2010b]: Given wafer sojourn time interval [αi, αi+δi] for Step i, i∈N3, if there exists a schedule such that whenever ui is performed, αi≦τi≦αi+δi holds, then, a single-arm cluster tool with wafer revisiting and residency time constraints is schedulable.
A.3 Scheduling Strategy
Following the idea in [Chan, et. al., 2011a and b], to simplify the presentation, one defines a basic activity sequence Aij=mxi (without carrying a wafer)→ui→mijlj, i,j∈Ω3, where mxi denotes that the robot can come to Step i from any Step x. Notice that x=i may hold, or the task before performing Aij is li. This means that, to perform Aij, the robot is already at Step i. In this case, Aij=ui→mij→lj and it is denoted as Aij\{mii} to indicate that mii takes no time. Also, A123 and A223 are defined in a similar way. With them, one can describe a schedule by presenting the robot task sequence with no robot waiting being taken into consideration.
According to Wu, et al. [2011], without wafer residency time constraints, the optimal one-wafer cyclic schedule for (PM2, PM3)2 is deterministic and unique and such a schedule can be described as A223A12A30A123A32. Let Wd(q) in PMi, d∈{1, 2, 3, . . . }, q∈N2, and i∈N3, denote the d-th wafer being processed in PMi for the q-th time. The Gantt chart for the optimal one-wafer cyclic schedule of wafer revisiting process (PM2, PM3)2 is illustrated in
Let Θ be the cycle time of the whole system. One has Θ=ζ or Θ>ζ. If Θ=ζ, the robot activity sequence for the revisiting process (PM2, PM3)2 in the schedule for the entire system should be same as that in the optimal one-wafer cyclic schedule for (PM2, PM3)2, or it is A223A12A30A123A32. Then, to obtain a schedule for the entire system, the key is to decide when A01 should be performed while satisfying the wafer residency time constraints. There are totally five possible robot task sequences for the entire system, i.e., 1) A223A01A12A30A123A32; 2) A223A12A01A30A123A32; 3) A223A12A30A01A123A32; 4) A223A12A30A123A01A32; and 5) A223A12A30A123A32A01, leading to five different strategies. One needs to analyze them, respectively.
For Case 1): A223A01A12A30A123A32, i.e., without robot waiting, the robot activity sequence is σ1=unloading a wafer from PM2 (λ)→moving to PM3 (μ)→loading a wafer into PM3 (λ)→moving to PM0 (μ)→unloading a wafer from PM0 (λ)→moving to PM1 (μ)→loading a wafer into PM1 (λ)→unloading a wafer from PM1 (λ)→moving to PM2 (μ)→loading a wafer into PM2 (λ)→moving to PM3 (μ)→unloading a wafer from PM3 (λ)→moving to PM0 (μ)→loading a wafer into PM0 (λ)→moving to PM2 (μ)→unloading a wafer from PM2 (λ)→moving to PM3 (μ)→loading a wafer into PM3 (λ)→unloading a wafer from PM3 (λ)→moving to PM2 (μ)→loading a wafer into PM2 (λ). Therefore, in this case, the robot cycle time without waiting for the entire system is
ψ11=12λ+9μ (1)
For Case 2): A223A12A01A30A123A32, the robot activity sequence is σ2=unloading a wafer from PM2 (λ)→moving to PM3 (μ)→loading a wafer into PM3 (λ)→moving to PM1 (μ)→unloading a wafer from PM1 (λ)→moving to PM2 (μ)→loading a wafer into PM2 (λ)→moving to PM0 (μ)→unloading a wafer from PM0 (λ)→moving to PM1 (μ)→loading a wafer into PM1 (λ)→moving to PM3 (μ)→unloading a wafer from PM3 (λ)→moving to PM0 (μ)→loading a wafer into PM0 (λ)→moving to PM2 (μ)→unloading a wafer from PM2 (λ)→moving to PM3 (μ)→loading a wafer into PM3 (λ)→unloading a wafer from PM3 (λ)→moving to PM2 (μ)→loading a wafer into PM2 (λ). Hence, one has
ψ21=12λ+10μ (2)
Similarly, for Cases 3) A223A12A30A01A123A32, 4) A223A12A30A123A01A32, and 5) A223A12A30A123A32A01, one has
ψ31=12λ+9μ (3)
ψ41=12λ+11μ (4)
ψ51=12λ+11μ (5)
If Θ>ζ, it implies that the wafer processing time in PM1 decides the cycle time of the system. In this case, to obtain an optimal schedule, after performing A12, one should perform A01 immediately to keep PM1, the bottleneck of the system, working. Furthermore, according to the fabrication requirements, A12 and A30 should be performed before A123, and A123 before A32. Therefore, there are two different strategies only, i.e., Case 6): A223A30A12A01A123A32 and Case 7): A223A12A01A30A123A32.
For Case 6, one has σ6=unloading a wafer from PM2 (λ)→moving to PM3 (μ)→loading a wafer into PM3 (λ)→unloading a wafer from PM3 (λ)→moving to PM0 (μ)→loading a wafer into PM0 (λ)→moving to PM1 (μ)→unloading a wafer from PM1 (λ)→moving to PM2 (μ)→loading a wafer into PM2 (λ)→moving to PM0 (μ)→unloading a wafer from PM0 (λ)→moving to PM1 (μ)→loading a wafer into PM1 (λ)→moving to PM2 (μ)→unloading a wafer from PM2 (λ)→moving to PM3 (μ)→loading a wafer into PM3 (λ)→unloading a wafer from PM3 (λ)→moving to PM2 (μ)→loading a wafer into PM2 (λ). Thus, the robot cycle time without waiting is
ψ61=12λ+9μ (6)
For Case 7, it is same as Case 2, and the robot cycle time without waiting is
ψ71=12λ+10μ (7)
With the above analysis, one discusses the schedulability and scheduling method next by examining the above cases for scheduling the robot task sequence.
In this section, based on Θ=ζ or Θ>ζ, one studies the schedulability and scheduling problem by examining each of the above robot scheduling strategies. For any above given robot scheduling strategy, if a schedule exists, an algorithm is derived to find it by setting the robot waiting time simply.
A. Θ=ζand α2≦α3
With α2≦α3, one has ζ=8λ+5μ+α2+α3+Max{α2, α3}=8λ+5μ+α2+2α3. If a schedule is obtained by robot task sequence A223A01A12A30A123A32 or Case 1, the Gantt chart can be shown in
It follows from the Gantt chart in
Algorithm 1: If Θ=ζ with α1+α2+2λ+μ≦α3 and the robot task sequence is A223A01A12A30A123A32, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Q=1.
ii. If α3≦α1+α2+2λ+μ+δ1
iii. If α3≦α1+α2+2λ+μ+δ2
iv. If α1+α2+2λ+μ+δ1<α3, α1+α2+2λ+μ+δ2<α3, and α1+α2+2λ+μ+δ1+δ2≧α3
v. If α1+α2+2λ+μ+δ1+δ2<α3
vi. Return Q and end.
By Algorithm 1, α1+α2+2λ+μ≦α3. Thus, for Case ii, with αi≧5(μ+λ), one has ω12=α3−α2−2λ−μ≧α1>0, ω30=α3−4λ−4μ−(α3−α2−2λ−μ)=α2−2λ−3μ>0. For Case iii, ω30=α3−4λ−4μ−α1≧α2−2λ−3μ>0. For Case iv, ω30=α3−4λ−4μ−(α1+δ1)>( α1+α2+2λ+μ+δ1)−4λ−4μ−(α1+δ1)=α2−2λ−3μ>0. For Case v, if Q=1 is returned, 0<ω01=α3−(α1+α2+2λ+μ+δ1+δ2)≦α3−4λ−4μ−α1−δ1, leading to ω30=α3−4λ−4μ−ω12−ω01≧0. Hence, any robot waiting time set by Algorithm 1 is non-negative if Q=1 is returned. Furthermore, for each case, one has ψ12=ω01+ω12+ω30+ω223+ω32+ω123=2α3+α2−4λ−4μ such that Θ=Θ=ψ11+ψ12. The following theorem presents the feasibility of the schedule obtained by Algorithm 1.
Theorem 1: Assume that: 1) the cycle time of the system is Θ=ζ with α1+α2+2λ+μ≦α3, 2) the robot task sequence is A223A01A12A30A123A32, and 3) the robot waiting time is set by Algorithm 1 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.
Proof: One needs to show that the wafer residency time constraints are satisfied for only W2(1) and W2(1) that are processed in PM1 and PM2, respectively. Let τi denote the wafer sojourn time in PMi. It follows from
This case can be illustrated by the time taken for processing the wafers in a PM shown in
Notice that, for Case v, to make ω01>0, one sets ω01=α3−(α1+α2+2λ+μ+δ1+δ2). In this case, if ω01>α3−4λ−4μ−α1−δ1, one cannot set ωij's such that ∀ωij≧0, Θ=ζ=ψ11+ψ12, and the wafer residency time constraints are satisfied. In other words, a feasible schedule cannot be found and Q=0 is returned to indicate this result.
For robot task sequence Case 2: A223A12A01A30A123A32, the schedule obtained is shown in
Algorithm 2: If Θ=ζ with α2≦α3 and the robot task sequence is A223A12A01A30A123A32, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Q=1.
ii. If α2+δ2≧α3, ω12=0
iii. If α2+δ2<α3, ω12=α3−α2−δ2
iv. Return Q and end.
By Algorithm 2, for 2.1, since αi≧5(μ+λ), one has ω30=α3−4λ−5μ>0. For 2.2, as 4λ+4μ+α1+δ1<ζ+μ, ω01=ζ+μ−(4λ+4μ+α1+δ1)>0. For 2.3, if Q=1, ω01≦α3−4λ−5μ leading to ω30=α3−4λ−5μ−ω01≧0. For 3.1, ω12=α3−α2−δ2>0 and ω30=α3−4λ−5μ−ω12=α2+δ2−4λ−5μ>0. For 3.2, ω01=ζ+μ−(ω12+4λ+4μ+α1+δ1)>0. For 3.3, if Q=1, ω01≦α3−4λ−5μ−ω12, leading to ω30=α3−4λ−5μ−ω12−ω01>0. Hence, each robot waiting time set by Algorithm 2 is non-negative if Q=1 is returned. Furthermore, one has ψ22=ω01+ω12+ω30+ω223+ω32+ω123=2α3+α2−4λ−5μ such that the cycle time is Θ=ζ=ψ21+ψ22. For this case, one has the following feasibility result, which can be similarly proved as Theorem 1 is.
Theorem 2: Assume that: 1) the cycle time of the system is Θ=ζ with α2≦α3, 2) the robot task sequence is A223A12A01A30A123A32, and 3) the robot waiting time is set by Algorithm 2 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.
Similar to Case 1, when Q=0 is returned, a feasible schedule cannot be found. By robot task sequence Case 3: A223A12A30A01A123A32, after unloading a wafer from PM3 to the loadlocks, the robot does not come to PM2 for unloading completed W2(1) to deliver it to PM3. Instead, it unloads a wafer from the loadlocks and loads it into PM1. By doing so, the critical path is changed, leading to Θ>ζ. This implies that, by A223A12A30A01A123A32, a schedule with Θ=ζ does not exist.
Now, consider robot task sequence Case 4: A223A12A30A123A01A32For this case, the obtained schedule is depicted in
Algorithm 3: If Θ=ζ with α2≦α3 and the robot scheduling strategy A223A12A30A123A01A32 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Q=1.
ii. If α2+δ2≧α3, ω12=0, ω30=α3−2λ−3μ, and ω123=0
iii. If α2+δ2<α3, ω12=α3−α2−δ2
iv. Return Q and end.
By Algorithm 3, for Case ii, one has ω30=α3−2λ−3μ>0. By Statement 2.1, ω32=α3−2λ−3μ>0 and by Statement 2.2, since α3+6λ+5μ+α1+δ1<ζ+μ, one has ω01=ζ+μ−(α3+6λ+5μ+α1+δ1)>0. By Statement 2.3, if Q=1, one has ω01≦α3−2λ−3μ, leading to ω32=α3−2λ−3μ−ω01≧0. For Case iii, as α2+δ2<α3, one has ω12=α3−α2−δ2>0. By Statements 3.1-3.2, if Q=1, one has ω12≦α3−2λ−3μ, leading to ω30=α3−2λ−3μ−ω12≧0. Since the robot waiting time set by Statements 3.2.1-3.2.3 are identical to that set by Statements 2.1-2.3, each robot waiting time set by Algorithm 3 is non-negative. Furthermore, one has ψ42=ω01+ω12+ω30 +ω223+ω32+ω123=2α3+α2−4λ−6μ such that Θ=ζ=ψ41+ψ42 holds. For schedule feasibility, one has the following theorem.
Theorem 3: Assume that: 1) the cycle time of the system is Θ=ζ with α2≦α3, 2) the robot task sequence is A223A12A30A123A01A32, and 3) the robot waiting time is set by Algorithm 3 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.
For the robot scheduling strategy A223A12A30A123A32A01, a schedule can be obtained as shown in
Algorithm 4: If Θ=ζ with α2≦α3 and the robot scheduling strategy A223A12A30A123A32A01 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Set Q=1
ii. If α2+δ2≧α3, ω12=0, ω30=α3−2λ−3μ, ω123=0, and ω32=α3
iii. If α2+δ2<α3, ω12=α3−α2−δ2
iv. Return Q and end.
By Algorithm 4, for Case ii, one has ω30=α3−2λ−3μ>0. By Statement 2.1, ω223=α3−2λ−3μ>0 and by Statement 2.2, with 2α3+8λ+6μ+α1+δ1<ζ+μ, one has ω01=ζ+μ−(2α3+8λ+6μ+α1+δ1)>0. Then, by Statement 2.3, if Q=1, ω01≦α3−2λ−3μ such that ω223=α2−2λ−3μ−ω01≧0. For Case iii, since α2+δ2<α3, ω12=α3−α2−δ2>0. Then, by Statements 3.1-3.2, if Q=1, ω12≦α3−2λ−3μ such that ω30=α3−2λ−3μ−ω12≧0. Notice that the robot waiting time set via Statements 3.2.1-3.2.3 are identical to that set via Statements 2.1-2.3. Therefore, every robot waiting time set by Algorithm 4 is non-negative. Further, one has ψ52=ω01+ω12+ω30+ω223+ω23+ω123=2α3+α2−4λ−6μ, or one has Θ=ζ=ψ51+ψ52. For this case, one has the following theorem.
Theorem 4: Assume that: 1) the cycle time of system is Θ=ζ with α2≦α3, 2) the robot scheduling strategy A223A12A30A123A32A01 is applied, and 3) the robot waiting time is set by Algorithm 4 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.
Up to now, for the case that Θ=ζ and α2≦α3, one has analyzed the scheduling problem by using the five different robot scheduling strategies and presented the scheduling method if a schedule exists. Next, one analyzes the scheduling problem for the case that Θ=ζ and α2>α3.
B. Θ=ζ and α2>α3
When α2>α3, one has ζ=8λ+5μ+2α2+α3. For strategy A223A01A12A30A123A32, it follows from the above discussion that, to make Θ=ζ, α1+α2+2λ+μ≦α3 must hold, leading to α2<α3, which contradicts to the assumption that α2>α3. This implies that if Θ=ζ and α2>α3, no schedule can be found by using this strategy.
Now one examines strategy A223A12A01A30A123A32. In this case, a schedule can be obtained as shown in
Algorithm 5: If Θ=ζ, α2>α3, and the robot scheduling strategy A223A12A01A30A123A32 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Q=1.
ii. If 4λ+4μ+α1≦ζ+μ≦4λ+4μ+α1+δ1
iii. If 4λ+4μ+α1+δ1<ζ+μ
iv. Return Q and end.
In Algorithm 5, by Statement 2.1, ω30=α3−4λ−5μ>0 and ω123=α2−α3>0 hold. By Statements 3.1-3.3, as 4λ+4μ+α1+δ1<ζ+μ, one has ω01=ζ+μ−(4λ+4μ+α1+δ1)>0. Then, if Q=1, ω01≦α3−4λ−5μ, one has ω30=α3−4λ−5μ−ω01≧0. Hence, the robot waiting time set by Algorithm 5 is non-negative. Furthermore, one has ψ22=ω01+ω12+ω30+ω223+ω32+ω123=2α3+α2−4λ−5μ such that Θ=ζ=ψ21+ψ22. For the obtained schedule, one has the following theorem.
Theorem 5: Assume that: 1) the cycle time of the system is Θ=ζ with α2>α3, 2) robot scheduling strategy A223A12A01A30A123A32 is applied, and 3) the robot waiting time is set by Algorithm 5 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible
For strategy A223A12A30A01A123A32, a schedule can be obtained as shown in
Algorithm 6: If Θ=ζ, α2≧α3+2λ+μ, and the robot scheduling strategy A223A12A30A01A123A32 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Q=1.
ii. If 4λ+2μ+α3+α1≦ζ+μ≦4λ+2μ+α3+α1+δ1
iii. If 4λ+2μ+α3+α1+δ1<ζ+μ
iv. Return Q and end.
In Algorithm 6, for Case ii, ω30=α3−2λ−3μ>0 and ω123=α2−α3−2λ−μ>0. For Case iii, ω30=α3−2λ−3μ>0. As 4λ+2μ+α3+α1+δ1<ζ+μ, one has ω01=ζ+μ−(4λ+2μ+α3+α1+δ1)>0. By Statements 3.2-3.3, if Q=1, ω01≦α2−α3−2λ−μ, then, one has ω123=α2−α3−2μ−μ−ω01≧0. Hence, the robot waiting time set by Algorithm 6 is non-negative. Furthermore, one has ψ32=ω01+ω12+ω223+ω32+ω123+2λα2+α3−4λ−4μ such that Θ32 ζ=ψ31+ψ32. For the obtained schedule, one has the following theorem.
Theorem 6: Assume that 1) the cycle time of system is Θ=ζ with α2≧α3+2λ+μ, 2) the robot scheduling strategy A223A12A30A01A123A32 is applied, and 3) the robot waiting time is set by Algorithm 6 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.
For strategy A223A12A30A123A01A32, a schedule can be obtained as shown in
Algorithm 7: If Θ=ζ, α2>α3, and robot scheduling strategy A223A12A30A123A01A32 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Q=1.
ii. If α2+6λ+5μ+α1≦ζ+μ≦α2+6λ+5μ+α1+δ1
iii. If α2+6λ+5μ+α1+δ1<ζ+μ
iv. Return Q and end.
In Algorithm 7, for Case ii, ω30=α3−2λ−3μ>0, ω123=α2−α3>0, and ω32=α3−2λ−3μ>0. For Case iii, ω30=α3−2λ−3μ>0 and ω123=α2−α3>0. As α2+6λ+5μ+α1+δ1<ζ+μ, one has ω01=ζ+μ−(α2+6λ+5μ+α1+δ1)>0. By Statements 3.2-3.3, if Q=1, ω01≦α3−2λ−3μ, leading to ω32=α3−2λ−3μ−ω01≧0. Hence, the robot waiting time set by Algorithm 6 is non-negative. Furthermore, one has ψ42=ω01+ω12+ω30+ω223+ω32+ω123=2α2+α3−4λ−6μ such that Θ=ζ=ψ41+ψ42. For this case, one has the following theorem.
Theorem 7: Assume that: 1) the cycle time of the system is Θ=ζ with α2>α3, 2) robot scheduling strategy A223A12A30A123A01A32 is applied, and 3) robot waiting time is set by Algorithm 7 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.
For strategy A223A12A30A123A32A01, a schedule can be obtained as depicted in
Algorithm 8: If Θ=ζ, α2>α3, and robot scheduling strategy A223A12A30A123A32A01 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
i. Q=1.
ii. If α2+α3+8λ+6μ+α1≦ζ+μ≦α2+α3+8λ+6μ+α1+δ1
iii. If α2+α3+8λ+6μ+α1+δ1<ζ+μ
iv. Return Q and end.
In Algorithm 8, for Case ii, ω30=α3−2λ−3μ>0, ω123=α2−α3>0, and ω223=α2−2λ−3μ>0. For Case iii, ω30=α3−2λ−3μ>0 and ω123=α2−α3>0. As α2+α3+8λ+6μ+α1+δ1<ζ+μ, one has ω01=ζ+μ−(α2+α3+8λ+6μ+α1+δ1)>0. By Statements 3.2-3.3, if Q=1, ω01≦α2−2λ−3μ and one thus has ω223=α2−2λ−3μ−ω01≧0. Hence, every robot waiting time set by Algorithm 8 is non-negative. Furthermore, one has ψ52=ω01+ω12+ω30+ω223+ω32+ω123=2α2+α3−4λ−6μ such that Θ=ζ=ψ51+ψ52. For this case, one has the following theorem.
Theorem 8: Assume that: 1) the cycle time of the system is Θ=ζ with α2>α3, 2) robot scheduling strategy A223A12A30A123A32A01 is applied, and 3) the robot waiting time is set by Algorithm 8 with Q=1 being returned. Then, the obtained one-wafer cyclic schedule is feasible.
Up to now, for the case that Θ=ζ, one analyzes the existence of a schedule by examining the five robot scheduling strategies. If there is a schedule, algorithms are given to find a feasible one-wafer cyclic schedule. By Θ=ζ, it means that the revisiting process decides the cycle time of the system. In some cases, the wafer processing time in PM1 decides the cycle time of the system. One discusses such cases next.
C. Θ>ζ
It follows from the discussion in Section A that when Θ>ζ there are two possible robot scheduling strategies, i.e., Cases 6 and 7, or A223A30A12A01A123A32 and A223A12A01A30A123A32. For Case 6, from Section A, after the robot loads a wafer into PM2, the robot should go to the loadlocks immediately for unloading a raw wafer there. After unloading a wafer from the loadlocks, it moves to PM1 and loads the wafer into PM1, or A01 is performed with 2λ+2μ time units being taken. Then, A123\{m22}, A32, A223, and A30 are performed sequentially. After A30 is performed, the robot comes to PM1 for performing A12. Since the cycle time of the system is dominated by the wafer processing time in PM1, when the robot arrives at PM1, the wafer being processed in PM1 is not completed yet. Thus, to complete a wafer at PM1, the following activities should be executed in a sequential way: (Loading a wafer into PM2(λ)→moving to the loadlock (μ)→unloading a wafer from the loadlock (λ)→moving to PM1(μ)→loading it to PM1(λ)→processing at PM1(α1)→unloading a wafer from PM1(λ)→moving to PM2(μ)→loading a wafer into PM2(λ) again). The time taken for completing a wafer at PM1 is α1+4λ+3μ, or the cycle time of the system is Θ=α1+4λ+3μ>ζ.
Based on the above analysis, by applying A223A30A12A01A123A32, a schedule can be obtained as shown in
Algorithm 9: If Θ>ζ, α1≧6λ+3μ+2(α2+α3), and robot scheduling strategy A223A30A12A01A123A32 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
By assumption that α2≧5λ+5μ, one has ω123=α2−2λ−3μ>0. As α1≧6λ+3μ+2(α2+α3), ω12=α1−6λ−3μ−2(α2+α3)≧0. Hence, the robot waiting time set by Algorithm 9 is non-negative. Furthermore, one has ψ62=ω01+ω12+ω30+ω223+ω32+ω123=α1−8λ−6μ such that Θ=ψ51+ψ52. As discussed above, the wafer residency time constraints are always met. Hence, for this schedule, one has the following theorem immediately.
Theorem 9: Assume that: 1) the cycle time of the system is Θ>ζ and α1≧6λ+3μ+2(α2+α3), 2) robot scheduling strategy A223A30A12A01A123A32 is applied, and 3) the robot waiting time is set by Algorithm 9. Then, the obtained one-wafer cyclic schedule is feasible.
For case 7: A223A12A01A30A123A32, to make the wafer residency time constraints satisfied, after A223 is performed, the robot may wait for some time and then perform A12. Further, by such a strategy, a wafer may stay in a PM for some time after its completion and the schedule obtained is depicted in
To make the schedule feasible, δmn must fall within [0, δm]. However, δmn cannot be decided independently and a method is necessary to do so. Let φ1 and φ2 be time instants when the execution of A223 and A12 ends, and χ=φ2−φ1. After A223 is performed, the robot may wait for some time and then performs A12, which takes 2λ+2μ time units. Thus, one has Case A: χ≧2λ+2μ. For this case, after A12 is performed, it is followed by A01 (which takes 2λ+2μ time units) and then A30. Hence, after performing A01, the robot comes to PM3 for unloading W1(2) by performing m13 (μ time units). Let φ3 be time instant when the execution of m13 ends. Then, one has Case B: φ3−φ1=χ+2λ+3μ≦α3+δ32. By performing A30\{m13}(2λ+μ), W1(2) completed in PM3 is loaded into the loadlocks. Then, the robot comes to PM2 for unloading W2(1) by performing m02 (μ time units). Let φ4 be time instant when the execution of m02 ends. Then, one has Case C: φ4−φ1=α3+δ32+2λ+2μ≦χ+α2+δ21. By assumption, the wafer processing time in PM1 dominates the cycle time of the system. From
Since the variables can be any real number, this linear programing problem can be efficiently solved by a commercial solver. It implies that the system does not satisfy the wafer residency time constraints by adopting strategy A223A12A01A30A123A32 if there is no solution for such a Z. Otherwise, the following algorithm is presented to schedule the system.
Algorithm 10: If Θ>ζ and robot scheduling strategy A223A12A01A30A123A32 is applied, ωij's are set as follows to obtain a one-wafer cyclic schedule if it exists.
By Algorithm 10, since ψ∈[2λ+2μ, α3+δ32−2λ−3μ], one has ω12=χ−2λ−2μ≧0 and ω30=α3+δ32−2λ−3μ−χ≧0. From (8) one has χ+α2+δ21≧α3+δ32+2λ+2μ, leading to ω123=χ+α2+δ21−α3−δ32−2λ−2μ≧0. Hence, the robot waiting time set by Algorithm 10 is non-negative. Further, one has ω01+ω12+ω30+ω223+ω32+ω123=δ21+δ22+δ31+χ+2α2+α3−6λ−7μ=α1−8λ−7μ=ψ72 such that Θ=ψ71+ψ72. For this case, one has the following theorem.
Theorem 10: Assume that: 1) the cycle time of the system is Θ>ζ, 2) robot scheduling strategy A223A 12A01A30A123A32 is applied, and 3) the robot waiting time is set by Algorithm 10. Then, the obtained one-wafer cyclic schedule is feasible.
Proof: It is obviously and is omitted.
Up to now, one has presented the schedulability analysis by applying the seven robot scheduling strategies and conditions are given to check the schedulability. If schedulable, algorithms are proposed to obtain a feasible schedule by setting the robot waiting time. The proposed methods are efficient and practically applicable. Next, one proves the optimality of the obtained schedule.
Theorem 11: A schedule obtained by Algorithms 1-10 is optimal in terms of cycle time.
Proof: For a schedule obtained by Algorithms 1-8, one has Θ=ζ=8λ+5μ+α2+α3+Max{α2, α3}. Since ζ is the cycle time of an optimal schedule for the revisiting process (PM2, PM3)2, if the system is scheduled such that Θ<ζ, at least one of the wafers that are processed in PM2 or PM3 cannot be completed. In other words, it is infeasible. For a schedule obtained by Algorithms 9-10, one has Θ=4λ+3μ+α1>ζ. Hence, if the system is scheduled such that Θ≦ζ, the wafer that is processed in PM1 cannot be completed within Θ, and the schedule is infeasible. Therefore, a schedule found by Algorithms 1-10 is optimal in terms of cycle time.
It is important to schedule a cluster tool to maximize the productivity. By Theorem 11, such a goal is realized.
This section uses examples to show the application of the proposed method. For all examples, the wafer flow pattern is (PM1, (PM2, PM3)2).
The wafer processing time at Steps 1-3 are α1=120 s, α2=75 s, α3=60 s, respectively. After being processed, a wafer at Steps 1-3 can stay there for at most 20 s, 25 s, and 25 s, or δ1=20 s, δ2=25 s, and δ3=25 s. The robot task time is μ=1 s and λ=3 s.
For this example, as α2>α3, one has ζ=8λ+5μ+α2+α3+Max{α2, α3}=239 s>α1+4λ+3μ=135 s. Thus, Θ=ζ=239 s. With α2>α3, one needs to examine Algorithms 5-8 only. One has α2+6λ+5μ+α1+δ1=75+18+5+120+20=238 s<ζ+μ=239+1=240 s. Thus, Case iii of Algorithm 7 with robot scheduling strategy A223A 12A30A123A01A32 is applied. According to Case iii of Algorithm 7, the robot waiting time is set as ω12=0, ω30=α3−2λ−3μ=60−6−3=51 s, ω123=α2−α3=75−60=15 s, ω01=ζ+μ−(α2+6λ+5μ+α1+δ1)=240−238=2 s, ω32=α3−2λ−3μ−ω01=60−6−3−2=49 s, and ω223=75 s. By this setting, one has ψ42=ω01+ω12+ω30 +ω223+ω32+ω123=192 s=ζ−ψ41=ζ−(12λ+11μ)=239−47=192 s.
The wafer processing time at Steps 1-3 is changed to α1=100 s, α2=60 s, and α3=75 s, respectively.
For this example, as α2<α3, one has ζ=8λ+5μ+α2+α3+Max{α2, α3}=239 s>α1+4λ+3μ=115 s. Thus, Θ=ζ=239 s. With α2<α3, only Algorithms 1-4 are possible for scheduling it. Since α1+α2+2λ+μ=100+60+6+1=167 s>α3=75 s, Algorithm 1 is excluded. Also, as α2+δ2=60+25>α3=75, only Cases ii of Theorems 2-4 needs to be examined. By Case ii of Algorithm 2, one has 4λ+4μ+α1+δ1=12+4+100+20=136 s<ζ+μ=240 s. However, in this case, ω01=ζ+μ−(4λ+4μ+α1+δ1)=104 s >α3−4λ−5μ=75−12−5=58 s such that Q=0 is returned. Hence, Algorithm 2 is excluded. By Case ii of Algorithm 4, one has 2α3+8λ+6μ+α1=2×75+24+6+100=280>ζ+μ=240 s. Then, if strategy A223A12A30A123A32A01 is applied, it results in a schedule such that Θ>ζ. Thus, Algorithm 4 is excluded. Now, examine Case ii of Algorithm 3, one has α3+6λ+5μ+α1+δ1=75+18+5+100+20=218 s<ζ+μ=240 s, or Statement 2.2 is satisfied. Furthermore, ω01=ζ+μ−(α3+6λ+5μ+α1+δ1)=22 s<α3−2λ−3μ=75−6−3=66 s such that Q=1 is returned. This implies that Case ii of Algorithm 3 with robot scheduling strategy A223A12A30A123A01A32 is applicable. With it, one sets ω01=22, ω12=0, ω30=α3−2λ−3μ=75−6−3=66 s, ω123=0, ω32=α3−2λ−3μ−ω01=75−6−3−22=44 s, and ω223=α2=60 s such that a feasible schedule is obtained.
The wafer processing time at Steps 1-3 is changed to α1=240 s, α2=75s, and α3=60s, respectively.
For this example, one has ζ+8λ+5μ+α2+α3+Max{α2, α3}=239 s<α1+4λ+3μ=255 s. Thus, Θ=255 s, i.e., the wafer processing time in PM1 decides the cycle time of the system. As α1=240<6λ+3μ+2(α2+α3)=291, hence, Algorithm 9 cannot be applied, or strategy A223A30A12A01A123A32 is excluded. For strategy A223A12A01A30A123A32, by solving the linear program in (8), one obtains χ=24, δ22=δ21=δ31=δ32=0. Thus, the system satisfies the wafer residency time constraints. Then, according to Algorithm 10, one obtains χ12=χ−2λ−2μ=24−2×3−2=16, ω01=0, ω30=α3+δ32−2λ−3μ−χ=60+0−6−3−24=27 s, ω123=χ+α2+δ21−α3−δ32−2λ−2μ=24+75+0−60−0−6−2=31 s, ω32=α3+δ31=60+0=60 s, and ω223=α2+δ22=75+0=75 s. By this setting, one has ω01+ω12+ω223ω32+ω123=0+16 +27+75+60+31=209 s=Θ−ψ71=Θ−(12λ+10μ)=255−46=209 s.
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.
This application claims priority under 35 U.S.C. §119 to the U.S. Provisional Patent Application No. 62/102,112 filed Jan. 12, 2015, the disclosure of which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
6738681 | Kobayashi | May 2004 | B2 |
8160736 | Krisnamuthi | Apr 2012 | B2 |
20050137734 | Nieuwelaar | Jun 2005 | A1 |
20140099176 | Nogi | Apr 2014 | A1 |
20140294555 | Kawaguchi | Oct 2014 | A1 |
Entry |
---|
Kim et al., “Schedule Restoration for Single-Armed Cluster Tools”, IEEE Transactions on Semiconductor Manufacturing, 2014, vol. 27, Issue: 3, pp. 388-399. |
Wu et al., “Petri Net-Based Scheduling of Single-Arm Cluster Tools With Reentrant Atomic Layer Deposition Processes”, IEEE Transactions on Automation Science and Engineering, 2011, vol. 8, Issue: 1, pp. 42-55. |
Yi et al., “Steady-State Throughput and Scheduling Analysis of Multi-Cluster Tools for Semiconductor Manufacturing: A Decomposition Approach”, Proceedings of the 2005 IEEE International Conference on Robotics and Automation, 2005, pp. 292-298. |
Number | Date | Country | |
---|---|---|---|
62102112 | Jan 2015 | US |